From ee8ea613cbd85faa6d517d9210d98cda37999d7d Mon Sep 17 00:00:00 2001 From: Victor W Allen Date: Tue, 29 Oct 2024 12:57:59 -0700 Subject: [PATCH 1/8] Adds CSS types group --- groups/types.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 groups/types.yml diff --git a/groups/types.yml b/groups/types.yml new file mode 100644 index 00000000000..fec6461a4f3 --- /dev/null +++ b/groups/types.yml @@ -0,0 +1,3 @@ +# Features that define CSS types. +name: Types +parent: css From 406d572e9dec33f54b9904cb8d8f179ee23736b6 Mon Sep 17 00:00:00 2001 From: Victor W Allen Date: Tue, 29 Oct 2024 12:58:37 -0700 Subject: [PATCH 2/8] Adds numeric types --- features/numeric-types.yml | 10 ++++++++ features/numeric-types.yml.dist | 45 +++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 features/numeric-types.yml create mode 100644 features/numeric-types.yml.dist diff --git a/features/numeric-types.yml b/features/numeric-types.yml new file mode 100644 index 00000000000..6ef3c6a2814 --- /dev/null +++ b/features/numeric-types.yml @@ -0,0 +1,10 @@ +name: Numeric types (CSS) +description: The `integer`, `number`, and `percentage` CSS types represent quantities, indexes, or positions depending on the CSS property to which they are assigned. The `dimension` CSS type represents a value of a specific unit, such as pixels or ems. The `dimension` subtypes define which units are valid for that type. +spec: https://drafts.csswg.org/css-values-4/#numeric-types +group: types +compat_features: + - css.types.dimension + - css.types.integer + - css.types.number + - css.types.number.scientific_notation + - css.types.percentage diff --git a/features/numeric-types.yml.dist b/features/numeric-types.yml.dist new file mode 100644 index 00000000000..2544c938dbb --- /dev/null +++ b/features/numeric-types.yml.dist @@ -0,0 +1,45 @@ +# Generated from: numeric-types.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2017-03-27 + baseline_high_date: 2019-09-27 + support: + chrome: "43" + chrome_android: "43" + edge: "12" + firefox: "29" + firefox_android: "29" + safari: "10.1" + safari_ios: "10.3" +compat_features: + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "1" + # safari_ios: "1" + - css.types.dimension + - css.types.integer + - css.types.number + - css.types.percentage + + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2017-03-27 + # baseline_high_date: 2019-09-27 + # support: + # chrome: "43" + # chrome_android: "43" + # edge: "12" + # firefox: "29" + # firefox_android: "29" + # safari: "10.1" + # safari_ios: "10.3" + - css.types.number.scientific_notation From a3f8e6302ef4c07864493657031742f9519c0837 Mon Sep 17 00:00:00 2001 From: Victor W Allen Date: Tue, 29 Oct 2024 12:59:05 -0700 Subject: [PATCH 3/8] Adds dimension sub-types --- features/angle.yml | 11 +++++++++ features/angle.yml.dist | 46 +++++++++++++++++++++++++++++++++++++ features/frequency.yml | 9 ++++++++ features/frequency.yml.dist | 11 +++++++++ features/length.yml | 7 ++++++ features/length.yml.dist | 18 +++++++++++++++ features/time-type.yml | 7 ++++++ features/time-type.yml.dist | 18 +++++++++++++++ 8 files changed, 127 insertions(+) create mode 100644 features/angle.yml create mode 100644 features/angle.yml.dist create mode 100644 features/frequency.yml create mode 100644 features/frequency.yml.dist create mode 100644 features/length.yml create mode 100644 features/length.yml.dist create mode 100644 features/time-type.yml create mode 100644 features/time-type.yml.dist diff --git a/features/angle.yml b/features/angle.yml new file mode 100644 index 00000000000..c8b113d183e --- /dev/null +++ b/features/angle.yml @@ -0,0 +1,11 @@ +name: angle +description: The `angle` CSS type represents a portion of a circle, expressed in degrees (`deg`), gradians (`grad`), radians (`rad`), or turns (`turn`). +spec: https://drafts.csswg.org/css-values-4/#angles +group: types +compat_features: + - css.types.angle + - css.types.angle-percentage + - css.types.angle.deg + - css.types.angle.grad + - css.types.angle.rad + - css.types.angle.turn diff --git a/features/angle.yml.dist b/features/angle.yml.dist new file mode 100644 index 00000000000..bffb0a5c66b --- /dev/null +++ b/features/angle.yml.dist @@ -0,0 +1,46 @@ +# Generated from: angle.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2015-07-29 + baseline_high_date: 2018-01-29 + support: + chrome: "2" + chrome_android: "18" + edge: "12" + firefox: "13" + firefox_android: "14" + safari: "4" + safari_ios: "3.2" +compat_features: + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "2" + # chrome_android: "18" + # edge: "12" + # firefox: "3.6" + # firefox_android: "4" + # safari: "4" + # safari_ios: "3.2" + - css.types.angle + - css.types.angle-percentage + - css.types.angle.deg + - css.types.angle.grad + - css.types.angle.rad + + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "2" + # chrome_android: "18" + # edge: "12" + # firefox: "13" + # firefox_android: "14" + # safari: "4" + # safari_ios: "3.2" + - css.types.angle.turn diff --git a/features/frequency.yml b/features/frequency.yml new file mode 100644 index 00000000000..1b9a5b30973 --- /dev/null +++ b/features/frequency.yml @@ -0,0 +1,9 @@ +name: frequency +description: The `frequency` CSS type represents a frequency value, expressed in hertz (`Hz`), or kilohertz (`kHz`). +spec: https://drafts.csswg.org/css-values-4/#frequency +group: types +compat_features: + - css.types.frequency + - css.types.frequency-percentage + - css.types.frequency.hz + - css.types.frequency.khz diff --git a/features/frequency.yml.dist b/features/frequency.yml.dist new file mode 100644 index 00000000000..ad3f8677dbe --- /dev/null +++ b/features/frequency.yml.dist @@ -0,0 +1,11 @@ +# Generated from: frequency.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: {} +compat_features: + - css.types.frequency + - css.types.frequency-percentage + - css.types.frequency.hz + - css.types.frequency.khz diff --git a/features/length.yml b/features/length.yml new file mode 100644 index 00000000000..8b4de9327bc --- /dev/null +++ b/features/length.yml @@ -0,0 +1,7 @@ +name: length +description: The `length` CSS type represents a distance value. Distance values can be expressed in font-relative units such as ems (`em`), viewport-relative units such as viewport width (`vw`), or absolute units such as pixels (`px`). +spec: https://drafts.csswg.org/css-values-4/#lengths +group: types +compat_features: + - css.types.length + - css.types.length-percentage diff --git a/features/length.yml.dist b/features/length.yml.dist new file mode 100644 index 00000000000..cd8cd6f19e8 --- /dev/null +++ b/features/length.yml.dist @@ -0,0 +1,18 @@ +# Generated from: length.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2015-07-29 + baseline_high_date: 2018-01-29 + support: + chrome: "1" + chrome_android: "18" + edge: "12" + firefox: "1" + firefox_android: "4" + safari: "1" + safari_ios: "1" +compat_features: + - css.types.length + - css.types.length-percentage diff --git a/features/time-type.yml b/features/time-type.yml new file mode 100644 index 00000000000..a919c38dc20 --- /dev/null +++ b/features/time-type.yml @@ -0,0 +1,7 @@ +name: time (CSS type) +description: The `time` CSS type represents a duration, expressed in seconds (`s`) or milliseconds (`ms`). +spec: https://drafts.csswg.org/css-values-4/#time-value +group: types +compat_features: + - css.types.time + - css.types.time-percentage diff --git a/features/time-type.yml.dist b/features/time-type.yml.dist new file mode 100644 index 00000000000..364e4499507 --- /dev/null +++ b/features/time-type.yml.dist @@ -0,0 +1,18 @@ +# Generated from: time-type.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2015-07-29 + baseline_high_date: 2018-01-29 + support: + chrome: "1" + chrome_android: "18" + edge: "12" + firefox: "4" + firefox_android: "4" + safari: "3.1" + safari_ios: "2" +compat_features: + - css.types.time + - css.types.time-percentage From c3e386a994d181200c1ba32dd1400dcaebb3af78 Mon Sep 17 00:00:00 2001 From: Victor W Allen Date: Tue, 29 Oct 2024 12:59:28 -0700 Subject: [PATCH 4/8] Adds/updates calc types --- features/calc-size.yml | 6 +++++ features/calc-size.yml.dist | 11 ++++++++ features/calc.yml | 7 ++++- features/calc.yml.dist | 51 +++++++++++++++++++++++++++++++++++++ 4 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 features/calc-size.yml create mode 100644 features/calc-size.yml.dist diff --git a/features/calc-size.yml b/features/calc-size.yml new file mode 100644 index 00000000000..d5c25eac0b9 --- /dev/null +++ b/features/calc-size.yml @@ -0,0 +1,6 @@ +name: calc-size +description: The `calc-size()` CSS function computes mathematical expressions that include keyword values such as `calc-size(fit-content, size / 2)`. +spec: https://drafts.csswg.org/css-values-5/#calc-size +group: types +compat_features: + - css.types.calc-size diff --git a/features/calc-size.yml.dist b/features/calc-size.yml.dist new file mode 100644 index 00000000000..1b73b4b927f --- /dev/null +++ b/features/calc-size.yml.dist @@ -0,0 +1,11 @@ +# Generated from: calc-size.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "129" + chrome_android: "129" + edge: "129" +compat_features: + - css.types.calc-size diff --git a/features/calc.yml b/features/calc.yml index 36954bb1e26..e3fa64e0cd0 100644 --- a/features/calc.yml +++ b/features/calc.yml @@ -1,7 +1,12 @@ name: calc() description: The `calc()` CSS function computes mathematical expressions such a `calc(100%/3 - 1em)`. spec: https://drafts.csswg.org/css-values-3/#calc-notation -group: css +group: types caniuse: calc +status: + compute_from: css.types.calc compat_features: - css.types.calc + - css.types.calc.gradient_color_stops + - css.types.calc.nested + - css.types.calc.number_values diff --git a/features/calc.yml.dist b/features/calc.yml.dist index a912ece6def..99b8b7bc415 100644 --- a/features/calc.yml.dist +++ b/features/calc.yml.dist @@ -14,4 +14,55 @@ status: safari: "7" safari_ios: "7" compat_features: + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "26" + # chrome_android: "28" + # edge: "12" + # firefox: "16" + # firefox_android: "16" + # safari: "7" + # safari_ios: "7" - css.types.calc + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "26" + # chrome_android: "28" + # edge: "12" + # firefox: "19" + # firefox_android: "19" + # safari: "7" + # safari_ios: "7" + - css.types.calc.gradient_color_stops + + # baseline: high + # baseline_low_date: 2016-08-02 + # baseline_high_date: 2019-02-02 + # support: + # chrome: "31" + # chrome_android: "31" + # edge: "12" + # firefox: "48" + # firefox_android: "48" + # safari: "7" + # safari_ios: "7" + - css.types.calc.number_values + + # baseline: high + # baseline_low_date: 2017-10-17 + # baseline_high_date: 2020-04-17 + # support: + # chrome: "51" + # chrome_android: "51" + # edge: "16" + # firefox: "48" + # firefox_android: "48" + # safari: "11" + # safari_ios: "11" + - css.types.calc.nested From 8008a6744a5ed2d5ead0f12ef2bcfa7457135516 Mon Sep 17 00:00:00 2001 From: Victor W Allen Date: Tue, 29 Oct 2024 12:59:46 -0700 Subject: [PATCH 5/8] Adds string type --- features/string-type.yml | 7 +++++++ features/string-type.yml.dist | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 features/string-type.yml create mode 100644 features/string-type.yml.dist diff --git a/features/string-type.yml b/features/string-type.yml new file mode 100644 index 00000000000..d5f183e1a35 --- /dev/null +++ b/features/string-type.yml @@ -0,0 +1,7 @@ +name: string (CSS type) +description: The `string` CSS type represents a sequence of characters. +spec: https://drafts.csswg.org/css-values-4/#string-value +group: types +compat_features: + - css.types.string + - css.types.string.unicode_escaped_characters diff --git a/features/string-type.yml.dist b/features/string-type.yml.dist new file mode 100644 index 00000000000..3139daa43ef --- /dev/null +++ b/features/string-type.yml.dist @@ -0,0 +1,18 @@ +# Generated from: string-type.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2015-07-29 + baseline_high_date: 2018-01-29 + support: + chrome: "1" + chrome_android: "18" + edge: "12" + firefox: "1" + firefox_android: "4" + safari: "1" + safari_ios: "1" +compat_features: + - css.types.string + - css.types.string.unicode_escaped_characters From 0b2cc53af50947d6f22409bce374a9330410778f Mon Sep 17 00:00:00 2001 From: Victor W Allen Date: Tue, 29 Oct 2024 13:00:00 -0700 Subject: [PATCH 6/8] Adds url type --- features/url-type.yml | 6 ++++++ features/url-type.yml.dist | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 features/url-type.yml create mode 100644 features/url-type.yml.dist diff --git a/features/url-type.yml b/features/url-type.yml new file mode 100644 index 00000000000..7464776e647 --- /dev/null +++ b/features/url-type.yml @@ -0,0 +1,6 @@ +name: url (CSS type) +description: The `url` CSS type represents an external resource. +spec: https://drafts.csswg.org/css-values-4/#string-value +group: types +compat_features: + - css.types.url diff --git a/features/url-type.yml.dist b/features/url-type.yml.dist new file mode 100644 index 00000000000..03a197eccec --- /dev/null +++ b/features/url-type.yml.dist @@ -0,0 +1,17 @@ +# Generated from: url-type.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2015-07-29 + baseline_high_date: 2018-01-29 + support: + chrome: "1" + chrome_android: "18" + edge: "12" + firefox: "1" + firefox_android: "4" + safari: "1" + safari_ios: "1" +compat_features: + - css.types.url From d5cc5605f529f0440deb79549ce88c553ec26252 Mon Sep 17 00:00:00 2001 From: Victor W Allen Date: Tue, 29 Oct 2024 13:00:22 -0700 Subject: [PATCH 7/8] Adds position type --- features/position-type.yml | 8 ++++++ features/position-type.yml.dist | 43 +++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 features/position-type.yml create mode 100644 features/position-type.yml.dist diff --git a/features/position-type.yml b/features/position-type.yml new file mode 100644 index 00000000000..db7cb793174 --- /dev/null +++ b/features/position-type.yml @@ -0,0 +1,8 @@ +name: position (CSS type) +description: The `position` CSS type represents the position of a non-element object, such as a background or transform origin, within a positioning area. +spec: https://drafts.csswg.org/css-values-4/#position +group: types +compat_features: + - css.types.position + - css.types.position.four_value_syntax + - css.types.position.keyword_value_syntax diff --git a/features/position-type.yml.dist b/features/position-type.yml.dist new file mode 100644 index 00000000000..9f565bf509c --- /dev/null +++ b/features/position-type.yml.dist @@ -0,0 +1,43 @@ +# Generated from: position-type.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2015-07-29 + baseline_high_date: 2018-01-29 + support: + chrome: "25" + chrome_android: "25" + edge: "12" + firefox: "13" + firefox_android: "14" + safari: "7" + safari_ios: "7" +compat_features: + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "1" + # safari_ios: "1" + - css.types.position + - css.types.position.keyword_value_syntax + + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "25" + # chrome_android: "25" + # edge: "12" + # firefox: "13" + # firefox_android: "14" + # safari: "7" + # safari_ios: "7" + - css.types.position.four_value_syntax From 0a94d9faeedd2ae1a9bf446ae2f1aa4ff540f577 Mon Sep 17 00:00:00 2001 From: Victor Allen Date: Thu, 31 Oct 2024 10:29:49 -0700 Subject: [PATCH 8/8] Update features/url-type.yml Co-authored-by: James Stuckey Weber --- features/url-type.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/url-type.yml b/features/url-type.yml index 7464776e647..66b70c10f14 100644 --- a/features/url-type.yml +++ b/features/url-type.yml @@ -1,6 +1,6 @@ name: url (CSS type) description: The `url` CSS type represents an external resource. -spec: https://drafts.csswg.org/css-values-4/#string-value +spec: https://drafts.csswg.org/css-values-4/#urls group: types compat_features: - css.types.url