diff --git a/.changeset/great-dodos-cheer.md b/.changeset/great-dodos-cheer.md new file mode 100644 index 0000000000..0de32f62fa --- /dev/null +++ b/.changeset/great-dodos-cheer.md @@ -0,0 +1,5 @@ +--- +"@siteimprove/alfa-style": minor +--- + +**Added:** Style properties `container-type`, `mix-blend-mode` and `isolation` are now supported. diff --git a/docs/review/api/alfa-style.api.md b/docs/review/api/alfa-style.api.md index 48e3e88f4b..7823dc35a1 100644 --- a/docs/review/api/alfa-style.api.md +++ b/docs/review/api/alfa-style.api.md @@ -182,6 +182,7 @@ export namespace Longhands { readonly "clip-path": Longhand | Shape, URL | Keyword<"none"> | Shape>; readonly clip: Longhand | Shape, Keyword<"border-box">>, Keyword<"auto"> | Shape, Keyword<"border-box">>>; readonly color: Longhand; + readonly "container-type": Longhand, Keyword.ToKeywords<"size" | "normal" | "inline-size">>; readonly cursor: Longhand>, Keyword<"auto"> | Keyword<"none"> | Keyword<"default"> | Keyword<"context-menu"> | Keyword<"help"> | Keyword<"pointer"> | Keyword<"progress"> | Keyword<"wait"> | Keyword<"cell"> | Keyword<"crosshair"> | Keyword<"text"> | Keyword<"vertical-text"> | Keyword<"alias"> | Keyword<"copy"> | Keyword<"move"> | Keyword<"no-drop"> | Keyword<"not-allowed"> | Keyword<"grab"> | Keyword<"grabbing"> | Keyword<"e-resize"> | Keyword<"n-resize"> | Keyword<"ne-resize"> | Keyword<"nw-resize"> | Keyword<"s-resize"> | Keyword<"se-resize"> | Keyword<"sw-resize"> | Keyword<"w-resize"> | Keyword<"ew-resize"> | Keyword<"ns-resize"> | Keyword<"nesw-resize"> | Keyword<"nwse-resize"> | Keyword<"col-resize"> | Keyword<"row-resize"> | Keyword<"all-scroll"> | Keyword<"zoom-in"> | Keyword<"zoom-out">]>, Tuple<[List>, Keyword<"auto"> | Keyword<"none"> | Keyword<"default"> | Keyword<"context-menu"> | Keyword<"help"> | Keyword<"pointer"> | Keyword<"progress"> | Keyword<"wait"> | Keyword<"cell"> | Keyword<"crosshair"> | Keyword<"text"> | Keyword<"vertical-text"> | Keyword<"alias"> | Keyword<"copy"> | Keyword<"move"> | Keyword<"no-drop"> | Keyword<"not-allowed"> | Keyword<"grab"> | Keyword<"grabbing"> | Keyword<"e-resize"> | Keyword<"n-resize"> | Keyword<"ne-resize"> | Keyword<"nw-resize"> | Keyword<"s-resize"> | Keyword<"se-resize"> | Keyword<"sw-resize"> | Keyword<"w-resize"> | Keyword<"ew-resize"> | Keyword<"ns-resize"> | Keyword<"nesw-resize"> | Keyword<"nwse-resize"> | Keyword<"col-resize"> | Keyword<"row-resize"> | Keyword<"all-scroll"> | Keyword<"zoom-in"> | Keyword<"zoom-out">]>>; readonly display: Longhand | Keyword<"inline"> | Keyword<"run-in">, inside: Keyword<"flow"> | Keyword<"flow-root"> | Keyword<"table"> | Keyword<"flex"> | Keyword<"grid"> | Keyword<"ruby">]> | Tuple<[outside: Keyword<"block"> | Keyword<"inline"> | Keyword<"run-in">, inside: Keyword<"flow"> | Keyword<"flow-root"> | Keyword<"table"> | Keyword<"flex"> | Keyword<"grid"> | Keyword<"ruby">, listitem: Keyword<"list-item">]> | Tuple<[outside: Keyword<"table-row-group"> | Keyword<"table-header-group"> | Keyword<"table-footer-group"> | Keyword<"table-row"> | Keyword<"table-cell"> | Keyword<"table-column-group"> | Keyword<"table-column"> | Keyword<"table-caption"> | Keyword<"ruby-base"> | Keyword<"ruby-text"> | Keyword<"ruby-base-container"> | Keyword<"ruby-text-container">, inside: Keyword<"flow"> | Keyword<"flow-root"> | Keyword<"table"> | Keyword<"flex"> | Keyword<"grid"> | Keyword<"ruby">]> | Tuple<[Keyword<"none"> | Keyword<"contents">]>, Tuple<[outside: Keyword<"block"> | Keyword<"inline"> | Keyword<"run-in">, inside: Keyword<"flow"> | Keyword<"flow-root"> | Keyword<"table"> | Keyword<"flex"> | Keyword<"grid"> | Keyword<"ruby">]> | Tuple<[outside: Keyword<"block"> | Keyword<"inline"> | Keyword<"run-in">, inside: Keyword<"flow"> | Keyword<"flow-root"> | Keyword<"table"> | Keyword<"flex"> | Keyword<"grid"> | Keyword<"ruby">, listitem: Keyword<"list-item">]> | Tuple<[outside: Keyword<"table-row-group"> | Keyword<"table-header-group"> | Keyword<"table-footer-group"> | Keyword<"table-row"> | Keyword<"table-cell"> | Keyword<"table-column-group"> | Keyword<"table-column"> | Keyword<"table-caption"> | Keyword<"ruby-base"> | Keyword<"ruby-text"> | Keyword<"ruby-base-container"> | Keyword<"ruby-text-container">, inside: Keyword<"flow"> | Keyword<"flow-root"> | Keyword<"table"> | Keyword<"flex"> | Keyword<"grid"> | Keyword<"ruby">]> | Tuple<[Keyword<"none"> | Keyword<"contents">]>>; readonly "flex-direction": Longhand, Keyword.ToKeywords<"row" | "row-reverse" | "column" | "column-reverse">>; @@ -202,6 +203,7 @@ export namespace Longhands { readonly "inset-block-start": Longhand, LengthPercentage | Keyword<"auto">>; readonly "inset-inline-end": Longhand, LengthPercentage | Keyword<"auto">>; readonly "inset-inline-start": Longhand, LengthPercentage | Keyword<"auto">>; + readonly isolation: Longhand, Keyword.ToKeywords<"auto" | "isolate">>; readonly left: Longhand, LengthPercentage | Keyword<"auto">>; readonly "letter-spacing": Longhand, Length>; readonly "line-height": Longhand, Computed>; @@ -211,6 +213,7 @@ export namespace Longhands { readonly "margin-top": Longhand, Length | Percentage | Keyword<"auto">>; readonly "min-height": Longhand | Keyword<"fit-content"> | Keyword<"max-content"> | Keyword<"min-content">, Length | Percentage | Keyword<"auto"> | Keyword<"fit-content"> | Keyword<"max-content"> | Keyword<"min-content">>; readonly "min-width": Longhand | Keyword<"fit-content"> | Keyword<"max-content"> | Keyword<"min-content">, Length | Percentage | Keyword<"auto"> | Keyword<"fit-content"> | Keyword<"max-content"> | Keyword<"min-content">>; + readonly "mix-blend-mode": Longhand, Keyword.ToKeywords<"screen" | "color" | "hue" | "saturation" | "normal" | "multiply" | "overlay" | "darken" | "lighten" | "color-dodge" | "color-burn" | "hard-light" | "soft-light" | "difference" | "exclusion" | "luminosity" | "plus-darker" | "plus-lighter">>; readonly opacity: Longhand, Number_2.Fixed>; readonly "outline-color": Longhand, Color.Canonical | Keyword<"invert">>; readonly "outline-offset": Longhand, Length>; @@ -235,7 +238,7 @@ export namespace Longhands { readonly transform: Longhand | List, Keyword<"none"> | List>; readonly "vertical-align": Longhand | Keyword<"bottom"> | Keyword<"sub"> | Keyword<"super"> | Keyword<"baseline"> | Keyword<"text-top"> | Keyword<"text-bottom"> | Keyword<"middle">), Length | (Keyword<"top"> | Keyword<"bottom"> | Keyword<"sub"> | Keyword<"super"> | Keyword<"baseline"> | Keyword<"text-top"> | Keyword<"text-bottom"> | Keyword<"middle">)>; readonly visibility: Longhand, Keyword.ToKeywords<"hidden" | "collapse" | "visible">>; - readonly "white-space": Longhand, Keyword.ToKeywords<"nowrap" | "normal" | "pre" | "pre-wrap" | "break-spaces" | "pre-line">>; + readonly "white-space": Longhand, Keyword.ToKeywords<"normal" | "nowrap" | "pre" | "pre-wrap" | "break-spaces" | "pre-line">>; readonly width: Longhand, LengthPercentage | Keyword<"auto">>; readonly "word-spacing": Longhand, Length>; readonly "z-index": Longhand, Integer.Fixed | Keyword<"auto">>; @@ -467,116 +470,119 @@ export namespace Value { // Warnings were encountered during analysis: // -// src/longhands.ts:180:7 - (ae-incompatible-release-tags) The symbol ""background-attachment"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:181:7 - (ae-incompatible-release-tags) The symbol ""background-clip"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:182:7 - (ae-incompatible-release-tags) The symbol ""background-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:183:7 - (ae-incompatible-release-tags) The symbol ""background-image"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:184:7 - (ae-incompatible-release-tags) The symbol ""background-origin"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:185:7 - (ae-incompatible-release-tags) The symbol ""background-position-x"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:186:7 - (ae-incompatible-release-tags) The symbol ""background-position-y"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:187:7 - (ae-incompatible-release-tags) The symbol ""background-repeat-x"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:188:7 - (ae-incompatible-release-tags) The symbol ""background-repeat-y"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:189:7 - (ae-incompatible-release-tags) The symbol ""background-size"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:190:7 - (ae-incompatible-release-tags) The symbol ""border-block-end-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:191:7 - (ae-incompatible-release-tags) The symbol ""border-block-end-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:192:7 - (ae-incompatible-release-tags) The symbol ""border-block-end-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:193:7 - (ae-incompatible-release-tags) The symbol ""border-block-start-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:194:7 - (ae-incompatible-release-tags) The symbol ""border-block-start-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:195:7 - (ae-incompatible-release-tags) The symbol ""border-block-start-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:196:7 - (ae-incompatible-release-tags) The symbol ""border-bottom-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:197:7 - (ae-incompatible-release-tags) The symbol ""border-bottom-left-radius"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:198:7 - (ae-incompatible-release-tags) The symbol ""border-bottom-right-radius"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:199:7 - (ae-incompatible-release-tags) The symbol ""border-bottom-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:200:7 - (ae-incompatible-release-tags) The symbol ""border-bottom-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:201:7 - (ae-incompatible-release-tags) The symbol ""border-collapse"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:202:7 - (ae-incompatible-release-tags) The symbol ""border-end-end-radius"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:203:7 - (ae-incompatible-release-tags) The symbol ""border-end-start-radius"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:204:7 - (ae-incompatible-release-tags) The symbol ""border-image-outset"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:205:7 - (ae-incompatible-release-tags) The symbol ""border-image-repeat"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:206:7 - (ae-incompatible-release-tags) The symbol ""border-image-slice"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:207:7 - (ae-incompatible-release-tags) The symbol ""border-image-source"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:208:7 - (ae-incompatible-release-tags) The symbol ""border-image-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:209:7 - (ae-incompatible-release-tags) The symbol ""border-inline-end-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:210:7 - (ae-incompatible-release-tags) The symbol ""border-inline-end-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:211:7 - (ae-incompatible-release-tags) The symbol ""border-inline-end-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:212:7 - (ae-incompatible-release-tags) The symbol ""border-inline-start-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:213:7 - (ae-incompatible-release-tags) The symbol ""border-inline-start-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:214:7 - (ae-incompatible-release-tags) The symbol ""border-inline-start-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:215:7 - (ae-incompatible-release-tags) The symbol ""border-left-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:216:7 - (ae-incompatible-release-tags) The symbol ""border-left-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:217:7 - (ae-incompatible-release-tags) The symbol ""border-left-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:218:7 - (ae-incompatible-release-tags) The symbol ""border-right-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:219:7 - (ae-incompatible-release-tags) The symbol ""border-right-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:220:7 - (ae-incompatible-release-tags) The symbol ""border-right-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:221:7 - (ae-incompatible-release-tags) The symbol ""border-start-end-radius"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:222:7 - (ae-incompatible-release-tags) The symbol ""border-start-start-radius"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:223:7 - (ae-incompatible-release-tags) The symbol ""border-top-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:224:7 - (ae-incompatible-release-tags) The symbol ""border-top-left-radius"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:225:7 - (ae-incompatible-release-tags) The symbol ""border-top-right-radius"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:226:7 - (ae-incompatible-release-tags) The symbol ""border-top-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:227:7 - (ae-incompatible-release-tags) The symbol ""border-top-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:228:7 - (ae-incompatible-release-tags) The symbol "bottom" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:229:7 - (ae-incompatible-release-tags) The symbol ""box-shadow"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:230:7 - (ae-incompatible-release-tags) The symbol ""clip-path"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:231:7 - (ae-incompatible-release-tags) The symbol "clip" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:232:7 - (ae-incompatible-release-tags) The symbol "color" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:233:7 - (ae-incompatible-release-tags) The symbol "cursor" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:234:7 - (ae-incompatible-release-tags) The symbol "display" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:235:7 - (ae-incompatible-release-tags) The symbol ""flex-direction"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:236:7 - (ae-incompatible-release-tags) The symbol ""flex-wrap"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:237:7 - (ae-incompatible-release-tags) The symbol "float" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:238:7 - (ae-incompatible-release-tags) The symbol ""font-family"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:239:7 - (ae-incompatible-release-tags) The symbol ""font-size"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:240:7 - (ae-incompatible-release-tags) The symbol ""font-stretch"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:241:7 - (ae-incompatible-release-tags) The symbol ""font-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:242:7 - (ae-incompatible-release-tags) The symbol ""font-variant-caps"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:243:7 - (ae-incompatible-release-tags) The symbol ""font-variant-east-asian"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:244:7 - (ae-incompatible-release-tags) The symbol ""font-variant-ligatures"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:245:7 - (ae-incompatible-release-tags) The symbol ""font-variant-numeric"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:246:7 - (ae-incompatible-release-tags) The symbol ""font-variant-position"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:247:7 - (ae-incompatible-release-tags) The symbol ""font-weight"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:248:7 - (ae-incompatible-release-tags) The symbol "height" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:249:7 - (ae-incompatible-release-tags) The symbol ""inset-block-end"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:250:7 - (ae-incompatible-release-tags) The symbol ""inset-block-start"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:251:7 - (ae-incompatible-release-tags) The symbol ""inset-inline-end"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:252:7 - (ae-incompatible-release-tags) The symbol ""inset-inline-start"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:253:7 - (ae-incompatible-release-tags) The symbol "left" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:254:7 - (ae-incompatible-release-tags) The symbol ""letter-spacing"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:255:7 - (ae-incompatible-release-tags) The symbol ""line-height"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:256:7 - (ae-incompatible-release-tags) The symbol ""margin-bottom"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:257:7 - (ae-incompatible-release-tags) The symbol ""margin-left"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:258:7 - (ae-incompatible-release-tags) The symbol ""margin-right"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:259:7 - (ae-incompatible-release-tags) The symbol ""margin-top"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:260:7 - (ae-incompatible-release-tags) The symbol ""min-height"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:261:7 - (ae-incompatible-release-tags) The symbol ""min-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:262:7 - (ae-incompatible-release-tags) The symbol "opacity" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:263:7 - (ae-incompatible-release-tags) The symbol ""outline-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:264:7 - (ae-incompatible-release-tags) The symbol ""outline-offset"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:265:7 - (ae-incompatible-release-tags) The symbol ""outline-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:266:7 - (ae-incompatible-release-tags) The symbol ""outline-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:267:7 - (ae-incompatible-release-tags) The symbol ""overflow-x"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:268:7 - (ae-incompatible-release-tags) The symbol ""overflow-y"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:269:7 - (ae-incompatible-release-tags) The symbol ""pointer-events"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:270:7 - (ae-incompatible-release-tags) The symbol "position" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:271:7 - (ae-incompatible-release-tags) The symbol "right" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:272:7 - (ae-incompatible-release-tags) The symbol "rotate" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:273:7 - (ae-incompatible-release-tags) The symbol ""text-align"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:274:7 - (ae-incompatible-release-tags) The symbol ""text-decoration-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:275:7 - (ae-incompatible-release-tags) The symbol ""text-decoration-line"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:276:7 - (ae-incompatible-release-tags) The symbol ""text-decoration-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:277:7 - (ae-incompatible-release-tags) The symbol ""text-decoration-thickness"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:278:7 - (ae-incompatible-release-tags) The symbol ""text-indent"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:279:7 - (ae-incompatible-release-tags) The symbol ""text-overflow"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:280:7 - (ae-incompatible-release-tags) The symbol ""text-shadow"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:281:7 - (ae-incompatible-release-tags) The symbol ""text-transform"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:282:7 - (ae-incompatible-release-tags) The symbol "top" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:283:7 - (ae-incompatible-release-tags) The symbol "transform" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:284:7 - (ae-incompatible-release-tags) The symbol ""vertical-align"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:285:7 - (ae-incompatible-release-tags) The symbol "visibility" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:286:7 - (ae-incompatible-release-tags) The symbol ""white-space"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:287:7 - (ae-incompatible-release-tags) The symbol "width" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:288:7 - (ae-incompatible-release-tags) The symbol ""word-spacing"" is marked as @public, but its signature references "Longhand" which is marked as @internal -// src/longhands.ts:289:7 - (ae-incompatible-release-tags) The symbol ""z-index"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:183:7 - (ae-incompatible-release-tags) The symbol ""background-attachment"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:184:7 - (ae-incompatible-release-tags) The symbol ""background-clip"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:185:7 - (ae-incompatible-release-tags) The symbol ""background-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:186:7 - (ae-incompatible-release-tags) The symbol ""background-image"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:187:7 - (ae-incompatible-release-tags) The symbol ""background-origin"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:188:7 - (ae-incompatible-release-tags) The symbol ""background-position-x"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:189:7 - (ae-incompatible-release-tags) The symbol ""background-position-y"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:190:7 - (ae-incompatible-release-tags) The symbol ""background-repeat-x"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:191:7 - (ae-incompatible-release-tags) The symbol ""background-repeat-y"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:192:7 - (ae-incompatible-release-tags) The symbol ""background-size"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:193:7 - (ae-incompatible-release-tags) The symbol ""border-block-end-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:194:7 - (ae-incompatible-release-tags) The symbol ""border-block-end-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:195:7 - (ae-incompatible-release-tags) The symbol ""border-block-end-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:196:7 - (ae-incompatible-release-tags) The symbol ""border-block-start-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:197:7 - (ae-incompatible-release-tags) The symbol ""border-block-start-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:198:7 - (ae-incompatible-release-tags) The symbol ""border-block-start-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:199:7 - (ae-incompatible-release-tags) The symbol ""border-bottom-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:200:7 - (ae-incompatible-release-tags) The symbol ""border-bottom-left-radius"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:201:7 - (ae-incompatible-release-tags) The symbol ""border-bottom-right-radius"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:202:7 - (ae-incompatible-release-tags) The symbol ""border-bottom-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:203:7 - (ae-incompatible-release-tags) The symbol ""border-bottom-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:204:7 - (ae-incompatible-release-tags) The symbol ""border-collapse"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:205:7 - (ae-incompatible-release-tags) The symbol ""border-end-end-radius"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:206:7 - (ae-incompatible-release-tags) The symbol ""border-end-start-radius"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:207:7 - (ae-incompatible-release-tags) The symbol ""border-image-outset"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:208:7 - (ae-incompatible-release-tags) The symbol ""border-image-repeat"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:209:7 - (ae-incompatible-release-tags) The symbol ""border-image-slice"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:210:7 - (ae-incompatible-release-tags) The symbol ""border-image-source"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:211:7 - (ae-incompatible-release-tags) The symbol ""border-image-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:212:7 - (ae-incompatible-release-tags) The symbol ""border-inline-end-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:213:7 - (ae-incompatible-release-tags) The symbol ""border-inline-end-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:214:7 - (ae-incompatible-release-tags) The symbol ""border-inline-end-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:215:7 - (ae-incompatible-release-tags) The symbol ""border-inline-start-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:216:7 - (ae-incompatible-release-tags) The symbol ""border-inline-start-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:217:7 - (ae-incompatible-release-tags) The symbol ""border-inline-start-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:218:7 - (ae-incompatible-release-tags) The symbol ""border-left-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:219:7 - (ae-incompatible-release-tags) The symbol ""border-left-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:220:7 - (ae-incompatible-release-tags) The symbol ""border-left-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:221:7 - (ae-incompatible-release-tags) The symbol ""border-right-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:222:7 - (ae-incompatible-release-tags) The symbol ""border-right-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:223:7 - (ae-incompatible-release-tags) The symbol ""border-right-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:224:7 - (ae-incompatible-release-tags) The symbol ""border-start-end-radius"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:225:7 - (ae-incompatible-release-tags) The symbol ""border-start-start-radius"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:226:7 - (ae-incompatible-release-tags) The symbol ""border-top-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:227:7 - (ae-incompatible-release-tags) The symbol ""border-top-left-radius"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:228:7 - (ae-incompatible-release-tags) The symbol ""border-top-right-radius"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:229:7 - (ae-incompatible-release-tags) The symbol ""border-top-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:230:7 - (ae-incompatible-release-tags) The symbol ""border-top-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:231:7 - (ae-incompatible-release-tags) The symbol "bottom" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:232:7 - (ae-incompatible-release-tags) The symbol ""box-shadow"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:233:7 - (ae-incompatible-release-tags) The symbol ""clip-path"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:234:7 - (ae-incompatible-release-tags) The symbol "clip" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:235:7 - (ae-incompatible-release-tags) The symbol "color" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:236:7 - (ae-incompatible-release-tags) The symbol ""container-type"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:237:7 - (ae-incompatible-release-tags) The symbol "cursor" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:238:7 - (ae-incompatible-release-tags) The symbol "display" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:239:7 - (ae-incompatible-release-tags) The symbol ""flex-direction"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:240:7 - (ae-incompatible-release-tags) The symbol ""flex-wrap"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:241:7 - (ae-incompatible-release-tags) The symbol "float" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:242:7 - (ae-incompatible-release-tags) The symbol ""font-family"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:243:7 - (ae-incompatible-release-tags) The symbol ""font-size"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:244:7 - (ae-incompatible-release-tags) The symbol ""font-stretch"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:245:7 - (ae-incompatible-release-tags) The symbol ""font-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:246:7 - (ae-incompatible-release-tags) The symbol ""font-variant-caps"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:247:7 - (ae-incompatible-release-tags) The symbol ""font-variant-east-asian"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:248:7 - (ae-incompatible-release-tags) The symbol ""font-variant-ligatures"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:249:7 - (ae-incompatible-release-tags) The symbol ""font-variant-numeric"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:250:7 - (ae-incompatible-release-tags) The symbol ""font-variant-position"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:251:7 - (ae-incompatible-release-tags) The symbol ""font-weight"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:252:7 - (ae-incompatible-release-tags) The symbol "height" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:253:7 - (ae-incompatible-release-tags) The symbol ""inset-block-end"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:254:7 - (ae-incompatible-release-tags) The symbol ""inset-block-start"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:255:7 - (ae-incompatible-release-tags) The symbol ""inset-inline-end"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:256:7 - (ae-incompatible-release-tags) The symbol ""inset-inline-start"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:257:7 - (ae-incompatible-release-tags) The symbol "isolation" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:258:7 - (ae-incompatible-release-tags) The symbol "left" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:259:7 - (ae-incompatible-release-tags) The symbol ""letter-spacing"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:260:7 - (ae-incompatible-release-tags) The symbol ""line-height"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:261:7 - (ae-incompatible-release-tags) The symbol ""margin-bottom"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:262:7 - (ae-incompatible-release-tags) The symbol ""margin-left"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:263:7 - (ae-incompatible-release-tags) The symbol ""margin-right"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:264:7 - (ae-incompatible-release-tags) The symbol ""margin-top"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:265:7 - (ae-incompatible-release-tags) The symbol ""min-height"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:266:7 - (ae-incompatible-release-tags) The symbol ""min-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:267:7 - (ae-incompatible-release-tags) The symbol ""mix-blend-mode"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:268:7 - (ae-incompatible-release-tags) The symbol "opacity" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:269:7 - (ae-incompatible-release-tags) The symbol ""outline-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:270:7 - (ae-incompatible-release-tags) The symbol ""outline-offset"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:271:7 - (ae-incompatible-release-tags) The symbol ""outline-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:272:7 - (ae-incompatible-release-tags) The symbol ""outline-width"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:273:7 - (ae-incompatible-release-tags) The symbol ""overflow-x"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:274:7 - (ae-incompatible-release-tags) The symbol ""overflow-y"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:275:7 - (ae-incompatible-release-tags) The symbol ""pointer-events"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:276:7 - (ae-incompatible-release-tags) The symbol "position" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:277:7 - (ae-incompatible-release-tags) The symbol "right" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:278:7 - (ae-incompatible-release-tags) The symbol "rotate" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:279:7 - (ae-incompatible-release-tags) The symbol ""text-align"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:280:7 - (ae-incompatible-release-tags) The symbol ""text-decoration-color"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:281:7 - (ae-incompatible-release-tags) The symbol ""text-decoration-line"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:282:7 - (ae-incompatible-release-tags) The symbol ""text-decoration-style"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:283:7 - (ae-incompatible-release-tags) The symbol ""text-decoration-thickness"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:284:7 - (ae-incompatible-release-tags) The symbol ""text-indent"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:285:7 - (ae-incompatible-release-tags) The symbol ""text-overflow"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:286:7 - (ae-incompatible-release-tags) The symbol ""text-shadow"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:287:7 - (ae-incompatible-release-tags) The symbol ""text-transform"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:288:7 - (ae-incompatible-release-tags) The symbol "top" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:289:7 - (ae-incompatible-release-tags) The symbol "transform" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:290:7 - (ae-incompatible-release-tags) The symbol ""vertical-align"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:291:7 - (ae-incompatible-release-tags) The symbol "visibility" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:292:7 - (ae-incompatible-release-tags) The symbol ""white-space"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:293:7 - (ae-incompatible-release-tags) The symbol "width" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:294:7 - (ae-incompatible-release-tags) The symbol ""word-spacing"" is marked as @public, but its signature references "Longhand" which is marked as @internal +// src/longhands.ts:295:7 - (ae-incompatible-release-tags) The symbol ""z-index"" is marked as @public, but its signature references "Longhand" which is marked as @internal // src/shorthands.ts:47:14 - (ae-incompatible-release-tags) The symbol "background" is marked as @public, but its signature references "Shorthand" which is marked as @internal // src/shorthands.ts:48:14 - (ae-incompatible-release-tags) The symbol ""background-position"" is marked as @public, but its signature references "Shorthand" which is marked as @internal // src/shorthands.ts:49:14 - (ae-incompatible-release-tags) The symbol ""background-repeat"" is marked as @public, but its signature references "Shorthand" which is marked as @internal diff --git a/packages/alfa-style/src/longhands.ts b/packages/alfa-style/src/longhands.ts index a1ebcea792..94e42453fa 100644 --- a/packages/alfa-style/src/longhands.ts +++ b/packages/alfa-style/src/longhands.ts @@ -53,6 +53,7 @@ import BoxShadow from "./property/box-shadow.js"; import Clip from "./property/clip.js"; import ClipPath from "./property/clip-path.js"; import Color from "./property/color.js"; +import ContainerType from "./property/container-type.js"; import Cursor from "./property/cursor.js"; import Display from "./property/display.js"; import FlexDirection from "./property/flex-direction.js"; @@ -73,6 +74,7 @@ import InsetBlockEnd from "./property/inset-block-end.js"; import InsetBlockStart from "./property/inset-block-start.js"; import InsetInlineEnd from "./property/inset-inline-end.js"; import InsetInlineStart from "./property/inset-inline-start.js"; +import Isolation from "./property/isolation.js"; import Left from "./property/left.js"; import LetterSpacing from "./property/letter-spacing.js"; import LineHeight from "./property/line-height.js"; @@ -82,6 +84,7 @@ import MarginRight from "./property/margin-right.js"; import MarginTop from "./property/margin-top.js"; import MinHeight from "./property/min-height.js"; import MinWidth from "./property/min-width.js"; +import MixBlendMode from "./property/mix-blend-mode.js"; import Opacity from "./property/opacity.js"; import OutlineColor from "./property/outline-color.js"; import OutlineOffset from "./property/outline-offset.js"; @@ -230,6 +233,7 @@ export namespace Longhands { "clip-path": ClipPath, clip: Clip, color: Color, + "container-type": ContainerType, cursor: Cursor, display: Display, "flex-direction": FlexDirection, @@ -250,6 +254,7 @@ export namespace Longhands { "inset-block-start": InsetBlockStart, "inset-inline-end": InsetInlineEnd, "inset-inline-start": InsetInlineStart, + isolation: Isolation, left: Left, "letter-spacing": LetterSpacing, "line-height": LineHeight, @@ -259,6 +264,7 @@ export namespace Longhands { "margin-top": MarginTop, "min-height": MinHeight, "min-width": MinWidth, + "mix-blend-mode": MixBlendMode, opacity: Opacity, "outline-color": OutlineColor, "outline-offset": OutlineOffset, diff --git a/packages/alfa-style/src/property/container-type.ts b/packages/alfa-style/src/property/container-type.ts new file mode 100644 index 0000000000..159207b433 --- /dev/null +++ b/packages/alfa-style/src/property/container-type.ts @@ -0,0 +1,12 @@ +import { Longhand } from "../longhand.js"; + +/** + * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/container-type} + * @internal + */ +export default Longhand.fromKeywords( + { inherits: false }, + "normal", + "size", + "inline-size", +); diff --git a/packages/alfa-style/src/property/isolation.ts b/packages/alfa-style/src/property/isolation.ts new file mode 100644 index 0000000000..cf830c9650 --- /dev/null +++ b/packages/alfa-style/src/property/isolation.ts @@ -0,0 +1,7 @@ +import { Longhand } from "../longhand.js"; + +/** + * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/isolation} + * @internal + */ +export default Longhand.fromKeywords({ inherits: false }, "auto", "isolate"); diff --git a/packages/alfa-style/src/property/mix-blend-mode.ts b/packages/alfa-style/src/property/mix-blend-mode.ts new file mode 100644 index 0000000000..9f9ea25ec8 --- /dev/null +++ b/packages/alfa-style/src/property/mix-blend-mode.ts @@ -0,0 +1,27 @@ +import { Longhand } from "../longhand.js"; + +/** + * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/mix-blend-mode} + * @internal + */ +export default Longhand.fromKeywords( + { inherits: false }, + "normal", + "multiply", + "screen", + "overlay", + "darken", + "lighten", + "color-dodge", + "color-burn", + "hard-light", + "soft-light", + "difference", + "exclusion", + "hue", + "saturation", + "color", + "luminosity", + "plus-darker", + "plus-lighter", +); diff --git a/packages/alfa-style/src/tsconfig.json b/packages/alfa-style/src/tsconfig.json index 32bf1f7193..da6be690ec 100644 --- a/packages/alfa-style/src/tsconfig.json +++ b/packages/alfa-style/src/tsconfig.json @@ -110,6 +110,7 @@ "./property/clip.ts", "./property/clip-path.ts", "./property/color.ts", + "./property/container-type.ts", "./property/cursor.ts", "./property/display.ts", "./property/flex-direction.ts", @@ -136,6 +137,7 @@ "./property/inset-inline.ts", "./property/inset-inline-end.ts", "./property/inset-inline-start.ts", + "./property/isolation.ts", "./property/left.ts", "./property/letter-spacing.ts", "./property/line-height.ts", @@ -146,6 +148,7 @@ "./property/margin-top.ts", "./property/min-height.ts", "./property/min-width.ts", + "./property/mix-blend-mode.ts", "./property/opacity.ts", "./property/outline.ts", "./property/outline-color.ts", diff --git a/packages/alfa-style/test/property/container-type.spec.tsx b/packages/alfa-style/test/property/container-type.spec.tsx new file mode 100644 index 0000000000..d1d5e2e63c --- /dev/null +++ b/packages/alfa-style/test/property/container-type.spec.tsx @@ -0,0 +1,59 @@ +import { h } from "@siteimprove/alfa-dom/h"; +import { test } from "@siteimprove/alfa-test"; + +import { Device } from "@siteimprove/alfa-device"; + +import { Style } from "../../dist/style.js"; + +const device = Device.standard(); + +test("initial value is `normal`", (t) => { + const element =
Hello
; + + const style = Style.from(element, device); + + t.deepEqual(style.computed("container-type").toJSON(), { + value: { type: "keyword", value: "normal" }, + source: null, + }); +}); + +test("property is not inherited", (t) => { + const element =
Hello
; + + h.document( + [
{element}
], + [ + h.sheet([ + h.rule.style(".container", [h.declaration("container-type", "size")]), + ]), + ], + ); + const style = Style.from(element, device); + + t.deepEqual(style.computed("container-type").toJSON(), { + value: { type: "keyword", value: "normal" }, + source: null, + }); +}); + +test("#computed() parses the keywords", (t) => { + for (const kw of ["normal", "size", "inline-size"] as const) { + const element =
Hello
; + + h.document( + [element], + [ + h.sheet([ + h.rule.style(".container", [h.declaration("container-type", kw)]), + ]), + ], + ); + const style = Style.from(element, device); + + t.deepEqual(style.computed("container-type").toJSON(), { + value: { type: "keyword", value: kw }, + source: h.declaration("container-type", kw).toJSON(), + }); + } +}); diff --git a/packages/alfa-style/test/property/isolation.spec.tsx b/packages/alfa-style/test/property/isolation.spec.tsx new file mode 100644 index 0000000000..29c03ee749 --- /dev/null +++ b/packages/alfa-style/test/property/isolation.spec.tsx @@ -0,0 +1,55 @@ +import { h } from "@siteimprove/alfa-dom/h"; +import { test } from "@siteimprove/alfa-test"; + +import { Device } from "@siteimprove/alfa-device"; + +import { Style } from "../../dist/style.js"; + +const device = Device.standard(); + +test("initial value is `auto`", (t) => { + const element =
Hello
; + + const style = Style.from(element, device); + + t.deepEqual(style.computed("isolation").toJSON(), { + value: { type: "keyword", value: "auto" }, + source: null, + }); +}); + +test("property is not inherited", (t) => { + const element =
Hello
; + + h.document( + [
{element}
], + [ + h.sheet([ + h.rule.style(".container", [h.declaration("isolation", "isolate")]), + ]), + ], + ); + const style = Style.from(element, device); + + t.deepEqual(style.computed("isolation").toJSON(), { + value: { type: "keyword", value: "auto" }, + source: null, + }); +}); + +test("#computed() parses the keywords", (t) => { + for (const kw of ["auto", "isolate"] as const) { + const element =
Hello
; + + h.document( + [element], + [h.sheet([h.rule.style(".container", [h.declaration("isolation", kw)])])], + ); + const style = Style.from(element, device); + + t.deepEqual(style.computed("isolation").toJSON(), { + value: { type: "keyword", value: kw }, + source: h.declaration("isolation", kw).toJSON(), + }); + } +}); diff --git a/packages/alfa-style/test/property/mix-blend-mode.spec.tsx b/packages/alfa-style/test/property/mix-blend-mode.spec.tsx new file mode 100644 index 0000000000..8e6e396460 --- /dev/null +++ b/packages/alfa-style/test/property/mix-blend-mode.spec.tsx @@ -0,0 +1,80 @@ +import { h } from "@siteimprove/alfa-dom/h"; +import { test } from "@siteimprove/alfa-test"; + +import { Device } from "@siteimprove/alfa-device"; + +import { Style } from "../../dist/style.js"; + +const device = Device.standard(); + +test("initial value is `normal`", (t) => { + const element =
Hello
; + + const style = Style.from(element, device); + + t.deepEqual(style.computed("mix-blend-mode").toJSON(), { + value: { type: "keyword", value: "normal" }, + source: null, + }); +}); + +test("property is not inherited", (t) => { + const element =
Hello
; + + h.document( + [
{element}
], + [ + h.sheet([ + h.rule.style(".container", [ + h.declaration("mix-blend-mode", "multiply"), + ]), + ]), + ], + ); + const style = Style.from(element, device); + + t.deepEqual(style.computed("mix-blend-mode").toJSON(), { + value: { type: "keyword", value: "normal" }, + source: null, + }); +}); + +test("#computed() parses the keywords", (t) => { + for (const kw of [ + "normal", + "multiply", + "screen", + "overlay", + "darken", + "lighten", + "color-dodge", + "color-burn", + "hard-light", + "soft-light", + "difference", + "exclusion", + "hue", + "saturation", + "color", + "luminosity", + "plus-darker", + "plus-lighter", + ] as const) { + const element =
Hello
; + + h.document( + [element], + [ + h.sheet([ + h.rule.style(".container", [h.declaration("mix-blend-mode", kw)]), + ]), + ], + ); + const style = Style.from(element, device); + + t.deepEqual(style.computed("mix-blend-mode").toJSON(), { + value: { type: "keyword", value: kw }, + source: h.declaration("mix-blend-mode", kw).toJSON(), + }); + } +}); diff --git a/packages/alfa-style/test/tsconfig.json b/packages/alfa-style/test/tsconfig.json index eb88f9dd38..b9be5f0eb9 100644 --- a/packages/alfa-style/test/tsconfig.json +++ b/packages/alfa-style/test/tsconfig.json @@ -40,6 +40,7 @@ "./property/border-image-width.spec.tsx", "./property/box-shadow.spec.tsx", "./property/clip.spec.tsx", + "./property/container-type.spec.tsx", "./property/cursor.spec.tsx", "./property/display.spec.tsx", "./property/font.spec.tsx", @@ -47,8 +48,10 @@ "./property/font-size.spec.tsx", "./property/font-variant.spec.tsx", "./property/inset-block.spec.tsx", + "./property/isolation.spec.tsx", "./property/line-height.spec.tsx", "./property/margin.spec.tsx", + "./property/mix-blend-mode.spec.tsx", "./property/opacity.spec.tsx", "./property/outline.spec.tsx", "./property/rotate.spec.tsx",