diff --git a/.eleventy.js b/.eleventy.js new file mode 100644 index 0000000000..94329a00d3 --- /dev/null +++ b/.eleventy.js @@ -0,0 +1,397 @@ +const { EleventyHtmlBasePlugin } = require("@11ty/eleventy"); + +const BROWSERS = [ + "chrome", + "chrome_android", + "edge", + "firefox", + "firefox_android", + "safari", + "safari_ios", +]; + +const MDN_URL_ROOT = "https://developer.mozilla.org/docs/web/"; + +function processMdnPath(path, area) { + if (area === "api") { + return path.replace(/\//g, "."); + } + + if (area === "html") { + if (path.startsWith("Global_attributes/")) { + return path.substring("Global_attributes/".length) + " global attribute"; + } + + if (path.startsWith("Element/")) { + const attribute = path.includes("#") ? path.substring(path.indexOf("#") + 1) : null; + if (attribute) { + return `<${path.substring("Element/".length, path.indexOf("#"))} ${attribute}> attribute`; + } else { + return `<${path.substring("Element/".length)}> element`; + } + } + + if (path.toLowerCase().startsWith("attributes/") && path.split("/").length === 3) { + const [_, attr, value] = path.split("/"); + return `${attr}="${value}" attribute`; + } + } + + if (area === "css") { + if (path.startsWith("color_value/")) { + return `${path.substring("color_value/".length)} color value`; + } else if (path.startsWith("gradient/")) { + return `${path.substring("gradient/".length)}() gradient function`; + } else if (path.startsWith("::")) { + return `${path} pseudo-element`; + } else if (path.startsWith(":")) { + return `${path} pseudo-class`; + } else if (path.startsWith("transform-function/")) { + return `${path.substring("transform-function/".length)}() function`; + } else if (path.includes("#")) { + const [property, value] = path.split("#"); + return `${property}: ${value}; declaration`; + } else { + return `${path} property`; + } + } + + if (area === "javascript") { + if (path.toLowerCase().startsWith("reference/global_objects/")) { + const object = path.substring("reference/global_objects/".length); + if (object.includes("/")) { + return object.replace(/\//g, "."); + } else { + return `${object} global object`; + } + } + + if (path.toLowerCase().startsWith("reference/operators/")) { + return `${path.substring("reference/operators/".length)} operator`; + } + + if (path.toLowerCase().startsWith("reference/statements/")) { + return `${path.substring("reference/statements/".length)} statement`; + } + } + + return path; +} + +function processMdnUrl(url) { + let path = url.substring(MDN_URL_ROOT.length); + const area = path.split("/")[0].toLowerCase(); + path = path.substring(area.length + 1); + const title = processMdnPath(path, area); + return { title, url, area } +} + +// Add more data to a feature's object, based on what our templates need. +function augmentFeatureData(id, feature, bcd) { + // Add the id. + feature.id = id; + + // Make the spec always an array. + if (!feature.spec) { + feature.spec = []; + } else if (!Array.isArray(feature.spec)) { + feature.spec = [feature.spec]; + } + + const bcdKeysData = (feature.compat_features || []).map(key => { + // Find the BCD entry for this key. + const keyParts = key.split("."); + let data = bcd; + for (const part of keyParts) { + data = data[part]; + } + + return data && data.__compat ? { key, compat: data.__compat } : null; + }).filter(data => !!data); + + // Add MDN doc links, if any. + const mdnUrls = {}; + let hasMdnUrls = false; + for (const { compat } of bcdKeysData) { + if (compat.mdn_url) { + const urlData = processMdnUrl(compat.mdn_url); + if (!mdnUrls[urlData.area]) { + mdnUrls[urlData.area] = []; + } + hasMdnUrls = true; + mdnUrls[urlData.area].push(urlData); + } + } + + feature.mdnUrls = mdnUrls; + feature.hasMdnUrls = hasMdnUrls; + + // Add the BCD data to the feature. + feature.bcdData = bcdKeysData; + + // Add impl_url links, if any, per browser. + const browserImplUrls = Object.values(BROWSERS).reduce((acc, browser) => { + acc[browser] = []; + return acc; + }, {}); + + for (const { compat } of bcdKeysData) { + for (const browser of BROWSERS) { + const browserSupport = compat.support[browser]; + if (!browserSupport.version_added && browserSupport.impl_url) { + browserImplUrls[browser] = [...new Set([...browserImplUrls[browser], browserSupport.impl_url])]; + } + } + } + + feature.implUrls = browserImplUrls; +} + +let features = null; +let bcd = null; + +async function getDeps() { + if (!features) { + const module = await import("web-features"); + features = module.default; + } + + if (!bcd) { + const json = await import("@mdn/browser-compat-data", { + assert: { type: "json" }, + }); + bcd = json.default; + } + + return { features, bcd }; +} + +module.exports = function (eleventyConfig) { + eleventyConfig.addPlugin(EleventyHtmlBasePlugin); + eleventyConfig.addPassthroughCopy("site/assets"); + + eleventyConfig.addGlobalData("versions", async () => { + const { default: webFeaturesPackageJson } = await import("./node_modules/web-features/package.json", { + assert: { type: "json" }, + }); + + const { bcd } = await getDeps(); + + return { + "date": (new Date()).toLocaleDateString(), + "webFeatures": webFeaturesPackageJson.version, + "bcd": bcd.__meta.version + }; + }); + + // FIXME: Ideally, web-features would have this data. + eleventyConfig.addGlobalData("browsers", async () => { + const { bcd } = await getDeps(); + + return BROWSERS.map(browser => { + return { + id: browser, + name: bcd.browsers[browser].name, + releases: bcd.browsers[browser].releases + }; + }); + }); + + eleventyConfig.addGlobalData("perMonth", async () => { + const { features, bcd } = await getDeps(); + + const monthly = new Map(); + + for (const id in features) { + const feature = features[id]; + augmentFeatureData(id, feature, bcd); + + if (feature.status.baseline === "high") { + // If this is a baseline high feature. + const yearMonth = feature.status.baseline_high_date.substring(0, 7); + if (!monthly.has(yearMonth)) { + monthly.set(yearMonth, {}); + } + if (!monthly.get(yearMonth).high) { + monthly.get(yearMonth).high = []; + } + monthly.get(yearMonth).high.push(feature); + } else if (feature.status.baseline === "low") { + // If this is a baseline low feature. + const yearMonth = feature.status.baseline_low_date.substring(0, 7); + if (!monthly.has(yearMonth)) { + monthly.set(yearMonth, {}); + } + if (!monthly.get(yearMonth).low) { + monthly.get(yearMonth).low = []; + } + monthly.get(yearMonth).low.push(feature); + } else { + // This is not a baseline feature, check each supported browser's release dates. + for (const browser of BROWSERS) { + const version = feature.status.support[browser]; + if (version) { + const browserReleaseYearMonth = bcd.browsers[browser].releases[version].release_date.substring(0, 7); + if (!monthly.has(browserReleaseYearMonth)) { + monthly.set(browserReleaseYearMonth, {}); + } + if (!monthly.get(browserReleaseYearMonth)[browser]) { + monthly.get(browserReleaseYearMonth)[browser] = []; + } + monthly.get(browserReleaseYearMonth)[browser].push(feature); + } + } + } + } + + return [...monthly].sort((a, b) => { + return (new Date(b[0])) - (new Date(a[0])); + }); + }); + + eleventyConfig.addGlobalData("allFeatures", async () => { + const { features, bcd } = await getDeps(); + + const all = []; + + for (const id in features) { + const feature = features[id]; + augmentFeatureData(id, feature, bcd); + all.push(feature); + } + + return all; + }); + + eleventyConfig.addGlobalData("baselineFeatures", async () => { + const { features, bcd } = await getDeps(); + + const baseline = []; + + for (const id in features) { + const feature = features[id]; + + // Baseline features only. + if (feature.status.baseline === "high") { + augmentFeatureData(id, feature, bcd); + baseline.push(feature); + } + } + + return baseline.sort((a, b) => { + // Sort by baseline_high_date, descending, so the most recent is first. + return new Date(b.status.baseline_high_date) - new Date(a.status.baseline_high_date); + }); + }); + + eleventyConfig.addGlobalData("nonBaselineFeatures", async () => { + const { features, bcd } = await getDeps(); + + const nonBaseline = []; + + for (const id in features) { + const feature = features[id]; + + // Non-baseline features only. + if (!feature.status.baseline) { + augmentFeatureData(id, feature, bcd); + nonBaseline.push(feature); + } + } + + return nonBaseline; + }); + + eleventyConfig.addGlobalData("recentBaselineFeatures", async () => { + const { features, bcd } = await getDeps(); + + const recentBaseline = []; + + for (const id in features) { + const feature = features[id]; + augmentFeatureData(id, feature, bcd); + + // Only baseline low. + if (feature.status.baseline === "low") { + recentBaseline.push(feature); + } + } + + return recentBaseline.sort((a, b) => { + // Sort by baseline_low_date, descending, so the most recent is first. + return new Date(b.status.baseline_low_date) - new Date(a.status.baseline_low_date); + }); + }); + + eleventyConfig.addGlobalData("missingOneBrowserFeatures", async () => { + const { features, bcd } = await getDeps(); + + const missingOne = []; + + for (const id in features) { + const feature = features[id]; + augmentFeatureData(id, feature, bcd); + + // Only non-baseline features. + if (!feature.status.baseline) { + // And, out of those, only those that are missing support in just one browser (engine). + const noSupport = []; + for (const { id: browserId } of BROWSERS) { + if (!feature.status.support[browserId]) { + noSupport.push(browserId); + } + } + + if (noSupport.length === 1) { + missingOne.push(feature); + } + + if (noSupport.length === 2) { + // If one of the two values is a substring of the other, then these are the same engine. + const [first, second] = noSupport; + if (first.includes(second) || second.includes(first)) { + missingOne.push(feature); + } + } + } + } + + return missingOne; + }); + + eleventyConfig.addGlobalData("missingInEdgeFeatures", async () => { + const { features, bcd } = await getDeps(); + + const missingInEdge = []; + + for (const id in features) { + const feature = features[id]; + augmentFeatureData(id, feature, bcd); + + // Only non-baseline features. + if (!feature.status.baseline) { + // And, out of those, only those that are missing support in just Edge. + const noSupport = []; + for (const { id: browserId } of BROWSERS) { + if (!feature.status.support[browserId]) { + noSupport.push(browserId); + } + } + + if (noSupport.length === 1 && noSupport[0] === "edge") { + missingInEdge.push(feature); + } + } + } + + return missingInEdge; + }); + + return { + dir: { + input: "site", + output: "docs", + }, + pathPrefix: "/web-features-explorer/", + }; +}; diff --git a/.github/workflows/generate-site.yaml b/.github/workflows/generate-site.yaml new file mode 100644 index 0000000000..7c08070579 --- /dev/null +++ b/.github/workflows/generate-site.yaml @@ -0,0 +1,31 @@ +name: Generate site + +on: + workflow_dispatch: + schedule: + - cron: '0 0 * * *' + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Check-out the repository + uses: actions/checkout@v2 + + - name: Install dependency updates + run: | + npx npm-check-updates -u + npm install + npm update web-features + + - name: Generate site + run: npm run build + + - name: Commit dependency changes + run: | + git config --local user.email "${{ github.actor }}@users.noreply.github.com" + git config --local user.name "${{ github.actor }}" + git add . + git commit -m "Bump deps and update site" --allow-empty + git push origin main diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..3c3629e647 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000000..e69de29bb2 diff --git a/README.md b/README.md new file mode 100644 index 0000000000..70045a8dda --- /dev/null +++ b/README.md @@ -0,0 +1,52 @@ +# web-features explorer + +A website to visualize the data that's maintained in the [web-platform-dx/web-features](https://github.com/web-platform-dx/web-features/) repository. + +Open the website: https://web-platform-dx.github.io/web-features-explorer/ + +## Goal + +* To visualize the web-features data. +* To provide a way to explore the data in a more user-friendly way. +* To test various use cases that consumers of this data have. +* To detect issues in the data. + +## Architecture + +### Data + +The data that the website is based on comes from the [web-features](https://www.npmjs.com/package/web-features) npm package, by using its **next** version (which always provide the data from the latest commit on the web-features repo). + +In addition, the [@mdn/browser-compat-data](https://www.npmjs.com/package/browser-compat-data) npm package is used to get various other pieces of information, such as links to MDN documentation and links to bug trackers. + +To ensure you have the latest data: + +1. Run `npx npm-check-updates -u` + +1. Run `npm update web-features` + +### Build + +The website consists of static HTML pages and uses a build script to generate those HTML pages from the data. + +The template files, from which the static HTML pages get generated, use the [11ty](https://www.11ty.dev/) static website generator. The template files are found in the `site` directory. + +The result of the build script is found in the `docs` directory, which is the directory that GitHub Pages uses to serve the website (see [Deployement](#deployment)). + +To re-generate the website, after updating the data: + +1. Run `npm install` + +1. Run `npm run build` to generate the site + + You can also run `npm run serve` to start a local server and watch for changes + +### Deployment + +The website is deployed to production using [GitHub Pages](https://pages.github.com/). + +The static HTML pages are generated into the `docs` directory, which is the directory that GitHub Pages uses by default to serve the website. + +### Automatic updates + +The website is automatically updated every day by using a GitHub Actions script found in `.github/workflows/generate-site.yaml`. This action updates the dependencies, runs the build script, and pushes the changes to the `main` branch, which then triggers the deployment to GitHub Pages. diff --git a/docs/all/index.html b/docs/all/index.html new file mode 100644 index 0000000000..d5c431a915 --- /dev/null +++ b/docs/all/index.html @@ -0,0 +1,23174 @@ + + + + + All features + + + + + +
web-features explorer
+ + + +
+ +

All features

+ + + +
+ + + + + diff --git a/docs/assets/baseline-high.svg b/docs/assets/baseline-high.svg new file mode 100644 index 0000000000..83b6ef2e14 --- /dev/null +++ b/docs/assets/baseline-high.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/assets/baseline-limited.svg b/docs/assets/baseline-limited.svg new file mode 100644 index 0000000000..9b126ff1dc --- /dev/null +++ b/docs/assets/baseline-limited.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/assets/baseline-low.svg b/docs/assets/baseline-low.svg new file mode 100644 index 0000000000..4256a616b7 --- /dev/null +++ b/docs/assets/baseline-low.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/assets/chrome.svg b/docs/assets/chrome.svg new file mode 100644 index 0000000000..e3d20596a9 --- /dev/null +++ b/docs/assets/chrome.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/assets/edge.svg b/docs/assets/edge.svg new file mode 100644 index 0000000000..328c84572f --- /dev/null +++ b/docs/assets/edge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/assets/firefox.svg b/docs/assets/firefox.svg new file mode 100644 index 0000000000..543c4e5aa1 --- /dev/null +++ b/docs/assets/firefox.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/assets/safari.svg b/docs/assets/safari.svg new file mode 100644 index 0000000000..4e3ff7ad09 --- /dev/null +++ b/docs/assets/safari.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/assets/styles.css b/docs/assets/styles.css new file mode 100644 index 0000000000..75dcde3399 --- /dev/null +++ b/docs/assets/styles.css @@ -0,0 +1,268 @@ +:root { + --baseline-low-bg: #e8f0fe; + --baseline-low-label-bg: #d2e3fc; + --baseline-high-bg: #e6f4ea; + --baseline-high-label-bg: #ceead6; + --baseline-limited-bg: #f1f3f4; + --baseline-limited-label-bg: #e3e6e8; + --browser-supported-bg: #ceead6; + --browser-unsupported-bg: #f5d6d6; + --text: black; + --sub-text: #666; +} + +html { + font-size: 1rem; + font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, + Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; + color: var(--text); +} + +body { + margin: 2rem; +} + +header { + font-size: 2rem; + font-weight: bold; + margin-block-end: 2rem; +} + +h1 { + margin: 2rem 0; +} + +.intro { + margin: 2rem 0; +} + +.intro dl { + display: grid; + grid-template-columns: max-content auto; + gap: 0.5rem; +} + +.intro dl dt { + font-weight: bold; +} + +.intro dl dd { + margin: 0; +} + +ul, +li { + margin: 0; + padding: 0; + list-style: none; +} + +h3 .subtext { + font-size: small; + font-weight: normal; +} + +.feature { + padding: 2rem; + border-radius: 0.5rem; + margin-block-start: 2rem; +} + +.baseline-false { + background: var(--baseline-limited-bg); +} + +.baseline-low { + background: var(--baseline-low-bg); +} + +.baseline-high { + background: var(--baseline-high-bg); +} + +.feature h2, +.feature h1 { + margin: 0; + font-size: 1.2rem; +} + +.feature > p { + margin: 2rem 0; +} + +.feature.short > p { + margin: 1rem 0; +} + +.feature .availability { + --bg: var(--baseline-limited-label-bg); + padding: 0.25rem; + border-radius: 0.25rem; + background: var(--bg); + font-weight: bold; + font-size: 0.75rem; + border: 2px solid color-mix(in srgb, var(--bg) 90%, black); + width: max-content; + padding-inline-start: 2rem; + background-repeat: no-repeat; + background-position: 0.25rem center; + background-size: 1.5rem; + background-image: url(./baseline-limited.svg); + float: right; + margin: 0 0 1rem 1rem; +} + +.feature.baseline-low .availability { + --bg: var(--baseline-low-label-bg); + background-image: url(./baseline-low.svg); +} + +.feature.baseline-high .availability { + --bg: var(--baseline-high-label-bg); + background-image: url(./baseline-high.svg); +} + +.compat { + display: flex; + flex-wrap: wrap; + gap: 0.25rem; +} + +.compat .browser { + --bg: var(--browser-unsupported-bg); + padding: 1.25rem 0.55rem 0.25rem 0.5rem; + border-radius: 0.25rem; + border: 2px solid color-mix(in srgb, var(--bg) 90%, black); + background-color: var(--bg); + background-position: center .25rem; + background-repeat: no-repeat; + background-size: 1rem; + display: flex; + flex-direction: column; + align-items: center; + min-width: 4rem; +} + +.compat .browser.supported { + --bg: var(--browser-supported-bg); +} + +.compat .browser-chrome, +.compat .browser-chrome_android { + background-image: url(./chrome.svg); +} + +.compat .browser-firefox, +.compat .browser-firefox_android { + background-image: url(./firefox.svg); +} + +.compat .browser-edge { + background-image: url(./edge.svg); +} + +.compat .browser-safari, +.compat .browser-safari_ios { + background-image: url(./safari.svg); +} + +.compat .browser .name { + font-weight: bold; +} + +.compat .browser .date, +.compat .browser .bug { + font-style: italic; + font-size: 0.75rem; +} + +.feature .resources, +.feature .resources li { + list-style: disc; + padding-inline-start: 0.5rem; + margin-inline-start: 0.5rem; +} + +nav { + border-block-end: 2px solid; + padding-inline-start: 1rem; +} + +nav ul { + display: flex; + justify-content: start; + gap: 0.25rem; +} + +nav a { + display: block; + padding: 0.5rem; +} + +nav li { + border: 2px solid; + border-block-end-width: 0; +} + +.mdn-docs { + display: flex; + gap: 0.5rem; + flex-wrap: wrap; +} + +.mdn-docs h3 { + flex-basis: 100%; +} + +.mdn-docs-area { + align-self: start; + flex: 15rem 1 1; + position: relative; +} + +.mdn-docs-area::before { + content: attr(data-area); + text-transform: uppercase; + font-size: small; + padding: .25rem; + background: #fff5; + border: 2px solid #0003; + position: absolute; + inset: 0 0 auto auto; + border-width: 0 0 2px 2px; +} + +.mdn-docs h4 { + margin: 0; + text-transform: uppercase; +} + +.mdn-docs li { + text-overflow: ellipsis; + overflow: hidden; +} + +.link-list { + background: #fff5; + padding: 1rem; + border: 2px solid #0003; +} + +.link-list-item { + border-block-end: 1px solid #0003; + padding-block-end: 1rem; + margin-block-end: 1rem; +} + +.link-list-item:last-of-type { + border: none; + padding: 0; + margin: 0; +} + +footer { + border-block-start: 2px solid; + margin-block-start: 2rem; + color: var(--sub-text); + font-size: smaller; +} diff --git a/docs/baseline/index.html b/docs/baseline/index.html new file mode 100644 index 0000000000..48b5daae75 --- /dev/null +++ b/docs/baseline/index.html @@ -0,0 +1,6279 @@ + + + + + Widely available features + + + + + +
web-features explorer
+ + + +
+ +

Widely available features

+ +

These features have been supported across all core browsers for a while.

+ + + +
+ + + + + diff --git a/docs/features/abortable-fetch/index.html b/docs/features/abortable-fetch/index.html new file mode 100644 index 0000000000..3c7841ec56 --- /dev/null +++ b/docs/features/abortable-fetch/index.html @@ -0,0 +1,170 @@ + + + + + Abortable fetch + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2021-09-25 (baseline high) +
+ +

Abortable fetch

+

If you construct a fetch request with an AbortSignal, you can cancel the request.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/aborting/index.html b/docs/features/aborting/index.html new file mode 100644 index 0000000000..4d756cb114 --- /dev/null +++ b/docs/features/aborting/index.html @@ -0,0 +1,192 @@ + + + + + AbortController and AbortSignal + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2021-09-25 (baseline high) +
+ +

AbortController and AbortSignal

+

The AbortController and AbortSignal APIs allow you to cancel an ongoing operation, such as a fetch() request.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/abortsignal-any/index.html b/docs/features/abortsignal-any/index.html new file mode 100644 index 0000000000..acf599fca5 --- /dev/null +++ b/docs/features/abortsignal-any/index.html @@ -0,0 +1,168 @@ + + + + + AbortSignal.any() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2024-03-19 (baseline low) + +
+ +

AbortSignal.any()

+

The AbortSignal.any() static method combines an iterable of abort signals into a single signal, with the abort reason taken from the first signal to abort.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/abs-sign/index.html b/docs/features/abs-sign/index.html new file mode 100644 index 0000000000..bd785c4118 --- /dev/null +++ b/docs/features/abs-sign/index.html @@ -0,0 +1,193 @@ + + + + + abs() and sign() + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

abs() and sign()

+

The abs() and sign() CSS functions compute the absolute value or the sign of the input.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/accent-color/index.html b/docs/features/accent-color/index.html new file mode 100644 index 0000000000..8f35064287 --- /dev/null +++ b/docs/features/accent-color/index.html @@ -0,0 +1,170 @@ + + + + + accent-color + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-03-14 (baseline low) + +
+ +

accent-color

+

The accent-color CSS property sets a color for checkboxes, radio buttons, and other form controls.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/anchor-positioning/index.html b/docs/features/anchor-positioning/index.html new file mode 100644 index 0000000000..754fef70ac --- /dev/null +++ b/docs/features/anchor-positioning/index.html @@ -0,0 +1,536 @@ + + + + + Anchor positioning + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Anchor positioning

+

Anchor positioning places an element based on the position of another element. For example, you can place a tooltip next to the content it references.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/animation-composition/index.html b/docs/features/animation-composition/index.html new file mode 100644 index 0000000000..cbd0a11125 --- /dev/null +++ b/docs/features/animation-composition/index.html @@ -0,0 +1,168 @@ + + + + + animation-composition + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-07-04 (baseline low) + +
+ +

animation-composition

+

The animation-composition CSS property chooses how to combine animations that affect the same property.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/appearance/index.html b/docs/features/appearance/index.html new file mode 100644 index 0000000000..bd7c27029e --- /dev/null +++ b/docs/features/appearance/index.html @@ -0,0 +1,194 @@ + + + + + appearance + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-03-14 (baseline low) + +
+ +

appearance

+

The appearance CSS property controls the appearance of form controls. Using appearance: none disables any default native appearance and allows the elements to be styled with CSS.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/aria-attribute-reflection/index.html b/docs/features/aria-attribute-reflection/index.html new file mode 100644 index 0000000000..20e6172d88 --- /dev/null +++ b/docs/features/aria-attribute-reflection/index.html @@ -0,0 +1,316 @@ + + + + + ARIA attribute reflection + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-10-24 (baseline low) + +
+ +

ARIA attribute reflection

+

WAI-ARIA attributes have corresponding properties on Element and ElementInternals objects.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/array-at/index.html b/docs/features/array-at/index.html new file mode 100644 index 0000000000..439ff5f9e2 --- /dev/null +++ b/docs/features/array-at/index.html @@ -0,0 +1,172 @@ + + + + + Array at() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-03-14 (baseline low) + +
+ +

Array at()

+

The at() method of arrays and typed arrays returns the item at an index, including negative indices for getting items relative to the end of an array. Also known as the relative indexing method.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/array-by-copy/index.html b/docs/features/array-by-copy/index.html new file mode 100644 index 0000000000..9001364c1f --- /dev/null +++ b/docs/features/array-by-copy/index.html @@ -0,0 +1,204 @@ + + + + + Array by copy + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-07-04 (baseline low) + +
+ +

Array by copy

+

The toReserved(), toSorted(), toSpliced(), and with() methods of arrays and typed arrays return changed copies of arrays. They stand in contrast to methods such as sort() or reverse() that change arrays in place.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/array-copywithin/index.html b/docs/features/array-copywithin/index.html new file mode 100644 index 0000000000..c321df14bb --- /dev/null +++ b/docs/features/array-copywithin/index.html @@ -0,0 +1,172 @@ + + + + + Array copyWithin() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-03-30 (baseline high) +
+ +

Array copyWithin()

+

The copyWithin() method of arrays and typed arrays shifts or copies items of an array to another index of the array without changing its length.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/array-fill/index.html b/docs/features/array-fill/index.html new file mode 100644 index 0000000000..97f7007822 --- /dev/null +++ b/docs/features/array-fill/index.html @@ -0,0 +1,174 @@ + + + + + Array fill() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-03-01 (baseline high) +
+ +

Array fill()

+

The fill() method of arrays and typed arrays sets all or some items of an array to a given a value.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/array-find/index.html b/docs/features/array-find/index.html new file mode 100644 index 0000000000..98e4b925a0 --- /dev/null +++ b/docs/features/array-find/index.html @@ -0,0 +1,186 @@ + + + + + Array find() and findIndex() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-03-01 (baseline high) +
+ +

Array find() and findIndex()

+

The find() and findIndex() methods of arrays and typed arrays search an array for the first item that satisfies a test function.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/array-findlast/index.html b/docs/features/array-findlast/index.html new file mode 100644 index 0000000000..0f833f0a6c --- /dev/null +++ b/docs/features/array-findlast/index.html @@ -0,0 +1,186 @@ + + + + + Array findLast() and findLastIndex() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-08-23 (baseline low) + +
+ +

Array findLast() and findLastIndex()

+

The findLast() and findLastIndex() methods of arrays and typed arrays search an array in reverse order for the first item that satisfies a test function.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/array-flat/index.html b/docs/features/array-flat/index.html new file mode 100644 index 0000000000..778e10a641 --- /dev/null +++ b/docs/features/array-flat/index.html @@ -0,0 +1,174 @@ + + + + + Array flat() and flatMap() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2022-07-15 (baseline high) +
+ +

Array flat() and flatMap()

+

The flat() and flatMap() methods for arrays creates a new array such that each nested array item is concatenated into it.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/array-from/index.html b/docs/features/array-from/index.html new file mode 100644 index 0000000000..a8c13d933c --- /dev/null +++ b/docs/features/array-from/index.html @@ -0,0 +1,174 @@ + + + + + Array.from() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-03-30 (baseline high) +
+ +

Array.from()

+

The Array.from() and typed array .from() static methods copy items from an iterable or array-like object to make a new array.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/array-fromasync/index.html b/docs/features/array-fromasync/index.html new file mode 100644 index 0000000000..51da7e7d43 --- /dev/null +++ b/docs/features/array-fromasync/index.html @@ -0,0 +1,168 @@ + + + + + Array.fromAsync() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2024-01-25 (baseline low) + +
+ +

Array.fromAsync()

+

The Array.fromAsync() static method copies items from an async iterable object to make a new array.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/array-group/index.html b/docs/features/array-group/index.html new file mode 100644 index 0000000000..640504521d --- /dev/null +++ b/docs/features/array-group/index.html @@ -0,0 +1,172 @@ + + + + + Array grouping + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2024-03-05 (baseline low) + +
+ +

Array grouping

+

The Object.groupBy() and Map.groupBy() static methods group values of arrays and iterables based on a function that returns a key for each value.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/array-includes/index.html b/docs/features/array-includes/index.html new file mode 100644 index 0000000000..c87e917873 --- /dev/null +++ b/docs/features/array-includes/index.html @@ -0,0 +1,174 @@ + + + + + Array includes() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-06-01 (baseline high) +
+ +

Array includes()

+

The includes() method of arrays and typed arrays returns whether a given value appears in the array.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/array-isarray/index.html b/docs/features/array-isarray/index.html new file mode 100644 index 0000000000..77e262b387 --- /dev/null +++ b/docs/features/array-isarray/index.html @@ -0,0 +1,168 @@ + + + + + Array.isArray() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-01-29 (baseline high) +
+ +

Array.isArray()

+

The Array.isArray() static method checks whether a value is an array.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/array-iteration-methods/index.html b/docs/features/array-iteration-methods/index.html new file mode 100644 index 0000000000..7acd27f483 --- /dev/null +++ b/docs/features/array-iteration-methods/index.html @@ -0,0 +1,216 @@ + + + + + Array iteration methods + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-01-29 (baseline high) +
+ +

Array iteration methods

+

Array iteration methods

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/array-iterators/index.html b/docs/features/array-iterators/index.html new file mode 100644 index 0000000000..a1e97376d6 --- /dev/null +++ b/docs/features/array-iterators/index.html @@ -0,0 +1,186 @@ + + + + + Array iterators + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2019-03-20 (baseline high) +
+ +

Array iterators

+

Arrays are iterable with the for…of statement and enumerable with the methods entries(), keys(), and values().

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/array-of/index.html b/docs/features/array-of/index.html new file mode 100644 index 0000000000..1b30c277db --- /dev/null +++ b/docs/features/array-of/index.html @@ -0,0 +1,174 @@ + + + + + Array.of() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-03-30 (baseline high) +
+ +

Array.of()

+

The Array.of() and typed array .of() static methods create new arrays from the values of any number of arguments.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/array-splice/index.html b/docs/features/array-splice/index.html new file mode 100644 index 0000000000..95841e0fc0 --- /dev/null +++ b/docs/features/array-splice/index.html @@ -0,0 +1,168 @@ + + + + + Array splice() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-01-29 (baseline high) +
+ +

Array splice()

+

The array splice() method changes an array in-place. You can use it to delete items, overwrite items, or insert items, starting from an index.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/array/index.html b/docs/features/array/index.html new file mode 100644 index 0000000000..66f844bcb8 --- /dev/null +++ b/docs/features/array/index.html @@ -0,0 +1,252 @@ + + + + + Array (initial support) + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-01-29 (baseline high) +
+ +

Array (initial support)

+

Arrays are ordered lists of JavaScript values.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/aspect-ratio/index.html b/docs/features/aspect-ratio/index.html new file mode 100644 index 0000000000..e0926b4da2 --- /dev/null +++ b/docs/features/aspect-ratio/index.html @@ -0,0 +1,172 @@ + + + + + aspect-ratio + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2024-03-20 (baseline high) +
+ +

aspect-ratio

+

The aspect-ratio CSS property controls the width-to-height ratio of elements. For <img> and <video> elements, the width and height attributes used together with height: auto control the aspect ratio while the image/video is loading.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/async-await/index.html b/docs/features/async-await/index.html new file mode 100644 index 0000000000..3d6a1df7d3 --- /dev/null +++ b/docs/features/async-await/index.html @@ -0,0 +1,184 @@ + + + + + Async functions + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2019-10-05 (baseline high) +
+ +

Async functions

+

The async and await keywords allow you to use the asynchronous, promise-based behavior of a function without using promise chains.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/async-clipboard/index.html b/docs/features/async-clipboard/index.html new file mode 100644 index 0000000000..21cc48e4b0 --- /dev/null +++ b/docs/features/async-clipboard/index.html @@ -0,0 +1,222 @@ + + + + + Async clipboard + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Async clipboard

+

The navigator.clipboard API asynchronously reads and writes to the system clipboard.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/audio-session/index.html b/docs/features/audio-session/index.html new file mode 100644 index 0000000000..4dbafbbf2d --- /dev/null +++ b/docs/features/audio-session/index.html @@ -0,0 +1,161 @@ + + + + + Audio session + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Audio session

+

The navigator.audioSession API controls how audio playback interacts with other applications. For example, playing music can pause audio from other applications, while ambient audio can play at the same time.

+ +

Compatibility

+ + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/audio-video-tracks/index.html b/docs/features/audio-video-tracks/index.html new file mode 100644 index 0000000000..dfef52161b --- /dev/null +++ b/docs/features/audio-video-tracks/index.html @@ -0,0 +1,272 @@ + + + + + Audio and video tracks + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Audio and video tracks

+

The audioTracks and videoTracks APIs for media elements switch audio and video tracks during playback.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/autofill/index.html b/docs/features/autofill/index.html new file mode 100644 index 0000000000..cf615313a0 --- /dev/null +++ b/docs/features/autofill/index.html @@ -0,0 +1,168 @@ + + + + + :autofill + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-02-09 (baseline low) + +
+ +

:autofill

+

The :autofill pseudo-class matches <input> elements that have been filled in automatically by the browser.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/autofocus/index.html b/docs/features/autofocus/index.html new file mode 100644 index 0000000000..1458520c89 --- /dev/null +++ b/docs/features/autofocus/index.html @@ -0,0 +1,180 @@ + + + + + Autofocus + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-01-29 (baseline high) +
+ +

Autofocus

+

The autofocus HTML attribute gives focus to an element on page load.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/autonomous-custom-elements/index.html b/docs/features/autonomous-custom-elements/index.html new file mode 100644 index 0000000000..141aaaa132 --- /dev/null +++ b/docs/features/autonomous-custom-elements/index.html @@ -0,0 +1,184 @@ + + + + + Autonomous custom elements + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2022-07-15 (baseline high) +
+ +

Autonomous custom elements

+

Autonomous custom elements are HTML elements with a hyphenated tag name (like <example-element>) that have behaviors you define.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/avif/index.html b/docs/features/avif/index.html new file mode 100644 index 0000000000..fc1acc823a --- /dev/null +++ b/docs/features/avif/index.html @@ -0,0 +1,155 @@ + + + + + AVIF + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2024-01-26 (baseline low) + +
+ +

AVIF

+

AVIF (AV1 Image File Format) is an image format based on the AV1 video format.

+ +

Compatibility (view on caniuse.com)

+ + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/backdrop-filter/index.html b/docs/features/backdrop-filter/index.html new file mode 100644 index 0000000000..ae226fdf47 --- /dev/null +++ b/docs/features/backdrop-filter/index.html @@ -0,0 +1,168 @@ + + + + + backdrop-filter + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

backdrop-filter

+

The backdrop-filter CSS property applies graphical effects such as blurring or color shifting to the area behind an element.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/background-clip-text/index.html b/docs/features/background-clip-text/index.html new file mode 100644 index 0000000000..d37b5e279a --- /dev/null +++ b/docs/features/background-clip-text/index.html @@ -0,0 +1,157 @@ + + + + + background-clip: text + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-12-07 (baseline low) + +
+ +

background-clip: text

+

The background-clip: text CSS declaration draws the background underneath only the text in the element.

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/background-clip/index.html b/docs/features/background-clip/index.html new file mode 100644 index 0000000000..0d0fff22ea --- /dev/null +++ b/docs/features/background-clip/index.html @@ -0,0 +1,174 @@ + + + + + background-clip + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-01-29 (baseline high) +
+ +

background-clip

+

The background-clip CSS property sets the extent of the background: the padding box, the content box, or the default border box.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/background-fetch/index.html b/docs/features/background-fetch/index.html new file mode 100644 index 0000000000..757f944b08 --- /dev/null +++ b/docs/features/background-fetch/index.html @@ -0,0 +1,284 @@ + + + + + Background fetch + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Background fetch

+

Background fetch downloads data in the background even when the web page is closed.

+ +

Compatibility

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/baseline-source/index.html b/docs/features/baseline-source/index.html new file mode 100644 index 0000000000..ceb110f56a --- /dev/null +++ b/docs/features/baseline-source/index.html @@ -0,0 +1,174 @@ + + + + + baseline-source + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

baseline-source

+

The baseline-source CSS property controls how inline-level boxes with multiple lines of text are aligned with the surrounding text. By default, which typographic baseline is used depends on the display property value.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/bigint/index.html b/docs/features/bigint/index.html new file mode 100644 index 0000000000..b53cda927b --- /dev/null +++ b/docs/features/bigint/index.html @@ -0,0 +1,192 @@ + + + + + BigInt + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2023-03-16 (baseline high) +
+ +

BigInt

+

The BigInt JavaScript type represents integers of any size, including integers too large for the primitive Number type.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/blocking-render/index.html b/docs/features/blocking-render/index.html new file mode 100644 index 0000000000..f5f511fa46 --- /dev/null +++ b/docs/features/blocking-render/index.html @@ -0,0 +1,210 @@ + + + + + blocking=&quot;render&quot; + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

blocking="render"

+

The blocking="render" attribute for <link>, <script>, and <style> elements blocks rendering until the external script or stylesheet has been loaded. For <link rel="expect">, rendering is blocked until a specific element is in the DOM.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/border-image/index.html b/docs/features/border-image/index.html new file mode 100644 index 0000000000..ea6f611c50 --- /dev/null +++ b/docs/features/border-image/index.html @@ -0,0 +1,198 @@ + + + + + Border images + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2019-08-01 (baseline high) +
+ +

Border images

+

The border-image CSS property draws an image around an element.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/broadcast-channel/index.html b/docs/features/broadcast-channel/index.html new file mode 100644 index 0000000000..98f12dfa07 --- /dev/null +++ b/docs/features/broadcast-channel/index.html @@ -0,0 +1,192 @@ + + + + + BroadcastChannel + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-03-14 (baseline low) + +
+ +

BroadcastChannel

+

The BroadcastChannel API allows you to send messages between same-origin browsing contexts, such as between the same page loaded in multiple tabs.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/calc-constants/index.html b/docs/features/calc-constants/index.html new file mode 100644 index 0000000000..5140b24c62 --- /dev/null +++ b/docs/features/calc-constants/index.html @@ -0,0 +1,176 @@ + + + + + calc() constants + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-06-06 (baseline low) + +
+ +

calc() constants

+

The e, pi, infinity, and NaN constants are accepted in CSS math functions such as calc().

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/calc/index.html b/docs/features/calc/index.html new file mode 100644 index 0000000000..f91f7474a3 --- /dev/null +++ b/docs/features/calc/index.html @@ -0,0 +1,168 @@ + + + + + calc() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-01-29 (baseline high) +
+ +

calc()

+

The calc() CSS function computes mathematical expressions such a calc(100%/3 - 1em).

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/canvas-context-lost/index.html b/docs/features/canvas-context-lost/index.html new file mode 100644 index 0000000000..7db14764ce --- /dev/null +++ b/docs/features/canvas-context-lost/index.html @@ -0,0 +1,182 @@ + + + + + contextlost and contextrestored + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

contextlost and contextrestored

+

The contextlost event for <canvas> fires when the canvas backing storage is lost, while the contextrestored event fires when it is recreated.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/canvas-createconicgradient/index.html b/docs/features/canvas-createconicgradient/index.html new file mode 100644 index 0000000000..63831033a5 --- /dev/null +++ b/docs/features/canvas-createconicgradient/index.html @@ -0,0 +1,170 @@ + + + + + Canvas createConicGradient() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-04-11 (baseline low) + +
+ +

Canvas createConicGradient()

+

The createConicGradient() methods draw a conic gradient to a 2D canvas.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/canvas-reset/index.html b/docs/features/canvas-reset/index.html new file mode 100644 index 0000000000..444dd9c46f --- /dev/null +++ b/docs/features/canvas-reset/index.html @@ -0,0 +1,172 @@ + + + + + Canvas reset() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-12-11 (baseline low) + +
+ +

Canvas reset()

+

The reset() method clears a canvas to its initial state.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/canvas-roundrect/index.html b/docs/features/canvas-roundrect/index.html new file mode 100644 index 0000000000..4375e1986c --- /dev/null +++ b/docs/features/canvas-roundrect/index.html @@ -0,0 +1,170 @@ + + + + + Canvas roundRect() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-04-11 (baseline low) + +
+ +

Canvas roundRect()

+

The roundRect() methods draw a rounded rectangle to a 2D canvas.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/canvas-text-baselines/index.html b/docs/features/canvas-text-baselines/index.html new file mode 100644 index 0000000000..1a3cbda771 --- /dev/null +++ b/docs/features/canvas-text-baselines/index.html @@ -0,0 +1,180 @@ + + + + + Canvas text baselines + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-10-13 (baseline low) + +
+ +

Canvas text baselines

+

The alphabeticBaseline, hangingBaseline, and ideographicBaseline canvas text metrics measure the distance from the used textBaseline to the respective typographic baseline.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/canvas-text/index.html b/docs/features/canvas-text/index.html new file mode 100644 index 0000000000..07730293ba --- /dev/null +++ b/docs/features/canvas-text/index.html @@ -0,0 +1,192 @@ + + + + + Canvas text metrics + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-01-29 (baseline high) +
+ +

Canvas text metrics

+

The fillText() and strokeText() methods draw text to a 2D canvas. The measureText() method measures the width and other metrics which can be used to position the text.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/cap/index.html b/docs/features/cap/index.html new file mode 100644 index 0000000000..17a5a8bd91 --- /dev/null +++ b/docs/features/cap/index.html @@ -0,0 +1,157 @@ + + + + + cap unit + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-12-11 (baseline low) + +
+ +

cap unit

+

The CSS cap unit corresponds to the height of Latin capital letters.

+ +

Compatibility

+ + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/cascade-layers/index.html b/docs/features/cascade-layers/index.html new file mode 100644 index 0000000000..fe67ea932a --- /dev/null +++ b/docs/features/cascade-layers/index.html @@ -0,0 +1,194 @@ + + + + + Cascade layers + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-03-14 (baseline low) + +
+ +

Cascade layers

+

The @layer CSS at-rule avoids specificity conflicts by providing priority levels for different groups of CSS rules, such as low-priority styles like resets, and high-priority styles like UI components.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/check-visibility/index.html b/docs/features/check-visibility/index.html new file mode 100644 index 0000000000..d8268109df --- /dev/null +++ b/docs/features/check-visibility/index.html @@ -0,0 +1,168 @@ + + + + + checkVisibility() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2024-03-05 (baseline low) + +
+ +

checkVisibility()

+

The checkVisibility() method checks if an element is potentially visible, with optional parameters for the kinds of visibility to check. For example, it checks whether the element has the style display: none, but can also check for visibility: hidden.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/class-syntax/index.html b/docs/features/class-syntax/index.html new file mode 100644 index 0000000000..2aa220bafe --- /dev/null +++ b/docs/features/class-syntax/index.html @@ -0,0 +1,188 @@ + + + + + Classes + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2019-09-27 (baseline high) +
+ +

Classes

+

Classes are an object-oriented syntax for JavaScript prototypes.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/clipboard-supports/index.html b/docs/features/clipboard-supports/index.html new file mode 100644 index 0000000000..56f5720f8a --- /dev/null +++ b/docs/features/clipboard-supports/index.html @@ -0,0 +1,157 @@ + + + + + ClipboardItem.supports() + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

ClipboardItem.supports()

+

The ClipboardItem.supports() static method checks if the browser supports writing data types such as "image/svg+xml" or other custom formats to the system clipboard.

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/color-function/index.html b/docs/features/color-function/index.html new file mode 100644 index 0000000000..43d43a7c4d --- /dev/null +++ b/docs/features/color-function/index.html @@ -0,0 +1,170 @@ + + + + + color() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-05-09 (baseline low) + +
+ +

color()

+

The color() function defines a color within a given color space. Wide gamut color spaces like display-p3 allow showing more vibrant and saturated colors than the standard srgb color space.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/color-mix/index.html b/docs/features/color-mix/index.html new file mode 100644 index 0000000000..154abce082 --- /dev/null +++ b/docs/features/color-mix/index.html @@ -0,0 +1,168 @@ + + + + + color-mix() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-05-09 (baseline low) + +
+ +

color-mix()

+

The color-mix() function mixes two colors in a given color space and by a given amount. Commonly, lighter or darker variations of a color are created by mixing with white or black.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/color-scheme/index.html b/docs/features/color-scheme/index.html new file mode 100644 index 0000000000..c4d2d3591e --- /dev/null +++ b/docs/features/color-scheme/index.html @@ -0,0 +1,172 @@ + + + + + color-scheme + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-02-03 (baseline low) + +
+ +

color-scheme

+

The color-scheme CSS property sets which color schemes (light or dark) an element uses and may prevent automatic dark mode adjustments by the browser.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/colrv1/index.html b/docs/features/colrv1/index.html new file mode 100644 index 0000000000..dde0419425 --- /dev/null +++ b/docs/features/colrv1/index.html @@ -0,0 +1,157 @@ + + + + + COLRv1 + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

COLRv1

+

COLRv1 is a font format that supports multi-color glyphs.

+ +

Compatibility (view on caniuse.com)

+ + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/column-breaks/index.html b/docs/features/column-breaks/index.html new file mode 100644 index 0000000000..6c8098878e --- /dev/null +++ b/docs/features/column-breaks/index.html @@ -0,0 +1,175 @@ + + + + + Column breaks + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Column breaks

+

In columnar layouts (created by the columns or column-count CSS properties), the break-after, break-before, break-inside properties control where columns start or end.

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/compression-streams/index.html b/docs/features/compression-streams/index.html new file mode 100644 index 0000000000..ffec349c8e --- /dev/null +++ b/docs/features/compression-streams/index.html @@ -0,0 +1,204 @@ + + + + + Compression streams + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-05-09 (baseline low) + +
+ +

Compression streams

+

The CompressionStream and DecompressionStream interfaces compress and decompress data using the gzip or deflate formats.

+ +

Compatibility

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/compute-pressure/index.html b/docs/features/compute-pressure/index.html new file mode 100644 index 0000000000..2002f1cde9 --- /dev/null +++ b/docs/features/compute-pressure/index.html @@ -0,0 +1,222 @@ + + + + + CPU compute pressure + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

CPU compute pressure

+

The PressureObserver API monitors CPU load, allowing you to adjust workloads in response to available computing resources. Also known as the Compute Pressure API.

+ +

Compatibility

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/conic-gradients/index.html b/docs/features/conic-gradients/index.html new file mode 100644 index 0000000000..b597d10d0b --- /dev/null +++ b/docs/features/conic-gradients/index.html @@ -0,0 +1,174 @@ + + + + + Conic gradients + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2023-05-17 (baseline high) +
+ +

Conic gradients

+

The conic-gradient() and repeating-conic-gradient() CSS functions create backgrounds that progress between two or more colors around a center point.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/constraint-validation/index.html b/docs/features/constraint-validation/index.html new file mode 100644 index 0000000000..ca89221939 --- /dev/null +++ b/docs/features/constraint-validation/index.html @@ -0,0 +1,370 @@ + + + + + Constraint validation API + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2021-06-11 (baseline high) +
+ +

Constraint validation API

+

Methods that validate form controls before submission, such as checkValidity(), reportValidity() and setCustomValidity().

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/constructed-stylesheets/index.html b/docs/features/constructed-stylesheets/index.html new file mode 100644 index 0000000000..cfc86b3ad5 --- /dev/null +++ b/docs/features/constructed-stylesheets/index.html @@ -0,0 +1,186 @@ + + + + + Constructed stylesheets + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-27 (baseline low) + +
+ +

Constructed stylesheets

+

The CSSStyleSheet constructor creates a new stylesheet which can be shared between a document and multiple shadow roots using adoptedStyleSheets.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/contain-intrinsic-size/index.html b/docs/features/contain-intrinsic-size/index.html new file mode 100644 index 0000000000..032af933fb --- /dev/null +++ b/docs/features/contain-intrinsic-size/index.html @@ -0,0 +1,184 @@ + + + + + contain-intrinsic-size + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-09-18 (baseline low) + +
+ +

contain-intrinsic-size

+

The contain-intrinsic-size CSS property sets the intrinsic size of an element. When using size containment, the browser will layout the element as if it had a single child of this size.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/container-queries/index.html b/docs/features/container-queries/index.html new file mode 100644 index 0000000000..ccb4b30901 --- /dev/null +++ b/docs/features/container-queries/index.html @@ -0,0 +1,210 @@ + + + + + Container queries + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-02-14 (baseline low) + +
+ +

Container queries

+

Container size queries with the @container at-rule apply styles to an element based on the dimensions of its container.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/container-style-queries/index.html b/docs/features/container-style-queries/index.html new file mode 100644 index 0000000000..4850129e8a --- /dev/null +++ b/docs/features/container-style-queries/index.html @@ -0,0 +1,196 @@ + + + + + Container style queries + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Container style queries

+

Container style queries with the @container at-rule apply styles to an element based on the values of custom properties of its container.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/content-visibility/index.html b/docs/features/content-visibility/index.html new file mode 100644 index 0000000000..fe55c62a8d --- /dev/null +++ b/docs/features/content-visibility/index.html @@ -0,0 +1,184 @@ + + + + + content-visibility + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

content-visibility

+

The content-visibility CSS property delays rendering an element, including layout and painting, until it is needed.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/controls-list/index.html b/docs/features/controls-list/index.html new file mode 100644 index 0000000000..386e678445 --- /dev/null +++ b/docs/features/controls-list/index.html @@ -0,0 +1,172 @@ + + + + + controlslist + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

controlslist

+

The controlslist attribute for <audio> or <video> hides parts of the browser's built-in controls. For example, controlslist="nofullscreen" removes the button to play the video in fullscreen.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/counter-set/index.html b/docs/features/counter-set/index.html new file mode 100644 index 0000000000..ff318fff5b --- /dev/null +++ b/docs/features/counter-set/index.html @@ -0,0 +1,172 @@ + + + + + counter-set + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-12-11 (baseline low) + +
+ +

counter-set

+

The counter-set CSS property creates (and optionally sets a value for) a counter, the numbers for a series of headings or ordered list items.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/counter-style/index.html b/docs/features/counter-style/index.html new file mode 100644 index 0000000000..33497b592c --- /dev/null +++ b/docs/features/counter-style/index.html @@ -0,0 +1,244 @@ + + + + + @counter-style + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-09-18 (baseline low) + +
+ +

@counter-style

+

The @counter-style CSS at-rule defines custom counter styles for list items. For example, you can use a sequence of specific symbols instead of numbers for an ordered list.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/css-modules/index.html b/docs/features/css-modules/index.html new file mode 100644 index 0000000000..bcd9cedee5 --- /dev/null +++ b/docs/features/css-modules/index.html @@ -0,0 +1,157 @@ + + + + + CSS module scripts + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

CSS module scripts

+

CSS module scripts allow CSS code to be organized into reusable units. Other modules use import ... with {type: "css"} to load CSS modules as constructable stylesheets.

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/custom-properties/index.html b/docs/features/custom-properties/index.html new file mode 100644 index 0000000000..f1eb1fc02a --- /dev/null +++ b/docs/features/custom-properties/index.html @@ -0,0 +1,172 @@ + + + + + Custom properties + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2019-10-05 (baseline high) +
+ +

Custom properties

+

Custom properties are CSS properties prefixed with -- that set values you can reuse with the var() function. For example, you can set a --key-color property to reuse as border-color: var(--key-color). Also known as CSS variables.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/customized-built-in-elements/index.html b/docs/features/customized-built-in-elements/index.html new file mode 100644 index 0000000000..3ea1f6bc13 --- /dev/null +++ b/docs/features/customized-built-in-elements/index.html @@ -0,0 +1,190 @@ + + + + + Customized built-in elements + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Customized built-in elements

+

Customized built-in elements are HTML elements that extend built-in elements using the is attribute, to add new behaviors that you define.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/datalist/index.html b/docs/features/datalist/index.html new file mode 100644 index 0000000000..330c60c868 --- /dev/null +++ b/docs/features/datalist/index.html @@ -0,0 +1,180 @@ + + + + + &lt;datalist&gt; + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

<datalist>

+

The <datalist> element defines a set of recommended values for an <input> element. Browsers may show a dropdown menu of all options, or matching options as the user types.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/declarative-shadow-dom/index.html b/docs/features/declarative-shadow-dom/index.html new file mode 100644 index 0000000000..eca4701751 --- /dev/null +++ b/docs/features/declarative-shadow-dom/index.html @@ -0,0 +1,176 @@ + + + + + Declarative shadow DOM + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2024-02-20 (baseline low) + +
+ +

Declarative shadow DOM

+

The shadowrootmode attribute on <template> creates a shadow root without the use of JavaScript. It is a declarative alternative to the attachShadow() method.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/default/index.html b/docs/features/default/index.html new file mode 100644 index 0000000000..9236133a3a --- /dev/null +++ b/docs/features/default/index.html @@ -0,0 +1,168 @@ + + + + + :default + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2022-07-15 (baseline high) +
+ +

:default

+

The :default CSS pseudo-class matches the default element in a group of related form controls, such as checkboxes and radio buttons with the checked attribute.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/details-name/index.html b/docs/features/details-name/index.html new file mode 100644 index 0000000000..3dab303c00 --- /dev/null +++ b/docs/features/details-name/index.html @@ -0,0 +1,173 @@ + + + + + Mutually exclusive &lt;details&gt; elements + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Mutually exclusive <details> elements

+

Multiple <details> elements which use the same name attribute are mutually exclusive. When one member of the group is opened, all other members are closed.

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/details/index.html b/docs/features/details/index.html new file mode 100644 index 0000000000..e818aa5c9e --- /dev/null +++ b/docs/features/details/index.html @@ -0,0 +1,182 @@ + + + + + &lt;details&gt; + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2022-07-15 (baseline high) +
+ +

<details>

+

The <details> element is a disclosure widget which can be expanded to reveal additional content. When closed, only the nested <summary> element is visible.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/device-orientation-events/index.html b/docs/features/device-orientation-events/index.html new file mode 100644 index 0000000000..f87479d6bc --- /dev/null +++ b/docs/features/device-orientation-events/index.html @@ -0,0 +1,208 @@ + + + + + Device orientation events + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-09-18 (baseline low) + +
+ +

Device orientation events

+

The DeviceMotion and DeviceOrientation events report the movement and orientation of the browser's device in physical space.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/device-posture/index.html b/docs/features/device-posture/index.html new file mode 100644 index 0000000000..764ac424a0 --- /dev/null +++ b/docs/features/device-posture/index.html @@ -0,0 +1,165 @@ + + + + + Device posture + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Device posture

+

The device posture API provides information about the physical posture of a device, such as whether a foldable device is folded or unfolded.

+ +

Compatibility

+ + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/dialog/index.html b/docs/features/dialog/index.html new file mode 100644 index 0000000000..b8c9741c42 --- /dev/null +++ b/docs/features/dialog/index.html @@ -0,0 +1,208 @@ + + + + + &lt;dialog&gt; + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-03-14 (baseline low) + +
+ +

<dialog>

+

The <dialog> HTML element represents a modal or non-modal dialog box, such as a confirmation prompt or a subwindow used to enter data.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/dir-pseudo/index.html b/docs/features/dir-pseudo/index.html new file mode 100644 index 0000000000..e71a47d77e --- /dev/null +++ b/docs/features/dir-pseudo/index.html @@ -0,0 +1,168 @@ + + + + + :dir() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-12-07 (baseline low) + +
+ +

:dir()

+

The :dir() CSS functional pseudo-class matches elements by text direction, either right to left (rtl) or left to right (ltr).

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/dirname/index.html b/docs/features/dirname/index.html new file mode 100644 index 0000000000..b752276841 --- /dev/null +++ b/docs/features/dirname/index.html @@ -0,0 +1,174 @@ + + + + + dirname + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-08-01 (baseline low) + +
+ +

dirname

+

The dirname attribute of <textarea> and <input> HTML elements includes the field's writing direction as form data on submission.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/display-animation/index.html b/docs/features/display-animation/index.html new file mode 100644 index 0000000000..b695700691 --- /dev/null +++ b/docs/features/display-animation/index.html @@ -0,0 +1,165 @@ + + + + + display animation + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

display animation

+

You can animate elements between display: none and any other display value or animate between content-visibility: hidden and any other content-visibility value. This also applies to transitions.

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/document-picture-in-picture/index.html b/docs/features/document-picture-in-picture/index.html new file mode 100644 index 0000000000..50fcda32b1 --- /dev/null +++ b/docs/features/document-picture-in-picture/index.html @@ -0,0 +1,196 @@ + + + + + Document picture-in-picture + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Document picture-in-picture

+

The document picture-in-picture API creates an always-on-top window from arbitrary HTML content.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/edit-context/index.html b/docs/features/edit-context/index.html new file mode 100644 index 0000000000..78880e1656 --- /dev/null +++ b/docs/features/edit-context/index.html @@ -0,0 +1,320 @@ + + + + + EditContext + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

EditContext

+

The EditContext API allows you to build rich text editors that support advanced text input, such as Input Method Editor (IME) composition, an emoji picker, or other platform-specific editing UI.

+ +

Compatibility

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/exp-functions/index.html b/docs/features/exp-functions/index.html new file mode 100644 index 0000000000..7d9049a863 --- /dev/null +++ b/docs/features/exp-functions/index.html @@ -0,0 +1,184 @@ + + + + + pow(), sqrt(), hypot(), log(), and exp() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-12-07 (baseline low) + +
+ +

pow(), sqrt(), hypot(), log(), and exp()

+

The pow(), sqrt(), hypot(), log(), and exp() CSS functions compute various exponential functions.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/eyedropper/index.html b/docs/features/eyedropper/index.html new file mode 100644 index 0000000000..005b952359 --- /dev/null +++ b/docs/features/eyedropper/index.html @@ -0,0 +1,176 @@ + + + + + Eyedropper + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Eyedropper

+

The EyeDropper API opens an eyedropper tool, a color picker that allows users to select a color from their screen.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/fast-seek/index.html b/docs/features/fast-seek/index.html new file mode 100644 index 0000000000..d851c72fa4 --- /dev/null +++ b/docs/features/fast-seek/index.html @@ -0,0 +1,189 @@ + + + + + fastSeek() + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

fastSeek()

+

The fastSeek() method seeks an <audio> or <video> element as fast as possible, by seeking to a keyframe instead of exactly the requested time.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/fetch-metadata/index.html b/docs/features/fetch-metadata/index.html new file mode 100644 index 0000000000..de2eb62abf --- /dev/null +++ b/docs/features/fetch-metadata/index.html @@ -0,0 +1,180 @@ + + + + + Fetch metadata request headers + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-27 (baseline low) + +
+ +

Fetch metadata request headers

+

The Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site, and Sec-Fetch-User` HTTP headers provide extra information about the way a request was made, to help servers reject certain kinds of malicious requests.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/fetch-priority/index.html b/docs/features/fetch-priority/index.html new file mode 100644 index 0000000000..3ef4589402 --- /dev/null +++ b/docs/features/fetch-priority/index.html @@ -0,0 +1,188 @@ + + + + + Fetch priority + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Fetch priority

+

The fetch() priority option and the fetchPriority HTML attribute give hints to the browser about which requests to do before other requests of the same type.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/fetch/index.html b/docs/features/fetch/index.html new file mode 100644 index 0000000000..d9e1d2044c --- /dev/null +++ b/docs/features/fetch/index.html @@ -0,0 +1,304 @@ + + + + + Fetch (initial support) + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2019-09-27 (baseline high) +
+ +

Fetch (initial support)

+

The fetch() method makes asynchronous HTTP requests.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/field-sizing/index.html b/docs/features/field-sizing/index.html new file mode 100644 index 0000000000..e46393f43f --- /dev/null +++ b/docs/features/field-sizing/index.html @@ -0,0 +1,161 @@ + + + + + field-sizing + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

field-sizing

+

The field-sizing CSS property allows form controls such as <textarea> to be sized based on their content.

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/flexbox-gap/index.html b/docs/features/flexbox-gap/index.html new file mode 100644 index 0000000000..c18abceaa2 --- /dev/null +++ b/docs/features/flexbox-gap/index.html @@ -0,0 +1,161 @@ + + + + + Flexbox gap + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2023-10-26 (baseline high) +
+ +

Flexbox gap

+

The gap CSS property in a flexbox layout sets the size of the space between items.

+ +

Compatibility (view on caniuse.com)

+ + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/flexbox/index.html b/docs/features/flexbox/index.html new file mode 100644 index 0000000000..8eeea6424d --- /dev/null +++ b/docs/features/flexbox/index.html @@ -0,0 +1,230 @@ + + + + + Flexbox + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2023-03-22 (baseline high) +
+ +

Flexbox

+

Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/focus-visible/index.html b/docs/features/focus-visible/index.html new file mode 100644 index 0000000000..ea0cf832d3 --- /dev/null +++ b/docs/features/focus-visible/index.html @@ -0,0 +1,168 @@ + + + + + :focus-visible + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-03-14 (baseline low) + +
+ +

:focus-visible

+

The :focus-visible CSS pseudo-class selects elements that match the :focus pseudo-class and meets the browser's criteria for visually emphasizing focused elements.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/font-face/index.html b/docs/features/font-face/index.html new file mode 100644 index 0000000000..da9085ca88 --- /dev/null +++ b/docs/features/font-face/index.html @@ -0,0 +1,188 @@ + + + + + @font-face + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2019-03-20 (baseline high) +
+ +

@font-face

+

The @font-face CSS at-rule creates a custom font-family value. The at-rule's descriptors set the font's name, source, and various display settings.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + + + +
+ + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/font-optical-sizing/index.html b/docs/features/font-optical-sizing/index.html new file mode 100644 index 0000000000..63be7c5056 --- /dev/null +++ b/docs/features/font-optical-sizing/index.html @@ -0,0 +1,168 @@ + + + + + font-optical-sizing + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2022-06-17 (baseline high) +
+ +

font-optical-sizing

+

The font-optical-sizing CSS property sets whether text rendering is optimized for viewing at different sizes.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/font-palette-animation/index.html b/docs/features/font-palette-animation/index.html new file mode 100644 index 0000000000..3a12da907b --- /dev/null +++ b/docs/features/font-palette-animation/index.html @@ -0,0 +1,159 @@ + + + + + font-palette animation + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

font-palette animation

+

You can animate color fonts between two font-palette values.

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/font-palette/index.html b/docs/features/font-palette/index.html new file mode 100644 index 0000000000..b3aa2d5e62 --- /dev/null +++ b/docs/features/font-palette/index.html @@ -0,0 +1,204 @@ + + + + + font-palette + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-11-15 (baseline low) + +
+ +

font-palette

+

The font-palette CSS property selects a color palette from the font, optionally overriding individual colors in the @font-palette-values at-rule.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/font-size-adjust/index.html b/docs/features/font-size-adjust/index.html new file mode 100644 index 0000000000..d34ff22d29 --- /dev/null +++ b/docs/features/font-size-adjust/index.html @@ -0,0 +1,168 @@ + + + + + font-size-adjust + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

font-size-adjust

+

The font-size-adjust CSS property preserves apparent text size, regardless of the font used, by scaling fonts to the same size with respect to a specific metric, such as x-height. This can help make fallback fonts look the same size.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/font-synthesis-position/index.html b/docs/features/font-synthesis-position/index.html new file mode 100644 index 0000000000..bfa401e968 --- /dev/null +++ b/docs/features/font-synthesis-position/index.html @@ -0,0 +1,172 @@ + + + + + font-synthesis-position + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

font-synthesis-position

+

The font-synthesis-position CSS property sets whether or not the browser should synthesize subscript and superscript typefaces when they're missing from the font.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/font-synthesis-small-caps/index.html b/docs/features/font-synthesis-small-caps/index.html new file mode 100644 index 0000000000..c0f4325e8d --- /dev/null +++ b/docs/features/font-synthesis-small-caps/index.html @@ -0,0 +1,172 @@ + + + + + font-synthesis-small-caps + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-27 (baseline low) + +
+ +

font-synthesis-small-caps

+

The font-synthesis-small-caps CSS property sets whether or not the browser should synthesize small caps typefaces when they're missing from the font.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/font-synthesis-style/index.html b/docs/features/font-synthesis-style/index.html new file mode 100644 index 0000000000..f3587462e3 --- /dev/null +++ b/docs/features/font-synthesis-style/index.html @@ -0,0 +1,172 @@ + + + + + font-synthesis-style + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-27 (baseline low) + +
+ +

font-synthesis-style

+

The font-synthesis-style CSS property sets whether or not the browser should synthesize italic and oblique typefaces when they're missing from the font.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/font-synthesis-weight/index.html b/docs/features/font-synthesis-weight/index.html new file mode 100644 index 0000000000..ea65318d57 --- /dev/null +++ b/docs/features/font-synthesis-weight/index.html @@ -0,0 +1,172 @@ + + + + + font-synthesis-weight + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-27 (baseline low) + +
+ +

font-synthesis-weight

+

The font-synthesis-weight CSS property sets whether or not the browser should synthesize bold typefaces when they're missing from the font.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/font-synthesis/index.html b/docs/features/font-synthesis/index.html new file mode 100644 index 0000000000..3d7c7e2267 --- /dev/null +++ b/docs/features/font-synthesis/index.html @@ -0,0 +1,168 @@ + + + + + font-synthesis + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-01-06 (baseline low) + +
+ +

font-synthesis

+

The font-synthesis CSS shorthand property disables all font synthesis except the given kinds. To disable a specific kind of font synthesis, instead use the longhand properties such as font-synthesis-style and font-synthesis-weight.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/font-variant-alternates/index.html b/docs/features/font-variant-alternates/index.html new file mode 100644 index 0000000000..dd07133e4a --- /dev/null +++ b/docs/features/font-variant-alternates/index.html @@ -0,0 +1,234 @@ + + + + + font-variant-alternates + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-13 (baseline low) + +
+ +

font-variant-alternates

+

The font-variant-alternates CSS property, along with the @font-feature-values at-rule, chooses when to use a font's alternate glyphs.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/form-associated-custom-elements/index.html b/docs/features/form-associated-custom-elements/index.html new file mode 100644 index 0000000000..0e52b2781c --- /dev/null +++ b/docs/features/form-associated-custom-elements/index.html @@ -0,0 +1,208 @@ + + + + + Form-associated custom elements + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-27 (baseline low) + +
+ +

Form-associated custom elements

+

Custom elements may act like built-in form elements, via the the attachInternals() method of HTMLElement and the ElementInternals API.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/fullscreen/index.html b/docs/features/fullscreen/index.html new file mode 100644 index 0000000000..da733ccb48 --- /dev/null +++ b/docs/features/fullscreen/index.html @@ -0,0 +1,220 @@ + + + + + Fullscreen API + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Fullscreen API

+

The fullscreen API makes a specific element fill the whole screen and hides most browser UI.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/grid-animation/index.html b/docs/features/grid-animation/index.html new file mode 100644 index 0000000000..5130576817 --- /dev/null +++ b/docs/features/grid-animation/index.html @@ -0,0 +1,159 @@ + + + + + Grid animation + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-10-27 (baseline low) + +
+ +

Grid animation

+

Grid animation allows you to animate the grid-template-columns and grid-template-rows CSS properties.

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/grid/index.html b/docs/features/grid/index.html new file mode 100644 index 0000000000..23fcabd9e4 --- /dev/null +++ b/docs/features/grid/index.html @@ -0,0 +1,286 @@ + + + + + Grid + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2023-01-28 (baseline high) +
+ +

Grid

+

CSS Grid is a two-dimensional layout system, which lays content out in rows and columns.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/has/index.html b/docs/features/has/index.html new file mode 100644 index 0000000000..731b0a54fc --- /dev/null +++ b/docs/features/has/index.html @@ -0,0 +1,168 @@ + + + + + :has() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-12-19 (baseline low) + +
+ +

:has()

+

The :has() CSS functional pseudo-class matches an element if any of the selectors passed as parameters would match at least one element.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/hidden-until-found/index.html b/docs/features/hidden-until-found/index.html new file mode 100644 index 0000000000..2016e71df7 --- /dev/null +++ b/docs/features/hidden-until-found/index.html @@ -0,0 +1,182 @@ + + + + + hidden=&quot;until-found&quot; + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

hidden="until-found"

+

The hidden="until-found" attribute hides an element until it is found using the browser's find-in-page search or it is directly navigated to by following a URL fragment.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/highlight/index.html b/docs/features/highlight/index.html new file mode 100644 index 0000000000..ff40c7d2a3 --- /dev/null +++ b/docs/features/highlight/index.html @@ -0,0 +1,283 @@ + + + + + Custom highlights + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Custom highlights

+

Custom highlights style arbitrary text ranges, without adding extra elements to the DOM.

+ +

Compatibility

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/html-media-capture/index.html b/docs/features/html-media-capture/index.html new file mode 100644 index 0000000000..fecd502fd2 --- /dev/null +++ b/docs/features/html-media-capture/index.html @@ -0,0 +1,170 @@ + + + + + HTML media capture + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

HTML media capture

+

The capture HTML attribute for <input type="file"> elements allows the user to capture media using the device's camera or microphone.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/http11/index.html b/docs/features/http11/index.html new file mode 100644 index 0000000000..107a553f1a --- /dev/null +++ b/docs/features/http11/index.html @@ -0,0 +1,168 @@ + + + + + HTTP/1.1 + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-01-29 (baseline high) +
+ +

HTTP/1.1

+

HTTP/1.1 is a network protocol used by browsers and servers. It has been superseded by HTTP/2 and HTTP/3.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/http2/index.html b/docs/features/http2/index.html new file mode 100644 index 0000000000..e9683ec03d --- /dev/null +++ b/docs/features/http2/index.html @@ -0,0 +1,155 @@ + + + + + HTTP/2 + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-03-30 (baseline high) +
+ +

HTTP/2

+

The HTTP/2 protocol is a major revision of the HTTP network protocol, providing improved performance and efficiency by using a single TCP connection to send multiple streams of data at once.

+ +

Compatibility (view on caniuse.com)

+ + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/http3/index.html b/docs/features/http3/index.html new file mode 100644 index 0000000000..422354361c --- /dev/null +++ b/docs/features/http3/index.html @@ -0,0 +1,155 @@ + + + + + HTTP/3 + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

HTTP/3

+

HTTP/3 is a major revision of the HTTP network protocol, providing improved performance and efficiency by using QUIC as the underlying transport protocol.

+ +

Compatibility (view on caniuse.com)

+ + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/hyphens/index.html b/docs/features/hyphens/index.html new file mode 100644 index 0000000000..db0d5d13ac --- /dev/null +++ b/docs/features/hyphens/index.html @@ -0,0 +1,168 @@ + + + + + Hyphenation + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-09-18 (baseline low) + +
+ +

Hyphenation

+

The hyphens CSS property controls when long words are broken by line wrapping. Although called hyphens, the property applies to word-splitting behavior across languages, such as customary spelling changes or the use of other characters to mark an intraword line break.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/ic/index.html b/docs/features/ic/index.html new file mode 100644 index 0000000000..7367c02a79 --- /dev/null +++ b/docs/features/ic/index.html @@ -0,0 +1,157 @@ + + + + + ic unit + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-10-03 (baseline low) + +
+ +

ic unit

+

The CSS ic unit corresponds to the width of CJK ideographic characters.

+ +

Compatibility

+ + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/idle-detection/index.html b/docs/features/idle-detection/index.html new file mode 100644 index 0000000000..097b42da4c --- /dev/null +++ b/docs/features/idle-detection/index.html @@ -0,0 +1,200 @@ + + + + + Idle detection + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Idle detection

+

The IdleDetector API is used to notify a webpage of the user's idle, active, and locked state.

+ +

Compatibility

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/image-set/index.html b/docs/features/image-set/index.html new file mode 100644 index 0000000000..86f9328512 --- /dev/null +++ b/docs/features/image-set/index.html @@ -0,0 +1,176 @@ + + + + + image-set() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-09-18 (baseline low) + +
+ +

image-set()

+

The image-set() CSS function provides a set of images at different resolutions or pixel densities, which the browser can pick from, depending on the device capabilities.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/import-maps/index.html b/docs/features/import-maps/index.html new file mode 100644 index 0000000000..7a96a00d41 --- /dev/null +++ b/docs/features/import-maps/index.html @@ -0,0 +1,157 @@ + + + + + Import maps + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-27 (baseline low) + +
+ +

Import maps

+

A <script type="importmap"> HTML element provides an import map as a JSON string. An import map controls how the browser should resolve module specifiers when importing JavaScript modules.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/indeterminate/index.html b/docs/features/indeterminate/index.html new file mode 100644 index 0000000000..256052806e --- /dev/null +++ b/docs/features/indeterminate/index.html @@ -0,0 +1,176 @@ + + + + + :indeterminate + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2022-07-15 (baseline high) +
+ +

:indeterminate

+

The :indeterminate CSS pseudo-class selects any form element whose state is indeterminate, such as checkboxes that have been set to an indeterminate state with JavaScript, or radio buttons which are members of a group in which all radio buttons are unchecked.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/individual-transforms/index.html b/docs/features/individual-transforms/index.html new file mode 100644 index 0000000000..08d441b3a4 --- /dev/null +++ b/docs/features/individual-transforms/index.html @@ -0,0 +1,176 @@ + + + + + Individual transform properties + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-08-05 (baseline low) + +
+ +

Individual transform properties

+

Transform elements with separate translate, rotate, and scale CSS properties.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/inert/index.html b/docs/features/inert/index.html new file mode 100644 index 0000000000..53ab436d5f --- /dev/null +++ b/docs/features/inert/index.html @@ -0,0 +1,176 @@ + + + + + Inert elements + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-04-11 (baseline low) + +
+ +

Inert elements

+

The inert HTML attribute marks an element and its descendants as non-interactive. Inert elements don't get focus or fire click events.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/input-event/index.html b/docs/features/input-event/index.html new file mode 100644 index 0000000000..41e971a4e2 --- /dev/null +++ b/docs/features/input-event/index.html @@ -0,0 +1,196 @@ + + + + + input event + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-27 (baseline low) + +
+ +

input event

+

The input event fires when a form control changes or an element with the contenteditable attribute changes.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/intersection-observer-v2/index.html b/docs/features/intersection-observer-v2/index.html new file mode 100644 index 0000000000..9cc6aae9b4 --- /dev/null +++ b/docs/features/intersection-observer-v2/index.html @@ -0,0 +1,155 @@ + + + + + Intersection observer visibility tracking + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Intersection observer visibility tracking

+

The trackVisibility parameter for the IntersectionObserver constructor enables tracking the visibility of an element, to detect if it may be obscured by other content or visual effects. Also known as IntersectionObserver v2.

+ +

Compatibility (view on caniuse.com)

+ + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/intersection-observer/index.html b/docs/features/intersection-observer/index.html new file mode 100644 index 0000000000..ee612870d2 --- /dev/null +++ b/docs/features/intersection-observer/index.html @@ -0,0 +1,232 @@ + + + + + Intersection observer + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2021-09-25 (baseline high) +
+ +

Intersection observer

+

The Intersection Observer API asynchronously observes changes in the intersection of a target element with an ancestor element or with a top-level document's viewport.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/is/index.html b/docs/features/is/index.html new file mode 100644 index 0000000000..fe71547263 --- /dev/null +++ b/docs/features/is/index.html @@ -0,0 +1,172 @@ + + + + + :is() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2023-07-21 (baseline high) +
+ +

:is()

+

The :is() CSS functional pseudo-class takes a selector list as its argument, and matches any element that can be selected by one of the selectors in that list.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/jpegxl/index.html b/docs/features/jpegxl/index.html new file mode 100644 index 0000000000..0fae6ce021 --- /dev/null +++ b/docs/features/jpegxl/index.html @@ -0,0 +1,155 @@ + + + + + JPEG XL + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

JPEG XL

+

The JPEG XL image format is a raster graphics file format that supports animation, alpha transparency, and lossy as well as lossless compression.

+ +

Compatibility (view on caniuse.com)

+ + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/js-modules-service-workers/index.html b/docs/features/js-modules-service-workers/index.html new file mode 100644 index 0000000000..d6cab27201 --- /dev/null +++ b/docs/features/js-modules-service-workers/index.html @@ -0,0 +1,159 @@ + + + + + JavaScript modules in service workers + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

JavaScript modules in service workers

+

The navigator.serviceWorker.register() method accepts { type: "module" } to load scripts that use import and export. Also known as ECMAScript modules or ESM in service workers.

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/js-modules-shared-workers/index.html b/docs/features/js-modules-shared-workers/index.html new file mode 100644 index 0000000000..d773e91f78 --- /dev/null +++ b/docs/features/js-modules-shared-workers/index.html @@ -0,0 +1,157 @@ + + + + + JavaScript modules in shared workers + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

JavaScript modules in shared workers

+

The SharedWorker() constructor accepts { type: "module" } to load scripts that use import and export. Also known as ECMAScript modules or ESM in shared workers.

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/js-modules-workers/index.html b/docs/features/js-modules-workers/index.html new file mode 100644 index 0000000000..f20ce057da --- /dev/null +++ b/docs/features/js-modules-workers/index.html @@ -0,0 +1,163 @@ + + + + + JavaScript modules in workers + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-06-06 (baseline low) + +
+ +

JavaScript modules in workers

+

The Worker() constructor accepts { type: "module" } to load scripts that use import and export. Also known as ECMAScript modules or ESM in workers.

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/js-modules/index.html b/docs/features/js-modules/index.html new file mode 100644 index 0000000000..eb6f8b070b --- /dev/null +++ b/docs/features/js-modules/index.html @@ -0,0 +1,182 @@ + + + + + JavaScript modules + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2020-11-09 (baseline high) +
+ +

JavaScript modules

+

JavaScript modules allow code to be organized into reusable units. Modules use import to load other modules and export to declare what is available to import from other modules. In HTML, modules are loaded with <script type="module">.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/lab/index.html b/docs/features/lab/index.html new file mode 100644 index 0000000000..fd31abfa57 --- /dev/null +++ b/docs/features/lab/index.html @@ -0,0 +1,172 @@ + + + + + Lab and LCH + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-05-09 (baseline low) + +
+ +

Lab and LCH

+

The CIE Lab color space expresses colors in terms of lightness and how red/green and blue/yellow a color is. LCH is a variant of Lab with polar coordinates. These color spaces can be used with the CSS color(), lab(), and lch() functions. Also known as CIELAB and CIELCH.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/lh/index.html b/docs/features/lh/index.html new file mode 100644 index 0000000000..16a382b0d7 --- /dev/null +++ b/docs/features/lh/index.html @@ -0,0 +1,157 @@ + + + + + lh unit + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-11-21 (baseline low) + +
+ +

lh unit

+

The CSS lh unit corresponds to the requested line height, the computed value of the line-height property. Some lines may be higher than this based on their content.

+ +

Compatibility

+ + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/light-dark/index.html b/docs/features/light-dark/index.html new file mode 100644 index 0000000000..47822fadbc --- /dev/null +++ b/docs/features/light-dark/index.html @@ -0,0 +1,168 @@ + + + + + light-dark() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2024-05-13 (baseline low) + +
+ +

light-dark()

+

The light-dark() CSS function accepts two colors and uses one depending on the current color scheme.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/line-clamp/index.html b/docs/features/line-clamp/index.html new file mode 100644 index 0000000000..03a5e00d6a --- /dev/null +++ b/docs/features/line-clamp/index.html @@ -0,0 +1,168 @@ + + + + + line-clamp + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

line-clamp

+

The line-clamp CSS property limits the text in a block container to a certain number of lines. The prefixed -webkit-line-clamp is widely supported but only works with -webkit-box-orient: vertical in combination with display: -webkit-box or display: -webkit-inline-box.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/linear-easing/index.html b/docs/features/linear-easing/index.html new file mode 100644 index 0000000000..36fd31e9ff --- /dev/null +++ b/docs/features/linear-easing/index.html @@ -0,0 +1,157 @@ + + + + + linear() easing + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-12-11 (baseline low) + +
+ +

linear() easing

+

The linear() easing function for animations and transitions interpolates linearly between the control points, and can be used to approximate complex easing functions, such as a bounce effect.

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/loading-lazy/index.html b/docs/features/loading-lazy/index.html new file mode 100644 index 0000000000..fe26a71e8f --- /dev/null +++ b/docs/features/loading-lazy/index.html @@ -0,0 +1,176 @@ + + + + + Lazy-loading images and iframes + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-12-19 (baseline low) + +
+ +

Lazy-loading images and iframes

+

The loading="lazy" attribute for <img> and <iframe> elements blocks loading the external resource until the user scrolls to that element's part of the page.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/managed-media-source/index.html b/docs/features/managed-media-source/index.html new file mode 100644 index 0000000000..46bb07636c --- /dev/null +++ b/docs/features/managed-media-source/index.html @@ -0,0 +1,169 @@ + + + + + Managed media source + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Managed media source

+

The ManagedMediaSource API is a MediaSource where the browser manages the memory of source buffers and may evict data if needed.

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/map/index.html b/docs/features/map/index.html new file mode 100644 index 0000000000..e9e32ae2cd --- /dev/null +++ b/docs/features/map/index.html @@ -0,0 +1,252 @@ + + + + + Map (initial support) + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-01-29 (baseline high) +
+ +

Map (initial support)

+

Map objects hold key-value pairs and remember the original insertion order of the keys.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/margin-trim/index.html b/docs/features/margin-trim/index.html new file mode 100644 index 0000000000..e214c6c2ce --- /dev/null +++ b/docs/features/margin-trim/index.html @@ -0,0 +1,217 @@ + + + + + margin-trim + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

margin-trim

+

The margin-trim CSS property removes the margins of child elements when they meet the edges of the container.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/masks/index.html b/docs/features/masks/index.html new file mode 100644 index 0000000000..eb9ba97235 --- /dev/null +++ b/docs/features/masks/index.html @@ -0,0 +1,200 @@ + + + + + Masks + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-12-07 (baseline low) + +
+ +

Masks

+

The mask CSS property (and several longhand properties) partially or completely hides an element according to the shape and depth of an image.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/masonry/index.html b/docs/features/masonry/index.html new file mode 100644 index 0000000000..5cded5672d --- /dev/null +++ b/docs/features/masonry/index.html @@ -0,0 +1,231 @@ + + + + + Masonry + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Masonry

+

Masonry is a type of CSS grid layout where the items on one of the axes are tightly packed together, like brickwork, instead of leaving gaps to align across the other axis.

+ +

Compatibility

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/mathml/index.html b/docs/features/mathml/index.html new file mode 100644 index 0000000000..abdcfa8d40 --- /dev/null +++ b/docs/features/mathml/index.html @@ -0,0 +1,155 @@ + + + + + MathML + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-01-12 (baseline low) + +
+ +

MathML

+

MathML, or the Mathematical Markup Language, describes mathematical notation, such as expressions and formulas. Also known as MathML Core.

+ +

Compatibility (view on caniuse.com)

+ + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/media-capture/index.html b/docs/features/media-capture/index.html new file mode 100644 index 0000000000..bb35ffc23d --- /dev/null +++ b/docs/features/media-capture/index.html @@ -0,0 +1,232 @@ + + + + + Media capture + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2020-03-19 (baseline high) +
+ +

Media capture

+

The navigator.mediaDevices.getUserMedia() API requests access to devices that produce audio or video streams, such as microphones or video cameras.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/media-pseudos/index.html b/docs/features/media-pseudos/index.html new file mode 100644 index 0000000000..ae919763d3 --- /dev/null +++ b/docs/features/media-pseudos/index.html @@ -0,0 +1,205 @@ + + + + + Media element pseudo-classes + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Media element pseudo-classes

+

The :playing, :paused, :seeking, :buffering, :stalled, :muted, and :volume-locked CSS pseudo-classes match <audio> and <video> elements based on their state.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/media-query-range-syntax/index.html b/docs/features/media-query-range-syntax/index.html new file mode 100644 index 0000000000..309b99dcee --- /dev/null +++ b/docs/features/media-query-range-syntax/index.html @@ -0,0 +1,168 @@ + + + + + Media query range syntax + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-27 (baseline low) + +
+ +

Media query range syntax

+

The range syntax of CSS media queries allows you to use mathematical comparison operators such as <, >, <=, and >= to define a range of values for a media feature. For example, (400px < width < 1000px) returns true if the viewport width is between 400px and 1000px.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/media-session/index.html b/docs/features/media-session/index.html new file mode 100644 index 0000000000..bd97cdf78b --- /dev/null +++ b/docs/features/media-session/index.html @@ -0,0 +1,220 @@ + + + + + Media session + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Media session

+

The navigator.mediaSession API integrates with platform UI for media playback. It can be used to set metadata such as title and artwork, and to handle user actions like playing, pausing, or seeking.

+ +

Compatibility

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/media-source/index.html b/docs/features/media-source/index.html new file mode 100644 index 0000000000..63edb75fcc --- /dev/null +++ b/docs/features/media-source/index.html @@ -0,0 +1,176 @@ + + + + + Media source + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Media source

+

The MediaSource API is a custom data source for media elements commonly used for adaptive streaming. Also known as Media Source Extensions (MSE).

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/messageerror/index.html b/docs/features/messageerror/index.html new file mode 100644 index 0000000000..8ffb1602c0 --- /dev/null +++ b/docs/features/messageerror/index.html @@ -0,0 +1,182 @@ + + + + + messageerror + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-27 (baseline low) + +
+ +

messageerror

+

The messageerror event fires on a target, such as a window or worker, when an incoming message cannot be deserialized. This event can fire for many types of messages, such as cross-document messages or broadcast channel messages.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/min-max-clamp/index.html b/docs/features/min-max-clamp/index.html new file mode 100644 index 0000000000..d0bf6d53db --- /dev/null +++ b/docs/features/min-max-clamp/index.html @@ -0,0 +1,176 @@ + + + + + min(), max(), and clamp() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2023-01-28 (baseline high) +
+ +

min(), max(), and clamp()

+

The min() and max() CSS functions return the minimum or maximum of the arguments, while clamp() clamps a value to a given range.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/modal/index.html b/docs/features/modal/index.html new file mode 100644 index 0000000000..b21752eb02 --- /dev/null +++ b/docs/features/modal/index.html @@ -0,0 +1,168 @@ + + + + + :modal + + + + + +
web-features explorer
+ + + +
+ + +
+ + + + + diff --git a/docs/features/modulepreload/index.html b/docs/features/modulepreload/index.html new file mode 100644 index 0000000000..06c9cd8a38 --- /dev/null +++ b/docs/features/modulepreload/index.html @@ -0,0 +1,168 @@ + + + + + &lt;link rel=&quot;modulepreload&quot;&gt; + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-09-18 (baseline low) + +
+ +

<link rel="modulepreload">

+

The rel="modulepreload" attribute for the <link> HTML element indicates that a module script should be fetched, parsed, and compiled preemptively, and stored for later execution.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/motion-path/index.html b/docs/features/motion-path/index.html new file mode 100644 index 0000000000..22ee4aca65 --- /dev/null +++ b/docs/features/motion-path/index.html @@ -0,0 +1,186 @@ + + + + + Motion path + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-08-21 (baseline low) + +
+ +

Motion path

+

The offset CSS property animates an element along a defined motion path.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/navigation/index.html b/docs/features/navigation/index.html new file mode 100644 index 0000000000..36fe595629 --- /dev/null +++ b/docs/features/navigation/index.html @@ -0,0 +1,378 @@ + + + + + Navigation API + + + + + +
web-features explorer
+ + + +
+ + +
+ + + + + diff --git a/docs/features/nesting/index.html b/docs/features/nesting/index.html new file mode 100644 index 0000000000..a5f11b37ec --- /dev/null +++ b/docs/features/nesting/index.html @@ -0,0 +1,184 @@ + + + + + Nesting + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-12-11 (baseline low) + +
+ +

Nesting

+

CSS nesting allows for shorter selectors, easier reading, and more modularity by nesting rules inside others.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/notifications/index.html b/docs/features/notifications/index.html new file mode 100644 index 0000000000..559584a327 --- /dev/null +++ b/docs/features/notifications/index.html @@ -0,0 +1,155 @@ + + + + + Notifications + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Notifications

+

The notifications API sends system notifications to the user, often even when the page or browser is not the foreground application.

+ +

Compatibility (view on caniuse.com)

+ + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/nth-child-of/index.html b/docs/features/nth-child-of/index.html new file mode 100644 index 0000000000..a66649baf1 --- /dev/null +++ b/docs/features/nth-child-of/index.html @@ -0,0 +1,161 @@ + + + + + :nth-child() of &lt;selector&gt; + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-05-09 (baseline low) + +
+ +

:nth-child() of <selector>

+

The of syntax for the :nth-child() and :nth-last-child() CSS functional pseudo-classes match elements by the relative position of elements, counted from the first or last sibling matching a selector list.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/nth-child/index.html b/docs/features/nth-child/index.html new file mode 100644 index 0000000000..1574204e18 --- /dev/null +++ b/docs/features/nth-child/index.html @@ -0,0 +1,174 @@ + + + + + :nth-child() (initial support) + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-01-29 (baseline high) +
+ +

:nth-child() (initial support)

+

The :nth-child() and :nth-last-child() CSS functional pseudo-classes match elements by the relative position of elements (first, second, third, fourth, and so on), counted from the first or last sibling.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/offscreen-canvas/index.html b/docs/features/offscreen-canvas/index.html new file mode 100644 index 0000000000..52abe180b8 --- /dev/null +++ b/docs/features/offscreen-canvas/index.html @@ -0,0 +1,320 @@ + + + + + Offscreen canvas + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-27 (baseline low) + +
+ +

Offscreen canvas

+

The OffscreenCanvas API provides a canvas that can be drawn to off screen, with no dependencies on the DOM, which can be used to run heavy rendering operations inside a worker context.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/oklab/index.html b/docs/features/oklab/index.html new file mode 100644 index 0000000000..0e8acc79e8 --- /dev/null +++ b/docs/features/oklab/index.html @@ -0,0 +1,172 @@ + + + + + Oklab and Oklch + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-05-09 (baseline low) + +
+ +

Oklab and Oklch

+

The Oklab color space expresses colors in terms of lightness and how red/green and blue/yellow a color is, aiming to match how humans perceive colors. Oklch is a variant of Oklab with polar coordinates. These color spaces can be used with the CSS color(), oklab(), and oklch() functions.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/origin-private-file-system/index.html b/docs/features/origin-private-file-system/index.html new file mode 100644 index 0000000000..ee698d6472 --- /dev/null +++ b/docs/features/origin-private-file-system/index.html @@ -0,0 +1,256 @@ + + + + + Origin private file system + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-14 (baseline low) + +
+ +

Origin private file system

+

The navigator.storage.getDirectory() method returns a FileSystemDirectoryHandle that is restricted to a specific origin and invisible to the user's actual file system for faster file-based applications, such as SQLite databases.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/overflow-shorthand/index.html b/docs/features/overflow-shorthand/index.html new file mode 100644 index 0000000000..d46edbee4d --- /dev/null +++ b/docs/features/overflow-shorthand/index.html @@ -0,0 +1,190 @@ + + + + + overflow + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-09-12 (baseline low) + +
+ +

overflow

+

The overflow CSS property sets the behavior for when content doesn't fit in an element.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/page-breaks/index.html b/docs/features/page-breaks/index.html new file mode 100644 index 0000000000..3bc9544d06 --- /dev/null +++ b/docs/features/page-breaks/index.html @@ -0,0 +1,232 @@ + + + + + Page breaks + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Page breaks

+

The break-after, break-before, break-inside CSS properties (along with page-break- aliases) control where printed pages start and end. Also known as pagination or page breaking.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/paint/index.html b/docs/features/paint/index.html new file mode 100644 index 0000000000..961ff4e332 --- /dev/null +++ b/docs/features/paint/index.html @@ -0,0 +1,180 @@ + + + + + paint() + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

paint()

+

The paint() CSS function creates a custom image, drawn using a paint worklet, for an element's background or border.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/parse-html-unsafe/index.html b/docs/features/parse-html-unsafe/index.html new file mode 100644 index 0000000000..e7727a51f5 --- /dev/null +++ b/docs/features/parse-html-unsafe/index.html @@ -0,0 +1,161 @@ + + + + + Unsanitized HTML parsing methods + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2024-04-18 (baseline low) + +
+ +

Unsanitized HTML parsing methods

+

The Document.parseHTMLUnsafe() static method parses HTML into a DOM tree, while the setHTMLUnsafe() method of Element and ShadowRoot parses and inserts HTML into an existing tree. No sanitization applies to these methods, so never call them with user-provided HTML strings.

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/permissions/index.html b/docs/features/permissions/index.html new file mode 100644 index 0000000000..873f078ca1 --- /dev/null +++ b/docs/features/permissions/index.html @@ -0,0 +1,184 @@ + + + + + Permissions + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-09-12 (baseline low) + +
+ +

Permissions

+

The navigator.permissions API checks whether a permission, such as access to geolocation data, has been granted.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/picture-in-picture/index.html b/docs/features/picture-in-picture/index.html new file mode 100644 index 0000000000..eac09bfc45 --- /dev/null +++ b/docs/features/picture-in-picture/index.html @@ -0,0 +1,228 @@ + + + + + Picture-in-picture (video) + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Picture-in-picture (video)

+

The picture-in-picture API allow websites to create a floating, always-on-top video window. Also known as PiP or pop-out video.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/pointer-lock/index.html b/docs/features/pointer-lock/index.html new file mode 100644 index 0000000000..b8315e3ad0 --- /dev/null +++ b/docs/features/pointer-lock/index.html @@ -0,0 +1,192 @@ + + + + + Pointer lock + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Pointer lock

+

Provides access to raw mouse movement by locking the target of mouse events to a single element and hiding the mouse cursor.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/popover/index.html b/docs/features/popover/index.html new file mode 100644 index 0000000000..2521c5a2e0 --- /dev/null +++ b/docs/features/popover/index.html @@ -0,0 +1,254 @@ + + + + + Popover + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2024-04-16 (baseline low) + +
+ +

Popover

+

The popover HTML attribute creates an overlay to display content on top of other page content. Popovers can be shown declaratively using HTML, or using the showPopover() method.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/prefers-color-scheme/index.html b/docs/features/prefers-color-scheme/index.html new file mode 100644 index 0000000000..575a9ddf2b --- /dev/null +++ b/docs/features/prefers-color-scheme/index.html @@ -0,0 +1,168 @@ + + + + + prefers-color-scheme + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2022-07-15 (baseline high) +
+ +

prefers-color-scheme

+

The prefers-color-scheme CSS media query detects the requested color scheme, light or dark.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/preloading-responsive-images/index.html b/docs/features/preloading-responsive-images/index.html new file mode 100644 index 0000000000..30a430e538 --- /dev/null +++ b/docs/features/preloading-responsive-images/index.html @@ -0,0 +1,163 @@ + + + + + Preloading responsive images + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-12-11 (baseline low) + +
+ +

Preloading responsive images

+

The imagesrcset and imagesizes attributes with the rel="preload" attribute for the <link> HTML element starts fetching responsive images before they're found in the body of the document.

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/preserves-pitch/index.html b/docs/features/preserves-pitch/index.html new file mode 100644 index 0000000000..a836c69110 --- /dev/null +++ b/docs/features/preserves-pitch/index.html @@ -0,0 +1,168 @@ + + + + + preservesPitch + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-12-11 (baseline low) + +
+ +

preservesPitch

+

The preservesPitch property for <audio> or <video> adjusts the pitch of audio to sound more natural when the playback rate is faster or slower than the default.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/print-events/index.html b/docs/features/print-events/index.html new file mode 100644 index 0000000000..aaecc3d10b --- /dev/null +++ b/docs/features/print-events/index.html @@ -0,0 +1,174 @@ + + + + + Print events + + + + + +
web-features explorer
+ + + +
+ + +
+ + + + + diff --git a/docs/features/print/index.html b/docs/features/print/index.html new file mode 100644 index 0000000000..a438463b60 --- /dev/null +++ b/docs/features/print/index.html @@ -0,0 +1,168 @@ + + + + + window.print() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-06-06 (baseline low) + +
+ +

window.print()

+

The window.print() method opens the browser's print dialog.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/promise-allsettled/index.html b/docs/features/promise-allsettled/index.html new file mode 100644 index 0000000000..c6cbe4ab06 --- /dev/null +++ b/docs/features/promise-allsettled/index.html @@ -0,0 +1,168 @@ + + + + + Promise.allSettled() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2023-01-28 (baseline high) +
+ +

Promise.allSettled()

+

The Promise.allSettled() static method waits for an array of promises to settle (resolve or reject).

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/promise-any/index.html b/docs/features/promise-any/index.html new file mode 100644 index 0000000000..5a20203bd4 --- /dev/null +++ b/docs/features/promise-any/index.html @@ -0,0 +1,168 @@ + + + + + Promise.any() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2023-03-16 (baseline high) +
+ +

Promise.any()

+

The Promise.any() static method returns a promise that fulfills as soon as the first of an iterable of promises fulfills, with that promise's value. Otherwise, it rejects with an AggregateError when all of the promises have rejected.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/promise-finally/index.html b/docs/features/promise-finally/index.html new file mode 100644 index 0000000000..1fafb866ac --- /dev/null +++ b/docs/features/promise-finally/index.html @@ -0,0 +1,168 @@ + + + + + Promise finally() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2021-04-02 (baseline high) +
+ +

Promise finally()

+

The promise finally() method executes a function when the promise settles (resolves or rejects).

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/promise-withresolvers/index.html b/docs/features/promise-withresolvers/index.html new file mode 100644 index 0000000000..7b7e72ee92 --- /dev/null +++ b/docs/features/promise-withresolvers/index.html @@ -0,0 +1,168 @@ + + + + + Promise.withResolvers() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2024-03-05 (baseline low) + +
+ +

Promise.withResolvers()

+

The Promise.withResolvers() static method is an alternative to the Promise() constructor that returns both the promise and resolution functions. You can use this to access resolve and reject outside the scope of the executor function.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/promise/index.html b/docs/features/promise/index.html new file mode 100644 index 0000000000..61552a2c18 --- /dev/null +++ b/docs/features/promise/index.html @@ -0,0 +1,216 @@ + + + + + Promise (initial support) + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-01-29 (baseline high) +
+ +

Promise (initial support)

+

A promise represents an asynchronous operation which eventually succeeds or fails.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/push/index.html b/docs/features/push/index.html new file mode 100644 index 0000000000..567588e3cf --- /dev/null +++ b/docs/features/push/index.html @@ -0,0 +1,236 @@ + + + + + Push messages + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-27 (baseline low) + +
+ +

Push messages

+

The Push API subscribes to and receives server-initiated messages. Subscribers receive pushed messages in the background, even after periods inactive or offline.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/read-write-pseudos/index.html b/docs/features/read-write-pseudos/index.html new file mode 100644 index 0000000000..d242d293af --- /dev/null +++ b/docs/features/read-write-pseudos/index.html @@ -0,0 +1,174 @@ + + + + + :read-only and :read-write + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2023-01-28 (baseline high) +
+ +

:read-only and :read-write

+

The :read-only and :read-write CSS pseudo-classes match elements that are read-only or read-write, respectively. For example, :read-only matches <input> and <textarea> elements with the readonly attribute.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/registered-custom-properties/index.html b/docs/features/registered-custom-properties/index.html new file mode 100644 index 0000000000..57af8ada0c --- /dev/null +++ b/docs/features/registered-custom-properties/index.html @@ -0,0 +1,208 @@ + + + + + Registered custom properties + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Registered custom properties

+

The CSS.registerProperty() static method and the @property CSS at-rule register custom properties for which types and behaviors can be defined.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/relative-color/index.html b/docs/features/relative-color/index.html new file mode 100644 index 0000000000..443800f3db --- /dev/null +++ b/docs/features/relative-color/index.html @@ -0,0 +1,173 @@ + + + + + Relative colors + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Relative colors

+

The from keyword for color functions (color(), hsl(), oklch(), etc.) creates a new color based on a given color by modifying the values of the input color. Also known as relative color syntax (RCS).

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/request-animation-frame-workers/index.html b/docs/features/request-animation-frame-workers/index.html new file mode 100644 index 0000000000..7b7f0b7556 --- /dev/null +++ b/docs/features/request-animation-frame-workers/index.html @@ -0,0 +1,172 @@ + + + + + requestAnimationFrame() in workers + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-27 (baseline low) + +
+ +

requestAnimationFrame() in workers

+

The requestAnimationFrame() method in workers schedules a function that runs before the next repaint. Together with offscreen canvas, you can animate content from a worker.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/request-animation-frame/index.html b/docs/features/request-animation-frame/index.html new file mode 100644 index 0000000000..0c5707efc5 --- /dev/null +++ b/docs/features/request-animation-frame/index.html @@ -0,0 +1,172 @@ + + + + + requestAnimationFrame() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-01-29 (baseline high) +
+ +

requestAnimationFrame()

+

The requestAnimationFrame() method schedules a function that runs before the next repaint. You can use it to animate content with JavaScript.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/request-video-frame-callback/index.html b/docs/features/request-video-frame-callback/index.html new file mode 100644 index 0000000000..12b93c2d08 --- /dev/null +++ b/docs/features/request-video-frame-callback/index.html @@ -0,0 +1,186 @@ + + + + + requestVideoFrameCallback() + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

requestVideoFrameCallback()

+

The requestVideoFrameCallback() method for <video> schedules a function that runs with the next video frame. It is similar to requestAnimationFrame(), but for video.

+ +

Compatibility

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/resource-size/index.html b/docs/features/resource-size/index.html new file mode 100644 index 0000000000..599c94ee02 --- /dev/null +++ b/docs/features/resource-size/index.html @@ -0,0 +1,180 @@ + + + + + Resource size + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-27 (baseline low) + +
+ +

Resource size

+

The decodedSize, encodedSize, and transferSize properties of the PerformanceResourceTiming API reports the size of resources loaded.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/resource-timing/index.html b/docs/features/resource-timing/index.html new file mode 100644 index 0000000000..83325f92fe --- /dev/null +++ b/docs/features/resource-timing/index.html @@ -0,0 +1,212 @@ + + + + + Resource timing (initial support) + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2020-03-19 (baseline high) +
+ +

Resource timing (initial support)

+

PerformanceResourceTiming entries report when network events happen while loading a resource, such as when connections start and end. You can use this information to measure loading times.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/round-mod-rem/index.html b/docs/features/round-mod-rem/index.html new file mode 100644 index 0000000000..b75dd50007 --- /dev/null +++ b/docs/features/round-mod-rem/index.html @@ -0,0 +1,176 @@ + + + + + round(), mod(), and rem() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2024-05-17 (baseline low) + +
+ +

round(), mod(), and rem()

+

The round(), mod(), and rem() CSS functions compute rounded values and the remainder after division.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/scheduler/index.html b/docs/features/scheduler/index.html new file mode 100644 index 0000000000..17b4b5a440 --- /dev/null +++ b/docs/features/scheduler/index.html @@ -0,0 +1,208 @@ + + + + + Scheduler API + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Scheduler API

+

The scheduler API provides a way to prioritize all tasks belonging to an application.

+ +

Compatibility

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/scope/index.html b/docs/features/scope/index.html new file mode 100644 index 0000000000..4dd4e95b2d --- /dev/null +++ b/docs/features/scope/index.html @@ -0,0 +1,174 @@ + + + + + @scope + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

@scope

+

The @scope CSS at-rule sets the scope for a group of rules.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/screen-orientation-lock/index.html b/docs/features/screen-orientation-lock/index.html new file mode 100644 index 0000000000..3191acacaf --- /dev/null +++ b/docs/features/screen-orientation-lock/index.html @@ -0,0 +1,172 @@ + + + + + Screen orientation lock + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Screen orientation lock

+

The screen.orientation.lock() method prevents changes to the screen orientation, typically in fullscreen applications such as games. For example, while locked, rotating a phone to the side won't change the screen orientation from landscape to portrait.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/screen-orientation/index.html b/docs/features/screen-orientation/index.html new file mode 100644 index 0000000000..f070abcdd6 --- /dev/null +++ b/docs/features/screen-orientation/index.html @@ -0,0 +1,182 @@ + + + + + Screen orientation + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-27 (baseline low) + +
+ +

Screen orientation

+

The screen.orientation API gets information about the orientation of the viewport, such as landscape or portrait. With this API, you can adapt an application's layout or behavior in response to changes in orientation.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/scroll-driven-animations/index.html b/docs/features/scroll-driven-animations/index.html new file mode 100644 index 0000000000..2206badb9b --- /dev/null +++ b/docs/features/scroll-driven-animations/index.html @@ -0,0 +1,284 @@ + + + + + Scroll-driven animations + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Scroll-driven animations

+

CSS scroll-driven animations are a type of CSS animations that don't run over time, but are instead driven by the user's scroll position.

+ +

Compatibility

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/scroll-into-view/index.html b/docs/features/scroll-into-view/index.html new file mode 100644 index 0000000000..becf70f558 --- /dev/null +++ b/docs/features/scroll-into-view/index.html @@ -0,0 +1,170 @@ + + + + + scrollIntoView() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2023-03-16 (baseline high) +
+ +

scrollIntoView()

+

The scrollIntoView() method scrolls an element's ancestor containers such that the element is visible to the user.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/scroll-snap/index.html b/docs/features/scroll-snap/index.html new file mode 100644 index 0000000000..eb79fa70f0 --- /dev/null +++ b/docs/features/scroll-snap/index.html @@ -0,0 +1,264 @@ + + + + + Scroll snap + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2022-01-09 (baseline high) +
+ +

Scroll snap

+

CSS scroll snap controls the panning and scrolling behavior within a scroll container.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/scroll-to-text-fragment/index.html b/docs/features/scroll-to-text-fragment/index.html new file mode 100644 index 0000000000..a54f6820f1 --- /dev/null +++ b/docs/features/scroll-to-text-fragment/index.html @@ -0,0 +1,155 @@ + + + + + Scroll to text fragment + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Scroll to text fragment

+

Text fragments are URL fragments on the form #:~:text=snippet and link to a snippet of text within a page. The browser may scroll, highlight, or otherwise bring that text to the reader's attention.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/scrollbar-color/index.html b/docs/features/scrollbar-color/index.html new file mode 100644 index 0000000000..b8e7c78dc5 --- /dev/null +++ b/docs/features/scrollbar-color/index.html @@ -0,0 +1,182 @@ + + + + + scrollbar-color + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

scrollbar-color

+

The scrollbar-color CSS property sets the color of the scrollbar track and thumb.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/scrollbar-gutter/index.html b/docs/features/scrollbar-gutter/index.html new file mode 100644 index 0000000000..4f827f7b32 --- /dev/null +++ b/docs/features/scrollbar-gutter/index.html @@ -0,0 +1,168 @@ + + + + + scrollbar-gutter + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

scrollbar-gutter

+

The scrollbar-gutter CSS property reserves space for the scrollbar, preventing unwanted layout changes as the scrollbar appears and disappears.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/scrollbar-width/index.html b/docs/features/scrollbar-width/index.html new file mode 100644 index 0000000000..72dc62e3d6 --- /dev/null +++ b/docs/features/scrollbar-width/index.html @@ -0,0 +1,182 @@ + + + + + scrollbar-width + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

scrollbar-width

+

The scrollbar-width CSS property sets the width of the scrollbar.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/scrollend/index.html b/docs/features/scrollend/index.html new file mode 100644 index 0000000000..01e23a5312 --- /dev/null +++ b/docs/features/scrollend/index.html @@ -0,0 +1,186 @@ + + + + + scrollend + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

scrollend

+

The scrollend event fires when an element or document has finished scrolling.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/search-input-type/index.html b/docs/features/search-input-type/index.html new file mode 100644 index 0000000000..cf89910fcb --- /dev/null +++ b/docs/features/search-input-type/index.html @@ -0,0 +1,168 @@ + + + + + &lt;input type=&quot;search&quot;&gt; + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-01-29 (baseline high) +
+ +

<input type="search">

+

The <input> HTML element with the type="search" attribute represents a text field for search queries, which might be styled differently by the browser.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/search/index.html b/docs/features/search/index.html new file mode 100644 index 0000000000..e206cfcc4e --- /dev/null +++ b/docs/features/search/index.html @@ -0,0 +1,168 @@ + + + + + &lt;search&gt; + + + + + +
web-features explorer
+ + + +
+ + +
+ + + + + diff --git a/docs/features/server-timing/index.html b/docs/features/server-timing/index.html new file mode 100644 index 0000000000..e56d8d5de2 --- /dev/null +++ b/docs/features/server-timing/index.html @@ -0,0 +1,196 @@ + + + + + Server timing + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-27 (baseline low) + +
+ +

Server timing

+

The serverTiming property of the PerformanceResourceTiming API contains server timing information about network requests.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/set-methods/index.html b/docs/features/set-methods/index.html new file mode 100644 index 0000000000..a389167577 --- /dev/null +++ b/docs/features/set-methods/index.html @@ -0,0 +1,192 @@ + + + + + Set methods + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Set methods

+

The difference(), intersection(), isDisjointFrom(), isSubsetOf(), isSupersetOf(), symmetricDifference(), and union() methods of the JavaScript Set object performs operations between two sets.

+ +

Compatibility

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/set/index.html b/docs/features/set/index.html new file mode 100644 index 0000000000..dc60082445 --- /dev/null +++ b/docs/features/set/index.html @@ -0,0 +1,222 @@ + + + + + Set (initial support) + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-01-29 (baseline high) +
+ +

Set (initial support)

+

Set objects store unique values of any type.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/shadow-dom/index.html b/docs/features/shadow-dom/index.html new file mode 100644 index 0000000000..26e0d76337 --- /dev/null +++ b/docs/features/shadow-dom/index.html @@ -0,0 +1,200 @@ + + + + + Shadow DOM + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2022-07-15 (baseline high) +
+ +

Shadow DOM

+

Shadow DOM allows you to attach encapsulated "shadow" DOM trees to elements. A shadow DOM tree is a separate component, isolated from the scripts and styles in other parts of the document. This is a part of Web Components.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/show-picker-input/index.html b/docs/features/show-picker-input/index.html new file mode 100644 index 0000000000..2d86985b12 --- /dev/null +++ b/docs/features/show-picker-input/index.html @@ -0,0 +1,183 @@ + + + + + showPicker() for &lt;input&gt; + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

showPicker() for <input>

+

The showPicker() method for <input> elements shows the user interface for picking a value. For example, for <input type="date"> it shows the interface for picking a date.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/show-picker-select/index.html b/docs/features/show-picker-select/index.html new file mode 100644 index 0000000000..96683c7ba3 --- /dev/null +++ b/docs/features/show-picker-select/index.html @@ -0,0 +1,168 @@ + + + + + showPicker() for &lt;select&gt; + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

showPicker() for <select>

+

The showPicker() method for <select> elements shows the dropdown menu or other user interface for picking one of the options.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/slot-assign/index.html b/docs/features/slot-assign/index.html new file mode 100644 index 0000000000..f8009987c9 --- /dev/null +++ b/docs/features/slot-assign/index.html @@ -0,0 +1,172 @@ + + + + + Imperative slot assignment + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-27 (baseline low) + +
+ +

Imperative slot assignment

+

The assign() method for <slot> elements assigns nodes to the slot, as an alternative to using the slot and name HTML attributes. The nodes must be children of a shadow host and the shadow root must be created with the slotAssignment set to "manual". Also known as manual slot assignment.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/slot/index.html b/docs/features/slot/index.html new file mode 100644 index 0000000000..75e86b4f31 --- /dev/null +++ b/docs/features/slot/index.html @@ -0,0 +1,210 @@ + + + + + &lt;slot&gt; + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2022-07-15 (baseline high) +
+ +

<slot>

+

The <slot> HTML element is a placeholder inside a web component where consumers of the component can insert their own markup.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/speech-synthesis/index.html b/docs/features/speech-synthesis/index.html new file mode 100644 index 0000000000..74fde8d8df --- /dev/null +++ b/docs/features/speech-synthesis/index.html @@ -0,0 +1,304 @@ + + + + + Speech synthesis + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2021-03-05 (baseline high) +
+ +

Speech synthesis

+

The SpeechSynthesis API converts text into audio using a synthetic voice.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/spelling-grammar-error/index.html b/docs/features/spelling-grammar-error/index.html new file mode 100644 index 0000000000..9cf85f1ee7 --- /dev/null +++ b/docs/features/spelling-grammar-error/index.html @@ -0,0 +1,174 @@ + + + + + ::spelling-error and ::grammar-error + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

::spelling-error and ::grammar-error

+

The ::spelling-error and ::grammar-error CSS pseudo-elements match text that is highlighted as misspelled and grammatically incorrect, respectively.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/stable-array-sort/index.html b/docs/features/stable-array-sort/index.html new file mode 100644 index 0000000000..ae0e9cf637 --- /dev/null +++ b/docs/features/stable-array-sort/index.html @@ -0,0 +1,157 @@ + + + + + Stable array sort + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2022-07-15 (baseline high) +
+ +

Stable array sort

+

Stable array sort() function

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/starting-style/index.html b/docs/features/starting-style/index.html new file mode 100644 index 0000000000..0fd7a4f617 --- /dev/null +++ b/docs/features/starting-style/index.html @@ -0,0 +1,176 @@ + + + + + @starting-style + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

@starting-style

+

The @starting-style CSS at-rule defines the starting values for properties that are transitioning when the target element's style is first updated.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/sticky-positioning/index.html b/docs/features/sticky-positioning/index.html new file mode 100644 index 0000000000..66f0b0d784 --- /dev/null +++ b/docs/features/sticky-positioning/index.html @@ -0,0 +1,159 @@ + + + + + Sticky positioning + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2022-03-19 (baseline high) +
+ +

Sticky positioning

+

The position: sticky CSS declaration positions an element in the normal flow until it crosses a specified threshold, at which points it becomes fixed (stuck) at that position.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/storage-access/index.html b/docs/features/storage-access/index.html new file mode 100644 index 0000000000..6408c4508a --- /dev/null +++ b/docs/features/storage-access/index.html @@ -0,0 +1,172 @@ + + + + + Storage access + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-12-05 (baseline low) + +
+ +

Storage access

+

The document.requestStorageAccess() method allows content in iframes to request storing and reading cookies and other site data, while the document.hasStorageAccess() method checks if such access is granted.

+ +

Compatibility

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/storage-buckets/index.html b/docs/features/storage-buckets/index.html new file mode 100644 index 0000000000..b0fc0bb159 --- /dev/null +++ b/docs/features/storage-buckets/index.html @@ -0,0 +1,187 @@ + + + + + Storage buckets + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Storage buckets

+

The navigator.storageBuckets API allows you to organize locally stored data into groups called storage buckets. Each bucket can have different settings, allowing the browser to manage and delete buckets independently rather than applying the same treatment to all.

+ +

Compatibility

+ + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/streams/index.html b/docs/features/streams/index.html new file mode 100644 index 0000000000..711d5700e3 --- /dev/null +++ b/docs/features/streams/index.html @@ -0,0 +1,288 @@ + + + + + Streams + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-06-28 (baseline low) + +
+ +

Streams

+

The streams API creates, composes, and consumes continuously generated data.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/structured-clone/index.html b/docs/features/structured-clone/index.html new file mode 100644 index 0000000000..d90967dc99 --- /dev/null +++ b/docs/features/structured-clone/index.html @@ -0,0 +1,168 @@ + + + + + structuredClone() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-03-14 (baseline low) + +
+ +

structuredClone()

+

The structuredClone() global method creates a deep copy of an object. Values that cannot be cloned can instead be transferred, making the original value no longer usable.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/subgrid/index.html b/docs/features/subgrid/index.html new file mode 100644 index 0000000000..00ac79c7f9 --- /dev/null +++ b/docs/features/subgrid/index.html @@ -0,0 +1,172 @@ + + + + + Subgrid + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-09-15 (baseline low) + +
+ +

Subgrid

+

The subgrid value for the grid-template-columns and grid-template-rows properties allows a grid item to inherit the grid definition of its parent grid container.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/tabindex/index.html b/docs/features/tabindex/index.html new file mode 100644 index 0000000000..13288576e4 --- /dev/null +++ b/docs/features/tabindex/index.html @@ -0,0 +1,176 @@ + + + + + tabindex + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2021-04-02 (baseline high) +
+ +

tabindex

+

The tabindex HTML attribute make an element focusable, and defines the element's relative ordering for sequential focus navigation.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/target-text/index.html b/docs/features/target-text/index.html new file mode 100644 index 0000000000..ea68de62c1 --- /dev/null +++ b/docs/features/target-text/index.html @@ -0,0 +1,196 @@ + + + + + ::target-text + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

::target-text

+

The ::target-text pseudo-element allows you to style text highlighted by a URL text fragment such as #:~:text=snippet.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/template/index.html b/docs/features/template/index.html new file mode 100644 index 0000000000..10bd401b62 --- /dev/null +++ b/docs/features/template/index.html @@ -0,0 +1,180 @@ + + + + + &lt;template&gt; + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-05-12 (baseline high) +
+ +

<template>

+

The <template> HTML element holds HTML fragments which you can clone and insert into the document using JavaScript.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/temporal/index.html b/docs/features/temporal/index.html new file mode 100644 index 0000000000..db755b544f --- /dev/null +++ b/docs/features/temporal/index.html @@ -0,0 +1,1421 @@ + + + + + Temporal + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Temporal

+

The Temporal API allows you to work with dates, times, time zones, and durations. It is more powerful than the Date API.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/text-indent/index.html b/docs/features/text-indent/index.html new file mode 100644 index 0000000000..2c7a48af3e --- /dev/null +++ b/docs/features/text-indent/index.html @@ -0,0 +1,168 @@ + + + + + text-indent + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-01-29 (baseline high) +
+ +

text-indent

+

The text-indent CSS property sets the size of the empty space (indentation) at the beginning of lines in a text.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/text-spacing-trim/index.html b/docs/features/text-spacing-trim/index.html new file mode 100644 index 0000000000..92ce80518b --- /dev/null +++ b/docs/features/text-spacing-trim/index.html @@ -0,0 +1,157 @@ + + + + + text-spacing-trim + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

text-spacing-trim

+

The text-spacing-trim CSS property controls spacing around CJK characters, avoiding excessive whitespace when using full-width punctuation characters.

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/text-wrap-balance/index.html b/docs/features/text-wrap-balance/index.html new file mode 100644 index 0000000000..94e8a6a713 --- /dev/null +++ b/docs/features/text-wrap-balance/index.html @@ -0,0 +1,168 @@ + + + + + text-wrap: balance + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2024-05-13 (baseline low) + +
+ +

text-wrap: balance

+

The text-wrap: balance CSS declaration balances the length of each line when text is broken into multiple lines. Also known as headline balancing.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/text-wrap-nowrap/index.html b/docs/features/text-wrap-nowrap/index.html new file mode 100644 index 0000000000..788e3d5f34 --- /dev/null +++ b/docs/features/text-wrap-nowrap/index.html @@ -0,0 +1,172 @@ + + + + + text-wrap: nowrap + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2024-03-19 (baseline low) + +
+ +

text-wrap: nowrap

+

The text-wrap: nowrap CSS declaration prevents text breaking into multiple lines. Text that doesn't fit overflows instead.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/text-wrap-pretty/index.html b/docs/features/text-wrap-pretty/index.html new file mode 100644 index 0000000000..777e94b09f --- /dev/null +++ b/docs/features/text-wrap-pretty/index.html @@ -0,0 +1,168 @@ + + + + + text-wrap: pretty + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

text-wrap: pretty

+

The text-wrap: pretty CSS declaration prioritizes better layout over speed when text is broken into multiple lines.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/transferable-arraybuffer/index.html b/docs/features/transferable-arraybuffer/index.html new file mode 100644 index 0000000000..5add5c878a --- /dev/null +++ b/docs/features/transferable-arraybuffer/index.html @@ -0,0 +1,176 @@ + + + + + Transferable ArrayBuffer + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2024-03-05 (baseline low) + +
+ +

Transferable ArrayBuffer

+

The transfer() and transferToFixedLength() methods of ArrayBuffer move a buffer from one context to another (for example, to a worker).

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/transforms2d/index.html b/docs/features/transforms2d/index.html new file mode 100644 index 0000000000..e43a6f4558 --- /dev/null +++ b/docs/features/transforms2d/index.html @@ -0,0 +1,220 @@ + + + + + 2D transforms + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-03-30 (baseline high) +
+ +

2D transforms

+

The transform CSS property and its 2D transform functions allow rotating, scaling, skewing, and translating an element. Arbitrary 2D transforms are also possible using a transformation matrix.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/transforms3d/index.html b/docs/features/transforms3d/index.html new file mode 100644 index 0000000000..98db17cf50 --- /dev/null +++ b/docs/features/transforms3d/index.html @@ -0,0 +1,234 @@ + + + + + 3D transforms + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-03-14 (baseline low) + +
+ +

3D transforms

+

The transform CSS property and its 3D transform functions allow rotations and other transforms in three dimensions, including perspective transforms.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/transition-behavior/index.html b/docs/features/transition-behavior/index.html new file mode 100644 index 0000000000..8ec8acc35b --- /dev/null +++ b/docs/features/transition-behavior/index.html @@ -0,0 +1,175 @@ + + + + + transition-behavior + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

transition-behavior

+

The transition-behavior: allow-discrete CSS declaration allows transitions for properties whose animation behavior is discrete. Such properties can't be interpolated and swap from their start value to the end value at 50%.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/translate/index.html b/docs/features/translate/index.html new file mode 100644 index 0000000000..6864abc1d3 --- /dev/null +++ b/docs/features/translate/index.html @@ -0,0 +1,176 @@ + + + + + translate attribute + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-14 (baseline low) + +
+ +

translate attribute

+

The translate HTML attribute marks whether an element's text should be translated.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/trig-functions/index.html b/docs/features/trig-functions/index.html new file mode 100644 index 0000000000..e609bdef9a --- /dev/null +++ b/docs/features/trig-functions/index.html @@ -0,0 +1,192 @@ + + + + + sin(), cos(), tan(), asin(), acos(), atan(), and atan2() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-13 (baseline low) + +
+ +

sin(), cos(), tan(), asin(), acos(), atan(), and atan2()

+

The sin(), cos(), tan(), asin(), acos(), atan(), and atan2() CSS functions compute various trigonometric functions.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/trusted-types/index.html b/docs/features/trusted-types/index.html new file mode 100644 index 0000000000..7129d9286f --- /dev/null +++ b/docs/features/trusted-types/index.html @@ -0,0 +1,264 @@ + + + + + Trusted types + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Trusted types

+

Trusted types allow you to lock down insecure parts of the DOM API and prevent client-side cross-site scripting (XSS) attacks.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/two-value-display/index.html b/docs/features/two-value-display/index.html new file mode 100644 index 0000000000..b8d895d398 --- /dev/null +++ b/docs/features/two-value-display/index.html @@ -0,0 +1,157 @@ + + + + + Two-value display property + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-07-21 (baseline low) + +
+ +

Two-value display property

+

The display CSS property accepts multiple keyword values, such as inline flex or block flow, to explicitly set an element's inner and outer layout mode. Also known as 2-value, multi-keyword, or multiple value syntax.

+ +

Compatibility

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/typed-array-iteration-methods/index.html b/docs/features/typed-array-iteration-methods/index.html new file mode 100644 index 0000000000..6be6ed7cef --- /dev/null +++ b/docs/features/typed-array-iteration-methods/index.html @@ -0,0 +1,216 @@ + + + + + Typed array iteration methods + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-09-21 (baseline high) +
+ +

Typed array iteration methods

+

Typed array iteration methods

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/typed-array-iterators/index.html b/docs/features/typed-array-iterators/index.html new file mode 100644 index 0000000000..2b3d0c13a3 --- /dev/null +++ b/docs/features/typed-array-iterators/index.html @@ -0,0 +1,186 @@ + + + + + Typed array iterators + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2019-03-20 (baseline high) +
+ +

Typed array iterators

+

Typed arrays are iterable with the for…of statement and enumerable with the methods entries(), keys(), and values().

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/typed-arrays/index.html b/docs/features/typed-arrays/index.html new file mode 100644 index 0000000000..1bd0482a1f --- /dev/null +++ b/docs/features/typed-arrays/index.html @@ -0,0 +1,364 @@ + + + + + Typed arrays (initial support) + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-01-29 (baseline high) +
+ +

Typed arrays (initial support)

+

Typed arrays are ordered lists of JavaScript values, where all values are of the same numerical type, such as 8-bit integers or 32-bit floating point numbers.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/url-canparse/index.html b/docs/features/url-canparse/index.html new file mode 100644 index 0000000000..a1f4476344 --- /dev/null +++ b/docs/features/url-canparse/index.html @@ -0,0 +1,168 @@ + + + + + URL.canParse() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-12-07 (baseline low) + +
+ +

URL.canParse()

+

The URL.canParse() static method checks whether a URL can be parsed into a valid URL object. It's an alternative to calling new URL() in a try…catch statement.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/user-activation/index.html b/docs/features/user-activation/index.html new file mode 100644 index 0000000000..c09c21ebc4 --- /dev/null +++ b/docs/features/user-activation/index.html @@ -0,0 +1,180 @@ + + + + + User activation + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-11-21 (baseline low) + +
+ +

User activation

+

The navigator.userActivation API reveals whether the user has interacted with the page through an "activation" gesture such as a click, tap, or key press. User activation gated APIs (such as the fullscreen API) fail without user interaction, and this API allows you to predict such a failure.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/user-pseudos/index.html b/docs/features/user-pseudos/index.html new file mode 100644 index 0000000000..4408c7430b --- /dev/null +++ b/docs/features/user-pseudos/index.html @@ -0,0 +1,172 @@ + + + + + :user-valid and :user-invalid + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-11-02 (baseline low) + +
+ +

:user-valid and :user-invalid

+

The :user-valid and :user-invalid pseudo-classes match form controls that have been marked as valid or invalid based on their validation constraints.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/view-transitions/index.html b/docs/features/view-transitions/index.html new file mode 100644 index 0000000000..d39e848796 --- /dev/null +++ b/docs/features/view-transitions/index.html @@ -0,0 +1,230 @@ + + + + + View transitions + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

View transitions

+

View transitions allow you to create animated visual transitions between different states of a document, or between different documents.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/viewport-unit-variants/index.html b/docs/features/viewport-unit-variants/index.html new file mode 100644 index 0000000000..df36e6d82b --- /dev/null +++ b/docs/features/viewport-unit-variants/index.html @@ -0,0 +1,167 @@ + + + + + Small, large, and dynamic viewport units + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-12-05 (baseline low) + +
+ +

Small, large, and dynamic viewport units

+

The sv*, lv*, and dv* CSS viewport units are relative to the smallest, largest, and current (dynamic) viewport size. They are used to size elements in relation to the viewport's dimensions.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/viewport-units/index.html b/docs/features/viewport-units/index.html new file mode 100644 index 0000000000..b9437ad51b --- /dev/null +++ b/docs/features/viewport-units/index.html @@ -0,0 +1,163 @@ + + + + + Viewport units + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2020-04-17 (baseline high) +
+ +

Viewport units

+

The vw, vh, vmin, and vmax CSS viewport units are relative to the size of the viewport, and are used to size elements in relation to the viewport's dimensions.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/visual-viewport/index.html b/docs/features/visual-viewport/index.html new file mode 100644 index 0000000000..84f1ca305a --- /dev/null +++ b/docs/features/visual-viewport/index.html @@ -0,0 +1,200 @@ + + + + + Visual viewport API + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2024-02-10 (baseline high) +
+ +

Visual viewport API

+

The visualViewport API provides a way to query and modify the user-visible viewport of a web page.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/wasm-simd/index.html b/docs/features/wasm-simd/index.html new file mode 100644 index 0000000000..4ffb7aabaf --- /dev/null +++ b/docs/features/wasm-simd/index.html @@ -0,0 +1,157 @@ + + + + + WebAssembly SIMD + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-03-27 (baseline low) + +
+ +

WebAssembly SIMD

+

The 128-bit SIMD (Single Instruction Multiple Data) extension to WebAssembly performs one instruction on multiple units of data, when running on hardware that supports such instructions. Also known as vector instructions.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/web-animations/index.html b/docs/features/web-animations/index.html new file mode 100644 index 0000000000..895f518d6f --- /dev/null +++ b/docs/features/web-animations/index.html @@ -0,0 +1,348 @@ + + + + + Web animations + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-09-12 (baseline low) + +
+ +

Web animations

+

The web animations API allows you to animate and synchronize the animations of DOM elements.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/web-bluetooth/index.html b/docs/features/web-bluetooth/index.html new file mode 100644 index 0000000000..fa69ee67f2 --- /dev/null +++ b/docs/features/web-bluetooth/index.html @@ -0,0 +1,420 @@ + + + + + Web Bluetooth + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Web Bluetooth

+

The Web Bluetooth API enables selecting and communicating with nearby Bluetooth devices.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/web-locks/index.html b/docs/features/web-locks/index.html new file mode 100644 index 0000000000..7ea3847ca5 --- /dev/null +++ b/docs/features/web-locks/index.html @@ -0,0 +1,196 @@ + + + + + Locks + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-03-14 (baseline low) + +
+ +

Locks

+

The navigator.locks API coordinates work with shared resources through mutually exclusive ownership of a resource's name. Also known as web locks.

+ +

Compatibility

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/web-midi/index.html b/docs/features/web-midi/index.html new file mode 100644 index 0000000000..2a57961596 --- /dev/null +++ b/docs/features/web-midi/index.html @@ -0,0 +1,326 @@ + + + + + Web MIDI + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Web MIDI

+

The Web MIDI API enables selecting MIDI input and output devices and sending and receiving MIDI messages.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/web-nfc/index.html b/docs/features/web-nfc/index.html new file mode 100644 index 0000000000..dadc77d14f --- /dev/null +++ b/docs/features/web-nfc/index.html @@ -0,0 +1,260 @@ + + + + + Web NFC + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

Web NFC

+

The NDEFReader API reads and writes messages to near-field communication (NFC) tags.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/webauthn-public-key-easy/index.html b/docs/features/webauthn-public-key-easy/index.html new file mode 100644 index 0000000000..3db6f7df12 --- /dev/null +++ b/docs/features/webauthn-public-key-easy/index.html @@ -0,0 +1,176 @@ + + + + + Web authentication easy public key access + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-10-24 (baseline low) + +
+ +

Web authentication easy public key access

+

The getAuthenticatorData(), getPublicKey(), and getPublicKeyAlgorithm() methods of AuthenticatorAttestationResponse access credential data inside attestationObject without the need to parse it.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/webcodecs/index.html b/docs/features/webcodecs/index.html new file mode 100644 index 0000000000..5167585df7 --- /dev/null +++ b/docs/features/webcodecs/index.html @@ -0,0 +1,624 @@ + + + + + WebCodecs + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

WebCodecs

+

The WebCodecs API provides low-level access to individual video frames and chunks of audio samples, for full control over the way media is processed.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/webdriver-bidi/index.html b/docs/features/webdriver-bidi/index.html new file mode 100644 index 0000000000..38d0b49446 --- /dev/null +++ b/docs/features/webdriver-bidi/index.html @@ -0,0 +1,155 @@ + + + + + WebDriver BiDi + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

WebDriver BiDi

+

WebDriver BiDi is a bidirectional protocol that allows a WebDriver client and a browser to communicate with each other.

+ +

Compatibility

+ + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/webgl-oes-draw-buffers-indexed/index.html b/docs/features/webgl-oes-draw-buffers-indexed/index.html new file mode 100644 index 0000000000..6a07230e20 --- /dev/null +++ b/docs/features/webgl-oes-draw-buffers-indexed/index.html @@ -0,0 +1,196 @@ + + + + + WebGL OES_draw_buffers_indexed extension + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2022-12-13 (baseline low) + +
+ +

WebGL OES_draw_buffers_indexed extension

+

The OES_draw_buffers_indexed extension to WebGL allows you to control blending on a per-color basis when writing to multiple color buffers simultaneously.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/webhid/index.html b/docs/features/webhid/index.html new file mode 100644 index 0000000000..04d51b911c --- /dev/null +++ b/docs/features/webhid/index.html @@ -0,0 +1,272 @@ + + + + + WebHID + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

WebHID

+

The WebHID API provides access to Human Interface Devices (HID) that are connected to the user's device.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/webp/index.html b/docs/features/webp/index.html new file mode 100644 index 0000000000..e2df04aad3 --- /dev/null +++ b/docs/features/webp/index.html @@ -0,0 +1,155 @@ + + + + + WebP + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2023-03-16 (baseline high) +
+ +

WebP

+

The WebP image format is a raster graphics file format that supports animation, alpha transparency, and lossy as well as lossless compression.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/webrtc-encoded-transform/index.html b/docs/features/webrtc-encoded-transform/index.html new file mode 100644 index 0000000000..5a644a4224 --- /dev/null +++ b/docs/features/webrtc-encoded-transform/index.html @@ -0,0 +1,252 @@ + + + + + WebRTC encoded transform + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

WebRTC encoded transform

+

The WebRTC encoded transform API allows you to modify audio and video streams in WebRTC connections. For example, it can be used for visual effects or custom codecs.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/webrtc-sctp/index.html b/docs/features/webrtc-sctp/index.html new file mode 100644 index 0000000000..7b7fa01136 --- /dev/null +++ b/docs/features/webrtc-sctp/index.html @@ -0,0 +1,190 @@ + + + + + WebRTC SCTP information + + + + + +
web-features explorer
+ + + +
+ +
+
+ + Newly available since 2023-05-09 (baseline low) + +
+ +

WebRTC SCTP information

+

The sctp object on RTCPeerConnection represents the negotiated SCTP transport. SCTP (Stream Control Transmission Protocol) is the protocol that RTCDataChannel uses.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/webrtc/index.html b/docs/features/webrtc/index.html new file mode 100644 index 0000000000..954db4d447 --- /dev/null +++ b/docs/features/webrtc/index.html @@ -0,0 +1,172 @@ + + + + + WebRTC + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2022-07-15 (baseline high) +
+ +

WebRTC

+

The WebRTC API establishes real-time communication channels directly between browsers. It is commonly used in video conferencing applications.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/webtransport/index.html b/docs/features/webtransport/index.html new file mode 100644 index 0000000000..f82fa3d8b3 --- /dev/null +++ b/docs/features/webtransport/index.html @@ -0,0 +1,264 @@ + + + + + WebTransport + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

WebTransport

+

The WebTransport API transmits data between a client and a server, by using the HTTP/3 protocol.

+ +

Compatibility (view on caniuse.com)

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/webusb/index.html b/docs/features/webusb/index.html new file mode 100644 index 0000000000..acda0de5e3 --- /dev/null +++ b/docs/features/webusb/index.html @@ -0,0 +1,520 @@ + + + + + WebUSB + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

WebUSB

+

The WebUSB API exposes USB compatible devices to web pages.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/webvtt-cue-alignment/index.html b/docs/features/webvtt-cue-alignment/index.html new file mode 100644 index 0000000000..873aa22148 --- /dev/null +++ b/docs/features/webvtt-cue-alignment/index.html @@ -0,0 +1,195 @@ + + + + + WebVTT cue alignment + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

WebVTT cue alignment

+

The WebVTT cue alignment settings control which part of the cue is aligned with the given line and position. Cue alignment is set using line and position settings in WebVTT files or the lineAlign and positionAlign properties of VTTCue using JavaScript.

+ +

Compatibility

+ + + +
+

MDN docs

+ + + +
+ + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/webvtt-regions/index.html b/docs/features/webvtt-regions/index.html new file mode 100644 index 0000000000..a4e6c1cbab --- /dev/null +++ b/docs/features/webvtt-regions/index.html @@ -0,0 +1,200 @@ + + + + + WebVTT regions + + + + + +
web-features explorer
+ + + +
+ +
+
+ Limited availability + + +
+ +

WebVTT regions

+

WebVTT regions set the areas of the video where captions or subtitles should be rendered, such as placing roll-up captions used for live captions.

+ +

Compatibility

+ + + + + + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/webvtt/index.html b/docs/features/webvtt/index.html new file mode 100644 index 0000000000..2c8993cc4b --- /dev/null +++ b/docs/features/webvtt/index.html @@ -0,0 +1,176 @@ + + + + + WebVTT + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2018-01-29 (baseline high) +
+ +

WebVTT

+

WebVTT is a captions and subtitles format. WebVTT files are loaded using the <track> element, and the VTTCue API can be used to create or update cues dynamically.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/where/index.html b/docs/features/where/index.html new file mode 100644 index 0000000000..d098120a73 --- /dev/null +++ b/docs/features/where/index.html @@ -0,0 +1,172 @@ + + + + + :where() + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2023-07-21 (baseline high) +
+ +

:where()

+

The :where() CSS functional pseudo-class takes a selector list as its argument, and matches any element that can be selected by one of the selectors in that list. It is functionally equivalent to the selectors in the list, but doesn't affect the CSS rule specificity.

+ +

Compatibility

+ + + + + + + + + + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/features/will-change/index.html b/docs/features/will-change/index.html new file mode 100644 index 0000000000..90c3d5ae43 --- /dev/null +++ b/docs/features/will-change/index.html @@ -0,0 +1,174 @@ + + + + + will-change + + + + + +
web-features explorer
+ + + +
+ +
+
+ + + Widely available since 2022-07-15 (baseline high) +
+ +

will-change

+

The will-change CSS property gives hints to the browser about expected changes to an element's scroll position, contents, or style. These hints allow browsers to optimize for upcoming style changes.

+ +

Compatibility (view on caniuse.com)

+ + + +
+

MDN docs

+ + + +
+ + + +
+

Specifications

+ +
+ + +

Vendor resources

+ + +

BCD data

+ +
+
+ + + + + diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000000..a2afa0865b --- /dev/null +++ b/docs/index.html @@ -0,0 +1,37 @@ + + + + + Web features explorer + + + + + +
web-features explorer
+ + + +
+ +

Web features explorer

+ +

This website displays various lists of web features, organized by whether they are available on the web platform or not.

+
+ + + + + diff --git a/docs/missingone/index.html b/docs/missingone/index.html new file mode 100644 index 0000000000..67e1ecf10c --- /dev/null +++ b/docs/missingone/index.html @@ -0,0 +1,41 @@ + + + + + Features missing in just one engine + + + + + +
web-features explorer
+ + + +
+

Features missing in just one engine

+ +

These web features are not yet available, one browser engine has not implemented it yet.

+ + + +
+ + + + + diff --git a/docs/monthly/2008-06/index.html b/docs/monthly/2008-06/index.html new file mode 100644 index 0000000000..ead1fd1ac7 --- /dev/null +++ b/docs/monthly/2008-06/index.html @@ -0,0 +1,151 @@ + + + + + 2008-06 + + + + + +
web-features explorer
+ + + +
+ +

2008-06 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + +

Got implemented in Firefox this month

+ + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2011-03/index.html b/docs/monthly/2011-03/index.html new file mode 100644 index 0000000000..919d5f0293 --- /dev/null +++ b/docs/monthly/2011-03/index.html @@ -0,0 +1,151 @@ + + + + + 2011-03 + + + + + +
web-features explorer
+ + + +
+ +

2011-03 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2012-06/index.html b/docs/monthly/2012-06/index.html new file mode 100644 index 0000000000..5818ca2126 --- /dev/null +++ b/docs/monthly/2012-06/index.html @@ -0,0 +1,151 @@ + + + + + 2012-06 + + + + + +
web-features explorer
+ + + +
+ +

2012-06 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2012-07/index.html b/docs/monthly/2012-07/index.html new file mode 100644 index 0000000000..7eb340c097 --- /dev/null +++ b/docs/monthly/2012-07/index.html @@ -0,0 +1,151 @@ + + + + + 2012-07 + + + + + +
web-features explorer
+ + + +
+ +

2012-07 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + + + + + +

Got implemented in Safari this month

+ + + + + + + +
+ + + + + diff --git a/docs/monthly/2013-02/index.html b/docs/monthly/2013-02/index.html new file mode 100644 index 0000000000..0072f04e1b --- /dev/null +++ b/docs/monthly/2013-02/index.html @@ -0,0 +1,151 @@ + + + + + 2013-02 + + + + + +
web-features explorer
+ + + +
+ +

2013-02 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + +

Got implemented in Chrome Android this month

+ + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2013-06/index.html b/docs/monthly/2013-06/index.html new file mode 100644 index 0000000000..0c12bf44b7 --- /dev/null +++ b/docs/monthly/2013-06/index.html @@ -0,0 +1,238 @@ + + + + + 2013-06 + + + + + +
web-features explorer
+ + + +
+ +

2013-06 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2013-09/index.html b/docs/monthly/2013-09/index.html new file mode 100644 index 0000000000..8ebacc1fd3 --- /dev/null +++ b/docs/monthly/2013-09/index.html @@ -0,0 +1,151 @@ + + + + + 2013-09 + + + + + +
web-features explorer
+ + + +
+ +

2013-09 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + + + + + + + +

Got implemented in Safari on iOS this month

+ + + + + +
+ + + + + diff --git a/docs/monthly/2013-10/index.html b/docs/monthly/2013-10/index.html new file mode 100644 index 0000000000..c5af251e93 --- /dev/null +++ b/docs/monthly/2013-10/index.html @@ -0,0 +1,151 @@ + + + + + 2013-10 + + + + + +
web-features explorer
+ + + +
+ +

2013-10 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + + + + + +

Got implemented in Safari this month

+ + + + + + + +
+ + + + + diff --git a/docs/monthly/2013-11/index.html b/docs/monthly/2013-11/index.html new file mode 100644 index 0000000000..ca4f60ea72 --- /dev/null +++ b/docs/monthly/2013-11/index.html @@ -0,0 +1,238 @@ + + + + + 2013-11 + + + + + +
web-features explorer
+ + + +
+ +

2013-11 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2014-07/index.html b/docs/monthly/2014-07/index.html new file mode 100644 index 0000000000..51970b84f2 --- /dev/null +++ b/docs/monthly/2014-07/index.html @@ -0,0 +1,484 @@ + + + + + 2014-07 + + + + + +
web-features explorer
+ + + +
+ +

2014-07 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2014-08/index.html b/docs/monthly/2014-08/index.html new file mode 100644 index 0000000000..bf80dad04e --- /dev/null +++ b/docs/monthly/2014-08/index.html @@ -0,0 +1,151 @@ + + + + + 2014-08 + + + + + +
web-features explorer
+ + + +
+ +

2014-08 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2014-09/index.html b/docs/monthly/2014-09/index.html new file mode 100644 index 0000000000..68a04cc412 --- /dev/null +++ b/docs/monthly/2014-09/index.html @@ -0,0 +1,340 @@ + + + + + 2014-09 + + + + + +
web-features explorer
+ + + +
+ +

2014-09 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + +

Got implemented in Chrome Android this month

+ + + + + + + + + + + + + +

Got implemented in Safari on iOS this month

+ + + + + +
+ + + + + diff --git a/docs/monthly/2014-10/index.html b/docs/monthly/2014-10/index.html new file mode 100644 index 0000000000..57b47704d4 --- /dev/null +++ b/docs/monthly/2014-10/index.html @@ -0,0 +1,421 @@ + + + + + 2014-10 + + + + + +
web-features explorer
+ + + +
+ +

2014-10 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + +

Got implemented in Chrome Android this month

+ + + + + + + + + + + +

Got implemented in Safari this month

+ + + + + + + +
+ + + + + diff --git a/docs/monthly/2015-04/index.html b/docs/monthly/2015-04/index.html new file mode 100644 index 0000000000..f51be485fe --- /dev/null +++ b/docs/monthly/2015-04/index.html @@ -0,0 +1,151 @@ + + + + + 2015-04 + + + + + +
web-features explorer
+ + + +
+ +

2015-04 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + +

Got implemented in Chrome Android this month

+ + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2015-05/index.html b/docs/monthly/2015-05/index.html new file mode 100644 index 0000000000..dbf770b7d1 --- /dev/null +++ b/docs/monthly/2015-05/index.html @@ -0,0 +1,266 @@ + + + + + 2015-05 + + + + + +
web-features explorer
+ + + +
+ +

2015-05 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2015-07/index.html b/docs/monthly/2015-07/index.html new file mode 100644 index 0000000000..73fb09dcff --- /dev/null +++ b/docs/monthly/2015-07/index.html @@ -0,0 +1,341 @@ + + + + + 2015-07 + + + + + +
web-features explorer
+ + + +
+ +

2015-07 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + +

Got implemented in Edge this month

+ + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2015-11/index.html b/docs/monthly/2015-11/index.html new file mode 100644 index 0000000000..c0b3acde00 --- /dev/null +++ b/docs/monthly/2015-11/index.html @@ -0,0 +1,325 @@ + + + + + 2015-11 + + + + + +
web-features explorer
+ + + +
+ +

2015-11 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + +

Got implemented in Edge this month

+ + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2016-04/index.html b/docs/monthly/2016-04/index.html new file mode 100644 index 0000000000..753a5b59ab --- /dev/null +++ b/docs/monthly/2016-04/index.html @@ -0,0 +1,294 @@ + + + + + 2016-04 + + + + + +
web-features explorer
+ + + +
+ +

2016-04 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2016-08/index.html b/docs/monthly/2016-08/index.html new file mode 100644 index 0000000000..67cd06ac6b --- /dev/null +++ b/docs/monthly/2016-08/index.html @@ -0,0 +1,151 @@ + + + + + 2016-08 + + + + + +
web-features explorer
+ + + +
+ +

2016-08 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + +

Got implemented in Edge this month

+ + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2016-09/index.html b/docs/monthly/2016-09/index.html new file mode 100644 index 0000000000..373dabb2c4 --- /dev/null +++ b/docs/monthly/2016-09/index.html @@ -0,0 +1,151 @@ + + + + + 2016-09 + + + + + +
web-features explorer
+ + + +
+ +

2016-09 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + + + + + + + +

Got implemented in Safari on iOS this month

+ + + + + +
+ + + + + diff --git a/docs/monthly/2016-11/index.html b/docs/monthly/2016-11/index.html new file mode 100644 index 0000000000..d8ac0388f7 --- /dev/null +++ b/docs/monthly/2016-11/index.html @@ -0,0 +1,238 @@ + + + + + 2016-11 + + + + + +
web-features explorer
+ + + +
+ +

2016-11 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2017-02/index.html b/docs/monthly/2017-02/index.html new file mode 100644 index 0000000000..d9ea7706da --- /dev/null +++ b/docs/monthly/2017-02/index.html @@ -0,0 +1,179 @@ + + + + + 2017-02 + + + + + +
web-features explorer
+ + + +
+ +

2017-02 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + +

Got implemented in Chrome Android this month

+ + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2017-03/index.html b/docs/monthly/2017-03/index.html new file mode 100644 index 0000000000..4bb8007ccb --- /dev/null +++ b/docs/monthly/2017-03/index.html @@ -0,0 +1,238 @@ + + + + + 2017-03 + + + + + +
web-features explorer
+ + + +
+ +

2017-03 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + +

Got implemented in Chrome Android this month

+ + + + + + + + + + + +

Got implemented in Safari this month

+ + + + + + + +
+ + + + + diff --git a/docs/monthly/2017-04/index.html b/docs/monthly/2017-04/index.html new file mode 100644 index 0000000000..70b713e37a --- /dev/null +++ b/docs/monthly/2017-04/index.html @@ -0,0 +1,238 @@ + + + + + 2017-04 + + + + + +
web-features explorer
+ + + +
+ +

2017-04 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2017-09/index.html b/docs/monthly/2017-09/index.html new file mode 100644 index 0000000000..3a55ede200 --- /dev/null +++ b/docs/monthly/2017-09/index.html @@ -0,0 +1,238 @@ + + + + + 2017-09 + + + + + +
web-features explorer
+ + + +
+ +

2017-09 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2018-01/index.html b/docs/monthly/2018-01/index.html new file mode 100644 index 0000000000..60b2db2e6a --- /dev/null +++ b/docs/monthly/2018-01/index.html @@ -0,0 +1,1524 @@ + + + + + 2018-01 + + + + + +
web-features explorer
+ + + +
+ +

2018-01 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2018-03/index.html b/docs/monthly/2018-03/index.html new file mode 100644 index 0000000000..4422ffd903 --- /dev/null +++ b/docs/monthly/2018-03/index.html @@ -0,0 +1,981 @@ + + + + + 2018-03 + + + + + +
web-features explorer
+ + + +
+ +

2018-03 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2018-05/index.html b/docs/monthly/2018-05/index.html new file mode 100644 index 0000000000..3ed787dc57 --- /dev/null +++ b/docs/monthly/2018-05/index.html @@ -0,0 +1,349 @@ + + + + + 2018-05 + + + + + +
web-features explorer
+ + + +
+ +

2018-05 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2018-06/index.html b/docs/monthly/2018-06/index.html new file mode 100644 index 0000000000..ef582987aa --- /dev/null +++ b/docs/monthly/2018-06/index.html @@ -0,0 +1,147 @@ + + + + + 2018-06 + + + + + +
web-features explorer
+ + + +
+ +

2018-06 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2018-09/index.html b/docs/monthly/2018-09/index.html new file mode 100644 index 0000000000..acf6fa720f --- /dev/null +++ b/docs/monthly/2018-09/index.html @@ -0,0 +1,416 @@ + + + + + 2018-09 + + + + + +
web-features explorer
+ + + +
+ +

2018-09 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2018-10/index.html b/docs/monthly/2018-10/index.html new file mode 100644 index 0000000000..3bd1744d75 --- /dev/null +++ b/docs/monthly/2018-10/index.html @@ -0,0 +1,381 @@ + + + + + 2018-10 + + + + + +
web-features explorer
+ + + +
+ +

2018-10 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2018-12/index.html b/docs/monthly/2018-12/index.html new file mode 100644 index 0000000000..133fbed090 --- /dev/null +++ b/docs/monthly/2018-12/index.html @@ -0,0 +1,792 @@ + + + + + 2018-12 + + + + + +
web-features explorer
+ + + +
+ +

2018-12 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2019-03/index.html b/docs/monthly/2019-03/index.html new file mode 100644 index 0000000000..486ae9fb6b --- /dev/null +++ b/docs/monthly/2019-03/index.html @@ -0,0 +1,570 @@ + + + + + 2019-03 + + + + + +
web-features explorer
+ + + +
+ +

2019-03 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + + + + + + + + + +

Got implemented in Safari this month

+ + + + + +

Got implemented in Safari on iOS this month

+ + + + + +
+ + + + + diff --git a/docs/monthly/2019-04/index.html b/docs/monthly/2019-04/index.html new file mode 100644 index 0000000000..7864ab3d1d --- /dev/null +++ b/docs/monthly/2019-04/index.html @@ -0,0 +1,400 @@ + + + + + 2019-04 + + + + + +
web-features explorer
+ + + +
+ +

2019-04 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2019-07/index.html b/docs/monthly/2019-07/index.html new file mode 100644 index 0000000000..3c305df0bc --- /dev/null +++ b/docs/monthly/2019-07/index.html @@ -0,0 +1,238 @@ + + + + + 2019-07 + + + + + +
web-features explorer
+ + + +
+ +

2019-07 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2019-08/index.html b/docs/monthly/2019-08/index.html new file mode 100644 index 0000000000..3a0419e11c --- /dev/null +++ b/docs/monthly/2019-08/index.html @@ -0,0 +1,147 @@ + + + + + 2019-08 + + + + + +
web-features explorer
+ + + +
+ +

2019-08 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2019-09/index.html b/docs/monthly/2019-09/index.html new file mode 100644 index 0000000000..176e100c29 --- /dev/null +++ b/docs/monthly/2019-09/index.html @@ -0,0 +1,228 @@ + + + + + 2019-09 + + + + + +
web-features explorer
+ + + +
+ +

2019-09 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2019-10/index.html b/docs/monthly/2019-10/index.html new file mode 100644 index 0000000000..2698492750 --- /dev/null +++ b/docs/monthly/2019-10/index.html @@ -0,0 +1,228 @@ + + + + + 2019-10 + + + + + +
web-features explorer
+ + + +
+ +

2019-10 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2020-01/index.html b/docs/monthly/2020-01/index.html new file mode 100644 index 0000000000..d8f88a10ac --- /dev/null +++ b/docs/monthly/2020-01/index.html @@ -0,0 +1,1112 @@ + + + + + 2020-01 + + + + + +
web-features explorer
+ + + +
+ +

2020-01 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + +

Got implemented in Edge this month

+ + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2020-02/index.html b/docs/monthly/2020-02/index.html new file mode 100644 index 0000000000..6351db1e1b --- /dev/null +++ b/docs/monthly/2020-02/index.html @@ -0,0 +1,238 @@ + + + + + 2020-02 + + + + + +
web-features explorer
+ + + +
+ +

2020-02 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + + + +

Got implemented in Edge this month

+ + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2020-03/index.html b/docs/monthly/2020-03/index.html new file mode 100644 index 0000000000..24d34e84ba --- /dev/null +++ b/docs/monthly/2020-03/index.html @@ -0,0 +1,430 @@ + + + + + 2020-03 + + + + + +
web-features explorer
+ + + +
+ +

2020-03 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + + + + + +

Got implemented in Safari this month

+ + + + + +

Got implemented in Safari on iOS this month

+ + + + + +
+ + + + + diff --git a/docs/monthly/2020-04/index.html b/docs/monthly/2020-04/index.html new file mode 100644 index 0000000000..758597e43e --- /dev/null +++ b/docs/monthly/2020-04/index.html @@ -0,0 +1,321 @@ + + + + + 2020-04 + + + + + +
web-features explorer
+ + + +
+ +

2020-04 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2020-05/index.html b/docs/monthly/2020-05/index.html new file mode 100644 index 0000000000..5d2bb8ca1e --- /dev/null +++ b/docs/monthly/2020-05/index.html @@ -0,0 +1,691 @@ + + + + + 2020-05 + + + + + +
web-features explorer
+ + + +
+ +

2020-05 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2020-07/index.html b/docs/monthly/2020-07/index.html new file mode 100644 index 0000000000..680a31db40 --- /dev/null +++ b/docs/monthly/2020-07/index.html @@ -0,0 +1,151 @@ + + + + + 2020-07 + + + + + +
web-features explorer
+ + + +
+ +

2020-07 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2020-08/index.html b/docs/monthly/2020-08/index.html new file mode 100644 index 0000000000..73ba9a4e58 --- /dev/null +++ b/docs/monthly/2020-08/index.html @@ -0,0 +1,325 @@ + + + + + 2020-08 + + + + + +
web-features explorer
+ + + +
+ +

2020-08 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2020-10/index.html b/docs/monthly/2020-10/index.html new file mode 100644 index 0000000000..080ddfb413 --- /dev/null +++ b/docs/monthly/2020-10/index.html @@ -0,0 +1,151 @@ + + + + + 2020-10 + + + + + +
web-features explorer
+ + + +
+ +

2020-10 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + +

Got implemented in Firefox this month

+ + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2020-11/index.html b/docs/monthly/2020-11/index.html new file mode 100644 index 0000000000..d2cac12811 --- /dev/null +++ b/docs/monthly/2020-11/index.html @@ -0,0 +1,408 @@ + + + + + 2020-11 + + + + + +
web-features explorer
+ + + +
+ +

2020-11 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2021-03/index.html b/docs/monthly/2021-03/index.html new file mode 100644 index 0000000000..ba4b541df5 --- /dev/null +++ b/docs/monthly/2021-03/index.html @@ -0,0 +1,735 @@ + + + + + 2021-03 + + + + + +
web-features explorer
+ + + +
+ +

2021-03 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2021-04/index.html b/docs/monthly/2021-04/index.html new file mode 100644 index 0000000000..5cca4b3dd9 --- /dev/null +++ b/docs/monthly/2021-04/index.html @@ -0,0 +1,618 @@ + + + + + 2021-04 + + + + + +
web-features explorer
+ + + +
+ +

2021-04 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + +

Got implemented in Safari this month

+ + + + + +

Got implemented in Safari on iOS this month

+ + + + + +
+ + + + + diff --git a/docs/monthly/2021-05/index.html b/docs/monthly/2021-05/index.html new file mode 100644 index 0000000000..9b09b8399b --- /dev/null +++ b/docs/monthly/2021-05/index.html @@ -0,0 +1,325 @@ + + + + + 2021-05 + + + + + +
web-features explorer
+ + + +
+ +

2021-05 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2021-06/index.html b/docs/monthly/2021-06/index.html new file mode 100644 index 0000000000..d4f7048c90 --- /dev/null +++ b/docs/monthly/2021-06/index.html @@ -0,0 +1,147 @@ + + + + + 2021-06 + + + + + +
web-features explorer
+ + + +
+ +

2021-06 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2021-09/index.html b/docs/monthly/2021-09/index.html new file mode 100644 index 0000000000..c95a3d57c3 --- /dev/null +++ b/docs/monthly/2021-09/index.html @@ -0,0 +1,1473 @@ + + + + + 2021-09 + + + + + +
web-features explorer
+ + + +
+ +

2021-09 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + + + + + +

Got implemented in Safari this month

+ + + + + +

Got implemented in Safari on iOS this month

+ + + + + +
+ + + + + diff --git a/docs/monthly/2021-10/index.html b/docs/monthly/2021-10/index.html new file mode 100644 index 0000000000..7ebaf2e951 --- /dev/null +++ b/docs/monthly/2021-10/index.html @@ -0,0 +1,238 @@ + + + + + 2021-10 + + + + + +
web-features explorer
+ + + +
+ +

2021-10 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + + + +

Got implemented in Edge this month

+ + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2022-01/index.html b/docs/monthly/2022-01/index.html new file mode 100644 index 0000000000..60a95ae33d --- /dev/null +++ b/docs/monthly/2022-01/index.html @@ -0,0 +1,491 @@ + + + + + 2022-01 + + + + + +
web-features explorer
+ + + +
+ +

2022-01 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + + + + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2022-02/index.html b/docs/monthly/2022-02/index.html new file mode 100644 index 0000000000..b912cc9859 --- /dev/null +++ b/docs/monthly/2022-02/index.html @@ -0,0 +1,582 @@ + + + + + 2022-02 + + + + + +
web-features explorer
+ + + +
+ +

2022-02 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + + + + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2022-03/index.html b/docs/monthly/2022-03/index.html new file mode 100644 index 0000000000..bad3d115e3 --- /dev/null +++ b/docs/monthly/2022-03/index.html @@ -0,0 +1,2337 @@ + + + + + 2022-03 + + + + + +
web-features explorer
+ + + +
+ +

2022-03 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + + + + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + + + + + +

Got implemented in Safari this month

+ + + + + +

Got implemented in Safari on iOS this month

+ + + + + +
+ + + + + diff --git a/docs/monthly/2022-05/index.html b/docs/monthly/2022-05/index.html new file mode 100644 index 0000000000..dfdaf0877d --- /dev/null +++ b/docs/monthly/2022-05/index.html @@ -0,0 +1,1326 @@ + + + + + 2022-05 + + + + + +
web-features explorer
+ + + +
+ +

2022-05 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2022-06/index.html b/docs/monthly/2022-06/index.html new file mode 100644 index 0000000000..c1b66a7751 --- /dev/null +++ b/docs/monthly/2022-06/index.html @@ -0,0 +1,404 @@ + + + + + 2022-06 + + + + + +
web-features explorer
+ + + +
+ +

2022-06 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + + + + + + + + + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2022-07/index.html b/docs/monthly/2022-07/index.html new file mode 100644 index 0000000000..b2e67d869e --- /dev/null +++ b/docs/monthly/2022-07/index.html @@ -0,0 +1,1131 @@ + + + + + 2022-07 + + + + + +
web-features explorer
+ + + +
+ +

2022-07 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + +

No features became available this month.

+ + + + + + + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2022-08/index.html b/docs/monthly/2022-08/index.html new file mode 100644 index 0000000000..3ad0267b91 --- /dev/null +++ b/docs/monthly/2022-08/index.html @@ -0,0 +1,228 @@ + + + + + 2022-08 + + + + + +
web-features explorer
+ + + +
+ +

2022-08 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2022-09/index.html b/docs/monthly/2022-09/index.html new file mode 100644 index 0000000000..9ea3fdbf82 --- /dev/null +++ b/docs/monthly/2022-09/index.html @@ -0,0 +1,1474 @@ + + + + + 2022-09 + + + + + +
web-features explorer
+ + + +
+ +

2022-09 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + + + + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2022-10/index.html b/docs/monthly/2022-10/index.html new file mode 100644 index 0000000000..851d8c2d4c --- /dev/null +++ b/docs/monthly/2022-10/index.html @@ -0,0 +1,598 @@ + + + + + 2022-10 + + + + + +
web-features explorer
+ + + +
+ +

2022-10 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + + + + + + + + + + +

Got implemented in Edge this month

+ + + + + + + + + +

Got implemented in Safari this month

+ + + + + +

Got implemented in Safari on iOS this month

+ + + + + +
+ + + + + diff --git a/docs/monthly/2022-11/index.html b/docs/monthly/2022-11/index.html new file mode 100644 index 0000000000..432493aaab --- /dev/null +++ b/docs/monthly/2022-11/index.html @@ -0,0 +1,495 @@ + + + + + 2022-11 + + + + + +
web-features explorer
+ + + +
+ +

2022-11 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + + + + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2022-12/index.html b/docs/monthly/2022-12/index.html new file mode 100644 index 0000000000..da6305b9a3 --- /dev/null +++ b/docs/monthly/2022-12/index.html @@ -0,0 +1,416 @@ + + + + + 2022-12 + + + + + +
web-features explorer
+ + + +
+ +

2022-12 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + + + + + + + + + + +

Got implemented in Edge this month

+ + + + + +

Got implemented in Firefox this month

+ + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2023-01/index.html b/docs/monthly/2023-01/index.html new file mode 100644 index 0000000000..597bd48937 --- /dev/null +++ b/docs/monthly/2023-01/index.html @@ -0,0 +1,675 @@ + + + + + 2023-01 + + + + + +
web-features explorer
+ + + +
+ +

2023-01 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + + + + + + + + + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2023-02/index.html b/docs/monthly/2023-02/index.html new file mode 100644 index 0000000000..d084a7a99d --- /dev/null +++ b/docs/monthly/2023-02/index.html @@ -0,0 +1,315 @@ + + + + + 2023-02 + + + + + +
web-features explorer
+ + + +
+ +

2023-02 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + + + + + + + + + + + + +

Got implemented in Firefox this month

+ + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2023-03/index.html b/docs/monthly/2023-03/index.html new file mode 100644 index 0000000000..ab41ae3f6f --- /dev/null +++ b/docs/monthly/2023-03/index.html @@ -0,0 +1,4129 @@ + + + + + 2023-03 + + + + + +
web-features explorer
+ + + +
+ +

2023-03 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + + + + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + + + + + +

Got implemented in Safari this month

+ + + + + +

Got implemented in Safari on iOS this month

+ + + + + +
+ + + + + diff --git a/docs/monthly/2023-04/index.html b/docs/monthly/2023-04/index.html new file mode 100644 index 0000000000..e639ece58c --- /dev/null +++ b/docs/monthly/2023-04/index.html @@ -0,0 +1,309 @@ + + + + + 2023-04 + + + + + +
web-features explorer
+ + + +
+ +

2023-04 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2023-05/index.html b/docs/monthly/2023-05/index.html new file mode 100644 index 0000000000..7d06b16274 --- /dev/null +++ b/docs/monthly/2023-05/index.html @@ -0,0 +1,918 @@ + + + + + 2023-05 + + + + + +
web-features explorer
+ + + +
+ +

2023-05 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + + + + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2023-06/index.html b/docs/monthly/2023-06/index.html new file mode 100644 index 0000000000..166d478086 --- /dev/null +++ b/docs/monthly/2023-06/index.html @@ -0,0 +1,827 @@ + + + + + 2023-06 + + + + + +
web-features explorer
+ + + +
+ +

2023-06 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + + + + + + + + + + +

Got implemented in Edge this month

+ + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2023-07/index.html b/docs/monthly/2023-07/index.html new file mode 100644 index 0000000000..2a60da31aa --- /dev/null +++ b/docs/monthly/2023-07/index.html @@ -0,0 +1,992 @@ + + + + + 2023-07 + + + + + +
web-features explorer
+ + + +
+ +

2023-07 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + + + + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2023-08/index.html b/docs/monthly/2023-08/index.html new file mode 100644 index 0000000000..d0b488abee --- /dev/null +++ b/docs/monthly/2023-08/index.html @@ -0,0 +1,576 @@ + + + + + 2023-08 + + + + + +
web-features explorer
+ + + +
+ +

2023-08 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + + + + + + +

Got implemented in Chrome this month

+ + + + + + + +

Got implemented in Edge this month

+ + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2023-09/index.html b/docs/monthly/2023-09/index.html new file mode 100644 index 0000000000..ddd1c17a9f --- /dev/null +++ b/docs/monthly/2023-09/index.html @@ -0,0 +1,2439 @@ + + + + + 2023-09 + + + + + +
web-features explorer
+ + + +
+ +

2023-09 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + + + + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + +

Got implemented in Safari this month

+ + + + + +

Got implemented in Safari on iOS this month

+ + + + + +
+ + + + + diff --git a/docs/monthly/2023-10/index.html b/docs/monthly/2023-10/index.html new file mode 100644 index 0000000000..440dd4d916 --- /dev/null +++ b/docs/monthly/2023-10/index.html @@ -0,0 +1,1011 @@ + + + + + 2023-10 + + + + + +
web-features explorer
+ + + +
+ +

2023-10 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + + + + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + + + + + + + +

Got implemented in Safari on iOS this month

+ + + + + +
+ + + + + diff --git a/docs/monthly/2023-11/index.html b/docs/monthly/2023-11/index.html new file mode 100644 index 0000000000..f6c6395c34 --- /dev/null +++ b/docs/monthly/2023-11/index.html @@ -0,0 +1,410 @@ + + + + + 2023-11 + + + + + +
web-features explorer
+ + + +
+ +

2023-11 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + + + + + + + + + + +

Got implemented in Edge this month

+ + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2023-12/index.html b/docs/monthly/2023-12/index.html new file mode 100644 index 0000000000..4125d776c5 --- /dev/null +++ b/docs/monthly/2023-12/index.html @@ -0,0 +1,2124 @@ + + + + + 2023-12 + + + + + +
web-features explorer
+ + + +
+ +

2023-12 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + + + + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + + + + + +

Got implemented in Safari this month

+ + + + + +

Got implemented in Safari on iOS this month

+ + + + + +
+ + + + + diff --git a/docs/monthly/2024-01/index.html b/docs/monthly/2024-01/index.html new file mode 100644 index 0000000000..5cff506c25 --- /dev/null +++ b/docs/monthly/2024-01/index.html @@ -0,0 +1,2124 @@ + + + + + 2024-01 + + + + + +
web-features explorer
+ + + +
+ +

2024-01 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + + + + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2024-02/index.html b/docs/monthly/2024-02/index.html new file mode 100644 index 0000000000..9602c6e931 --- /dev/null +++ b/docs/monthly/2024-02/index.html @@ -0,0 +1,734 @@ + + + + + 2024-02 + + + + + +
web-features explorer
+ + + +
+ +

2024-02 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + + + + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2024-03/index.html b/docs/monthly/2024-03/index.html new file mode 100644 index 0000000000..d50acc831d --- /dev/null +++ b/docs/monthly/2024-03/index.html @@ -0,0 +1,1982 @@ + + + + + 2024-03 + + + + + +
web-features explorer
+ + + +
+ +

2024-03 update

+ +

Became widely available this month

+ + + + + +

Just became available in all browsers this month

+ + + + + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + + + + + +

Got implemented in Safari this month

+ + + + + +

Got implemented in Safari on iOS this month

+ + + + + +
+ + + + + diff --git a/docs/monthly/2024-04/index.html b/docs/monthly/2024-04/index.html new file mode 100644 index 0000000000..3ba7991339 --- /dev/null +++ b/docs/monthly/2024-04/index.html @@ -0,0 +1,564 @@ + + + + + 2024-04 + + + + + +
web-features explorer
+ + + +
+ +

2024-04 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + + + + + + + + + + + + +

Got implemented in Firefox this month

+ + + + + +

Got implemented in Firefox for Android this month

+ + + + + + + + + +
+ + + + + diff --git a/docs/monthly/2024-05/index.html b/docs/monthly/2024-05/index.html new file mode 100644 index 0000000000..7ea26343b5 --- /dev/null +++ b/docs/monthly/2024-05/index.html @@ -0,0 +1,948 @@ + + + + + 2024-05 + + + + + +
web-features explorer
+ + + +
+ +

2024-05 update

+ +

Became widely available this month

+ + +

No features became widely available this month.

+ + +

Just became available in all browsers this month

+ + + + + + + +

Got implemented in Chrome this month

+ + + + + +

Got implemented in Chrome Android this month

+ + + + + +

Got implemented in Edge this month

+ + + + + + + + + +

Got implemented in Safari this month

+ + + + + +

Got implemented in Safari on iOS this month

+ + + + + +
+ + + + + diff --git a/docs/monthly/index.html b/docs/monthly/index.html new file mode 100644 index 0000000000..4dfbd4a9e0 --- /dev/null +++ b/docs/monthly/index.html @@ -0,0 +1,364 @@ + + + + + Monthly updates + + + + + +
web-features explorer
+ + + +
+ +

Monthly updates

+ + + +
+ + + + + diff --git a/docs/nobaseline/index.html b/docs/nobaseline/index.html new file mode 100644 index 0000000000..45c6ef813d --- /dev/null +++ b/docs/nobaseline/index.html @@ -0,0 +1,8028 @@ + + + + + Features not yet available + + + + + +
web-features explorer
+ + + +
+

Features not yet available

+ +

These web features are not yet supported across all core browsers.

+ + + +
+ + + + + diff --git a/docs/recent/index.html b/docs/recent/index.html new file mode 100644 index 0000000000..ff99072f41 --- /dev/null +++ b/docs/recent/index.html @@ -0,0 +1,8951 @@ + + + + + Newly available features + + + + + +
web-features explorer
+ + + +
+

Newly available features

+ +

These web features became supported in all core browsers recently.

+ + + +
+ + + + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000000..b22817b509 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2435 @@ +{ + "name": "web-features-explorer", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "web-features-explorer", + "devDependencies": { + "@11ty/eleventy": "^2.0.1", + "@mdn/browser-compat-data": "^5.5.31", + "web-features": "next" + } + }, + "node_modules/@11ty/dependency-tree": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@11ty/dependency-tree/-/dependency-tree-2.0.1.tgz", + "integrity": "sha512-5R+DsT9LJ9tXiSQ4y+KLFppCkQyXhzAm1AIuBWE/sbU0hSXY5pkhoqQYEcPJQFg/nglL+wD55iv2j+7O96UAvg==", + "dev": true + }, + "node_modules/@11ty/eleventy": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@11ty/eleventy/-/eleventy-2.0.1.tgz", + "integrity": "sha512-t8XVUbCJByhVEa1RzO0zS2QzbL3wPY8ot1yUw9noqiSHxJWUwv6jiwm1/MZDPTYtkZH2ZHvdQIRQ5/SjG9XmLw==", + "dev": true, + "dependencies": { + "@11ty/dependency-tree": "^2.0.1", + "@11ty/eleventy-dev-server": "^1.0.4", + "@11ty/eleventy-utils": "^1.0.1", + "@11ty/lodash-custom": "^4.17.21", + "@iarna/toml": "^2.2.5", + "@sindresorhus/slugify": "^1.1.2", + "bcp-47-normalize": "^1.1.1", + "chokidar": "^3.5.3", + "cross-spawn": "^7.0.3", + "debug": "^4.3.4", + "dependency-graph": "^0.11.0", + "ejs": "^3.1.9", + "fast-glob": "^3.2.12", + "graceful-fs": "^4.2.11", + "gray-matter": "^4.0.3", + "hamljs": "^0.6.2", + "handlebars": "^4.7.7", + "is-glob": "^4.0.3", + "iso-639-1": "^2.1.15", + "kleur": "^4.1.5", + "liquidjs": "^10.7.0", + "luxon": "^3.3.0", + "markdown-it": "^13.0.1", + "micromatch": "^4.0.5", + "minimist": "^1.2.8", + "moo": "^0.5.2", + "multimatch": "^5.0.0", + "mustache": "^4.2.0", + "normalize-path": "^3.0.0", + "nunjucks": "^3.2.3", + "path-to-regexp": "^6.2.1", + "please-upgrade-node": "^3.2.0", + "posthtml": "^0.16.6", + "posthtml-urls": "^1.0.0", + "pug": "^3.0.2", + "recursive-copy": "^2.0.14", + "semver": "^7.3.8", + "slugify": "^1.6.6" + }, + "bin": { + "eleventy": "cmd.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/eleventy-dev-server": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@11ty/eleventy-dev-server/-/eleventy-dev-server-1.0.4.tgz", + "integrity": "sha512-qVBmV2G1KF/0o5B/3fITlrrDHy4bONUI2YuN3/WJ3BNw4NU1d/we8XhKrlgq13nNvHoBx5czYp3LZt8qRG53Fg==", + "dev": true, + "dependencies": { + "@11ty/eleventy-utils": "^1.0.1", + "chokidar": "^3.5.3", + "debug": "^4.3.4", + "dev-ip": "^1.0.1", + "finalhandler": "^1.2.0", + "mime": "^3.0.0", + "minimist": "^1.2.8", + "morphdom": "^2.7.0", + "please-upgrade-node": "^3.2.0", + "ssri": "^8.0.1", + "ws": "^8.13.0" + }, + "bin": { + "eleventy-dev-server": "cmd.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/eleventy-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@11ty/eleventy-utils/-/eleventy-utils-1.0.2.tgz", + "integrity": "sha512-Zy2leMK1DQR6Q6ZPSagv7QpJaAz9uVbb+RmVetYFp3foMeQtOSZx7w2u5daRFmP+PeNq9vO9H4xtBToYFWZwHA==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@11ty/lodash-custom": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@11ty/lodash-custom/-/lodash-custom-4.17.21.tgz", + "integrity": "sha512-Mqt6im1xpb1Ykn3nbcCovWXK3ggywRJa+IXIdoz4wIIK+cvozADH63lexcuPpGS/gJ6/m2JxyyXDyupkMr5DHw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz", + "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz", + "integrity": "sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz", + "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.1", + "@babel/helper-validator-identifier": "^7.24.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@iarna/toml": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", + "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==", + "dev": true + }, + "node_modules/@mdn/browser-compat-data": { + "version": "5.5.31", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.5.31.tgz", + "integrity": "sha512-k2cK7WJKjWkcU3TY7yIc1dK6RZY8nqm+wNiR9uX9+Qcy5Gy9XzWoWNm+sQ/78OtBi6aTTXrK3HEopidhXasD+w==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@sindresorhus/slugify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-1.1.2.tgz", + "integrity": "sha512-V9nR/W0Xd9TSGXpZ4iFUcFGhuOJtZX82Fzxj1YISlbSgKvIiNa7eLEZrT0vAraPOt++KHauIVNYgGRgjc13dXA==", + "dev": true, + "dependencies": { + "@sindresorhus/transliterate": "^0.1.1", + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sindresorhus/transliterate": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-0.1.2.tgz", + "integrity": "sha512-5/kmIOY9FF32nicXH+5yLNTX4NJ4atl7jRgqAJuIn/iyDFXBktOKDxCvyGE/EzmF4ngSUvjXxQUQlQiZ5lfw+w==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0", + "lodash.deburr": "^4.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sindresorhus/transliterate/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "node_modules/a-sync-waterfall": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==", + "dev": true + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-0.1.0.tgz", + "integrity": "sha512-lqzY9o+BbeGHRCOyxQkt/Tgvz0IZhTmQiA+LxQW8wSNpcTbj8K+0cZiSEvbpNZZP9/11Gy7dnLO3GNWUXO4d1g==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true + }, + "node_modules/assert-never": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz", + "integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==", + "dev": true + }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true + }, + "node_modules/babel-walk": { + "version": "3.0.0-canary-5", + "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz", + "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.9.6" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/bcp-47": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-1.0.8.tgz", + "integrity": "sha512-Y9y1QNBBtYtv7hcmoX0tR+tUNSFZGZ6OL6vKPObq8BbOhkCoyayF6ogfLTgAli/KuAEbsYHYUNq2AQuY6IuLag==", + "dev": true, + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47-match": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-1.0.3.tgz", + "integrity": "sha512-LggQ4YTdjWQSKELZF5JwchnBa1u0pIQSZf5lSdOHEdbVP55h0qICA/FUp3+W99q0xqxYa1ZQizTUH87gecII5w==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47-normalize": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bcp-47-normalize/-/bcp-47-normalize-1.1.1.tgz", + "integrity": "sha512-jWZ1Jdu3cs0EZdfCkS0UE9Gg01PtxnChjEBySeB+Zo6nkqtFfnvtoQQgP1qU1Oo4qgJgxhTI6Sf9y/pZIhPs0A==", + "dev": true, + "dependencies": { + "bcp-47": "^1.0.0", + "bcp-47-match": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==", + "dev": true, + "dependencies": { + "is-regex": "^1.0.3" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/constantinople": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", + "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.1" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/dev-ip": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", + "integrity": "sha512-LmVkry/oDShEgSZPNgqCIp2/TlqtExeGmymru3uCELnfyjY11IzpAproLYs+1X88fXO6DBoYP3ul2Xo2yz2j6A==", + "dev": true, + "bin": { + "dev-ip": "lib/dev-ip.js" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/doctypes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", + "integrity": "sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==", + "dev": true + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dev": true, + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/hamljs": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/hamljs/-/hamljs-0.6.2.tgz", + "integrity": "sha512-/chXRp4WpL47I+HX1vCCdSbEXAljEG2FBMmgO7Am0bYsqgnEjreeWzUdX1onXqwZtcfgxbCg5WtEYYvuZ5muBg==", + "dev": true + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "node_modules/http-equiv-refresh": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-equiv-refresh/-/http-equiv-refresh-1.0.0.tgz", + "integrity": "sha512-TScO04soylRN9i/QdOdgZyhydXg9z6XdaGzEyOgDKycePeDeTT4KvigjBcI+tgfTlieLWauGORMq5F1eIDa+1w==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dev": true, + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-expression": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", + "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "object-assign": "^4.1.1" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-json": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", + "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==", + "dev": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/iso-639-1": { + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/iso-639-1/-/iso-639-1-2.1.15.tgz", + "integrity": "sha512-7c7mBznZu2ktfvyT582E2msM+Udc1EjOyhVRE/0ZsjD9LBtWSm23h3PtiRh2a35XoUsTQQjJXaJzuLjXsOdFDg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/jake": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.1.tgz", + "integrity": "sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==", + "dev": true, + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "integrity": "sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "integrity": "sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==", + "dev": true, + "dependencies": { + "is-promise": "^2.0.0", + "promise": "^7.0.1" + } + }, + "node_modules/junk": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/junk/-/junk-1.0.3.tgz", + "integrity": "sha512-3KF80UaaSSxo8jVnRYtMKNGFOoVPBdkkVPsw+Ad0y4oxKXPduS6G6iHkrf69yJVff/VAaYXkV42rtZ7daJxU3w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/linkify-it": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz", + "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==", + "dev": true, + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/liquidjs": { + "version": "10.13.0", + "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.13.0.tgz", + "integrity": "sha512-MnxinZZgtLcbuvwjCuNwsVthDQgcGEJzXRZZIq9rkUILwLbez3286Gsl0P3h9cL3crng45Joh+sCMcoQ0WsL5w==", + "dev": true, + "dependencies": { + "commander": "^10.0.0" + }, + "bin": { + "liquid": "bin/liquid.js", + "liquidjs": "bin/liquid.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/liquidjs" + } + }, + "node_modules/list-to-array": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/list-to-array/-/list-to-array-1.1.0.tgz", + "integrity": "sha512-+dAZZ2mM+/m+vY9ezfoueVvrgnHIGi5FvgSymbIgJOFwiznWyA59mav95L+Mc6xPtL3s9gm5eNTlNtxJLbNM1g==", + "dev": true + }, + "node_modules/lodash.deburr": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", + "integrity": "sha512-m/M1U1f3ddMCs6Hq2tAsYThTBDaAKFDX3dwDo97GEYzamXi9SqUpjWi/Rrj/gf3X2n8ktwgZrlP1z6E3v/IExQ==", + "dev": true + }, + "node_modules/luxon": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.4.tgz", + "integrity": "sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/markdown-it": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.2.tgz", + "integrity": "sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1", + "entities": "~3.0.1", + "linkify-it": "^4.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/maximatch": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/maximatch/-/maximatch-0.1.0.tgz", + "integrity": "sha512-9ORVtDUFk4u/NFfo0vG/ND/z7UQCVZBL539YW0+U1I7H1BkZwizcPx5foFv7LCPcBnm2U6RjFnQOsIvN4/Vm2A==", + "dev": true, + "dependencies": { + "array-differ": "^1.0.0", + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "minimatch": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/maximatch/node_modules/array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/maximatch/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/maximatch/node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/moo": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz", + "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==", + "dev": true + }, + "node_modules/morphdom": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/morphdom/-/morphdom-2.7.2.tgz", + "integrity": "sha512-Dqb/lHFyTi7SZpY0a5R4I/0Edo+iPMbaUexsHHsLAByyixCDiLHPHyVoKVmrpL0THcT7V9Cgev9y21TQYq6wQg==", + "dev": true + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/multimatch": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", + "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", + "dev": true, + "dependencies": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mustache": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "dev": true, + "bin": { + "mustache": "bin/mustache" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nunjucks": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz", + "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==", + "dev": true, + "dependencies": { + "a-sync-waterfall": "^1.0.0", + "asap": "^2.0.3", + "commander": "^5.1.0" + }, + "bin": { + "nunjucks-precompile": "bin/precompile" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "chokidar": "^3.3.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/nunjucks/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parse-srcset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", + "integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==", + "dev": true + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz", + "integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "dependencies": { + "semver-compare": "^1.0.0" + } + }, + "node_modules/posthtml": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", + "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", + "dev": true, + "dependencies": { + "posthtml-parser": "^0.11.0", + "posthtml-render": "^3.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/posthtml-parser": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", + "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", + "dev": true, + "dependencies": { + "htmlparser2": "^7.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/posthtml-render": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", + "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", + "dev": true, + "dependencies": { + "is-json": "^2.0.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/posthtml-urls": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/posthtml-urls/-/posthtml-urls-1.0.0.tgz", + "integrity": "sha512-CMJ0L009sGQVUuYM/g6WJdscsq6ooAwhUuF6CDlYPMLxKp2rmCYVebEU+wZGxnQstGJhZPMvXsRhtqekILd5/w==", + "dev": true, + "dependencies": { + "http-equiv-refresh": "^1.0.0", + "list-to-array": "^1.1.0", + "parse-srcset": "^1.0.2", + "promise-each": "^2.2.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/promise-each": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/promise-each/-/promise-each-2.2.0.tgz", + "integrity": "sha512-67roqt1k3QDA41DZ8xi0V+rF3GoaMiX7QilbXu0vXimut+9RcKBNZ/t60xCRgcsihmNUsEjh48xLfNqOrKblUg==", + "dev": true, + "dependencies": { + "any-promise": "^0.1.0" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true + }, + "node_modules/pug": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz", + "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==", + "dev": true, + "dependencies": { + "pug-code-gen": "^3.0.2", + "pug-filters": "^4.0.0", + "pug-lexer": "^5.0.1", + "pug-linker": "^4.0.0", + "pug-load": "^3.0.0", + "pug-parser": "^6.0.0", + "pug-runtime": "^3.0.1", + "pug-strip-comments": "^2.0.0" + } + }, + "node_modules/pug-attrs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz", + "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==", + "dev": true, + "dependencies": { + "constantinople": "^4.0.1", + "js-stringify": "^1.0.2", + "pug-runtime": "^3.0.0" + } + }, + "node_modules/pug-code-gen": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz", + "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==", + "dev": true, + "dependencies": { + "constantinople": "^4.0.1", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.2", + "pug-attrs": "^3.0.0", + "pug-error": "^2.0.0", + "pug-runtime": "^3.0.0", + "void-elements": "^3.1.0", + "with": "^7.0.0" + } + }, + "node_modules/pug-error": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz", + "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==", + "dev": true + }, + "node_modules/pug-filters": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz", + "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==", + "dev": true, + "dependencies": { + "constantinople": "^4.0.1", + "jstransformer": "1.0.0", + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0", + "resolve": "^1.15.1" + } + }, + "node_modules/pug-lexer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz", + "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", + "dev": true, + "dependencies": { + "character-parser": "^2.2.0", + "is-expression": "^4.0.0", + "pug-error": "^2.0.0" + } + }, + "node_modules/pug-linker": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz", + "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==", + "dev": true, + "dependencies": { + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0" + } + }, + "node_modules/pug-load": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz", + "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "pug-walk": "^2.0.0" + } + }, + "node_modules/pug-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz", + "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==", + "dev": true, + "dependencies": { + "pug-error": "^2.0.0", + "token-stream": "1.0.0" + } + }, + "node_modules/pug-runtime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz", + "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==", + "dev": true + }, + "node_modules/pug-strip-comments": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz", + "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==", + "dev": true, + "dependencies": { + "pug-error": "^2.0.0" + } + }, + "node_modules/pug-walk": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz", + "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==", + "dev": true + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recursive-copy": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/recursive-copy/-/recursive-copy-2.0.14.tgz", + "integrity": "sha512-K8WNY8f8naTpfbA+RaXmkaQuD1IeW9EgNEfyGxSqqTQukpVtoOKros9jUqbpEsSw59YOmpd8nCBgtqJZy5nvog==", + "dev": true, + "dependencies": { + "errno": "^0.1.2", + "graceful-fs": "^4.1.4", + "junk": "^1.0.1", + "maximatch": "^0.1.0", + "mkdirp": "^0.5.1", + "pify": "^2.3.0", + "promise": "^7.0.1", + "rimraf": "^2.7.1", + "slash": "^1.0.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/slugify": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", + "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/token-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz", + "integrity": "sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==", + "dev": true + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/web-features": { + "version": "0.8.5-dev-20240606105715-b9aa5f6", + "resolved": "https://registry.npmjs.org/web-features/-/web-features-0.8.5-dev-20240606105715-b9aa5f6.tgz", + "integrity": "sha512-Vk3KLPwpmGqRe2OpX44GSAGoW0ktzmAA7H32YoXkMO8TwJhqc5vyKX7x3oAZVaBeS0716tJ0gy8khUxV6tdx8g==", + "dev": true + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/with": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", + "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.9.6", + "@babel/types": "^7.9.6", + "assert-never": "^1.2.1", + "babel-walk": "3.0.0-canary-5" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz", + "integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000000..e5649830ea --- /dev/null +++ b/package.json @@ -0,0 +1,13 @@ +{ + "name": "web-features-explorer", + "description": "Visualize web features", + "devDependencies": { + "@11ty/eleventy": "^2.0.1", + "@mdn/browser-compat-data": "^5.5.31", + "web-features": "next" + }, + "scripts": { + "build": "npx rimraf docs && npx @11ty/eleventy", + "serve": "npx @11ty/eleventy --serve" + } +} diff --git a/site/_includes/baseline.njk b/site/_includes/baseline.njk new file mode 100644 index 0000000000..ee52896c8e --- /dev/null +++ b/site/_includes/baseline.njk @@ -0,0 +1,5 @@ +
+ {% if not feature.status.baseline %}Limited availability{% endif %} + {% if feature.status.baseline === "low" %}Newly available since {{ feature.status.baseline_low_date }} (baseline low){% endif %} + {% if feature.status.baseline === "high" %}Widely available since {{ feature.status.baseline_high_date }} (baseline high){% endif %} +
\ No newline at end of file diff --git a/site/_includes/compat.njk b/site/_includes/compat.njk new file mode 100644 index 0000000000..cba87236b0 --- /dev/null +++ b/site/_includes/compat.njk @@ -0,0 +1,22 @@ + \ No newline at end of file diff --git a/site/_includes/feature_full.njk b/site/_includes/feature_full.njk new file mode 100644 index 0000000000..57b302debc --- /dev/null +++ b/site/_includes/feature_full.njk @@ -0,0 +1,45 @@ +
+ {% include "baseline.njk" %} + +

{{ feature.name }}

+

{{ feature.description_html | safe }}

+ +

Compatibility{% if feature.caniuse %} (view on caniuse.com){% endif %}

+ {% include "compat.njk" %} + + {% include "mdn_docs.njk" %} + + {% include "specs.njk" %} + +

Vendor resources

+ + +

BCD data

+ +
\ No newline at end of file diff --git a/site/_includes/feature_short.njk b/site/_includes/feature_short.njk new file mode 100644 index 0000000000..332bee5cef --- /dev/null +++ b/site/_includes/feature_short.njk @@ -0,0 +1,9 @@ +
+ {% include "baseline.njk" %} + +

{{ feature.name }}

+

{{ feature.description_html | safe }}

+

Learn more

+ + {% include "compat.njk" %} +
\ No newline at end of file diff --git a/site/_includes/layout.njk b/site/_includes/layout.njk new file mode 100644 index 0000000000..7faa3cdcad --- /dev/null +++ b/site/_includes/layout.njk @@ -0,0 +1,34 @@ + + + + + {{ title }} + + + + + +
web-features explorer
+ + + +
+ {{ content | safe }} +
+ + + + + diff --git a/site/_includes/mdn_docs.njk b/site/_includes/mdn_docs.njk new file mode 100644 index 0000000000..7b2b1dea25 --- /dev/null +++ b/site/_includes/mdn_docs.njk @@ -0,0 +1,12 @@ +{% if feature.hasMdnUrls %} +
+

MDN docs

+ {% for area, urls in feature.mdnUrls %} + + {% endfor %} +
+{% endif %} \ No newline at end of file diff --git a/site/_includes/specs.njk b/site/_includes/specs.njk new file mode 100644 index 0000000000..621fd65ecd --- /dev/null +++ b/site/_includes/specs.njk @@ -0,0 +1,10 @@ +{% if feature.spec.length %} +
+

Specifications

+ +
+{% endif %} \ No newline at end of file diff --git a/site/all.njk b/site/all.njk new file mode 100644 index 0000000000..6cd95891f7 --- /dev/null +++ b/site/all.njk @@ -0,0 +1,14 @@ +--- +title: All features +layout: layout.njk +--- + +

{{ title }}

+ + diff --git a/site/assets/baseline-high.svg b/site/assets/baseline-high.svg new file mode 100644 index 0000000000..83b6ef2e14 --- /dev/null +++ b/site/assets/baseline-high.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/site/assets/baseline-limited.svg b/site/assets/baseline-limited.svg new file mode 100644 index 0000000000..9b126ff1dc --- /dev/null +++ b/site/assets/baseline-limited.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/site/assets/baseline-low.svg b/site/assets/baseline-low.svg new file mode 100644 index 0000000000..4256a616b7 --- /dev/null +++ b/site/assets/baseline-low.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/site/assets/chrome.svg b/site/assets/chrome.svg new file mode 100644 index 0000000000..e3d20596a9 --- /dev/null +++ b/site/assets/chrome.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/site/assets/edge.svg b/site/assets/edge.svg new file mode 100644 index 0000000000..328c84572f --- /dev/null +++ b/site/assets/edge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/site/assets/firefox.svg b/site/assets/firefox.svg new file mode 100644 index 0000000000..543c4e5aa1 --- /dev/null +++ b/site/assets/firefox.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/site/assets/safari.svg b/site/assets/safari.svg new file mode 100644 index 0000000000..4e3ff7ad09 --- /dev/null +++ b/site/assets/safari.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/site/assets/styles.css b/site/assets/styles.css new file mode 100644 index 0000000000..75dcde3399 --- /dev/null +++ b/site/assets/styles.css @@ -0,0 +1,268 @@ +:root { + --baseline-low-bg: #e8f0fe; + --baseline-low-label-bg: #d2e3fc; + --baseline-high-bg: #e6f4ea; + --baseline-high-label-bg: #ceead6; + --baseline-limited-bg: #f1f3f4; + --baseline-limited-label-bg: #e3e6e8; + --browser-supported-bg: #ceead6; + --browser-unsupported-bg: #f5d6d6; + --text: black; + --sub-text: #666; +} + +html { + font-size: 1rem; + font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, + Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; + color: var(--text); +} + +body { + margin: 2rem; +} + +header { + font-size: 2rem; + font-weight: bold; + margin-block-end: 2rem; +} + +h1 { + margin: 2rem 0; +} + +.intro { + margin: 2rem 0; +} + +.intro dl { + display: grid; + grid-template-columns: max-content auto; + gap: 0.5rem; +} + +.intro dl dt { + font-weight: bold; +} + +.intro dl dd { + margin: 0; +} + +ul, +li { + margin: 0; + padding: 0; + list-style: none; +} + +h3 .subtext { + font-size: small; + font-weight: normal; +} + +.feature { + padding: 2rem; + border-radius: 0.5rem; + margin-block-start: 2rem; +} + +.baseline-false { + background: var(--baseline-limited-bg); +} + +.baseline-low { + background: var(--baseline-low-bg); +} + +.baseline-high { + background: var(--baseline-high-bg); +} + +.feature h2, +.feature h1 { + margin: 0; + font-size: 1.2rem; +} + +.feature > p { + margin: 2rem 0; +} + +.feature.short > p { + margin: 1rem 0; +} + +.feature .availability { + --bg: var(--baseline-limited-label-bg); + padding: 0.25rem; + border-radius: 0.25rem; + background: var(--bg); + font-weight: bold; + font-size: 0.75rem; + border: 2px solid color-mix(in srgb, var(--bg) 90%, black); + width: max-content; + padding-inline-start: 2rem; + background-repeat: no-repeat; + background-position: 0.25rem center; + background-size: 1.5rem; + background-image: url(./baseline-limited.svg); + float: right; + margin: 0 0 1rem 1rem; +} + +.feature.baseline-low .availability { + --bg: var(--baseline-low-label-bg); + background-image: url(./baseline-low.svg); +} + +.feature.baseline-high .availability { + --bg: var(--baseline-high-label-bg); + background-image: url(./baseline-high.svg); +} + +.compat { + display: flex; + flex-wrap: wrap; + gap: 0.25rem; +} + +.compat .browser { + --bg: var(--browser-unsupported-bg); + padding: 1.25rem 0.55rem 0.25rem 0.5rem; + border-radius: 0.25rem; + border: 2px solid color-mix(in srgb, var(--bg) 90%, black); + background-color: var(--bg); + background-position: center .25rem; + background-repeat: no-repeat; + background-size: 1rem; + display: flex; + flex-direction: column; + align-items: center; + min-width: 4rem; +} + +.compat .browser.supported { + --bg: var(--browser-supported-bg); +} + +.compat .browser-chrome, +.compat .browser-chrome_android { + background-image: url(./chrome.svg); +} + +.compat .browser-firefox, +.compat .browser-firefox_android { + background-image: url(./firefox.svg); +} + +.compat .browser-edge { + background-image: url(./edge.svg); +} + +.compat .browser-safari, +.compat .browser-safari_ios { + background-image: url(./safari.svg); +} + +.compat .browser .name { + font-weight: bold; +} + +.compat .browser .date, +.compat .browser .bug { + font-style: italic; + font-size: 0.75rem; +} + +.feature .resources, +.feature .resources li { + list-style: disc; + padding-inline-start: 0.5rem; + margin-inline-start: 0.5rem; +} + +nav { + border-block-end: 2px solid; + padding-inline-start: 1rem; +} + +nav ul { + display: flex; + justify-content: start; + gap: 0.25rem; +} + +nav a { + display: block; + padding: 0.5rem; +} + +nav li { + border: 2px solid; + border-block-end-width: 0; +} + +.mdn-docs { + display: flex; + gap: 0.5rem; + flex-wrap: wrap; +} + +.mdn-docs h3 { + flex-basis: 100%; +} + +.mdn-docs-area { + align-self: start; + flex: 15rem 1 1; + position: relative; +} + +.mdn-docs-area::before { + content: attr(data-area); + text-transform: uppercase; + font-size: small; + padding: .25rem; + background: #fff5; + border: 2px solid #0003; + position: absolute; + inset: 0 0 auto auto; + border-width: 0 0 2px 2px; +} + +.mdn-docs h4 { + margin: 0; + text-transform: uppercase; +} + +.mdn-docs li { + text-overflow: ellipsis; + overflow: hidden; +} + +.link-list { + background: #fff5; + padding: 1rem; + border: 2px solid #0003; +} + +.link-list-item { + border-block-end: 1px solid #0003; + padding-block-end: 1rem; + margin-block-end: 1rem; +} + +.link-list-item:last-of-type { + border: none; + padding: 0; + margin: 0; +} + +footer { + border-block-start: 2px solid; + margin-block-start: 2rem; + color: var(--sub-text); + font-size: smaller; +} diff --git a/site/baseline.njk b/site/baseline.njk new file mode 100644 index 0000000000..9ba14f9d02 --- /dev/null +++ b/site/baseline.njk @@ -0,0 +1,16 @@ +--- +title: Widely available features +layout: layout.njk +--- + +

{{ title }}

+ +

These features have been supported across all core browsers for a while.

+ + diff --git a/site/feature.njk b/site/feature.njk new file mode 100644 index 0000000000..d0c9a9ddaf --- /dev/null +++ b/site/feature.njk @@ -0,0 +1,12 @@ +--- +layout: layout.njk +pagination: + data: allFeatures + size: 1 + alias: feature +permalink: "features/{{ feature.id | slugify }}/" +eleventyComputed: + title: "{{ feature.name }}" +--- + +{% include "feature_full.njk" %} \ No newline at end of file diff --git a/site/index.njk b/site/index.njk new file mode 100644 index 0000000000..cb48ab1d61 --- /dev/null +++ b/site/index.njk @@ -0,0 +1,8 @@ +--- +title: Web features explorer +layout: layout.njk +--- + +

{{ title }}

+ +

This website displays various lists of web features, organized by whether they are available on the web platform or not.

\ No newline at end of file diff --git a/site/missingone.njk b/site/missingone.njk new file mode 100644 index 0000000000..8d7b845b3f --- /dev/null +++ b/site/missingone.njk @@ -0,0 +1,15 @@ +--- +title: Features missing in just one engine +layout: layout.njk +--- +

{{ title }}

+ +

These web features are not yet available, one browser engine has not implemented it yet.

+ + diff --git a/site/monthly-updates.njk b/site/monthly-updates.njk new file mode 100644 index 0000000000..3b99c0533b --- /dev/null +++ b/site/monthly-updates.njk @@ -0,0 +1,54 @@ +--- +layout: layout.njk +pagination: + data: perMonth + size: 1 + alias: month +permalink: "monthly/{{ month[0] | slugify }}/" +eleventyComputed: + title: "{{ month[0] }}" +--- + +

{{ month[0] }} update

+ +

Became widely available this month

+ +{% if month[1].high.length > 0 %} + +{% else %} +

No features became widely available this month.

+{% endif %} + +

Just became available in all browsers this month

+ +{% if month[1].low.length > 0 %} + +{% else %} +

No features became available this month.

+{% endif %} + +{% for browser in browsers %} + {% if month[1][browser.id].length > 0 %} +

Got implemented in {{ browser.name }} this month

+ + + {% endif %} +{% endfor %} diff --git a/site/monthly.njk b/site/monthly.njk new file mode 100644 index 0000000000..1d80769f86 --- /dev/null +++ b/site/monthly.njk @@ -0,0 +1,14 @@ +--- +title: Monthly updates +layout: layout.njk +--- + +

{{ title }}

+ + diff --git a/site/nobaseline.njk b/site/nobaseline.njk new file mode 100644 index 0000000000..b7bda61b16 --- /dev/null +++ b/site/nobaseline.njk @@ -0,0 +1,15 @@ +--- +title: Features not yet available +layout: layout.njk +--- +

{{ title }}

+ +

These web features are not yet supported across all core browsers.

+ + diff --git a/site/recent.njk b/site/recent.njk new file mode 100644 index 0000000000..e6215a9ae8 --- /dev/null +++ b/site/recent.njk @@ -0,0 +1,15 @@ +--- +title: Newly available features +layout: layout.njk +--- +

{{ title }}

+ +

These web features became supported in all core browsers recently.

+ +