diff --git a/xml/tests/src/com/intellij/html/HtmlDocumentationTest.java b/xml/tests/src/com/intellij/html/HtmlDocumentationTest.java index 164a40284535..3fe5bff8533a 100644 --- a/xml/tests/src/com/intellij/html/HtmlDocumentationTest.java +++ b/xml/tests/src/com/intellij/html/HtmlDocumentationTest.java @@ -152,6 +152,11 @@ public class HtmlDocumentationTest extends BasePlatformTestCase { ); } + public void testInputAttributeQuickDoc() { + myFixture.configureByText("attributeQuickDocAtTheEndOfFile.html", "targetaction>"); + WebTestUtil.checkDocumentationAtCaret(myFixture); + } + public void testLookupDocWordCompletions() { myFixture.configureByText("test.html", "lan"); PsiElement originalElement = myFixture.getFile().findElementAt(myFixture.getEditor().getCaretModel().getOffset()); diff --git a/xml/tests/testData/documentation/attributeQuickDocAtTheEndOfFile.expected.html b/xml/tests/testData/documentation/attributeQuickDocAtTheEndOfFile.expected.html new file mode 100644 index 000000000000..61c2a28d6ffb --- /dev/null +++ b/xml/tests/testData/documentation/attributeQuickDocAtTheEndOfFile.expected.html @@ -0,0 +1,24 @@ +
popovertargetaction
+
+
+Newly available across major browsers +
+

Chrome 114, Chrome Android 114, Edge 114, Firefox 125, Firefox Android 125, Opera 100, Safari 17, Safari iOS 17 +

Baseline since 2024 +

+Specifies the action to be performed on a popover element being controlled by a control <input type="button">. Possible values are: +
+
"hide"
+
+

The button will hide a shown popover. If you try to hide an already hidden popover, no action will be taken. +

+
"show"
+
+

The button will show a hidden popover. If you try to show an already showing popover, no action will be taken. +

+
"toggle"
+
+

The button will toggle a popover between showing and hidden. If the popover is hidden, it will be shown; if the popover is showing, it will be hidden. If popovertargetaction is omitted, "toggle" is the default action that will be performed by the control button. +

+
+
By Mozilla Contributors, CC BY-SA 2.5
\ No newline at end of file diff --git a/xml/xml-psi-impl/mdn-doc-gen/src/GenerateMdnDocumentation.kt b/xml/xml-psi-impl/mdn-doc-gen/src/GenerateMdnDocumentation.kt index d5006e005920..2997444b6c15 100644 --- a/xml/xml-psi-impl/mdn-doc-gen/src/GenerateMdnDocumentation.kt +++ b/xml/xml-psi-impl/mdn-doc-gen/src/GenerateMdnDocumentation.kt @@ -401,9 +401,14 @@ class GenerateMdnDocumentation : BasePlatformTestCase() { val elementDoc = contents.prose.first().getProseContent().appendOtherSections(contents.prose) - val attributesDoc = contents.prose.filterProseById("attributes", "attributes_for_form_submission", "deprecated_attributes", - "obsolete_attributes", - "non-standard_attributes") + val attributesDoc = contents.prose.filterProseById( + "attributes", + "individual_attributes", + "attributes_for_form_submission", + "deprecated_attributes", + "obsolete_attributes", + "non-standard_attributes", + ) .joinToString("\n") { it.getProseContent().content } .let { RawProse(it) } diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/Css.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/Css.json index b623f2ca07c0..c8062cb0ebe9 100644 --- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/Css.json +++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/Css.json @@ -877,6 +877,24 @@ }, "formalSyntax": "@font-palette-values <dashed-ident> { <declaration-list> }" }, + "function": { + "url": "$MDN_URL$/web/css/@function", + "status": [ + "Experimental", + "StandardTrack" + ], + "compatibility": { + "Chrome": "139", + "ChromeAndroid": "139", + "Edge": "139", + "Opera": "123" + }, + "baseline": { + "level": "NONE" + }, + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The @function CSS at-rule enables defining CSS custom functions. Once defined, a custom function can be called using the <dashed-function> syntax (for example, --my-function(30px, 3)) within any property value.", + "formalSyntax": "@function <function-token> <function-parameter>#? ) [ returns <css-type> ]? { <declaration-rule-list> }\n  <function-parameter> = <custom-property-name> <css-type>? [ : <default-value> ]?\n  <css-type> = <syntax-component> | <type()>\n  <default-value> = <declaration-value>\n  <syntax-component> = <syntax-single-component> <syntax-multiplier>? | '<' transform-list '>'\n  <type()> = type( <string> )\n  <syntax-single-component> = '<' <syntax-type-name> '>' | <ident>\n  <syntax-multiplier> = '#' | '+'\n  <syntax-type-name> = angle | color | custom-ident | image | integer | length | length-percentage | number | percentage | resolution | string | time | url | transform-function" + }, "import": { "url": "$MDN_URL$/web/css/@import", "status": [ @@ -919,7 +937,7 @@ "lowDate": "2022-03-14", "highDate": "2024-09-14" }, - "doc": "The layer() CSS function is used along with the @import at-rule to put the imported resource in a separate named cascade layer.", + "doc": "The layer() CSS function is used along with the @import at-rule to put the imported resource in a separate named cascade layer.", "formalSyntax": "layer( <layer-name> )\n  <layer-name> = <ident> [ '.' <ident> ]*" } }, @@ -1179,7 +1197,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The calc() CSS function lets you perform calculations when specifying CSS property values. It can be used with <length>, <frequency>, <angle>, <time>, <percentage>, <number>, <integer>, and <color-function> values.", + "doc": "The calc() CSS function lets you perform calculations when specifying CSS property values. It can be used with <length>, <frequency>, <angle>, <time>, <percentage>, <number>, <integer>, and <color-function> values.", "formalSyntax": "calc( <calc-sum> )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "color": { @@ -2145,7 +2163,7 @@ }, "absolute-size": { "url": "$MDN_URL$/web/css/absolute-size", - "doc": "The <absolute-size> CSS data type describes the absolute size keywords. This data type is used in the font shorthand and font-size properties.\n

The font size keywords are mapped to the deprecated HTML size attribute. See the HTML size attribute section below).", + "doc": "The <absolute-size> CSS data type describes the absolute size keywords. This data type is used in the font shorthand and font-size properties.\n

The font size keywords are mapped to the deprecated HTML size attribute. See the HTML size attribute section below).", "values": { "xx-small": "An absolute size 60% the size of medium. Mapped to the deprecated size=\"1\".", "x-small": "An absolute size 75% the size of medium.", @@ -2159,7 +2177,7 @@ }, "alpha-value": { "url": "$MDN_URL$/web/css/alpha-value", - "doc": "The <alpha-value> CSS data type represents a value that can be either a <number> or a <percentage>, specifying the alpha channel or transparency of a color.", + "doc": "The <alpha-value> CSS data type represents a value that can be either a <number> or a <percentage>, specifying the alpha channel or transparency of a color.", "formalSyntax": "<number> | <percentage>" }, "angle": { @@ -2182,7 +2200,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <angle> CSS data type represents an angle value expressed in degrees, gradians, radians, or turns. It is used, for example, in <gradient>s and in some transform functions." + "doc": "The <angle> CSS data type represents an angle value expressed in degrees, gradians, radians, or turns. It is used, for example, in <gradient>s and in some transform functions." }, "angle-percentage": { "url": "$MDN_URL$/web/css/angle-percentage", @@ -2204,7 +2222,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <angle-percentage> CSS data type represents a value that can be either a <angle> or a <percentage>.\n

Where an <angle-percentage> is specified as an allowable type, this means that the percentage resolves to an angle and therefore can be used in a calc() expression.", + "doc": "The <angle-percentage> CSS data type represents a value that can be either a <angle> or a <percentage>.\n

Where an <angle-percentage> is specified as an allowable type, this means that the percentage resolves to an angle and therefore can be used in a calc() expression.", "formalSyntax": "<angle> | <percentage>" }, "baseline-position": { @@ -2236,7 +2254,7 @@ "lowDate": "2020-01-15", "highDate": "2022-07-15" }, - "doc": "The <basic-shape> CSS data type represents a shape used in the clip-path, shape-outside, and offset-path properties." + "doc": "The <basic-shape> CSS data type represents a shape used in the clip-path, shape-outside, and offset-path properties." }, "blend-mode": { "url": "$MDN_URL$/web/css/blend-mode", @@ -2258,7 +2276,7 @@ "lowDate": "2020-01-15", "highDate": "2022-07-15" }, - "doc": "The <blend-mode> CSS data type describes how colors should appear when elements overlap. It is used in the background-blend-mode and mix-blend-mode properties.", + "doc": "The <blend-mode> CSS data type describes how colors should appear when elements overlap. It is used in the background-blend-mode and mix-blend-mode properties.", "formalSyntax": "normal | multiply | screen | overlay | darken | lighten | color-dodge | color-burn | hard-light | soft-light | difference | exclusion | hue | saturation | color | luminosity", "values": { "normal": "The final color is the top color, regardless of what the bottom color is.\nThe effect is like two opaque pieces of paper overlapping.", @@ -2310,7 +2328,7 @@ "lowDate": "2022-12-13", "highDate": "2025-06-13" }, - "doc": "The <calc-keyword> CSS data type represents well-defined constants such as e and pi. Rather than require authors to manually type out several digits of these mathematical constants or calculate them, a few of them are provided directly by CSS for convenience.", + "doc": "The <calc-keyword> CSS data type represents well-defined constants such as e and pi. Rather than require authors to manually type out several digits of these mathematical constants or calculate them, a few of them are provided directly by CSS for convenience.", "formalSyntax": "e | pi | infinity | -infinity | NaN", "values": { "e": "The base of the natural logarithm, approximately equal to 2.7182818284590452354.", @@ -2321,7 +2339,7 @@ }, "calc-sum": { "url": "$MDN_URL$/web/css/calc-sum", - "doc": "The <calc-sum> CSS data type represents an expression which performs a calculation in any CSS math function. The expression executes a basic arithmetic operation of addition and subtraction between two values.", + "doc": "The <calc-sum> CSS data type represents an expression which performs a calculation in any CSS math function. The expression executes a basic arithmetic operation of addition and subtraction between two values.", "formalSyntax": "<calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "color": { @@ -2344,7 +2362,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <color> CSS data type represents a color.\nA <color> may also include an alpha-channel transparency value, indicating how the color should composite with its background.\n

\n

Note:\nAlthough <color> values are precisely defined, their actual appearance may vary (sometimes significantly) from device to device. This is because most devices are not calibrated, and some browsers do not support output devices' color profiles.\n

", + "doc": "The <color> CSS data type represents a color.\nA <color> may also include an alpha-channel transparency value, indicating how the color should composite with its background.\n
\n

Note:\nAlthough <color> values are precisely defined, their actual appearance may vary (sometimes significantly) from device to device. This is because most devices are not calibrated, and some browsers do not support output devices' color profiles.\n

", "formalSyntax": "<color-base> | currentColor | <system-color>\n  <color-base> = <hex-color> | <color-function> | <named-color> | transparent\n  <color-function> = <rgb()> | <rgba()> | <hsl()> | <hsla()> | <hwb()> | <lab()> | <lch()> | <oklab()> | <oklch()> | <ictcp()> | <jzazbz()> | <jzczhz()> | <alpha()> | <color()>\n  <rgb()> = <legacy-rgb-syntax> | <modern-rgb-syntax>\n  <rgba()> = <legacy-rgba-syntax> | <modern-rgba-syntax>\n  <hsl()> = <legacy-hsl-syntax> | <modern-hsl-syntax>\n  <hsla()> = <legacy-hsla-syntax> | <modern-hsla-syntax>\n  <hwb()> = hwb( [ <hue> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? )\n  <lab()> = lab( [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? )\n  <lch()> = lch( [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <hue> | none ] [ / [ <alpha-value> | none ] ]? )\n  <oklab()> = oklab( [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? )\n  <oklch()> = oklch( [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <hue> | none ] [ / [ <alpha-value> | none ] ]? )\n  <ictcp()> = ictcp( [ from <color> ]? [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? )\n  <jzazbz()> = jzazbz( [ from <color> ]? [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? )\n  <jzczhz()> = jzczhz( [ from <color> ]? [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <hue> | none ] [ / [ <alpha-value> | none ] ]? )\n  <alpha()> = alpha( [ from <color> ] [ / [ <alpha-value> | none ] ]? )\n  <color()> = color( <colorspace-params> [ / [ <alpha-value> | none ] ]? )\n  <legacy-rgb-syntax> = rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )\n  <modern-rgb-syntax> = rgb( [ <number> | <percentage> | none ]{3} [ / [ <alpha-value> | none ] ]? )\n  <legacy-rgba-syntax> = rgba( <percentage>#{3} , <alpha-value>? ) | rgba( <number>#{3} , <alpha-value>? )\n  <modern-rgba-syntax> = rgba( [ <number> | <percentage> | none ]{3} [ / [ <alpha-value> | none ] ]? )\n  <legacy-hsl-syntax> = hsl( <hue> , <percentage> , <percentage> , <alpha-value>? )\n  <modern-hsl-syntax> = hsl( [ <hue> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? )\n  <legacy-hsla-syntax> = hsla( <hue> , <percentage> , <percentage> , <alpha-value>? )\n  <modern-hsla-syntax> = hsla( [ <hue> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? )\n  <hue> = <number> | <angle>\n  <alpha-value> = <number> | <percentage>\n  <colorspace-params> = <predefined-rgb-params> | <xyz-params>\n  <predefined-rgb-params> = <predefined-rgb> [ <number> | <percentage> | none ]{3}\n  <xyz-params> = <xyz-space> [ <number> | <percentage> | none ]{3}\n  <predefined-rgb> = srgb | srgb-linear | display-p3 | display-p3-linear | a98-rgb | prophoto-rgb | rec2020 | rec2100-pq | rec2100-hlg | rec2100-linear\n  <xyz-space> = xyz | xyz-d50 | xyz-d65" }, "color-interpolation-method": { @@ -2366,7 +2384,7 @@ "level": "LOW", "lowDate": "2023-05-09" }, - "doc": "The <color-interpolation-method> CSS data type represents the color space used for interpolation between <color> values. It can be used to override the default interpolation color space for color-related functional notations such as color-mix() and linear-gradient().\n

When interpolating <color> values, the interpolation color space defaults to Oklab.", + "doc": "The <color-interpolation-method> CSS data type represents the color space used for interpolation between <color> values. It can be used to override the default interpolation color space for color-related functional notations such as color-mix() and linear-gradient().\n

When interpolating <color> values, the interpolation color space defaults to Oklab.", "formalSyntax": "in [ <rectangular-color-space> | <polar-color-space> <hue-interpolation-method>? ]\n  <rectangular-color-space> = srgb | srgb-linear | display-p3 | display-p3-linear | a98-rgb | prophoto-rgb | rec2020 | lab | oklab | <xyz-space>\n  <polar-color-space> = hsl | hwb | lch | oklch\n  <hue-interpolation-method> = [ shorter | longer | increasing | decreasing ] hue\n  <xyz-space> = xyz | xyz-d50 | xyz-d65", "values": { "<rectangular-color-space>": "One of the keywords srgb, srgb-linear, display-p3, a98-rgb, prophoto-rgb, rec2020, lab, oklab, xyz, xyz-d50, or xyz-d65.", @@ -2411,7 +2429,7 @@ "baseline": { "level": "NONE" }, - "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The <corner-shape-value> CSS data type describes the shape of a container corner. It is used by the corner-shape shorthand property and its constituent properties to specify the shape to apply to affected container corners.", + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The <corner-shape-value> CSS data type describes the shape of a container corner. It is used by the corner-shape shorthand property and its constituent properties to specify the shape to apply to affected container corners.", "formalSyntax": "round | scoop | bevel | notch | square | squircle | <superellipse()>\n  <superellipse()> = superellipse( <number [-∞,∞]> | infinity | -infinity )", "values": { "superellipse()": "Defines a custom corner superellipse shape. A negative parameter creates an inward, or concave, curve while a positive parameter creates an outward, or convex, curve.", @@ -2420,11 +2438,28 @@ }, "custom-ident": { "url": "$MDN_URL$/web/css/custom-ident", - "doc": "The <custom-ident> CSS data type denotes an arbitrary user-defined string used as an identifier. It is case-sensitive, and certain values are forbidden in various contexts to prevent ambiguity." + "doc": "The <custom-ident> CSS data type denotes an arbitrary user-defined string used as an identifier. It is case-sensitive, and certain values are forbidden in various contexts to prevent ambiguity." + }, + "dashed-function": { + "url": "$MDN_URL$/web/css/dashed-function", + "status": [ + "Experimental", + "StandardTrack" + ], + "compatibility": { + "Chrome": "139", + "ChromeAndroid": "139", + "Edge": "139", + "Opera": "123" + }, + "baseline": { + "level": "NONE" + }, + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The <dashed-function> CSS data type represents the syntax used to call CSS custom functions, which are defined using the @function at-rule." }, "dashed-ident": { "url": "$MDN_URL$/web/css/dashed-ident", - "doc": "The <dashed-ident> CSS data type denotes an arbitrary string used as an identifier." + "doc": "The <dashed-ident> CSS data type denotes an arbitrary string used as an identifier." }, "dimension": { "url": "$MDN_URL$/web/css/dimension", @@ -2446,7 +2481,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <dimension> CSS data type represents a <number> with a unit attached to it, for example 10px.\n

CSS uses dimensions to specify distances (<length>), durations (<time>), frequencies (<frequency>), resolutions (<resolution>), and other quantities." + "doc": "The <dimension> CSS data type represents a <number> with a unit attached to it, for example 10px.\n

CSS uses dimensions to specify distances (<length>), durations (<time>), frequencies (<frequency>), resolutions (<resolution>), and other quantities." }, "display-box": { "url": "$MDN_URL$/web/css/display-box", @@ -2748,7 +2783,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <easing-function> CSS data type represents a mathematical function that describes the rate at which a value changes.\n

This transition between two values may be applied in different situations. It may be used to describe how fast values change during animations. This lets you vary the animation's speed over the course of its duration. You can specify an easing function for CSS transition and animation properties.", + "doc": "The <easing-function> CSS data type represents a mathematical function that describes the rate at which a value changes.\n

This transition between two values may be applied in different situations. It may be used to describe how fast values change during animations. This lets you vary the animation's speed over the course of its duration. You can specify an easing function for CSS transition and animation properties.", "formalSyntax": "<linear-easing-function> | <cubic-bezier-easing-function> | <step-easing-function>\n  <linear-easing-function> = linear | <linear()>\n  <cubic-bezier-easing-function> = ease | ease-in | ease-out | ease-in-out | <cubic-bezier()>\n  <step-easing-function> = step-start | step-end | <steps()>\n  <linear()> = linear( [ <number> && <percentage>{0,2} ]# )\n  <cubic-bezier()> = cubic-bezier( [ <number [0,1]> , <number> ]#{2} )\n  <steps()> = steps( <integer> , <step-position>? )\n  <step-position> = jump-start | jump-end | jump-none | jump-both | start | end", "values": { "<linear-easing-function>": "Creates transitions that progress at a constant rate. This function can be specified using one of the following:\n

\n
linear
\n
\n

Specifies a constant rate of interpolation, with no change in the rate of progress throughout the duration (that is, no acceleration or deceleration).\nThis keyword value is equivalent to linear(0, 1).\nIt can also be represented as cubic-bezier(0, 0, 1, 1).\n

\n

Note:\nThe linear keyword is always interpreted as linear(0, 1), whereas the function linear(0, 1) is interpreted as linear(0 0%, 1 100%).\n

\n
\n
linear()
\n
\n

Defines multiple points of progress using <number> values, with optional <percentage> values to control their timing.\n

\n
", @@ -2776,7 +2811,7 @@ "lowDate": "2016-09-07", "highDate": "2019-03-07" }, - "doc": "The <filter-function> CSS data type represents a graphical effect that can change the appearance of an input image. It is used in the filter and backdrop-filter properties.", + "doc": "The <filter-function> CSS data type represents a graphical effect that can change the appearance of an input image. It is used in the filter and backdrop-filter properties.", "formalSyntax": "<blur()> | <brightness()> | <contrast()> | <drop-shadow()> | <grayscale()> | <hue-rotate()> | <invert()> | <opacity()> | <sepia()> | <saturate()>\n  <blur()> = blur( <length>? )\n  <brightness()> = brightness( [ <number> | <percentage> ]? )\n  <contrast()> = contrast( [ <number> | <percentage> ]? )\n  <drop-shadow()> = drop-shadow( [ <color>? && <length>{2,3} ] )\n  <grayscale()> = grayscale( [ <number> | <percentage> ]? )\n  <hue-rotate()> = hue-rotate( [ <angle> | <zero> ]? )\n  <invert()> = invert( [ <number> | <percentage> ]? )\n  <opacity()> = opacity( [ <number> | <percentage> ]? )\n  <sepia()> = sepia( [ <number> | <percentage> ]? )\n  <saturate()> = saturate( [ <number> | <percentage> ]? )" }, "flex": { @@ -2799,20 +2834,20 @@ "lowDate": "2017-03-27", "highDate": "2019-09-27" }, - "doc": "The <flex> CSS data type denotes a flexible length within a grid container. It is used in grid-template-columns, grid-template-rows and other related properties." + "doc": "The <flex> CSS data type denotes a flexible length within a grid container. It is used in grid-template-columns, grid-template-rows and other related properties." }, "frequency": { "url": "$MDN_URL$/web/css/frequency", - "doc": "The <frequency> CSS data type represents a frequency dimension, such as the pitch of a speaking voice. It is not currently used in any CSS properties." + "doc": "The <frequency> CSS data type represents a frequency dimension, such as the pitch of a speaking voice. It is not currently used in any CSS properties." }, "frequency-percentage": { "url": "$MDN_URL$/web/css/frequency-percentage", - "doc": "The <frequency-percentage> CSS data type represents a value that can be either a <frequency> or a <percentage>. Frequency values, e.g., the pitch of a speaking voice, are not currently used in any CSS properties.", + "doc": "The <frequency-percentage> CSS data type represents a value that can be either a <frequency> or a <percentage>. Frequency values, e.g., the pitch of a speaking voice, are not currently used in any CSS properties.", "formalSyntax": "<frequency> | <percentage>" }, "generic-family": { "url": "$MDN_URL$/web/css/generic-family", - "doc": "The <generic-family> CSS data type represents the keyword values for generic font families used in the font shorthand and font-family longhand properties. The <generic-family> represents one or more locally-installed fonts belonging to that category of fonts.", + "doc": "The <generic-family> CSS data type represents the keyword values for generic font families used in the font shorthand and font-family longhand properties. The <generic-family> represents one or more locally-installed fonts belonging to that category of fonts.", "formalSyntax": "serif | sans-serif | monospace | cursive | fantasy | system-ui | ui-serif | ui-sans-serif | ui-monospace | ui-rounded | math | fangsong", "values": { "serif": "A serif is a small line or stroke attached to the end of a larger stroke in a letter. In serif fonts, glyphs have finishing strokes, flared or tapering ends. Examples include Lucida Bright, Lucida Fax, Palatino, Palatino Linotype, Palladio, and URW Palladio.", @@ -2849,7 +2884,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <gradient> CSS data type is a special type of <image> that consists of a progressive transition between two or more colors.", + "doc": "The <gradient> CSS data type is a special type of <image> that consists of a progressive transition between two or more colors.", "formalSyntax": "<linear-gradient()> | <repeating-linear-gradient()> | <radial-gradient()> | <repeating-radial-gradient()>\n  <linear-gradient()> = linear-gradient( [ <linear-gradient-syntax> ] )\n  <repeating-linear-gradient()> = repeating-linear-gradient( [ <linear-gradient-syntax> ] )\n  <radial-gradient()> = radial-gradient( [ <radial-gradient-syntax> ] )\n  <repeating-radial-gradient()> = repeating-radial-gradient( [ <radial-gradient-syntax> ] )\n  <linear-gradient-syntax> = [ <angle> | <zero> | to <side-or-corner> ]? , <color-stop-list>\n  <radial-gradient-syntax> = [ <radial-shape> || <radial-size> ]? [ at <position> ]? , <color-stop-list>\n  <side-or-corner> = [ left | right ] || [ top | bottom ]\n  <color-stop-list> = <linear-color-stop> , [ <linear-color-hint>? , <linear-color-stop> ]#?\n  <radial-shape> = circle | ellipse\n  <radial-size> = <radial-extent> | <length [0,∞]> | <length-percentage [0,∞]>{2}\n  <position> = [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right ] && [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ]\n  <linear-color-stop> = <color> <length-percentage>?\n  <linear-color-hint> = <length-percentage>\n  <radial-extent> = closest-corner | closest-side | farthest-corner | farthest-side\n  <length-percentage> = <length> | <percentage>" }, "hex-color": { @@ -2872,7 +2907,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <hex-color> CSS data type is a notation for describing the hexadecimal color syntax of an sRGB color using its primary color components (red, green, blue) written as hexadecimal numbers, as well as its transparency.\n

A <hex-color> value can be used everywhere where a <color> can be used." + "doc": "The <hex-color> CSS data type is a notation for describing the hexadecimal color syntax of an sRGB color using its primary color components (red, green, blue) written as hexadecimal numbers, as well as its transparency.\n

A <hex-color> value can be used everywhere where a <color> can be used." }, "hue": { "url": "$MDN_URL$/web/css/hue", @@ -2921,7 +2956,7 @@ "SafariIOS": "15.4" } }, - "doc": "The <hue> CSS data type represents the hue angle of a color.\nIt is used in the color functions that accept hue expressed as a single value, specifically hsl(), hwb(), lch(), and oklch() functional notations.", + "doc": "The <hue> CSS data type represents the hue angle of a color.\nIt is used in the color functions that accept hue expressed as a single value, specifically hsl(), hwb(), lch(), and oklch() functional notations.", "formalSyntax": "<number> | <angle>", "values": { "<angle>": "An angle expressed in degrees, gradians, radians, or turns using the deg, grad, rad, or turn, respectively.", @@ -2947,7 +2982,7 @@ "level": "LOW", "lowDate": "2024-06-11" }, - "doc": "The <hue-interpolation-method> CSS data type represents the algorithm used for interpolation between <hue> values.\nThe interpolation method specifies how to find a midpoint between two hue values based on a color wheel.\nIt is used as a component of the <color-interpolation-method> data type.\n

When interpolating <hue> values, the hue interpolation algorithm defaults to shorter.", + "doc": "The <hue-interpolation-method> CSS data type represents the algorithm used for interpolation between <hue> values.\nThe interpolation method specifies how to find a midpoint between two hue values based on a color wheel.\nIt is used as a component of the <color-interpolation-method> data type.\n

When interpolating <hue> values, the hue interpolation algorithm defaults to shorter.", "formalSyntax": "[ shorter | longer | increasing | decreasing ] hue", "values": { "shorter": "Use the shorter arc. When the two radii coincide, the arc degenerates to a single point. When both arcs have the same lengths:\n

\n
\n\n\n\n\n\n\n
θ1 = 45deg, θ2 = 135degθ1 = 135deg, θ2 = 45deg
", @@ -2958,7 +2993,7 @@ }, "ident": { "url": "$MDN_URL$/web/css/ident", - "doc": "The <ident> CSS data type denotes an arbitrary string used as an identifier." + "doc": "The <ident> CSS data type denotes an arbitrary string used as an identifier." }, "image": { "url": "$MDN_URL$/web/css/image", @@ -2980,7 +3015,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <image> CSS data type represents a two-dimensional image.", + "doc": "The <image> CSS data type represents a two-dimensional image.", "formalSyntax": "<url> | <gradient>\n  <url> = <url()> | <src()>\n  <url()> = url( <string> <url-modifier>* ) | <url-token>\n  <src()> = src( <string> <url-modifier>* )" }, "inherit": { @@ -3047,7 +3082,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <integer> CSS data type is a special type of <number> that represents a positive or negative whole number. Integers can be used in numerous CSS properties and descriptors, such as the column-count, counter-increment, grid-column, grid-row, and z-index properties and the range descriptor." + "doc": "The <integer> CSS data type is a special type of <number> that represents a positive or negative whole number. Integers can be used in numerous CSS properties and descriptors, such as the column-count, counter-increment, grid-column, grid-row, and z-index properties and the range descriptor." }, "length": { "url": "$MDN_URL$/web/css/length", @@ -3069,7 +3104,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <length> CSS data type represents a distance value. Lengths can be used in numerous CSS properties, such as width, height, margin, padding, border-width, font-size, and text-shadow.\n
\n

Note:\nAlthough <percentage> values are usable in some of the same properties that accept <length> values, they are not themselves <length> values. See <length-percentage>.\n

" + "doc": "The <length> CSS data type represents a distance value. Lengths can be used in numerous CSS properties, such as width, height, margin, padding, border-width, font-size, and text-shadow.\n
\n

Note:\nAlthough <percentage> values are usable in some of the same properties that accept <length> values, they are not themselves <length> values. See <length-percentage>.\n

" }, "length-percentage": { "url": "$MDN_URL$/web/css/length-percentage", @@ -3091,7 +3126,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <length-percentage> CSS data type represents a value that can be either a <length> or a <percentage>.", + "doc": "The <length-percentage> CSS data type represents a value that can be either a <length> or a <percentage>.", "formalSyntax": "<length> | <percentage>" }, "line-style": { @@ -3149,7 +3184,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <named-color> CSS data type is the name of a color, such as red, blue, black, or lightseagreen. Syntactically, a <named-color> is an <ident>.\n

A <named-color> value can be used anywhere a <color> can be used." + "doc": "The <named-color> CSS data type is the name of a color, such as red, blue, black, or lightseagreen. Syntactically, a <named-color> is an <ident>.\n

A <named-color> value can be used anywhere a <color> can be used." }, "number": { "url": "$MDN_URL$/web/css/number", @@ -3171,7 +3206,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <number> CSS data type represents a number, being either an integer, a number with a fractional component, or a base-ten exponent in scientific notation." + "doc": "The <number> CSS data type represents a number, being either an integer, a number with a fractional component, or a base-ten exponent in scientific notation." }, "overflow": { "url": "$MDN_URL$/web/css/overflow_value", @@ -3230,7 +3265,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <percentage> CSS data type represents a percentage value. It is often used to define a size as relative to an element's parent object. Numerous properties can use percentages, such as width, height, margin, padding, and font-size.\n

\n

Note:\nOnly calculated values can be inherited. Thus, even if a percentage value is used on the parent property, a real value (such as a width in pixels for a <length> value) will be accessible on the inherited property, not the percentage value.\n

" + "doc": "The <percentage> CSS data type represents a percentage value. It is often used to define a size as relative to an element's parent object. Numerous properties can use percentages, such as width, height, margin, padding, and font-size.\n
\n

Note:\nOnly calculated values can be inherited. Thus, even if a percentage value is used on the parent property, a real value (such as a width in pixels for a <length> value) will be accessible on the inherited property, not the percentage value.\n

" }, "position": { "url": "$MDN_URL$/web/css/position_value", @@ -3252,7 +3287,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <position> CSS data type denotes a two-dimensional coordinate used to set a location relative to an element box. It is used in the background-position, object-position, mask-position offset-position, offset-anchor and transform-origin properties.\n
\n

Note:\nThe final position described by the <position> value does not need to be inside the element's box.\n

", + "doc": "The <position> CSS data type denotes a two-dimensional coordinate used to set a location relative to an element box. It is used in the background-position, object-position, mask-position offset-position, offset-anchor and transform-origin properties.\n
\n

Note:\nThe final position described by the <position> value does not need to be inside the element's box.\n

", "formalSyntax": "[ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right ] && [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ]\n  <length-percentage> = <length> | <percentage>" }, "ratio": { @@ -3275,12 +3310,12 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <ratio> CSS data type describes the proportional relationship between two values. It mostly represents the aspect ratio, which relates width to height. For example, the <ratio> is used as a value for the aspect-ratio media feature in @media media queries, the aspect-ratio size feature in @container container queries, and as a value for the CSS aspect-ratio property.", + "doc": "The <ratio> CSS data type describes the proportional relationship between two values. It mostly represents the aspect ratio, which relates width to height. For example, the <ratio> is used as a value for the aspect-ratio media feature in @media media queries, the aspect-ratio size feature in @container container queries, and as a value for the CSS aspect-ratio property.", "formalSyntax": "<number [0,∞]> [ / <number [0,∞]> ]?" }, "relative-size": { "url": "$MDN_URL$/web/css/relative-size", - "doc": "The <relative-size> CSS data type describes relative size keywords. The <relative-size> keywords define a size relative to the computed size of the parent element. This data type is used in the font shorthand and font-size properties.", + "doc": "The <relative-size> CSS data type describes relative size keywords. The <relative-size> keywords define a size relative to the computed size of the parent element. This data type is used in the font shorthand and font-size properties.", "values": { "smaller": "A relative size one size smaller than the inherited size.", "larger": "A relative size one size larger than the inherited size." @@ -3306,7 +3341,7 @@ "lowDate": "2022-09-12", "highDate": "2025-03-12" }, - "doc": "The <resolution> CSS data type, used for describing resolutions in media queries, denotes the pixel density of an output device, i.e., its resolution.\n

On screens, the units are related to CSS inches, centimeters, or pixels, not physical values." + "doc": "The <resolution> CSS data type, used for describing resolutions in media queries, denotes the pixel density of an output device, i.e., its resolution.\n

On screens, the units are related to CSS inches, centimeters, or pixels, not physical values." }, "revert": { "url": "$MDN_URL$/web/css/revert", @@ -3350,7 +3385,7 @@ "lowDate": "2022-03-14", "highDate": "2024-09-14" }, - "doc": "The revert-layer CSS-wide keyword rolls back the value of a property in a cascade layer to the value of the property in a CSS rule matching the element in a previous cascade layer. The value of a property with this keyword is recalculated as if no rules were specified on the target element in the current cascade layer.\n

If there is no other cascade layer to revert to for the matching CSS rule, the property value rolls back to the computed value derived from the current layer. Furthermore, if there is no matching CSS rule in the current layer, the property value for the element rolls back to the style defined in a previous style origin.\n

This keyword can be applied to any CSS property, including the CSS shorthand property all." + "doc": "The revert-layer CSS-wide keyword rolls back the value of a property in a cascade layer to the value of the property in a CSS rule matching the element in a previous cascade layer. The value of a property with this keyword is recalculated as if no rules were specified on the target element in the current cascade layer.\n

If there is no other cascade layer to revert to for the matching CSS rule, the property value rolls back to the computed value derived from the current layer. Furthermore, if there is no matching CSS rule in the current layer, the property value for the element rolls back to the style defined in a previous style origin.\n

This keyword can be applied to any CSS property, including the CSS shorthand property all." }, "self-position": { "url": "$MDN_URL$/web/css/self-position", @@ -3381,7 +3416,7 @@ "Safari": "1.3", "SafariIOS": "" }, - "doc": "

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

\n

The <shape> CSS data type defines the specific form (shape) of a region. The region represents the part of an element to which the clip property applies.\n

\n

Note:\n<shape> and rect() work in conjunction with clip, which has been deprecated in favor of clip-path. When possible, use clip-path and the <basic-shape> data type instead.\n

", + "doc": "

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

\n

The <shape> CSS data type defines the specific form (shape) of a region. The region represents the part of an element to which the clip property applies.\n

\n

Note:\n<shape> and rect() work in conjunction with clip, which has been deprecated in favor of clip-path. When possible, use clip-path and the <basic-shape> data type instead.\n

", "values": { "top": "Is a <length> representing the offset for the top of the rectangle relative to the top border of the element's box.", "right": "Is a <length> representing the offset for the right of the rectangle relative to the left border of the element's box.", @@ -3409,7 +3444,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <string> CSS data type represents a sequence of characters. Strings are used in numerous CSS properties, such as content, font-family, and quotes." + "doc": "The <string> CSS data type represents a sequence of characters. Strings are used in numerous CSS properties, such as content, font-family, and quotes." }, "system-color": { "url": "$MDN_URL$/web/css/system-color", @@ -3431,7 +3466,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <system-color> CSS data type usually reflects the default color choices used for the different parts of a web page.\n

However, user agents can provide an accessibility feature called forced colors mode, in which colors are restricted into a user- and user agent-defined palette, overriding the author's choice of colors in certain properties. In forced colors mode, <system-color> exposes the chosen colors, so that the rest of the page can integrate with them. An example of forced colors mode is high contrast mode on Windows.\n

In forced colors mode, authors should use colors from the <system-color> type for all properties that are not in the set of properties whose colors are overridden. This ensures that the page consistently uses the same color palette across all properties.\n

Authors can detect forced colors mode using the forced-colors media feature.\n

A <system-color> value can be used anywhere a <color> can be used." + "doc": "The <system-color> CSS data type usually reflects the default color choices used for the different parts of a web page.\n

However, user agents can provide an accessibility feature called forced colors mode, in which colors are restricted into a user- and user agent-defined palette, overriding the author's choice of colors in certain properties. In forced colors mode, <system-color> exposes the chosen colors, so that the rest of the page can integrate with them. An example of forced colors mode is high contrast mode on Windows.\n

In forced colors mode, authors should use colors from the <system-color> type for all properties that are not in the set of properties whose colors are overridden. This ensures that the page consistently uses the same color palette across all properties.\n

Authors can detect forced colors mode using the forced-colors media feature.\n

A <system-color> value can be used anywhere a <color> can be used." }, "text-edge": { "url": "$MDN_URL$/web/css/text-edge", @@ -3449,7 +3484,7 @@ "baseline": { "level": "NONE" }, - "doc": "The <text-edge> enumerated data type defines keywords that specify font metrics representing specific regions on a font's block-start edge and block-end edge. Each keyword specifies a position of a font's over and/or under edge.\n

The <text-edge> values are used in the text-box-edge property to specify an amount of space to trim from the block-start and block-end edge of a text element's block container.", + "doc": "The <text-edge> enumerated data type defines keywords that specify font metrics representing specific regions on a font's block-start edge and block-end edge. Each keyword specifies a position of a font's over and/or under edge.\n

The <text-edge> values are used in the text-box-edge property to specify an amount of space to trim from the block-start and block-end edge of a text element's block container.", "formalSyntax": "[ text | ideographic | ideographic-ink ] | [ text | ideographic | ideographic-ink | cap | ex ] [ text | ideographic | ideographic-ink | alphabetic ]", "values": { "text": "The font's over and under edges are its text-over baseline/text-under baseline: this includes the font's ascenders and descenders but excludes the half-leading set on the text.\n

\n

Note:\nThe amount of half-leading included on a text element can be controlled using the line-height property.\n

The font's over edge is its text-over baseline (includes the font's ascenders but excludes the over edge half-leading), or its under edge is its text-under baseline (includes the font's descenders but excludes the under edge half-leading), depending on which edge the value is set for.", @@ -3478,11 +3513,11 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <time> CSS data type represents a time value expressed in seconds or milliseconds. It is used in animation, transition, and related properties." + "doc": "The <time> CSS data type represents a time value expressed in seconds or milliseconds. It is used in animation, transition, and related properties." }, "time-percentage": { "url": "$MDN_URL$/web/css/time-percentage", - "doc": "The <time-percentage> CSS data type represents a value that can be either a <time> or a <percentage>.", + "doc": "The <time-percentage> CSS data type represents a value that can be either a <time> or a <percentage>.", "formalSyntax": "<time> | <percentage>" }, "transform-function": { @@ -3505,7 +3540,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <transform-function> CSS data type represents a transformation that affects an element's appearance. Transformation functions can rotate, resize, distort, or move an element in 2D or 3D space. It is used in the transform property." + "doc": "The <transform-function> CSS data type represents a transformation that affects an element's appearance. Transformation functions can rotate, resize, distort, or move an element in 2D or 3D space. It is used in the transform property." }, "unset": { "url": "$MDN_URL$/web/css/unset", @@ -3550,7 +3585,7 @@ "level": "LOW", "lowDate": "2025-06-26" }, - "doc": "The abs() CSS function returns the absolute value of the argument, as the same type as the input.", + "doc": "The abs() CSS function returns the absolute value of the argument, as the same type as the input.", "formalSyntax": "abs( <calc-sum> )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "acos": { @@ -3573,7 +3608,7 @@ "lowDate": "2023-03-13", "highDate": "2025-09-13" }, - "doc": "The acos() CSS function is a trigonometric function that returns the inverse cosine of a number between -1 and 1. The function contains a single calculation that returns the number of radians representing an <angle> between 0deg and 180deg.", + "doc": "The acos() CSS function is a trigonometric function that returns the inverse cosine of a number between -1 and 1. The function contains a single calculation that returns the number of radians representing an <angle> between 0deg and 180deg.", "formalSyntax": "acos( <calc-sum> )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "anchor": { @@ -3592,7 +3627,7 @@ "baseline": { "level": "NONE" }, - "doc": "The anchor() CSS function can be used within an anchor-positioned element's inset property values, returning a length value relative to the position of the edges of its associated anchor element.", + "doc": "The anchor() CSS function can be used within an anchor-positioned element's inset property values, returning a length value relative to the position of the edges of its associated anchor element.", "formalSyntax": "anchor( <anchor-name>? &&<anchor-side> , <length-percentage>? )\n  <anchor-name> = <dashed-ident>\n  <anchor-side> = inside | outside | top | left | right | bottom | start | end | self-start | self-end | <percentage> | center\n  <length-percentage> = <length> | <percentage>" }, "anchor-size": { @@ -3611,7 +3646,7 @@ "baseline": { "level": "NONE" }, - "doc": "The anchor-size() CSS function enables setting anchor-positioned element's size, position, and margins relative to the dimensions of anchor elements. It returns the <length> of a specified side of the target anchor element. anchor-size() is only valid when used within the value of anchor-positioned elements' sizing, inset, and margin properties.\n

For detailed information on anchor features and usage, see the CSS anchor positioning module landing page and the Using CSS anchor positioning guide.", + "doc": "The anchor-size() CSS function enables setting anchor-positioned element's size, position, and margins relative to the dimensions of anchor elements. It returns the <length> of a specified side of the target anchor element. anchor-size() is only valid when used within the value of anchor-positioned elements' sizing, inset, and margin properties.\n

For detailed information on anchor features and usage, see the CSS anchor positioning module landing page and the Using CSS anchor positioning guide.", "formalSyntax": "anchor-size( [ <anchor-name> || <anchor-size> ]? , <length-percentage>? )\n  <anchor-name> = <dashed-ident>\n  <anchor-size> = width | height | block | inline | self-block | self-inline\n  <length-percentage> = <length> | <percentage>" }, "asin": { @@ -3634,7 +3669,7 @@ "lowDate": "2023-03-13", "highDate": "2025-09-13" }, - "doc": "The asin() CSS function is a trigonometric function that returns the inverse sine of a number between -1 and 1. The function contains a single calculation that returns the number of radians representing an <angle> between -90deg and 90deg.", + "doc": "The asin() CSS function is a trigonometric function that returns the inverse sine of a number between -1 and 1. The function contains a single calculation that returns the number of radians representing an <angle> between -90deg and 90deg.", "formalSyntax": "asin( <calc-sum> )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "atan": { @@ -3657,7 +3692,7 @@ "lowDate": "2023-03-13", "highDate": "2025-09-13" }, - "doc": "The atan() CSS function is a trigonometric function that returns the inverse tangent of a number between -∞ and +∞. The function contains a single calculation that returns the number of radians representing an <angle> between -90deg and 90deg.", + "doc": "The atan() CSS function is a trigonometric function that returns the inverse tangent of a number between -∞ and +∞. The function contains a single calculation that returns the number of radians representing an <angle> between -90deg and 90deg.", "formalSyntax": "atan( <calc-sum> )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "atan2": { @@ -3680,7 +3715,7 @@ "lowDate": "2023-03-13", "highDate": "2025-09-13" }, - "doc": "The atan2() CSS function is a trigonometric function that returns the inverse tangent of two values between -infinity and infinity. The function accepts two arguments and returns the number of radians representing an <angle> between -180deg and 180deg.", + "doc": "The atan2() CSS function is a trigonometric function that returns the inverse tangent of two values between -infinity and infinity. The function accepts two arguments and returns the number of radians representing an <angle> between -180deg and 180deg.", "formalSyntax": "atan2( <calc-sum> , <calc-sum> )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "attr": { @@ -3703,7 +3738,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "

\n

Note:\nThe attr() function can be used with any CSS property, but support for properties other than content is experimental.\n

\n

The attr() CSS function is used to retrieve the value of an attribute of the selected element and use it in a property value, similar to how the var() function substitutes a custom property value. It can also be used with pseudo-elements, in which case the attribute's value on the pseudo-element's originating element is returned.", + "doc": "

\n

Note:\nThe attr() function can be used with any CSS property, but support for properties other than content is experimental.\n

\n

The attr() CSS function is used to retrieve the value of an attribute of the selected element and use it in a property value, similar to how the var() function substitutes a custom property value. It can also be used with pseudo-elements, in which case the attribute's value on the pseudo-element's originating element is returned.", "formalSyntax": "attr( <attr-name> <attr-type>? , <declaration-value>? )\n  <attr-name> = [ <ident-token>? '|' ]? <ident-token>\n  <attr-type> = type( <syntax> ) | raw-string | number | <attr-unit>\n  <syntax> = '*' | <syntax-component> [ <syntax-combinator> <syntax-component> ]* | <syntax-string>\n  <syntax-component> = <syntax-single-component> <syntax-multiplier>? | '<' transform-list '>'\n  <syntax-combinator> = '|'\n  <syntax-string> = <string>\n  <syntax-single-component> = '<' <syntax-type-name> '>' | <ident>\n  <syntax-multiplier> = '#' | '+'\n  <syntax-type-name> = angle | color | custom-ident | image | integer | length | length-percentage | number | percentage | resolution | string | time | url | transform-function" }, "blur": { @@ -3726,7 +3761,7 @@ "lowDate": "2016-09-07", "highDate": "2019-03-07" }, - "doc": "The blur() CSS function applies a Gaussian blur to the input image. Its result is a <filter-function>.", + "doc": "The blur() CSS function applies a Gaussian blur to the input image. Its result is a <filter-function>.", "formalSyntax": "blur( <length>? )" }, "brightness": { @@ -3775,7 +3810,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The calc() CSS function lets you perform calculations when specifying CSS property values. It can be used with <length>, <frequency>, <angle>, <time>, <percentage>, <number>, <integer>, and <color-function> values.", + "doc": "The calc() CSS function lets you perform calculations when specifying CSS property values. It can be used with <length>, <frequency>, <angle>, <time>, <percentage>, <number>, <integer>, and <color-function> values.", "formalSyntax": "calc( <calc-sum> )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "calc-size": { @@ -3793,7 +3828,7 @@ "baseline": { "level": "NONE" }, - "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The calc-size() CSS function allows you to perform calculations on intrinsic size values such as auto, fit-content, and max-content; this is not supported by the regular calc() function.\n

calc-size() return values can also be interpolated, enabling size keyword values to be used in animations and transitions. In effect, including calc-size() in a property value automatically applies interpolate-size: allow-keywords to the selection.\n

Note however that interpolate-size is inherited, therefore applying it to an element enables interpolation of intrinsic size keywords for every property applied to that element and its children. As a result, interpolate-size is the preferred solution for enabling intrinsic size animations. You should only use calc-size() to enable intrinsic size animations if they also require calculations.", + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The calc-size() CSS function allows you to perform calculations on intrinsic size values such as auto, fit-content, and max-content; this is not supported by the regular calc() function.\n

calc-size() return values can also be interpolated, enabling size keyword values to be used in animations and transitions. In effect, including calc-size() in a property value automatically applies interpolate-size: allow-keywords to the selection.\n

Note however that interpolate-size is inherited, therefore applying it to an element enables interpolation of intrinsic size keywords for every property applied to that element and its children. As a result, interpolate-size is the preferred solution for enabling intrinsic size animations. You should only use calc-size() to enable intrinsic size animations if they also require calculations.", "formalSyntax": "calc-size( <calc-size-basis> , <calc-sum> )\n  <calc-size-basis> = <size-keyword> | <calc-size()> | any | <calc-sum>\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "circle": { @@ -3816,7 +3851,7 @@ "lowDate": "2020-01-15", "highDate": "2022-07-15" }, - "doc": "The circle() CSS function defines a circle using a radius and a position. It is one of the <basic-shape> data types.", + "doc": "The circle() CSS function defines a circle using a radius and a position. It is one of the <basic-shape> data types.", "formalSyntax": "circle( <radial-size>? [ at <position> ]? )\n  <radial-size> = <radial-extent> | <length [0,∞]> | <length-percentage [0,∞]>{2}\n  <position> = [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right ] && [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ]\n  <radial-extent> = closest-corner | closest-side | farthest-corner | farthest-side\n  <length-percentage> = <length> | <percentage>", "values": { "<shape-radius>": "This may be a <length>, or a <percentage> or values closest-side and farthest-side.\n

\n
closest-side
\n
\n

Uses the length from the center of the shape to the closest side of the reference box. For circles, this is the closest side in any dimension.\n

\n
farthest-side
\n
\n

Uses the length from the center of the shape to the farthest side of the reference box. For circles, this is the farthest side in any dimension.\n

\n
", @@ -3843,7 +3878,7 @@ "lowDate": "2020-07-28", "highDate": "2023-01-28" }, - "doc": "The clamp() CSS function clamps a value within a range of values between a defined minimum bound and a maximum bound. The function takes three parameters: a minimum value, a preferred value, and a maximum allowed value.", + "doc": "The clamp() CSS function clamps a value within a range of values between a defined minimum bound and a maximum bound. The function takes three parameters: a minimum value, a preferred value, and a maximum allowed value.", "formalSyntax": "clamp( [ <calc-sum> | none ] , <calc-sum> , [ <calc-sum> | none ] )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "color": { @@ -3893,13 +3928,8 @@ "level": "LOW", "lowDate": "2023-05-09" }, - "doc": "The color-mix() functional notation takes two <color> values and returns the result of mixing them in a given colorspace by a given amount.\n

Choosing the correct color space is important for producing desired results. Given the same colors to mix, different color spaces may be more appropriate depending on the interpolation use case.\n

", - "formalSyntax": "color-mix( <color-interpolation-method>? , [ <color> && <percentage [0,100]>? ]# )\n  <color-interpolation-method> = in [ <rectangular-color-space> | <polar-color-space> <hue-interpolation-method>? ]\n  <rectangular-color-space> = srgb | srgb-linear | display-p3 | display-p3-linear | a98-rgb | prophoto-rgb | rec2020 | lab | oklab | <xyz-space>\n  <polar-color-space> = hsl | hwb | lch | oklch\n  <hue-interpolation-method> = [ shorter | longer | increasing | decreasing ] hue\n  <xyz-space> = xyz | xyz-d50 | xyz-d65", - "values": { - "<color-interpolation-method>": "Specifies what interpolation method should be used to mix the colors. It consists of the in keyword followed by a color space name. The following three types are available:\n\n
\n

Note:\nWhen browsers support @color-profile, custom color spaces may be supported. Currently, the color space must be one of the available color spaces listed in the formal_syntax.\n

", - "<color>": "A <color> value to mix.", - "<percentage>": "A <percentage> value between 0% and 100%, specifying the amount of the corresponding color to mix.\n

The two color percentages (we'll refer to them as p1 and p2) are normalized as follows:\n

" - } + "doc": "The color-mix() functional notation takes two <color> values and returns the result of mixing them in a given colorspace by a given amount.", + "formalSyntax": "color-mix( <color-interpolation-method>? , [ <color> && <percentage [0,100]>? ]# )\n  <color-interpolation-method> = in [ <rectangular-color-space> | <polar-color-space> <hue-interpolation-method>? ]\n  <rectangular-color-space> = srgb | srgb-linear | display-p3 | display-p3-linear | a98-rgb | prophoto-rgb | rec2020 | lab | oklab | <xyz-space>\n  <polar-color-space> = hsl | hwb | lch | oklch\n  <hue-interpolation-method> = [ shorter | longer | increasing | decreasing ] hue\n  <xyz-space> = xyz | xyz-d50 | xyz-d65" }, "conic-gradient": { "url": "$MDN_URL$/web/css/gradient/conic-gradient", @@ -3921,7 +3951,7 @@ "lowDate": "2020-11-17", "highDate": "2023-05-17" }, - "doc": "The conic-gradient() CSS function creates an image consisting of a gradient with color transitions rotated around a center point (rather than radiating from the center). Example conic gradients include pie charts and color wheels. The result of the conic-gradient() function is an object of the <gradient> data type, which is a special kind of <image>.", + "doc": "The conic-gradient() CSS function creates an image consisting of a gradient with color transitions rotated around a center point (rather than radiating from the center). Example conic gradients include pie charts and color wheels. The result of the conic-gradient() function is an object of the <gradient> data type, which is a special kind of <image>.", "formalSyntax": "conic-gradient( [ <conic-gradient-syntax> ] )\n  <conic-gradient-syntax> = [ [ [ from [ <angle> | <zero> ] ]? [ at <position> ]? ] || <color-interpolation-method> ]? , <angular-color-stop-list>\n  <position> = [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right ] && [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ]\n  <color-interpolation-method> = in [ <rectangular-color-space> | <polar-color-space> <hue-interpolation-method>? ]\n  <angular-color-stop-list> = <angular-color-stop> , [ <angular-color-hint>? , <angular-color-stop> ]#?\n  <length-percentage> = <length> | <percentage>\n  <rectangular-color-space> = srgb | srgb-linear | display-p3 | display-p3-linear | a98-rgb | prophoto-rgb | rec2020 | lab | oklab | <xyz-space>\n  <polar-color-space> = hsl | hwb | lch | oklch\n  <hue-interpolation-method> = [ shorter | longer | increasing | decreasing ] hue\n  <angular-color-stop> = <color> <color-stop-angle>?\n  <angular-color-hint> = <angle-percentage> | <zero>\n  <xyz-space> = xyz | xyz-d50 | xyz-d65\n  <color-stop-angle> = [ <angle-percentage> | <zero> ]{1,2}\n  <angle-percentage> = <angle> | <percentage>", "values": { "<angle>": "Preceded by the from keyterm, and taking an angle as its value, defines the gradient rotation in clockwise direction.", @@ -3950,7 +3980,7 @@ "lowDate": "2016-09-07", "highDate": "2019-03-07" }, - "doc": "The contrast() CSS function adjusts the contrast of the input image. Its result is a <filter-function>.", + "doc": "The contrast() CSS function adjusts the contrast of the input image. Its result is a <filter-function>.", "formalSyntax": "contrast( [ <number> | <percentage> ]? )", "values": { "amount": "The contrast of the result, specified as a <number> or a <percentage>. A value under 100% decreases the contrast, while a value over 100% increases it. A value of 0 or 0% will create an image that is completely gray, while a value of 1 or 100% leaves the input unchanged. Negative values are not allowed. The initial value for interpolation is 1. The default value is 1." @@ -3969,7 +3999,7 @@ "baseline": { "level": "NONE" }, - "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The contrast-color() CSS function takes a color value and returns a guaranteed contrasting color.\n

contrast-color() makes it easy, for example, to specify a text color and automatically generate a contrasting background color, or vice versa. It avoids the need to maintain background-text color pairs." + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The contrast-color() CSS function takes a color value and returns a contrasting color. The function commonly ensures the WCAG AA minimum contrast. The browsers may use different and better algorithms.\n

contrast-color() makes it easy, for example, to specify a text color and automatically generate a contrasting background color, or vice versa. It avoids the need to maintain background-text color pairs." }, "cos": { "url": "$MDN_URL$/web/css/cos", @@ -3991,7 +4021,7 @@ "lowDate": "2023-03-13", "highDate": "2025-09-13" }, - "doc": "The cos() CSS function is a trigonometric function that returns the cosine of a number, which is a value between -1 and 1. The function contains a single calculation that must resolve to either a <number> or an <angle> by interpreting the result of the argument as radians. That is, cos(45deg), cos(0.125turn), and cos(3.14159 / 4) all represent the same value, approximately 0.707.", + "doc": "The cos() CSS function is a trigonometric function that returns the cosine of a number, which is a value between -1 and 1. The function contains a single calculation that must resolve to either a <number> or an <angle> by interpreting the result of the argument as radians. That is, cos(45deg), cos(0.125turn), and cos(3.14159 / 4) all represent the same value, approximately 0.707.", "formalSyntax": "cos( <calc-sum> )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "counter": { @@ -4014,7 +4044,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The counter() CSS function returns a string representing the current value of the named counter, if there is one.\n

The counter() function is generally used within pseudo-element through the content property but, theoretically, it can be used wherever a <string> value is supported.", + "doc": "The counter() CSS function returns a string representing the current value of the named counter, if there is one.\n

The counter() function is generally used within pseudo-element through the content property but, theoretically, it can be used wherever a <string> value is supported.", "formalSyntax": "counter( <counter-name> , <counter-style>? )\n  <counter-style> = <counter-style-name> | <symbols()>\n  <symbols()> = symbols( <symbols-type>? [ <string> | <image> ]+ )\n  <symbols-type> = cyclic | numeric | alphabetic | symbolic | fixed\n  <image> = <url> | <gradient>\n  <url> = <url()> | <src()>\n  <url()> = url( <string> <url-modifier>* ) | <url-token>\n  <src()> = src( <string> <url-modifier>* )", "values": { "<counter-name>": "A <custom-ident> identifying the counter, which is the same case-sensitive name used with the counter-reset and counter-increment property values. The counter name cannot start with two dashes and can't be none, unset, initial, or inherit.", @@ -4041,7 +4071,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The counters() CSS function enables combining markers when nesting counters. The function returns a string that concatenates the current values of the named and nested counters, if any are present, with the string provided. The third, optional parameter enables defining the list style.\n

The counters() function is generally used within pseudo-element through the content property, but theoretically, it can be used wherever a <string> value is supported.\n

The counters() function has two forms: counters(<name>, <string>) and counters(<name>, <string>, <style>). The generated text is the value of all counters with the given <name>, arranged from the outermost to the innermost, and separated by the specified <string>. The counters are rendered in the <style> indicated, defaulting to decimal if no <style> is specified.", + "doc": "The counters() CSS function enables combining markers when nesting counters. The function returns a string that concatenates the current values of the named and nested counters, if any are present, with the string provided. The third, optional parameter enables defining the list style.\n

The counters() function is generally used within pseudo-element through the content property, but theoretically, it can be used wherever a <string> value is supported.\n

The counters() function has two forms: counters(<name>, <string>) and counters(<name>, <string>, <style>). The generated text is the value of all counters with the given <name>, arranged from the outermost to the innermost, and separated by the specified <string>. The counters are rendered in the <style> indicated, defaulting to decimal if no <style> is specified.", "formalSyntax": "counters( <counter-name> , <string> , <counter-style>? )\n  <counter-style> = <counter-style-name> | <symbols()>\n  <symbols()> = symbols( <symbols-type>? [ <string> | <image> ]+ )\n  <symbols-type> = cyclic | numeric | alphabetic | symbolic | fixed\n  <image> = <url> | <gradient>\n  <url> = <url()> | <src()>\n  <url()> = url( <string> <url-modifier>* ) | <url-token>\n  <src()> = src( <string> <url-modifier>* )", "values": { "<counter-name>": "A <custom-ident> identifying the counters, which is the same case-sensitive name used for the counter-reset and counter-increment properties. The name cannot start with two dashes and can't be none, unset, initial, or inherit. Alternatively, for inline, single-use counters, the symbols() function can be used instead of a named counter in browsers that support symbols().", @@ -4061,7 +4091,7 @@ "baseline": { "level": "NONE" }, - "doc": "The cross-fade() CSS function can be used to blend two or more images at a defined transparency.\nIt can be used for many basic image manipulations, such as tinting an image with a solid color or highlighting a particular area of the page by combining an image with a radial gradient.", + "doc": "The cross-fade() CSS function can be used to blend two or more images at a defined transparency.\nIt can be used for many basic image manipulations, such as tinting an image with a solid color or highlighting a particular area of the page by combining an image with a radial gradient.", "formalSyntax": "cross-fade( <cf-image># )\n  <cf-image> = [ <image> | <color> ] &&<percentage [0,100]>?\n  <image> = <url> | <gradient>\n  <url> = <url()> | <src()>\n  <url()> = url( <string> <url-modifier>* ) | <url-token>\n  <src()> = src( <string> <url-modifier>* )" }, "cubic-bezier": { @@ -4084,7 +4114,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The cubic-bezier() CSS function creates a smooth transition using a cubic Bézier curve.\nAs an <easing-function>, it can be used to smooth out the start and end of the interpolation.", + "doc": "The cubic-bezier() CSS function creates a smooth transition using a cubic Bézier curve.\nAs an <easing-function>, it can be used to smooth out the start and end of the interpolation.", "formalSyntax": "cubic-bezier( [ <number [0,1]> , <number> ]#{2} )" }, "device-cmyk": { @@ -4117,7 +4147,7 @@ "lowDate": "2016-09-07", "highDate": "2019-03-07" }, - "doc": "The drop-shadow() CSS function applies a drop shadow effect to the input image. Its result is a <filter-function>.", + "doc": "The drop-shadow() CSS function applies a drop shadow effect to the input image. Its result is a <filter-function>.", "formalSyntax": "drop-shadow( [ <color>? && <length>{2,3} ] )" }, "dynamic-range-limit-mix": { @@ -4132,7 +4162,7 @@ "Edge": "136", "Opera": "121" }, - "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The dynamic-range-limit-mix() CSS function creates a custom maximum luminance limit by mixing different dynamic-range-limit keywords in specified amounts.", + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The dynamic-range-limit-mix() CSS function creates a custom maximum luminance limit by mixing different dynamic-range-limit keywords in specified amounts.", "formalSyntax": "dynamic-range-limit-mix( [ <'dynamic-range-limit'> && <percentage [0,100]> ]#{2,} )\n  <dynamic-range-limit> = standard | no-limit | constrained | <dynamic-range-limit-mix()>" }, "element": { @@ -4145,7 +4175,7 @@ "baseline": { "level": "NONE" }, - "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The element() CSS function defines an <image> value generated from an arbitrary HTML element. This image is live, meaning that if the HTML element is changed, the CSS properties using the resulting value are automatically updated.\n

A particularly useful scenario for using this would be to render an image in an HTML <canvas> element, then use that as a background.\n

On Gecko browsers, you can use the non-standard document.mozSetImageElement() method to change the element being used as the background for a given CSS background element.", + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The element() CSS function defines an <image> value generated from an arbitrary HTML element. This image is live, meaning that if the HTML element is changed, the CSS properties using the resulting value are automatically updated.\n

A particularly useful scenario for using this would be to render an image in an HTML <canvas> element, then use that as a background.\n

On Gecko browsers, you can use the non-standard document.mozSetImageElement() method to change the element being used as the background for a given CSS background element.", "formalSyntax": "element( <id-selector> )\n  <id-selector> = <hash-token>" }, "ellipse": { @@ -4168,7 +4198,7 @@ "lowDate": "2020-01-15", "highDate": "2022-07-15" }, - "doc": "The ellipse() CSS function is one of the <basic-shape> data types.", + "doc": "The ellipse() CSS function is one of the <basic-shape> data types.", "formalSyntax": "ellipse( <radial-size>? [ at <position> ]? )\n  <radial-size> = <radial-extent> | <length [0,∞]> | <length-percentage [0,∞]>{2}\n  <position> = [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right ] && [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ]\n  <radial-extent> = closest-corner | closest-side | farthest-corner | farthest-side\n  <length-percentage> = <length> | <percentage>", "values": { "<shape-radius>": "Two radii, x and y in that order. These may be a <length>, or a <percentage> or values closest-side and farthest-side.\n

\n
closest-side
\n
\n

Uses the length from the center of the shape to the closest side of the reference box. For ellipses, this is the closest side in the radius dimension.\n

\n
farthest-side
\n
\n

Uses the length from the center of the shape to the farthest side of the reference box. For ellipses, this is the farthest side in the radius dimension.\n

\n
", @@ -4195,7 +4225,7 @@ "lowDate": "2020-01-15", "highDate": "2022-07-15" }, - "doc": "The env() CSS function can be used to insert the value of a user-agent defined environment variable into your CSS.", + "doc": "The env() CSS function can be used to insert the value of a user-agent defined environment variable into your CSS.", "formalSyntax": "env( <custom-ident> <integer [0,∞]>* , <declaration-value>? )" }, "exp": { @@ -4217,7 +4247,7 @@ "level": "LOW", "lowDate": "2023-12-07" }, - "doc": "The exp() CSS function is an exponential function that takes a number as an argument and returns the mathematical constant e raised to the power of the given number.\n

The mathematical constant e is the base of natural logarithms, and is approximately 2.718281828459045.\n

The exp(number) function contains a calculation which returns the same value as pow(e, number).", + "doc": "The exp() CSS function is an exponential function that takes a number as an argument and returns the mathematical constant e raised to the power of the given number.\n

The mathematical constant e is the base of natural logarithms, and is approximately 2.718281828459045.\n

The exp(number) function contains a calculation which returns the same value as pow(e, number).", "formalSyntax": "exp( <calc-sum> )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "fit-content": { @@ -4238,7 +4268,7 @@ }, "support_of_fit-content_function": {} }, - "doc": "The fit-content() CSS function clamps a given size to an available size according to the formula min(maximum size, max(minimum size, argument)).", + "doc": "The fit-content() CSS function clamps a given size to an available size according to the formula min(maximum size, max(minimum size, argument)).", "formalSyntax": "fit-content( <length-percentage> )\n  <length-percentage> = <length> | <percentage>", "values": { "<length>": "An absolute length.", @@ -4265,7 +4295,7 @@ "lowDate": "2016-09-07", "highDate": "2019-03-07" }, - "doc": "The grayscale() CSS function converts the input image to grayscale. Its result is a <filter-function>.", + "doc": "The grayscale() CSS function converts the input image to grayscale. Its result is a <filter-function>.", "formalSyntax": "grayscale( [ <number> | <percentage> ]? )" }, "hsl": { @@ -4318,7 +4348,7 @@ "lowDate": "2016-09-07", "highDate": "2019-03-07" }, - "doc": "The hue-rotate() CSS function rotates the hue of an element and its contents. Its result is a <filter-function>.\n

\n

Note:\nhue-rotate() is specified as a matrix operation on the RGB color. It does not actually convert the color to the HSL model, which is a non-linear operation. Therefore, it may not preserve the saturation or lightness of the original color, especially for saturated colors.\n

", + "doc": "The hue-rotate() CSS function rotates the hue of an element and its contents. Its result is a <filter-function>.\n
\n

Note:\nhue-rotate() is specified as a matrix operation on the RGB color. It does not actually convert the color to the HSL model, which is a non-linear operation. Therefore, it may not preserve the saturation or lightness of the original color, especially for saturated colors.\n

", "formalSyntax": "hue-rotate( [ <angle> | <zero> ]? )", "values": { "angle": "The relative change in hue of the input sample, specified as an <angle>. A value of 0deg leaves the input unchanged. A positive hue rotation increases the hue value, while a negative rotation decreases the hue value. The initial value for interpolation is 0. There is no minimum or maximum value. The effect of values above 360deg are, given hue-rotate(Ndeg), evaluates to N modulo 360. The default value is 0deg." @@ -4366,7 +4396,7 @@ "level": "LOW", "lowDate": "2023-12-07" }, - "doc": "The hypot() CSS function is an exponential function that returns the square root of the sum of squares of its parameters.\n

While pow() and sqrt() only work on unitless numbers, hypot() accepts values with units, but they all must have the same type.", + "doc": "The hypot() CSS function is an exponential function that returns the square root of the sum of squares of its parameters.\n

While pow() and sqrt() only work on unitless numbers, hypot() accepts values with units, but they all must have the same type.", "formalSyntax": "hypot( <calc-sum># )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "if": { @@ -4384,11 +4414,11 @@ "baseline": { "level": "NONE" }, - "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The if() CSS function allows different values to be set for a property depending on the result of a conditional test. The test can be based on a style query, a media query, or a feature query." + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The if() CSS function allows different values to be set for a property depending on the result of a conditional test. The test can be based on a style query, a media query, or a feature query." }, "image": { "url": "$MDN_URL$/web/css/image/image", - "doc": "The image() CSS function defines an <image> in a similar fashion to the url() function, but with added functionality including specifying the image's directionality, displaying just a part of that image defined by a media fragment, and specifying a solid color as a fallback in case none of the specified images are able to be rendered.\n

\n

Note:\nThe CSS image() function should not confused with Image(), the HTMLImageElement constructor.\n

", + "doc": "The image() CSS function defines an <image> in a similar fashion to the url() function, but with added functionality including specifying the image's directionality, displaying just a part of that image defined by a media fragment, and specifying a solid color as a fallback in case none of the specified images are able to be rendered.\n
\n

Note:\nThe CSS image() function should not confused with Image(), the HTMLImageElement constructor.\n

", "formalSyntax": "image( <image-tags>? [ <image-src>? , <color>? ]! )\n  <image-tags> = ltr | rtl\n  <image-src> = <url> | <string>\n  <url> = <url()> | <src()>\n  <url()> = url( <string> <url-modifier>* ) | <url-token>\n  <src()> = src( <string> <url-modifier>* )", "values": { "image-tags": "The directionality of the image, either ltr for left-to-right or rtl for right-to-left.", @@ -4415,7 +4445,7 @@ "level": "LOW", "lowDate": "2023-09-18" }, - "doc": "The image-set() CSS functional notation is a method of letting the browser pick the most appropriate CSS image from a given set, primarily for high pixel density screens.\n

Resolution and bandwidth differ by device and network access. The image-set() function delivers the most appropriate image resolution for a user's device, providing a set of image options — each with an associated resolution declaration — from which the browser picks the most appropriate for the device and settings. Resolution can be used as a proxy for filesize — a user agent on a slow mobile connection with a high-resolution screen may prefer to receive lower-resolution images rather than waiting for a higher resolution image to load.\n

image-set() allows the author to provide options rather than determining what each individual user needs.", + "doc": "The image-set() CSS functional notation is a method of letting the browser pick the most appropriate CSS image from a given set, primarily for high pixel density screens.\n

Resolution and bandwidth differ by device and network access. The image-set() function delivers the most appropriate image resolution for a user's device, providing a set of image options — each with an associated resolution declaration — from which the browser picks the most appropriate for the device and settings. Resolution can be used as a proxy for filesize — a user agent on a slow mobile connection with a high-resolution screen may prefer to receive lower-resolution images rather than waiting for a higher resolution image to load.\n

image-set() allows the author to provide options rather than determining what each individual user needs.", "formalSyntax": "image-set( <image-set-option># )\n  <image-set-option> = [ <image> | <string> ] [ <resolution> || type( <string> ) ]?\n  <image> = <url> | <gradient>\n  <url> = <url()> | <src()>\n  <url()> = url( <string> <url-modifier>* ) | <url-token>\n  <src()> = src( <string> <url-modifier>* )", "values": { "<image>": "The <image> can be any image type except for an image set. The image-set() function may not be nested inside another image-set() function.", @@ -4444,7 +4474,7 @@ "lowDate": "2020-01-15", "highDate": "2022-07-15" }, - "doc": "The inset() CSS function defines a rectangle at the specified inset distances from each side of the reference box. It is a basic shape function used to define one of the <basic-shape> data types.", + "doc": "The inset() CSS function defines a rectangle at the specified inset distances from each side of the reference box. It is a basic shape function used to define one of the <basic-shape> data types.", "formalSyntax": "inset( <length-percentage>{1,4} [ round <'border-radius'> ]? )\n  <length-percentage> = <length> | <percentage>\n  <border-radius> = <length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]?", "values": { "<length-percentage>{1,4}": "When all of the four arguments are supplied they represent the top, right, bottom, and left offsets from the reference box inward that define the positions of the edges of the inset rectangle. These arguments follow the syntax of the margin shorthand, which let you set all\nfour insets with one, two, or four values.\n

If a pair of insets for a dimension adds up to more than 100% of that dimension, both values are proportionally reduced so their sum equals 100%. For example, the value inset(90% 10% 60% 10%) has a top inset of 90% and a bottom inset of 60%. These values are reduced proportionally to inset(60% 10% 40% 10%). Shapes such as this, that enclose no area and have no shape-margin, do not affect wrapping.", @@ -4471,7 +4501,7 @@ "lowDate": "2016-09-07", "highDate": "2019-03-07" }, - "doc": "The invert() CSS function inverts the color samples in the input image. Its result is a <filter-function>.", + "doc": "The invert() CSS function inverts the color samples in the input image. Its result is a <filter-function>.", "formalSyntax": "invert( [ <number> | <percentage> ]? )" }, "lab": { @@ -4551,7 +4581,7 @@ "level": "LOW", "lowDate": "2024-05-13" }, - "doc": "The light-dark() CSS <color> function enables setting two colors for a property - returning one of the two colors options by detecting if the developer has set a light or dark color scheme or the user has requested light or dark color theme - without needing to encase the theme colors within a prefers-color-scheme media feature query.\nUsers are able to indicate their color-scheme preference through their operating system settings (e.g., light or dark mode) or their user agent settings. The light-dark() function enables providing two color values where any <color> value is accepted. The light-dark() CSS color function returns the first value if the user's preference is set to light or if no preference is set and the second value if the user's preference is set to dark.\n

To enable support for the light-dark() color function, the color-scheme must have a value of light dark, usually set on the :root pseudo-class.\n

\n```css\n:root {\n  color-scheme: light dark;\n}\nbody {\n  color: light-dark(#333b3c, #efefec);\n  background-color: light-dark(#efedea, #223a2c);\n}\n```\n
", + "doc": "The light-dark() CSS <color> function enables setting two colors for a property - returning one of the two colors options by detecting if the developer has set a light or dark color scheme or the user has requested light or dark color theme - without needing to encase the theme colors within a prefers-color-scheme media feature query.\nUsers are able to indicate their color-scheme preference through their operating system settings (e.g., light or dark mode) or their user agent settings. The light-dark() function enables providing two color values where any <color> value is accepted. The light-dark() CSS color function returns the first value if the user's preference is set to light or if no preference is set and the second value if the user's preference is set to dark.\n

To enable support for the light-dark() color function, the color-scheme must have a value of light dark, usually set on the :root pseudo-class.\n

\n```css\n:root {\n  color-scheme: light dark;\n}\nbody {\n  color: light-dark(#333b3c, #efefec);\n  background-color: light-dark(#efedea, #223a2c);\n}\n```\n
", "formalSyntax": "light-dark( <color> , <color> )", "values": { "light-color": "<color> value to be set for light color-scheme.", @@ -4577,7 +4607,7 @@ "level": "LOW", "lowDate": "2023-12-11" }, - "doc": "The linear() CSS function creates a transition curve that progresses uniformly between points.\nAs an <easing-function>, it creates transitions where the interpolation occurs at a constant rate from beginning to end.", + "doc": "The linear() CSS function creates a transition curve that progresses uniformly between points.\nAs an <easing-function>, it creates transitions where the interpolation occurs at a constant rate from beginning to end.", "formalSyntax": "linear( [ <number> && <percentage>{0,2} ]# )" }, "linear-gradient": { @@ -4600,7 +4630,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The linear-gradient() CSS function creates an image consisting of a progressive transition between two or more colors along a straight line. Its result is an object of the <gradient> data type, which is a special kind of <image>.", + "doc": "The linear-gradient() CSS function creates an image consisting of a progressive transition between two or more colors along a straight line. Its result is an object of the <gradient> data type, which is a special kind of <image>.", "formalSyntax": "linear-gradient( [ <linear-gradient-syntax> ] )\n  <linear-gradient-syntax> = [ <angle> | <zero> | to <side-or-corner> ]? , <color-stop-list>\n  <side-or-corner> = [ left | right ] || [ top | bottom ]\n  <color-stop-list> = <linear-color-stop> , [ <linear-color-hint>? , <linear-color-stop> ]#?\n  <linear-color-stop> = <color> <length-percentage>?\n  <linear-color-hint> = <length-percentage>\n  <length-percentage> = <length> | <percentage>", "values": { "<side-or-corner>": "The position of the gradient line's starting point. If specified, it consists of the word to and up to two keywords: one indicates the horizontal side (left or right), and the other the vertical side (top or bottom). The order of the side keywords does not matter. If unspecified, it defaults to to bottom.\n

The values to top, to bottom, to left, and to right are equivalent to the angles 0deg, 180deg, 270deg, and 90deg, respectively. The other values are translated into an angle.", @@ -4628,7 +4658,7 @@ "level": "LOW", "lowDate": "2023-12-07" }, - "doc": "The log() CSS function is an exponential function that returns the logarithm of a number.\n

Logarithm is the inverse of exponentiation. It is the number that a fixed base has to be raised to in order to yield the number passed as the first parameter.\n

In CSS, when a single parameter is passed, the natural logarithm e, or approximately 2.7182818, is used, though the base can be set to any value with an optional second parameter.", + "doc": "The log() CSS function is an exponential function that returns the logarithm of a number.\n

Logarithm is the inverse of exponentiation. It is the number that a fixed base has to be raised to in order to yield the number passed as the first parameter.\n

In CSS, when a single parameter is passed, the natural logarithm e, or approximately 2.7182818, is used, though the base can be set to any value with an optional second parameter.", "formalSyntax": "log( <calc-sum> , <calc-sum>? )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "matrix": { @@ -4651,7 +4681,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The matrix() CSS function defines a homogeneous 2D transformation matrix. Its result is\na <transform-function> data type.\n

\n

Note:\nThe matrix(a, b, c, d, tx, ty) function is a shorthand for matrix3d(a, b, 0, 0, c, d, 0, 0, 0, 0, 1, 0, tx, ty, 0, 1).\n

", + "doc": "The matrix() CSS function defines a homogeneous 2D transformation matrix. Its result is\na <transform-function> data type.\n
\n

Note:\nThe matrix(a, b, c, d, tx, ty) function is a shorthand for matrix3d(a, b, 0, 0, c, d, 0, 0, 0, 0, 1, 0, tx, ty, 0, 1).\n

", "formalSyntax": "matrix( <number>#{6} )", "values": { "a b c d": "Are <number>s describing the linear transformation.", @@ -4678,7 +4708,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The matrix3d() CSS function defines a 3D transformation as a 4x4 homogeneous matrix.\nIts result is a <transform-function> data type.", + "doc": "The matrix3d() CSS function defines a 3D transformation as a 4x4 homogeneous matrix.\nIts result is a <transform-function> data type.", "formalSyntax": "matrix3d( <number>#{16} )", "values": { "a1 b1 c1 d1 a2 b2 c2 d2\na3 b3 c3 d3": "Are <number>s describing the linear transformation.", @@ -4705,7 +4735,7 @@ "lowDate": "2020-07-28", "highDate": "2023-01-28" }, - "doc": "The max() CSS function lets you set the largest (most positive) value from a list of comma-separated expressions as the value of a CSS property value. The max() function can be used anywhere a <length>, <frequency>, <angle>, <time>, <percentage>, <number>, or <integer> is allowed.", + "doc": "The max() CSS function lets you set the largest (most positive) value from a list of comma-separated expressions as the value of a CSS property value. The max() function can be used anywhere a <length>, <frequency>, <angle>, <time>, <percentage>, <number>, or <integer> is allowed.", "formalSyntax": "max( <calc-sum># )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "min": { @@ -4728,7 +4758,7 @@ "lowDate": "2020-07-28", "highDate": "2023-01-28" }, - "doc": "The min() CSS function lets you set the smallest (most negative) value from a list of comma-separated expressions as the value of a CSS property value. The min() function can be used anywhere a <length>, <frequency>, <angle>, <time>, <percentage>, <number>, or <integer> is allowed.", + "doc": "The min() CSS function lets you set the smallest (most negative) value from a list of comma-separated expressions as the value of a CSS property value. The min() function can be used anywhere a <length>, <frequency>, <angle>, <time>, <percentage>, <number>, or <integer> is allowed.", "formalSyntax": "min( <calc-sum># )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "minmax": { @@ -4751,7 +4781,7 @@ "lowDate": "2017-10-17", "highDate": "2020-04-17" }, - "doc": "The minmax() CSS function defines a size range greater than or equal to min and less than or equal to max. It is used with CSS grids.", + "doc": "The minmax() CSS function defines a size range greater than or equal to min and less than or equal to max. It is used with CSS grids.", "formalSyntax": "minmax( min , max )", "values": { "<length>": "A non-negative length.", @@ -4781,7 +4811,7 @@ "level": "LOW", "lowDate": "2024-05-17" }, - "doc": "The mod() CSS function returns a modulus left over when the first parameter is divided by the second parameter, similar to the JavaScript remainder operator (%). The modulus is the value left over when one operand, the dividend, is divided by a second operand, the divisor. It always takes the sign of the divisor.\n

The calculation is a - (Math.floor(a / b) * b). For example, the CSS mod(21, -4) function returns the remainder of -3. The full calculation is 21 - (Math.floor(21 / -4) * -4). When dividing 21 by -4, the result is -5.25. This is floored to -6. Multiplying -6 by -4 is 24. Subtracting this 24 from the original 21, the remainder is -3.", + "doc": "The mod() CSS function returns a modulus left over when the first parameter is divided by the second parameter, similar to the JavaScript remainder operator (%). The modulus is the value left over when one operand, the dividend, is divided by a second operand, the divisor. It always takes the sign of the divisor.\n

The calculation is a - (Math.floor(a / b) * b). For example, the CSS mod(21, -4) function returns the remainder of -3. The full calculation is 21 - (Math.floor(21 / -4) * -4). When dividing 21 by -4, the result is -5.25. This is floored to -6. Multiplying -6 by -4 is 24. Subtracting this 24 from the original 21, the remainder is -3.", "formalSyntax": "mod( <calc-sum> , <calc-sum> )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "oklab": { @@ -4862,7 +4892,7 @@ "lowDate": "2016-09-07", "highDate": "2019-03-07" }, - "doc": "The opacity() CSS function applies transparency to the samples in the input image. Its result is a <filter-function>.", + "doc": "The opacity() CSS function applies transparency to the samples in the input image. Its result is a <filter-function>.", "formalSyntax": "opacity( [ <number> | <percentage> ]? )" }, "paint": { @@ -4879,7 +4909,7 @@ "baseline": { "level": "NONE" }, - "doc": "The paint() CSS function defines an <image> value generated with a PaintWorklet.", + "doc": "The paint() CSS function defines an <image> value generated with a PaintWorklet.", "formalSyntax": "paint( <ident> , <declaration-value>? )" }, "path": { @@ -4902,7 +4932,7 @@ "lowDate": "2020-07-28", "highDate": "2023-01-28" }, - "doc": "The path() CSS function accepts an SVG path string, and is used in the CSS shapes and CSS motion path modules to enable a shape to be drawn. The path() function is a <basic-shape> data type value. It can be used in the CSS offset-path and clip-path properties and in the SVG d attribute.\n

There are some limitations to using the path() function. The path has to be defined as a single string, so a custom path can't be created using variables (var() functions). Also, all the lengths in the path are implicitly defined in pixel (px) units; other units can't be used. The shape() function offers more flexibility than the path() function.", + "doc": "The path() CSS function accepts an SVG path string, and is used in the CSS shapes and CSS motion path modules to enable a shape to be drawn. The path() function is a <basic-shape> data type value. It can be used in the CSS offset-path and clip-path properties and in the SVG d attribute.\n

There are some limitations to using the path() function. The path has to be defined as a single string, so a custom path can't be created using variables (var() functions). Also, all the lengths in the path are implicitly defined in pixel (px) units; other units can't be used. The shape() function offers more flexibility than the path() function.", "formalSyntax": "path( <'fill-rule'>? , <string> )\n  <fill-rule> = nonzero | evenodd" }, "perspective": { @@ -4925,7 +4955,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The perspective() CSS function defines a transformation that sets the distance between the\nuser and the z=0 plane, the perspective from which the viewer would be if the 2-dimensional interface were\n3-dimensional. Its result is a <transform-function> data type.", + "doc": "The perspective() CSS function defines a transformation that sets the distance between the\nuser and the z=0 plane, the perspective from which the viewer would be if the 2-dimensional interface were\n3-dimensional. Its result is a <transform-function> data type.", "formalSyntax": "perspective( [ <length [0,∞]> | none ] )", "values": { "d": "Is a <length> representing the distance from the user to the z=0 plane. The z=0 plane is the plane where everything appears in a 2-dimensional view, or the screen. Values smaller than 1px (including zero) are clamped to 1px. Negative values are syntax errors.\n

Values other than none cause elements with positive z positions to appear larger, and elements with negative z positions to appear smaller. Elements with z positions equal to or larger than the perspective value disappear as though they are behind the user. Large values of perspective represent a small transformation; small values of perspective() represent a large transformation; perspective(none) represents perspective from infinite distance and no transformation." @@ -4951,7 +4981,7 @@ "lowDate": "2020-01-15", "highDate": "2022-07-15" }, - "doc": "The polygon() CSS function is one of the <basic-shape> data types. It's used to draw a polygon by providing one or more pairs of coordinates, each of which represents a vertex of the shape.", + "doc": "The polygon() CSS function is one of the <basic-shape> data types. It's used to draw a polygon by providing one or more pairs of coordinates, each of which represents a vertex of the shape.", "formalSyntax": "polygon( <'fill-rule'>? [ round <length> ]? , [ <length-percentage> <length-percentage> ]# )\n  <fill-rule> = nonzero | evenodd\n  <length-percentage> = <length> | <percentage>" }, "pow": { @@ -4973,7 +5003,7 @@ "level": "LOW", "lowDate": "2023-12-07" }, - "doc": "The pow() CSS function is an exponential function that returns the value of a base raised to the power of a number.\n

The exp() function is a special case of pow() where the value of the base is the mathematical constant e.", + "doc": "The pow() CSS function is an exponential function that returns the value of a base raised to the power of a number.\n

The exp() function is a special case of pow() where the value of the base is the mathematical constant e.", "formalSyntax": "pow( <calc-sum> , <calc-sum> )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "progress": { @@ -4988,7 +5018,7 @@ "Edge": "138", "Opera": "122" }, - "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The progress() CSS function returns a <number> value representing the position of one value (the progress value) relative to two other values (the progress start and end values).", + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The progress() CSS function returns a <number> value representing the position of one value (the progress value) relative to two other values (the progress start and end values).", "formalSyntax": "progress( <calc-sum> , <calc-sum> , <calc-sum> )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "radial-gradient": { @@ -5011,7 +5041,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The radial-gradient() CSS function creates an image consisting of a progressive transition between two or more colors that radiate from an origin. Its shape may be a circle or an ellipse. The function's result is an object of the <gradient> data type, which is a special kind of <image>.", + "doc": "The radial-gradient() CSS function creates an image consisting of a progressive transition between two or more colors that radiate from an origin. Its shape may be a circle or an ellipse. The function's result is an object of the <gradient> data type, which is a special kind of <image>.", "formalSyntax": "radial-gradient( [ <radial-gradient-syntax> ] )\n  <radial-gradient-syntax> = [ <radial-shape> || <radial-size> ]? [ at <position> ]? , <color-stop-list>\n  <radial-shape> = circle | ellipse\n  <radial-size> = <radial-extent> | <length [0,∞]> | <length-percentage [0,∞]>{2}\n  <position> = [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right ] && [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ]\n  <color-stop-list> = <linear-color-stop> , [ <linear-color-hint>? , <linear-color-stop> ]#?\n  <radial-extent> = closest-corner | closest-side | farthest-corner | farthest-side\n  <length-percentage> = <length> | <percentage>\n  <linear-color-stop> = <color> <length-percentage>?\n  <linear-color-hint> = <length-percentage>", "values": { "<position>": "The position of the gradient, interpreted in the same way as background-position or transform-origin. If unspecified, it defaults to center.", @@ -5040,7 +5070,7 @@ "level": "LOW", "lowDate": "2024-01-23" }, - "doc": "The ray() CSS function defines the offset-path line segment that an animated element can follow. The line segment is referred to as \"ray\". The ray begins from an offset-position and extends in the direction of the specified angle. The length of a ray can be constrained by specifying a size and using the contain keyword.", + "doc": "The ray() CSS function defines the offset-path line segment that an animated element can follow. The line segment is referred to as \"ray\". The ray begins from an offset-position and extends in the direction of the specified angle. The length of a ray can be constrained by specifying a size and using the contain keyword.", "formalSyntax": "ray( <angle> &&<ray-size>? &&contain? &&[ at <position> ]? )\n  <ray-size> = closest-side | closest-corner | farthest-side | farthest-corner | sides\n  <position> = [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right ] && [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ]\n  <length-percentage> = <length> | <percentage>" }, "rect": { @@ -5062,7 +5092,7 @@ "level": "LOW", "lowDate": "2024-01-23" }, - "doc": "The rect() CSS function creates a rectangle at the specified distance from the top and left edges of the containing block. It is a basic shape function of the <basic-shape> data type. You can use the rect() function in CSS properties such as offset-path to create the rectangular path along which an element moves and in clip-path to define the shape of the clipping region.", + "doc": "The rect() CSS function creates a rectangle at the specified distance from the top and left edges of the containing block. It is a basic shape function of the <basic-shape> data type. You can use the rect() function in CSS properties such as offset-path to create the rectangular path along which an element moves and in clip-path to define the shape of the clipping region.", "formalSyntax": "rect( <top> , <right> , <bottom> , <left> )", "values": { "<length-percentage>": "Specifies the <length-percentage> value of the distance of the top, right, bottom, or left edge of the rectangle from the top or left edge of the containing block. The first (top) and third (bottom) values are distances from the top edge of the containing block, and the second (right) and fourth (left) values are distances from the left edge of the containing block. The second (right) and third (bottom) values are clamped by the fourth (left) and first (top) values, respectively, to prevent the bottom edge from crossing over the top edge and right edge from crossing over the left edge. For example, rect(10px 0 0 20px) is clamped to rect(10px 20px 10px 20px).", @@ -5089,7 +5119,7 @@ "level": "LOW", "lowDate": "2024-05-17" }, - "doc": "The rem() CSS function returns a remainder left over when the first parameter is divided by the second parameter, similar to the JavaScript remainder operator (%). The remainder is the value left over when one operand, the dividend, is divided by a second operand, the divisor. It always takes the sign of the dividend.\n

\n

Note:\nTo read about the unit rem, see the <length> page.\n

\n

For example, the CSS rem(27, 5) function returns the remainder of 2. When dividing 27 by 5, the result is 5 with a remainder of 2. The full calculation is 27 / 5 = 5 * 5 + 2.", + "doc": "The rem() CSS function returns a remainder left over when the first parameter is divided by the second parameter, similar to the JavaScript remainder operator (%). The remainder is the value left over when one operand, the dividend, is divided by a second operand, the divisor. It always takes the sign of the dividend.\n

\n

Note:\nTo read about the unit rem, see the <length> page.\n

\n

For example, the CSS rem(27, 5) function returns the remainder of 2. When dividing 27 by 5, the result is 5 with a remainder of 2. The full calculation is 27 / 5 = 5 * 5 + 2.", "formalSyntax": "rem( <calc-sum> , <calc-sum> )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "repeat": { @@ -5112,7 +5142,7 @@ "lowDate": "2020-07-28", "highDate": "2023-01-28" }, - "doc": "The repeat() CSS function represents a repeated fragment of the track list, allowing a large number of columns or rows that exhibit a recurring pattern to be written in a more compact form.", + "doc": "The repeat() CSS function represents a repeated fragment of the track list, allowing a large number of columns or rows that exhibit a recurring pattern to be written in a more compact form.", "formalSyntax": "repeat( [ <integer [1,∞]> ] , [ <line-names>? <track-size> ]+ <line-names>? )\n  <auto-repeat> = repeat( [ auto-fill | auto-fit ] , [ <line-names>? <fixed-size> ]+ <line-names>? )\n  <fixed-repeat> = repeat( [ <integer [1,∞]> ] , [ <line-names>? <fixed-size> ]+ <line-names>? )\n  <name-repeat> = repeat( [ <integer [1,∞]> | auto-fill ] , <line-names>+ )\n  <line-names> = '[' <custom-ident>* ']'\n  <track-size> = <track-breadth> | minmax( <inflexible-breadth> , <track-breadth> ) | fit-content( <length-percentage [0,∞]> )\n  <fixed-size> = <fixed-breadth> | minmax( <fixed-breadth> , <track-breadth> ) | minmax( <inflexible-breadth> , <fixed-breadth> )\n  <track-breadth> = <length-percentage [0,∞]> | <flex [0,∞]> | min-content | max-content | auto\n  <inflexible-breadth> = <length-percentage [0,∞]> | min-content | max-content | auto\n  <length-percentage> = <length> | <percentage>\n  <fixed-breadth> = <length-percentage [0,∞]>", "values": { "<fixed-size>": "One of the following forms:\n

", @@ -5148,7 +5178,7 @@ "lowDate": "2020-11-17", "highDate": "2023-05-17" }, - "doc": "The repeating-conic-gradient() CSS function creates an image consisting of a repeating gradient (rather than a single gradient) with color transitions rotated around a center point (rather than radiating from the center).", + "doc": "The repeating-conic-gradient() CSS function creates an image consisting of a repeating gradient (rather than a single gradient) with color transitions rotated around a center point (rather than radiating from the center).", "formalSyntax": "repeating-conic-gradient( [ <conic-gradient-syntax> ] )\n  <conic-gradient-syntax> = [ [ [ from [ <angle> | <zero> ] ]? [ at <position> ]? ] || <color-interpolation-method> ]? , <angular-color-stop-list>\n  <position> = [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right ] && [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ]\n  <color-interpolation-method> = in [ <rectangular-color-space> | <polar-color-space> <hue-interpolation-method>? ]\n  <angular-color-stop-list> = <angular-color-stop> , [ <angular-color-hint>? , <angular-color-stop> ]#?\n  <length-percentage> = <length> | <percentage>\n  <rectangular-color-space> = srgb | srgb-linear | display-p3 | display-p3-linear | a98-rgb | prophoto-rgb | rec2020 | lab | oklab | <xyz-space>\n  <polar-color-space> = hsl | hwb | lch | oklch\n  <hue-interpolation-method> = [ shorter | longer | increasing | decreasing ] hue\n  <angular-color-stop> = <color> <color-stop-angle>?\n  <angular-color-hint> = <angle-percentage> | <zero>\n  <xyz-space> = xyz | xyz-d50 | xyz-d65\n  <color-stop-angle> = [ <angle-percentage> | <zero> ]{1,2}\n  <angle-percentage> = <angle> | <percentage>", "values": { "<angle>": "Preceded by the from keyterm, and taking an angle as its value, defines the gradient rotation in clockwise direction.", @@ -5177,7 +5207,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The repeating-linear-gradient() CSS function creates an image consisting of repeating linear gradients. It is similar to linear-gradient() and takes the same arguments, but it repeats the color stops infinitely in all directions so as to cover its entire container. The function's result is an object of the <gradient> data type, which is a special kind of <image>.", + "doc": "The repeating-linear-gradient() CSS function creates an image consisting of repeating linear gradients. It is similar to linear-gradient() and takes the same arguments, but it repeats the color stops infinitely in all directions so as to cover its entire container. The function's result is an object of the <gradient> data type, which is a special kind of <image>.", "formalSyntax": "repeating-linear-gradient( [ <linear-gradient-syntax> ] )\n  <linear-gradient-syntax> = [ <angle> | <zero> | to <side-or-corner> ]? , <color-stop-list>\n  <side-or-corner> = [ left | right ] || [ top | bottom ]\n  <color-stop-list> = <linear-color-stop> , [ <linear-color-hint>? , <linear-color-stop> ]#?\n  <linear-color-stop> = <color> <length-percentage>?\n  <linear-color-hint> = <length-percentage>\n  <length-percentage> = <length> | <percentage>", "values": { "<side-or-corner>": "The position of the gradient line's starting point. If specified, it consists of the word to and up to two keywords: one indicates the horizontal side (left or right), and the other the vertical side (top or bottom). The order of the side keywords does not matter. If unspecified, it defaults to to bottom.\n

The values to top, to bottom, to left, and to right are equivalent to the angles 0deg, 180deg, 270deg, and 90deg respectively. The other values are translated into an angle.", @@ -5206,7 +5236,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The repeating-radial-gradient() CSS function creates an image consisting of repeating gradients that radiate from an origin. It is similar to radial-gradient() and takes the same arguments, but it repeats the color stops infinitely in all directions so as to cover its entire container, similar to repeating-linear-gradient(). The function's result is an object of the <gradient> data type, which is a special kind of <image>.", + "doc": "The repeating-radial-gradient() CSS function creates an image consisting of repeating gradients that radiate from an origin. It is similar to radial-gradient() and takes the same arguments, but it repeats the color stops infinitely in all directions so as to cover its entire container, similar to repeating-linear-gradient(). The function's result is an object of the <gradient> data type, which is a special kind of <image>.", "formalSyntax": "repeating-radial-gradient( [ <radial-gradient-syntax> ] )\n  <radial-gradient-syntax> = [ <radial-shape> || <radial-size> ]? [ at <position> ]? , <color-stop-list>\n  <radial-shape> = circle | ellipse\n  <radial-size> = <radial-extent> | <length [0,∞]> | <length-percentage [0,∞]>{2}\n  <position> = [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right ] && [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ]\n  <color-stop-list> = <linear-color-stop> , [ <linear-color-hint>? , <linear-color-stop> ]#?\n  <radial-extent> = closest-corner | closest-side | farthest-corner | farthest-side\n  <length-percentage> = <length> | <percentage>\n  <linear-color-stop> = <color> <length-percentage>?\n  <linear-color-hint> = <length-percentage>", "values": { "<position>": "The position of the gradient, interpreted in the same way as background-position or transform-origin. If unspecified, it defaults to center.", @@ -5263,7 +5293,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The rotate() CSS function defines a transformation that rotates an element around a\nfixed point on the 2D plane, without deforming it. Its result is a <transform-function> data\ntype.", + "doc": "The rotate() CSS function defines a transformation that rotates an element around a\nfixed point on the 2D plane, without deforming it. Its result is a <transform-function> data\ntype.", "formalSyntax": "rotate( [ <angle> | <zero> ] )", "values": { "a": "Is an <angle> representing the angle of the rotation. The direction of rotation depends on the writing direction.\nIn a left-to-right context, a positive angle denotes a clockwise rotation, a negative angle a counter-clockwise one. In a right-to-left context,\na positive angle denotes a counter-clockwise rotation, a negative angle a clockwise one. A rotation by 180° is called point reflection." @@ -5289,7 +5319,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The rotate3d() CSS function defines a transformation that rotates an element around a\nfixed axis in 3D space, without deforming it. Its result is a <transform-function> data type.", + "doc": "The rotate3d() CSS function defines a transformation that rotates an element around a\nfixed axis in 3D space, without deforming it. Its result is a <transform-function> data type.", "formalSyntax": "rotate3d( <number> , <number> , <number> , [ <angle> | <zero> ] )", "values": { "x": "Is a <number> describing the x-coordinate of the vector denoting the axis of rotation which\ncan be a positive or negative number.", @@ -5318,7 +5348,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The rotateX() CSS function defines a transformation that rotates an element around the\nx-axis (horizontal) without deforming it. Its result is a <transform-function> data type.", + "doc": "The rotateX() CSS function defines a transformation that rotates an element around the\nx-axis (horizontal) without deforming it. Its result is a <transform-function> data type.", "formalSyntax": "rotateX( [ <angle> | <zero> ] )", "values": { "a": "Is an <angle> representing the angle of the rotation. A positive angle denotes a clockwise\nrotation, a negative angle a counter-clockwise one." @@ -5344,7 +5374,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The rotateY() CSS function defines a transformation that rotates an element around the\ny-axis (vertical) without deforming it. Its result is a <transform-function> data type.", + "doc": "The rotateY() CSS function defines a transformation that rotates an element around the\ny-axis (vertical) without deforming it. Its result is a <transform-function> data type.", "formalSyntax": "rotateY( [ <angle> | <zero> ] )", "values": { "a": "Is an <angle> representing the angle of the rotation. A positive angle denotes a clockwise\nrotation, a negative angle a counter-clockwise one." @@ -5370,7 +5400,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The rotateZ() CSS function defines a transformation that rotates an element around the\nz-axis without deforming it. Its result is a <transform-function> data type.", + "doc": "The rotateZ() CSS function defines a transformation that rotates an element around the\nz-axis without deforming it. Its result is a <transform-function> data type.", "formalSyntax": "rotateZ( [ <angle> | <zero> ] )", "values": { "a": "Is an <angle> representing the angle of the rotation. A positive angle denotes a clockwise\nrotation, a negative angle a counter-clockwise one." @@ -5395,7 +5425,7 @@ "level": "LOW", "lowDate": "2024-05-17" }, - "doc": "The round() CSS function returns a rounded number based on a selected rounding strategy.\n

Authors should use a custom CSS property (e.g., --my-property) for the rounding value, interval, or both; using the round() function is redundant if these have known values.", + "doc": "The round() CSS function returns a rounded number based on a selected rounding strategy.\n

Authors should use a custom CSS property (e.g., --my-property) for the rounding value, interval, or both; using the round() function is redundant if these have known values.", "formalSyntax": "round( <rounding-strategy>? , <calc-sum> , <calc-sum>? )\n  <rounding-strategy> = nearest | up | down | to-zero\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "saturate": { @@ -5418,7 +5448,7 @@ "lowDate": "2016-09-07", "highDate": "2019-03-07" }, - "doc": "The saturate() CSS function super-saturates or desaturates the input image. Its result is a <filter-function>.\n

\n

Note:\nsaturate() is specified as a matrix operation on the RGB color. It does not actually convert the color to the HSL model, which is a non-linear operation. Therefore, it may not preserve the hue or lightness of the original color.\n

", + "doc": "The saturate() CSS function super-saturates or desaturates the input image. Its result is a <filter-function>.\n
\n

Note:\nsaturate() is specified as a matrix operation on the RGB color. It does not actually convert the color to the HSL model, which is a non-linear operation. Therefore, it may not preserve the hue or lightness of the original color.\n

", "formalSyntax": "saturate( [ <number> | <percentage> ]? )" }, "scale": { @@ -5441,7 +5471,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The scale() CSS function defines a transformation that resizes an element on the 2D\nplane. Because the amount of scaling is defined by a vector [sx, sy], it can resize the horizontal and vertical dimensions at\ndifferent scales. Its result is a <transform-function> data type.", + "doc": "The scale() CSS function defines a transformation that resizes an element on the 2D\nplane. Because the amount of scaling is defined by a vector [sx, sy], it can resize the horizontal and vertical dimensions at\ndifferent scales. Its result is a <transform-function> data type.", "formalSyntax": "scale( [ <number> | <percentage> ]#{1,2} )", "values": { "sx": "A <number> or <percentage> representing the abscissa (horizontal, x-component) of the scaling vector.", @@ -5468,7 +5498,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The scale3d() CSS function defines a transformation that resizes an element in 3D space.\nBecause the amount of scaling is defined by a vector [sx, sy, sz], it can resize different dimensions at different scales. Its\nresult is a <transform-function> data type.", + "doc": "The scale3d() CSS function defines a transformation that resizes an element in 3D space.\nBecause the amount of scaling is defined by a vector [sx, sy, sz], it can resize different dimensions at different scales. Its\nresult is a <transform-function> data type.", "formalSyntax": "scale3d( [ <number> | <percentage> ]#{3} )", "values": { "sx": "Is a <number> representing the abscissa (horizontal, x-component) of the scaling vector.", @@ -5496,7 +5526,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The scaleX() CSS function defines a transformation that resizes an element along the\nx-axis (horizontally). Its result is a <transform-function> data type.", + "doc": "The scaleX() CSS function defines a transformation that resizes an element along the\nx-axis (horizontally). Its result is a <transform-function> data type.", "formalSyntax": "scaleX( [ <number> | <percentage> ] )", "values": { "s": "Is a <number> representing the scaling factor to apply on the abscissa (horizontal, x-coordinate) of each point of the\nelement." @@ -5522,7 +5552,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The scaleY() CSS function defines a transformation that resizes an element along the\ny-axis (vertically). Its result is a <transform-function> data type.", + "doc": "The scaleY() CSS function defines a transformation that resizes an element along the\ny-axis (vertically). Its result is a <transform-function> data type.", "formalSyntax": "scaleY( [ <number> | <percentage> ] )", "values": { "s": "Is a <number> representing the scaling factor to apply on the ordinate (vertical, y-coordinate) of each point of the\nelement." @@ -5548,7 +5578,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The scaleZ() CSS function defines a transformation that resizes an element along the\nz-axis. Its result is a <transform-function> data type.", + "doc": "The scaleZ() CSS function defines a transformation that resizes an element along the\nz-axis. Its result is a <transform-function> data type.", "formalSyntax": "scaleZ( [ <number> | <percentage> ] )", "values": { "s": "Is a <number> representing the scaling factor to apply on the z-coordinate of each point of\nthe element." @@ -5574,7 +5604,7 @@ "lowDate": "2016-09-07", "highDate": "2019-03-07" }, - "doc": "The sepia() CSS function converts the input image to sepia, giving it a warmer, more yellow/brown appearance. Its result is a <filter-function>.", + "doc": "The sepia() CSS function converts the input image to sepia, giving it a warmer, more yellow/brown appearance. Its result is a <filter-function>.", "formalSyntax": "sepia( [ <number> | <percentage> ]? )" }, "shape": { @@ -5594,7 +5624,7 @@ "baseline": { "level": "NONE" }, - "doc": "The shape() CSS function is used to define a shape for the clip-path and offset-path properties. It combines an initial starting point with a series of shape commands that define the path of the shape. The shape() function is a member of the <basic-shape> data type.", + "doc": "The shape() CSS function is used to define a shape for the clip-path and offset-path properties. It combines an initial starting point with a series of shape commands that define the path of the shape. The shape() function is a member of the <basic-shape> data type.", "formalSyntax": "shape( <'fill-rule'>? from <position> , <shape-command># )\n  <fill-rule> = nonzero | evenodd\n  <position> = [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right ] && [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ]\n  <shape-command> = <move-command> | <line-command> | close | <horizontal-line-command> | <vertical-line-command> | <curve-command> | <smooth-command> | <arc-command>\n  <length-percentage> = <length> | <percentage>\n  <move-command> = move <command-end-point>\n  <line-command> = line <command-end-point>\n  <horizontal-line-command> = hline [ to [ <length-percentage> | left | center | right | x-start | x-end ] | by <length-percentage> ]\n  <vertical-line-command> = vline [ to [ <length-percentage> | top | center | bottom | y-start | y-end ] | by <length-percentage> ]\n  <curve-command> = curve [ [ to <position> with <control-point> [ / <control-point> ]? ] | [ by <coordinate-pair> with <relative-control-point> [ / <relative-control-point> ]? ] ]\n  <smooth-command> = smooth [ [ to <position> [ with <control-point> ]? ] | [ by <coordinate-pair> [ with <relative-control-point> ]? ] ]\n  <arc-command> = arc <command-end-point> [ [ of <length-percentage>{1,2} ] && <arc-sweep>? && <arc-size>? && [ rotate <angle> ]? ]\n  <command-end-point> = to <position> | by <coordinate-pair>\n  <control-point> = <position> | <relative-control-point>\n  <coordinate-pair> = <length-percentage>{2}\n  <relative-control-point> = <coordinate-pair> [ from [ start | end | origin ] ]?\n  <arc-sweep> = cw | ccw\n  <arc-size> = large | small" }, "sibling-count": { @@ -5607,12 +5637,13 @@ "Chrome": "138", "ChromeAndroid": "138", "Edge": "138", - "Opera": "122" + "Opera": "122", + "Safari": "preview" }, "baseline": { "level": "NONE" }, - "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The sibling-count() CSS function returns an integer representing the total number of sibling DOM elements (direct children of the parent) of the element on which it is used, including itself.\n

\n

Note:\nThe counter() function provides a similar result but it returns a <string>, while sibling-count() returns an <integer> which can be used for calculations.\n

" + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The sibling-count() CSS function returns an integer representing the total number of sibling DOM elements (direct children of the parent) of the element on which it is used, including itself.\n

\n

Note:\nThe counter() function provides a similar result but it returns a <string> (which is more suitable for generated content, while sibling-count() returns an <integer> (which can be used for calculations).\n

" }, "sibling-index": { "url": "$MDN_URL$/web/css/sibling-index", @@ -5624,12 +5655,13 @@ "Chrome": "138", "ChromeAndroid": "138", "Edge": "138", - "Opera": "122" + "Opera": "122", + "Safari": "preview" }, "baseline": { "level": "NONE" }, - "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The sibling-index() CSS function returns an integer representing the position of the current element in the DOM tree relative to all its sibling elements. The returned value is the index number of the contextual child's position among all the sibling elements within a parent element, with the first child returning 1 and the last child, returning Element.children.length." + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The sibling-index() CSS function returns an integer representing the position of the current element in the DOM tree relative to all its sibling elements. The returned value is the index number of the contextual child's position among all the sibling elements within a parent element, with the first child returning 1 and the last child, returning the length of Element.children.\n

\n

Note:\nLike the :nth-child() pseudo-class, sibling-index() starts from 1, not 0.\n

\n
\n

Note:\nThe counter() function provides a similar result but it returns a <string> (which is more suitable for generated content, while sibling-index() returns an <integer> (which can be used for calculations).\n

" }, "sign": { "url": "$MDN_URL$/web/css/sign", @@ -5650,7 +5682,7 @@ "level": "LOW", "lowDate": "2025-06-26" }, - "doc": "The sign() CSS function contains one calculation, and returns -1 if the numeric value of the argument is negative, +1 if the numeric value of the argument is positive, 0⁺ if the numeric value of the argument is 0⁺, and 0⁻ if the numeric value of the argument is 0⁻.\n
\n

Note:\nWhile abs() returns the absolute value of the argument, sign() returns the sign of the argument.\n

", + "doc": "The sign() CSS function contains one calculation, and returns -1 if the numeric value of the argument is negative, +1 if the numeric value of the argument is positive, 0⁺ if the numeric value of the argument is 0⁺, and 0⁻ if the numeric value of the argument is 0⁻.\n
\n

Note:\nWhile abs() returns the absolute value of the argument, sign() returns the sign of the argument.\n

", "formalSyntax": "sign( <calc-sum> )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "sin": { @@ -5673,7 +5705,7 @@ "lowDate": "2023-03-13", "highDate": "2025-09-13" }, - "doc": "The sin() CSS function is a trigonometric function that returns the sine of a number, which is a value between -1 and 1. The function contains a single calculation that must resolve to either a <number> or an <angle> by interpreting the result of the argument as radians. That is, sin(45deg), sin(0.125turn), and sin(3.14159 / 4) all represent the same value, approximately 0.707.", + "doc": "The sin() CSS function is a trigonometric function that returns the sine of a number, which is a value between -1 and 1. The function contains a single calculation that must resolve to either a <number> or an <angle> by interpreting the result of the argument as radians. That is, sin(45deg), sin(0.125turn), and sin(3.14159 / 4) all represent the same value, approximately 0.707.", "formalSyntax": "sin( <calc-sum> )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "skew": { @@ -5696,7 +5728,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The skew() CSS function defines a transformation that skews an element on the 2D\nplane. Its result is a <transform-function> data type.", + "doc": "The skew() CSS function defines a transformation that skews an element on the 2D\nplane. Its result is a <transform-function> data type.", "formalSyntax": "skew( [ <angle> | <zero> ] , [ <angle> | <zero> ]? )", "values": { "ax": "Is an <angle> representing the angle to use to distort the element along the x-axis.", @@ -5723,7 +5755,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The skewX() CSS function defines a transformation that skews an element in the\nhorizontal direction on the 2D plane. Its result is a <transform-function> data type.", + "doc": "The skewX() CSS function defines a transformation that skews an element in the\nhorizontal direction on the 2D plane. Its result is a <transform-function> data type.", "formalSyntax": "skewX( [ <angle> | <zero> ] )", "values": { "a": "Is an <angle> representing the angle to use to distort the element along the abscissa (horizontal, x-coordinate)." @@ -5749,7 +5781,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The skewY() CSS function defines a transformation that skews an element in the vertical\ndirection on the 2D plane. Its result is a <transform-function> data type.", + "doc": "The skewY() CSS function defines a transformation that skews an element in the vertical\ndirection on the 2D plane. Its result is a <transform-function> data type.", "formalSyntax": "skewY( [ <angle> | <zero> ] )", "values": { "a": "Is an <angle> representing the angle to use to distort the element along the ordinate (vertical, y-coordinate)." @@ -5774,7 +5806,7 @@ "level": "LOW", "lowDate": "2023-12-07" }, - "doc": "The sqrt() CSS function is an exponential function that returns the square root of a number.\n

The function pow(x, 0.5) is equivalent to sqrt(x).", + "doc": "The sqrt() CSS function is an exponential function that returns the square root of a number.\n

The function pow(x, 0.5) is equivalent to sqrt(x).", "formalSyntax": "sqrt( <calc-sum> )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "steps": { @@ -5797,7 +5829,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The steps() CSS function defines a transition that divides the input time into a specified number of intervals that are equal in length. This subclass of step functions are sometimes also called staircase functions.", + "doc": "The steps() CSS function defines a transition that divides the input time into a specified number of intervals that are equal in length. This subclass of step functions are sometimes also called staircase functions.", "formalSyntax": "steps( <integer> , <step-position>? )\n  <step-position> = jump-start | jump-end | jump-none | jump-both | start | end" }, "superellipse": { @@ -5815,7 +5847,7 @@ "baseline": { "level": "NONE" }, - "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The superellipse() CSS function defines the curvature of an ellipse, and is used to specify corner shapes either directly, or via <corner-shape-value> keywords.", + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The superellipse() CSS function defines the curvature of an ellipse, and is used to specify corner shapes either directly, or via <corner-shape-value> keywords.", "formalSyntax": "superellipse( <number [-∞,∞]> | infinity | -infinity )" }, "symbols": { @@ -5853,7 +5885,7 @@ "lowDate": "2023-03-13", "highDate": "2025-09-13" }, - "doc": "The tan() CSS function is a trigonometric function that returns the tangent of a number, which is a value between −infinity and infinity. The function contains a single calculation that must resolve to either a <number> or an <angle> by interpreting the result of the argument as radians.", + "doc": "The tan() CSS function is a trigonometric function that returns the tangent of a number, which is a value between −infinity and infinity. The function contains a single calculation that must resolve to either a <number> or an <angle> by interpreting the result of the argument as radians.", "formalSyntax": "tan( <calc-sum> )\n  <calc-sum> = <calc-product> [ [ '+' | '-' ] <calc-product> ]*\n  <calc-product> = <calc-value> [ [ '*' | / ] <calc-value> ]*\n  <calc-value> = <number> | <dimension> | <percentage> | <calc-keyword> | ( <calc-sum> )\n  <calc-keyword> = e | pi | infinity | -infinity | NaN" }, "translate": { @@ -5876,7 +5908,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The translate() CSS function repositions an element in the horizontal and/or vertical\ndirections. Its result is a <transform-function> data type.", + "doc": "The translate() CSS function repositions an element in the horizontal and/or vertical\ndirections. Its result is a <transform-function> data type.", "formalSyntax": "translate( <length-percentage> , <length-percentage>? )\n  <length-percentage> = <length> | <percentage>", "values": { "Single <length-percentage> values": "This value is a <length> or <percentage> representing the abscissa\n(horizontal, x-component) of the translating vector [tx, 0]. The ordinate (vertical, y-component) of the translating\nvector will be set to 0. For example, translate(2px) is equivalent to\ntranslate(2px, 0). A percentage value refers to the width of the reference box defined by the\ntransform-box property.", @@ -5903,7 +5935,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The translate3d() CSS function repositions an element in 3D space. Its result is a\n<transform-function> data type.", + "doc": "The translate3d() CSS function repositions an element in 3D space. Its result is a\n<transform-function> data type.", "formalSyntax": "translate3d( <length-percentage> , <length-percentage> , <length> )\n  <length-percentage> = <length> | <percentage>", "values": { "tx": "Is a <length> or <percentage> representing the abscissa (horizontal, x-component) of the\ntranslating vector [tx, ty, tz].", @@ -5931,7 +5963,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The translateX() CSS function repositions an element horizontally on the 2D plane. Its\nresult is a <transform-function> data type.", + "doc": "The translateX() CSS function repositions an element horizontally on the 2D plane. Its\nresult is a <transform-function> data type.", "formalSyntax": "translateX( <length-percentage> )\n  <length-percentage> = <length> | <percentage>", "values": { "<length-percentage>": "Is a <length> or <percentage> representing the abscissa (horizontal, x-component) of the\ntranslating vector [tx, 0]. In Cartesian coordinate system it represents shift along x-axis. A percentage value refers to the width of the reference box defined by the\ntransform-box property." @@ -5957,7 +5989,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The translateY() CSS function repositions an element vertically on the 2D plane. Its result\nis a <transform-function> data type.", + "doc": "The translateY() CSS function repositions an element vertically on the 2D plane. Its result\nis a <transform-function> data type.", "formalSyntax": "translateY( <length-percentage> )\n  <length-percentage> = <length> | <percentage>", "values": { "<length-percentage>": "The value is a <length> or <percentage> representing the ordinate (vertical, y-coordinate) of the\ntranslating vector [0, ty]. In Cartesian coordinate system it represents shift along y-axis. A percentage value refers to the height of the reference box defined by the\ntransform-box property." @@ -5983,12 +6015,30 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The translateZ() CSS function repositions an element along the z-axis in 3D space, i.e.,\ncloser to or farther away from the viewer. Its result is a <transform-function> data type.", + "doc": "The translateZ() CSS function repositions an element along the z-axis in 3D space, i.e.,\ncloser to or farther away from the viewer. Its result is a <transform-function> data type.", "formalSyntax": "translateZ( <length> )", "values": { "tz": "A <length> representing the z-component of the translating vector [0, 0, tz]. In Cartesian coordinate system it represents shift along z-axis. A positive value moves the\nelement towards the viewer, and a negative value farther away." } }, + "type": { + "url": "$MDN_URL$/web/css/type", + "status": [ + "Experimental", + "StandardTrack" + ], + "compatibility": { + "Chrome": "139", + "ChromeAndroid": "139", + "Edge": "139", + "Opera": "123" + }, + "baseline": { + "level": "NONE" + }, + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The type() CSS function allows you to specify a particular data type, and is used by the following CSS features:\n

\n
\n

Note:\nThe @property at-rule syntax descriptor value uses the same <syntax> to define the permitted data types for registered custom properties, however, this always takes the form of a string.\n

", + "formalSyntax": "type( <string> )" + }, "url": { "url": "$MDN_URL$/web/css/url_function", "status": [ @@ -6009,7 +6059,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The url() CSS function is used to include a file. The parameter is an absolute URL, a relative URL, a blob URL, or a data URL. The url() function can be passed as a parameter of another CSS function, like the attr() function. Depending on the property for which it is a value, the resource sought can be an image, font, or a stylesheet. The url() functional notation is the value for the <url> data type.\n
\n

Note:\nThere is a difference between a URI and a URL. A URI identifies a resource. A URL is a type of URI, and describes the location of a resource. A URI can be either a URL or a name (URN) of a resource.\n

In CSS Level 1, the url() functional notation described only true URLs. In CSS Level 2, the definition of url() was extended to describe any URI, whether a URL or a URN. Confusingly, this meant that url() could be used to create a <uri> CSS data type. This change was not only awkward but, debatably, unnecessary, since URNs are almost never used in actual CSS. To alleviate the confusion, CSS Level 3 returned to the narrower, initial definition. Now, url() denotes only true <url>s.\n

\n

Relative URLs, if used, are relative to the URL of the stylesheet (not to the URL of the web page).\n

The url() function can be included as a value for\nbackground, background-image, border, border-image, border-image-source, content, cursor, filter, list-style, list-style-image, mask, mask-image, offset-path, clip-path,\nsrc as part of a @font-face block, and @counter-style/symbol", + "doc": "The url() CSS function is used to include a file. The parameter is an absolute URL, a relative URL, a blob URL, or a data URL. The url() function can be passed as a parameter of another CSS function, like the attr() function. Depending on the property for which it is a value, the resource sought can be an image, font, or a stylesheet. The url() functional notation is the value for the <url> data type.\n

\n

Note:\nThere is a difference between a URI and a URL. A URI identifies a resource. A URL is a type of URI, and describes the location of a resource. A URI can be either a URL or a name (URN) of a resource.\n

In CSS Level 1, the url() functional notation described only true URLs. In CSS Level 2, the definition of url() was extended to describe any URI, whether a URL or a URN. Confusingly, this meant that url() could be used to create a <uri> CSS data type. This change was not only awkward but, debatably, unnecessary, since URNs are almost never used in actual CSS. To alleviate the confusion, CSS Level 3 returned to the narrower, initial definition. Now, url() denotes only true <url>s.\n

\n

Relative URLs, if used, are relative to the URL of the stylesheet (not to the URL of the web page).\n

The url() function can be included as a value for\nbackground, background-image, border, border-image, border-image-source, content, cursor, filter, list-style, list-style-image, mask, mask-image, offset-path, clip-path,\nsrc as part of a @font-face block, and @counter-style/symbol", "formalSyntax": "url( <string> <url-modifier>* ) | <url-token>", "values": { "<string>": "A string specifying a URL, which is a relative or absolute address, or pointer, to the web resource to be included, or a data URL. You can also use a hash URL to reference the ID of an SVG shape or an SVG filter.\n

The quotes are generally optional—they are required if the URL includes parentheses, whitespace, or quotes (unless these characters are escaped), or if the address includes control characters above 0x7e. Normal string syntax rules apply: double quotes cannot occur inside double quotes and single quotes cannot occur inside single quotes unless escaped.", @@ -6036,11 +6086,11 @@ "lowDate": "2017-04-05", "highDate": "2019-10-05" }, - "doc": "The var() CSS function can be used to insert the value of a custom property (sometimes called a \"CSS variable\") instead of any part of a value of another property.", + "doc": "The var() CSS function can be used to insert the value of a custom property (sometimes called a \"CSS variable\") instead of any part of a value of another property.", "formalSyntax": "var( <custom-property-name> , <declaration-value>? )", "values": { "<custom-property-name>": "A custom property's name represented by an identifier that starts with two dashes. Custom properties are solely for use by authors and users; CSS will never give them a meaning beyond what is presented here.", - "<declaration-value>": "The custom property's fallback value, which is used in case the custom property is not defined or equals a CSS-wide keyword. This value may contain any character except some characters with special meaning like newlines, unmatched closing brackets, i.e., ), ], or }, top-level semicolons, or exclamation marks. The fallback value can itself be a custom property using the var() syntax. If the fallback value is omitted, and the custom property is not defined, the var() function resolves to an invalid value.\n

\n

Note:\nvar(--a,) is valid, specifying that if the --a custom property is not defined or equals a CSS-wide keyword, the var() should be replaced with nothing.\n

" + "<declaration-value>": "The custom property's fallback value, which is used in case the custom property is not defined or equals a CSS-wide keyword. This value may contain any character except some characters with special meaning like newlines, unmatched closing brackets, i.e., ), ], or }, top-level semicolons, or exclamation marks. The fallback value can itself be a custom property using the var() syntax. If the fallback value is omitted, and the custom property is not defined, the var() function resolves to an invalid value.\n
\n

Note:\nvar(--a,) is valid, specifying that if the --a custom property is not defined or equals a CSS-wide keyword, the var() should be replaced with nothing.\n

" } }, "xywh": { @@ -6062,7 +6112,7 @@ "level": "LOW", "lowDate": "2024-01-23" }, - "doc": "The xywh() CSS function creates a rectangle using the specified distances from the left (x) and top (y) edges of the containing block and the specified width (w) and height (h) of the rectangle. It is a basic shape function of the <basic-shape> data type. You can use the xywh() function in CSS properties such as offset-path to create the rectangular path along which an element moves and in clip-path to define the shape of the clipping region.", + "doc": "The xywh() CSS function creates a rectangle using the specified distances from the left (x) and top (y) edges of the containing block and the specified width (w) and height (h) of the rectangle. It is a basic shape function of the <basic-shape> data type. You can use the xywh() function in CSS properties such as offset-path to create the rectangular path along which an element moves and in clip-path to define the shape of the clipping region.", "formalSyntax": "xywh( <length-percentage>{2} <length-percentage [0,∞]>{2} [ round <'border-radius'> ]? )\n  <length-percentage> = <length> | <percentage>\n  <border-radius> = <length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]?", "values": { "<length-percentage>": "Specifies the <length-percentage> values for the x and y coordinates of the rectangle.", @@ -6178,7 +6228,7 @@ "SafariIOS": "5" }, "doc": "

Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.

\n

The -webkit-border-before CSS property is a shorthand property for setting the individual logical block start border property values in a single place in the style sheet.", - "formalSyntax": "<'border-width'> || <'border-style'> || <color>\n  <border-width> = <line-width>{1,4}\n  <border-style> = <line-style>{1,4}\n  <line-width> = <length [0,∞]> | thin | medium | thick\n  <line-style> = none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset", + "formalSyntax": "<'border-width'> || <'border-style'> || <color>\n  <border-width> = <'border-top-width'>{1,4}\n  <border-style> = <'border-top-style'>{1,4}\n  <border-top-width> = <line-width>\n  <border-top-style> = <line-style>\n  <line-width> = <length [0,∞]> | thin | medium | thick\n  <line-style> = none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset", "values": { "<'border-width'>": "See border-width", "<'border-style'>": "See border-style", @@ -9046,7 +9096,7 @@ "highDate": "2018-01-29" }, "doc": "The border-style shorthand CSS property sets the line style for all four sides of an element's border.", - "formalSyntax": "<line-style>{1,4}\n  <line-style> = none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset", + "formalSyntax": "<'border-top-style'>{1,4}\n  <border-top-style> = <line-style>\n  <line-style> = none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset", "values": { "<line-style>": "Describes the style of the border. It can have the following values:\n

\n
none
\n
\n

Like the hidden keyword, displays no border. Unless a background-image is set, the computed value of the same side's border-width will be 0, even if the specified value is something else. In the case of table cell and border collapsing, the none value has the lowest priority: if any other conflicting border is set, it will be displayed.\n

\n
hidden
\n
\n

Like the none keyword, displays no border. Unless a background-image is set, the computed value of the same side's border-width will be 0, even if the specified value is something else. In the case of table cell and border collapsing, the hidden value has the highest priority: if any other conflicting border is set, it won't be displayed.\n

\n
dotted
\n
\n

Displays a series of rounded dots. The spacing of the dots is not defined by the specification and is implementation-specific. The radius of the dots is half the computed value of the same side's border-width.\n

\n
dashed
\n
\n

Displays a series of short square-ended dashes or line segments. The exact size and length of the segments are not defined by the specification and are implementation-specific.\n

\n
solid
\n
\n

Displays a single, straight, solid line.\n

\n
double
\n
\n

Displays two straight lines that add up to the pixel size defined by border-width.\n

\n
groove
\n
\n

Displays a border with a carved appearance. It is the opposite of ridge.\n

\n
ridge
\n
\n

Displays a border with an extruded appearance. It is the opposite of groove.\n

\n
inset
\n
\n

Displays a border that makes the element appear embedded. It is the opposite of outset. When applied to a table cell with border-collapse set to collapsed, this value behaves like ridge.\n

\n
outset
\n
\n

Displays a border that makes the element appear embossed. It is the opposite of inset. When applied to a table cell with border-collapse set to collapsed, this value behaves like groove.\n

\n
" } @@ -9227,7 +9277,7 @@ "highDate": "2018-01-29" }, "doc": "The border-width shorthand CSS property sets the width of an element's border.", - "formalSyntax": "<line-width>{1,4}\n  <line-width> = <length [0,∞]> | thin | medium | thick", + "formalSyntax": "<'border-top-width'>{1,4}\n  <border-top-width> = <line-width>\n  <line-width> = <length [0,∞]> | thin | medium | thick", "values": { "<line-width>": "Defines the width of the border, either as an explicit nonnegative <length> or a keyword. If it's a keyword, it must be one of the following values:\n" } @@ -9651,6 +9701,9 @@ "StandardTrack" ], "compatibility": {}, + "baseline": { + "level": "NONE" + }, "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The caret-shape CSS property sets the shape of the insertion caret, the visible marker that appears in editable elements to indicate where the next character will be inserted or deleted.", "formalSyntax": "auto | bar | block | underscore", "values": { @@ -9779,7 +9832,7 @@ "highDate": "2022-07-15" }, "doc": "The clip-path CSS property creates a clipping region that sets what part of an element should be shown. Parts that are inside the region are shown, while those outside are hidden.", - "formalSyntax": "<clip-source> | [ <basic-shape> || <geometry-box> ] | none\n  <clip-source> = <url>\n  <geometry-box> = <shape-box> | fill-box | stroke-box | view-box\n  <url> = <url()> | <src()>\n  <shape-box> = <visual-box> | margin-box\n  <url()> = url( <string> <url-modifier>* ) | <url-token>\n  <src()> = src( <string> <url-modifier>* )\n  <visual-box> = content-box | padding-box | border-box", + "formalSyntax": "<clip-source> | [ <basic-shape> || <geometry-box> ] | none\n  <clip-source> = <url>\n  <geometry-box> = <shape-box> | fill-box | stroke-box | view-box\n  <url> = <url()> | <src()>\n  <shape-box> = <visual-box> | margin-box | half-border-box\n  <url()> = url( <string> <url-modifier>* ) | <url-token>\n  <src()> = src( <string> <url-modifier>* )\n  <visual-box> = content-box | padding-box | border-box", "values": { "<clip-source>": "A <url> referencing an SVG <clipPath> element.", "<basic-shape>": "A shape whose size and position is defined by the <geometry-box> value. If no geometry box is specified, the border-box will be used as the reference box. One of:\n

\n
inset()
\n
\n

Defines an inset rectangle.\n

\n
circle()
\n
\n

Defines a circle using a radius and a position.\n

\n
ellipse()
\n
\n

Defines an ellipse using two radii and a position.\n

\n
polygon()
\n
\n

Defines a polygon using an SVG filling rule and a set of vertices.\n

\n
path()
\n
\n

Defines a shape using an optional SVG filling rule and an SVG path definition.\n

\n
rect()
\n
\n

Defines a rectangle using the specified distances from the edges of the reference box.\n

\n
shape()
\n
\n

Defines a shape using an optional SVG filling rule and shape commands for lines, curves, and arcs.\n

\n
xywh()
\n
\n

Defines a rectangle using the specified distances from the top and left edges of the reference box and the specified width and height of the rectangle.\n

\n
", @@ -10432,7 +10485,7 @@ "lowDate": "2023-02-14", "highDate": "2025-08-14" }, - "doc": "The container-name CSS property specifies a list of query container names used by the @container at-rule in a container query.\nA container query will apply styles to elements based on the size or scroll-state of the nearest ancestor with a containment context.\nWhen a containment context is given a name, it can be specifically targeted using the @container at-rule instead of the nearest ancestor with containment.\n
\n

Note:\nWhen using the container-type and container-name properties, the style and layout values of the contain property are automatically applied.\n

", + "doc": "The container-name CSS property specifies a list of query container names used by the @container at-rule in a container query.\nA container query will apply styles to elements based on the size or scroll-state of the nearest ancestor with a containment context.\nWhen a containment context is given a name, it can be specifically targeted using the @container at-rule instead of the nearest ancestor with containment.", "formalSyntax": "none | <custom-ident>+", "values": { "none": "Default value. The query container has no name.", @@ -10459,13 +10512,13 @@ "lowDate": "2023-02-14", "highDate": "2025-08-14" }, - "doc": "An element can be established as a query container using the container-type CSS property. container-type is used to define the type of container context used in a container query. The available container contexts are:\n\n
\n

Note:\nWhen using the container-type and container-name properties, the style and layout values of the contain property are automatically applied.\n

", + "doc": "An element can be established as a query container using the container-type CSS property. container-type is used to define the type of container context used in a container query. The available container contexts are:\n", "formalSyntax": "normal | [ [ size | inline-size ] || scroll-state ]", "values": { - "inline-size": "Establishes a query container for dimensional queries on the inline axis of the container.\nApplies layout, style, and inline-size containment to the element.\n

Inline size containment is applied to the element. The inline size of the element can be computed in isolation, ignoring the child elements (see Using CSS containment).", + "inline-size": "Establishes a query container for dimensional queries on the inline axis of the container.\nApplies style and inline-size containment to the element. The inline size of the element can be computed in isolation, ignoring the child elements (see Using CSS containment).", "normal": "Default value. The element is not a query container for any container size queries, but remains a query container for container style queries.", "scroll-state": "Establishes a query container for scroll-state queries on the container. In this case, the size of the element is not computed in isolation; no containment is applied.", - "size": "Establishes a query container for container size queries in both the inline and block dimensions.\nApplies layout containment, style containment, and size containment to the container.\n

Size containment is applied to the element in both the inline and block directions. The size of the element can be computed in isolation, ignoring the child elements." + "size": "Establishes a query container for container size queries in both the inline and block dimensions.\nApplies style and size containment to the element. Size containment is applied to the element in both the inline and block directions. The size of the element can be computed in isolation, ignoring the child elements." } }, "content": { @@ -13304,6 +13357,27 @@ "doc": "The inset-inline-start CSS property defines the logical inline start inset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the top, right, bottom, or left property depending on the values defined for writing-mode, direction, and text-orientation.\n

This inset property has no effect on non-positioned elements.", "formalSyntax": "auto | <length-percentage>\n  <length-percentage> = <length> | <percentage>" }, + "interactivity": { + "url": "$MDN_URL$/web/css/interactivity", + "status": [ + "Experimental", + "StandardTrack" + ], + "compatibility": { + "Chrome": "135", + "Edge": "135", + "Opera": "120" + }, + "baseline": { + "level": "NONE" + }, + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The interactivity CSS property specifies whether an element and its descendant nodes are set to be inert.", + "formalSyntax": "auto | inert", + "values": { + "auto": "Selected elements are in their default state in terms of inertness. This usually means that they are interactive, but this is not always the case. This is the default value.", + "inert": "Selected elements and their descendants are inert." + } + }, "interpolate-size": { "url": "$MDN_URL$/web/css/interpolate-size", "status": [ @@ -14267,7 +14341,7 @@ "lowDate": "2023-12-07" }, "doc": "The mask CSS shorthand property hides an element (partially or fully) by masking or clipping a specified area of the image. It is a shorthand for all the mask-* properties. The property accepts one or more comma-separated values, where each value corresponds to a <mask-layer>.", - "formalSyntax": "<mask-layer>#\n  <mask-layer> = <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || <geometry-box> || [ <geometry-box> | no-clip ] || <compositing-operator> || <masking-mode>\n  <mask-reference> = none | <image> | <mask-source>\n  <position> = [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right ] && [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ]\n  <bg-size> = [ <length-percentage [0,∞]> | auto ]{1,2} | cover | contain\n  <repeat-style> = repeat-x | repeat-y | [ repeat | space | round | no-repeat ]{1,2}\n  <geometry-box> = <shape-box> | fill-box | stroke-box | view-box\n  <compositing-operator> = add | subtract | intersect | exclude\n  <masking-mode> = alpha | luminance | match-source\n  <image> = <url> | <gradient>\n  <mask-source> = <url>\n  <length-percentage> = <length> | <percentage>\n  <shape-box> = <visual-box> | margin-box\n  <url> = <url()> | <src()>\n  <visual-box> = content-box | padding-box | border-box\n  <url()> = url( <string> <url-modifier>* ) | <url-token>\n  <src()> = src( <string> <url-modifier>* )", + "formalSyntax": "<mask-layer>#\n  <mask-layer> = <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || <geometry-box> || [ <geometry-box> | no-clip ] || <compositing-operator> || <masking-mode>\n  <mask-reference> = none | <image> | <mask-source>\n  <position> = [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right ] && [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ]\n  <bg-size> = [ <length-percentage [0,∞]> | auto ]{1,2} | cover | contain\n  <repeat-style> = repeat-x | repeat-y | [ repeat | space | round | no-repeat ]{1,2}\n  <geometry-box> = <shape-box> | fill-box | stroke-box | view-box\n  <compositing-operator> = add | subtract | intersect | exclude\n  <masking-mode> = alpha | luminance | match-source\n  <image> = <url> | <gradient>\n  <mask-source> = <url>\n  <length-percentage> = <length> | <percentage>\n  <shape-box> = <visual-box> | margin-box | half-border-box\n  <url> = <url()> | <src()>\n  <visual-box> = content-box | padding-box | border-box\n  <url()> = url( <string> <url-modifier>* ) | <url-token>\n  <src()> = src( <string> <url-modifier>* )", "values": { "<mask-layer>": "One or more comma-separated mask layers, consisting of the following components:\n

\n
<mask-reference>
\n
\n

Sets the mask image source. See mask-image.\n

\n
<masking-mode>
\n
\n

Sets the masking mode of the mask image. See mask-mode.\n

\n
<position>
\n
\n

Sets the position of the mask image. See mask-position.\n

\n
<bg-size>
\n
\n

Sets the size of the mask image. See mask-size.\n

\n
<repeat-style>
\n
\n

Sets the repetition of the mask image. See mask-repeat.\n

\n
<geometry-box>
\n
\n

If only one <geometry-box> value is given, it sets both the mask-origin and mask-clip property values. If two <geometry-box> values are present, the first defines the mask-origin and the second defines the mask-clip.\n

\n
<geometry-box> | no-clip
\n
\n

Sets the area affected by the mask image. See mask-clip.\n

\n
<compositing-operator>
\n
\n

Sets the compositing operation used on the current mask layer. See mask-composite.\n

\n
" } @@ -15136,6 +15210,28 @@ "<position>": "From one to four values that define the 2D position of the element. Relative or absolute offsets can be used." } }, + "object-view-box": { + "url": "$MDN_URL$/web/css/object-view-box", + "status": [ + "Experimental", + "StandardTrack" + ], + "compatibility": { + "Chrome": "104", + "ChromeAndroid": "104", + "Edge": "104", + "Opera": "90" + }, + "baseline": { + "level": "NONE" + }, + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The object-view-box CSS property defines a rectangle as a viewable area (viewbox) within a replaced element, enabling the content of the replaced element to be zoomed or panned. It works similarly to the SVG viewBox attribute.", + "formalSyntax": "none | <basic-shape-rect>\n  <basic-shape-rect> = <inset()> | <rect()> | <xywh()>\n  <inset()> = inset( <length-percentage>{1,4} [ round <'border-radius'> ]? )\n  <rect()> = rect( <top> , <right> , <bottom> , <left> )\n  <xywh()> = xywh( <length-percentage>{2} <length-percentage [0,∞]>{2} [ round <'border-radius'> ]? )\n  <length-percentage> = <length> | <percentage>\n  <border-radius> = <length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]?", + "values": { + "none": "The element does not have a view box. This is the default.", + "<basic-shape-rect>": "A inset(), xywh(), or rect() function specifying a view box for an element with natural dimensions (replaced elements). Resolves to none otherwise." + } + }, "offset": { "url": "$MDN_URL$/web/css/offset", "status": [ @@ -16835,7 +16931,7 @@ }, "reference": { "url": "$MDN_URL$/web/css/reference", - "doc": "Use this CSS reference to browse an alphabetical index of all of the standard CSS properties, pseudo-classes, pseudo-elements, data types, functional notations and at-rules. You can also browse key CSS concepts and a list of selectors organized by type. Also included is a brief DOM-CSS / CSSOM reference." + "doc": "Use this CSS reference to browse an alphabetical index of all of the standard CSS properties, pseudo-classes, pseudo-elements, data types, functional notations and at-rules. You can also browse key CSS concepts and a list of selectors organized by type. Also included is a brief DOM-CSS / CSSOM reference." }, "resize": { "url": "$MDN_URL$/web/css/resize", @@ -18099,7 +18195,7 @@ "highDate": "2022-07-15" }, "doc": "The shape-outside CSS property defines a shape—which may be non-rectangular—around which adjacent inline content should wrap. By default, inline content wraps around its margin box; shape-outside provides a way to customize this wrapping, making it possible to wrap text around complex objects rather than rectangular boxes.", - "formalSyntax": "none | [ <basic-shape> || <shape-box> ] | <image>\n  <shape-box> = <visual-box> | margin-box\n  <image> = <url> | <gradient>\n  <visual-box> = content-box | padding-box | border-box\n  <url> = <url()> | <src()>\n  <url()> = url( <string> <url-modifier>* ) | <url-token>\n  <src()> = src( <string> <url-modifier>* )", + "formalSyntax": "none | [ <basic-shape> || <shape-box> ] | <image>\n  <shape-box> = <visual-box> | margin-box | half-border-box\n  <image> = <url> | <gradient>\n  <visual-box> = content-box | padding-box | border-box\n  <url> = <url()> | <src()>\n  <url()> = url( <string> <url-modifier>* ) | <url-token>\n  <src()> = src( <string> <url-modifier>* )", "values": { "none": "The float area is unaffected. Inline content wraps around the element's margin box, like usual.", "<shape-box>": "The float area is computed according to the shape of a float element's edges (as defined by the CSS box model). This can be margin-box, border-box, padding-box, or content-box. The shape includes any curvature created by the border-radius property (behavior which is similar to background-clip).\n

\n
margin-box
\n
\n

Defines the shape enclosed by the outside margin edge. The corner radii of this shape are determined by the corresponding border-radius and margin values. If the border-radius / margin ratio is 1 or more, then the margin box corner radius is border-radius + margin. If the ratio is less than 1, then the margin box corner radius is border-radius + (margin * (1 + (ratio - 1) ^ 3)).\n

\n
border-box
\n
\n

Defines the shape enclosed by the outside border edge. The shape follows the normal border radius shaping rules for the outside of the border.\n

\n
padding-box
\n
\n

Defines the shape enclosed by the outside padding edge. The shape follows the normal border radius shaping rules for the inside of the border.\n

\n
content-box
\n
\n

Defines the shape enclosed by the outside content edge. Each corner radius of this box is the larger of 0 or border-radius - border-width - padding.\n

\n
", @@ -19515,7 +19611,7 @@ "lowDate": "2015-09-30", "highDate": "2018-03-30" }, - "doc": "The transform CSS property lets you rotate, scale, skew, or translate an element.\nIt modifies the coordinate space of the CSS visual formatting model.", + "doc": "The transform CSS property lets you rotate, scale, skew, or translate an element.\nIt modifies the coordinate space of the CSS visual formatting model.\n

If the property has a value different from none, a stacking context will be created.\nIn that case, the element will act as a containing block for any position: fixed; or position: absolute; elements that it contains.\n

You can also use the individual transform properties: translate, rotate, and scale. These properties are applied in the order: translate, rotate, scale, and finally transform.\n

\n

Warning:\nOnly transformable elements can be transformed.\nThat is, all elements whose layout is governed by the CSS box model except for: non-replaced inline boxes, table-column boxes, and table-column-group boxes.\n

", "formalSyntax": "none | <transform-list>\n  <transform-list> = <transform-function>+", "values": { "<transform-function>": "One or more of the CSS transform functions to be applied.\nThe transform functions are multiplied in order from left to right, meaning that composite transforms are effectively applied in order from right to left.", @@ -20079,7 +20175,8 @@ "SafariIOS": "18.2" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-14" }, "doc": "The view-transition-class CSS property provides the selected elements with an identifying class (a <custom-ident>), providing an additional method of styling the view transitions for those elements.", "formalSyntax": "none | <custom-ident>+", @@ -20104,12 +20201,13 @@ "SafariIOS": "18" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-14" }, "doc": "The view-transition-name CSS property specifies the view transition snapshot that selected elements will participate in. This enables you to animate those elements separately from the rest of the page, which uses the default cross-fade animation during a view transition. You can then define custom animation styles for these elements.", "formalSyntax": "none | <custom-ident>", "values": { - "<custom-ident>": "An identifying name that causes the selected element to participate in a separate snapshot from the root snapshot. The <custom-ident> cannot be auto, match-element, none, or a CSS-wide keyword value.", + "<custom-ident>": "An identifying name that causes the selected element to participate in a separate snapshot from the root snapshot. The <custom-ident> cannot be auto, match-element, none, or a CSS-wide keyword value.", "match-element": "The browser automatically assigns a unique name to the selected element. This name is used to snapshot the element separately from all other elements on the page. (This name is internal and cannot be read from the DOM.)", "none": "The selected element will not participate in a separate snapshot, unless it has a parent element with a view-transition-name set, in which case it will be snapshotted as part of that element." } @@ -20612,7 +20710,8 @@ "SafariIOS": "18" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-14" }, "doc": "The :active-view-transition CSS pseudo-class matches the root element of a document when a view transition is in progress (active) and stops matching once the transition has completed." }, @@ -22075,7 +22174,7 @@ }, "-moz-meter-bar": { "url": "$MDN_URL$/web/css/_doublecolon_-moz-meter-bar", - "doc": "

Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.

\n

The ::-moz-meter-bar CSS pseudo-element represents the meter gauge in a <meter> element. It is used for selecting and applying styles to the gauge inside a meter element." + "doc": "

Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.

\n

The ::-moz-meter-bar CSS pseudo-element represents the meter gauge in a <meter> element. It is used for selecting and applying styles to the gauge inside a meter element.\n

\n

Note:\nBy default, the <meter> element uses native styling. To apply your own styles, first set appearance: none on the <meter> element, and then style using ::-moz-meter-bar.\n

" }, "-moz-progress-bar": { "url": "$MDN_URL$/web/css/_doublecolon_-moz-progress-bar", @@ -22461,10 +22560,13 @@ "Edge": "131", "Firefox": "143", "FirefoxAndroid": "143", - "Opera": "116" + "Opera": "116", + "Safari": "18.4", + "SafariIOS": "18.4" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-09-16" }, "doc": "The ::details-content CSS pseudo-element represents the expandable/collapsible contents of a <details> element." }, @@ -22812,7 +22914,8 @@ "SafariIOS": "18" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-14" }, "doc": "The ::view-transition CSS pseudo-element represents the root of the view transitions overlay, which contains all view transition snapshot groups and sits over the top of all other page content.\n

During a view transition, ::view-transition is included in the associated pseudo-element tree as explained in The view transition pseudo-element tree. It is the top-level node of this tree, and has one or more ::view-transition-group()s as children.\n

::view-transition is given the following default styling in the UA stylesheet:\n

\n```css\n:root::view-transition {\n  position: fixed;\n  inset: 0;\n}\n```\n
\n

All ::view-transition-group() pseudo-elements are positioned relative to the view transition root." }, @@ -22832,7 +22935,8 @@ "SafariIOS": "18" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-14" }, "doc": "The ::view-transition-group() CSS pseudo-element represents a single view transition snapshot group.\n

During a view transition, ::view-transition-group() is included in the associated pseudo-element tree as explained in The view transition pseudo-element tree. It is only ever a child of ::view-transition, and has a ::view-transition-image-pair() as a child.\n

::view-transition-group() is given the following default styling in the UA stylesheet:\n

\n```css\n:root::view-transition-group(*) {\n  position: absolute;\n  top: 0;\n  left: 0;\n  animation-duration: 0.25s;\n  animation-fill-mode: both;\n}\n```\n
\n

By default, selected elements initially mirror the size and position of the ::view-transition-old() pseudo-element representing the \"old\" view state, or the ::view-transition-new() pseudo-element representing the \"new\" view state if there isn't an \"old\" view state.\n

If there's both an \"old\" and \"new\" view state, styles in the view transition style sheet animate this pseudo-element's width and height from the size of the \"old\" view state's border box to that of the \"new\" view state's border box.\n

\n

Note:\nView transition styles are dynamically generated during the view transition; see the specification setup transition pseudo-elements and update pseudo-element styles sections for more details.\n

\n

In addition, the element's transform is animated from the \"old\" view state's screen space transform to the new view state's screen space transform. This style is generated dynamically since the values of animated properties are determined at the time that the transition begins." }, @@ -22852,7 +22956,8 @@ "SafariIOS": "18" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-14" }, "doc": "The ::view-transition-image-pair() CSS pseudo-element represents a container for a view transition's \"old\" and \"new\" view states — before and after the transition.\n

During a view transition, ::view-transition-image-pair() is included in the associated pseudo-element tree as explained in The view transition pseudo-element tree. It is only ever a child of a ::view-transition-group(). In terms of children, it can have a ::view-transition-new() or a ::view-transition-old(), or both.\n

::view-transition-image-pair() is given the following default styling in the UA stylesheet:\n

\n```css\n:root::view-transition-image-pair(*) {\n  position: absolute;\n  inset: 0;\n  animation-duration: inherit;\n  animation-fill-mode: inherit;\n  animation-delay: inherit;\n}\n```\n
\n

During a view transition, ::view-transition-image-pair() has isolation: isolate set on it in the view transition style sheet so that its children can be blended with non-normal blend modes without affecting other visual outputs." }, @@ -22872,7 +22977,8 @@ "SafariIOS": "18" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-14" }, "doc": "The ::view-transition-new() CSS pseudo-element represents the \"new\" view state of a view transition — a snapshot live representation of the state after the transition.\n

During a view transition, ::view-transition-new() is included in the associated pseudo-element tree as explained in The view transition pseudo-element tree. It is only ever a child of a ::view-transition-image-pair(), and never has any children.\n

It is a replaced element and therefore can be manipulated with properties such as object-fit and object-position. It has natural dimensions equal to the content's size.\n

The following default styling is included in the UA stylesheet:\n

\n```css\n:root::view-transition-old(*),\n:root::view-transition-new(*) {\n  position: absolute;\n  inset-block-start: 0;\n  inline-size: 100%;\n  block-size: auto;\n  animation-duration: inherit;\n  animation-fill-mode: inherit;\n  animation-delay: inherit;\n}\n/* Keyframes for blending when there are 2 images */\n@keyframes -ua-mix-blend-mode-plus-lighter {\n  from {\n    mix-blend-mode: plus-lighter;\n  }\n  to {\n    mix-blend-mode: plus-lighter;\n  }\n}\n@keyframes -ua-view-transition-fade-in {\n  from {\n    opacity: 0;\n  }\n}\n```\n
\n
\n

Note:\nAdditional view transition styles are also setup to animate ::view-transition-new(). These are dynamically generated during the view transition; see the specification setup transition pseudo-elements and update pseudo-element styles sections for more details.\n

" }, @@ -22892,7 +22998,8 @@ "SafariIOS": "18" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-14" }, "doc": "The ::view-transition-old() CSS pseudo-element represents the \"old\" view state of a view transition — a static snapshot of the old view, before the transition.\n

During a view transition, ::view-transition-old() is included in the associated pseudo-element tree as explained in The view transition pseudo-element tree, provided there's an \"old\" view state to represent. It is only ever a child of a ::view-transition-image-pair(), and never has any children.\n

It is a replaced element and therefore can be manipulated with properties such as object-fit and object-position. It has natural dimensions equal to the content's size.\n

The following default styling is included in the UA stylesheet:\n

\n```css\n:root::view-transition-old(*),\n:root::view-transition-new(*) {\n  position: absolute;\n  inset-block-start: 0;\n  inline-size: 100%;\n  block-size: auto;\n  animation-duration: inherit;\n  animation-fill-mode: inherit;\n  animation-delay: inherit;\n}\n/* Keyframes for blending when there are 2 images */\n@keyframes -ua-mix-blend-mode-plus-lighter {\n  from {\n    mix-blend-mode: plus-lighter;\n  }\n  to {\n    mix-blend-mode: plus-lighter;\n  }\n}\n@keyframes -ua-view-transition-fade-out {\n  to {\n    opacity: 0;\n  }\n}\n```\n
\n
\n

Note:\nAdditional view transition styles are also setup to animate ::view-transition-old(). These are dynamically generated during the view transition; see the specification setup transition pseudo-elements and update pseudo-element styles sections for more details.\n

" } diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/GlobalObjects.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/GlobalObjects.json index 4a3b509e4be3..71dd5ab5f5a1 100644 --- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/GlobalObjects.json +++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/GlobalObjects.json @@ -2637,6 +2637,8 @@ "Chrome": "87", "ChromeAndroid": "89", "Edge": "87", + "Firefox": "145", + "FirefoxAndroid": "145", "Opera": "75", "Safari": "16.4", "SafariIOS": "16.4", @@ -5131,7 +5133,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The toLocaleDateString() method of Date instances returns a string with a language-sensitive representation of the date portion of this date in the local timezone. In implementations with Intl.DateTimeFormat API support, this method delegates to Intl.DateTimeFormat.\n

Every time toLocaleString is called, it has to perform a search in a big database of localization strings, which is potentially inefficient. When the method is called many times with the same arguments, it is better to create a Intl.DateTimeFormat object and use its format() method, because a DateTimeFormat object remembers the arguments passed to it and may decide to cache a slice of the database, so future format calls can search for localization strings within a more constrained context.", + "doc": "The toLocaleDateString() method of Date instances returns a string with a language-sensitive representation of the date portion of this date in the local timezone. In implementations with Intl.DateTimeFormat API support, this method delegates to Intl.DateTimeFormat.\n

Every time toLocaleDateString is called, it has to perform a search in a big database of localization strings, which is potentially inefficient. When the method is called many times with the same arguments, it is better to create a Intl.DateTimeFormat object and use its format() method, because a DateTimeFormat object remembers the arguments passed to it and may decide to cache a slice of the database, so future format calls can search for localization strings within a more constrained context.", "parameters": { "locales": "A string with a BCP 47 language tag, or an array of such strings. Corresponds to the locales parameter of the Intl.DateTimeFormat() constructor.\n

In implementations without Intl.DateTimeFormat support, this parameter is ignored and the host's locale is usually used.", "options": "An object adjusting the output format. Corresponds to the options parameter of the Intl.DateTimeFormat() constructor. The timeStyle option must be undefined, or a TypeError would be thrown. If weekday, year, month, and day are all undefined, then year, month, and day will be set to \"numeric\".\n

In implementations without Intl.DateTimeFormat support, this parameter is ignored." @@ -9283,7 +9285,7 @@ "parameters": { "key": "A key string indicating the category of values to be returned. This is one of:\n

" }, - "returns": "A sorted array of unique string values indicating the values supported by the implementation for the given key. The values that could be returned are listed below.\n

Supported calendar types

\n

Below are all values that are commonly supported by browsers for the calendar key. These values can be used for the calendar option or the ca Unicode extension key when creating objects such as Intl.DateTimeFormat, as well as for creating Temporal date objects.\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ValueDescription
buddhistThai Buddhist calendar
chineseTraditional Chinese calendar
copticCoptic calendar
dangiTraditional Korean calendar
ethioaaEthiopic calendar, Amete Alem, single-era variant (epoch approx. 5493 B.C.E)
ethiopicEthiopic calendar, Amete Mihret, two-era variant (epoch approx, 8 C.E., Amete Alem for years before Amete Mihret)
gregoryGregorian calendar (proleptic, not Julian hybrid)
hebrewTraditional Hebrew calendar
indianIndian calendar
islamicHijri calendar, unspecified algorithm. Note: As of April 2025, this is an astronomical simulation whose parameters are undocumented and that is not known to match a specific Hijri calendar variant from non-software contexts. For well-specified results, use one of the three specific variants: islamic-umalqura, islamic-tbla, or islamic-civil.
islamic-umalquraHijri calendar, Umm al-Qura (uses KACST-calculated months from the start of 1300 AH (1882-11-12 ISO) to the end of 1600 AH (2174-11-25 ISO) and falls back to islamic-civil outside that range)
islamic-tblaHijri calendar, tabular/rule-based with leap year rule II (leap years 2,5,7,10,13,16,18,21,24,26,29 in the 30-year cycle (1-based numbering)) and Thursday/astronomical epoch (July 15, 622 Julian / 0622-07-18 ISO)
islamic-civilHijri calendar, tabular/rule-based with leap year rule II (leap years 2,5,7,10,13,16,18,21,24,26,29 in the 30-year cycle (1-based numbering)) and Friday/civil epoch (July 16, 622 Julian / 0622-07-19 ISO)
iso8601ISO calendar (variant of the Gregorian calendar with week rules and formatting parameters made region-independent)
japaneseJapanese Imperial calendar (this calendar adds an era for each new emperor, so the output year and era for a future date may not match the input year and era when your code runs on a future engine version)
persianPersian calendar
rocRepublic of China calendar
\n

The types below are specified in CLDR but do not have implementations distinct from the above calendars in browsers.\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ValueDescriptionNotes
islamicc \nDeprecated\nCivil (algorithmic) Arabic calendar.This is an alias for islamic-civil and therefore is not returned by supportedValuesOf(). Use islamic-civil instead.
islamic-rgsaHijri calendar, Saudi Arabia sightingBrowsers do not have historical sighting data and future sightings have not occurred yet. As of April 2025, this calendar results in the same behavior as islamic. Use islamic-umalqura for a Mecca-based astronomical calculation.
\n

References:\n

\n

Supported collation types

\n

Below are all values that are commonly supported by browsers for the collation key. These values can be used for the collation option or the co Unicode extension key when creating objects such as Intl.Collator.\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ValueDescription
compatA previous version of the ordering, for compatibility (for Arabic)
dictDictionary style ordering (such as in Sinhala). Also recognized as dictionary.
emojiRecommended ordering for emoji characters
eorEuropean ordering rules
phonebkPhonebook style ordering (such as in German). Also recognized as phonebook.
phoneticPhonetic ordering (sorting based on pronunciation; for Lingala)
pinyinPinyin ordering for Latin and for CJK characters (used in Chinese)
searchjlSpecial collation type for Korean initial consonant search. Warning: This collation is not for sorting, even though you can only use it with Intl.Collator of usage: \"sort\".
strokePinyin ordering for Latin, stroke order for CJK characters (used in Chinese)
tradTraditional style ordering (such as in Spanish). Also recognized as traditional.
unihanPinyin ordering for Latin, Unihan radical-stroke ordering for CJK characters (used in Chinese)
zhuyinPinyin ordering for Latin, zhuyin order for Bopomofo and CJK characters (used in Chinese)
\n

The types below are specified in CLDR data, but are deprecated, are discouraged from explicit usage, and/or may not be indicated by browsers as supported for various reasons. Avoid using them:\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ValueDescriptionNotes
big5han \nDeprecated\nPinyin ordering for Latin, big5 charset ordering for CJK characters (used in Chinese)Deprecated.
direct \nDeprecated\nBinary code point order (used in Hindi)Deprecated.
ducetThe default Unicode collation element table orderThe ducet collation type is not available to the Web.
gb2312 \nDeprecated\nPinyin ordering for Latin, gb2312han charset ordering for CJK characters (for Chinese). Also recognized as gb2312han.Deprecated.
reformed \nDeprecated\nReformed ordering (such as Swedish)Deprecated. This is the old name for the default ordering for Swedish whose collation naming used to differ from other languages. Since this was the default, request sv instead of requesting sv-u-co-reformed.
searchSpecial collation type for string searchDo not use as a collation type, since in Intl.Collator, this collation is activated via the usage: \"search\" option. There is currently no API for substring search, so this is currently only good for filtering a list of strings by trying a full-string match of the key against each list item.
standardDefault ordering for each language, except Chinese (and, previously, Swedish)Do not use explicitly. In general, it's unnecessary to specify this explicitly and specifying this for Swedish is problematic due to the different meaning for Swedish in the past.
\n

References:\n

\n

Supported currency identifiers

\n

Currency identifiers are three-letter uppercase codes defined in ISO 4217. These values can be used for the currency option when creating objects such as Intl.NumberFormat, as well as for Intl.DisplayNames.prototype.of(). There are over 300 identifiers in common use so we won't list them. For an exhaustive list of possible identifiers, see the Wikipedia article.\n

References:\n

\n

Supported numbering system types

\n

Below are all values that are commonly supported by browsers for the numberingSystem key. These values can be used for the numberingSystem option or the nu Unicode extension key when creating objects such as Intl.NumberFormat. For the rows with \"digit characters\", the runtime translates the digits one-by-one without extra actions. The others marked as \"algorithmic\" need additional algorithms to translate the digits. The higher the Unicode code point is, the newer the numbering system is and the more likely it is unsupported by all browsers.\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ValueDescriptionDigit characters
adlmAdlam digits𞥐𞥑𞥒𞥓𞥔𞥕𞥖𞥗𞥘𞥙 (U+1E950 to U+1E959)
ahomAhom digits𑜰𑜱𑜲𑜳𑜴𑜵𑜶𑜷𑜸𑜹 (U+11730 to U+11739)
arabArabic-Indic digits٠١٢٣٤٥٦٧٨٩ (U+0660 to U+0669)
arabextExtended Arabic-Indic digits۰۰۱۲۳۴۵۶۷۸۹ (U+06F0 to U+06F9)
armnArmenian upper case numeralsalgorithmic
armnlowArmenian lower case numeralsalgorithmic
baliBalinese digits᭐᭑᭒᭓᭔᭕᭖᭗᭘᭙ (U+1B50 to U+1B59)
bengBengali digits০১২৩৪৫৬৭৮৯ (U+09E6 to U+09EF)
bhksBhaiksuki digits𑱐𑱑𑱒𑱓𑱔𑱕𑱖𑱗𑱘𑱙 (U+11C50 to U+11C59)
brahBrahmi digits𑁦𑁧𑁨𑁩𑁪𑁫𑁬𑁭𑁮𑁯 (U+11066 to U+1106F)
cakmChakma digits𑄶𑄷𑄸𑄹𑄺𑄻𑄼𑄽𑄾𑄿 (U+11136 to U+1113F)
chamCham digits꩐꩑꩒꩓꩔꩕꩖꩗꩘꩙ (U+AA50 to U+AA59)
cyrlCyrillic numeralsalgorithmic
devaDevanagari digits०१२३४५६७८९ (U+0966 to U+096F)
diakDives Akuru digits𑥐𑥑𑥒𑥓𑥔𑥕𑥖𑥗𑥘𑥙 (U+11950 to U+11959)
ethiEthiopic numeralsalgorithmic
fullwideFull width digits0123456789 (U+FF10 to U+FF19)
garaGaray digits𐵀𐵁𐵂𐵃𐵄𐵅𐵆𐵇𐵈𐵉 (U+10D40 to U+10D49)
georGeorgian numeralsalgorithmic
gongGunjala Gondi digits𑶠𑶡𑶢𑶣𑶤𑶥𑶦𑶧𑶨𑶩 (U+11DA0 to U+11DA9)
gonmMasaram Gondi digits𑵐𑵑𑵒𑵓𑵔𑵕𑵖𑵗𑵘𑵙 (U+11D50 to U+11D59)
grekGreek upper case numeralsalgorithmic
greklowGreek lower case numeralsalgorithmic
gujrGujarati digits૦૧૨૩૪૫૬૭૮૯ (U+0AE6 to U+0AEF)
gukhGurung Khema digits𖄰𖄱𖄲𖄳𖄴𖄵𖄶𖄷𖄸𖄹 (U+16130 to U+16139)
guruGurmukhi digits੦੧੨੩੪੫੬੭੮੯ (U+0A66 to U+0A6F)
hanidaysHan-character day-of-month numbering for lunar/other traditional calendars
hanidecPositional decimal system using Chinese number ideographs as digits〇一二三四五六七八九 (U+3007, U+4E00, U+4E8C, U+4E09, U+56DB, U+4E94, U+516D, U+4E03, U+516B, U+4E5D)
hansSimplified Chinese numeralsalgorithmic
hansfinSimplified Chinese financial numeralsalgorithmic
hantTraditional Chinese numeralsalgorithmic
hantfinTraditional Chinese financial numeralsalgorithmic
hebrHebrew numeralsalgorithmic
hmngPahawh Hmong digits𖭐𖭑𖭒𖭓𖭔𖭕𖭖𖭗𖭘𖭙 (U+16B50 to U+16B59)
hmnpNyiakeng Puachue Hmong digits𞅀𞅁𞅂𞅃𞅄𞅅𞅆𞅇𞅈𞅉 (U+1E140 to U+1E149)
javaJavanese digits꧐꧑꧒꧓꧔꧕꧖꧗꧘꧙ (U+A9D0 to U+A9D9)
jpanJapanese numeralsalgorithmic
jpanfinJapanese financial numeralsalgorithmic
jpanyearJapanese first-year Gannen numbering for Japanese calendaralgorithmic
kaliKayah Li digits꤀꤁꤂꤃꤄꤅꤆꤇꤈꤉ (U+A900 to U+A909)
kawiKawi digits𑽐𑽑𑽒𑽓𑽔𑽕𑽖𑽗𑽘𑽙 (U+11F50 to U+11F59)
khmrKhmer digits០១២៣៤៥៦៧៨៩ (U+17E0 to U+17E9)
kndaKannada digits೦೧೨೩೪೫೬೭೮೯ (U+0CE6 to U+0CEF)
kraiKirat Rai digits𖵰𖵱𖵲𖵳𖵴𖵵𖵶𖵷𖵸𖵹 (U+16D70 to U+16D79)
lanaTai Tham Hora (secular) digits᪀᪁᪂᪃᪄᪅᪆᪇᪈᪉ (U+1A80 to U+1A89)
lanathamTai Tham (ecclesiastical) digits᪐᪑᪒᪓᪔᪕᪖᪗᪘᪙ (U+1A90 to U+1A99)
laooLao digits໐໑໒໓໔໕໖໗໘໙ (U+0ED0 to U+0ED9)
latnLatin digits0123456789 (U+0030 to U+0039)
lepcLepcha digits᱀᱁᱂᱃᱄᱅᱆᱇᱈᱉ (U+1C40 to U+1C49)
limbLimbu digits᥆᥇᥈᥉᥊᥋᥌᥍᥎᥏ (U+1946 to U+194F)
mathboldMathematical bold digits𝟎𝟏𝟐𝟑𝟒𝟓𝟔𝟕𝟖𝟗 (U+1D7CE to U+1D7D7)
mathdblMathematical double-struck digits𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡 (U+1D7D8 to U+1D7E1)
mathmonoMathematical monospace digits𝟶𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿 (U+1D7F6 to U+1D7FF)
mathsanbMathematical sans-serif bold digits𝟬𝟭𝟮𝟯𝟰𝟱𝟲𝟳𝟴𝟵 (U+1D7EC to U+1D7F5)
mathsansMathematical sans-serif digits𝟢𝟣𝟤𝟥𝟦𝟧𝟨𝟩𝟪𝟫 (U+1D7E2 to U+1D7EB)
mlymMalayalam digits൦൧൨൩൪൫൬൭൮൯ (U+0D66 to U+0D6F)
modiModi digits𑙐𑙑𑙒𑙓𑙔𑙕𑙖𑙗𑙘𑙙 (U+11650 to U+11659)
mongMongolian digits᠐᠑᠒᠓᠔᠕᠖᠗᠘᠙ (U+1810 to U+1819)
mrooMro digits𖩠𖩡𖩢𖩣𖩤𖩥𖩦𖩧𖩨𖩩 (U+16A60 to U+16A69)
mteiMeetei Mayek digits꯰꯱꯲꯳꯴꯵꯶꯷꯸꯹ (U+ABF0 to U+ABF9)
mymrMyanmar digits၀၁၂၃၄၅၆၇၈၉ (U+1040 to U+1049)
mymrepkaMyanmar Eastern Pwo Karen digits𑛚𑛛𑛜𑛝𑛞𑛟𑛠𑛡𑛢𑛣 (U+116DA to U+116E3)
mymrpaoMyanmar Pao digits𑛐𑛑𑛒𑛓𑛔𑛕𑛖𑛗𑛘𑛙 (U+116D0 to U+116D9)
mymrshanMyanmar Shan digits႐႑႒႓႔႕႖႗႘႙ (U+1090 to U+1099)
mymrtlngMyanmar Tai Laing digits꧰꧱꧲꧳꧴꧵꧶꧷꧸꧹ (U+A9F0 to U+A9F9)
nagmNag Mundari digits𞓰𞓱𞓲𞓳𞓴𞓵𞓶𞓷𞓸𞓹 (U+1E4F0 to U+1E4F9)
newaNewa digits𑑐𑑑𑑒𑑓𑑔𑑕𑑖𑑗𑑘𑑙 (U+11450 to U+11459)
nkooN'Ko digits߀߁߂߃߄߅߆߇߈߉ (U+07C0 to U+07C9)
olckOl Chiki digits᱐᱑᱒᱓᱔᱕᱖᱗᱘᱙ (U+1C50 to U+1C59)
onaoOl Onal digits𞗱𞗲𞗳𞗴𞗵𞗶𞗷𞗸𞗹𞗺 (U+1E5F1 to U+1E5FA)
oryaOriya digits୦୧୨୩୪୫୬୭୮୯ (U+0B66 to U+0B6F)
osmaOsmanya digits𐒠𐒡𐒢𐒣𐒤𐒥𐒦𐒧𐒨𐒩 (U+104A0 to U+104A9)
outlinedLegacy computing outlined digits𜳰𜳱𜳲𜳳𜳴𜳵𜳶𜳷𜳸𜳹 (U+1CCF0 to U+1CCF9)
rohgHanifi Rohingya digits𐴰𐴱𐴲𐴳𐴴𐴵𐴶𐴷𐴸𐴹 (U+10D30 to U+10D39)
romanRoman upper case numeralsalgorithmic
romanlowRoman lowercase numeralsalgorithmic
saurSaurashtra digits꣐꣑꣒꣓꣔꣕꣖꣗꣘꣙ (U+A8D0 to U+A8D9)
segmentLegacy computing segmented digits🯰🯱🯲🯳🯴🯵🯶🯷🯸🯹 (U+1FBF0 to U+1FBF9)
shrdSharada digits𑇐𑇑𑇒𑇓𑇔𑇕𑇖𑇗𑇘𑇙 (U+111D0 to U+111D9)
sindKhudawadi digits𑋰𑋱𑋲𑋳𑋴𑋵𑋶𑋷𑋸𑋹 (U+112F0 to U+112F9)
sinhSinhala Lith digits෦෧෨෩෪෫෬෭෮෯ (U+0DE6 to U+0DEF)
soraSora_Sompeng digits𑃰𑃱𑃲𑃳𑃴𑃵𑃶𑃷𑃸𑃹 (U+110F0 to U+110F9)
sundSundanese digits᮰᮱᮲᮳᮴᮵᮶᮷᮸᮹ (U+1BB0 to U+1BB9)
sunuSunuwar digits𑯰𑯱𑯲𑯳𑯴𑯵𑯶𑯷𑯸𑯹 (U+11BF0 to U+11BF9)
takrTakri digits𑛀𑛁𑛂𑛃𑛄𑛅𑛆𑛇𑛈𑛉 (U+116C0 to U+116C9)
taluNew Tai Lue digits᧐᧑᧒᧓᧔᧕᧖᧗᧘᧙ (U+19D0 to U+19D9)
tamlTamil numeralsalgorithmic
tamldecModern Tamil decimal digits௦௧௨௩௪௫௬௭௮௯ (U+0BE6 to U+0BEF)
teluTelugu digits౦౧౨౩౪౫౬౭౮౯ (U+0C66 to U+0C6F)
thaiThai digits๐๑๒๓๔๕๖๗๘๙ (U+0E50 to U+0E59)
tibtTibetan digits༠༡༢༣༤༥༦༧༨༩ (U+0F20 to U+0F29)
tirhTirhuta digits𑓐𑓑𑓒𑓓𑓔𑓕𑓖𑓗𑓘𑓙 (U+114D0 to U+114D9)
tnsaTangsa digits𖫀𖫁𖫂𖫃𖫄𖫅𖫆𖫇𖫈𖫉 (U+16AC0 to U+16AC9)
vaiiVai digits꘠꘡꘢꘣꘤꘥꘦꘧꘨꘩ (U+A620 to U+A629)
waraWarang Citi digits𑣠𑣡𑣢𑣣𑣤𑣥𑣦𑣧𑣨𑣩 (U+118E0 to U+118E9)
wchoWancho digits𞋰𞋱𞋲𞋳𞋴𞋵𞋶𞋷𞋸𞋹 (U+1E2F0 to U+1E2F9)
\n

There are three special values: native, traditio, and finance, whose meanings are locale-dependent, and will be resolved to the right system depending on the locale. Therefore, the resolvedOptions() methods will never return these values, but Intl.Locale.prototype.numberingSystem will (if provided as input).\n

References:\n

\n

Supported time zone identifiers

\n

Supported time zone identifiers can be used for the timeZone option when creating objects such as Intl.DateTimeFormat, as well as for creating Temporal date objects. There are over 400 identifiers in common use so we won't list them. For an exhaustive list of possible identifiers, see the Wikipedia article or the IANA time zone database.\n

As you browse the list, note that the standardization of Temporal requires browsers to always return the primary identifier in the IANA database, which may change over time. See time zones and offsets for more information. For example, the returned array should contain \"Asia/Kolkata\" instead of \"Asia/Calcutta\" because the latter is an alias of the former and they both correspond to India; however, it should contain both \"Africa/Abidjan\" and \"Atlantic/Reykjavik\" because they are in different countries, despite the latter also being an alias of the former.\n

References:\n

\n

Supported unit identifiers

\n

Below are all values that are commonly supported by browsers for the unit key. These values can be used for the unit option when creating objects such as Intl.NumberFormat. This list is a subset of the CLDR explicitly sanctioned by the ECMA-402 specification, so all implementations should be consistent.\n

\n

When specifying units, you can also combine two units with the \"-per-\" separator. For example, meter-per-second or liter-per-megabyte.\n

References:\n

", + "returns": "A sorted array of unique string values indicating the values supported by the implementation for the given key. The values that could be returned are listed below.\n

Supported calendar types

\n

Below are all values that are commonly supported by browsers for the calendar key. These values can be used for the calendar option or the ca Unicode extension key when creating objects such as Intl.DateTimeFormat, as well as for creating Temporal date objects.\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ValueDescription
buddhistThai Buddhist calendar
chineseTraditional Chinese calendar
copticCoptic calendar
dangiTraditional Korean calendar
ethioaaEthiopic calendar, Amete Alem, single-era variant (epoch approx. 5493 B.C.E)
ethiopicEthiopic calendar, Amete Mihret, two-era variant (epoch approx, 8 C.E., Amete Alem for years before Amete Mihret)
gregoryGregorian calendar (proleptic, not Julian hybrid)
hebrewTraditional Hebrew calendar
indianIndian calendar
islamicHijri calendar, unspecified algorithm. Note: As of April 2025, this is an astronomical simulation whose parameters are undocumented and that is not known to match a specific Hijri calendar variant from non-software contexts. For well-specified results, use one of the three specific variants: islamic-umalqura, islamic-tbla, or islamic-civil.
islamic-umalquraHijri calendar, Umm al-Qura (uses KACST-calculated months from the start of 1300 AH (1882-11-12 ISO) to the end of 1600 AH (2174-11-25 ISO) and falls back to islamic-civil outside that range)
islamic-tblaHijri calendar, tabular/rule-based with leap year rule II (leap years 2,5,7,10,13,16,18,21,24,26,29 in the 30-year cycle (1-based numbering)) and Thursday/astronomical epoch (July 15, 622 Julian / 0622-07-18 ISO)
islamic-civilHijri calendar, tabular/rule-based with leap year rule II (leap years 2,5,7,10,13,16,18,21,24,26,29 in the 30-year cycle (1-based numbering)) and Friday/civil epoch (July 16, 622 Julian / 0622-07-19 ISO)
iso8601ISO calendar (variant of the Gregorian calendar with week rules and formatting parameters made region-independent)
japaneseJapanese Imperial calendar (this calendar adds an era for each new emperor, so the output year and era for a future date may not match the input year and era when your code runs on a future engine version. Note: See the remarks below this table about dates prior to 1868-10-23 ISO.)
persianPersian calendar
rocRepublic of China calendar
\n

As of October 2025, in the japanese calendar, dates prior to 1868-10-23 ISO (the start date of the year 1 Meiji) don't work as expected in browsers in two ways. First, CLDR had the wrong start date for the Meiji era, which causes calendar implementations to extend the Meiji era further to the past than it actually did. Second, the upcoming Intl era and monthCode Proposal specifies that dates prior to the Meiji era should use Gregorian eras, but browsers have traditionally used approximations of prior Japanese eras instead. The japanese calendar was taken into use on January 1, 6 Meiji / 1873-01-01 ISO, so these problems only affect proleptic dates.\n

The types below are specified in CLDR but do not have implementations distinct from the above calendars in browsers.\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ValueDescriptionNotes
islamicc \nDeprecated\nCivil (algorithmic) Arabic calendar.This is an alias for islamic-civil and therefore is not returned by supportedValuesOf(). Use islamic-civil instead.
islamic-rgsaHijri calendar, Saudi Arabia sightingBrowsers do not have historical sighting data and future sightings have not occurred yet. As of April 2025, this calendar results in the same behavior as islamic. Use islamic-umalqura for a Mecca-based astronomical calculation.
\n

References:\n

\n

Supported collation types

\n

Below are all values that are commonly supported by browsers for the collation key. These values can be used for the collation option or the co Unicode extension key when creating objects such as Intl.Collator.\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ValueDescription
compatA previous version of the ordering, for compatibility (for Arabic)
dictDictionary style ordering (such as in Sinhala). Also recognized as dictionary.
emojiRecommended ordering for emoji characters
eorEuropean ordering rules
phonebkPhonebook style ordering (such as in German). Also recognized as phonebook.
phoneticPhonetic ordering (sorting based on pronunciation; for Lingala)
pinyinPinyin ordering for Latin and for CJK characters (used in Chinese)
searchjlSpecial collation type for Korean initial consonant search. Warning: This collation is not for sorting, even though you can only use it with Intl.Collator of usage: \"sort\".
strokePinyin ordering for Latin, stroke order for CJK characters (used in Chinese)
tradTraditional style ordering (such as in Spanish). Also recognized as traditional.
unihanPinyin ordering for Latin, Unihan radical-stroke ordering for CJK characters (used in Chinese)
zhuyinPinyin ordering for Latin, zhuyin order for Bopomofo and CJK characters (used in Chinese)
\n

The types below are specified in CLDR data, but are deprecated, are discouraged from explicit usage, and/or may not be indicated by browsers as supported for various reasons. Avoid using them:\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ValueDescriptionNotes
big5han \nDeprecated\nPinyin ordering for Latin, big5 charset ordering for CJK characters (used in Chinese)Deprecated.
direct \nDeprecated\nBinary code point order (used in Hindi)Deprecated.
ducetThe default Unicode collation element table orderThe ducet collation type is not available to the Web.
gb2312 \nDeprecated\nPinyin ordering for Latin, gb2312han charset ordering for CJK characters (for Chinese). Also recognized as gb2312han.Deprecated.
reformed \nDeprecated\nReformed ordering (such as Swedish)Deprecated. This is the old name for the default ordering for Swedish whose collation naming used to differ from other languages. Since this was the default, request sv instead of requesting sv-u-co-reformed.
searchSpecial collation type for string searchDo not use as a collation type, since in Intl.Collator, this collation is activated via the usage: \"search\" option. There is currently no API for substring search, so this is currently only good for filtering a list of strings by trying a full-string match of the key against each list item.
standardDefault ordering for each language, except Chinese (and, previously, Swedish)Do not use explicitly. In general, it's unnecessary to specify this explicitly and specifying this for Swedish is problematic due to the different meaning for Swedish in the past.
\n

References:\n

\n

Supported currency identifiers

\n

Currency identifiers are three-letter uppercase codes defined in ISO 4217. These values can be used for the currency option when creating objects such as Intl.NumberFormat, as well as for Intl.DisplayNames.prototype.of(). There are over 300 identifiers in common use so we won't list them. For an exhaustive list of possible identifiers, see the Wikipedia article.\n

References:\n

\n

Supported numbering system types

\n

Below are all values that are commonly supported by browsers for the numberingSystem key. These values can be used for the numberingSystem option or the nu Unicode extension key when creating objects such as Intl.NumberFormat. For the rows with \"digit characters\", the runtime translates the digits one-by-one without extra actions. The others marked as \"algorithmic\" need additional algorithms to translate the digits. The higher the Unicode code point is, the newer the numbering system is and the more likely it is unsupported by all browsers.\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ValueDescriptionDigit characters
adlmAdlam digits𞥐𞥑𞥒𞥓𞥔𞥕𞥖𞥗𞥘𞥙 (U+1E950 to U+1E959)
ahomAhom digits𑜰𑜱𑜲𑜳𑜴𑜵𑜶𑜷𑜸𑜹 (U+11730 to U+11739)
arabArabic-Indic digits٠١٢٣٤٥٦٧٨٩ (U+0660 to U+0669)
arabextExtended Arabic-Indic digits۰۰۱۲۳۴۵۶۷۸۹ (U+06F0 to U+06F9)
armnArmenian upper case numeralsalgorithmic
armnlowArmenian lower case numeralsalgorithmic
baliBalinese digits᭐᭑᭒᭓᭔᭕᭖᭗᭘᭙ (U+1B50 to U+1B59)
bengBengali digits০১২৩৪৫৬৭৮৯ (U+09E6 to U+09EF)
bhksBhaiksuki digits𑱐𑱑𑱒𑱓𑱔𑱕𑱖𑱗𑱘𑱙 (U+11C50 to U+11C59)
brahBrahmi digits𑁦𑁧𑁨𑁩𑁪𑁫𑁬𑁭𑁮𑁯 (U+11066 to U+1106F)
cakmChakma digits𑄶𑄷𑄸𑄹𑄺𑄻𑄼𑄽𑄾𑄿 (U+11136 to U+1113F)
chamCham digits꩐꩑꩒꩓꩔꩕꩖꩗꩘꩙ (U+AA50 to U+AA59)
cyrlCyrillic numeralsalgorithmic
devaDevanagari digits०१२३४५६७८९ (U+0966 to U+096F)
diakDives Akuru digits𑥐𑥑𑥒𑥓𑥔𑥕𑥖𑥗𑥘𑥙 (U+11950 to U+11959)
ethiEthiopic numeralsalgorithmic
fullwideFull width digits0123456789 (U+FF10 to U+FF19)
garaGaray digits𐵀𐵁𐵂𐵃𐵄𐵅𐵆𐵇𐵈𐵉 (U+10D40 to U+10D49)
georGeorgian numeralsalgorithmic
gongGunjala Gondi digits𑶠𑶡𑶢𑶣𑶤𑶥𑶦𑶧𑶨𑶩 (U+11DA0 to U+11DA9)
gonmMasaram Gondi digits𑵐𑵑𑵒𑵓𑵔𑵕𑵖𑵗𑵘𑵙 (U+11D50 to U+11D59)
grekGreek upper case numeralsalgorithmic
greklowGreek lower case numeralsalgorithmic
gujrGujarati digits૦૧૨૩૪૫૬૭૮૯ (U+0AE6 to U+0AEF)
gukhGurung Khema digits𖄰𖄱𖄲𖄳𖄴𖄵𖄶𖄷𖄸𖄹 (U+16130 to U+16139)
guruGurmukhi digits੦੧੨੩੪੫੬੭੮੯ (U+0A66 to U+0A6F)
hanidaysHan-character day-of-month numbering for lunar/other traditional calendars
hanidecPositional decimal system using Chinese number ideographs as digits〇一二三四五六七八九 (U+3007, U+4E00, U+4E8C, U+4E09, U+56DB, U+4E94, U+516D, U+4E03, U+516B, U+4E5D)
hansSimplified Chinese numeralsalgorithmic
hansfinSimplified Chinese financial numeralsalgorithmic
hantTraditional Chinese numeralsalgorithmic
hantfinTraditional Chinese financial numeralsalgorithmic
hebrHebrew numeralsalgorithmic
hmngPahawh Hmong digits𖭐𖭑𖭒𖭓𖭔𖭕𖭖𖭗𖭘𖭙 (U+16B50 to U+16B59)
hmnpNyiakeng Puachue Hmong digits𞅀𞅁𞅂𞅃𞅄𞅅𞅆𞅇𞅈𞅉 (U+1E140 to U+1E149)
javaJavanese digits꧐꧑꧒꧓꧔꧕꧖꧗꧘꧙ (U+A9D0 to U+A9D9)
jpanJapanese numeralsalgorithmic
jpanfinJapanese financial numeralsalgorithmic
jpanyearJapanese first-year Gannen numbering for Japanese calendaralgorithmic
kaliKayah Li digits꤀꤁꤂꤃꤄꤅꤆꤇꤈꤉ (U+A900 to U+A909)
kawiKawi digits𑽐𑽑𑽒𑽓𑽔𑽕𑽖𑽗𑽘𑽙 (U+11F50 to U+11F59)
khmrKhmer digits០១២៣៤៥៦៧៨៩ (U+17E0 to U+17E9)
kndaKannada digits೦೧೨೩೪೫೬೭೮೯ (U+0CE6 to U+0CEF)
kraiKirat Rai digits𖵰𖵱𖵲𖵳𖵴𖵵𖵶𖵷𖵸𖵹 (U+16D70 to U+16D79)
lanaTai Tham Hora (secular) digits᪀᪁᪂᪃᪄᪅᪆᪇᪈᪉ (U+1A80 to U+1A89)
lanathamTai Tham (ecclesiastical) digits᪐᪑᪒᪓᪔᪕᪖᪗᪘᪙ (U+1A90 to U+1A99)
laooLao digits໐໑໒໓໔໕໖໗໘໙ (U+0ED0 to U+0ED9)
latnLatin digits0123456789 (U+0030 to U+0039)
lepcLepcha digits᱀᱁᱂᱃᱄᱅᱆᱇᱈᱉ (U+1C40 to U+1C49)
limbLimbu digits᥆᥇᥈᥉᥊᥋᥌᥍᥎᥏ (U+1946 to U+194F)
mathboldMathematical bold digits𝟎𝟏𝟐𝟑𝟒𝟓𝟔𝟕𝟖𝟗 (U+1D7CE to U+1D7D7)
mathdblMathematical double-struck digits𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡 (U+1D7D8 to U+1D7E1)
mathmonoMathematical monospace digits𝟶𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿 (U+1D7F6 to U+1D7FF)
mathsanbMathematical sans-serif bold digits𝟬𝟭𝟮𝟯𝟰𝟱𝟲𝟳𝟴𝟵 (U+1D7EC to U+1D7F5)
mathsansMathematical sans-serif digits𝟢𝟣𝟤𝟥𝟦𝟧𝟨𝟩𝟪𝟫 (U+1D7E2 to U+1D7EB)
mlymMalayalam digits൦൧൨൩൪൫൬൭൮൯ (U+0D66 to U+0D6F)
modiModi digits𑙐𑙑𑙒𑙓𑙔𑙕𑙖𑙗𑙘𑙙 (U+11650 to U+11659)
mongMongolian digits᠐᠑᠒᠓᠔᠕᠖᠗᠘᠙ (U+1810 to U+1819)
mrooMro digits𖩠𖩡𖩢𖩣𖩤𖩥𖩦𖩧𖩨𖩩 (U+16A60 to U+16A69)
mteiMeetei Mayek digits꯰꯱꯲꯳꯴꯵꯶꯷꯸꯹ (U+ABF0 to U+ABF9)
mymrMyanmar digits၀၁၂၃၄၅၆၇၈၉ (U+1040 to U+1049)
mymrepkaMyanmar Eastern Pwo Karen digits𑛚𑛛𑛜𑛝𑛞𑛟𑛠𑛡𑛢𑛣 (U+116DA to U+116E3)
mymrpaoMyanmar Pao digits𑛐𑛑𑛒𑛓𑛔𑛕𑛖𑛗𑛘𑛙 (U+116D0 to U+116D9)
mymrshanMyanmar Shan digits႐႑႒႓႔႕႖႗႘႙ (U+1090 to U+1099)
mymrtlngMyanmar Tai Laing digits꧰꧱꧲꧳꧴꧵꧶꧷꧸꧹ (U+A9F0 to U+A9F9)
nagmNag Mundari digits𞓰𞓱𞓲𞓳𞓴𞓵𞓶𞓷𞓸𞓹 (U+1E4F0 to U+1E4F9)
newaNewa digits𑑐𑑑𑑒𑑓𑑔𑑕𑑖𑑗𑑘𑑙 (U+11450 to U+11459)
nkooN'Ko digits߀߁߂߃߄߅߆߇߈߉ (U+07C0 to U+07C9)
olckOl Chiki digits᱐᱑᱒᱓᱔᱕᱖᱗᱘᱙ (U+1C50 to U+1C59)
onaoOl Onal digits𞗱𞗲𞗳𞗴𞗵𞗶𞗷𞗸𞗹𞗺 (U+1E5F1 to U+1E5FA)
oryaOriya digits୦୧୨୩୪୫୬୭୮୯ (U+0B66 to U+0B6F)
osmaOsmanya digits𐒠𐒡𐒢𐒣𐒤𐒥𐒦𐒧𐒨𐒩 (U+104A0 to U+104A9)
outlinedLegacy computing outlined digits𜳰𜳱𜳲𜳳𜳴𜳵𜳶𜳷𜳸𜳹 (U+1CCF0 to U+1CCF9)
rohgHanifi Rohingya digits𐴰𐴱𐴲𐴳𐴴𐴵𐴶𐴷𐴸𐴹 (U+10D30 to U+10D39)
romanRoman upper case numeralsalgorithmic
romanlowRoman lowercase numeralsalgorithmic
saurSaurashtra digits꣐꣑꣒꣓꣔꣕꣖꣗꣘꣙ (U+A8D0 to U+A8D9)
segmentLegacy computing segmented digits🯰🯱🯲🯳🯴🯵🯶🯷🯸🯹 (U+1FBF0 to U+1FBF9)
shrdSharada digits𑇐𑇑𑇒𑇓𑇔𑇕𑇖𑇗𑇘𑇙 (U+111D0 to U+111D9)
sindKhudawadi digits𑋰𑋱𑋲𑋳𑋴𑋵𑋶𑋷𑋸𑋹 (U+112F0 to U+112F9)
sinhSinhala Lith digits෦෧෨෩෪෫෬෭෮෯ (U+0DE6 to U+0DEF)
soraSora_Sompeng digits𑃰𑃱𑃲𑃳𑃴𑃵𑃶𑃷𑃸𑃹 (U+110F0 to U+110F9)
sundSundanese digits᮰᮱᮲᮳᮴᮵᮶᮷᮸᮹ (U+1BB0 to U+1BB9)
sunuSunuwar digits𑯰𑯱𑯲𑯳𑯴𑯵𑯶𑯷𑯸𑯹 (U+11BF0 to U+11BF9)
takrTakri digits𑛀𑛁𑛂𑛃𑛄𑛅𑛆𑛇𑛈𑛉 (U+116C0 to U+116C9)
taluNew Tai Lue digits᧐᧑᧒᧓᧔᧕᧖᧗᧘᧙ (U+19D0 to U+19D9)
tamlTamil numeralsalgorithmic
tamldecModern Tamil decimal digits௦௧௨௩௪௫௬௭௮௯ (U+0BE6 to U+0BEF)
teluTelugu digits౦౧౨౩౪౫౬౭౮౯ (U+0C66 to U+0C6F)
thaiThai digits๐๑๒๓๔๕๖๗๘๙ (U+0E50 to U+0E59)
tibtTibetan digits༠༡༢༣༤༥༦༧༨༩ (U+0F20 to U+0F29)
tirhTirhuta digits𑓐𑓑𑓒𑓓𑓔𑓕𑓖𑓗𑓘𑓙 (U+114D0 to U+114D9)
tnsaTangsa digits𖫀𖫁𖫂𖫃𖫄𖫅𖫆𖫇𖫈𖫉 (U+16AC0 to U+16AC9)
vaiiVai digits꘠꘡꘢꘣꘤꘥꘦꘧꘨꘩ (U+A620 to U+A629)
waraWarang Citi digits𑣠𑣡𑣢𑣣𑣤𑣥𑣦𑣧𑣨𑣩 (U+118E0 to U+118E9)
wchoWancho digits𞋰𞋱𞋲𞋳𞋴𞋵𞋶𞋷𞋸𞋹 (U+1E2F0 to U+1E2F9)
\n

There are three special values: native, traditio, and finance, whose meanings are locale-dependent, and will be resolved to the right system depending on the locale. Therefore, the resolvedOptions() methods will never return these values, but Intl.Locale.prototype.numberingSystem will (if provided as input).\n

References:\n

\n

Supported time zone identifiers

\n

Supported time zone identifiers can be used for the timeZone option when creating objects such as Intl.DateTimeFormat, as well as for creating Temporal date objects. There are over 400 identifiers in common use so we won't list them. For an exhaustive list of possible identifiers, see the Wikipedia article or the IANA time zone database.\n

As you browse the list, note that the standardization of Temporal requires browsers to always return the primary identifier in the IANA database, which may change over time. See time zones and offsets for more information. For example, the returned array should contain \"Asia/Kolkata\" instead of \"Asia/Calcutta\" because the latter is an alias of the former and they both correspond to India; however, it should contain both \"Africa/Abidjan\" and \"Atlantic/Reykjavik\" because they are in different countries, despite the latter also being an alias of the former.\n

References:\n

\n

Supported unit identifiers

\n

Below are all values that are commonly supported by browsers for the unit key. These values can be used for the unit option when creating objects such as Intl.NumberFormat. This list is a subset of the CLDR explicitly sanctioned by the ECMA-402 specification, so all implementations should be consistent.\n

\n

When specifying units, you can also combine two units with the \"-per-\" separator. For example, meter-per-second or liter-per-megabyte.\n

References:\n

", "throws": { "RangeError": "Thrown if an unsupported key was passed as a parameter." } @@ -11458,7 +11460,8 @@ ], "compatibility": { "Firefox": "137", - "FirefoxAndroid": "137" + "FirefoxAndroid": "137", + "Safari": "preview" }, "baseline": { "level": "NONE" @@ -12889,7 +12892,7 @@ "SafariIOS": "", "Nodejs": "" }, - "doc": "

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

\n
\n

Warning:\nChanging the [[Prototype]] of an object is, by the nature of how modern JavaScript engines optimize property accesses, currently a very slow operation in every browser and JavaScript engine. In addition, the effects of altering inheritance are subtle and far-flung, and are not limited to the time spent in the obj.__proto__ = ... statement, but may extend to any code that has access to any object whose [[Prototype]] has been altered. You can read more in JavaScript engine fundamentals: optimizing prototypes.\n

\n
\n

Note:\nThe use of __proto__ is controversial and discouraged. Its existence and exact behavior have only been standardized as a legacy feature to ensure web compatibility, while it presents several security issues and footguns. For better support, prefer Object.getPrototypeOf()/Reflect.getPrototypeOf() and Object.setPrototypeOf()/Reflect.setPrototypeOf() instead.\n

\n

The __proto__ accessor property of Object instances exposes the [[Prototype]] (either an object or null) of this object.\n

The __proto__ property can also be used in an object literal definition to set the object [[Prototype]] on creation, as an alternative to Object.create(). See: object initializer / literal syntax. That syntax is standard and optimized for in implementations, and quite different from Object.prototype.__proto__.", + "doc": "

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

\n
\n

Warning:\nChanging the [[Prototype]] of an object is, by the nature of how modern JavaScript engines optimize property accesses, currently a very slow operation in every browser and JavaScript engine. In addition, the effects of altering inheritance are subtle and far-flung, and are not limited to the time spent in the obj.__proto__ = ... statement, but may extend to any code that has access to any object whose [[Prototype]] has been altered. You can read more in JavaScript engine fundamentals: optimizing prototypes.\n

\n
\n

Note:\nThe use of __proto__ is controversial and discouraged. Its existence and exact behavior have only been standardized as a legacy feature to ensure web compatibility, while it presents several security issues and footguns. For better support, prefer Object.getPrototypeOf()/Reflect.getPrototypeOf() and Object.setPrototypeOf()/Reflect.setPrototypeOf() instead.\n

\n

The __proto__ accessor property of Object instances exposes the [[Prototype]] (either an object or null) of this object.\n

The __proto__ property can also be used in an object literal definition to set the object [[Prototype]] on creation, as an alternative to Object.create(). See: object initializer / literal syntax. That syntax is standard and optimized for in implementations, and quite different from Object.prototype.__proto__.", "returns": "If used as a getter, returns the object's [[Prototype]].", "throws": { "TypeError": "Thrown if attempting to set the prototype of a non-extensible object or an immutable prototype exotic object, such as Object.prototype or window." diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/Html.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/Html.json index 674fcbab8740..e31c13adbd7a 100644 --- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/Html.json +++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/Html.json @@ -289,10 +289,11 @@ "SafariIOS": "15.5" }, "baseline": { - "level": "LOW", - "lowDate": "2023-04-11" + "level": "HIGH", + "lowDate": "2023-04-11", + "highDate": "2025-10-11" }, - "doc": "The inert global attribute is a Boolean attribute indicating that the element and all of its flat tree descendants become inert. Modal <dialog>s generated with showModal() escape inertness, meaning that they don't inherit inertness from their ancestors, but can only be made inert by having the inert attribute explicitly set on themselves.\n

Specifically, inert does the following:\n

\n
\n```html\n\n  \n
\n

The inert attribute can be added to sections of content that should not be interactive. When an element is inert, it along with all of the element's descendants, including normally interactive elements such as links, buttons, and form controls are disabled because they cannot receive focus or be clicked.\n

The inert attribute can also be added to elements that should be offscreen or hidden. An inert element, along with its descendants, gets removed from the tab order and accessibility tree.\n

\n

Note:\nWhile inert is a global attribute and can be applied to any element, it is generally used for sections of content. To make individual controls \"inert\", consider using the disabled attribute, along with CSS :disabled styles, instead.\n

" + "doc": "The inert global attribute is a Boolean attribute indicating that the element and all of its flat tree descendants become inert. The inert attribute can be added to sections of content that should not be interactive. When an element is inert, it along with all of the element's descendants, including normally interactive elements such as links, buttons, and form controls are disabled because they cannot receive focus or be clicked. The inert attribute can also be added to elements that should be offscreen or hidden. An inert element, along with its descendants, gets removed from the tab order and accessibility tree.\n

Modal <dialog>s generated with showModal() escape inertness, meaning that they don't inherit inertness from their ancestors, but can be made inert by having the inert attribute explicitly set on themselves. No other element can escape inertness.\n

\n

Note:\nWhile inert is a global attribute and can be applied to any element, it is generally used for sections of content. To make individual controls \"inert\", consider using the disabled attribute, along with CSS :disabled styles, instead.\n

\n

Inert HTML elements and their flat tree descendants:\n

\n

The following other features can be used to set an element and its descendants to an inert state:\n

" }, "inputmode": { "url": "$MDN_URL$/web/html/reference/global_attributes/inputmode", @@ -1399,13 +1400,6 @@ "attrs": { "autoplay": { "url": "$MDN_URL$/web/html/reference/elements/audio#autoplay", - "status": [ - "StandardTrack" - ], - "compatibility": {}, - "baseline": { - "level": "NONE" - }, "doc": "A Boolean attribute: if specified, the audio will automatically begin playback as soon as it can do so, without waiting for the entire audio file to finish downloading.\n
\n

Note:\nSites that automatically play audio (or videos with an audio track) can be an unpleasant experience for users, so should be avoided when possible.\nIf you must offer autoplay functionality, you should make it opt-in (requiring a user to specifically enable it).\nHowever, this can be useful when creating media elements whose source will be set at a later time, under user control.\nSee our autoplay guide for additional information about how to properly use autoplay.\n

" }, "controls": { @@ -2166,6 +2160,8 @@ "Chrome": "135", "ChromeAndroid": "135", "Edge": "135", + "Firefox": "144", + "FirefoxAndroid": "144", "Opera": "120", "Safari": "preview" }, @@ -2183,6 +2179,8 @@ "Chrome": "135", "ChromeAndroid": "135", "Edge": "135", + "Firefox": "144", + "FirefoxAndroid": "144", "Opera": "120", "Safari": "preview" }, @@ -5670,7 +5668,7 @@ "lowDate": "2016-03-21", "highDate": "2018-09-21" }, - "doc": "One or more values separated by commas, which can be source sizes or the auto keyword.\n

A source size consists of:\n

    \n
  1. A media condition, omitted for the last item in the list.
  2. \n
  3. A source size value.
  4. \n
\n

Media conditions describe properties of the viewport, not the image. For example, (height <= 500px) 1000px proposes using an image source of 1000px width if the viewport height is 500px or less. Because a source size descriptor specifies the width to use for the image during layout, the media condition is typically (but not necessarily) based on the width.\n

Source size values specify the intended display size of the image. User agents use the current source size to select one of the sources supplied by the srcset attribute, when those sources are described using width (w) descriptors. The selected source size affects the intrinsic size of the image (the image's display size if no CSS styling is applied). If the srcset attribute is absent, or contains no values with a width descriptor, then the sizes attribute has no effect.\n

A source size value can be any non-negative length. It must not use CSS functions other than the math functions. Units are interpreted in the same way as media queries, meaning that all relative length units are relative to the document root rather than the <img> element. For example, an em value is relative to the root font size, not the font size of the image. Percentage values are not allowed.\n

The auto keyword can replace the whole list of sizes or the first entry in the list. It is only valid when combined with loading=\"lazy\", and resolves to the concrete size of the image. Since the intrinsic size of the image is not yet known, width and height attributes (or CSS equivalents) should also be specified to prevent the browser from assuming the default image width of 300px.\nFor better backward compatibility with browsers that do not support auto, you can include fallback sizes after auto in the sizes attribute:\n

\n```html\n```\n
" + "doc": "One or more values separated by commas, which can be source sizes or the auto keyword.\n

A source size consists of:\n

    \n
  1. A media condition, omitted for the last item in the list.
  2. \n
  3. A source size value.
  4. \n
\n

Media conditions describe properties of the viewport, not the image. For example, (height <= 500px) 1000px proposes using an image source of 1000px width if the viewport height is 500px or less. Because a source size descriptor specifies the width to use for the image during layout, the media condition is typically (but not necessarily) based on the width.\n

Source size values specify the intended display size of the image. User agents use the current source size to select one of the sources supplied by the srcset attribute, when those sources are described using width (w) descriptors. The selected source size affects the intrinsic size of the image (the image's display size if no CSS styling is applied). If the srcset attribute is absent, or contains no values with a width descriptor, then the sizes attribute has no effect.\n

A source size value can be any non-negative length. It must not use CSS functions other than the math functions. Units are interpreted in the same way as media queries, meaning that all relative length units are relative to the document root rather than the <img> element. For example, an em value is relative to the root font size, not the font size of the image. Percentage values are not allowed.\n

The auto keyword can replace the whole list of sizes or the first entry in the list. It is only valid when combined with loading=\"lazy\", and resolves to the concrete size of the image. Since the intrinsic size of the image is not yet known, width and height attributes (or CSS equivalents) should also be specified to prevent the browser from assuming the default image width of 300px.\nFor better backward compatibility with browsers that do not support auto, you can include fallback sizes after auto in the sizes attribute:\n

\n```html\n```\n
" }, "src": { "url": "$MDN_URL$/web/html/reference/elements/img#src", @@ -5834,7 +5832,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The accept attribute takes as its value a comma-separated list of one or more file types, or unique file type specifiers, describing which file types to allow." + "doc": "Valid for the file input type only, the accept attribute defines which file types are selectable in a file upload control. See the file input type." }, "align": { "url": "$MDN_URL$/web/html/reference/elements/input#align", @@ -5868,7 +5866,8 @@ }, "baseline": { "level": "NONE" - } + }, + "doc": "Valid for the color input type only, the alpha attribute provides the end user with the ability to set the opacity of the color being selected." }, "alt": { "url": "$MDN_URL$/web/html/reference/elements/input#alt", @@ -5889,7 +5888,12 @@ "level": "HIGH", "lowDate": "2015-07-29", "highDate": "2018-01-29" - } + }, + "doc": "Valid for the image button only, the alt attribute provides alternative text for the image, displaying the value of the attribute if the image src is missing or otherwise fails to load. See the image input type." + }, + "autocapitalize": { + "url": "$MDN_URL$/web/html/reference/elements/input#autocapitalize", + "doc": "Controls whether inputted text is automatically capitalized and, if so, in what manner. See the autocapitalize global attribute page for more information." }, "autocomplete": { "url": "$MDN_URL$/web/html/reference/elements/input#autocomplete", @@ -5911,7 +5915,11 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The HTML autocomplete attribute lets web developers specify what if any permission the user agent has to provide automated assistance in filling out form field values, as well as guidance to the browser as to the type of information expected in the field.\n

It is available on <input> elements that take a text or numeric value as input, <textarea> elements, <select> elements, and <form> elements.\n

The autocomplete attribute provides a hint to the user agent specifying how to, or indeed whether to, prefill a form control. The attribute value is either the keyword off or on, or an ordered list of space-separated tokens.\n

\n```html\n\n\n\n\n```\n
\n

If an <input>, <select> or <textarea> element has no autocomplete attribute, the browser will use the autocomplete attribute of the element's owning form. The owning form is either the <form> matching the id specified by the form attribute of the element (if present) or, more commonly, the <form> the element is nested in.\n

\n

Note:\nIn order to provide autocompletion, user-agents might require <input>/<select>/<textarea> elements to:\n

    \n
  1. Have a name and/or id attribute
  2. \n
  3. Be descendants of a <form> element
  4. \n
  5. Be owned by a form with a submit button
  6. \n
\n
\n

If the same list of tokens is used in more than one form control, the user-agent will autocomplete all occurrences of the same autocomplete value with the same data value.\n

Some tokens may be used more than once with potentially different expected values, such as the zip-code token in a form that contains both shipping and billing addresses. Including multiple different tokens in a space-separated list causes the associated form controls to be given unique autocomplete values: in this case, autocomplete=\"shipping zip-code\" and autocomplete=\"billing zip-code\".\n

Some autocomplete values may need to be re-used multiple times. For example, a form may contain multiple shipping addresses and therefore multiple occurrences of \"shipping zip-code\" while still expecting different values. To make the autocomplete value unique in these cases, the first token in the space-separated list of tokens can be a section-* token, where the token's first eight characters are always the string \"section-\", followed by an alphanumeric string. All form fields given the section-* token with the same alphanumeric string belong to the same named group.\n

If including the autocomplete attribute on hidden input elements (<input type=\"hidden\">), its value must be an ordered list of space-separated tokens; the on and off keywords are not allowed.\n

The source of the suggested values is generally up to the browser; typically values come from past values entered by the user, but they may also come from pre-configured values. For instance, a browser might let the user save their name, address, phone number, and email addresses for autocomplete purposes. The browser may also offer the ability to save encrypted credit card information, for autocompletion following an authentication procedure.\n

\n

Note:\nThe autocomplete attribute also controls whether Firefox will — unlike other browsers — persist the dynamic disabled state and (if applicable) dynamic checkedness of an <input> element, <textarea> element, or entire <form> across page loads. The persistence feature is enabled by default. Setting the value of the autocomplete attribute to off disables this feature. This works even when the autocomplete attribute would normally not apply by virtue of its type. See Firefox bug 654072.\n

" + "doc": "(Not a Boolean attribute!) The autocomplete attribute takes as its value a space-separated string that describes what, if any, type of autocomplete functionality the input should provide. A typical implementation of autocomplete recalls previous values entered in the same input field, but more complex forms of autocomplete can exist. For instance, a browser could integrate with a device's contacts list to autocomplete email addresses in an email input field. See autocomplete for permitted values.\n

The autocomplete attribute is valid on hidden, text, search, url, tel, email, date, month, week, time, datetime-local, number, range, color, and password. This attribute has no effect on input types that do not return numeric or text data, being valid for all input types except checkbox, radio, file, or any of the button types.\n

See the autocomplete attribute for additional information, including information on password security and how autocomplete is slightly different for hidden than for other input types." + }, + "autofocus": { + "url": "$MDN_URL$/web/html/reference/elements/input#autofocus", + "doc": "A Boolean attribute which, if present, indicates that the input should automatically have focus when the page has finished loading (or when the <dialog> containing the element has been displayed).\n

\n

Note:\nAn element with the autofocus attribute may gain focus before the DOMContentLoaded event is fired.\n

\n

No more than one element in the document may have the autofocus attribute. If put on more than one element, the first one with the attribute receives focus.\n

The autofocus attribute cannot be used on inputs of type hidden, since hidden inputs cannot be focused.\n

\n

Warning:\nAutomatically focusing a form control can confuse visually-impaired people using screen-reading technology and people with cognitive impairments. When autofocus is assigned, screen-readers \"teleport\" their user to the form control without warning them beforehand.\n

\n

Use careful consideration for accessibility when applying the autofocus attribute. Automatically focusing on a control can cause the page to scroll on load. The focus can also cause dynamic keyboards to display on some touch devices. While a screen reader will announce the label of the form control receiving focus, the screen reader will not announce anything before the label, and the sighted user on a small device will equally miss the context created by the preceding content." }, "capture": { "url": "$MDN_URL$/web/html/reference/elements/input#capture", @@ -5926,7 +5934,7 @@ "baseline": { "level": "NONE" }, - "doc": "The capture attribute specifies that, optionally, a new file should be captured, and which device should be used to capture that new media of a type defined by the accept attribute.\n

Values include user and environment. The capture attribute is supported on the file input type.\n

The capture attribute takes as its value a string that specifies which camera to use for capture of image or video data, if the accept attribute indicates that the input should be of one of those types.\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ValueDescription
userThe user-facing camera and/or microphone should be used.
environmentThe outward-facing camera and/or microphone should be used
\n
\n

Note:\nCapture was previously a Boolean attribute which, if present, requested that the device's media capture device(s) such as camera or microphone be used instead of requesting a file input.\n

" + "doc": "Introduced in the HTML Media Capture specification and valid for the file input type only, the capture attribute defines which media—microphone, video, or camera—should be used to capture a new file for upload with file upload control in supporting scenarios. See the file input type." }, "checked": { "url": "$MDN_URL$/web/html/reference/elements/input#checked", @@ -5947,7 +5955,8 @@ "level": "HIGH", "lowDate": "2015-07-29", "highDate": "2018-01-29" - } + }, + "doc": "Valid for both radio and checkbox types, checked is a Boolean attribute. If present on a radio type, it indicates that the radio button is the currently selected one in the group of same-named radio buttons. If present on a checkbox type, it indicates that the checkbox is checked by default (when the page loads). It does not indicate whether this checkbox is currently checked: if the checkbox's state is changed, this content attribute does not reflect the change. (Only the HTMLInputElement's checked IDL attribute is updated.)\n
\n

Note:\nUnlike other input controls, a checkboxes and radio buttons value are only included in the submitted data if they are currently checked. If they are, the name and the value(s) of the checked controls are submitted.\n

For example, if a checkbox whose name is fruit has a value of cherry, and the checkbox is checked, the form data submitted will include fruit=cherry. If the checkbox isn't active, it isn't listed in the form data at all. The default value for checkboxes and radio buttons is on.\n

" }, "colorspace": { "url": "$MDN_URL$/web/html/reference/elements/input#colorspace", @@ -5961,7 +5970,8 @@ }, "baseline": { "level": "NONE" - } + }, + "doc": "Valid for the color input type only, the colorspace attribute specifies the color space that is used by the type=\"color\" input. Possible enumerated values are:\n" }, "dirname": { "url": "$MDN_URL$/web/html/reference/elements/input#dirname", @@ -5982,7 +5992,7 @@ "level": "LOW", "lowDate": "2023-08-01" }, - "doc": "The dirname attribute can be used on the <textarea> element and several <input> types and describes the directionality of the element's text content during form submission.\nThe browser uses this attribute's value to determine whether text the user has entered is left-to-right or right-to-left oriented.\nWhen used, the element's text directionality value is included in form submission data along with the dirname attribute's value as the name of the field." + "doc": "Valid for hidden, text, search, url, tel, and email input types, the dirname attribute enables the submission of the directionality of the element. When included, the form control will submit with two name/value pairs: the first being the name and value, and the second being the value of the dirname attribute as the name, with a value of ltr or rtl as set by the browser.\n
\n```html\n\n  \n  \n\n\n```\n
\n

When the form above is submitted, the input cause both the name / value pair of fruit=cherry and the dirname / direction pair of fruit-dir=ltr to be sent.\nFor more information, see the dirname attribute." }, "disabled": { "url": "$MDN_URL$/web/html/reference/elements/input#disabled", @@ -6004,7 +6014,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The Boolean disabled attribute, when present, makes the element not mutable, focusable, or even submitted with the form. The user can neither edit nor focus on the control, nor its form control descendants." + "doc": "A Boolean attribute which, if present, indicates that the user should not be able to interact with the input. Disabled inputs are typically rendered with a dimmer color or using some other form of indication that the field is not available for use.\n

Specifically, disabled inputs do not receive the click event, and disabled inputs are not submitted with the form.\n

\n

Note:\nAlthough not required by the specification, Firefox will by default persist the dynamic disabled state of an <input> across page loads. Use the autocomplete attribute to control this feature.\n

" }, "form": { "url": "$MDN_URL$/web/html/reference/elements/input#form", @@ -6026,7 +6036,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The form HTML attribute associates a form-associated element with a <form> element within the same document. This attribute applies to the <button>, <fieldset>, <input>, <object>, <output>, <select>, and <textarea> elements." + "doc": "A string specifying the <form> element with which the input is associated (that is, its form owner). This string's value, if present, must match the id of a <form> element in the same document. If this attribute isn't specified, the <input> element is associated with the nearest containing form, if any.\n

The form attribute lets you place an input anywhere in the document but have it included with a form elsewhere in the document.\n

\n

Note:\nAn input can only be associated with one form.\n

" }, "formaction": { "url": "$MDN_URL$/web/html/reference/elements/input#formaction", @@ -6047,7 +6057,8 @@ "level": "HIGH", "lowDate": "2015-07-29", "highDate": "2018-01-29" - } + }, + "doc": "Valid for the image and submit input types only. See the submit input type for more information." }, "formenctype": { "url": "$MDN_URL$/web/html/reference/elements/input#formenctype", @@ -6068,7 +6079,8 @@ "level": "HIGH", "lowDate": "2015-07-29", "highDate": "2018-01-29" - } + }, + "doc": "Valid for the image and submit input types only. See the submit input type for more information." }, "formmethod": { "url": "$MDN_URL$/web/html/reference/elements/input#formmethod", @@ -6089,7 +6101,8 @@ "level": "HIGH", "lowDate": "2015-07-29", "highDate": "2018-01-29" - } + }, + "doc": "Valid for the image and submit input types only. See the submit input type for more information." }, "formnovalidate": { "url": "$MDN_URL$/web/html/reference/elements/input#formnovalidate", @@ -6110,7 +6123,8 @@ "level": "HIGH", "lowDate": "2015-07-29", "highDate": "2018-01-29" - } + }, + "doc": "Valid for the image and submit input types only. See the submit input type for more information." }, "formtarget": { "url": "$MDN_URL$/web/html/reference/elements/input#formtarget", @@ -6131,12 +6145,25 @@ "level": "HIGH", "lowDate": "2015-07-29", "highDate": "2018-01-29" - } + }, + "doc": "Valid for the image and submit input types only. See the submit input type for more information." + }, + "height": { + "url": "$MDN_URL$/web/html/reference/elements/input#height", + "doc": "Valid for the image input button only, the height is the height of the image file to display to represent the graphical submit button. See the image input type." + }, + "id": { + "url": "$MDN_URL$/web/html/reference/elements/input#id", + "doc": "Global attribute valid for all elements, including all the input types, it defines a unique identifier (ID) which must be unique in the whole document. Its purpose is to identify the element when linking. The value is used as the value of the <label>'s for attribute to link the label with the form control. See <label>." }, "incremental": { "url": "$MDN_URL$/web/html/reference/elements/input#incremental", "doc": "Whether or not to send repeated\nsearch\nevents to allow updating live search results while the user is still editing the value of the field.\nWebKit and Blink only (Safari, Chrome, Opera, etc.).

The Boolean attribute incremental is a WebKit and Blink extension (so supported by Safari, Opera, Chrome, etc.) which, if present, tells the user agent to process the input as a live search. As the user edits the value of the field, the user agent sends search events to the HTMLInputElement object representing the search box. This allows your code to update the search results in real time as the user edits the search.\n

If incremental is not specified, the search event is only sent when the user explicitly initiates a search (such as by pressing the Enter or Return key while editing the field).\n

The search event is rate-limited so that it is not sent more frequently than an implementation-defined interval." }, + "inputmode": { + "url": "$MDN_URL$/web/html/reference/elements/input#inputmode", + "doc": "Global value valid for all elements, it provides a hint to browsers as to the type of virtual keyboard configuration to use when editing this element or its contents. Values include none, text, tel, url, email, numeric, decimal, and search." + }, "list": { "url": "$MDN_URL$/web/html/reference/elements/input#list", "status": [ @@ -6156,7 +6183,8 @@ "level": "HIGH", "lowDate": "2019-03-25", "highDate": "2021-09-25" - } + }, + "doc": "The value given to the list attribute should be the id of a <datalist> element located in the same document. The <datalist> provides a list of predefined values to suggest to the user for this input. Any values in the list that are not compatible with the type are not included in the suggested options. The values provided are suggestions, not requirements: users can select from this predefined list or provide a different value.\n

It is valid on text, search, url, tel, email, date, month, week, time, datetime-local, number, range, and color.\n

Per the specifications, the list attribute is not supported by the hidden, password, checkbox, radio, file, or any of the button types.\n

Depending on the browser, the user may see a custom color palette suggested, tic marks along a range, or even an input that opens like a <select> but allows for non-listed values. Check out the browser compatibility table for the other input types.\n

See the <datalist> element." }, "max": { "url": "$MDN_URL$/web/html/reference/elements/input#max", @@ -6178,7 +6206,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The max attribute defines the maximum value that is acceptable and valid for the input containing the attribute. If the value of the element is greater than this, the element fails validation. This value must be greater than or equal to the value of the min attribute. If the max attribute is present but is not specified or is invalid, no max value is applied. If the max attribute is valid and a non-empty value is greater than the maximum allowed by the max attribute, constraint validation will prevent form submission.\n

The max attribute is valid for the numeric input types, including the date, month, week, time, datetime-local, number and range types, and both the <progress> and <meter> elements. It is a number that specifies the most positive value a form control to be considered valid.\n

If the value exceeds the max value allowed, the validityState.rangeOverflow will be true, and the control will be matched by the :out-of-range and :invalid pseudo-classes." + "doc": "Valid for date, month, week, time, datetime-local, number, and range, it defines the greatest value in the range of permitted values. If the value entered into the element exceeds this, the element fails constraint validation. If the value of the max attribute isn't a number, then the element has no maximum value.\n

There is a special case: if the data type is periodic (such as for dates or times), the value of max may be lower than the value of min, which indicates that the range may wrap around; for example, this allows you to specify a time range from 10 PM to 4 AM." }, "maxlength": { "url": "$MDN_URL$/web/html/reference/elements/input#maxlength", @@ -6200,7 +6228,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The maxlength attribute defines the maximum string length that the user can enter into an <input> or <textarea>. The attribute must have an integer value of 0 or higher.\n

The length is measured in UTF-16 code units, which is often but not always equal to the number of characters. If no maxlength is specified, or an invalid value is specified, the input has no maximum length.\n

Any maxlength value must be greater than or equal to the value of minlength, if present and valid. The input will fail constraint validation if the length of the text value of the field is greater than maxlength UTF-16 code units long. Constraint validation is only applied when the value is changed by the user." + "doc": "Valid for text, search, url, tel, email, and password, it defines the maximum string length (measured in UTF-16 code units) that the user can enter into the field. This must be an integer value of 0 or higher. If no maxlength is specified, or an invalid value is specified, the field has no maximum length. This value must also be greater than or equal to the value of minlength.\n

The input will fail constraint validation if the length of the text entered into the field is greater than maxlength UTF-16 code units long. By default, browsers prevent users from entering more characters than allowed by the maxlength attribute. Constraint validation is only applied when the value is changed by the user. See Client-side validation for more information." }, "min": { "url": "$MDN_URL$/web/html/reference/elements/input#min", @@ -6222,7 +6250,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The min attribute defines the minimum value that is acceptable and valid for the input containing the attribute. If the value of the element is less than this, the element fails validation. This value must be less than or equal to the value of the max attribute.\n

Some input types have a default minimum. If the input has no default minimum and a value is specified for min that can't be converted to a valid number (or no minimum value is set), the input has no minimum value.\n

It is valid for the input types including: date, month, week, time, datetime-local, number and range types, and the <meter> element." + "doc": "Valid for date, month, week, time, datetime-local, number, and range, it defines the most negative value in the range of permitted values. If the value entered into the element is less than this, the element fails constraint validation. If the value of the min attribute isn't a number, then the element has no minimum value.\n

This value must be less than or equal to the value of the max attribute. If the min attribute is present but is not specified or is invalid, no min value is applied. If the min attribute is valid and a non-empty value is less than the minimum allowed by the min attribute, constraint validation will prevent form submission. See Client-side validation for more information.\n

There is a special case: if the data type is periodic (such as for dates or times), the value of max may be lower than the value of min, which indicates that the range may wrap around; for example, this allows you to specify a time range from 10 PM to 4 AM." }, "minlength": { "url": "$MDN_URL$/web/html/reference/elements/input#minlength", @@ -6244,7 +6272,7 @@ "lowDate": "2018-04-30", "highDate": "2020-10-30" }, - "doc": "The minlength attribute defines the minimum string length that the user can enter into an <input> or <textarea>. The attribute must have an integer value of 0 or higher.\n

The length is measured in UTF-16 code units, which is often but not always equal to the number of characters. If no minlength is specified, or an invalid value is specified, the input has no minimum length. This value must be less than or equal to the value of maxlength, otherwise the value will never be valid, as it is impossible to meet both criteria.\n

The input will fail constraint validation if the length of the text value of the field is less than minlength UTF-16 code units long, with validityState.tooShort returning true. Constraint validation is only applied when the value is changed by the user. Once submission fails, some browsers will display an error message indicating the minimum length required and the current length.\n

minlength does not imply required; an input only violates a minlength constraint if the user has input a value. If an input is not required, an empty string can be submitted even if minlength is set." + "doc": "Valid for text, search, url, tel, email, and password, it defines the minimum string length (measured in UTF-16 code units) that the user can enter into the entry field. This must be a non-negative integer value smaller than or equal to the value specified by maxlength. If no minlength is specified, or an invalid value is specified, the input has no minimum length.\n

The input will fail constraint validation if the length of the text entered into the field is fewer than minlength UTF-16 code units long, preventing form submission. Constraint validation is only applied when the value is changed by the user. See Client-side validation for more information." }, "mozactionhint": { "url": "$MDN_URL$/web/html/reference/elements/input#mozactionhint", @@ -6277,7 +6305,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The Boolean multiple attribute, if set, means the form control accepts one or more values. The attribute is valid for the email and file input types and the <select>. The manner by which the user opts for multiple values depends on the form control." + "doc": "The Boolean multiple attribute, if set, means the user can enter comma separated email addresses in the email widget or can choose more than one file with the file input. See the email and file input type." }, "name": { "url": "$MDN_URL$/web/html/reference/elements/input#name", @@ -6298,7 +6326,8 @@ "level": "HIGH", "lowDate": "2015-07-29", "highDate": "2018-01-29" - } + }, + "doc": "A string specifying a name for the input control. This name is submitted along with the control's value when the form data is submitted.\n

Consider the name a required attribute (even though it's not). If an input has no name specified, or name is empty, the input's value is not submitted with the form! (Disabled controls, unchecked radio buttons, unchecked checkboxes, and reset buttons are also not sent.)\n

There are two special cases:\n

    \n
  1. _charset_ : If used as the name of an <input> element of type hidden, the input's value is automatically set by the user agent to the character encoding being used to submit the form.
  2. \n
  3. isindex: For historical reasons, the name isindex is not allowed.
  4. \n
\n

The name attribute creates a unique behavior for radio buttons.\n

Only one radio button in a same-named group of radio buttons can be checked at a time. Selecting any radio button in that group automatically deselects any currently-selected radio button in the same group. The value of that one checked radio button is sent along with the name if the form is submitted,\n

When tabbing into a series of same-named group of radio buttons, if one is checked, that one will receive focus. If they aren't grouped together in source order, if one of the group is checked, tabbing into the group starts when the first one in the group is encountered, skipping all those that aren't checked. In other words, if one is checked, tabbing skips the unchecked radio buttons in the group. If none are checked, the radio button group receives focus when the first button in the same name group is reached.\n

Once one of the radio buttons in a group has focus, using the arrow keys will navigate through all the radio buttons of the same name, even if the radio buttons are not grouped together in the source order.\n

When an input element is given a name, that name becomes a property of the owning form element's HTMLFormElement.elements property. If you have an input whose name is set to guest and another whose name is hat-size, the following code can be used:\n

\n```js\nlet form = document.querySelector(\"form\");\nlet guestName = form.elements.guest;\nlet hatSize = form.elements[\"hat-size\"];\n```\n
\n

When this code has run, guestName will be the HTMLInputElement for the guest field, and hatSize the object for the hat-size field.\n

\n

Warning:\nAvoid giving form elements a name that corresponds to a built-in property of the form, since you would then override the predefined property or method with this reference to the corresponding input.\n

" }, "orient": { "url": "$MDN_URL$/web/html/reference/elements/input#orient", @@ -6324,7 +6353,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The pattern attribute specifies a regular expression the form control's value should match. If a non-null value doesn't conform to the constraints set by the pattern value, the ValidityState object's read-only patternMismatch property will be true." + "doc": "Valid for text, search, url, tel, email, and password, the pattern attribute is used to compile a regular expression that the input's value must match in order for the value to pass constraint validation. It must be a valid JavaScript regular expression, as used by the RegExp type, and as documented in our guide on regular expressions. No forward slashes should be specified around the pattern text. When compiling the regular expression:\n
    \n
  1. the pattern will be implicitly wrapped with ^(?: and )$, such that the match is required against the entire input value, i.e., ^(?:<pattern>)$.
  2. \n
  3. the 'v' flag is specified so that the pattern is treated as a sequence of Unicode code points, instead of as ASCII.
  4. \n
\n

If the pattern attribute is present but is not specified or is invalid, no regular expression is applied and this attribute is ignored completely. If the pattern attribute is valid and a non-empty value does not match the pattern, constraint validation will prevent form submission. If the multiple is present, the compiled regular expression is matched against each comma separated value.\n

\n

Note:\nIf using the pattern attribute, inform the user about the expected format by including explanatory text nearby. You can also include a title attribute to explain what the requirements are to match the pattern; most browsers will display this title as a tooltip. The visible explanation is required for accessibility. The tooltip is an enhancement.\n

\n

See Client-side validation for more information." }, "placeholder": { "url": "$MDN_URL$/web/html/reference/elements/input#placeholder", @@ -6346,7 +6375,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The placeholder attribute defines the text displayed in a form control when the control has no value. The placeholder text should provide a brief hint to the user as to the expected type of data that should be entered into the control.\n

Effective placeholder text includes a word or short phrase that hints at the expected data type, not an explanation or prompt. The placeholder must not be used instead of a <label>. As the placeholder is not visible if the value of the form control is not null, using placeholder instead of a <label> for a prompt harms usability and accessibility.\n

The placeholder attribute is supported by the following input types: text, search, url, tel, email, and password. It is also supported by the <textarea> element. The example below shows the placeholder attribute in use to explain the expected format of an input field.\n

\n

Note:\nExcept in <textarea> elements, the placeholder attribute can't include any line feeds (LF) or carriage returns (CR). If either is included in the value, the placeholder text will be clipped.\n

" + "doc": "Valid for text, search, url, tel, email, password, and number, the placeholder attribute provides a brief hint to the user as to what kind of information is expected in the field. It should be a word or short phrase that provides a hint as to the expected type of data, rather than an explanation or prompt. The text must not include carriage returns or line feeds. So for example if a field is expected to capture a user's first name, and its label is \"First Name\", a suitable placeholder might be \"e.g., Mustafa\".\n
\n

Note:\nThe placeholder attribute is not as semantically useful as other ways to explain your form, and can cause unexpected technical issues with your content. See Labels for more information.\n

" }, "popovertarget": { "url": "$MDN_URL$/web/html/reference/elements/input#popovertarget", @@ -6366,7 +6395,8 @@ "baseline": { "level": "LOW", "lowDate": "2024-04-16" - } + }, + "doc": "Turns an <input type=\"button\"> element into a popover control button; takes the ID of the popover element to control as its value. See the Popover API landing page for more details. Establishing a relationship between a popover and its invoker button using the popovertarget attribute has two additional useful effects:\n" }, "popovertargetaction": { "url": "$MDN_URL$/web/html/reference/elements/input#popovertargetaction", @@ -6386,7 +6416,8 @@ "baseline": { "level": "LOW", "lowDate": "2024-04-16" - } + }, + "doc": "Specifies the action to be performed on a popover element being controlled by a control <input type=\"button\">. Possible values are:\n
\n
\"hide\"
\n
\n

The button will hide a shown popover. If you try to hide an already hidden popover, no action will be taken.\n

\n
\"show\"
\n
\n

The button will show a hidden popover. If you try to show an already showing popover, no action will be taken.\n

\n
\"toggle\"
\n
\n

The button will toggle a popover between showing and hidden. If the popover is hidden, it will be shown; if the popover is showing, it will be hidden. If popovertargetaction is omitted, \"toggle\" is the default action that will be performed by the control button.\n

\n
" }, "readonly": { "url": "$MDN_URL$/web/html/reference/elements/input#readonly", @@ -6408,7 +6439,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The Boolean readonly attribute, when present, makes the element not mutable, meaning the user can not edit the control." + "doc": "A Boolean attribute which, if present, indicates that the user should not be able to edit the value of the input. The readonly attribute is supported by the text, search, url, tel, email, date, month, week, time, datetime-local, number, and password input types.\n

See the HTML attribute: readonly for more information." }, "required": { "url": "$MDN_URL$/web/html/reference/elements/input#required", @@ -6430,7 +6461,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The Boolean required attribute, if present, indicates that the user must specify a value for the input before the owning form can be submitted.\n

The required attribute is supported by text, search, url, tel, email, password, date, month, week, time, datetime-local, number, checkbox, radio, file, <input> types along with the <select> and <textarea> form control elements. If present on any of these input types and elements, the :required pseudo class will match. If the attribute is not included, the :optional pseudo class will match.\n

The attribute is not supported on, or relevant to, range and color input types, as both have default values. Type color defaults to #000000. Type range defaults to the midpoint between min and max — with min and max defaulting to 0 and 100 respectively in most browsers if not declared. required is also not supported on the hidden input type — users cannot be expected to fill out a hidden form field. Finally, required is not supported on any button input types, including image.\n

In the case of a same named group of radio buttons, if a single radio button in the group has the required attribute, a radio button in that group must be checked, although it doesn't have to be the one on which the attribute is applied. To improve code maintenance, it is recommended to either include the required attribute in every same-named radio button in the group, or else in none.\n

In the case of a same named group of checkbox input types, only the checkboxes with the required attribute are required.\n

\n

Note:\nSetting aria-required=\"true\" tells a screen reader that an element (any element) is required, but has no bearing on the optionality of the element.\n

" + "doc": "required is a Boolean attribute which, if present, indicates that the user must specify a value for the input before the owning form can be submitted. The required attribute is supported by text, search, url, tel, email, date, month, week, time, datetime-local, number, password, checkbox, radio, and file inputs.\n

See Client-side validation and the HTML attribute: required for more information." }, "results": { "url": "$MDN_URL$/web/html/reference/elements/input#results", @@ -6456,7 +6487,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The size attribute defines the width of the <input> and the height of the <select> element. For an input element, it defines the number of characters that the user agent allows the user to see when editing the value. For a select element, it defines the number of options that should be shown to the user. This must be a valid non-negative integer greater than zero.\n

If no size is specified, or an invalid value is specified, the input has no size declared, and the form control will be the default width based on the user agent. If CSS targets the element with properties impacting the width, CSS takes precedence.\n

The size attribute has no impact on constraint validation." + "doc": "Valid for email, password, tel, url, and text, the size attribute specifies how much of the input is shown. Basically creates same result as setting CSS width property with a few specialties. The actual unit of the value depends on the input type. For password and text, it is a number of characters (or em units) with a default value of 20, and for others, it is pixels (or px units). CSS width takes precedence over the size attribute." }, "src": { "url": "$MDN_URL$/web/html/reference/elements/input#src", @@ -6477,7 +6508,8 @@ "level": "HIGH", "lowDate": "2015-07-29", "highDate": "2018-01-29" - } + }, + "doc": "Valid for the image input button only, the src is string specifying the URL of the image file to display to represent the graphical submit button. See the image input type." }, "step": { "url": "$MDN_URL$/web/html/reference/elements/input#step", @@ -6499,7 +6531,19 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The step attribute is a number that specifies the granularity that the value must adhere to or the keyword any. It is valid for the numeric input types, including the date, month, week, time, datetime-local, number and range types.\n

The step sets the stepping interval when clicking up and down spinner buttons, moving a slider left and right on a range, and validating the different date types. If not explicitly included, step defaults to 1 for number and range, and 1 unit type (minute, week, month, day) for the date/time input types. The value must be a positive number - integer or float — or the special value any, which means no stepping is implied and any value is allowed (barring other constraints, such as min and max).\n

Only values which are a whole number of steps from the step base are valid. The step base is min if specified, value otherwise, or 0 if neither is provided (except for week, which has a default step base of −259,200,000, representing the start of week 1970-W01)." + "doc": "Valid for date, month, week, time, datetime-local, number, and range, the step attribute is a number that specifies the granularity that the value must adhere to. Only values which are a whole number of steps from the step base are valid. The step base is min if specified, value otherwise, or 0 if neither is provided (except for week, which has a default step base of −259,200,000, representing the start of week 1970-W01).\n

If not explicitly included:\n

\n

The value must be a positive number—integer or float—or the special value any, which means no stepping is implied, and any value is allowed (barring other constraints, such as min and max).\n

For example, if you have <input type=\"number\" min=\"10\" step=\"2\">, then any even integer, 10 or greater, is valid. If omitted, <input type=\"number\">, any integer is valid, but floats (like 4.2) are not valid, because step defaults to 1. For 4.2 to be valid, step would have had to be set to any, 0.1, 0.2, or the min value would have had to be a number ending in .2, such as <input type=\"number\" min=\"-5.2\">.\n

\n

Note:\nWhen the data entered by the user doesn't adhere to the stepping configuration, the value is considered invalid in constraint validation and will match the :invalid pseudoclass.\n

\n

See Client-side validation for more information." + }, + "tabindex": { + "url": "$MDN_URL$/web/html/reference/elements/input#tabindex", + "doc": "Global attribute valid for all elements, including all the input types, an integer attribute indicating if the element can take input focus (is focusable), if it should participate to sequential keyboard navigation. As all input types except for input of type hidden are focusable, this attribute should not be used on form controls, because doing so would require the management of the focus order for all elements within the document with the risk of harming usability and accessibility if done incorrectly." + }, + "title": { + "url": "$MDN_URL$/web/html/reference/elements/input#title", + "doc": "Global attribute valid for all elements, including all input types, containing a text representing advisory information related to the element it belongs to. Such information can typically, but not necessarily, be presented to the user as a tooltip. The title should NOT be used as the primary explanation of the purpose of the form control. Instead, use the <label> element with a for attribute set to the form control's id attribute. See Labels below." + }, + "type": { + "url": "$MDN_URL$/web/html/reference/elements/input#type", + "doc": "A string specifying the type of control to render. For example, to create a checkbox, a value of checkbox is used. If omitted (or an unknown value is specified), the input type text is used, creating a plaintext input field.\n

Permitted values are listed in Input types above." }, "usemap": { "url": "$MDN_URL$/web/html/reference/elements/input#usemap", @@ -6521,6 +6565,10 @@ "level": "NONE" } }, + "value": { + "url": "$MDN_URL$/web/html/reference/elements/input#value", + "doc": "The input control's value. When specified in the HTML, this is the initial value, and from then on it can be altered or retrieved at any time using JavaScript to access the respective HTMLInputElement object's value property. The value attribute is always optional, though should be considered mandatory for checkbox, radio, and hidden." + }, "webkitdirectory": { "url": "$MDN_URL$/web/html/reference/elements/input#webkitdirectory", "compatibility": { @@ -6537,6 +6585,10 @@ "level": "NONE" }, "doc": "A Boolean indicating whether to only allow the user to choose a directory (or directories, if\nmultiple\nis also present)

The Boolean webkitdirectory attribute, if present, indicates that only directories should be available to be selected by the user in the file picker interface. See HTMLInputElement.webkitdirectory for additional details and examples.\n

Though originally implemented only for WebKit-based browsers, webkitdirectory is also usable in Microsoft Edge as well as Firefox 50 and later. However, even though it has relatively broad support, it is still not standard and should not be used unless you have no alternative." + }, + "width": { + "url": "$MDN_URL$/web/html/reference/elements/input#width", + "doc": "Valid for the image input button only, the width is the width of the image file to display to represent the graphical submit button. See the image input type." } } }, diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/MathML.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/MathML.json index f2cd10ec13d0..bfd118757971 100644 --- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/MathML.json +++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/MathML.json @@ -9,6 +9,10 @@ }, "lang": "en-us", "attrs": { + "data-_star_": { + "url": "$MDN_URL$/web/mathml/reference/global_attributes/data-_star_", + "doc": "The data-* MathML attributes are called custom data attributes. They let MathML markup and its resulting DOM share information that standard attributes can't, usually for scripting purposes. Their custom data are available via the MathMLElement interface of the element the attributes belong to, with the MathMLElement.dataset property.\n

The * can be replaced by any characters allowed in XML's rules for names, with the following restrictions:\n

\n
\n

Note:\nThe MathMLElement.dataset property is a DOMStringMap that provides the attribute data-test-value via MathMLElement.dataset.testValue. Hyphen characters (-, U+002D) are removed and the next letter is capitalized, resulting in the camel case format.\n

\n

You can use this attribute with any MathML element." + }, "dir": { "url": "$MDN_URL$/web/mathml/reference/global_attributes/dir", "status": [ diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/Svg.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/Svg.json index fc3191e1b726..13487eef2143 100644 --- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/Svg.json +++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/Svg.json @@ -27,6 +27,28 @@ }, "doc": "The alignment-baseline attribute specifies how an object is aligned with respect to its parent. This property specifies which baseline of this element is to be aligned with the corresponding baseline of the parent. For example, this allows alphabetic baselines in Roman text to stay aligned across font size changes. It defaults to the baseline with the same name as the computed value of the alignment-baseline property.\n

\n

Note:\nAs a presentation attribute, alignment-baseline also has a CSS property counterpart: alignment-baseline. When both are specified, the CSS property takes priority.\n

\n

You can use this attribute with the following SVG elements:\n

" }, + "autofocus": { + "url": "$MDN_URL$/web/svg/reference/attribute/autofocus", + "status": [ + "StandardTrack" + ], + "compatibility": { + "Chrome": "79", + "ChromeAndroid": "79", + "Edge": "79", + "Firefox": "110", + "FirefoxAndroid": "110", + "Opera": "66", + "Safari": "15.4", + "SafariIOS": "15.4" + }, + "baseline": { + "level": "HIGH", + "lowDate": "2023-02-14", + "highDate": "2025-08-14" + }, + "doc": "The autofocus global SVG attribute defines a focusable element to be focused after it's connected to a document. The attribute has no effect if the element is not already focusable.\n

The autofocus attribute has an HTML counterpart: autofocus. No more than one element in the document may have the autofocus attribute. If applied to multiple elements, the first one will receive focus." + }, "baseline-shift": { "url": "$MDN_URL$/web/svg/reference/attribute/baseline-shift", "status": [ @@ -852,6 +874,28 @@ }, "doc": "The pointer-events attribute is a presentation attribute that allows defining whether or when an element may be the target of a mouse event.\n

\n

Note:\nAs a presentation attribute, pointer-events also has a CSS property counterpart: pointer-events. When both are specified, the CSS property takes priority.\n

\n

You can use this attribute with the following SVG elements:\n

" }, + "requiredextensions": { + "url": "$MDN_URL$/web/svg/reference/attribute/requiredextensions", + "status": [ + "StandardTrack" + ], + "compatibility": { + "Chrome": "81", + "ChromeAndroid": "81", + "Edge": "81", + "Firefox": "2", + "FirefoxAndroid": "4", + "Opera": "68", + "Safari": "8", + "SafariIOS": "8" + }, + "baseline": { + "level": "HIGH", + "lowDate": "2020-04-13", + "highDate": "2022-10-13" + }, + "doc": "The requiredExtensions SVG conditional processing attribute is a list of space-separated URL values each referencing a language extension. Language extensions are extended capabilities that go beyond those defined by standard browser specifications.\n

The value is a space-separated list of URL references identifying the required extensions. If all of the named extensions in the list are supported by the user agent, the element is rendered as usual. If attribute is present but the value is an empty string, or if any of the extensions are not supported by the browser, the browser will skip the element, along with all its descendants, not rendering it.\n

You can use this attribute with the following SVG elements:\n

" + }, "requiredfeatures": { "url": "$MDN_URL$/web/svg/reference/attribute/requiredfeatures", "doc": "

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

\n

The requiredFeatures attribute takes a list of feature strings, with the individual strings separated by white space. It determines whether or not all of the named features are supported by the browser; if all of them are supported, the attribute evaluates to true end the element is rendered; otherwise, the attribute evaluates to false and the current element and its children are skipped and thus will not be rendered. This provides a way to design SVG that gracefully falls back when features aren't available.\n

If the attribute is not present, then its implicit evaluated value is true. If a null string or empty string value is given to attribute requiredFeatures, the attribute is evaluate to false.\n

requiredFeatures is often used in conjunction with the <switch> element. If requiredFeatures is used in other situations, it represents a simple switch on the given element whether to render the element or not.\n

You can use this attribute with the following SVG elements:\n

" @@ -1190,6 +1234,28 @@ }, "doc": "The text-decoration attribute defines whether text is decorated with an underline, overline and/or strike-through. It is a shorthand for the text-decoration-line and text-decoration-style properties.\n

The fill and stroke of the text decoration are given by the fill and stroke of the text at the point where the text decoration is declared.\n

The paint order of the text decoration, i.e., the fill and stroke, is determined by the value of the paint-order attribute at the point where the text decoration is declared.\n

\n

Note:\nAs a presentation attribute, text-decoration also has a CSS property counterpart: text-decoration. When both are specified, the CSS property takes priority.\n

\n

You can use this attribute with the following SVG elements:\n

" }, + "text-overflow": { + "url": "$MDN_URL$/web/svg/reference/attribute/text-overflow", + "status": [ + "StandardTrack" + ], + "compatibility": { + "Chrome": "1", + "ChromeAndroid": "18", + "Edge": "12", + "Firefox": "7", + "FirefoxAndroid": "7", + "Opera": "11", + "Safari": "1.3", + "SafariIOS": "1" + }, + "baseline": { + "level": "HIGH", + "lowDate": "2015-07-29", + "highDate": "2018-01-29" + }, + "doc": "The SVG text-overflow attribute specifies how text content block elements render when text overflows line boxes. This can happen, for example, when the white-space attribute or CSS property has the value nowrap. The property does not apply to pre-formatted text or text situated on a path.\n

In SVG, text-overflow has an effect if there is a validly specified wrapping area, regardless of the computed value of the overflow property on the text content block element. The effect is purely visual: clipped text is not removed from the DOM, and any ellipsis, if presented, does not itself become part of the DOM. For all the DOM methods, it is as if text-overflow was not applied, and as if the wrapping area did not constrain the text.\n

\n

Note:\nAs a presentation attribute, text-overflow also has a CSS property counterpart: text-overflow. When both are specified, the CSS property takes priority.\n

" + }, "text-rendering": { "url": "$MDN_URL$/web/svg/reference/attribute/text-rendering", "status": [ @@ -1318,6 +1384,28 @@ }, "doc": "The visibility attribute lets you control the visibility of graphical elements. With a value of hidden or collapse the current graphics element is invisible.\n
\n

Note:\nIf the visibility attribute is set to hidden on a text element, then the text is invisible but still takes up space in text layout calculations.\n

\n

Depending on the value of attribute pointer-events, graphics elements which have their visibility attribute set to hidden still might receive events.\n

\n

Note:\nAs a presentation attribute, visibility also has a CSS property counterpart: visibility. When both are specified, the CSS property takes priority.\n

" }, + "white-space": { + "url": "$MDN_URL$/web/svg/reference/attribute/white-space", + "status": [ + "StandardTrack" + ], + "compatibility": { + "Chrome": "1", + "ChromeAndroid": "18", + "Edge": "12", + "Firefox": "1", + "FirefoxAndroid": "4", + "Opera": "4", + "Safari": "1", + "SafariIOS": "1" + }, + "baseline": { + "level": "HIGH", + "lowDate": "2015-07-29", + "highDate": "2018-01-29" + }, + "doc": "The white-space SVG attribute specifies how white space within text should be handled. This includes whether and how white space inside the element is collapsed and whether lines may wrap at unforced soft wrap opportunities.\n
\n

Note:\nAs a presentation attribute, white-space also has a CSS property counterpart: white-space. When both are specified, the CSS property takes priority.\n

" + }, "word-spacing": { "url": "$MDN_URL$/web/svg/reference/attribute/word-spacing", "status": [ @@ -8161,8 +8249,11 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The <switch> SVG element evaluates any requiredFeatures, requiredExtensions and systemLanguage attributes on its direct child elements in order, and then renders the first child where these attributes evaluate to true.\n

Other direct children will be bypassed and therefore not rendered. If a child element is a container element, like <g>, then its subtree is also processed/rendered or bypassed/not rendered.\n

\n

Note:\nThe display and visibility properties have no effect on <switch> element processing. In particular, setting display:none on a child has no effect on the true/false testing for <switch> processing.\n

", + "doc": "The <switch> SVG element evaluates any requiredFeatures, requiredExtensions and systemLanguage attributes on its direct child elements in order, and then renders the first child where these attributes evaluate to true.\n

Other direct children will be bypassed and therefore not rendered. If a child element is a container element, like <g>, then its subtree is also processed/rendered or bypassed/not rendered.\n

\n

Note:\nThe display and visibility properties have no effect on <switch> element processing. In particular, setting display:none on a child has no effect on the true/false testing for <switch> processing.\n

", "attrs": { + "requiredextensions": { + "url": "$MDN_URL$/web/svg/reference/element/switch#requiredextensions" + }, "systemlanguage": { "url": "$MDN_URL$/web/svg/reference/element/switch#systemlanguage", "status": [ diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-a.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-a.json index 4cc7dd171b22..c8040bab227e 100644 --- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-a.json +++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-a.json @@ -1095,7 +1095,8 @@ "Edge": "133", "Firefox": "142", "FirefoxAndroid": "142", - "Opera": "118" + "Opera": "118", + "Safari": "preview" }, "doc": "The overallProgress read-only property of the Animation interface returns a number between 0 and 1 indicating the animation's overall progress towards its finished state. This is the overall progress across all of the animation's iterations, not each individual iteration.\n

overallProgress works consistently across all animations, regardless of the type of timeline." }, @@ -9299,8 +9300,9 @@ "SafariIOS": "16.1" }, "baseline": { - "level": "LOW", - "lowDate": "2023-04-11" + "level": "HIGH", + "lowDate": "2023-04-11", + "highDate": "2025-10-11" }, "doc": "The CanvasRenderingContext2D.createConicGradient() method of the Canvas 2D API creates a gradient around a point with given coordinates.\n

This method returns a conic CanvasGradient. To be applied to a shape, the gradient must first be assigned to the fillStyle or strokeStyle properties.\n

\n

Note:\nGradient coordinates are global, i.e., relative to the current coordinate space. When applied to a shape, the coordinates are NOT relative to the shape's coordinates.\n

", "parameters": { @@ -10450,8 +10452,9 @@ "SafariIOS": "16" }, "baseline": { - "level": "LOW", - "lowDate": "2023-04-11" + "level": "HIGH", + "lowDate": "2023-04-11", + "highDate": "2025-10-11" }, "doc": "The CanvasRenderingContext2D.roundRect() method of the Canvas 2D API adds a rounded rectangle to the current path.\n

The radii of the corners can be specified in much the same way as the CSS border-radius property.\n

Like other methods that modify the current path, this method does not directly render anything.\nTo draw the rounded rectangle onto a canvas, you can use the fill() or stroke() methods.", "parameters": { @@ -16104,6 +16107,143 @@ }, "doc": "The read-only overrideColors property of the CSSFontPaletteValuesRule interface is a string containing a list of color index and color pair that are to be used instead. It is specified in the same format as the corresponding override-colors descriptor." }, + "cssfunctiondeclarations": { + "url": "$MDN_URL$/web/api/cssfunctiondeclarations", + "status": [ + "Experimental", + "StandardTrack" + ], + "compatibility": { + "Chrome": "139", + "ChromeAndroid": "139", + "Edge": "139", + "Opera": "123" + }, + "baseline": { + "level": "NONE" + }, + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The CSSFunctionDeclarations interface of the CSS Object Model represents a consecutive run of CSS declarations included within a @function body.\n

This can include CSS custom properties, and the value of the results descriptor inside the @function body, but it doesn't include blocks such as @media at-rules that may be included. Such a block, included in the middle of a set of declarations, would cause the body contents to be broken up into separate CSSFunctionDeclarations objects, as seen in our Multiple CSSFunctionDeclarations demo." + }, + "cssfunctiondeclarations.style": { + "url": "$MDN_URL$/web/api/cssfunctiondeclarations/style", + "status": [ + "Experimental", + "StandardTrack" + ], + "compatibility": { + "Chrome": "139", + "ChromeAndroid": "139", + "Edge": "139", + "Opera": "123" + }, + "baseline": { + "level": "NONE" + }, + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The style property of the CSSFunctionDeclarations interface returns a CSSFunctionDescriptors object representing the descriptors available in a @function body." + }, + "cssfunctiondescriptors": { + "url": "$MDN_URL$/web/api/cssfunctiondescriptors", + "status": [ + "Experimental", + "StandardTrack" + ], + "compatibility": { + "Chrome": "139", + "ChromeAndroid": "139", + "Edge": "139", + "Opera": "123" + }, + "baseline": { + "level": "NONE" + }, + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The CSSFunctionDescriptors interface of the CSS Object Model represents the descriptors contained within a set of CSS declarations represented by a CSSFunctionDeclarations object.\n

A CSSFunctionDescriptors object is accessed via the CSSFunctionDeclarations.style property." + }, + "cssfunctiondescriptors.result": { + "url": "$MDN_URL$/web/api/cssfunctiondescriptors/result", + "status": [ + "Experimental", + "StandardTrack" + ], + "compatibility": { + "Chrome": "139", + "ChromeAndroid": "139", + "Edge": "139", + "Opera": "123" + }, + "baseline": { + "level": "NONE" + }, + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The result property of the CSSFunctionDescriptors interface returns a string representing a result descriptor, if one exists in the associated set of declarations." + }, + "cssfunctionrule": { + "url": "$MDN_URL$/web/api/cssfunctionrule", + "status": [ + "Experimental", + "StandardTrack" + ], + "compatibility": { + "Chrome": "139", + "ChromeAndroid": "139", + "Edge": "139", + "Opera": "123" + }, + "baseline": { + "level": "NONE" + }, + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The CSSFunctionRule interface of the CSS Object Model represents CSS @function (custom function) at-rules." + }, + "cssfunctionrule.getparameters": { + "url": "$MDN_URL$/web/api/cssfunctionrule/getparameters", + "status": [ + "Experimental", + "StandardTrack" + ], + "compatibility": { + "Chrome": "139", + "ChromeAndroid": "139", + "Edge": "139", + "Opera": "123" + }, + "baseline": { + "level": "NONE" + }, + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The getParameters() method of the CSSFunctionRule interface returns an array of objects representing the custom function's parameters.", + "returns": "An array of objects containing the following properties:\n

\n
name
\n
\n

A string representing the name of the function parameter.\n

\n
type
\n
\n

A string representing the data type of the parameter, or * if no data type was specified.\n

\n
defaultValue
\n
\n

A string representing the default value of the parameter, or null if no default value was specified.\n

\n
\n

If no parameters were specified in the associated @function at-rule, an empty array is returned." + }, + "cssfunctionrule.name": { + "url": "$MDN_URL$/web/api/cssfunctionrule/name", + "status": [ + "Experimental", + "StandardTrack" + ], + "compatibility": { + "Chrome": "139", + "ChromeAndroid": "139", + "Edge": "139", + "Opera": "123" + }, + "baseline": { + "level": "NONE" + }, + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The name property of the CSSFunctionRule interface returns a string representing the custom function's name." + }, + "cssfunctionrule.returntype": { + "url": "$MDN_URL$/web/api/cssfunctionrule/returntype", + "status": [ + "Experimental", + "StandardTrack" + ], + "compatibility": { + "Chrome": "139", + "ChromeAndroid": "139", + "Edge": "139", + "Opera": "123" + }, + "baseline": { + "level": "NONE" + }, + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The returnType property of the CSSFunctionRule interface returns a string representing the custom function's return type." + }, "cssgroupingrule": { "url": "$MDN_URL$/web/api/cssgroupingrule", "status": [ @@ -18352,7 +18492,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The CSSRule interface represents a single CSS rule. There are several types of rules which inherit properties from CSSRule.\n

" + "doc": "The CSSRule interface represents a single CSS rule. There are several types of rules which inherit properties from CSSRule.\n" }, "cssrule.csstext": { "url": "$MDN_URL$/web/api/cssrule/csstext", @@ -18888,7 +19028,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The CSSStyleDeclaration interface represents an object that is a CSS declaration block, and exposes style information and various style-related methods and properties.\n

A CSSStyleDeclaration object can be exposed using three different APIs:\n

" + "doc": "The CSSStyleDeclaration interface is the base class for objects that represent CSS declaration blocks with different supported sets of CSS style information:\n\n

The interface exposes style information and various style-related methods and properties.\nFor example, it provides getPropertyValue() for getting the value of a dash-named CSS property, such as border-top, which can't be directly accessed using dot notation because of the hyphens in its name.\n

\n

Note:\nEarlier versions of the specification used CSSStyleDeclaration to represent all CSS declaration blocks, and some browsers and browser versions may still do so (check the browser compatibility tables for the above APIs).\nGenerally the same website code will be functional in both old and new versions, but some properties returned in a CSSStyleDeclaration may not be relevant in a particular context.\n

" }, "cssstyledeclaration.cssfloat": { "url": "$MDN_URL$/web/api/cssstyledeclaration/cssfloat", @@ -18897,15 +19037,10 @@ "Deprecated" ], "compatibility": { - "Chrome": "1", - "ChromeAndroid": "18", - "Edge": "12", - "Opera": "12.1", - "Safari": "1", - "SafariIOS": "1" - }, - "baseline": { - "level": "NONE" + "Chrome": "", + "ChromeAndroid": "", + "Edge": "", + "Opera": "12.1" }, "doc": "

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

\n

The cssFloat property of the CSSStyleDeclaration interface returns the result of invoking CSSStyleDeclaration.getPropertyValue() with float as an argument.\n

When setting, it invokes CSSStyleDeclaration.setProperty() with float as the first argument, and the given value as the second argument. The given value must be a valid value for the float property." }, @@ -19132,6 +19267,32 @@ "NoModificationAllowedError DOMException": "Thrown if the property or declaration block is read only." } }, + "cssstyleproperties": { + "url": "$MDN_URL$/web/api/cssstyleproperties", + "status": [ + "StandardTrack" + ], + "compatibility": { + "Firefox": "144", + "FirefoxAndroid": "144", + "Safari": "26", + "SafariIOS": "26" + }, + "doc": "The CSSStyleProperties interface of the CSS Object Model (CSSOM) represents inline or computed styles available on an element, or the styles associated with a CSS style rule." + }, + "cssstyleproperties.cssfloat": { + "url": "$MDN_URL$/web/api/cssstyleproperties/cssfloat", + "status": [ + "StandardTrack" + ], + "compatibility": { + "Firefox": "144", + "FirefoxAndroid": "144", + "Safari": "26", + "SafariIOS": "26" + }, + "doc": "The cssFloat property of the CSSStyleProperties interface returns the CSS float property.\n

This is the result of invoking getPropertyValue() on the object with float as an argument.\n

When setting, it invokes setProperty() with float as the first argument, and the given value as the second argument.\nThe given value must be a valid value for the float property." + }, "cssstylerule": { "url": "$MDN_URL$/web/api/cssstylerule", "status": [ @@ -19279,7 +19440,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The read-only style property is the CSSStyleDeclaration interface for the declaration block of the CSSStyleRule." + "doc": "The read-only style property is a CSSStyleProperties object that represents the inline styles of a style rule (CSSStyleRule).\n

Note that properties that are present on the object for all CSS properties supported by the browser.\nThe properties that are not defined inline in the corresponding CSS declaration are set to the empty string (\"\")." }, "cssstylerule.stylemap": { "url": "$MDN_URL$/web/api/cssstylerule/stylemap", @@ -22481,7 +22642,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The Document interface represents any web page loaded in the browser and serves as an entry point into the web page's content, which is the DOM tree.\n

The DOM tree includes elements such as <body> and <table>, among many others. It provides functionality globally to the document, like how to obtain the page's URL and create new elements in the document.\n

The Document interface describes the common properties and methods for any kind of document. Depending on the document's type (e.g., HTML, XML, SVG, …), a larger API is available: HTML documents, served with the \"text/html\" content type, also implement the HTMLDocument interface, whereas XML and SVG documents implement the XMLDocument interface." + "doc": "The Document interface represents any web page loaded in the browser and serves as an entry point into the web page's content, which is the DOM tree.\n

The DOM tree includes elements such as <body> and <table>, among many others. It provides functionality globally to the document, like how to obtain the page's URL and create new elements in the document.\n

The Document interface describes the common properties and methods for any kind of document. Depending on the document's type (e.g., HTML, XML, SVG, …), a larger API is available: HTML documents, served with the \"text/html\" content type, also implement the HTMLDocument interface, whereas XML and SVG documents implement the XMLDocument interface." }, "document.activeelement": { "url": "$MDN_URL$/web/api/document/activeelement", @@ -22503,7 +22664,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The activeElement read-only property of the Document interface returns the Element within the DOM that is receiving keyboard events such as keydown and keyup. This is usually analogous to the focused element.\n

Which elements are focusable varies depending on the platform and the browser's current configuration. For example, on Safari, following the behavior of macOS, elements that aren't text input elements are not focusable by default, unless the \"Full Keyboard Access\" setting is enabled in System Preferences.\n

Typically a user can press the Tab key to move the focus around the page among focusable elements, and use keyboard gestures such as Space or Enter to simulate clicks on the focused element.\n

\n

Note:\nFocus (which element is receiving user input events) is not the same thing as selection (the currently highlighted part of the document). You can get the current selection using window.getSelection().\n

" + "doc": "The activeElement read-only property of the Document interface returns the Element within the DOM that is receiving keyboard events such as keydown and keyup. This is usually analogous to the focused element.\n

Which elements are focusable varies depending on the platform and the browser's current configuration. For example, on Safari, following the behavior of macOS, elements that aren't text input elements are not focusable by default, unless the \"Full Keyboard Access\" setting is enabled in System Settings.\n

Typically a user can press the Tab key to move the focus around the page among focusable elements, and use keyboard gestures such as Space or Enter to simulate clicks on the focused element.\n

\n

Note:\nFocus (which element is receiving user input events) is not the same thing as selection (the currently highlighted part of the document). You can get the current selection using window.getSelection().\n

" }, "document.adoptedstylesheets": { "url": "$MDN_URL$/web/api/document/adoptedstylesheets", @@ -22663,6 +22824,9 @@ "Experimental" ], "compatibility": {}, + "baseline": { + "level": "NONE" + }, "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.

\n

The ariaNotify() method of the Document interface specifies that a given string of text should be announced by a screen reader if available and activated.", "parameters": { "announcement": "A string specifying the text to be announced.", @@ -23209,7 +23373,7 @@ "doc": "The Document.createNodeIterator() method returns a new NodeIterator object.", "parameters": { "root": "The root node at which to begin the NodeIterator's traversal.", - "whatToShow": "An optional unsigned long representing a bitmask created by\ncombining the constant properties of NodeFilter.\nIt is a convenient way of filtering for certain types of node. It defaults to\n0xFFFFFFFF representing the SHOW_ALL constant.\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ConstantNumerical valueDescription
NodeFilter.SHOW_ALL4294967295 (that is the max value of unsigned long)Shows all nodes.
NodeFilter.SHOW_ATTRIBUTE2Shows attribute Attr nodes. This is meaningful only when creating a TreeWalker with an Attr node as its root. In this case, it means that the attribute node will appear in the first position of the iteration or traversal. Since attributes are never children of other nodes, they do not appear when traversing over the document tree.
NodeFilter.SHOW_CDATA_SECTION8Shows CDATASection nodes.
NodeFilter.SHOW_COMMENT128Shows Comment nodes.
NodeFilter.SHOW_DOCUMENT256Shows Document nodes.
NodeFilter.SHOW_DOCUMENT_FRAGMENT1024Shows DocumentFragment nodes.
NodeFilter.SHOW_DOCUMENT_TYPE512Shows DocumentType nodes.
NodeFilter.SHOW_ELEMENT1Shows Element nodes.
NodeFilter.SHOW_ENTITY 32Legacy, no more usable.
NodeFilter.SHOW_ENTITY_REFERENCE 16Legacy, no more usable.
NodeFilter.SHOW_NOTATION 2048Legacy, no more usable.
NodeFilter.SHOW_PROCESSING_INSTRUCTION64Shows ProcessingInstruction nodes.
NodeFilter.SHOW_TEXT4Shows Text nodes.
", + "whatToShow": "An optional unsigned long representing a bitmask created by\ncombining the constant properties of NodeFilter.\nIt is a convenient way of filtering for certain types of node. It defaults to\n0xFFFFFFFF representing the SHOW_ALL constant.\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ConstantNumerical valueDescription
NodeFilter.SHOW_ALL0xFFFFFFFFShows all nodes.
NodeFilter.SHOW_ATTRIBUTE0x2Shows Attr nodes.
NodeFilter.SHOW_CDATA_SECTION0x8Shows CDATASection nodes.
NodeFilter.SHOW_COMMENT0x80Shows Comment nodes.
NodeFilter.SHOW_DOCUMENT0x100Shows Document nodes.
NodeFilter.SHOW_DOCUMENT_FRAGMENT0x400Shows DocumentFragment nodes.
NodeFilter.SHOW_DOCUMENT_TYPE0x200Shows DocumentType nodes.
NodeFilter.SHOW_ELEMENT0x1Shows Element nodes.
NodeFilter.SHOW_ENTITY 0x20Legacy, no longer effective.
NodeFilter.SHOW_ENTITY_REFERENCE 0x10Legacy, no longer effective.
NodeFilter.SHOW_NOTATION 0x800Legacy, no longer effective.
NodeFilter.SHOW_PROCESSING_INSTRUCTION0x40Shows ProcessingInstruction nodes.
NodeFilter.SHOW_TEXT0x4Shows Text nodes.
\n
\n

Note:\nThe NodeFilter.SHOW_ATTRIBUTE constant is only effective when the root is an attribute node. Since the parent of any Attr node is always null, TreeWalker.nextNode() and TreeWalker.previousNode() will never return an Attr node. To traverse Attr nodes, use Element.attributes instead.\n

", "filter": "A callback function or an object with an acceptNode() method. The function or method will be called for each node in the subtree based at root which is accepted as included by the whatToShow flag to determine whether or not to include it in the list of iterable nodes. The method should return one of NodeFilter.FILTER_ACCEPT, NodeFilter.FILTER_REJECT, or NodeFilter.FILTER_SKIP. See the Example.\n

For createNodeIterator, the values NodeFilter.FILTER_REJECT and NodeFilter.FILTER_SKIP are equivalent. This node will not be included in the list of iterable nodes, but its children will continue to be iterated over." }, "returns": "A new NodeIterator object." @@ -23381,7 +23545,7 @@ "doc": "The Document.createTreeWalker() creator method returns a newly created TreeWalker object.", "parameters": { "root": "A Node representing the root of the TreeWalker object, which is the initial value of TreeWalker.currentNode.", - "whatToShow": "An unsigned long representing a bitmask created by combining the constant properties of NodeFilter. It is a convenient way of filtering for certain types of node. It defaults to 0xFFFFFFFF, representing the NodeFilter.SHOW_ALL constant.\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ConstantNumerical valueDescription
NodeFilter.SHOW_ALL0xFFFFFFFFShows all nodes.
NodeFilter.SHOW_ATTRIBUTE0x2Shows Attr nodes.
NodeFilter.SHOW_CDATA_SECTION0x8Shows CDATASection nodes.
NodeFilter.SHOW_COMMENT0x80Shows Comment nodes.
NodeFilter.SHOW_DOCUMENT0x100Shows Document nodes.
NodeFilter.SHOW_DOCUMENT_FRAGMENT0x400Shows DocumentFragment nodes.
NodeFilter.SHOW_DOCUMENT_TYPE0x200Shows DocumentType nodes.
NodeFilter.SHOW_ELEMENT0x1Shows Element nodes.
NodeFilter.SHOW_ENTITY 0x20Legacy, no longer effective.
NodeFilter.SHOW_ENTITY_REFERENCE 0x10Legacy, no longer effective.
NodeFilter.SHOW_NOTATION 0x800Legacy, no longer effective.
NodeFilter.SHOW_PROCESSING_INSTRUCTION0x40Shows ProcessingInstruction nodes.
NodeFilter.SHOW_TEXT0x4Shows Text nodes.
\n
\n

Note:\nSince the parent of any Attr node is always null, TreeWalker.nextNode() and TreeWalker.previousNode() will never return an Attr node. To traverse Attr nodes, use Element.attributes instead.\n

", + "whatToShow": "An unsigned long representing a bitmask created by combining the constant properties of NodeFilter. It is a convenient way of filtering for certain types of node. It defaults to 0xFFFFFFFF, representing the NodeFilter.SHOW_ALL constant.\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ConstantNumerical valueDescription
NodeFilter.SHOW_ALL0xFFFFFFFFShows all nodes.
NodeFilter.SHOW_ATTRIBUTE0x2Shows Attr nodes.
NodeFilter.SHOW_CDATA_SECTION0x8Shows CDATASection nodes.
NodeFilter.SHOW_COMMENT0x80Shows Comment nodes.
NodeFilter.SHOW_DOCUMENT0x100Shows Document nodes.
NodeFilter.SHOW_DOCUMENT_FRAGMENT0x400Shows DocumentFragment nodes.
NodeFilter.SHOW_DOCUMENT_TYPE0x200Shows DocumentType nodes.
NodeFilter.SHOW_ELEMENT0x1Shows Element nodes.
NodeFilter.SHOW_ENTITY 0x20Legacy, no longer effective.
NodeFilter.SHOW_ENTITY_REFERENCE 0x10Legacy, no longer effective.
NodeFilter.SHOW_NOTATION 0x800Legacy, no longer effective.
NodeFilter.SHOW_PROCESSING_INSTRUCTION0x40Shows ProcessingInstruction nodes.
NodeFilter.SHOW_TEXT0x4Shows Text nodes.
\n
\n

Note:\nThe NodeFilter.SHOW_ATTRIBUTE constant is only effective when the root is an attribute node. Since the parent of any Attr node is always null, TreeWalker.nextNode() and TreeWalker.previousNode() will never return an Attr node. To traverse Attr nodes, use Element.attributes instead.\n

", "filter": "A callback function or an object with an acceptNode() method, which returns NodeFilter.FILTER_ACCEPT, NodeFilter.FILTER_REJECT, or NodeFilter.FILTER_SKIP. The function or method will be called for each node in the subtree based at root which is accepted as included by the whatToShow flag to determine whether or not to include it in the list of iterable nodes:\n" }, "returns": "A new TreeWalker object." @@ -25022,7 +25186,8 @@ "SafariIOS": "18" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-14" }, "doc": "The startViewTransition() method of the Document interface starts a new same-document (SPA) view transition and returns a ViewTransition object to represent it.\n

When startViewTransition() is invoked, a sequence of steps is followed as explained in The view transition process.", "parameters": { @@ -27120,7 +27285,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The DOMParser interface provides\nthe ability to parse XML or HTML source code from a\nstring into a DOM Document.\n

You can perform the opposite operation—converting a DOM tree into XML or HTML\nsource—using the XMLSerializer interface.\n

In the case of an HTML document, you can also replace portions of the DOM with new DOM\ntrees built from HTML by setting the value of the Element.innerHTML and\nouterHTML properties. These properties can also be\nread to fetch HTML fragments corresponding to the corresponding DOM subtree.\n

Note that XMLHttpRequest can parse XML and HTML directly\nfrom a URL-addressable resource, returning a Document in its\nresponse property.\n

\n

Note:\nBe aware that block-level elements\nlike <p> will be automatically closed if another\nblock-level element is nested inside and therefore parsed before the closing </p> tag.\n

" + "doc": "The DOMParser interface provides the ability to parse XML or HTML source code from a string into a DOM Document.\n

You can perform the opposite operation—converting a DOM tree into XML or HTML source—using the XMLSerializer interface.\n

In the case of an HTML document, you can also replace portions of the DOM with new DOM trees built from HTML by setting the value of the Element.innerHTML and outerHTML properties. These properties can also be read to fetch HTML fragments corresponding to the corresponding DOM subtree.\n

Note that XMLHttpRequest can parse XML and HTML directly from a URL-addressable resource, returning a Document in its response property.\n

\n

Note:\nBe aware that block-level elements like <p> will be automatically closed if another block-level element is nested inside and therefore parsed before the closing </p> tag.\n

" }, "domparser.domparser": { "url": "$MDN_URL$/web/api/domparser/domparser", @@ -27165,12 +27330,15 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The parseFromString() method of the DOMParser interface parses a string containing either HTML or XML, returning an HTMLDocument or an XMLDocument.\n
\n

Note:\nThe Document.parseHTMLUnsafe() static method provides an ergonomic alternative for parsing HTML strings into a Document.\n

", + "doc": "
\n

Warning:\nThis method parses its input as HTML, writing the result into the DOM.\nAPIs like this are known as injection sinks, and are potentially a vector for cross-site-scripting (XSS) attacks, if the input originally came from an attacker.\n

You can mitigate this risk by always passing TrustedHTML objects instead of strings and enforcing trusted types.\nSee Security considerations for more information.\n

\n

The parseFromString() method of the DOMParser interface parses an input containing either HTML or XML, returning a Document with the type given in the contentType property.\n

\n

Note:\nThe Document.parseHTMLUnsafe() static method provides an ergonomic alternative for parsing HTML markup into a Document.\n

", "parameters": { - "string": "The string to be parsed. It must contain either an\nHTML, xml, XHTML, or\nsvg document.", - "mimeType": "A string. This string determines whether the XML parser or the HTML parser is used to parse the string. Valid values are:\n\n

A value of text/html will invoke the HTML parser, and the method will return an HTMLDocument. Any <script> element gets marked non-executable, and the contents of <noscript> are parsed as markup.\n

The other valid values (text/xml, application/xml, application/xhtml+xml, and image/svg+xml) are functionally equivalent. They all invoke the XML parser, and the method will return a XMLDocument.\n

Any other value is invalid and will cause a TypeError to be thrown." + "input": "A TrustedHTML or string instance defining HTML to be parsed.\nThe markup must contain either an HTML, XML, XHTML, or SVG document.", + "mimeType": "A string that specifies whether the XML parser or the HTML parser is used to parse the string.\n

Allowed values are:\n

" }, - "returns": "An HTMLDocument or an XMLDocument, depending on the\nmimeType argument." + "returns": "A Document with contentType matching the given mimeType.\n
\n

Note:\nThe browser may actually return an HTMLDocument or XMLDocument object.\nThese derive from Document and add no attributes: they are essentially equivalent.\n

", + "throws": { + "TypeError": "This is thrown when:\n" + } }, "dompoint": { "url": "$MDN_URL$/web/api/dompoint", diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-e.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-e.json index b71d6cdf3416..626d09ad182e 100644 --- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-e.json +++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-e.json @@ -1051,6 +1051,9 @@ "Experimental" ], "compatibility": {}, + "baseline": { + "level": "NONE" + }, "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.

\n

The ariaNotify() method of the Element interface specifies that a given string of text should be announced by a screen reader if available and activated.", "parameters": { "announcement": "A string specifying the text to be announced.", @@ -3379,7 +3382,7 @@ "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The setHTML() method of the Element interface provides an XSS-safe method to parse and sanitize a string of HTML into a DocumentFragment, and then insert it into the DOM as a subtree of the element.", "parameters": { "input": "A string defining HTML to be sanitized and injected into the element.", - "options": "An options object with the following optional parameters:\n

\n
sanitizer
\n
\n

A Sanitizer or SanitizerConfig object which defines what elements of the input will be allowed or removed, or the string \"default\" for the default configuration.\nNote that generally a \"Sanitizer is expected to be more efficient than a SanitizerConfig if the configuration is to reused.\nIf not specified, the default sanitizer configuration is used.\n

\n
" + "options": "An options object with the following optional parameters:\n
\n
sanitizer
\n
\n

A Sanitizer or SanitizerConfig object which defines what elements of the input will be allowed or removed, or the string \"default\" for the default configuration.\nNote that generally a Sanitizer is expected to be more efficient than a SanitizerConfig if the configuration is to be reused.\nIf not specified, the default sanitizer configuration is used.\n

\n
" }, "returns": "None (undefined).", "throws": { @@ -6118,13 +6121,10 @@ "Edge": "87", "Firefox": "140", "FirefoxAndroid": "140", - "Opera": "73", - "Safari": "18.4", - "SafariIOS": "18.4" + "Opera": "73" }, "baseline": { - "level": "LOW", - "lowDate": "2025-06-24" + "level": "NONE" }, "doc": "

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

\n

Note: This feature is only available in Service Workers.

\n

The ExtendableCookieChangeEvent interface of the Cookie Store API is the event type passed to cookiechange event fired at the ServiceWorkerGlobalScope when any cookie changes occur which match the service worker's cookie change subscription list. A cookie change event consists of a cookie and a type (either \"changed\" or \"deleted\").\n

Cookie changes that cause the ExtendableCookieChangeEvent to be dispatched are:\n

" }, @@ -6139,13 +6139,10 @@ "Edge": "87", "Firefox": "140", "FirefoxAndroid": "140", - "Opera": "73", - "Safari": "18.4", - "SafariIOS": "18.4" + "Opera": "73" }, "baseline": { - "level": "LOW", - "lowDate": "2025-06-24" + "level": "NONE" }, "doc": "

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

\n

Note: This feature is only available in Service Workers.

\n

The changed read-only property of the ExtendableCookieChangeEvent interface returns any cookies that have been changed by the given ExtendableCookieChangeEvent instance." }, @@ -6160,13 +6157,10 @@ "Edge": "87", "Firefox": "140", "FirefoxAndroid": "140", - "Opera": "73", - "Safari": "18.4", - "SafariIOS": "18.4" + "Opera": "73" }, "baseline": { - "level": "LOW", - "lowDate": "2025-06-24" + "level": "NONE" }, "doc": "

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

\n

Note: This feature is only available in Service Workers.

\n

The deleted read-only property of the ExtendableCookieChangeEvent interface returns any cookies that have been deleted by the given ExtendableCookieChangeEvent instance." }, @@ -6181,13 +6175,10 @@ "Edge": "87", "Firefox": "140", "FirefoxAndroid": "140", - "Opera": "73", - "Safari": "18.4", - "SafariIOS": "18.4" + "Opera": "73" }, "baseline": { - "level": "LOW", - "lowDate": "2025-06-24" + "level": "NONE" }, "doc": "

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

\n

Note: This feature is only available in Service Workers.

\n

The ExtendableCookieChangeEvent() constructor creates a new ExtendableCookieChangeEvent object\nwhich is the event type passed to cookiechange event fired at the ServiceWorkerGlobalScope when any cookie changes occur which match the service worker's cookie change subscription list.\nThis constructor is called by the browser when a change event occurs.\n

\n

Note:\nThis event constructor is generally not needed for production websites. It's primary use is for tests that require an instance of this event.\n

", "parameters": { @@ -11538,10 +11529,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11556,10 +11544,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11575,10 +11560,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11597,10 +11579,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "115", "ChromeAndroid": "121", - "Edge": "115", - "Opera": "101", "Safari": "26", "SafariIOS": "26" }, @@ -11615,10 +11594,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11633,10 +11609,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11651,10 +11624,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "127", "ChromeAndroid": "127", - "Edge": "127", - "Opera": "113", "Safari": "26", "SafariIOS": "26" }, @@ -11673,7 +11643,7 @@ "Safari": "26", "SafariIOS": "26" }, - "doc": "

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

\n

Note: This feature is available in Web Workers.

\n

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

\n

Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.

\n

The isFallbackAdapter read-only property of the\nGPUAdapter interface returns true if the adapter is a fallback adapter, and false if not." + "doc": "

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

\n

Note: This feature is available in Web Workers.

\n

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

\n

Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.

\n

The isFallbackAdapter read-only property of the\nGPUAdapter interface returns true if the adapter is a fallback adapter, and false if not.\n

This property has been removed from the web platform. Use GPUAdapterInfo.isFallbackAdapter instead." }, "gpuadapter.limits": { "url": "$MDN_URL$/web/api/gpuadapter/limits", @@ -11681,10 +11651,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11710,10 +11677,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11736,10 +11700,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11754,10 +11715,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11772,10 +11730,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11790,10 +11745,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11802,17 +11754,27 @@ }, "doc": "

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

\n

Note: This feature is available in Web Workers.

\n

The device read-only property of the\nGPUAdapterInfo interface returns a vendor-specific identifier for the adapter, or an empty string if it is not available." }, + "gpuadapterinfo.isfallbackadapter": { + "url": "$MDN_URL$/web/api/gpuadapterinfo/isfallbackadapter", + "status": [ + "StandardTrack" + ], + "compatibility": { + "Chrome": "136", + "ChromeAndroid": "136", + "Edge": "136", + "Opera": "121", + "Safari": "26", + "SafariIOS": "26" + }, + "doc": "

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

\n

Note: This feature is available in Web Workers.

\n

The isFallbackAdapter read-only property of the\nGPUAdapterInfo interface returns true if the adapter is a fallback adapter, and false if not." + }, "gpuadapterinfo.subgroupmaxsize": { "url": "$MDN_URL$/web/api/gpuadapterinfo/subgroupmaxsize", "status": [ "StandardTrack" ], - "compatibility": { - "Chrome": "134", - "ChromeAndroid": "134", - "Edge": "134", - "Opera": "119" - }, + "compatibility": {}, "baseline": { "level": "NONE" }, @@ -11823,12 +11785,7 @@ "status": [ "StandardTrack" ], - "compatibility": { - "Chrome": "134", - "ChromeAndroid": "134", - "Edge": "134", - "Opera": "119" - }, + "compatibility": {}, "baseline": { "level": "NONE" }, @@ -11840,10 +11797,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11858,10 +11812,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11876,10 +11827,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11894,10 +11842,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11912,10 +11857,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11930,10 +11872,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11948,10 +11887,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11967,10 +11903,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11990,10 +11923,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12008,10 +11938,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12032,10 +11959,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12050,10 +11974,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12068,10 +11989,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12087,10 +12005,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12105,10 +12020,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12123,10 +12035,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12141,10 +12050,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12163,10 +12069,6 @@ "StandardTrack" ], "compatibility": { - "Chrome": "131", - "ChromeAndroid": "131", - "Edge": "131", - "Opera": "116", "Safari": "26", "SafariIOS": "26" }, @@ -12182,10 +12084,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12204,10 +12103,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12223,10 +12119,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12241,10 +12134,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12259,10 +12149,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12277,10 +12164,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12299,10 +12183,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12321,10 +12202,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12345,10 +12223,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12371,10 +12246,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12395,10 +12267,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12419,10 +12288,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12443,10 +12309,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12465,10 +12328,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12487,10 +12347,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12505,10 +12362,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12524,10 +12378,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12546,10 +12397,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12585,10 +12433,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12603,10 +12448,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12621,10 +12463,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12639,10 +12478,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12657,10 +12493,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12675,10 +12508,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12693,10 +12523,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12711,10 +12538,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12729,10 +12553,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12747,10 +12568,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12765,10 +12583,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12789,10 +12604,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12812,10 +12624,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12831,10 +12640,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12853,10 +12659,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12871,10 +12674,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12890,10 +12690,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12912,10 +12709,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12938,10 +12732,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12960,10 +12751,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -12978,10 +12766,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13000,10 +12785,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13018,10 +12800,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13035,12 +12814,7 @@ "status": [ "StandardTrack" ], - "compatibility": { - "Chrome": "132", - "ChromeAndroid": "132", - "Edge": "132", - "Opera": "117" - }, + "compatibility": {}, "baseline": { "level": "NONE" }, @@ -13052,10 +12826,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13064,7 +12835,7 @@ }, "doc": "

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

\n

Note: This feature is available in Web Workers.

\n

The createBindGroup() method of the\nGPUDevice interface creates a GPUBindGroup based on a GPUBindGroupLayout that defines a set of resources to be bound together in a group and how those resources are used in shader stages.", "parameters": { - "descriptor": "An object containing the following properties:\n

\n
entries
\n
\n

An array of entry objects describing the resources to expose to the shader. There will be one for each corresponding entry described by the GPUBindGroupLayout referenced in layout. Each entry object has the following properties:\n

\n
binding
\n
\n

A number representing a unique identifier for this resource binding, which matches the binding value of a corresponding GPUBindGroupLayout entry. In addition, it matches the n index value of the corresponding @binding(n) attribute in the shader (GPUShaderModule) used in the related pipeline.\n

\n
resource
\n
\n

The resource to bind. This can be one of the following:\n

\n
\n
\n
\n
label Optional
\n
\n

A string providing a label that can be used to identify the object, for example in GPUError messages or console warnings.\n

\n
layout
\n
\n

The GPUBindGroupLayout that the entries of this bind group will conform to.\n

\n
" + "descriptor": "An object containing the following properties:\n
\n
entries
\n
\n

An array of entry objects describing the resources to expose to the shader. There will be one for each corresponding entry described by the GPUBindGroupLayout referenced in layout. Each entry object has the following properties:\n

\n
binding
\n
\n

A number representing a unique identifier for this resource binding, which matches the binding value of a corresponding GPUBindGroupLayout entry. In addition, it matches the n index value of the corresponding @binding(n) attribute in the shader (GPUShaderModule) used in the related pipeline.\n

\n
resource
\n
\n

The resource to bind. This can be one of the following:\n

\n
\n
\n
\n
label Optional
\n
\n

A string providing a label that can be used to identify the object, for example in GPUError messages or console warnings.\n

\n
layout
\n
\n

The GPUBindGroupLayout that the entries of this bind group will conform to.\n

\n
" }, "returns": "A GPUBindGroup object instance." }, @@ -13074,10 +12845,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13096,10 +12864,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13108,9 +12873,12 @@ }, "doc": "

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

\n

Note: This feature is available in Web Workers.

\n

The createBuffer() method of the\nGPUDevice interface creates a GPUBuffer in which to store raw data to use in GPU operations.", "parameters": { - "descriptor": "An object containing the following properties:\n

\n
label Optional
\n
\n

A string providing a label that can be used to identify the object, for example in GPUError messages or console warnings.\n

\n
mappedAtCreation Optional
\n
\n

A boolean. If set to true, the buffer will be mapped upon creation, meaning that you can set the values inside the buffer immediately by calling GPUBuffer.getMappedRange(). The default value is false.\n

Note that it is valid to set mappedAtCreation: true so you can set the buffer's initial data, even if the GPUBufferUsage.MAP_READ or GPUBufferUsage.MAP_WRITE usage flags are not set.\n

\n
size
\n
\n

A number representing the size of the buffer, in bytes.\n

\n
usage
\n
\n

The bitwise flags representing the allowed usages for the GPUBuffer. The possible values are in the GPUBuffer.usage value table.\n

Note that multiple possible usages can be specified by separating values with bitwise OR, for example: GPUBufferUsage.COPY_SRC | GPUBufferUsage.MAP_WRITE.\n

\n
" + "descriptor": "An object containing the following properties:\n
\n
label Optional
\n
\n

A string providing a label that can be used to identify the object, for example in GPUError messages or console warnings.\n

\n
mappedAtCreation Optional
\n
\n

A boolean. If set to true, the buffer will be mapped upon creation, meaning that you can set the values inside the buffer immediately by calling GPUBuffer.getMappedRange(). The default value is false.\n

Note that it is valid to set mappedAtCreation: true so you can set the buffer's initial data, even if the GPUBufferUsage.MAP_READ or GPUBufferUsage.MAP_WRITE usage flags are not set.\n

\n
size
\n
\n

A number representing the size of the buffer, in bytes. If mappedAtCreation is set to true, this must be a multiple of 4.\n

\n
usage
\n
\n

The bitwise flags representing the allowed usages for the GPUBuffer. The possible values are in the GPUBuffer.usage value table.\n

Note that multiple possible usages can be specified by separating values with bitwise OR, for example: GPUBufferUsage.COPY_SRC | GPUBufferUsage.MAP_WRITE.\n

\n
" }, - "returns": "A GPUBuffer object instance." + "returns": "A GPUBuffer object instance.", + "throws": { + "RangeError DOMException": "Thrown if mappedAtCreation is set to true, and the specified size is not a multiple of 4." + } }, "gpudevice.createcommandencoder": { "url": "$MDN_URL$/web/api/gpudevice/createcommandencoder", @@ -13118,10 +12886,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13140,10 +12905,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13162,10 +12924,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13184,10 +12943,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13196,7 +12952,7 @@ }, "doc": "

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

\n

Note: This feature is available in Web Workers.

\n

The createPipelineLayout() method of the\nGPUDevice interface creates a GPUPipelineLayout that defines the GPUBindGroupLayouts used by a pipeline. GPUBindGroups used with the pipeline during command encoding must have compatible GPUBindGroupLayouts.", "parameters": { - "descriptor": "An object containing the following properties:\n

\n
bindGroupLayouts
\n
\n

An array of GPUBindGroupLayout objects (which are in turn created via calls to GPUDevice.createBindGroupLayout()). Each one corresponds to a @group attribute in the shader code contained in the GPUShaderModule used in a related pipeline.\n

\n
label Optional
\n
\n

A string providing a label that can be used to identify the object, for example in GPUError messages or console warnings.\n

\n
" + "descriptor": "An object containing the following properties:\n
\n
bindGroupLayouts
\n
\n

An array of values representing the bind group layouts for a pipeline. Each value can be:\n

\n
\n
label Optional
\n
\n

A string providing a label that can be used to identify the object, for example in GPUError messages or console warnings.\n

\n
" }, "returns": "A GPUPipelineLayout object instance." }, @@ -13206,10 +12962,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13228,10 +12981,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13250,10 +13000,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13272,10 +13019,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13294,10 +13038,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13316,10 +13057,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13338,10 +13076,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13350,7 +13085,7 @@ }, "doc": "

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

\n

Note: This feature is available in Web Workers.

\n

The createTexture() method of the\nGPUDevice interface creates a GPUTexture in which to store 1D, 2D, or 3D arrays of data, such as images, to use in GPU rendering operations.", "parameters": { - "descriptor": "An object containing the following properties:\n

\n
dimension Optional
\n
\n

An enumerated value indicating the dimension level of the texture. Possible values are:\n

    \n
  • \"1d\": The texture is one-dimensional.
  • \n
  • \"2d\": The texture is two-dimensional or an array of two-dimensional layers.
  • \n
  • \"3d\": The texture is three-dimensional.
  • \n
\n

dimension defaults to \"2d\" if the value is omitted.\n

\n
format
\n
\n

An enumerated value specifying the format of the texture. See the Texture formats section of the specification for all the possible values.\n

\n

Note:\n

    \n
  • The depth32float-stencil8 feature needs to be enabled to create depth32float-stencil8-format GPUTextures.
  • \n
  • The texture-compression-bc feature needs to be enabled to create two-dimensional BC compressed GPUTextures: bc1-rgba-unorm, bc1-rgba-unorm-srgb, bc2-rgba-unorm, bc2-rgba-unorm-srgb, bc3-rgba-unorm, bc3-rgba-unorm-srgb, bc4-r-unorm, bc4-r-snorm, bc5-rg-unorm, bc5-rg-snorm, bc6h-rgb-ufloat, bc6h-rgb-float, bc7-rgba-unorm, and bc7-rgba-unorm-srgb formats.
  • \n
  • The texture-compression-astc feature needs to be enabled to create two-dimensional ASTC compressed GPUTextures: astc-4x4-unorm, astc-4x4-unorm-srgb, astc-5x4-unorm, astc-5x4-unorm-srgb, astc-5x5-unorm, astc-5x5-unorm-srgb, astc-6x5-unorm, astc-6x5-unorm-srgb, astc-6x6-unorm, astc-6x6-unorm-srgb, astc-8x5-unorm, astc-8x5-unorm-srgb, astc-8x6-unorm, astc-8x6-unorm-srgb, astc-8x8-unorm, astc-8x8-unorm-srgb, astc-10x5-unorm, astc-10x5-unorm-srgb, astc-10x6-unorm, astc-10x6-unorm-srgb, astc-10x8-unorm, astc-10x8-unorm-srgb, astc-10x10-unorm, astc-10x10-unorm-srgb, astc-12x10-unorm, astc-12x10-unorm-srgb, and astc-12x12-unorm``astc-12x12-unorm-srgb formats.
  • \n
  • The texture-compression-etc2 feature needs to be enabled to create two-dimensional ETC2 compressed GPUTextures: etc2-rgb8unorm, etc2-rgb8unorm-srgb, etc2-rgb8a1unorm, etc2-rgb8a1unorm-srgb, etc2-rgba8unorm, etc2-rgba8unorm-srgb, eac-r11unorm, eac-r11snorm, eac-rg11unorm, and eac-rg11snorm formats.
  • \n
\n
\n
\n
label Optional
\n
\n

A string providing a label that can be used to identify the object, for example in GPUError messages or console warnings.\n

\n
mipLevelCount Optional
\n
\n

A number specifying the number of mip levels the texture will contain. If omitted, this defaults to 1.\n

\n
sampleCount Optional
\n
\n

A number specifying the texture's sample count. To be valid, the value must be 1 or 4. If omitted, this defaults to 1. A value higher than 1 indicates a multi-sampled texture.\n

\n
size
\n
\n

An object or array specifying the width, height, and depth/array layer count of the texture. The width value must always be specified, while the height and depth/array layer count values are optional and will default to 1 if omitted.\n

For example, you can pass an array like [16, 16, 2], or its equivalent object { width: 16, height: 16, depthOrArrayLayers: 2 }.\n

\n
usage
\n
\n

The bitwise flags representing the allowed usages for the GPUTexture. The possible values are in the GPUTexture.usage value table.\n

Note that multiple possible usages can be specified by separating values with bitwise OR, for example: GPUTextureUsage.COPY_DST | GPUTextureUsage.RENDER_ATTACHMENT.\n

\n

Note:\n

    \n
  • The bgra8unorm-storage feature needs to be enabled to specify STORAGE_BINDING usage for a bgra8unorm-format GPUTexture.
  • \n
  • The rg11b10ufloat-renderable feature needs to be enabled to specify RENDER_ATTACHMENT usage for a rg11b10ufloat-format GPUTexture, as well as its blending and multisampling.
  • \n
\n
\n
\n
viewFormats Optional
\n
\n

An array of enumerated values specifying other texture formats permitted when calling GPUTexture.createView() on this texture, in addition to the texture format specified in its format value.\n

\n
" + "descriptor": "An object containing the following properties:\n
\n
dimension Optional
\n
\n

An enumerated value indicating the dimension level of the texture. Possible values are:\n

    \n
  • \"1d\": The texture is one-dimensional.
  • \n
  • \"2d\": The texture is two-dimensional or an array of two-dimensional layers.
  • \n
  • \"3d\": The texture is three-dimensional.
  • \n
\n

dimension defaults to \"2d\" if the value is omitted.\n

\n
format
\n
\n

An enumerated value specifying the format of the texture. See the Texture formats section of the specification for all the possible values.\n

\n

Note:\n

    \n
  • The depth32float-stencil8 feature needs to be enabled to create depth32float-stencil8-format GPUTextures.
  • \n
  • The texture-compression-bc feature needs to be enabled to create two-dimensional (dimension: \"2d\") BC compressed GPUTextures: bc1-rgba-unorm, bc1-rgba-unorm-srgb, bc2-rgba-unorm, bc2-rgba-unorm-srgb, bc3-rgba-unorm, bc3-rgba-unorm-srgb, bc4-r-unorm, bc4-r-snorm, bc5-rg-unorm, bc5-rg-snorm, bc6h-rgb-ufloat, bc6h-rgb-float, bc7-rgba-unorm, and bc7-rgba-unorm-srgb formats.
  • \n
  • The texture-compression-bc and texture-compression-bc-sliced-3d features need to be enabled to create three-dimensional BC compressed GPUTextures (the same format values specified in the previous bullet, but with dimension set to 3d).
  • \n
  • The texture-compression-astc feature needs to be enabled to create two-dimensional (dimension: \"2d\") ASTC compressed GPUTextures: astc-4x4-unorm, astc-4x4-unorm-srgb, astc-5x4-unorm, astc-5x4-unorm-srgb, astc-5x5-unorm, astc-5x5-unorm-srgb, astc-6x5-unorm, astc-6x5-unorm-srgb, astc-6x6-unorm, astc-6x6-unorm-srgb, astc-8x5-unorm, astc-8x5-unorm-srgb, astc-8x6-unorm, astc-8x6-unorm-srgb, astc-8x8-unorm, astc-8x8-unorm-srgb, astc-10x5-unorm, astc-10x5-unorm-srgb, astc-10x6-unorm, astc-10x6-unorm-srgb, astc-10x8-unorm, astc-10x8-unorm-srgb, astc-10x10-unorm, astc-10x10-unorm-srgb, astc-12x10-unorm, astc-12x10-unorm-srgb, astc-12x12-unorm, and astc-12x12-unorm-srgb formats.
  • \n
  • The texture-compression-astc and texture-compression-astc-sliced-3d features need to be enabled to create three-dimensional BC compressed GPUTextures (the same format values specified in the previous bullet, but with dimension set to 3d).
  • \n
  • The texture-compression-etc2 feature needs to be enabled to create two-dimensional ETC2 compressed GPUTextures: etc2-rgb8unorm, etc2-rgb8unorm-srgb, etc2-rgb8a1unorm, etc2-rgb8a1unorm-srgb, etc2-rgba8unorm, etc2-rgba8unorm-srgb, eac-r11unorm, eac-r11snorm, eac-rg11unorm, and eac-rg11snorm formats.
  • \n
  • See the Tier 1 and Tier 2 texture formats section for more information about those texture format sets and the requirements to create them.
  • \n
\n
\n
\n
label Optional
\n
\n

A string providing a label that can be used to identify the object, for example in GPUError messages or console warnings.\n

\n
mipLevelCount Optional
\n
\n

A number specifying the number of mip levels the texture will contain. If omitted, this defaults to 1.\n

\n
sampleCount Optional
\n
\n

A number specifying the texture's sample count. To be valid, the value must be 1 or 4. If omitted, this defaults to 1. A value higher than 1 indicates a multi-sampled texture.\n

\n
size
\n
\n

An object or array specifying the width, height, and depth/array layer count of the texture. The width value must always be specified, while the height and depth/array layer count values are optional and will default to 1 if omitted.\n

For example, you can pass an array like [16, 16, 2], or its equivalent object { width: 16, height: 16, depthOrArrayLayers: 2 }.\n

\n
usage
\n
\n

The bitwise flags representing the allowed usages for the GPUTexture. The possible values are in the GPUTexture.usage value table.\n

Note that multiple possible usages can be specified by separating values with bitwise OR, for example: GPUTextureUsage.COPY_DST | GPUTextureUsage.RENDER_ATTACHMENT.\n

\n

Note:\n

    \n
  • The bgra8unorm-storage feature needs to be enabled to specify STORAGE_BINDING usage for a bgra8unorm-format GPUTexture.
  • \n
  • The rg11b10ufloat-renderable feature needs to be enabled to specify RENDER_ATTACHMENT usage for a rg11b10ufloat-format GPUTexture, as well as its blending and multisampling.
  • \n
\n
\n
\n
viewFormats Optional
\n
\n

An array of enumerated values specifying other texture formats permitted when calling GPUTexture.createView() on this texture, in addition to the texture format specified in its format value.\n

\n
" }, "returns": "A GPUTexture object instance." }, @@ -13360,10 +13095,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13379,10 +13111,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13397,10 +13126,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13422,10 +13148,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13440,10 +13163,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13458,10 +13178,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13476,10 +13193,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13495,10 +13209,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13517,10 +13228,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13535,10 +13243,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13553,10 +13258,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13571,10 +13273,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13589,10 +13288,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", - "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99" + "ChromeAndroid": "121" }, "baseline": { "level": "NONE" @@ -13605,10 +13301,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", - "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99" + "ChromeAndroid": "121" }, "baseline": { "level": "NONE" @@ -13621,10 +13314,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13639,10 +13329,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13657,10 +13344,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13675,10 +13359,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13696,10 +13377,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13714,10 +13392,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13735,10 +13410,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13753,10 +13425,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13775,10 +13444,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13793,10 +13459,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13811,10 +13474,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13829,10 +13489,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13847,10 +13504,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13865,10 +13519,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13884,10 +13535,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13902,10 +13550,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13920,10 +13565,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13938,10 +13580,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13966,10 +13605,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -13984,10 +13620,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14003,10 +13636,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14025,10 +13655,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14054,10 +13681,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14079,10 +13703,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14097,10 +13718,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14115,10 +13733,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14133,10 +13748,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14158,10 +13770,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14184,10 +13793,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14207,10 +13813,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14230,10 +13833,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14252,10 +13852,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14274,10 +13871,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14292,10 +13886,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14311,10 +13902,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14333,10 +13921,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14359,10 +13944,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14384,10 +13966,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14406,10 +13985,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14431,10 +14007,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14449,10 +14022,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14471,10 +14041,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14496,10 +14063,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14522,10 +14086,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14545,10 +14106,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14568,10 +14126,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14587,10 +14142,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14606,10 +14158,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14628,10 +14177,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14650,10 +14196,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14668,10 +14211,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14687,10 +14227,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14709,10 +14246,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14735,10 +14269,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14757,10 +14288,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14782,10 +14310,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14804,10 +14329,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14829,10 +14351,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14851,10 +14370,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14876,10 +14392,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14903,10 +14416,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14921,10 +14431,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14943,10 +14450,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14961,10 +14465,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14979,10 +14480,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -14997,10 +14495,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15015,10 +14510,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15034,10 +14526,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15052,10 +14541,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15070,10 +14556,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15088,10 +14571,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15106,10 +14586,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15128,10 +14605,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15146,10 +14620,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15165,10 +14636,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15183,10 +14651,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15201,10 +14666,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15219,10 +14681,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15237,10 +14696,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15255,10 +14711,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15273,10 +14726,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15291,10 +14741,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15309,10 +14756,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15327,10 +14771,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15345,10 +14786,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15363,10 +14801,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15381,10 +14816,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15403,10 +14835,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -15421,10 +14850,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -19021,10 +18447,7 @@ "SafariIOS": "8" }, "webgpu_context": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" } @@ -20151,10 +19574,11 @@ "SafariIOS": "15.5" }, "baseline": { - "level": "LOW", - "lowDate": "2023-04-11" + "level": "HIGH", + "lowDate": "2023-04-11", + "highDate": "2025-10-11" }, - "doc": "The HTMLElement property inert reflects the value of the element's inert attribute. It is a boolean value that, when present, makes the browser \"ignore\" user input events for the element, including focus events and events from assistive technologies. The browser may also ignore page search and text selection in the element. This can be useful when building UIs such as modals where you would want to \"trap\" the focus inside the modal when it's visible.\n

Note that if the inert attribute is unspecified, the element itself may still inherit inertness from its parent. However, that inherited inertness is not reflected by this property's value." + "doc": "The HTMLElement property inert reflects the value of the element's inert attribute. It is a boolean value that, when present, makes the browser \"ignore\" user input events for the element, including focus events and events from assistive technologies. The browser may also ignore page search and text selection in the element. This can be useful when building UIs such as modals where you would want to \"trap\" the focus inside the modal when it's visible.\n

Note that if the inert attribute is unspecified, the element itself may still inherit inertness from its parent. However, that inherited inertness is not reflected by this property's value. Explicitly setting the property to false cannot revert inertness inherited from the parent." }, "htmlelement.innertext": { "url": "$MDN_URL$/web/api/htmlelement/innertext", @@ -20489,7 +19913,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The read-only style property of the HTMLElement returns the inline style of an element in the form of a live CSSStyleDeclaration object that contains a list of all styles properties for that element with values assigned only for the attributes that are defined in the element's inline style attribute.\n

Shorthand properties are expanded. If you set style=\"border-top: 1px solid black\", the longhand properties (border-top-color, border-top-style, and border-top-width) are set instead.\n

This property is read-only, meaning it is not possible to assign a CSSStyleDeclaration object to it. Nevertheless, it is possible to set an inline style by assigning a string directly to the style property. In this case the string is forwarded to CSSStyleDeclaration.cssText. Using style in this manner will completely overwrite all inline styles on the element.\n

Therefore, to add specific styles to an element without altering other style values, it is generally preferable to set individual properties on the CSSStyleDeclaration object. For example, you can write element.style.backgroundColor = \"red\".\n

A style declaration is reset by setting it to null or an empty string, e.g., elt.style.color = null.\n

\n

Note:\nCSS property names are converted to JavaScript identifier with these rules:\n

\n

The style property has the same priority in the CSS cascade as an inline style declaration set via the style attribute.\n

" + "doc": "The read-only style property of the HTMLElement returns the inline style of an element in the form of a live CSSStyleProperties object.\nThis object can be used to get and set the inline styles of an element." }, "htmlelement.tabindex": { "url": "$MDN_URL$/web/api/htmlelement/tabindex", @@ -22138,7 +21562,10 @@ "lowDate": "2020-01-15", "highDate": "2022-07-15" }, - "doc": "The srcdoc property of the HTMLIFrameElement specifies the content of the page." + "doc": "
\n

Warning:\nThis property parses its input as HTML, writing the result into the frame's DOM.\nAPIs like this are known as injection sinks, and are potentially a vector for cross-site-scripting (XSS) attacks, if the input originally came from an attacker.\n

You can mitigate this risk by always assigning TrustedHTML objects instead of strings and enforcing trusted types.\nSee Security considerations for more information.\n

\n

The srcdoc property of the HTMLIFrameElement interface gets or sets the inline HTML markup of the frame's document.\n

This reflects the srcdoc attribute of the <iframe>.", + "throws": { + "TypeError": "Thrown if the property is set to a string when Trusted Types are enforced by a CSP and no default policy is defined." + } }, "htmliframeelement.width": { "url": "$MDN_URL$/web/api/htmliframeelement/width", @@ -32371,13 +31798,15 @@ }, "doc": "The getAll() method of the IDBIndex\ninterface retrieves all objects that are inside the index.\n

There is a performance cost associated with looking at the value property\nof a cursor, because the object is created lazily. To use a feature\nlike getAll(), the browser has to create all the objects at once. If you\nare just interested in looking at each of the keys, for instance, it is more efficient\nto use a cursor. If you are trying to get an\narray of all the objects in an object store, though, you should\nuse getAll().", "parameters": { - "query": "A key or an IDBKeyRange identifying the records to retrieve. If this\nvalue is null or missing, the browser will use an unbound key range.", - "count": "The number of records to return. If this value exceeds the number of records in the\nquery, the browser will only retrieve the queried records. If it is lower than\n0 or greater than 2^32 - 1 a TypeError\nexception will be thrown." + "query": "A key or an IDBKeyRange identifying the records to retrieve. If this value is null or not specified, the browser will use an unbound key range.

See the earlier query definition.", + "count": "The number of records to return. If this value exceeds the number of records in the\nquery, the browser will only retrieve the queried records. If it is lower than\n0 or greater than 2^32 - 1 a TypeError\nexception will be thrown.

See the earlier count definition.", + "direction": "An enumerated value specifying the direction in which the objects are traversed. Possible values are:\n

\n
next
\n
\n

The objects are traversed from the beginning, in increasing key order. This is the default value.\n

\n
nextunique
\n
\n

The objects are traversed from the beginning, in increasing key order. For every key with duplicate objects, only the object closest to the start is yielded.\n

\n
prev
\n
\n

The objects are traversed from the end, in decreasing key order.\n

\n
prevunique
\n
\n

The objects are traversed from the end, in decreasing key order. For every key with duplicate objects, only the object closest to the start is yielded.\n

\n
" }, "returns": "An IDBRequest object on which subsequent events related to this operation are fired.\n

If the operation is successful, the value of the request's result property is an Array of the values of all records matching the given query, up to the value of count, if count was supplied.", "throws": { "TransactionInactiveError DOMException": "Thrown if this IDBIndex's transaction is inactive.", - "InvalidStateError DOMException": "Thrown if the IDBIndex has been deleted or removed." + "InvalidStateError DOMException": "Thrown if the IDBIndex has been deleted or removed.", + "TypeError DOMException": "Thrown if the count parameter is not between 0 and 2^32 - 1, inclusive." } }, "idbindex.getallkeys": { @@ -32402,13 +31831,42 @@ }, "doc": "The getAllKeys() method of the IDBIndex\ninterface asynchronously retrieves the primary keys of all objects inside the index,\nsetting them as the result of the request object.", "parameters": { - "query": "A key or an IDBKeyRange identifying the keys to retrieve. If this\nvalue is null or missing, the browser will use an unbound key range.", - "count": "The number records to return. If this value exceeds the number of records in the\nquery, the browser will only retrieve the first item. If it is lower than\n0 or greater than 2^32 - 1 a TypeError\nexception will be thrown." + "query": "A key or an IDBKeyRange identifying the keys to retrieve. If this value is null or not specified, the browser will use an unbound key range.

See the earlier query definition.", + "count": "The number records to return. If this value exceeds the number of records in the\nquery, the browser will only retrieve the first item. If it is lower than\n0 or greater than 2^32 - 1 a TypeError\nexception will be thrown.

See the earlier count definition.", + "direction": "An enumerated value specifying the direction in which the objects are traversed. Possible values are:\n

\n
next
\n
\n

The objects are traversed from the beginning, in increasing key order. This is the default value.\n

\n
nextunique
\n
\n

The objects are traversed from the beginning, in increasing key order. Keys duplicated across multiple objects are only yielded once.\n

\n
prev
\n
\n

The objects are traversed from the end, in decreasing key order.\n

\n
prevunique
\n
\n

The objects are traversed from the end, in decreasing key order. Keys duplicated across multiple objects are only yielded once.\n

\n
" }, "returns": "An IDBRequest object on which subsequent events related to this operation are fired.\n

If the operation is successful, the value of the request's result property is an Array of the keys for all records matching the given query, up to the value of count, if count was supplied.", "throws": { "TransactionInactiveError DOMException": "Thrown if this IDBIndex's transaction is inactive.", - "InvalidStateError DOMException": "Thrown if the IDBIndex has been deleted or removed." + "InvalidStateError DOMException": "Thrown if the IDBIndex has been deleted or removed.", + "TypeError DOMException": "Thrown if the count parameter is not between 0 and 2^32 - 1, inclusive." + } + }, + "idbindex.getallrecords": { + "url": "$MDN_URL$/web/api/idbindex/getallrecords", + "status": [ + "Experimental", + "StandardTrack" + ], + "compatibility": { + "Chrome": "141", + "ChromeAndroid": "141", + "Edge": "141" + }, + "baseline": { + "level": "NONE" + }, + "doc": "The getAllRecords() method of the IDBIndex\ninterface retrieves all records (including index keys, primary keys, and values) from the index.\n

getAllRecords() effectively combines the functionality of getAllKeys() and getAll() by enumerating both primary keys and values at the same time. This combined operation enables certain data retrieval patterns to be significantly faster than alternatives such as iteration with cursors.", + "parameters": { + "query": "A key or an IDBKeyRange identifying the records to retrieve. If this value is null or not specified, the browser will use an unbound key range.", + "count": "The number of records to return. If this value exceeds the number of records in the query, the browser will retrieve only the queried records. If the value is less than 0 or greater than 2^32 - 1, a TypeError exception will be thrown.", + "direction": "An enumerated value specifying the direction in which the records are traversed. Possible values are:\n

\n
next
\n
\n

The records are traversed from the beginning, in increasing key order. This is the default value.\n

\n
nextunique
\n
\n

The records are traversed from the beginning, in increasing key order. For every key with duplicate records, only the record closest to the start is yielded.\n

\n
prev
\n
\n

The records are traversed from the end, in decreasing key order.\n

\n
prevunique
\n
\n

The records are traversed from the end, in decreasing key order. For every key with duplicate records, only the record closest to the start is yielded.\n

\n
" + }, + "returns": "An IDBRequest object on which subsequent events related to this operation are fired.\n

If the operation is successful, the value of the request's result property is an array of objects representing all the records that match the given query, up to the number specified by count (if provided).\n

Each object contains the following properties:\n

\n
key
\n
\n

A value representing the record's key.\n

\n
primaryKey
\n
\n

A value representing the key of the record in the index's associated IDBObjectStore.\n

\n
value
\n
\n

A value representing the record's value.\n

\n
", + "throws": { + "InvalidStateError DOMException": "Thrown if the IDBIndex or its associated IDBObjectStore has been deleted or removed.", + "TransactionInactiveError DOMException": "Thrown if this IDBIndex's transaction is inactive.", + "TypeError DOMException": "Thrown if the count parameter is not between 0 and 2^32 - 1, inclusive." } }, "idbindex.getkey": { @@ -33188,15 +32646,16 @@ }, "doc": "The getAll() method of the\nIDBObjectStore interface returns an IDBRequest object\ncontaining all objects in the object store matching the specified parameter or all\nobjects in the store if no parameters are given.\n

If a value is successfully found, then a structured clone of it is created and set as\nthe result of the request object.\n

This method produces the same result for:\n

\n

To tell these situations apart, you either call\n

    \n
  1. the openCursor() method with the same\nkey. That method provides a cursor if the record exists, and no cursor if it does not.
  2. \n
  3. the count() method with the same key, which\nwill return 1 if the row exists and 0 if it doesn't.
  4. \n
", "parameters": { - "query": "A key or IDBKeyRange to be queried. If nothing is passed, this will\ndefault to a key range that selects all the records in this object store.", - "count": "Specifies the number of values to return if more than one is found. If it is lower\nthan 0 or greater than 2^32 - 1 a\nTypeError exception will be thrown." + "query": "A key or IDBKeyRange to be queried. If this value is not specified, this will\ndefault to a key range that selects all the records in this object store.

See the earlier query definition.", + "count": "Specifies the number of values to return if more than one is found. If it is lower\nthan 0 or greater than 2^32 - 1 a\nTypeError exception will be thrown.

See the earlier count definition.", + "direction": "An enumerated value specifying the direction in which the objects are traversed. Possible values are:\n

\n
next
\n
\n

The objects are traversed from the beginning, in increasing key order. This is the default value.\n

\n
nextunique
\n
\n

The objects are traversed from the beginning, in increasing key order. This will yield the same objects as next, because duplicate keys are not allowed in IDBObjectStores.\n

\n
prev
\n
\n

The objects are traversed from the end, in decreasing key order.\n

\n
prevunique
\n
\n

The objects are traversed from the end, in decreasing key order. This will yield the same objects as prev, because duplicate keys are not allowed in IDBObjectStores.\n

\n
" }, "returns": "An IDBRequest object on which subsequent events related to this operation are fired.\n

If the operation is successful, the value of the request's result property is an Array of the values of all records matching the given query, up to the value of count, if count was supplied.", "throws": { "TransactionInactiveError DOMException": "Thrown if this IDBObjectStore's transaction is inactive.", "DataError DOMException": "Thrown if key or key range provided contains an invalid key or is null.", "InvalidStateError DOMException": "Thrown if the IDBObjectStore has been deleted or removed.", - "TypeError": "Thrown if the count parameter is not between 0 and 2^32 - 1 included." + "TypeError DOMException": "Thrown if the count parameter is not between 0 and 2^32 - 1, inclusive." } }, "idbobjectstore.getallkeys": { @@ -33221,14 +32680,43 @@ }, "doc": "The getAllKeys() method of the IDBObjectStore\ninterface returns an IDBRequest object retrieves record keys for all\nobjects in the object store matching the specified parameter or all objects in the\nstore if no parameters are given.\n

If a value is successfully found, then a structured clone of it is created and set as\nthe result of the request object.\n

This method produces the same result for:\n

\n

To tell these situations apart, you need to call the\nopenCursor() method with the same key. That\nmethod provides a cursor if the record exists, and no cursor if it does not.", "parameters": { - "query": "A value that is or resolves to an IDBKeyRange.", - "count": "Specifies the number of values to return if more than one is found. If it is lower\nthan 0 or greater than 2^32 - 1 a\nTypeError exception will be thrown." + "query": "A value that is or resolves to an IDBKeyRange. If this value is not specified, this will\ndefault to a key range that selects all the records in this object store.

See the earlier query definition.", + "count": "Specifies the number of values to return if more than one is found. If it is lower\nthan 0 or greater than 2^32 - 1 a\nTypeError exception will be thrown.

See the earlier count definition.", + "direction": "An enumerated value specifying the direction in which the objects are traversed. Possible values are:\n

\n
next
\n
\n

The objects are traversed from the beginning, in increasing key order. This is the default value.\n

\n
nextunique
\n
\n

The objects are traversed from the beginning, in increasing key order. This will yield the same keys as next, because duplicate keys are not allowed in IDBObjectStores.\n

\n
prev
\n
\n

The objects are traversed from the end, in decreasing key order.\n

\n
prevunique
\n
\n

The objects are traversed from the end, in decreasing key order. This will yield the same keys as prev, because duplicate keys are not allowed in IDBObjectStores.\n

\n
" }, "returns": "An IDBRequest object on which subsequent events related to this operation are fired.\n

If the operation is successful, the value of the request's result property is an Array of the keys for all records matching the given query, up to the value of count, if count was supplied.", "throws": { "TransactionInactiveError DOMException": "Thrown if this IDBObjectStore's transaction is inactive.", "DataError DOMException": "Thrown if the key or key range provided contains an invalid key or is null.", - "InvalidStateError DOMException": "Thrown if the IDBObjectStore has been deleted or removed." + "InvalidStateError DOMException": "Thrown if the IDBObjectStore has been deleted or removed.", + "TypeError DOMException": "Thrown if the count parameter is not between 0 and 2^32 - 1, inclusive." + } + }, + "idbobjectstore.getallrecords": { + "url": "$MDN_URL$/web/api/idbobjectstore/getallrecords", + "status": [ + "Experimental", + "StandardTrack" + ], + "compatibility": { + "Chrome": "141", + "ChromeAndroid": "141", + "Edge": "141" + }, + "baseline": { + "level": "NONE" + }, + "doc": "The getAllRecords() method of the IDBObjectStore\ninterface retrieves all records (including primary keys and values) from the object store.\n

getAllRecords() effectively combines the functionality of getAllKeys() and getAll() by enumerating both primary keys and values at the same time. This combined operation enables certain data retrieval patterns to be significantly faster than alternatives such as iteration with cursors.", + "parameters": { + "query": "A key or an IDBKeyRange identifying the records to retrieve. If this value is null or not specified, the browser will use an unbound key range.", + "count": "The number of records to return. If this value exceeds the number of records in the query, the browser will retrieve only the queried records. If the value is less than 0 or greater than 2^32 - 1, a TypeError exception will be thrown.", + "direction": "An enumerated value specifying the direction in which the records are traversed, which in turn defines the order in which they are returned. Possible values are:\n

\n
next
\n
\n

The records are traversed from the beginning, in increasing key order. This is the default value.\n

\n
nextunique
\n
\n

The records are traversed from the beginning, in increasing key order. This will yield the same records as next, because duplicate keys are not allowed in IDBObjectStores.\n

\n
prev
\n
\n

The records are traversed from the end, in decreasing key order.\n

\n
prevunique
\n
\n

The records are traversed from the end, in decreasing key order. This will yield the same records as prev, because duplicate keys are not allowed in IDBObjectStores.\n

\n
" + }, + "returns": "An IDBRequest object on which subsequent events related to this operation are fired.\n

If the operation is successful, the value of the request's result property is an array of objects representing all records that match the given query, up to the number specified by count (if provided).\n

Each object contains the following properties:\n

\n
key
\n
\n

A value representing the record's key.\n

\n
primaryKey
\n
\n

The record's key; identical to the key property.\n

\n
value
\n
\n

A value representing the record's value.\n

\n
", + "throws": { + "InvalidStateError DOMException": "Thrown if the IDBObjectStore has been deleted or removed.", + "TransactionInactiveError DOMException": "Thrown if this IDBObjectStore's transaction is inactive.", + "TypeError DOMException": "Thrown if the count parameter is not between 0 and 2^32 - 1, inclusive." } }, "idbobjectstore.getkey": { diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-index.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-index.json index dfa0b53201c5..833ed0922ecd 100644 --- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-index.json +++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-index.json @@ -4,8 +4,6 @@ "abstractrange.endoffset": "staticrange.endoffset", "abstractrange.startcontainer": "staticrange.startcontainer", "abstractrange.startoffset": "staticrange.startoffset", - "animatable.animate": "element.animate", - "animatable.getanimations": "element.getanimations", "animationframeprovider.cancelanimationframe": "window.cancelanimationframe", "animationframeprovider.requestanimationframe": "window.requestanimationframe", "ariamixin.ariaatomic": "elementinternals.ariaatomic", @@ -121,10 +119,10 @@ "canvastransform.transform": "offscreencanvasrenderingcontext2d.transform", "canvastransform.translate": "offscreencanvasrenderingcontext2d.translate", "canvasuserinterface.drawfocusifneeded": "canvasrenderingcontext2d.drawfocusifneeded", - "childnode.after": "element.after", - "childnode.before": "element.before", - "childnode.remove": "element.remove", - "childnode.replacewith": "element.replacewith", + "childnode.after": "documenttype.after", + "childnode.before": "documenttype.before", + "childnode.remove": "documenttype.remove", + "childnode.replacewith": "documenttype.replacewith", "credential.id": "publickeycredential.id", "cssgroupingrule.cssrules": "cssstylerule.cssrules", "cssgroupingrule.deleterule": "cssstylerule.deleterule", @@ -208,17 +206,15 @@ "navigatorplugins.pdfviewerenabled": "navigator.pdfviewerenabled", "navigatorplugins.plugins": "navigator.plugins", "navigatorstorage.storage": "navigator.storage", - "nondocumenttypechildnode.nextelementsibling": "element.nextelementsibling", - "nondocumenttypechildnode.previouselementsibling": "element.previouselementsibling", - "parentnode.append": "element.append", - "parentnode.childelementcount": "element.childelementcount", - "parentnode.children": "element.children", - "parentnode.firstelementchild": "element.firstelementchild", - "parentnode.lastelementchild": "element.lastelementchild", - "parentnode.prepend": "element.prepend", - "parentnode.queryselector": "element.queryselector", - "parentnode.queryselectorall": "element.queryselectorall", - "parentnode.replacechildren": "element.replacechildren", + "parentnode.append": "documentfragment.append", + "parentnode.childelementcount": "documentfragment.childelementcount", + "parentnode.children": "documentfragment.children", + "parentnode.firstelementchild": "documentfragment.firstelementchild", + "parentnode.lastelementchild": "documentfragment.lastelementchild", + "parentnode.prepend": "documentfragment.prepend", + "parentnode.queryselector": "documentfragment.queryselector", + "parentnode.queryselectorall": "documentfragment.queryselectorall", + "parentnode.replacechildren": "documentfragment.replacechildren", "popoverinvokerelement.popovertargetaction": "htmlinputelement.popovertargetaction", "popoverinvokerelement.popovertargetelement": "htmlinputelement.popovertargetelement", "readablestreamgenericreader.cancel": "readablestreamdefaultreader.cancel", @@ -249,7 +245,6 @@ "set.keys": "highlight.keys", "set.size": "highlight.size", "set.values": "highlight.values", - "slottable.assignedslot": "text.assignedslot", "subtlecrypto.derivebits": "subtlecrypto.derivebits.derivebits", "subtlecrypto.derivekey": "subtlecrypto.derivekey.derivekey", "subtlecrypto.exportkey": "subtlecrypto.exportkey.exportkey", diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-l.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-l.json index 8188fd2f3b4c..10432999373d 100644 --- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-l.json +++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-l.json @@ -1270,7 +1270,7 @@ "lowDate": "2023-01-12", "highDate": "2025-07-12" }, - "doc": "The dataset read-only property of the MathMLElement interface provides read/write access to custom data attributes (data-*) on elements. It exposes a map of strings (DOMStringMap) with an entry for each data-* attribute.\n

The dataset property itself can be read, but not directly written. Instead, all writes must be to the individual properties within the dataset, which in turn represent the data attributes." + "doc": "The dataset read-only property of the MathMLElement interface provides read/write access to custom data attributes (data-*) on elements. It exposes a map of strings (DOMStringMap) with an entry for each data-* attribute.\n

The dataset property itself can be read, but not directly written. Instead, all writes must be to the individual properties within the dataset, which in turn represent the data attributes." }, "mathmlelement.focus": { "url": "$MDN_URL$/web/api/mathmlelement/focus", @@ -1318,7 +1318,7 @@ "lowDate": "2023-01-12", "highDate": "2025-07-12" }, - "doc": "The read-only style property of the MathMLElement returns the inline style of an element in the form of a live CSSStyleDeclaration object that contains a list of all styles properties for that element with values assigned only for the attributes that are defined in the element's inline style attribute.\n

Shorthand properties are expanded. If you set style=\"border-top: 1px solid black\", the longhand properties (border-top-color, border-top-style, and border-top-width) are set instead.\n

This property is read-only, meaning it is not possible to assign a CSSStyleDeclaration object to it. Nevertheless, it is possible to set an inline style by assigning a string directly to the style property. In this case the string is forwarded to CSSStyleDeclaration.cssText. Using style in this manner will completely overwrite all inline styles on the element.\n

Therefore, to add specific styles to an element without altering other style values, it is generally preferable to set individual properties on the CSSStyleDeclaration object. For example, you can write element.style.backgroundColor = \"red\".\n

A style declaration is reset by setting it to null or an empty string, e.g., elt.style.color = null.\n

\n

Note:\nCSS property names are converted to JavaScript identifier with these rules:\n

\n

The style property has the same priority in the CSS cascade as an inline style declaration set via the style attribute.\n

" + "doc": "The read-only style property of the MathMLElement returns the inline style of an element in the form of a live CSSStyleProperties object.\nThis object can be used to get and set the inline styles of an element." }, "mathmlelement.tabindex": { "url": "$MDN_URL$/web/api/mathmlelement/tabindex", @@ -1618,7 +1618,7 @@ }, "doc": "

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

\n

The getDisplayMedia() method of the MediaDevices interface prompts the user to select and grant permission to capture the contents of a display or portion thereof (such as a window) as a MediaStream.\n

The resulting stream can then be recorded using the MediaStream Recording API or transmitted as part of a WebRTC session.\n

See Using the Screen Capture API for more details and an example.", "parameters": { - "options": "An optional object specifying requirements for the returned MediaStream.\nThe options for getDisplayMedia() work in the same as the constraints for the MediaDevices.getUserMedia() method, although in that case only audio and video can be specified.\nThe list of possible option properties for getDisplayMedia() is as follows:\n

\n
video Optional
\n
\n

A boolean or a MediaTrackConstraints instance; the default value is true.\nIf this option is omitted or set to true, the returned MediaStream will contain a video track.\nSince getDisplayMedia() requires a video track, if this option is set to false the promise will reject with a TypeError.\n

\n
audio Optional
\n
\n

A boolean or a MediaTrackConstraints instance; the default value is false.\nA value of true indicates that the returned MediaStream will contain an audio track, if audio is supported and available for the display surface chosen by the user.\n

\n
controller Optional
\n
\n

A CaptureController object instance containing methods that can be used to further manipulate the capture session if included.\n

\n
monitorTypeSurfaces Optional
\n
\n

An enumerated value specifying whether the browser should offer entire screens in the screen capture options presented to the user alongside tab and window options.\nThis option is intended to protect companies from leakage of private information through employee error when using video conferencing apps.\nPossible values are include, which hints that the browser should include screen options, and exclude, which hints that they should be excluded.\nA default value is not mandated by the spec; see the Browser compatibility section for browser-specific defaults.\n

\n

Note:\nYou cannot set monitorTypeSurfaces: \"exclude\" at the same time as displaySurface: \"monitor\" as the two settings are contradictory.\nTrying to do so will result in the getDisplayMedia() call failing with a TypeError.\n

\n
\n
preferCurrentTab Optional
\n
\n

A boolean; a value of true instructs the browser to offer the current tab as the most prominent capture source, i.e., as a separate \"This Tab\" option in the \"Choose what to share\" options presented to the user.\nThis is useful as many app types generally just want to share the current tab.\nFor example, a slide deck app might want to let the user stream the current tab containing the presentation to a virtual conference.\nA default value is not mandated by the spec; see the Browser compatibility section for browser-specific defaults.\n

\n
selfBrowserSurface Optional
\n
\n

An enumerated value specifying whether the browser should allow the user to select the current tab for capture.\nThis helps to avoid the \"infinite hall of mirrors\" effect experienced when a video conferencing app inadvertently shares its own display.\nPossible values are include, which hints that the browser should include the current tab in the choices offered for capture, and exclude, which hints that it should be excluded.\nA default value is not mandated by the spec; see the Browser compatibility section for browser-specific defaults.\n

\n
surfaceSwitching Optional
\n
\n

An enumerated value specifying whether the browser should display a control to allow the user to dynamically switch the shared tab during screen-sharing.\nThis is much more convenient than having to go through the whole sharing process again each time a user wants to switch the shared tab.\nPossible values are include, which hints that the browser should include the control, and exclude, which hints that it should not be shown.\nA default value is not mandated by the spec; see the Browser compatibility section for browser-specific defaults.\n

\n
systemAudio Optional
\n
\n

An enumerated value specifying whether the browser should include the system audio among the possible audio sources offered to the user.\nPossible values are include, which hints that the browser should include the system audio in the list of choices, and exclude, which hints that it should be excluded.\nA default value is not mandated by the spec; see the Browser compatibility section for browser-specific defaults.\n

\n
" + "options": "An object specifying requirements for the returned MediaStream.\nThe options for getDisplayMedia() work in the same as the constraints for the MediaDevices.getUserMedia() method, although in that case only audio and video can be specified.\nThe list of possible option properties for getDisplayMedia() is as follows:\n
\n
video Optional
\n
\n

A boolean or a MediaTrackConstraints instance; the default value is true.\nIf this option is omitted or set to true, the returned MediaStream will contain a video track.\nSince getDisplayMedia() requires a video track, if this option is set to false the promise will reject with a TypeError.\n

\n
audio Optional
\n
\n

A boolean or a MediaTrackConstraints instance; the default value is false.\nA value of true indicates that the returned MediaStream will contain an audio track, if audio is supported and available for the display surface chosen by the user.\n

\n
controller Optional
\n
\n

A CaptureController object instance containing methods that can be used to further manipulate the capture session if included.\n

\n
monitorTypeSurfaces Optional
\n
\n

An enumerated value specifying whether the browser should offer entire screens in the screen capture options presented to the user alongside tab and window options.\nThis option is intended to protect companies from leakage of private information through employee error when using video conferencing apps.\nPossible values are:\n

    \n
  • include: Hints that the browser should include screen options.
  • \n
  • exclude: Hints that screen options should be excluded.
  • \n
\n
\n

Note:\nYou cannot set monitorTypeSurfaces: \"exclude\" at the same time as displaySurface: \"monitor\" as the two settings are contradictory.\nTrying to do so will result in the getDisplayMedia() call failing with a TypeError.\n

\n
\n
preferCurrentTab Optional
\n
\n

A boolean; a value of true instructs the browser to offer the current tab as the most prominent capture source, that is, as a separate \"This Tab\" option in the \"Choose what to share\" options presented to the user.\nThis is useful as many app types generally just want to share the current tab.\nFor example, a slide deck app might want to let the user stream the current tab containing the presentation to a virtual conference.\n

\n
selfBrowserSurface Optional
\n
\n

An enumerated value specifying whether the browser should allow the user to select the current tab for capture.\nThis helps to avoid the \"infinite hall of mirrors\" effect experienced when a video conferencing app inadvertently shares its own display.\nPossible values are:\n

    \n
  • include: Hints that the browser should include the current tab in the choices offered for capture.
  • \n
  • exclude: Hints that the current tab should be excluded from the choices.
  • \n
\n
\n
surfaceSwitching Optional
\n
\n

An enumerated value specifying whether the browser should display a control to allow the user to dynamically switch the shared tab during screen-sharing.\nThis is more convenient than having to go through the whole sharing process again each time a user wants to switch the shared tab.\nPossible values are:\n

    \n
  • include: Hints that the browser should include the control.
  • \n
  • exclude: Hints that the control should not be shown.
  • \n
\n
\n
systemAudio Optional
\n
\n

An enumerated value specifying whether the browser should include the system audio among the possible audio sources offered to the user.\nPossible values are:\n

    \n
  • include: Hints that the browser should include the system audio in the list of choices.
  • \n
  • exclude: Hints that system audio should be excluded from the choices shown.
  • \n
\n
\n
windowAudio Optional
\n
\n

An enumerated value that hints to the browser what audio sharing option the user should be presented with alongside window sharing options. Possible values are:\n

    \n
  • exclude: Hints that audio should not be shareable when a window sharing option is chosen.
  • \n
  • window: Hints that when a window sharing option is chosen, only audio originating from that window should be shared.
  • \n
  • system: Hints that when a window sharing option is chosen, all system audio should be shared.
  • \n
\n
\n
" }, "returns": "A Promise that resolves to a MediaStream containing a video track whose contents come from a user-selected screen area, as well as an optional audio track.\n
\n

Note:\nBrowser support for audio tracks varies, both in terms of whether or not they're supported at all by the media recorder and in terms of the audio sources supported.\nCheck the compatibility table for details for each browser.\n

", "throws": { @@ -5047,7 +5047,7 @@ "lowDate": "2020-01-15", "highDate": "2022-07-15" }, - "doc": "The MediaTrackConstraints dictionary's\nechoCancellation property is a\nConstrainBooleanOrDOMString describing the requested or mandatory constraints placed\nupon the value of the echoCancellation constrainable property.\n

If needed, you can determine whether or not this constraint is supported by checking\nthe value of MediaTrackSupportedConstraints.echoCancellation as returned\nby a call to MediaDevices.getSupportedConstraints(). However, typically\nthis is unnecessary since browsers will ignore any constraints they're unfamiliar with." + "doc": "The MediaTrackConstraints dictionary's\nechoCancellation property is a\nConstrainBooleanOrDOMString describing the requested or mandatory constraints placed\nupon the value of the echoCancellation constrainable property.\n

If needed, you can determine whether or not this constraint is supported by checking\nthe value of MediaTrackSupportedConstraints.echoCancellation as returned\nby a call to MediaDevices.getSupportedConstraints(). However, typically\nthis is unnecessary since browsers will ignore any constraints they're unfamiliar with." }, "mediatrackconstraints.facingmode": { "url": "$MDN_URL$/web/api/mediatrackconstraints/facingmode", @@ -5106,6 +5106,10 @@ }, "doc": "The MediaTrackConstraints dictionary's noiseSuppression property is a ConstrainBoolean describing the requested or mandatory constraints placed upon the value of the noiseSuppression constrainable property.\n

If needed, you can determine whether or not this constraint is supported by checking\nthe value of MediaTrackSupportedConstraints.noiseSuppression as returned\nby a call to MediaDevices.getSupportedConstraints(). However, typically\nthis is unnecessary since browsers will ignore any constraints they're unfamiliar with.\n

Noise suppression is typically provided by microphones, although it can be provided by\nother input sources as well." }, + "mediatrackconstraints.restrictownaudio": { + "url": "$MDN_URL$/web/api/mediatrackconstraints/restrictownaudio", + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The MediaTrackConstraints dictionary's restrictOwnAudio property is a ConstrainBoolean that specifies the requested or mandatory constraints placed on the value of the restrictOwnAudio constrainable property.\n

This property controls whether system audio originating from the capturing tab is filtered out of screen capture, allowing for cleaner screen recordings in some cases. For example, if the capturing web page itself is playing embedded audio or video, that audio would be included in the capture. Since this could lead to an undesirable echo or interfere with the intended audio sources from other tabs or applications, removing it from the capture is desirable.\n

If needed, you can determine whether or not this constraint is supported by checking\nthe value of MediaTrackSupportedConstraints.restrictOwnAudio, as returned\nby MediaDevices.getSupportedConstraints(). However,\nthis is rarely necessary since browsers typically ignore any constraints they don't recognize." + }, "mediatrackconstraints.samplerate": { "url": "$MDN_URL$/web/api/mediatrackconstraints/samplerate", "baseline": { @@ -5251,6 +5255,10 @@ }, "doc": "The MediaTrackSettings dictionary's\nnoiseSuppression property is a Boolean value whose value\nindicates whether or not noise suppression technology is enabled on an audio track. This\nlets you determine what value was selected to comply with your specified constraints for\nthis property's value as described in the\nMediaTrackConstraints.noiseSuppression property you provided when calling\neither getUserMedia() or\nMediaStreamTrack.applyConstraints().\n

Noise suppression automatically filters the audio to remove background noise, hum\ncaused by equipment, and the like from the sound before delivering it to your code. This\nfeature is typically used on microphones, although it is technically possible it could\nbe provided by other input sources as well.\n

If needed, you can determine whether or not this constraint is supported by checking\nthe value of MediaTrackSupportedConstraints.noiseSuppression as returned\nby a call to MediaDevices.getSupportedConstraints(). However, typically\nthis is unnecessary since browsers will ignore any constraints they're unfamiliar with." }, + "mediatracksettings.restrictownaudio": { + "url": "$MDN_URL$/web/api/mediatracksettings/restrictownaudio", + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The MediaTrackSettings dictionary's restrictOwnAudio property controls whether system audio originating from the capturing tab is filtered out of screen capture, allowing for cleaner screen recordings in some cases.\n

For example, if the capturing web page itself is playing embedded audio or video, that audio would be included in the capture. Since this could lead to an undesirable echo or interfere with the intended audio sources from other tabs or applications, removing it from the capture is desirable." + }, "mediatracksettings.samplerate": { "url": "$MDN_URL$/web/api/mediatracksettings/samplerate", "baseline": { @@ -5396,6 +5404,10 @@ }, "doc": "The MediaTrackSupportedConstraints dictionary's\nnoiseSuppression property is a read-only Boolean value\nwhich is present (and set to true) in the object returned by\nMediaDevices.getSupportedConstraints() if and only if the\nuser agent supports the noiseSuppression\nconstraint. If the constraint isn't supported, it's not included in the list, so this\nvalue will never be false.\n

You can access the supported constraints dictionary by calling\nnavigator.mediaDevices.getSupportedConstraints().\n

The noiseSuppression constraint indicates whether or not the browser\noffers the ability to automatically control the gain (volume) on media tracks; this\nobviously is contingent on whether or not the individual device supports automatic gain\ncontrol as well." }, + "mediatracksupportedconstraints.restrictownaudio": { + "url": "$MDN_URL$/web/api/mediatracksupportedconstraints/restrictownaudio", + "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The MediaTrackSupportedConstraints dictionary's restrictOwnAudio property is a read-only boolean value which is present (and set to true) in the object returned by MediaDevices.getSupportedConstraints() if and only if the user agent supports the restrictOwnAudio constraint. If the constraint isn't supported, it's not included in the list, so this value will never be false.\n

You can access the supported constraints dictionary by calling navigator.mediaDevices.getSupportedConstraints()." + }, "mediatracksupportedconstraints.samplerate": { "url": "$MDN_URL$/web/api/mediatracksupportedconstraints/samplerate", "baseline": { @@ -7812,12 +7824,12 @@ }, "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The intercept() method of the\nNavigateEvent interface intercepts this navigation, turning it into a same-document navigation to the destination URL.", "parameters": { - "options": "An options object containing the following properties:\n

\n
handler Optional
\n
\n

A callback function that defines what the navigation handling behavior should be. This generally handles resource fetching, and returns a promise.\n

\n
focusReset Optional
\n
\n

Defines the navigation's focus behavior. This may take one of the following values:\n

\n
after-transition
\n
\n

Once the promise returned by your handler function resolves, the browser will focus the first element with the autofocus attribute, or the <body> element if no element has autofocus set. This is the default value.\n

\n
manual
\n
\n

Disable the default behavior.\n

\n
\n
\n
scroll Optional
\n
\n

Defines the navigation's scrolling behavior. This may take one of the following values:\n

\n
after-transition
\n
\n

Allow the browser to handle scrolling, for example by scrolling to the relevant fragment identifier if the URL contains a fragment, or restoring the scroll position to the same place as last time if the page is reloaded or a page in the history is revisited. This is the default value.\n

\n
manual
\n
\n

Disable the default behavior.\n

\n
\n
\n
" + "options": "An options object containing the following properties:\n
\n
handler Optional
\n
\n

A callback function that defines what the navigation handling behavior should be; it returns a promise. This function will run after the currentEntry property has been updated.\n

\n
precommitHandler Optional
\n
\n

A callback function that defines any behavior that should occur just before the navigation has committed; it accepts a controller object as an argument and returns a promise. This function will run before the currentEntry property has been updated.\n

\n
focusReset Optional
\n
\n

Defines the navigation's focus behavior. This may take one of the following values:\n

\n
after-transition
\n
\n

Once the promise returned by your handler function resolves, the browser will focus the first element with the autofocus attribute, or the <body> element if no element has autofocus set. This is the default value.\n

\n
manual
\n
\n

Disable the default behavior.\n

\n
\n
\n
scroll Optional
\n
\n

Defines the navigation's scrolling behavior. This may take one of the following values:\n

\n
after-transition
\n
\n

Allow the browser to handle scrolling, for example by scrolling to the relevant fragment identifier if the URL contains a fragment, or restoring the scroll position to the same place as last time if the page is reloaded or a page in the history is revisited. This is the default value.\n

\n
manual
\n
\n

Disable the default behavior.\n

\n
\n
\n
" }, "returns": "None (undefined).", "throws": { "InvalidStateError DOMException": "Thrown if the current Document is not yet active, or if the navigation has been cancelled.", - "SecurityError DOMException": "Thrown if the event was dispatched by a dispatchEvent() call, rather than the user agent, or if the navigation cannot be intercepted (i.e., NavigateEvent.canIntercept is false)." + "SecurityError DOMException": "Thrown if:\n" } }, "navigateevent.navigateevent": { @@ -9204,7 +9216,8 @@ "StandardTrack" ], "compatibility": { - "Firefox": "120" + "Firefox": "120", + "FirefoxAndroid": "122" }, "baseline": { "level": "NONE" @@ -9217,10 +9230,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" }, @@ -11062,11 +11072,11 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The isDefaultNamespace() method of the Node interface accepts a namespace URI as an argument.\nIt returns a boolean value that is true if the namespace is the default namespace on the given node and false if not.\n
\n

Note:\nThe default namespace of an HTML element is always \"\". For a SVG element, it is set by the xmlns attribute.\n

", + "doc": "The isDefaultNamespace() method of the Node interface accepts a namespace URI as an argument.\nIt returns a boolean value that is true if the namespace is the default namespace on the given node and false if not. The default namespace can be retrieved with Node.lookupNamespaceURI() by passing null as the argument.", "parameters": { - "namespaceURI": "A string representing the namespace against which the element will be checked.\n
\n

Note:\nnamespaceURI is not an optional parameter, but can be null.\n

" + "namespaceURI": "A string representing the namespace against which the element will be checked. The empty string is equivalent to null.\n
\n

Note:\nnamespaceURI is not an optional parameter, but can be null.\n

" }, - "returns": "A boolean value that holds the return value true or false, indicating if the parameter is the default namespace, or not." + "returns": "A boolean value that holds the return value true or false, indicating if the parameter is the default namespace, or not. It is equivalent to node.lookupNamespaceURI(null) === namespaceURI." }, "node.isequalnode": { "url": "$MDN_URL$/web/api/node/isequalnode", @@ -11164,7 +11174,7 @@ }, "doc": "The lookupNamespaceURI() method of the Node interface\ntakes a prefix as parameter and returns the namespace URI associated with it on the given node if found (and\nnull if not). This method's existence allows Node objects to be passed as a namespace resolver to XPathEvaluator.createExpression() and XPathEvaluator.evaluate().", "parameters": { - "prefix": "The prefix to look for.\n
\n

Note:\nThis parameter is not optional, but can be set to null.\n

" + "prefix": "The prefix to look for. The empty string is equivalent to null, meaning the default namespace.\n
\n

Note:\nThis parameter is not optional, but can be set to null.\n

" }, "returns": "A string containing the namespace URI corresponding to the prefix.\n" }, @@ -11190,7 +11200,7 @@ }, "doc": "The lookupPrefix() method of the Node interface\nreturns a string containing the prefix for a given namespace URI, if present,\nand null if not.\nWhen multiple prefixes are possible, the first prefix is returned.", "parameters": { - "namespace": "A string containing the namespace to look the prefix up.\n
\n

Note:\nThis parameter is not optional but can be set to null.\n

" + "namespace": "A string containing the namespace to look the prefix up. The empty string is equivalent to null, both causing null to be returned.\n
\n

Note:\nThis parameter is not optional but can be set to null.\n

" }, "returns": "A string containing the corresponding prefix, or null if none has been found.\nIf namespace is null, or the empty string, lookupPrefix() returns null.\n

If the node is a DocumentType or a DocumentFragment,\nlookupPrefix() always returns null." }, @@ -12824,10 +12834,7 @@ "SafariIOS": "17" }, "webgpu_context": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" } @@ -13212,8 +13219,9 @@ "SafariIOS": "16.1" }, "baseline": { - "level": "LOW", - "lowDate": "2023-04-11" + "level": "HIGH", + "lowDate": "2023-04-11", + "highDate": "2025-10-11" }, "doc": "The CanvasRenderingContext2D.createConicGradient() method of the Canvas 2D API creates a gradient around a point with given coordinates.\n

This method returns a conic CanvasGradient. To be applied to a shape, the gradient must first be assigned to the fillStyle or strokeStyle properties.\n

\n

Note:\nGradient coordinates are global, i.e., relative to the current coordinate space. When applied to a shape, the coordinates are NOT relative to the shape's coordinates.\n

", "parameters": { @@ -14336,8 +14344,9 @@ "SafariIOS": "16" }, "baseline": { - "level": "LOW", - "lowDate": "2023-04-11" + "level": "HIGH", + "lowDate": "2023-04-11", + "highDate": "2025-10-11" }, "doc": "The CanvasRenderingContext2D.roundRect() method of the Canvas 2D API adds a rounded rectangle to the current path.\n

The radii of the corners can be specified in much the same way as the CSS border-radius property.\n

Like other methods that modify the current path, this method does not directly render anything.\nTo draw the rounded rectangle onto a canvas, you can use the fill() or stroke() methods.", "parameters": { @@ -17304,8 +17313,9 @@ "SafariIOS": "16" }, "baseline": { - "level": "LOW", - "lowDate": "2023-04-11" + "level": "HIGH", + "lowDate": "2023-04-11", + "highDate": "2025-10-11" }, "doc": "The CanvasRenderingContext2D.roundRect() method of the Canvas 2D API adds a rounded rectangle to the current path.\n

The radii of the corners can be specified in much the same way as the CSS border-radius property.\n

Like other methods that modify the current path, this method does not directly render anything.\nTo draw the rounded rectangle onto a canvas, you can use the fill() or stroke() methods.", "parameters": { @@ -19148,7 +19158,7 @@ "baseline": { "level": "NONE" }, - "doc": "The read-only interactionId property or the PerformanceEventTiming interface returns an ID that uniquely identifies a user interaction which triggered a series of associated events." + "doc": "The read-only interactionId property of the PerformanceEventTiming interface returns an ID that uniquely identifies a user interaction which triggered a series of associated events." }, "performanceeventtiming.processingend": { "url": "$MDN_URL$/web/api/performanceeventtiming/processingend", @@ -23460,7 +23470,7 @@ "lowDate": "2025-02-06" }, "doc": "

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

\n

The getClientCapabilities() static method of the PublicKeyCredential interface returns a Promise that resolves with an object that can be used to check whether or not particular WebAuthn client capabilities and extensions are supported.\n

A relying party (RP) can use this information to appropriately customize its sign-in and sign-up user interfaces and workflows.", - "returns": "A Promise that resolves to an object where the property names are the client capability strings, and the values are boolean values that indicate whether or not the corresponding capability or extension is supported.\n

The WebAuthn client capability strings are:\n

\n
\"conditionalCreate\"
\n
\n

The client is capable of creating discoverable credentials.\n

\n
\"conditionalGet\"
\n
\n

The client is capable of authenticating using discoverable credentials.\nThis capability is equivalent to isConditionalMediationAvailable() resolving to true.\n

\n
\"hybridTransport\"
\n
\n

The client supports usage of the hybrid transport.\nThis means that the client can use authenticators that rely on Bluetooth, NFC, or USB.\n

\n
\"passkeyPlatformAuthenticator\"
\n
\n

The client allows usage of a passkey authenticator that supports multi-factor authentication mechanisms such as a PIN or biometric check.\nThe authenticator can be part of the same platform (device) as the client, or connected via a hybrid transport such as Bluetooth or USB.\nThe credentials are stored on the authenticator.\nSee Passkeys developer guide for relying parties.\n

\n
userVerifyingPlatformAuthenticator
\n
\n

The client has a platform authenticator (part of the same device) that supports multi-factor authentication mechanisms, such as a PIN or biometric check.\nThe credentials may be stored on either the RP or the authenticator.\n

\n
relatedOrigins
\n
\n

The client supports Related Origin Requests.\nThese clients allow a passkey to be used across multiple sites that have the same origin.\n

\n
signalAllAcceptedCredentials
\n
\n

The client supports the PublicKeyCredential.signalAllAcceptedCredentials() static method.\nIf not supported, RP workflows will need to prompt the user to manually delete credentials on the authenticator.\n

\n
signalCurrentUserDetails
\n
\n

The client supports the PublicKeyCredential.signalCurrentUserDetails() static method.\nIf not supported, RP workflows will need to prompt the user to manually update user details on the authenticator.\n

\n
signalUnknownCredential
\n
\n

The client supports the PublicKeyCredential.signalUnknownCredential() static method.\nIf not supported, RP workflows will need to prompt the user to manually delete credentials from the authenticator.\n

\n
\n

The web extension strings are formatted by prefixing the extension identifier with the prefix extension:.\nFor example, the key extension:appid can be used to check if the appid extension is supported.", + "returns": "A Promise that resolves to an object where the property names are the client capability strings, and the values are boolean values that indicate whether or not the corresponding capability or extension is supported.\n

The WebAuthn client capability strings are:\n

\n
\"conditionalCreate\"
\n
\n

The client is capable of creating discoverable credentials.\n

\n
\"conditionalGet\"
\n
\n

The client is capable of authenticating using discoverable credentials.\nThis capability is equivalent to isConditionalMediationAvailable() resolving to true.\n

\n
\"hybridTransport\"
\n
\n

The client supports usage of the hybrid transport.\nThis means that the client can use authenticators that rely on Bluetooth, NFC, or USB.\n

\n
\"passkeyPlatformAuthenticator\"
\n
\n

The client allows usage of a passkey authenticator that supports multi-factor authentication mechanisms such as a PIN or biometric check.\nThe authenticator can be part of the same platform (device) as the client, or connected via a hybrid transport such as Bluetooth or USB.\nThe credentials are stored on the authenticator.\nSee Passkeys developer guide for relying parties.\n

\n
userVerifyingPlatformAuthenticator
\n
\n

The client has a platform authenticator (part of the same device) that supports multi-factor authentication mechanisms, such as a PIN or biometric check.\nThe credentials may be stored on either the RP or the authenticator.\n

\n
relatedOrigins
\n
\n

The client supports Related Origin Requests.\nThese clients allow a passkey to be used across multiple sites that have the same origin.\n

\n
signalAllAcceptedCredentials
\n
\n

The client supports the PublicKeyCredential.signalAllAcceptedCredentials() static method.\nIf not supported, RP workflows will need to prompt the user to manually delete credentials on the authenticator.\n

\n
signalCurrentUserDetails
\n
\n

The client supports the PublicKeyCredential.signalCurrentUserDetails() static method.\nIf not supported, RP workflows will need to prompt the user to manually update user details on the authenticator.\n

\n
signalUnknownCredential
\n
\n

The client supports the PublicKeyCredential.signalUnknownCredential() static method.\nIf not supported, RP workflows will need to prompt the user to manually delete credentials from the authenticator.\n

\n
\n

The web extension strings are formatted by prefixing the extension identifier with the prefix extension:.\nFor example, the key extension:appid can be used to check if the appid extension is supported.", "throws": { "SecurityError DOMException": "The RP domain is not valid." } @@ -23540,7 +23550,7 @@ "lowDate": "2021-09-07", "highDate": "2024-03-07" }, - "doc": "

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

\n

The isUserVerifyingPlatformAuthenticatorAvailable() static method of the PublicKeyCredential interface returns a Promise which resolves to true if a user-verifying platform authenticator is present.\n

A user-verifying platform authenticator is a kind of multi-factor authenticator that is part of the client device (it is generally not removable) and that involves an action from the user in order to identify them. Common user-verifying platform authenticators include:\n

\n
\n

Note:\nThis method may only be used in top-level contexts and will not be available in an <iframe> for example.\n

", + "doc": "

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

\n

The isUserVerifyingPlatformAuthenticatorAvailable() static method of the PublicKeyCredential interface returns a Promise which resolves to true if a user-verifying platform authenticator is present.\n

A user-verifying platform authenticator is a kind of multi-factor authenticator that is part of the client device (it is generally not removable) and that involves an action from the user in order to identify them. Common user-verifying platform authenticators include:\n

\n
\n

Note:\nThis method may only be used in top-level contexts and will not be available in an <iframe> for example.\n

", "returns": "A Promise which resolves to a boolean value indicating whether or a not a user-verifying platform authenticator is available.\n
\n

Note:\nIn earlier versions of the specification, the boolean also conveyed the consent of the user to disclose such an authenticator existed.\n

", "throws": { "SecurityError DOMException": "The RP domain is not valid." @@ -24416,6 +24426,11 @@ "Nodejs": "11.0.0", "Deno": "" }, + "baseline": { + "level": "HIGH", + "lowDate": "2020-07-28", + "highDate": "2023-01-28" + }, "doc": "The queueMicrotask() method of the Window interface\nqueues a microtask to be executed at a safe time prior to control returning to the\nbrowser's event loop.\n

The microtask is a short function which will run after\nthe current task has completed its work and when there is no other code waiting to be\nrun before control of the execution context is returned to the browser's event loop.\n

This lets your code run without interfering with any other, potentially higher\npriority, code that is pending, but before the browser regains control over the\nexecution context, potentially depending on work you need to complete. You can learn\nmore about how to use microtasks and why you might choose to do so in our microtask guide.\n

The importance of microtasks comes in its ability to perform tasks asynchronously but\nin a specific order. See Using microtasks in JavaScript with queueMicrotask() for more details.\n

Microtasks are especially useful for libraries and frameworks that need to perform\nfinal cleanup or other just-before-rendering tasks.", "parameters": { "callback": "A function to be executed when the browser engine determines it is\nsafe to call your code. Enqueued microtasks are executed after all pending tasks have\ncompleted but before yielding control to the browser's event loop." diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-r.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-r.json index 3d9b10497815..85fa99569a44 100644 --- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-r.json +++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-r.json @@ -1228,7 +1228,7 @@ "doc": "

Note: This feature is available in Web Workers.

\n

The ReadableStream() constructor creates and returns a readable stream object from the given handlers.\n

Note that while all parameters are technically optional, omitting the underlyingSource will result in a stream that has no source, and that can't be read from (readers return a promise that will never be resolved).", "parameters": { "underlyingSource": "An object containing methods and properties that define how the constructed stream instance will behave.\nunderlyingSource can contain the following:\n

\n
start (controller) Optional
\n
\n

This is a method, called immediately when the object is constructed. The\ncontents of this method are defined by the developer, and should aim to get access\nto the stream source, and do anything else required to set up the stream\nfunctionality. If this process is to be done asynchronously, it can return a\npromise to signal success or failure. The controller parameter passed\nto this method is a ReadableStreamDefaultController or a\nReadableByteStreamController, depending on the value of the\ntype property. This can be used by the developer to control the\nstream during set up.\n

\n
pull (controller) Optional
\n
\n

This method, also defined by the developer, will be called repeatedly when the\nstream's internal queue of chunks is not full, up until it reaches its high water\nmark. If pull() returns a promise, then it won't be called again\nuntil that promise fulfills; if the promise rejects, the stream will become\nerrored. The controller parameter passed to this method is a\nReadableStreamDefaultController or a\nReadableByteStreamController, depending on the value of the\ntype property. This can be used by the developer to control the\nstream as more chunks are fetched. This function will not be called until start()\nsuccessfully completes. Additionally, it will only be called repeatedly if it\nenqueues at least one chunk or fulfills a BYOB request; a no-op pull()\nimplementation will not be continually called.\n

\n
cancel (reason) Optional
\n
\n

This method, also defined by the developer, will be called if the app signals\nthat the stream is to be cancelled (e.g., if ReadableStream.cancel()\nis called). The contents should do whatever is necessary to release access to the\nstream source. If this process is asynchronous, it can return a promise to signal\nsuccess or failure. The reason parameter contains a\nstring describing why the stream was cancelled.\n

\n
type Optional
\n
\n

This property controls what type of readable stream is being dealt with. If it\nis included with a value set to \"bytes\", the passed controller object\nwill be a ReadableByteStreamController capable of handling a BYOB\n(bring your own buffer)/byte stream. If it is not included, the passed controller\nwill be a ReadableStreamDefaultController.\n

\n
autoAllocateChunkSize Optional
\n
\n

For byte streams, the developer can set the autoAllocateChunkSize with a positive integer value to turn on the stream's auto-allocation feature.\nWith this is set, the stream implementation will automatically allocate a view buffer of the specified size in ReadableByteStreamController.byobRequest when required.\n

This must be set to enable zero-copy transfers to be used with a default ReadableStreamDefaultReader.\nIf not set, a default reader will still stream data, but ReadableByteStreamController.byobRequest will always be null and transfers to the consumer must be via the stream's internal queues.\n

\n
", - "queuingStrategy": "An object that optionally defines a queuing strategy for the stream. This takes two\nparameters:\n
\n
highWaterMark
\n
\n

A non-negative integer — this defines the total number of chunks that can be\ncontained in the internal queue before backpressure is applied.\n

\n
size(chunk)
\n
\n

A method containing a parameter chunk — this indicates the size to\nuse for each chunk, in bytes.\n

\n
\n
\n

Note:\nYou could define your own custom\nqueuingStrategy, or use an instance of\nByteLengthQueuingStrategy or CountQueuingStrategy\nfor this object value. If no queuingStrategy is supplied, the default\nused is the same as a CountQueuingStrategy with a high water mark of\n1.\n

" + "queuingStrategy": "An object that optionally defines a queuing strategy for the stream. This takes two\nparameters:\n
\n
highWaterMark
\n
\n

A non-negative integer — this defines the total size of all chunks that can be\ncontained in the internal queue before backpressure is applied.\n

\n
size(chunk)
\n
\n

A method containing a parameter chunk — this indicates the size to\nuse for each chunk, in bytes.\n

\n
\n
\n

Note:\nYou could define your own custom\nqueuingStrategy, or use an instance of\nByteLengthQueuingStrategy or CountQueuingStrategy\nfor this object value. If no queuingStrategy is supplied, the default\nused is the same as a CountQueuingStrategy with a high water mark of\n1.\n

" }, "returns": "An instance of the ReadableStream object.", "throws": { @@ -8118,7 +8118,8 @@ "SafariIOS": "15.4" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-03" }, "doc": "The transform property of the RTCRtpReceiver object is used to insert a transform stream (TransformStream) running in a worker thread into the receiver pipeline.\nThis allows stream transforms to be applied to encoded video and audio frames as they arrive from the packetizer (before they are played/rendered).\n

The transform that is to be added is defined using an RTCRtpScriptTransform and its associated Worker.\nIf the transform is set in the peer connection track event handler, the transform stream will receive the first full incoming frame for the track." }, @@ -8159,7 +8160,8 @@ "SafariIOS": "15.4" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-03" }, "doc": "The RTCRtpScriptTransform interface of the WebRTC API is used to insert a WebRTC Encoded Transform (a TransformStream running in a worker thread) into the WebRTC sender and receiver pipelines." }, @@ -8178,7 +8180,8 @@ "SafariIOS": "15.4" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-03" }, "doc": "The RTCRtpScriptTransform() constructor creates a new RTCRtpScriptTransform object.\n

Constructing the RTCRtpScriptTransform creates a counterpart RTCRtpScriptTransformer in the specified worker, along with passed options (if any). Objects in the third parameter to the constructor are transferred.\n

The rtctransform event is then fired at the worker global object.\nWorker code can use the event.transformer property to get the counterpart RTCRtpScriptTransformer, and event.transformer.options is used to get the options.\n

Note that the options are primarily used to inform the worker whether the transformer is processing incoming or outgoing frames, so that it can apply an appropriate transform.", "parameters": { @@ -8205,7 +8208,8 @@ "SafariIOS": "15.4" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-03" }, "doc": "The RTCRtpScriptTransformer interface of the WebRTC API provides a worker-side Stream API interface that a WebRTC Encoded Transform can use to modify encoded media frames in the incoming and outgoing WebRTC pipelines.\n

\n

Note:\nThis feature is available in Dedicated Web Workers.\n

" }, @@ -8249,7 +8253,8 @@ "SafariIOS": "15.4" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-03" }, "doc": "The options read-only property of the RTCRtpScriptTransformer interface returns the object that was (optionally) passed as the second argument during construction of the corresponding RTCRtpScriptTransform." }, @@ -8268,7 +8273,8 @@ "SafariIOS": "15.4" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-03" }, "doc": "The readable read-only property of the RTCRtpScriptTransformer interface returns a ReadableStream instance is a source for encoded media frames.\n

When the corresponding RTCRtpScriptTransform is inserted into the WebRTC sender and receiver pipelines, this stream may be enqueued with outgoing or incoming encoded media frames (RTCEncodedVideoFrame or RTCEncodedAudioFrame).\nA WebRTC encoded transform can read the frames, modify them as needed, and then send them back into the WebRTC pipeline by writing them to RTCRtpScriptTransformer.writable.\nA common way to perform this operation is to pipe the frames through a TransformStream." }, @@ -8287,7 +8293,8 @@ "SafariIOS": "15.4" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-03" }, "doc": "The sendKeyFrameRequest() method of the RTCRtpScriptTransformer interface may be called by a WebRTC Encoded Transform that is processing incoming encoded video frames, in order to request a key frame from the sender.\n

The method may only be called when receiving video (not audio) frames and if, for whatever reason, a recipient will not be able to decode the video without a new key frame.\nNote that the user agent can decide that the request for a key frame is not necessary, in which case the returned promise will fulfill even though the request was not actually sent.\n

\n

Note:\nIt might be called, for example, if a new user joins a WebRTC conference, in order to reduce the time before they receive a key frame and can hence start displaying video.\nFor more information see Triggering a key frame in Using WebRTC Encoded Transforms.\n

", "returns": "A Promise that fulfills with undefined once the request is sent, or the user agent decides that it does not need to.", @@ -8310,7 +8317,8 @@ "SafariIOS": "15.4" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-03" }, "doc": "The writable read-only property of the RTCRtpScriptTransformer interface returns a WritableStream instance that can be used as a sink for encoded media frames enqueued on the corresponding RTCRtpScriptTransformer.readable.\n

When the corresponding RTCRtpScriptTransform is inserted into the WebRTC sender and receiver pipelines, encoded media frames (RTCEncodedVideoFrame or RTCEncodedAudioFrame) may be enqueued on the RTCRtpScriptTransformer.readable.\nA WebRTC encoded transform can read the frames from readable, modify them as needed, and then send them back into the WebRTC pipeline by sending them to this writable.\nA common way to perform this operation is to pipe the frames through a TransformStream." }, @@ -8557,7 +8565,8 @@ "SafariIOS": "15.4" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-03" }, "doc": "The transform property of the RTCRtpSender object is used to insert a transform stream (TransformStream) running in a worker thread into the sender pipeline.\nThis allows stream transforms to be applied to encoded video and audio frames after they are output by a codec, and before they are sent.\n

The transform that is to be added is defined using an RTCRtpScriptTransform and its associated Worker.\nIf the transform is set synchronously immediately after creating the RTCRtpSender it will receive the first full frame generated by the sender's encoder." }, @@ -9371,7 +9380,8 @@ "SafariIOS": "15.4" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-03" }, "doc": "The RTCTransformEvent of the WebRTC API represent an event that is fired in a dedicated worker when an encoded frame has been queued for processing by a WebRTC Encoded Transform.\n

The interface has a transformer property that exposes a readable stream and a writable stream.\nA worker should read encoded frames from transformer.readable, modify them as needed, and write them to transformer.writable in the same order and without any duplication.\n

At time of writing there is just one event based on RTCTransformEvent: rtctransform." }, @@ -9390,7 +9400,8 @@ "SafariIOS": "15.4" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-03" }, "doc": "The read-only transformer property of the RTCTransformEvent interface returns the RTCRtpScriptTransformer associated with the event.\n

The property exposes the WebRTC sender or receiver pipeline as a readable and writable stream of encoded media frames, which a WebRTC Encoded Transform can insert itself into in order to modify frames." }, @@ -13629,7 +13640,11 @@ "parameters": { "source": "Either an ArrayBuffer, a TypedArray or a DataView object\nthat contains the media segment data you want to add to the SourceBuffer." }, - "returns": "None (undefined)." + "returns": "None (undefined).", + "throws": { + "InvalidStateError DOMException": "Thrown in one of the following cases:\n

", + "QuotaExceededError": "The buffer is full, and no more data can be appended. This might occur if the SourceBuffer has reached a browser-defined limit on the amount of buffered data." + } }, "sourcebuffer.appendbufferasync": { "url": "$MDN_URL$/web/api/sourcebuffer/appendbufferasync", @@ -14098,8 +14113,9 @@ "StandardTrack" ], "compatibility": { - "Chrome": "142", - "Edge": "142" + "Chrome": "139", + "Edge": "139", + "Opera": "123" }, "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The available() static method of the Web Speech API checks whether the specified languages are available for speech recognition.\n

To install a language pack for speech recognition locally, use the SpeechRecognition.install() method.\n

Access to the available() method is controlled by the on-device-speech-recognition Permissions-Policy. Specifically, where a defined policy blocks usage, any attempts to call the method will fail.", "parameters": { @@ -14148,8 +14164,9 @@ "StandardTrack" ], "compatibility": { - "Chrome": "142", - "Edge": "142" + "Chrome": "139", + "Edge": "139", + "Opera": "123" }, "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The install() static method of the Web Speech API installs the required language packs for on-device speech recognition in the specified languages.\n

To check if the language packs are already available, use the SpeechRecognition.available() method.\n

Access to the install() method is controlled by the on-device-speech-recognition Permissions-Policy directive. Specifically, where a defined policy blocks usage, any attempts to call the method will fail.", "parameters": { @@ -14234,8 +14251,9 @@ "StandardTrack" ], "compatibility": { - "Chrome": "142", - "Edge": "142" + "Chrome": "139", + "Edge": "139", + "Opera": "123" }, "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The processLocally property of the\nSpeechRecognition interface specifies whether speech recognition must be performed locally on the user's device.\n

See On-device speech recognition for more information." }, @@ -17988,6 +18006,35 @@ }, "doc": "The SVGAElement interface provides access to the properties of an <a> element, as well as methods to manipulate them." }, + "svgaelement.download": { + "url": "$MDN_URL$/web/api/svgaelement/download", + "status": [ + "StandardTrack" + ], + "compatibility": { + "Chrome": "142", + "ChromeAndroid": "142", + "Edge": "142", + "Firefox": "20", + "FirefoxAndroid": "20" + }, + "baseline": { + "level": "NONE" + }, + "doc": "The download property of the SVGAElement interface returns a string indicating that the browser should treat the linked URL as a download.\n

This property can be set, to change the URL's download value. It reflects the value of the download attribute.\n

\n

Note:\nThis value might not be used for download. This value cannot be used to determine whether the download will occur.\n

" + }, + "svgaelement.hash": { + "url": "$MDN_URL$/web/api/svgaelement/hash", + "doc": "The hash property of the SVGAElement interface returns a string representing the fragment identifier, including the leading hash mark (#), if any, in the referenced URL.\n

This property can be set, to change the URL's fragment (ignores leading #)." + }, + "svgaelement.host": { + "url": "$MDN_URL$/web/api/svgaelement/host", + "doc": "The host property of the SVGAElement interface returns a string representing the hostname and port (if it's not the default port) in the referenced URL.\n

This property can be set, to change the URL's host and port." + }, + "svgaelement.hostname": { + "url": "$MDN_URL$/web/api/svgaelement/hostname", + "doc": "The hostname property of the SVGAElement interface returns a string representing the hostname in the referenced URL.\n

This property can be set, to change the URL's hostname." + }, "svgaelement.href": { "url": "$MDN_URL$/web/api/svgaelement/href", "status": [ @@ -18010,6 +18057,62 @@ }, "doc": "The href read-only property of the SVGAElement returns an SVGAnimatedString object reflecting the value of the href attribute, and, in certain cases, the xlink:href attribute. It specifies the target URI associated with the link.\n

This property enables access to the URI set for a link within an SVG document." }, + "svgaelement.hreflang": { + "url": "$MDN_URL$/web/api/svgaelement/hreflang", + "status": [ + "StandardTrack" + ], + "compatibility": { + "Firefox": "61", + "FirefoxAndroid": "61" + }, + "baseline": { + "level": "NONE" + }, + "doc": "The hreflang property of the SVGAElement interface returns a string indicating the language of the linked resource.\n

This property can be set, to change the URL's hreflang value. It reflects the value of the hreflang attribute." + }, + "svgaelement.origin": { + "url": "$MDN_URL$/web/api/svgaelement/origin", + "doc": "The origin readonly property of the SVGAElement interface returns a string containing the origin of the URL — that is, its scheme, its domain and its port." + }, + "svgaelement.password": { + "url": "$MDN_URL$/web/api/svgaelement/password", + "doc": "The password property of the SVGAElement interface returns a string containing the password specified before the domain name.\n

This property can be set, to change the URL's password." + }, + "svgaelement.pathname": { + "url": "$MDN_URL$/web/api/svgaelement/pathname", + "doc": "The pathname property of the SVGAElement interface returns a string containing an initial / followed by the path of the URL, not including the query string or fragment.\n

This property can be set, to change the URL's pathname." + }, + "svgaelement.ping": { + "url": "$MDN_URL$/web/api/svgaelement/ping", + "status": [ + "StandardTrack" + ], + "compatibility": {}, + "baseline": { + "level": "NONE" + }, + "doc": "The ping property of the SVGAElement interface returns a string that reflects the ping attribute, containing a space-separated list of URLs to which, when the hyperlink is followed, POST requests with the body PING will be sent by the browser (in the background). Typically used for tracking.\n

This property can be set, to change the URL's ping value. It reflects the value of the ping attribute." + }, + "svgaelement.port": { + "url": "$MDN_URL$/web/api/svgaelement/port", + "doc": "The port property of the SVGAElement interface returns a string representing the port component, if any, of the referenced URL.\n

This property can be set, to change the URL's port." + }, + "svgaelement.protocol": { + "url": "$MDN_URL$/web/api/svgaelement/protocol", + "doc": "The protocol property of the SVGAElement interface returns a string representing the protocol component, including trailing colon (:), of the referenced URL.\n

This property can be set, to change the URL's protocol." + }, + "svgaelement.referrerpolicy": { + "url": "$MDN_URL$/web/api/svgaelement/referrerPolicy", + "status": [ + "StandardTrack" + ], + "compatibility": { + "Firefox": "61", + "FirefoxAndroid": "61" + }, + "doc": "The referrerpolicy property of the SVGAElement interface returns a string specifying which referrer to send when fetching the URL..\n

This property can be set, to change the URL's referrerpolicy value. It reflects the value of the referrerpolicy attribute." + }, "svgaelement.rel": { "url": "$MDN_URL$/web/api/svgaelement/rel", "status": [ @@ -18052,6 +18155,10 @@ }, "doc": "The relList read-only property of the SVGAElement returns a live DOMTokenList reflecting the space-separated string <list-of-Link-Types> values of the rel attribute of the SVG <a> element.\n

The property itself is read-only, meaning you can't substitute the\nDOMTokenList by another one, but the content of the returned list can be\nchanged." }, + "svgaelement.search": { + "url": "$MDN_URL$/web/api/svgaelement/search", + "doc": "The search property of the SVGAElement interface returns a string representing the URL's query string, if any, including the leading question mark (?).\n

This property can be set, to change the URL's query component." + }, "svgaelement.target": { "url": "$MDN_URL$/web/api/svgaelement/target", "status": [ @@ -18074,6 +18181,33 @@ }, "doc": "The SVGAElement.target read-only property of SVGAElement returns an SVGAnimatedString object that specifies the portion of a target window, frame, pane into which a document is to be opened when a link is activated.\n

This property is used when there are multiple possible targets for the ending resource, like when the parent document is a multi-frame HTML or XHTML document." }, + "svgaelement.text": { + "url": "$MDN_URL$/web/api/svgaelement/text", + "status": [ + "StandardTrack", + "Deprecated" + ], + "compatibility": {}, + "doc": "The text property of the SVGAElement interface returns a string that is a synonym for the Node.textContent property." + }, + "svgaelement.type": { + "url": "$MDN_URL$/web/api/svgaelement/type", + "status": [ + "StandardTrack" + ], + "compatibility": { + "Firefox": "61", + "FirefoxAndroid": "61" + }, + "baseline": { + "level": "NONE" + }, + "doc": "The type property of the SVGAElement interface returns a string indicating the MIME type of the linked resource.\n

This property can be set, to change the URL's type value. It reflects the value of the type attribute." + }, + "svgaelement.username": { + "url": "$MDN_URL$/web/api/svgaelement/username", + "doc": "The username property of the SVGAElement interface returns a string containing the username specified before the domain name.\n

This property can be set, to change the URL's username." + }, "svgangle": { "url": "$MDN_URL$/web/api/svgangle", "status": [ @@ -19325,7 +19459,7 @@ "lowDate": "2020-01-15", "highDate": "2022-07-15" }, - "doc": "The requiredExtensions read-only property of the SVGAnimationElement interface reflects the requiredExtensions attribute of the given element." + "doc": "The requiredExtensions read-only property of the SVGAnimationElement interface reflects the requiredExtensions attribute of the given element." }, "svganimationelement.systemlanguage": { "url": "$MDN_URL$/web/api/svganimationelement/systemlanguage", @@ -19951,7 +20085,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The read-only style property of the SVGElement returns the inline style of an element in the form of a live CSSStyleDeclaration object that contains a list of all styles properties for that element with values assigned only for the attributes that are defined in the element's inline style attribute.\n

Shorthand properties are expanded. If you set style=\"border-top: 1px solid black\", the longhand properties (border-top-color, border-top-style, and border-top-width) are set instead.\n

This property is read-only, meaning it is not possible to assign a CSSStyleDeclaration object to it. Nevertheless, it is possible to set an inline style by assigning a string directly to the style property. In this case the string is forwarded to CSSStyleDeclaration.cssText. Using style in this manner will completely overwrite all inline styles on the element.\n

Therefore, to add specific styles to an element without altering other style values, it is generally preferable to set individual properties on the CSSStyleDeclaration object. For example, you can write element.style.backgroundColor = \"red\".\n

A style declaration is reset by setting it to null or an empty string, e.g., elt.style.color = null.\n

\n

Note:\nCSS property names are converted to JavaScript identifier with these rules:\n

\n

The style property has the same priority in the CSS cascade as an inline style declaration set via the style attribute.\n

" + "doc": "The read-only style property of the SVGElement returns the inline style of an element in the form of a live CSSStyleProperties object.\nThis object can be used to get and set the inline styles of an element." }, "svgelement.tabindex": { "url": "$MDN_URL$/web/api/svgelement/tabindex", @@ -23960,7 +24094,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The x read-only property of the SVGFESpotLightElement interface describes the horizontal coordinate of the position of an SVG filter primitive as a SVGAnimatedNumber.\n

It reflects the x attribute of the <feSpotLight> element., which can be used to define the light source in a spotlight effect. The attribute is a <number>. The default value is 0." + "doc": "The x read-only property of the SVGFESpotLightElement interface describes the horizontal coordinate of the position of an SVG filter primitive as a SVGAnimatedNumber.\n

It reflects the x attribute of the <feSpotLight> element, which can be used to define the light source in a spotlight effect. The attribute is a <number>. The default value is 0." }, "svgfespotlightelement.y": { "url": "$MDN_URL$/web/api/svgfespotlightelement/y", @@ -23982,7 +24116,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The y read-only property of the SVGFESpotLightElement interface describes the vertical coordinate of the position of an SVG filter primitive as a SVGAnimatedNumber.\n

It reflects the y attribute of the <feSpotLight> element., which can be used to define the light source in a spotlight effect. The attribute is a <number>. The default value is 0." + "doc": "The y read-only property of the SVGFESpotLightElement interface describes the vertical coordinate of the position of an SVG filter primitive as a SVGAnimatedNumber.\n

It reflects the y attribute of the <feSpotLight> element, which can be used to define the light source in a spotlight effect. The attribute is a <number>. The default value is 0." }, "svgfespotlightelement.z": { "url": "$MDN_URL$/web/api/svgfespotlightelement/z", @@ -25101,7 +25235,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The requiredExtensions read-only property of the SVGGraphicsElement interface reflects the requiredExtensions attribute of the given element." + "doc": "The requiredExtensions read-only property of the SVGGraphicsElement interface reflects the requiredExtensions attribute of the given element." }, "svggraphicselement.systemlanguage": { "url": "$MDN_URL$/web/api/svggraphicselement/systemlanguage", @@ -32811,7 +32945,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The TextTrackList interface is used to represent a list of the text tracks defined for the associated video or audio element, with each track represented by a separate textTrack object in the list.\n

Text tracks can be added to a media element declaratively using the <track> element or programmatically using the HTMLMediaElement.addTextTrack() method.\n

An instance of this object can be retrieved using the textTracks property of an HTMLMediaElement object.\n

For a given HTMLMediaElement object media, the individual tracks can be accessed using:\n

" + "doc": "The TextTrackList interface is used to represent a list of the text tracks defined for the associated video or audio element, with each track represented by a separate TextTrack object in the list.\n

Text tracks can be added to a media element declaratively using the <track> element or programmatically using the HTMLMediaElement.addTextTrack() method.\n

An instance of this object can be retrieved using the textTracks property of an HTMLMediaElement object.\n

For a given HTMLMediaElement object media, the individual tracks can be accessed using:\n

" }, "texttracklist.gettrackbyid": { "url": "$MDN_URL$/web/api/texttracklist/gettrackbyid", @@ -33166,16 +33300,17 @@ "toggleevent.source": { "url": "$MDN_URL$/web/api/toggleevent/source", "status": [ - "Experimental", "StandardTrack" ], "compatibility": { "Chrome": "140", "ChromeAndroid": "140", "Edge": "140", + "Firefox": "145", + "FirefoxAndroid": "145", "Opera": "124" }, - "doc": "

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

\n

The source read-only property of the ToggleEvent interface is an Element object instance representing the HTML popover control element that initiated the toggle." + "doc": "The source read-only property of the ToggleEvent interface is an Element object instance representing the HTML popover control element that initiated the toggle." }, "toggleevent.toggleevent": { "url": "$MDN_URL$/web/api/toggleevent/toggleevent", @@ -34548,7 +34683,7 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The TreeWalker.whatToShow read-only property returns a\nbitmask that indicates the types of\nnodes to show. Non-matching nodes are skipped, but their\nchildren may be included, if relevant. The possible values are:\n

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ConstantNumerical valueDescription
NodeFilter.SHOW_ALL\n4294967295 (that is the max value of unsigned long)\nShows all nodes.
\nNodeFilter.SHOW_ATTRIBUTE\n2\nShows attribute Attr nodes. This is meaningful\nonly when creating a TreeWalker with an\nAttr node as its root; in this case, it means\nthat the attribute node will appear in the first position of the\niteration or traversal. Since attributes are never children of other\nnodes, they do not appear when traversing over the document tree.\n
\nNodeFilter.SHOW_CDATA_SECTION\n8Shows CDATASection nodes.
NodeFilter.SHOW_COMMENT128Shows Comment nodes.
NodeFilter.SHOW_DOCUMENT256Shows Document nodes.
NodeFilter.SHOW_DOCUMENT_FRAGMENT1024Shows DocumentFragment nodes.
NodeFilter.SHOW_DOCUMENT_TYPE512Shows DocumentType nodes.
NodeFilter.SHOW_ELEMENT1Shows Element nodes.
NodeFilter.SHOW_ENTITY 32Legacy, no more used.
\nNodeFilter.SHOW_ENTITY_REFERENCE\n16Legacy, no more used.
\nNodeFilter.SHOW_NOTATION\n2048Legacy, no more used.
NodeFilter.SHOW_PROCESSING_INSTRUCTION64Shows ProcessingInstruction nodes.
NodeFilter.SHOW_TEXT4Shows Text nodes.
" + "doc": "The TreeWalker.whatToShow read-only property returns a\nbitmask that indicates the types of\nnodes to show. Non-matching nodes are skipped, but their\nchildren may be included, if relevant." }, "trustedhtml": { "url": "$MDN_URL$/web/api/trustedhtml", diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-u.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-u.json index f6f8296ef0e4..390979d84343 100644 --- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-u.json +++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-u.json @@ -4138,7 +4138,8 @@ "SafariIOS": "18" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-14" }, "doc": "The ViewTransition interface of the View Transition API represents an active view transition, and provides functionality to react to the transition reaching different states (e.g., ready to run the animation, or animation finished) or skip the transition altogether.\n

This object type is made available in the following ways:\n

\n

When a view transition is triggered by a startViewTransition() call (or a page navigation in the case of MPA transitions), a sequence of steps is followed as explained in The view transition process. This also explains when the different promises fulfill." }, @@ -4158,7 +4159,8 @@ "SafariIOS": "18" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-14" }, "doc": "The finished read-only property of the\nViewTransition interface is a Promise that fulfills once the transition animation is finished, and the new page view is visible and interactive to the user.\n

finished will only reject in the case of a same-document (SPA) transition, if the callback passed to document.startViewTransition() throws or returns a promise that rejects. This would indicate that the new state of the page wasn't created.\n

If a transition animation fails to start or is skipped during the transition using ViewTransition.skipTransition(), the end state is still reached therefore finished will still fulfill." }, @@ -4178,7 +4180,8 @@ "SafariIOS": "18" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-14" }, "doc": "The ready read-only property of the\nViewTransition interface is a Promise that fulfills once the pseudo-element tree is created and the transition animation is about to start.\n

ready will reject if the transition cannot begin. This can be due to misconfiguration, for example, duplicate view-transition-names, or if the callback passed to Document.startViewTransition() throws or returns a promise that rejects." }, @@ -4198,7 +4201,8 @@ "SafariIOS": "18" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-14" }, "doc": "The skipTransition() method of the\nViewTransition interface skips the animation part of the view transition, but doesn't skip running the associated view update.", "returns": "undefined." @@ -4219,7 +4223,8 @@ "SafariIOS": "18" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2025-10-14" }, "doc": "The updateCallbackDone read-only property of the\nViewTransition interface is a Promise that fulfills when the promise returned by the document.startViewTransition() method's callback fulfills, or rejects when it rejects.\n

updateCallbackDone is useful when you don't care about the success/failure of a same-document (SPA) view transition animation, and just want to know if and when the DOM is updated.\n

\n

Note:\nIn the case of a cross-document (MPA) view transition, the updateCallbackDone promise of the associated ViewTransition is automatically fulfilled.\n

" }, @@ -15242,10 +15247,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "115", "ChromeAndroid": "121", - "Edge": "115", - "Opera": "101", "Safari": "26", "SafariIOS": "26" }, @@ -16051,14 +16053,14 @@ "lowDate": "2015-07-29", "highDate": "2018-01-29" }, - "doc": "The\nWindow.getComputedStyle() method returns an object\ncontaining the values of all CSS properties of an element, after applying active\nstylesheets and resolving any basic computation those values may contain.\n

Individual CSS property values are accessed through APIs provided by the returned CSSStyleDeclaration object, or by indexing with CSS property names. The values returned by getComputedStyle are resolved values.", + "doc": "The Window.getComputedStyle() method returns a live read-only CSSStyleProperties object containing the resolved values of all CSS properties of an element, after applying active stylesheets and resolving any computation those values may contain.", "parameters": { "element": "The Element for which to get the computed style.", - "pseudoElt": "A string specifying the pseudo-element to match. Omitted (or null) for\nreal elements." + "pseudoElt": "A string specifying the pseudo-element to match.\nOmitted (or null) for real elements." }, - "returns": "A live CSSStyleDeclaration object, which updates automatically when the element's styles are changed.\n

Note that:\n

\n

The returned object is the same CSSStyleDeclaration type as the object returned from the element's style property. However, the two objects have different purposes:\n

", + "returns": "A live CSSStyleProperties object, which updates automatically when the element's styles are changed.\n
\n

Note:\nEarlier versions of the specification returned a CSSStyleDeclaration (from which CSSStyleProperties is derived).\nSee the browser compatibility table for browser support information.\n

\n
\n

Warning:\nReturned values are sometimes deliberately inaccurate.\nTo avoid the \"CSS History Leak\" security issue, browsers may lie about the computed styles for a visited link, returning values as if the user never visited the linked URL.\nSee Plugging the CSS history leak and Privacy-related changes coming to CSS :visited for examples of how this is implemented.\n

", "throws": { - "TypeError": "If the passed object is not an Element or the\npseudoElt is not a valid pseudo-element selector or is\n::part() or ::slotted().\n
\n

Note:\nValid pseudo-element selector refers to syntactic\nvalidity, e.g., ::unsupported is considered valid, even though the\npseudo-element itself is not supported.\n

" + "TypeError": "If the passed object is not an Element or the pseudoElt is not a valid pseudo-element selector or is ::part() or ::slotted().\n
\n

Note:\nValid pseudo-element selector refers to syntactic validity, e.g., ::unsupported is considered valid, even though the pseudo-element itself is not supported.\n

" } }, "window.getdefaultcomputedstyle": { @@ -16773,6 +16775,11 @@ }, "window.queuemicrotask": { "url": "$MDN_URL$/web/api/window/queuemicrotask", + "baseline": { + "level": "HIGH", + "lowDate": "2020-07-28", + "highDate": "2023-01-28" + }, "doc": "The queueMicrotask() method of the Window interface\nqueues a microtask to be executed at a safe time prior to control returning to the\nbrowser's event loop.\n

The microtask is a short function which will run after\nthe current task has completed its work and when there is no other code waiting to be\nrun before control of the execution context is returned to the browser's event loop.\n

This lets your code run without interfering with any other, potentially higher\npriority, code that is pending, but before the browser regains control over the\nexecution context, potentially depending on work you need to complete. You can learn\nmore about how to use microtasks and why you might choose to do so in our microtask guide.\n

The importance of microtasks comes in its ability to perform tasks asynchronously but\nin a specific order. See Using microtasks in JavaScript with queueMicrotask() for more details.\n

Microtasks are especially useful for libraries and frameworks that need to perform\nfinal cleanup or other just-before-rendering tasks.", "parameters": { "callback": "A function to be executed when the browser engine determines it is\nsafe to call your code. Enqueued microtasks are executed after all pending tasks have\ncompleted but before yielding control to the browser's event loop." @@ -18363,6 +18370,11 @@ }, "workerglobalscope.queuemicrotask": { "url": "$MDN_URL$/web/api/workerglobalscope/queuemicrotask", + "baseline": { + "level": "HIGH", + "lowDate": "2020-07-28", + "highDate": "2023-01-28" + }, "doc": "

Note: This feature is only available in Web Workers.

\n

The queueMicrotask() method of the WorkerGlobalScope interface\nqueues a microtask to be executed at a safe time prior to control returning to the\nbrowser's event loop.\n

The microtask is a short function which will run after\nthe current task has completed its work and when there is no other code waiting to be\nrun before control of the execution context is returned to the browser's event loop.\n

This lets your code run without interfering with any other, potentially higher\npriority, code that is pending, but before the browser regains control over the\nexecution context, potentially depending on work you need to complete. You can learn\nmore about how to use microtasks and why you might choose to do so in our microtask guide.\n

The importance of microtasks comes in its ability to perform tasks asynchronously but\nin a specific order. See Using microtasks in JavaScript with queueMicrotask() for more details.\n

Microtasks are especially useful for libraries and frameworks that need to perform\nfinal cleanup or other just-before-rendering tasks.", "parameters": { "callback": "A function to be executed when the browser engine determines it is\nsafe to call your code. Enqueued microtasks are executed after all pending tasks have\ncompleted but before yielding control to the browser's event loop." @@ -18846,7 +18858,8 @@ "StandardTrack" ], "compatibility": { - "Firefox": "120" + "Firefox": "120", + "FirefoxAndroid": "122" }, "baseline": { "level": "NONE" @@ -18859,10 +18872,7 @@ "StandardTrack" ], "compatibility": { - "Chrome": "113", "ChromeAndroid": "121", - "Edge": "113", - "Opera": "99", "Safari": "26", "SafariIOS": "26" },