From 5a7e3625c58faf1c0609d183806c4c5f9aa2e506 Mon Sep 17 00:00:00 2001 From: Victor W Allen Date: Tue, 17 Sep 2024 13:47:22 -0700 Subject: [PATCH 1/6] Adds additional compat_features keys to page-breaks --- features/page-breaks.yml | 62 ++++++++++++++++ features/page-breaks.yml.dist | 135 +++++++++++++++++++++++++++++++++- 2 files changed, 193 insertions(+), 4 deletions(-) diff --git a/features/page-breaks.yml b/features/page-breaks.yml index 917b7a168bb..dbd2f82d0f3 100644 --- a/features/page-breaks.yml +++ b/features/page-breaks.yml @@ -3,3 +3,65 @@ description: The `break-after`, `break-before`, `break-inside` CSS properties (a spec: https://drafts.csswg.org/css-break-3/#breaking-controls group: layout caniuse: css-page-break +compat_features: + - css.properties.break-after + - css.properties.break-after.always + - css.properties.break-after.auto + - css.properties.break-after.avoid + - css.properties.break-after.avoid-column + - css.properties.break-after.avoid-page + - css.properties.break-after.column + - css.properties.break-after.left + - css.properties.break-after.multicol_context + - css.properties.break-after.multicol_context.avoid + - css.properties.break-after.multicol_context.avoid-column + - css.properties.break-after.multicol_context.column + - css.properties.break-after.page + - css.properties.break-after.paged_context + - css.properties.break-after.paged_context.avoid-page + - css.properties.break-after.paged_context.page + - css.properties.break-after.recto + - css.properties.break-after.right + - css.properties.break-after.verso + - css.properties.break-before + - css.properties.break-before.always + - css.properties.break-before.auto + - css.properties.break-before.avoid + - css.properties.break-before.avoid-column + - css.properties.break-before.avoid-page + - css.properties.break-before.column + - css.properties.break-before.left + - css.properties.break-before.multicol_context + - css.properties.break-before.multicol_context.avoid + - css.properties.break-before.multicol_context.avoid-column + - css.properties.break-before.multicol_context.column + - css.properties.break-before.page + - css.properties.break-before.paged_context + - css.properties.break-before.paged_context.page + - css.properties.break-before.recto + - css.properties.break-before.right + - css.properties.break-before.verso + - css.properties.break-inside + - css.properties.break-inside.auto + - css.properties.break-inside.avoid + - css.properties.break-inside.avoid-column + - css.properties.break-inside.avoid-page + - css.properties.break-inside.multicol_context + - css.properties.break-inside.multicol_context.avoid-column + - css.properties.break-inside.paged_context + - css.properties.break-inside.paged_context.avoid-page + - css.properties.page-break-after + - css.properties.page-break-after.always + - css.properties.page-break-after.auto + - css.properties.page-break-after.avoid + - css.properties.page-break-after.left + - css.properties.page-break-after.right + - css.properties.page-break-before + - css.properties.page-break-before.always + - css.properties.page-break-before.auto + - css.properties.page-break-before.avoid + - css.properties.page-break-before.left + - css.properties.page-break-before.right + - css.properties.page-break-inside + - css.properties.page-break-inside.auto + - css.properties.page-break-inside.avoid diff --git a/features/page-breaks.yml.dist b/features/page-breaks.yml.dist index 3f59a101053..b91202de9fa 100644 --- a/features/page-breaks.yml.dist +++ b/features/page-breaks.yml.dist @@ -3,10 +3,7 @@ status: baseline: false - support: - chrome: "50" - chrome_android: "50" - edge: "12" + support: {} compat_features: # baseline: high # baseline_low_date: 2015-07-29 @@ -20,7 +17,15 @@ compat_features: # safari: "1.2" # safari_ios: "1" - css.properties.page-break-after + - css.properties.page-break-after.always + - css.properties.page-break-after.auto + - css.properties.page-break-after.left + - css.properties.page-break-after.right - css.properties.page-break-before + - css.properties.page-break-before.always + - css.properties.page-break-before.auto + - css.properties.page-break-before.left + - css.properties.page-break-before.right # baseline: high # baseline_low_date: 2015-07-29 @@ -34,6 +39,7 @@ compat_features: # safari: "1.3" # safari_ios: "1" - css.properties.page-break-inside + - css.properties.page-break-inside.auto - css.properties.page-break-inside.avoid # baseline: high @@ -54,8 +60,96 @@ compat_features: - css.properties.break-before.paged_context - css.properties.break-before.paged_context.page - css.properties.break-inside + - css.properties.break-inside.multicol_context - css.properties.break-inside.paged_context + # baseline: high + # baseline_low_date: 2020-07-28 + # baseline_high_date: 2023-01-28 + # support: + # chrome: ≤80 + # chrome_android: "80" + # edge: ≤80 + # firefox: ≤72 + # firefox_android: "79" + # safari: ≤13.1 + # safari_ios: ≤13.4 + - css.properties.break-after.auto + - css.properties.break-after.avoid + - css.properties.break-after.left + - css.properties.break-after.page + - css.properties.break-after.right + - css.properties.break-before.auto + - css.properties.break-before.avoid + - css.properties.break-before.left + - css.properties.break-before.page + - css.properties.break-before.right + - css.properties.break-inside.auto + - css.properties.break-inside.avoid + + # baseline: high + # baseline_low_date: 2021-09-07 + # baseline_high_date: 2024-03-07 + # support: + # chrome: "50" + # chrome_android: "50" + # edge: "12" + # firefox: "92" + # firefox_android: "92" + # safari: "10" + # safari_ios: "10" + - css.properties.break-inside.multicol_context.avoid-column + + # baseline: high + # baseline_low_date: 2021-09-07 + # baseline_high_date: 2024-03-07 + # support: + # chrome: ≤80 + # chrome_android: "80" + # edge: ≤80 + # firefox: "92" + # firefox_android: "92" + # safari: ≤13.1 + # safari_ios: ≤13.4 + - css.properties.break-inside.avoid-column + - css.properties.break-inside.avoid-page + + # baseline: false + # support: + # chrome: "50" + # chrome_android: "50" + # edge: "12" + # safari: "10" + # safari_ios: "10" + - css.properties.break-after.paged_context.avoid-page + + # baseline: false + # support: + # chrome: "51" + # chrome_android: "51" + # edge: "12" + # firefox: "92" + # firefox_android: "92" + - css.properties.break-inside.paged_context.avoid-page + + # baseline: false + # support: + # chrome: ≤80 + # chrome_android: "80" + # edge: ≤80 + # safari: ≤13.1 + # safari_ios: ≤13.4 + - css.properties.break-after.avoid-column + - css.properties.break-after.avoid-page + - css.properties.break-after.column + - css.properties.break-after.recto + - css.properties.break-after.verso + - css.properties.break-before.avoid-column + - css.properties.break-before.avoid-page + - css.properties.break-before.column + - css.properties.break-before.recto + - css.properties.break-before.verso + # baseline: false # support: # chrome: "1" @@ -63,3 +157,36 @@ compat_features: # edge: "12" - css.properties.page-break-after.avoid - css.properties.page-break-before.avoid + + # baseline: false + # support: + # chrome: "50" + # chrome_android: "50" + # edge: "12" + - css.properties.break-after.multicol_context + - css.properties.break-after.multicol_context.column + - css.properties.break-before.multicol_context + + # baseline: false + # support: + # chrome: "51" + # chrome_android: "51" + # edge: "12" + - css.properties.break-before.multicol_context.column + + # baseline: false + # support: + # chrome: "102" + # chrome_android: "102" + # edge: "102" + - css.properties.break-after.multicol_context.avoid + - css.properties.break-after.multicol_context.avoid-column + - css.properties.break-before.multicol_context.avoid + - css.properties.break-before.multicol_context.avoid-column + + # baseline: false + # support: + # firefox: ≤72 + # firefox_android: "79" + - css.properties.break-after.always + - css.properties.break-before.always From 0d78cdfd4628ab895d09963d27b173645dbd6da9 Mon Sep 17 00:00:00 2001 From: Victor W Allen Date: Wed, 18 Sep 2024 07:50:49 -0700 Subject: [PATCH 2/6] Corrects misplaced keys --- features/column-breaks.yml | 16 ++++++++++++ features/column-breaks.yml.dist | 25 ++++++++++++++++++ features/page-breaks.yml | 15 ----------- features/page-breaks.yml.dist | 45 --------------------------------- 4 files changed, 41 insertions(+), 60 deletions(-) diff --git a/features/column-breaks.yml b/features/column-breaks.yml index 863a3003151..656ba828d5d 100644 --- a/features/column-breaks.yml +++ b/features/column-breaks.yml @@ -2,3 +2,19 @@ name: Column breaks description: In columnar layouts (created by the `columns` or `column-count` CSS properties), the `break-after`, `break-before`, `break-inside` properties control where columns start or end. spec: https://drafts.csswg.org/css-break-3/#breaking-controls group: layout +compat_features: + - css.properties.break-after.avoid-column + - css.properties.break-after.column + - css.properties.break-after.multicol_context + - css.properties.break-after.multicol_context.avoid + - css.properties.break-after.multicol_context.avoid-column + - css.properties.break-after.multicol_context.column + - css.properties.break-before.avoid-column + - css.properties.break-before.column + - css.properties.break-before.multicol_context + - css.properties.break-before.multicol_context.avoid + - css.properties.break-before.multicol_context.avoid-column + - css.properties.break-before.multicol_context.column + - css.properties.break-inside.avoid-column + - css.properties.break-inside.multicol_context + - css.properties.break-inside.multicol_context.avoid-column diff --git a/features/column-breaks.yml.dist b/features/column-breaks.yml.dist index bd6e7a010c0..70570809a71 100644 --- a/features/column-breaks.yml.dist +++ b/features/column-breaks.yml.dist @@ -34,6 +34,31 @@ compat_features: # safari_ios: "10" - css.properties.break-inside.multicol_context.avoid-column + # baseline: high + # baseline_low_date: 2021-09-07 + # baseline_high_date: 2024-03-07 + # support: + # chrome: ≤80 + # chrome_android: "80" + # edge: ≤80 + # firefox: "92" + # firefox_android: "92" + # safari: ≤13.1 + # safari_ios: ≤13.4 + - css.properties.break-inside.avoid-column + + # baseline: false + # support: + # chrome: ≤80 + # chrome_android: "80" + # edge: ≤80 + # safari: ≤13.1 + # safari_ios: ≤13.4 + - css.properties.break-after.avoid-column + - css.properties.break-after.column + - css.properties.break-before.avoid-column + - css.properties.break-before.column + # baseline: false # support: # chrome: "50" diff --git a/features/page-breaks.yml b/features/page-breaks.yml index dbd2f82d0f3..1919162881b 100644 --- a/features/page-breaks.yml +++ b/features/page-breaks.yml @@ -8,14 +8,8 @@ compat_features: - css.properties.break-after.always - css.properties.break-after.auto - css.properties.break-after.avoid - - css.properties.break-after.avoid-column - css.properties.break-after.avoid-page - - css.properties.break-after.column - css.properties.break-after.left - - css.properties.break-after.multicol_context - - css.properties.break-after.multicol_context.avoid - - css.properties.break-after.multicol_context.avoid-column - - css.properties.break-after.multicol_context.column - css.properties.break-after.page - css.properties.break-after.paged_context - css.properties.break-after.paged_context.avoid-page @@ -27,14 +21,8 @@ compat_features: - css.properties.break-before.always - css.properties.break-before.auto - css.properties.break-before.avoid - - css.properties.break-before.avoid-column - css.properties.break-before.avoid-page - - css.properties.break-before.column - css.properties.break-before.left - - css.properties.break-before.multicol_context - - css.properties.break-before.multicol_context.avoid - - css.properties.break-before.multicol_context.avoid-column - - css.properties.break-before.multicol_context.column - css.properties.break-before.page - css.properties.break-before.paged_context - css.properties.break-before.paged_context.page @@ -44,10 +32,7 @@ compat_features: - css.properties.break-inside - css.properties.break-inside.auto - css.properties.break-inside.avoid - - css.properties.break-inside.avoid-column - css.properties.break-inside.avoid-page - - css.properties.break-inside.multicol_context - - css.properties.break-inside.multicol_context.avoid-column - css.properties.break-inside.paged_context - css.properties.break-inside.paged_context.avoid-page - css.properties.page-break-after diff --git a/features/page-breaks.yml.dist b/features/page-breaks.yml.dist index b91202de9fa..ea27e9a7cf2 100644 --- a/features/page-breaks.yml.dist +++ b/features/page-breaks.yml.dist @@ -60,7 +60,6 @@ compat_features: - css.properties.break-before.paged_context - css.properties.break-before.paged_context.page - css.properties.break-inside - - css.properties.break-inside.multicol_context - css.properties.break-inside.paged_context # baseline: high @@ -87,19 +86,6 @@ compat_features: - css.properties.break-inside.auto - css.properties.break-inside.avoid - # baseline: high - # baseline_low_date: 2021-09-07 - # baseline_high_date: 2024-03-07 - # support: - # chrome: "50" - # chrome_android: "50" - # edge: "12" - # firefox: "92" - # firefox_android: "92" - # safari: "10" - # safari_ios: "10" - - css.properties.break-inside.multicol_context.avoid-column - # baseline: high # baseline_low_date: 2021-09-07 # baseline_high_date: 2024-03-07 @@ -111,7 +97,6 @@ compat_features: # firefox_android: "92" # safari: ≤13.1 # safari_ios: ≤13.4 - - css.properties.break-inside.avoid-column - css.properties.break-inside.avoid-page # baseline: false @@ -139,14 +124,10 @@ compat_features: # edge: ≤80 # safari: ≤13.1 # safari_ios: ≤13.4 - - css.properties.break-after.avoid-column - css.properties.break-after.avoid-page - - css.properties.break-after.column - css.properties.break-after.recto - css.properties.break-after.verso - - css.properties.break-before.avoid-column - css.properties.break-before.avoid-page - - css.properties.break-before.column - css.properties.break-before.recto - css.properties.break-before.verso @@ -158,32 +139,6 @@ compat_features: - css.properties.page-break-after.avoid - css.properties.page-break-before.avoid - # baseline: false - # support: - # chrome: "50" - # chrome_android: "50" - # edge: "12" - - css.properties.break-after.multicol_context - - css.properties.break-after.multicol_context.column - - css.properties.break-before.multicol_context - - # baseline: false - # support: - # chrome: "51" - # chrome_android: "51" - # edge: "12" - - css.properties.break-before.multicol_context.column - - # baseline: false - # support: - # chrome: "102" - # chrome_android: "102" - # edge: "102" - - css.properties.break-after.multicol_context.avoid - - css.properties.break-after.multicol_context.avoid-column - - css.properties.break-before.multicol_context.avoid - - css.properties.break-before.multicol_context.avoid-column - # baseline: false # support: # firefox: ≤72 From 2ce5a66dcb4ea0f1f5a5a9c14608836c6b596a1a Mon Sep 17 00:00:00 2001 From: Victor W Allen Date: Mon, 30 Sep 2024 08:55:23 -0700 Subject: [PATCH 3/6] Updates spec --- features/page-breaks.yml | 4 +++- features/page-breaks.yml.dist | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/features/page-breaks.yml b/features/page-breaks.yml index 1919162881b..02be1341a0a 100644 --- a/features/page-breaks.yml +++ b/features/page-breaks.yml @@ -1,8 +1,10 @@ name: Page breaks description: The `break-after`, `break-before`, `break-inside` CSS properties (along with `page-break-` aliases) control where printed pages start and end. Also known as pagination or page breaking. -spec: https://drafts.csswg.org/css-break-3/#breaking-controls +spec: https://drafts.csswg.org/css-break-4/#breaking-controls group: layout caniuse: css-page-break +status: + compute_from: css.properties.break-inside.avoid-page compat_features: - css.properties.break-after - css.properties.break-after.always diff --git a/features/page-breaks.yml.dist b/features/page-breaks.yml.dist index ea27e9a7cf2..2bcccf222e0 100644 --- a/features/page-breaks.yml.dist +++ b/features/page-breaks.yml.dist @@ -2,8 +2,17 @@ # Do not edit this file by hand. Edit the source file instead! status: - baseline: false - support: {} + baseline: high + baseline_low_date: 2021-09-07 + baseline_high_date: 2024-03-07 + support: + chrome: ≤80 + chrome_android: "80" + edge: ≤80 + firefox: "92" + firefox_android: "92" + safari: ≤13.1 + safari_ios: ≤13.4 compat_features: # baseline: high # baseline_low_date: 2015-07-29 @@ -86,6 +95,7 @@ compat_features: - css.properties.break-inside.auto - css.properties.break-inside.avoid + # ⬇️ Same status as overall feature ⬇️ # baseline: high # baseline_low_date: 2021-09-07 # baseline_high_date: 2024-03-07 From b72fe80895548d6c2c0f888c67f6d3a55ca5ad10 Mon Sep 17 00:00:00 2001 From: Victor W Allen Date: Mon, 30 Sep 2024 09:26:45 -0700 Subject: [PATCH 4/6] Updates compute_from for more consistent reporting --- features/page-breaks.yml | 2 +- features/page-breaks.yml.dist | 16 +++++----------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/features/page-breaks.yml b/features/page-breaks.yml index 02be1341a0a..76b1fc71fb4 100644 --- a/features/page-breaks.yml +++ b/features/page-breaks.yml @@ -4,7 +4,7 @@ spec: https://drafts.csswg.org/css-break-4/#breaking-controls group: layout caniuse: css-page-break status: - compute_from: css.properties.break-inside.avoid-page + compute_from: css.properties.page-break-after.avoid compat_features: - css.properties.break-after - css.properties.break-after.always diff --git a/features/page-breaks.yml.dist b/features/page-breaks.yml.dist index 2bcccf222e0..302501b7b0f 100644 --- a/features/page-breaks.yml.dist +++ b/features/page-breaks.yml.dist @@ -2,17 +2,11 @@ # Do not edit this file by hand. Edit the source file instead! status: - baseline: high - baseline_low_date: 2021-09-07 - baseline_high_date: 2024-03-07 + baseline: false support: - chrome: ≤80 - chrome_android: "80" - edge: ≤80 - firefox: "92" - firefox_android: "92" - safari: ≤13.1 - safari_ios: ≤13.4 + chrome: "1" + chrome_android: "18" + edge: "12" compat_features: # baseline: high # baseline_low_date: 2015-07-29 @@ -95,7 +89,6 @@ compat_features: - css.properties.break-inside.auto - css.properties.break-inside.avoid - # ⬇️ Same status as overall feature ⬇️ # baseline: high # baseline_low_date: 2021-09-07 # baseline_high_date: 2024-03-07 @@ -141,6 +134,7 @@ compat_features: - css.properties.break-before.recto - css.properties.break-before.verso + # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: # chrome: "1" From 4086ffaef8ce93c67fb84477c07306be94bfe43e Mon Sep 17 00:00:00 2001 From: Victor W Allen Date: Mon, 30 Sep 2024 14:14:46 -0700 Subject: [PATCH 5/6] Linting --- features/column-breaks.yml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/features/column-breaks.yml b/features/column-breaks.yml index 656ba828d5d..57803ee82e7 100644 --- a/features/column-breaks.yml +++ b/features/column-breaks.yml @@ -3,18 +3,18 @@ description: In columnar layouts (created by the `columns` or `column-count` CSS spec: https://drafts.csswg.org/css-break-3/#breaking-controls group: layout compat_features: - - css.properties.break-after.avoid-column - - css.properties.break-after.column - - css.properties.break-after.multicol_context - - css.properties.break-after.multicol_context.avoid - - css.properties.break-after.multicol_context.avoid-column - - css.properties.break-after.multicol_context.column - - css.properties.break-before.avoid-column - - css.properties.break-before.column - - css.properties.break-before.multicol_context - - css.properties.break-before.multicol_context.avoid - - css.properties.break-before.multicol_context.avoid-column - - css.properties.break-before.multicol_context.column - - css.properties.break-inside.avoid-column - - css.properties.break-inside.multicol_context - - css.properties.break-inside.multicol_context.avoid-column + - css.properties.break-after.avoid-column + - css.properties.break-after.column + - css.properties.break-after.multicol_context + - css.properties.break-after.multicol_context.avoid + - css.properties.break-after.multicol_context.avoid-column + - css.properties.break-after.multicol_context.column + - css.properties.break-before.avoid-column + - css.properties.break-before.column + - css.properties.break-before.multicol_context + - css.properties.break-before.multicol_context.avoid + - css.properties.break-before.multicol_context.avoid-column + - css.properties.break-before.multicol_context.column + - css.properties.break-inside.avoid-column + - css.properties.break-inside.multicol_context + - css.properties.break-inside.multicol_context.avoid-column From 538f6d4794cdefa6f75367ad2d2c5a6c5e841664 Mon Sep 17 00:00:00 2001 From: James Stuckey Weber Date: Tue, 1 Oct 2024 09:38:29 -0400 Subject: [PATCH 6/6] Add todo Co-authored-by: Daniel D. Beck --- features/page-breaks.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/features/page-breaks.yml b/features/page-breaks.yml index 76b1fc71fb4..6fa1cb65236 100644 --- a/features/page-breaks.yml +++ b/features/page-breaks.yml @@ -4,6 +4,7 @@ spec: https://drafts.csswg.org/css-break-4/#breaking-controls group: layout caniuse: css-page-break status: + # TODO: review this when https://github.com/web-platform-dx/web-features/issues/1878 is resolved compute_from: css.properties.page-break-after.avoid compat_features: - css.properties.break-after