From d6d904b048ba780a774c929c08643be49955cbf4 Mon Sep 17 00:00:00 2001 From: Romain Menke Date: Sat, 29 Nov 2025 09:14:16 +0100 Subject: [PATCH 1/2] css-syntax-patches-for-csstree: patch overflow-* --- .../CHANGELOG.md | 5 ++ .../dist/index.json | 4 ++ .../webref-over-csstree-properties.json | 72 +++++++++++++++++++ .../webref-over-csstree-properties.json | 24 +++++++ .../raw-data/webref-properties.json | 8 +-- .../scripts/generate-webref-sets.mjs | 9 +++ 6 files changed, 118 insertions(+), 4 deletions(-) diff --git a/packages/css-syntax-patches-for-csstree/CHANGELOG.md b/packages/css-syntax-patches-for-csstree/CHANGELOG.md index 0ea390f059..d705a53816 100644 --- a/packages/css-syntax-patches-for-csstree/CHANGELOG.md +++ b/packages/css-syntax-patches-for-csstree/CHANGELOG.md @@ -1,5 +1,10 @@ # Changes to CSS Syntax Patches For CSSTree +### Unreleased (patch) + +- Patch `overflow-*` to include `<-non-standard-overflow>` + + ### 1.0.19 _November 26, 2025_ diff --git a/packages/css-syntax-patches-for-csstree/dist/index.json b/packages/css-syntax-patches-for-csstree/dist/index.json index 82f478eb0d..bfb9e9dea5 100644 --- a/packages/css-syntax-patches-for-csstree/dist/index.json +++ b/packages/css-syntax-patches-for-csstree/dist/index.json @@ -339,6 +339,7 @@ "outline-color": "auto | <'border-top-color'>", "outline-style": "auto | none | dotted | dashed | solid | double | groove | ridge | inset | outset", "overflow": "<'overflow-block'>{1,2} | <-non-standard-overflow>", + "overflow-block": "| <-non-standard-overflow>", "overflow-clip-margin-block": " || ", "overflow-clip-margin-block-end": " || ", "overflow-clip-margin-block-start": " || ", @@ -349,6 +350,9 @@ "overflow-clip-margin-left": " || ", "overflow-clip-margin-right": " || ", "overflow-clip-margin-top": " || ", + "overflow-inline": "| <-non-standard-overflow>", + "overflow-x": "| <-non-standard-overflow>", + "overflow-y": "| <-non-standard-overflow>", "padding": "<'padding-top'>{1,4}", "padding-block": "<'padding-top'>{1,2}", "padding-block-end": "<'padding-top'>", diff --git a/packages/css-syntax-patches-for-csstree/patches/webref-over-csstree-properties.json b/packages/css-syntax-patches-for-csstree/patches/webref-over-csstree-properties.json index 306b0f9880..e1baf5e9ce 100644 --- a/packages/css-syntax-patches-for-csstree/patches/webref-over-csstree-properties.json +++ b/packages/css-syntax-patches-for-csstree/patches/webref-over-csstree-properties.json @@ -4027,6 +4027,24 @@ "failing": [] } }, + "overflow-block": { + "type": "modified", + "comment": "", + "syntax-b": "visible | hidden | clip | scroll | auto", + "syntax-a": "visible | hidden | clip | scroll | auto | <-non-standard-overflow>", + "syntax-m": "| <-non-standard-overflow>", + "tests": { + "passing": [ + { + "value": "visible" + }, + { + "value": "overlay" + } + ], + "failing": [] + } + }, "overflow-clip-margin-block": { "type": "added", "comment": "", @@ -4137,6 +4155,60 @@ "failing": [] } }, + "overflow-inline": { + "type": "modified", + "comment": "", + "syntax-b": "visible | hidden | clip | scroll | auto", + "syntax-a": "visible | hidden | clip | scroll | auto | <-non-standard-overflow>", + "syntax-m": "| <-non-standard-overflow>", + "tests": { + "passing": [ + { + "value": "visible" + }, + { + "value": "overlay" + } + ], + "failing": [] + } + }, + "overflow-x": { + "type": "modified", + "comment": "", + "syntax-b": "visible | hidden | clip | scroll | auto", + "syntax-a": "visible | hidden | clip | scroll | auto | <-non-standard-overflow>", + "syntax-m": "| <-non-standard-overflow>", + "tests": { + "passing": [ + { + "value": "visible" + }, + { + "value": "overlay" + } + ], + "failing": [] + } + }, + "overflow-y": { + "type": "modified", + "comment": "", + "syntax-b": "visible | hidden | clip | scroll | auto", + "syntax-a": "visible | hidden | clip | scroll | auto | <-non-standard-overflow>", + "syntax-m": "| <-non-standard-overflow>", + "tests": { + "passing": [ + { + "value": "visible" + }, + { + "value": "overlay" + } + ], + "failing": [] + } + }, "padding": { "type": "modified", "comment": "", diff --git a/packages/css-syntax-patches-for-csstree/raw-data/webref-over-csstree-properties.json b/packages/css-syntax-patches-for-csstree/raw-data/webref-over-csstree-properties.json index ff9063afe7..970a044b5f 100644 --- a/packages/css-syntax-patches-for-csstree/raw-data/webref-over-csstree-properties.json +++ b/packages/css-syntax-patches-for-csstree/raw-data/webref-over-csstree-properties.json @@ -1751,6 +1751,12 @@ "syntax-a": "<'overflow-block'>{1,2}", "comment": "" }, + "overflow-block": { + "type": "modified", + "syntax-b": "visible | hidden | clip | scroll | auto", + "syntax-a": "visible | hidden | clip | scroll | auto | <-non-standard-overflow>", + "comment": "" + }, "overflow-clip-margin-block": { "type": "added", "syntax-b": "", @@ -1811,6 +1817,24 @@ "syntax-a": " || ", "comment": "" }, + "overflow-inline": { + "type": "modified", + "syntax-b": "visible | hidden | clip | scroll | auto", + "syntax-a": "visible | hidden | clip | scroll | auto | <-non-standard-overflow>", + "comment": "" + }, + "overflow-x": { + "type": "modified", + "syntax-b": "visible | hidden | clip | scroll | auto", + "syntax-a": "visible | hidden | clip | scroll | auto | <-non-standard-overflow>", + "comment": "" + }, + "overflow-y": { + "type": "modified", + "syntax-b": "visible | hidden | clip | scroll | auto", + "syntax-a": "visible | hidden | clip | scroll | auto | <-non-standard-overflow>", + "comment": "" + }, "padding": { "type": "modified", "syntax-b": "[ | ]{1,4}", diff --git a/packages/css-syntax-patches-for-csstree/raw-data/webref-properties.json b/packages/css-syntax-patches-for-csstree/raw-data/webref-properties.json index 2821d4751e..d2902de72c 100644 --- a/packages/css-syntax-patches-for-csstree/raw-data/webref-properties.json +++ b/packages/css-syntax-patches-for-csstree/raw-data/webref-properties.json @@ -1650,7 +1650,7 @@ "syntax": "auto | none" }, "overflow-block": { - "syntax": "visible | hidden | clip | scroll | auto" + "syntax": "visible | hidden | clip | scroll | auto | <-non-standard-overflow>" }, "overflow-clip-box": { "syntax": "padding-box | content-box" @@ -1689,7 +1689,7 @@ "syntax": " || " }, "overflow-inline": { - "syntax": "visible | hidden | clip | scroll | auto" + "syntax": "visible | hidden | clip | scroll | auto | <-non-standard-overflow>" }, "-webkit-overflow-scrolling": { "syntax": "auto | touch" @@ -1701,10 +1701,10 @@ "syntax": "normal | break-word | anywhere" }, "overflow-x": { - "syntax": "visible | hidden | clip | scroll | auto" + "syntax": "visible | hidden | clip | scroll | auto | <-non-standard-overflow>" }, "overflow-y": { - "syntax": "visible | hidden | clip | scroll | auto" + "syntax": "visible | hidden | clip | scroll | auto | <-non-standard-overflow>" }, "overlay": { "syntax": "none | auto" diff --git a/packages/css-syntax-patches-for-csstree/scripts/generate-webref-sets.mjs b/packages/css-syntax-patches-for-csstree/scripts/generate-webref-sets.mjs index 9b659ad94d..2936ea2ad3 100644 --- a/packages/css-syntax-patches-for-csstree/scripts/generate-webref-sets.mjs +++ b/packages/css-syntax-patches-for-csstree/scripts/generate-webref-sets.mjs @@ -112,6 +112,15 @@ export async function generate_webref_sets() { property.syntax = 'rect( , , , ) | rect( ) | auto'; } + if (( + property.name === 'overflow-x' || + property.name === 'overflow-y' || + property.name === 'overflow-inline' || + property.name === 'overflow-block' + ) && property.syntax === 'visible | hidden | clip | scroll | auto') { + property.syntax = '| <-non-standard-overflow>'; + } + if (!property.syntax) { continue; } From 83899c7fa64aad9d26da3e489a143c507bdb0373 Mon Sep 17 00:00:00 2001 From: Romain Menke Date: Sat, 29 Nov 2025 09:21:55 +0100 Subject: [PATCH 2/2] docs --- .../scripts/generate-webref-sets.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/css-syntax-patches-for-csstree/scripts/generate-webref-sets.mjs b/packages/css-syntax-patches-for-csstree/scripts/generate-webref-sets.mjs index 2936ea2ad3..55d57bed1e 100644 --- a/packages/css-syntax-patches-for-csstree/scripts/generate-webref-sets.mjs +++ b/packages/css-syntax-patches-for-csstree/scripts/generate-webref-sets.mjs @@ -112,6 +112,7 @@ export async function generate_webref_sets() { property.syntax = 'rect( , , , ) | rect( ) | auto'; } + // https://github.com/csstree/csstree/pull/354 if (( property.name === 'overflow-x' || property.name === 'overflow-y' ||