From ec5b34f841f21bcda24e953cdc146aa3ee9277d8 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Fri, 21 Jul 2023 13:00:52 -0700 Subject: [PATCH 01/10] Add transition-behavior property This was resolved here: https://github.com/w3c/csswg-drafts/issues/8857 --- css-transitions-2/Overview.bs | 40 ++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/css-transitions-2/Overview.bs b/css-transitions-2/Overview.bs index 93687e15762..737fb4ed048 100644 --- a/css-transitions-2/Overview.bs +++ b/css-transitions-2/Overview.bs @@ -88,7 +88,9 @@ In CSS Transitions Level 2, property values are [=transitionable=] unless they have an [=animation type=] that is [=not animatable=]. Values with a [=discrete=] [=animation type=] are [=transitionable=], -and flip at 50% progress (p = 0.5). +and flip at 50% progress (p = 0.5) if the 'transition-behavior' is +'allow-discrete'. Otherwise, [=discrete=] properties are not +[=transitionable=]. However, the ''transition-property/all'' keyword continues to expand only to all [=transitionable=] properties @@ -120,6 +122,42 @@ the reversing shortening factor. The 'transition-delay' property specifies the [=start delay=] of the transition's associated [=animation effect=]. +## The 'transition-behavior' Property ## {#transition-behavior-property} + +The 'transition-behavior' property specifies whether transitions will be +started or not for discrete properties. + +
+  Name: transition-behavior
+  Value: normal | allow-discrete
+  Initial: normal
+  Applies to: All elements
+  Inherited: no
+  Percentages: N/A
+  Computed value: as specified
+  Canonical order: per grammar
+  Animation type: not animatable
+
+ +The syntax for specifying 'transition-behavior' is as follows: + +
+ <transition-behavior-value> = [ 'normal' | 'allow-discrete' ] +
+ +When 'normal' is specified, animations will not be started for discrete +properties, only for interpolable properties. When 'allow-discrete' is +specified, animations will be started for discrete properties as well as +interpolable properties. + +## The 'transition' Shorthand Property ## {#transition-shorthand-property} + +The syntax for specifying 'transition' is as follows: + +
+ <single-transition> = <> || [ ''transition-property/none'' | <> ] || <
+ # Starting of transitions # {#starting} From 1ae6046868739aea9fa6c239dab09f99439f3df1 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Mon, 24 Jul 2023 08:32:32 -0700 Subject: [PATCH 02/10] Make value a list --- css-transitions-2/Overview.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/css-transitions-2/Overview.bs b/css-transitions-2/Overview.bs index 737fb4ed048..9c49a3d1dcf 100644 --- a/css-transitions-2/Overview.bs +++ b/css-transitions-2/Overview.bs @@ -129,7 +129,7 @@ started or not for discrete properties.
   Name: transition-behavior
-  Value: normal | allow-discrete
+  Value: <>#
   Initial: normal
   Applies to: All elements
   Inherited: no

From 4fcaf997bbcd5162329f9bae6994e5d050afb1fa Mon Sep 17 00:00:00 2001
From: Joey Arhar 
Date: Mon, 24 Jul 2023 08:33:48 -0700
Subject: [PATCH 03/10] simplify syntax declaration

---
 css-transitions-2/Overview.bs | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/css-transitions-2/Overview.bs b/css-transitions-2/Overview.bs
index 9c49a3d1dcf..dea8f08a03d 100644
--- a/css-transitions-2/Overview.bs
+++ b/css-transitions-2/Overview.bs
@@ -141,9 +141,7 @@ started or not for discrete properties.
 
 The syntax for specifying 'transition-behavior' is as follows:
 
-
- <transition-behavior-value> = [ 'normal' | 'allow-discrete' ] -
+
<> = normal | allow-discrete
When 'normal' is specified, animations will not be started for discrete properties, only for interpolable properties. When 'allow-discrete' is From 0c745f8488cbd02fc19ef409e29ff76c9d4cb987 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Mon, 24 Jul 2023 09:04:42 -0700 Subject: [PATCH 04/10] change transitionable definition and fix linking --- css-transitions-2/Overview.bs | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/css-transitions-2/Overview.bs b/css-transitions-2/Overview.bs index dea8f08a03d..ea360b46cf6 100644 --- a/css-transitions-2/Overview.bs +++ b/css-transitions-2/Overview.bs @@ -84,13 +84,15 @@ the transition was generated (e.g. 'border-left-width'). ISSUE: Update the defining instance of [=transitionable=] once it is ported from Level 1. -In CSS Transitions Level 2, -property values are [=transitionable=] -unless they have an [=animation type=] that is [=not animatable=]. -Values with a [=discrete=] [=animation type=] are [=transitionable=], -and flip at 50% progress (p = 0.5) if the 'transition-behavior' is -'allow-discrete'. Otherwise, [=discrete=] properties are not -[=transitionable=]. +In CSS Transitions Level 2, when comparing the [=before-change style=] and +[=after-change style=] for a given property, the property values are +[=transitionable=] if: +
    +
  1. They have an [=animation type=] that is neither [=not animatable=] nor + [=discrete=], or
  2. +
  3. The 'transition-behavior' is ''allow-discrete'' and they have an + [=animation type=] that is [=discrete=].
  4. +
However, the ''transition-property/all'' keyword continues to expand only to all [=transitionable=] properties @@ -143,10 +145,10 @@ The syntax for specifying 'transition-behavior' is as follows:
<> = normal | allow-discrete -When 'normal' is specified, animations will not be started for discrete -properties, only for interpolable properties. When 'allow-discrete' is -specified, animations will be started for discrete properties as well as -interpolable properties. +When ''transition-behavior-value/normal'' is specified, animations will not be +started for discrete properties, only for interpolable properties. When +''allow-discrete'' is specified, animations will be started for discrete +properties as well as interpolable properties. ## The 'transition' Shorthand Property ## {#transition-shorthand-property} From cea3246f4f8501cb6afa262cbeab619652dc90a6 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Mon, 24 Jul 2023 10:17:34 -0700 Subject: [PATCH 05/10] move transition-behavior-value to the end of the shorthand list --- css-transitions-2/Overview.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/css-transitions-2/Overview.bs b/css-transitions-2/Overview.bs index ea360b46cf6..6a249b0659a 100644 --- a/css-transitions-2/Overview.bs +++ b/css-transitions-2/Overview.bs @@ -155,7 +155,7 @@ properties as well as interpolable properties. The syntax for specifying 'transition' is as follows:
- <single-transition> = <> || [ ''transition-property/none'' | <> ] || <
From ae436eaa3038eb20518ba5fa8de9e823f8512584 Mon Sep 17 00:00:00 2001 From: Joey Arhar Date: Fri, 28 Jul 2023 13:17:44 -0400 Subject: [PATCH 06/10] Update css-transitions-2/Overview.bs Co-authored-by: L. David Baron --- css-transitions-2/Overview.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/css-transitions-2/Overview.bs b/css-transitions-2/Overview.bs index 6a249b0659a..c722aa1b058 100644 --- a/css-transitions-2/Overview.bs +++ b/css-transitions-2/Overview.bs @@ -152,7 +152,7 @@ properties as well as interpolable properties. ## The 'transition' Shorthand Property ## {#transition-shorthand-property} -The syntax for specifying 'transition' is as follows: +The syntax for specifying an item in the 'transition' shorthand is as follows:
<single-transition> = [ ''transition-property/none'' | <> ] || <