@patternfly/patternfly 6.3.0-prerelease.2 → 6.3.0-prerelease.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/README.md +1 -1
  2. package/assets/images/icon-help.hbs +3 -0
  3. package/assets/images/icon-outlined-star.hbs +3 -0
  4. package/assets/images/icon-star.hbs +3 -0
  5. package/base/patternfly-common.css +11 -11
  6. package/base/patternfly-common.scss +12 -12
  7. package/components/Accordion/accordion.css +71 -1
  8. package/components/Accordion/accordion.scss +75 -4
  9. package/components/Alert/alert-group.css +52 -31
  10. package/components/Alert/alert-group.scss +77 -46
  11. package/components/Button/button.css +27 -0
  12. package/components/Button/button.scss +30 -1
  13. package/components/CodeEditor/code-editor.css +3 -0
  14. package/components/CodeEditor/code-editor.scss +3 -1
  15. package/components/Drawer/drawer.css +28 -14
  16. package/components/Drawer/drawer.scss +28 -9
  17. package/components/DualListSelector/dual-list-selector.css +36 -0
  18. package/components/DualListSelector/dual-list-selector.scss +43 -0
  19. package/components/ExpandableSection/expandable-section.css +47 -1
  20. package/components/ExpandableSection/expandable-section.scss +50 -1
  21. package/components/MenuToggle/menu-toggle.css +8 -4
  22. package/components/MenuToggle/menu-toggle.scss +15 -3
  23. package/components/Page/page.css +4 -3
  24. package/components/Page/page.scss +4 -2
  25. package/components/ProgressStepper/progress-stepper.scss +1 -0
  26. package/components/Skeleton/skeleton.css +22 -2
  27. package/components/Skeleton/skeleton.scss +25 -3
  28. package/components/Spinner/spinner.css +5 -0
  29. package/components/Spinner/spinner.scss +6 -0
  30. package/components/Table/table-grid.css +6 -5
  31. package/components/Table/table-grid.scss +2 -1
  32. package/components/Table/table.css +33 -0
  33. package/components/Table/table.scss +33 -0
  34. package/components/Tabs/tabs.css +25 -15
  35. package/components/Tabs/tabs.scss +26 -13
  36. package/components/Timestamp/timestamp.css +4 -0
  37. package/components/Timestamp/timestamp.scss +7 -0
  38. package/components/TreeView/tree-view.css +33 -0
  39. package/components/TreeView/tree-view.scss +36 -2
  40. package/components/Truncate/truncate.css +6 -0
  41. package/components/Truncate/truncate.scss +9 -0
  42. package/components/_index.css +410 -76
  43. package/docs/components/Button/examples/Button.md +73 -3
  44. package/docs/components/CodeEditor/examples/CodeEditor.md +26 -2
  45. package/docs/components/Divider/examples/Divider.md +1 -1
  46. package/docs/components/Drawer/examples/Drawer.md +4 -0
  47. package/docs/components/DualListSelector/examples/DualListSelector.md +518 -0
  48. package/docs/components/Form/examples/Form.md +156 -12
  49. package/docs/components/Menu/examples/Menu.md +120 -4
  50. package/docs/components/MenuToggle/examples/MenuToggle.md +3 -4
  51. package/docs/components/ModalBox/examples/ModalBox.md +13 -1
  52. package/docs/components/Page/examples/Page.md +1 -0
  53. package/docs/components/ProgressStepper/examples/ProgressStepper.md +32 -6
  54. package/docs/components/Spinner/examples/Spinner.md +10 -0
  55. package/docs/components/Table/examples/Table.md +330 -16
  56. package/docs/components/Tabs/examples/Tabs.md +1214 -6729
  57. package/docs/components/Truncate/examples/Truncate.md +53 -10
  58. package/docs/demos/Card/examples/Card.md +0 -57
  59. package/docs/demos/DescriptionList/examples/DescriptionList.md +0 -38
  60. package/docs/demos/Drawer/examples/Drawer.md +0 -38
  61. package/docs/demos/Form/examples/BasicForms.md +130 -10
  62. package/docs/demos/Masthead/examples/Masthead.md +1 -1
  63. package/docs/demos/Modal/examples/Modal.md +39 -3
  64. package/docs/demos/Nav/examples/Nav.md +2 -2
  65. package/docs/demos/Page/examples/Page.md +355 -0
  66. package/docs/demos/PasswordGenerator/examples/PasswordGenerator.md +13 -1
  67. package/docs/demos/PrimaryDetail/examples/PrimaryDetail.md +0 -76
  68. package/docs/demos/Table/examples/Table.md +67 -23
  69. package/docs/demos/Tabs/examples/Tabs.md +0 -570
  70. package/package.json +6 -6
  71. package/patternfly-base-no-globals.css +11 -11
  72. package/patternfly-base.css +11 -11
  73. package/patternfly-no-globals.css +421 -87
  74. package/patternfly.css +421 -87
  75. package/patternfly.min.css +1 -1
  76. package/patternfly.min.css.map +1 -1
@@ -38,34 +38,58 @@
38
38
  var(--#{$alert-group}--m-toast__item--c-alert--TransitionTimingFunction)
39
39
  0s;
40
40
 
41
- // Alert group item removal reduced motion
42
- --#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--opacity--default: var(--pf-t--global--motion--duration--fade--default);
43
- --#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--opacity--default: var(--pf-t--global--motion--timing-function--accelerate);
44
- --#{$alert-group}--m-toast__item--m-offstage-right--TransitionDelay--grid-template-rows--default: var(--pf-t--global--motion--duration--fade--default);
45
- --#{$alert-group}--m-toast__item--m-offstage-right--TransitionDelay--margin-block--default: var(--pf-t--global--motion--duration--fade--default);
46
- --#{$alert-group}--m-toast__item--m-offstage-right--c-alert--TransitionDelay--default: var(--pf-t--global--motion--duration--fade--default);
47
-
48
- // Alert group item removal
49
- --#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--transform: var(--pf-t--global--motion--duration--slide-out--short);
50
- --#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--transform: var(--pf-t--global--motion--timing-function--accelerate);
51
- --#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--opacity: var(--pf-t--global--motion--duration--slide-out--short);
52
- --#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--opacity: var(--pf-t--global--motion--timing-function--accelerate);
53
- --#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--margin-block: var(--pf-t--global--motion--duration--fade--short);
54
- --#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--margin-block: var(--pf-t--global--motion--timing-function--accelerate);
55
- --#{$alert-group}--m-toast__item--m-offstage-right--TransitionDelay--margin-block: var(--pf-t--global--motion--duration--slide-out--short);
56
- --#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--grid-template-rows: var(--pf-t--global--motion--duration--slide-in--short);
57
- --#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--grid-template-rows: var(--pf-t--global--motion--timing-function--accelerate);
58
- --#{$alert-group}--m-toast__item--m-offstage-right--TransitionDelay--grid-template-rows: var(--pf-t--global--motion--duration--slide-out--short);
41
+ // Alert group item removal (outgoing) reduced motion
42
+ --#{$alert-group}--m-toast__item--m-outgoing--TransitionDuration--opacity--default: var(--pf-t--global--motion--duration--fade--default);
43
+ --#{$alert-group}--m-toast__item--m-outgoing--TransitionTimingFunction--opacity--default: var(--pf-t--global--motion--timing-function--accelerate);
44
+ --#{$alert-group}--m-toast__item--m-outgoing--TransitionDelay--grid-template-rows--default: var(--pf-t--global--motion--duration--fade--default);
45
+ --#{$alert-group}--m-toast__item--m-outgoing--TransitionDelay--margin-block--default: var(--pf-t--global--motion--duration--fade--default);
46
+ --#{$alert-group}--m-toast__item--m-outgoing--c-alert--TransitionDelay--default: var(--pf-t--global--motion--duration--fade--default);
47
+
48
+ // TODO Legacy variables for alert group item removal reduced motion - remove in breaking change
49
+ --#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--opacity--default: initial;
50
+ --#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--opacity--default: initial;
51
+ --#{$alert-group}--m-toast__item--m-offstage-right--TransitionDelay--grid-template-rows--default: initial;
52
+ --#{$alert-group}--m-toast__item--m-offstage-right--TransitionDelay--margin-block--default: initial;
53
+ --#{$alert-group}--m-toast__item--m-offstage-right--c-alert--TransitionDelay--default: initial;
54
+
55
+ // Alert group item removal (outgoing)
56
+ --#{$alert-group}--m-toast__item--m-outgoing--TransitionDuration--transform: var(--pf-t--global--motion--duration--slide-out--short);
57
+ --#{$alert-group}--m-toast__item--m-outgoing--TransitionTimingFunction--transform: var(--pf-t--global--motion--timing-function--accelerate);
58
+ --#{$alert-group}--m-toast__item--m-outgoing--TransitionDuration--opacity: var(--pf-t--global--motion--duration--slide-out--short);
59
+ --#{$alert-group}--m-toast__item--m-outgoing--TransitionTimingFunction--opacity: var(--pf-t--global--motion--timing-function--accelerate);
60
+ --#{$alert-group}--m-toast__item--m-outgoing--TransitionDuration--margin-block: var(--pf-t--global--motion--duration--fade--short);
61
+ --#{$alert-group}--m-toast__item--m-outgoing--TransitionTimingFunction--margin-block: var(--pf-t--global--motion--timing-function--accelerate);
62
+ --#{$alert-group}--m-toast__item--m-outgoing--TransitionDelay--margin-block: var(--pf-t--global--motion--duration--slide-out--short);
63
+ --#{$alert-group}--m-toast__item--m-outgoing--TransitionDuration--grid-template-rows: var(--pf-t--global--motion--duration--slide-in--short);
64
+ --#{$alert-group}--m-toast__item--m-outgoing--TransitionTimingFunction--grid-template-rows: var(--pf-t--global--motion--timing-function--accelerate);
65
+ --#{$alert-group}--m-toast__item--m-outgoing--TransitionDelay--grid-template-rows: var(--pf-t--global--motion--duration--slide-out--short);
59
66
 
60
- // Alert removal
61
- --#{$alert-group}--m-toast__item--m-offstage-right--c-alert--TransitionDuration: var(--pf-t--global--motion--duration--slide-out--short);
62
- --#{$alert-group}--m-toast__item--m-offstage-right--c-alert--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--accelerate);
63
- --#{$alert-group}--m-toast__item--m-offstage-right--c-alert--Transition: all
64
- var(--#{$alert-group}--m-toast__item--m-offstage-right--c-alert--TransitionDuration)
65
- var(--#{$alert-group}--m-toast__item--m-offstage-right--c-alert--TransitionTimingFunction)
66
- var(--#{$alert-group}--m-toast__item--m-offstage-right--c-alert--TransitionDuration);
67
+ // TODO Legacy variables for Alert group item removal - remove in breaking change
68
+ --#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--transform: initial;
69
+ --#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--transform: initial;
70
+ --#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--opacity: initial;
71
+ --#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--opacity: initial;
72
+ --#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--margin-block: initial;
73
+ --#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--margin-block: initial;
74
+ --#{$alert-group}--m-toast__item--m-offstage-right--TransitionDelay--margin-block: initial;
75
+ --#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--grid-template-rows: initial;
76
+ --#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--grid-template-rows: initial;
77
+ --#{$alert-group}--m-toast__item--m-offstage-right--TransitionDelay--grid-template-rows: initial;
78
+
79
+ // Alert removal (outgoing)
80
+ --#{$alert-group}--m-toast__item--m-outgoing--c-alert--TransitionDuration: var(--pf-t--global--motion--duration--slide-out--short);
81
+ --#{$alert-group}--m-toast__item--m-outgoing--c-alert--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--accelerate);
82
+ --#{$alert-group}--m-toast__item--m-outgoing--c-alert--Transition: all
83
+ var(--#{$alert-group}--m-toast__item--m-outgoing--c-alert--TransitionDuration)
84
+ var(--#{$alert-group}--m-toast__item--m-outgoing--c-alert--TransitionTimingFunction)
85
+ var(--#{$alert-group}--m-toast__item--m-outgoing--c-alert--TransitionDuration);
67
86
 
68
- // Overflow button
87
+ // TODO Legacy variables for Alert removal - remove in breaking change
88
+ --#{$alert-group}--m-toast__item--m-offstage-right--c-alert--TransitionDuration: initial;
89
+ --#{$alert-group}--m-toast__item--m-offstage-right--c-alert--TransitionTimingFunction: initial;
90
+ --#{$alert-group}--m-toast__item--m-offstage-right--c-alert--Transition: initial;
91
+
92
+ // Overflow button
69
93
  --#{$alert-group}__overflow-button--BorderWidth: 0;
70
94
  --#{$alert-group}__overflow-button--BorderRadius: var(--pf-t--global--border--radius--medium);
71
95
  --#{$alert-group}__overflow-button--PaddingBlockStart: var(--pf-t--global--spacer--md);
@@ -155,7 +179,8 @@
155
179
 
156
180
  // This class is used BEFORE the alert item comes into the list
157
181
  // Only apply if the item is the first alert in the list (all new alerts should appear at the top)
158
- &.pf-m-offstage-top:first-child {
182
+ &.pf-m-offstage-top:first-child, // TODO remove in breaking change
183
+ &.pf-m-incoming:first-child {
159
184
  // make the item have no height and position it up above
160
185
  grid-template-rows: 0fr;
161
186
  margin-block: 0;
@@ -174,7 +199,8 @@
174
199
 
175
200
  // Add this class before removing an alert
176
201
  // TODO auto dismissal should be the same motion, but has a different duration
177
- &.pf-m-offstage-right {
202
+ &.pf-m-offstage-right, // TODO remove in breaking change
203
+ &.pf-m-outgoing {
178
204
  grid-template-rows: 0fr; // collapse vertically to bring up the items below
179
205
  margin-block: 0;
180
206
  overflow: hidden;
@@ -186,13 +212,13 @@
186
212
  transition:
187
213
  grid-template-rows
188
214
  0s
189
- var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionDelay--grid-template-rows--default),
215
+ var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionDelay--grid-template-rows--default, var(--#{$alert-group}--m-toast__item--m-outgoing--TransitionDelay--grid-template-rows--default)),
190
216
  margin-block
191
217
  0s
192
- var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionDelay--margin-block--default),
218
+ var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionDelay--margin-block--default, var(--#{$alert-group}--m-toast__item--m-outgoing--TransitionDelay--margin-block--default)),
193
219
  opacity
194
- var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--opacity--default)
195
- var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--opacity--default);
220
+ var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--opacity--default, var(--#{$alert-group}--m-toast__item--m-outgoing--TransitionDuration--opacity--default))
221
+ var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--opacity--default, var(--#{$alert-group}--m-toast__item--m-outgoing--TransitionTimingFunction--opacity--default));
196
222
 
197
223
  & .pf-v6-c-alert {
198
224
  min-height: 0;
@@ -202,32 +228,37 @@
202
228
  transition:
203
229
  all
204
230
  0s
205
- var(--#{$alert-group}--m-toast__item--m-offstage-right--c-alert--TransitionDelay--default);
231
+ var(--#{$alert-group}--m-toast__item--m-offstage-right--c-alert--TransitionDelay--default, var(--#{$alert-group}--m-toast__item--m-outgoing--c-alert--TransitionDelay--default));
206
232
  }
207
233
 
208
- // This transition will happen when the item is removed (.pf-m-offstage-right is added)
234
+ // This transition will happen when the item is removed (.pf-m-outgoing is added)
209
235
  // Slide it down into place, then reduce height
210
236
  // These values are for regular motion
211
237
  @media screen and (prefers-reduced-motion: no-preference) {
212
238
  transition:
213
239
  transform
214
- var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--transform)
215
- var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--transform),
240
+ var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--transform, var(--#{$alert-group}--m-toast__item--m-outgoing--TransitionDuration--transform))
241
+ var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--transform, var(--#{$alert-group}--m-toast__item--m-outgoing--TransitionTimingFunction--transform)),
216
242
  opacity
217
- var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--opacity)
218
- var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--opacity),
243
+ var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--opacity, var(--#{$alert-group}--m-toast__item--m-outgoing--TransitionDuration--opacity))
244
+ var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--opacity, var(--#{$alert-group}--m-toast__item--m-outgoing--TransitionTimingFunction--opacity)),
219
245
  margin-block
220
- var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--margin-block)
221
- var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--margin-block)
222
- var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionDelay--margin-block),
246
+ var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--margin-block, var(--#{$alert-group}--m-toast__item--m-outgoing--TransitionDuration--margin-block))
247
+ var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--margin-block, var(--#{$alert-group}--m-toast__item--m-outgoing--TransitionTimingFunction--margin-block))
248
+ var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionDelay--margin-block, var(--#{$alert-group}--m-toast__item--m-outgoing--TransitionDelay--margin-block)),
223
249
  grid-template-rows
224
- var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--grid-template-rows)
225
- var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--grid-template-rows)
226
- var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionDelay--grid-template-rows);
227
- transform: translateX(100%);
250
+ var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionDuration--grid-template-rows, var(--#{$alert-group}--m-toast__item--m-outgoing--TransitionDuration--grid-template-rows))
251
+ var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionTimingFunction--grid-template-rows, var(--#{$alert-group}--m-toast__item--m-outgoing--TransitionTimingFunction--grid-template-rows))
252
+ var(--#{$alert-group}--m-toast__item--m-offstage-right--TransitionDelay--grid-template-rows, var(--#{$alert-group}--m-toast__item--m-outgoing--TransitionDelay--grid-template-rows));
228
253
 
254
+ @include pf-v6-bidirectional-style(
255
+ $prop: transform,
256
+ $ltr-val: translateX(100%),
257
+ $rtl-val: translateX(#{pf-v6-calc-inverse(100%)}),
258
+ );
259
+
229
260
  & .pf-v6-c-alert {
230
- transition: var(--#{$alert-group}--m-toast__item--m-offstage-right--c-alert--Transition);
261
+ transition: var(--#{$alert-group}--m-toast__item--m-offstage-right--c-alert--Transition, var(--#{$alert-group}--m-toast__item--m-outgoing--c-alert--Transition));
231
262
  }
232
263
  }
233
264
  }
@@ -243,6 +243,11 @@
243
243
  --pf-v6-c-button--m-favorited--hover__icon--Color: var(--pf-t--global--color--favorite--hover);
244
244
  --pf-v6-c-button--m-favorited__icon--AnimationDuration: var(--pf-t--global--motion--duration--icon--long);
245
245
  --pf-v6-c-button--m-favorited__icon--AnimationTimingFunction: var(--pf-t--global--motion--timing-function--default);
246
+ --pf-v6-c-button__icon--favorite--Opacity: 1;
247
+ --pf-v6-c-button__icon--favorited--Opacity: 0;
248
+ --pf-v6-c-button--m-favorited__icon--favorite--Opacity: 0;
249
+ --pf-v6-c-button--m-favorited__icon--favorited--Opacity: 1;
250
+ --pf-v6-c-button__icon--favorite--TransitionDuration: var(--pf-t--global--motion--duration--icon--default);
246
251
  --pf-v6-c-button__progress--width: calc(var(--pf-t--global--icon--size--lg) + var(--pf-t--global--spacer--sm));
247
252
  --pf-v6-c-button__progress--Opacity: 0;
248
253
  --pf-v6-c-button__progress--TranslateY: -50%;
@@ -553,6 +558,7 @@ span.pf-v6-c-button.pf-m-link.pf-m-inline {
553
558
  --pf-v6-c-button--FontSize: var(--pf-v6-c-button--m-display-lg--FontSize);
554
559
  }
555
560
  .pf-v6-c-button.pf-m-favorite .pf-v6-c-button__icon {
561
+ display: grid;
556
562
  transition-timing-function: var(--pf-v6-c-button--m-favorite__icon--TransitionTimingFunction);
557
563
  transition-duration: var(--pf-v6-c-button--m-favorite__icon--TransitionDuration);
558
564
  transition-property: color;
@@ -560,6 +566,8 @@ span.pf-v6-c-button.pf-m-link.pf-m-inline {
560
566
  .pf-v6-c-button.pf-m-favorited {
561
567
  --pf-v6-c-button__icon--Color: var(--pf-v6-c-button--m-favorited__icon--Color);
562
568
  --pf-v6-c-button--hover__icon--Color: var(--pf-v6-c-button--m-favorited--hover__icon--Color);
569
+ --pf-v6-c-button__icon--favorite--Opacity: var(--pf-v6-c-button--m-favorited__icon--favorite--Opacity);
570
+ --pf-v6-c-button__icon--favorited--Opacity: var(--pf-v6-c-button--m-favorited__icon--favorited--Opacity);
563
571
  }
564
572
  .pf-v6-c-button.pf-m-favorited .pf-v6-c-button__icon {
565
573
  animation-name: pf-v6-c-button-icon-favorited;
@@ -639,6 +647,21 @@ span.pf-v6-c-button.pf-m-link.pf-m-inline {
639
647
  --pf-v6-c-button__icon--MarginInlineStart: var(--pf-v6-c-button__icon--m-end--MarginInlineStart);
640
648
  }
641
649
 
650
+ .pf-v6-c-button__icon-favorite,
651
+ .pf-v6-c-button__icon-favorited {
652
+ grid-area: 1/1/1/1;
653
+ transition-duration: var(--pf-v6-c-button__icon--favorite--TransitionDuration);
654
+ transition-property: opacity;
655
+ }
656
+
657
+ .pf-v6-c-button__icon-favorite {
658
+ opacity: var(--pf-v6-c-button__icon--favorite--Opacity);
659
+ }
660
+
661
+ .pf-v6-c-button__icon-favorited {
662
+ opacity: var(--pf-v6-c-button__icon--favorited--Opacity);
663
+ }
664
+
642
665
  .pf-v6-c-button__progress {
643
666
  position: absolute;
644
667
  inset-block-start: var(--pf-v6-c-button__progress--InsetBlockStart);
@@ -651,6 +674,10 @@ span.pf-v6-c-button.pf-m-link.pf-m-inline {
651
674
  --pf-v6-c-spinner--Color: currentcolor;
652
675
  }
653
676
 
677
+ .pf-v6-c-button__text {
678
+ text-decoration: inherit;
679
+ }
680
+
654
681
  .pf-v6-c-button__count {
655
682
  display: inline-flex;
656
683
  align-items: center;
@@ -289,6 +289,11 @@
289
289
  --#{$button}--m-favorited--hover__icon--Color: var(--pf-t--global--color--favorite--hover);
290
290
  --#{$button}--m-favorited__icon--AnimationDuration: var(--pf-t--global--motion--duration--icon--long);
291
291
  --#{$button}--m-favorited__icon--AnimationTimingFunction: var(--pf-t--global--motion--timing-function--default);
292
+ --#{$button}__icon--favorite--Opacity: 1;
293
+ --#{$button}__icon--favorited--Opacity: 0;
294
+ --#{$button}--m-favorited__icon--favorite--Opacity: 0;
295
+ --#{$button}--m-favorited__icon--favorited--Opacity: 1;
296
+ --#{$button}__icon--favorite--TransitionDuration: var(--pf-t--global--motion--duration--icon--default);
292
297
 
293
298
  // Progress
294
299
  --#{$button}__progress--width: calc(var(--pf-t--global--icon--size--lg) + var(--pf-t--global--spacer--sm)); // matches medium spinner diameter plus a spacer
@@ -641,8 +646,8 @@
641
646
  --#{$button}--FontSize: var(--#{$button}--m-display-lg--FontSize);
642
647
  }
643
648
 
644
- // Favorite button icon will transition color
645
649
  &.pf-m-favorite .#{$button}__icon {
650
+ display: grid;
646
651
  transition-timing-function: var(--#{$button}--m-favorite__icon--TransitionTimingFunction);
647
652
  transition-duration: var(--#{$button}--m-favorite__icon--TransitionDuration);
648
653
  transition-property: color;
@@ -652,6 +657,8 @@
652
657
  &.pf-m-favorited {
653
658
  --#{$button}__icon--Color: var(--#{$button}--m-favorited__icon--Color);
654
659
  --#{$button}--hover__icon--Color: var(--#{$button}--m-favorited--hover__icon--Color);
660
+ --#{$button}__icon--favorite--Opacity: var(--#{$button}--m-favorited__icon--favorite--Opacity);
661
+ --#{$button}__icon--favorited--Opacity: var(--#{$button}--m-favorited__icon--favorited--Opacity);
655
662
  }
656
663
 
657
664
  // Favorite button will run an animation when favorited
@@ -757,6 +764,21 @@
757
764
  }
758
765
  }
759
766
 
767
+ .#{$button}__icon-favorite,
768
+ .#{$button}__icon-favorited {
769
+ grid-area: 1 / 1 / 1 / 1;
770
+ transition-duration: var(--#{$button}__icon--favorite--TransitionDuration);
771
+ transition-property: opacity;
772
+ }
773
+
774
+ .#{$button}__icon-favorite {
775
+ opacity: var(--#{$button}__icon--favorite--Opacity);
776
+ }
777
+
778
+ .#{$button}__icon-favorited {
779
+ opacity: var(--#{$button}__icon--favorited--Opacity);
780
+ }
781
+
760
782
  .#{$button}__progress {
761
783
  position: absolute;
762
784
  inset-block-start: var(--#{$button}__progress--InsetBlockStart);
@@ -770,6 +792,13 @@
770
792
  }
771
793
  }
772
794
 
795
+ // enable inline link to have underline when used with truncate
796
+ .#{$button}__text {
797
+ // stylelint-disable property-disallowed-list
798
+ text-decoration: inherit;
799
+ // stylelint-enable property-disallowed-list
800
+ }
801
+
773
802
  .#{$button}__count {
774
803
  display: inline-flex;
775
804
  align-items: center;
@@ -148,6 +148,9 @@
148
148
  .pf-v6-c-code-editor__main .monaco-editor {
149
149
  background-color: var(--pf-v6-c-code-editor__main--BackgroundColor);
150
150
  }
151
+ .pf-v6-c-code-editor__main a.label-name {
152
+ text-decoration-line: none;
153
+ }
151
154
 
152
155
  .pf-v6-c-code-editor__header + .pf-v6-c-code-editor__main {
153
156
  border-block-start-width: 0;
@@ -157,7 +157,7 @@
157
157
  }
158
158
 
159
159
  .#{$code-editor}__main {
160
- position: relative;
160
+ position: relative;
161
161
  flex-grow: 1;
162
162
  color: var(--#{$code-editor}__main--Color, inherit);
163
163
  background-color: var(--#{$code-editor}__main--BackgroundColor);
@@ -175,6 +175,8 @@
175
175
  .monaco-editor {
176
176
  background-color: var(--#{$code-editor}__main--BackgroundColor);
177
177
  }
178
+
179
+ a.label-name { text-decoration-line: none; } // revert normalize.scss
178
180
  // stylelint-enable selector-class-pattern
179
181
  }
180
182
 
@@ -15,9 +15,15 @@
15
15
  --pf-v6-c-drawer__panel--RowGap: var(--pf-t--global--spacer--sm);
16
16
  --pf-v6-c-drawer__panel--PaddingBlockStart: var(--pf-t--global--spacer--sm);
17
17
  --pf-v6-c-drawer__panel--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
18
+ --pf-v6-c-drawer__panel--TransitionDelay: 0s, var(--pf-v6-c-drawer__panel--TransitionDelay--focus), var(--pf-v6-c-drawer__panel--TransitionDelay--focus);
19
+ --pf-v6-c-drawer__panel--TransitionDelay--focus: var(--pf-v6-c-drawer__panel--TransitionDuration--fade);
20
+ --pf-v6-c-drawer__panel--TransitionDelay--expand--focus: 0s;
18
21
  --pf-v6-c-drawer__panel--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
19
- --pf-v6-c-drawer__panel--TransitionDuration: var(--pf-t--global--motion--duration--slide-in--short);
20
- --pf-v6-c-drawer__panel--TransitionProperty: margin, transform, box-shadow, flex-basis;
22
+ --pf-v6-c-drawer__panel--TransitionDuration--fade: var(--pf-t--global--motion--duration--fade--default);
23
+ --pf-v6-c-drawer__panel--TransitionDuration: var(--pf-v6-c-drawer__panel--TransitionDuration--fade), 0s, 0s;
24
+ --pf-v6-c-drawer__panel--TransitionProperty: opacity, visibility, transform;
25
+ --pf-v6-c-drawer__panel--Opacity: 0;
26
+ --pf-v6-c-drawer--m-expanded__panel--Opacity: 1;
21
27
  --pf-v6-c-drawer__panel--FlexBasis: 100%;
22
28
  --pf-v6-c-drawer__panel--md--FlexBasis--min: 1.5rem;
23
29
  --pf-v6-c-drawer__panel--md--FlexBasis: 50%;
@@ -107,6 +113,17 @@
107
113
  --pf-v6-c-drawer--m-panel-left--m-inline__panel--PaddingInlineEnd: var(--pf-v6-c-drawer__panel--after--Width);
108
114
  --pf-v6-c-drawer--m-panel-bottom--m-inline__panel--PaddingBlockStart: var(--pf-v6-c-drawer__panel--after--Width);
109
115
  }
116
+ @media screen and (prefers-reduced-motion: no-preference) {
117
+ .pf-v6-c-drawer {
118
+ --pf-v6-c-drawer__panel--TransitionDuration--slide: var(--pf-t--global--motion--duration--slide-in--short);
119
+ --pf-v6-c-drawer__panel--TransitionDelay--focus: var(--pf-v6-c-drawer__panel--TransitionDuration--slide);
120
+ --pf-v6-c-drawer__panel--TransitionDelay: 0s, 0s, 0s, 0s, var(--pf-v6-c-drawer__panel--TransitionDelay--focus);
121
+ --pf-v6-c-drawer__panel--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
122
+ --pf-v6-c-drawer__panel--TransitionDuration: 0s, var(--pf-v6-c-drawer__panel--TransitionDuration--slide), 0s, 0s, 0s;
123
+ --pf-v6-c-drawer__panel--TransitionProperty: margin, transform, box-shadow, flex-basis, visibility;
124
+ --pf-v6-c-drawer__panel--Opacity: 1;
125
+ }
126
+ }
110
127
  @media screen and (min-width: 75rem) {
111
128
  .pf-v6-c-drawer {
112
129
  --pf-v6-c-drawer__panel--MinWidth: var(--pf-v6-c-drawer__panel--xl--MinWidth);
@@ -154,8 +171,13 @@
154
171
  .pf-v6-c-drawer.pf-m-panel-bottom > .pf-v6-c-drawer__main {
155
172
  flex-direction: column;
156
173
  }
174
+ .pf-v6-c-drawer.pf-m-expanded {
175
+ --pf-v6-c-drawer__panel--TransitionDelay--focus: var(--pf-v6-c-drawer__panel--TransitionDelay--expand--focus);
176
+ }
157
177
  .pf-v6-c-drawer.pf-m-expanded > .pf-v6-c-drawer__main > .pf-v6-c-drawer__panel {
158
178
  transform: translateX(-100%);
179
+ --pf-v6-c-drawer__panel--Opacity: var(--pf-v6-c-drawer--m-expanded__panel--Opacity);
180
+ visibility: visible;
159
181
  }
160
182
  :where(.pf-v6-m-dir-rtl, [dir=rtl]) .pf-v6-c-drawer.pf-m-expanded > .pf-v6-c-drawer__main > .pf-v6-c-drawer__panel {
161
183
  transform: translateX(calc(-100% * var(--pf-v6-global--inverse--multiplier)));
@@ -228,8 +250,11 @@
228
250
  order: 1;
229
251
  max-height: var(--pf-v6-c-drawer__panel--MaxHeight);
230
252
  overflow: auto;
253
+ visibility: hidden;
231
254
  background-color: var(--pf-v6-c-drawer__panel--BackgroundColor);
232
255
  box-shadow: var(--pf-v6-c-drawer__panel--BoxShadow);
256
+ opacity: var(--pf-v6-c-drawer__panel--Opacity);
257
+ transition-delay: var(--pf-v6-c-drawer__panel--TransitionDelay);
233
258
  transition-timing-function: var(--pf-v6-c-drawer__panel--TransitionTimingFunction);
234
259
  transition-duration: var(--pf-v6-c-drawer__panel--TransitionDuration);
235
260
  transition-property: var(--pf-v6-c-drawer__panel--TransitionProperty);
@@ -286,17 +311,6 @@
286
311
  padding-block-end: var(--pf-v6-c-drawer__panel--PaddingBlockEnd);
287
312
  }
288
313
 
289
- @keyframes pf-remove-tab-focus {
290
- to {
291
- visibility: hidden;
292
- }
293
- }
294
- .pf-v6-c-drawer__panel[hidden] {
295
- animation-name: pf-remove-tab-focus;
296
- animation-delay: var(--pf-v6-c-drawer__panel--TransitionDuration);
297
- animation-fill-mode: forwards;
298
- }
299
-
300
314
  .pf-v6-c-drawer__head {
301
315
  display: grid;
302
316
  grid-template-columns: auto;
@@ -404,7 +418,7 @@
404
418
  .pf-v6-c-drawer {
405
419
  min-width: var(--pf-v6-c-drawer__panel--MinWidth);
406
420
  }
407
- .pf-v6-c-drawer.pf-m-expanded > .pf-v6-c-drawer__main > .pf-v6-c-drawer__panel {
421
+ .pf-v6-c-drawer > .pf-v6-c-drawer__main > .pf-v6-c-drawer__panel {
408
422
  box-shadow: var(--pf-v6-c-drawer--m-expanded__panel--BoxShadow);
409
423
  }
410
424
  .pf-v6-c-drawer > .pf-v6-c-drawer__main > .pf-v6-c-drawer__panel.pf-m-resizable {
@@ -27,9 +27,15 @@ $pf-v6-c-drawer__panel--list--width: (25, 33, 50, 66, 75, 100);
27
27
  --#{$drawer}__panel--RowGap: var(--pf-t--global--spacer--sm);
28
28
  --#{$drawer}__panel--PaddingBlockStart: var(--pf-t--global--spacer--sm);
29
29
  --#{$drawer}__panel--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
30
+ --#{$drawer}__panel--TransitionDelay: 0s, var(--#{$drawer}__panel--TransitionDelay--focus), var(--#{$drawer}__panel--TransitionDelay--focus);
31
+ --#{$drawer}__panel--TransitionDelay--focus: var(--#{$drawer}__panel--TransitionDuration--fade);
32
+ --#{$drawer}__panel--TransitionDelay--expand--focus: 0s; // on expand, transition visible immediately
30
33
  --#{$drawer}__panel--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
31
- --#{$drawer}__panel--TransitionDuration: var(--pf-t--global--motion--duration--slide-in--short);
32
- --#{$drawer}__panel--TransitionProperty: margin, transform, box-shadow, flex-basis;
34
+ --#{$drawer}__panel--TransitionDuration--fade: var(--pf-t--global--motion--duration--fade--default);
35
+ --#{$drawer}__panel--TransitionDuration: var(--#{$drawer}__panel--TransitionDuration--fade), 0s, 0s;
36
+ --#{$drawer}__panel--TransitionProperty: opacity, visibility, transform; // by default, fade the drawer
37
+ --#{$drawer}__panel--Opacity: 0;
38
+ --#{$drawer}--m-expanded__panel--Opacity: 1;
33
39
  --#{$drawer}__panel--FlexBasis: 100%;
34
40
  --#{$drawer}__panel--md--FlexBasis--min: #{pf-size-prem(24px)};
35
41
  --#{$drawer}__panel--md--FlexBasis: 50%;
@@ -46,6 +52,16 @@ $pf-v6-c-drawer__panel--list--width: (25, 33, 50, 66, 75, 100);
46
52
  --#{$drawer}--m-panel-bottom__panel--m-resizable--md--FlexBasis--min: #{pf-size-prem(24px)};
47
53
  --#{$drawer}--m-panel-bottom__panel--m-resizable--MinHeight: #{pf-size-prem(24px)};
48
54
 
55
+ @media screen and (prefers-reduced-motion: no-preference) {
56
+ --#{$drawer}__panel--TransitionDuration--slide: var(--pf-t--global--motion--duration--slide-in--short);
57
+ --#{$drawer}__panel--TransitionDelay--focus: var(--#{$drawer}__panel--TransitionDuration--slide);
58
+ --#{$drawer}__panel--TransitionDelay: 0s, 0s, 0s, 0s, var(--#{$drawer}__panel--TransitionDelay--focus);
59
+ --#{$drawer}__panel--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
60
+ --#{$drawer}__panel--TransitionDuration: 0s, var(--#{$drawer}__panel--TransitionDuration--slide), 0s, 0s, 0s;
61
+ --#{$drawer}__panel--TransitionProperty: margin, transform, box-shadow, flex-basis, visibility; // with no preference, slide the panel
62
+ --#{$drawer}__panel--Opacity: 1;
63
+ }
64
+
49
65
  // Drawer panel head
50
66
  --#{$drawer}__head--ColumnGap: var(--pf-t--global--spacer--gap--text-to-element--default);
51
67
  --#{$drawer}__head--PaddingBlockStart: var(--pf-t--global--spacer--sm);
@@ -205,12 +221,18 @@ $pf-v6-c-drawer__panel--list--width: (25, 33, 50, 66, 75, 100);
205
221
  // Expanded
206
222
  // stylelint-disable selector-max-class
207
223
  &.pf-m-expanded {
224
+ --#{$drawer}__panel--TransitionDelay--focus: var(--#{$drawer}__panel--TransitionDelay--expand--focus);
225
+
208
226
  > .#{$drawer}__main > .#{$drawer}__panel {
209
227
  @include pf-v6-bidirectional-style(
210
228
  $prop: transform,
211
229
  $ltr-val: translateX(-100%),
212
230
  $rtl-val: translateX(#{pf-v6-calc-inverse(-100%)}),
213
231
  );
232
+
233
+ --#{$drawer}__panel--Opacity: var(--#{$drawer}--m-expanded__panel--Opacity);
234
+
235
+ visibility: visible;
214
236
  }
215
237
 
216
238
  &.pf-m-panel-left > .#{$drawer}__main > .#{$drawer}__panel {
@@ -297,8 +319,11 @@ $pf-v6-c-drawer__panel--list--width: (25, 33, 50, 66, 75, 100);
297
319
  order: 1;
298
320
  max-height: var(--#{$drawer}__panel--MaxHeight);
299
321
  overflow: auto;
322
+ visibility: hidden; // hidden by default
300
323
  background-color: var(--#{$drawer}__panel--BackgroundColor);
301
324
  box-shadow: var(--#{$drawer}__panel--BoxShadow);
325
+ opacity: var(--#{$drawer}__panel--Opacity);
326
+ transition-delay: var(--#{$drawer}__panel--TransitionDelay);
302
327
  transition-timing-function: var(--#{$drawer}__panel--TransitionTimingFunction);
303
328
  transition-duration: var(--#{$drawer}__panel--TransitionDuration);
304
329
  transition-property: var(--#{$drawer}__panel--TransitionProperty);
@@ -360,9 +385,6 @@ $pf-v6-c-drawer__panel--list--width: (25, 33, 50, 66, 75, 100);
360
385
  padding-block-end: var(--#{$drawer}__panel--PaddingBlockEnd);
361
386
  }
362
387
 
363
- // Remove tab focus
364
- @include pf-v6-animate-remove-tab-focus(".#{$drawer}__panel", var(--#{$drawer}__panel--TransitionDuration));
365
-
366
388
  // Panel head
367
389
  .#{$drawer}__head {
368
390
  display: grid;
@@ -491,9 +513,7 @@ $pf-v6-c-drawer__panel--list--width: (25, 33, 50, 66, 75, 100);
491
513
  .#{$drawer} {
492
514
  min-width: var(--#{$drawer}__panel--MinWidth);
493
515
 
494
- // stylelint-disable selector-max-class
495
- // Expanded
496
- &.pf-m-expanded > .#{$drawer}__main {
516
+ > .#{$drawer}__main {
497
517
  > .#{$drawer}__panel {
498
518
  box-shadow: var(--#{$drawer}--m-expanded__panel--BoxShadow);
499
519
  }
@@ -618,7 +638,6 @@ $pf-v6-c-drawer__panel--list--width: (25, 33, 50, 66, 75, 100);
618
638
  .#{$drawer}.pf-m-panel-left > .#{$drawer}__main > .#{$drawer}__panel.pf-m-no-border {
619
639
  --#{$drawer}--m-expanded__panel--BoxShadow: none;
620
640
  }
621
- // stylelint-enable
622
641
 
623
642
  .#{$drawer}__splitter {
624
643
  display: block;
@@ -21,6 +21,17 @@
21
21
  --pf-v6-c-dual-list-selector__menu--MinHeight: 12.5rem;
22
22
  --pf-v6-c-dual-list-selector__menu--MaxHeight: 20rem;
23
23
  --pf-v6-c-dual-list-selector__menu--MarginBlockStart: var(--pf-t--global--spacer--md);
24
+ --pf-v6-c-dual-list-selector__list--TransitionDuration--expand--slide: 0s;
25
+ --pf-v6-c-dual-list-selector__list--TransitionDuration--expand--fade: var(--pf-t--global--motion--duration--fade--default);
26
+ --pf-v6-c-dual-list-selector__list--TransitionDuration--collapse--slide: 0s;
27
+ --pf-v6-c-dual-list-selector__list--TransitionDuration--collapse--fade: var(--pf-t--global--motion--duration--fade--short);
28
+ --pf-v6-c-dual-list-selector__list--TransitionDuration--slide: var(--pf-v6-c-dual-list-selector__list--TransitionDuration--collapse--slide);
29
+ --pf-v6-c-dual-list-selector__list--TransitionDuration--fade: var(--pf-v6-c-dual-list-selector__list--TransitionDuration--collapse--fade);
30
+ --pf-v6-c-dual-list-selector__list--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
31
+ --pf-v6-c-dual-list-selector__list--Opacity: 0;
32
+ --pf-v6-c-dual-list-selector--m-expanded__list--Opacity: 1;
33
+ --pf-v6-c-dual-list-selector__list--TranslateY: 0;
34
+ --pf-v6-c-dual-list-selector--m-expanded__list--TranslateY: 0;
24
35
  --pf-v6-c-dual-list-selector__list-item-row--FontSize: var(--pf-t--global--font--size--sm);
25
36
  --pf-v6-c-dual-list-selector__list-item-row--BackgroundColor: var(--pf-t--global--background--color--action--plain--default);
26
37
  --pf-v6-c-dual-list-selector__list-item-row--hover--BackgroundColor: var(--pf-t--global--background--color--primary--hover);
@@ -58,6 +69,13 @@
58
69
  --pf-v6-c-dual-list-selector__item-toggle-icon--MinWidth: var(--pf-v6-c-dual-list-selector__list-item-row--FontSize);
59
70
  --pf-v6-c-dual-list-selector__list-item--m-disabled__item-toggle-icon--Color: var(--pf-t--global--icon--color--disabled);
60
71
  }
72
+ @media screen and (prefers-reduced-motion: no-preference) {
73
+ .pf-v6-c-dual-list-selector {
74
+ --pf-v6-c-dual-list-selector__list--TransitionDuration--expand--slide: var(--pf-t--global--motion--duration--fade--default);
75
+ --pf-v6-c-dual-list-selector__list--TransitionDuration--collapse--slide: var(--pf-t--global--motion--duration--fade--short);
76
+ --pf-v6-c-dual-list-selector__list--TranslateY: -.5rem;
77
+ }
78
+ }
61
79
 
62
80
  .pf-v6-c-dual-list-selector {
63
81
  display: grid;
@@ -153,9 +171,27 @@
153
171
  .pf-v6-c-dual-list-selector__list-item.pf-m-expandable {
154
172
  --pf-v6-c-dual-list-selector__item--PaddingInlineStart: var(--pf-v6-c-dual-list-selector__item--m-expandable--PaddingInlineStart);
155
173
  }
174
+ .pf-v6-c-dual-list-selector.pf-m-animate-expand .pf-v6-c-dual-list-selector__list-item.pf-m-expandable > .pf-v6-c-dual-list-selector__list {
175
+ max-height: 0;
176
+ visibility: hidden;
177
+ opacity: var(--pf-v6-c-dual-list-selector__list--Opacity);
178
+ transition-delay: 0s, 0s, var(--pf-v6-c-dual-list-selector__list--TransitionDuration--fade), var(--pf-v6-c-dual-list-selector__list--TransitionDuration--fade);
179
+ transition-timing-function: var(--pf-v6-c-dual-list-selector__list--TransitionTimingFunction);
180
+ transition-duration: var(--pf-v6-c-dual-list-selector__list--TransitionDuration--fade), var(--pf-v6-c-dual-list-selector__list--TransitionDuration--slide), 0s, 0s;
181
+ transition-property: opacity, translate, visibility, max-height;
182
+ translate: 0 var(--pf-v6-c-dual-list-selector__list--TranslateY);
183
+ }
156
184
  .pf-v6-c-dual-list-selector__list-item.pf-m-expanded {
157
185
  --pf-v6-c-dual-list-selector__item-toggle-icon--Rotate: var(--pf-v6-c-dual-list-selector__list-item--m-expanded__item-toggle-icon--Rotate);
158
186
  }
187
+ .pf-v6-c-dual-list-selector.pf-m-animate-expand .pf-v6-c-dual-list-selector__list-item.pf-m-expanded > .pf-v6-c-dual-list-selector__list {
188
+ max-height: 9999px;
189
+ visibility: revert;
190
+ opacity: var(--pf-v6-c-dual-list-selector--m-expanded__list--Opacity);
191
+ transition-delay: 0s;
192
+ transition-duration: var(--pf-v6-c-dual-list-selector__list--TransitionDuration--expand--fade), var(--pf-v6-c-dual-list-selector__list--TransitionDuration--expand--slide), 0s, 0s;
193
+ translate: 0 var(--pf-v6-c-dual-list-selector--m-expanded__list--TranslateY);
194
+ }
159
195
  .pf-v6-c-dual-list-selector__list-item.pf-m-disabled {
160
196
  --pf-v6-c-dual-list-selector__item-text--Color: var(--pf-v6-c-dual-list-selector__list-item--m-disabled__item-text--Color);
161
197
  --pf-v6-c-dual-list-selector__item-toggle-icon--Color: var(--pf-v6-c-dual-list-selector__list-item--m-disabled__item-toggle-icon--Color);
@@ -35,6 +35,25 @@ $pf-v6-c-dual-list-selector__item--MaxNesting: 10;
35
35
  --#{$dual-list-selector}__menu--MaxHeight: #{pf-size-prem(320px)};
36
36
  --#{$dual-list-selector}__menu--MarginBlockStart: var(--pf-t--global--spacer--md);
37
37
 
38
+ // List
39
+ --#{$dual-list-selector}__list--TransitionDuration--expand--slide: 0s;
40
+ --#{$dual-list-selector}__list--TransitionDuration--expand--fade: var(--pf-t--global--motion--duration--fade--default);
41
+ --#{$dual-list-selector}__list--TransitionDuration--collapse--slide: 0s;
42
+ --#{$dual-list-selector}__list--TransitionDuration--collapse--fade: var(--pf-t--global--motion--duration--fade--short);
43
+ --#{$dual-list-selector}__list--TransitionDuration--slide: var(--#{$dual-list-selector}__list--TransitionDuration--collapse--slide);
44
+ --#{$dual-list-selector}__list--TransitionDuration--fade: var(--#{$dual-list-selector}__list--TransitionDuration--collapse--fade);
45
+ --#{$dual-list-selector}__list--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
46
+ --#{$dual-list-selector}__list--Opacity: 0;
47
+ --#{$dual-list-selector}--m-expanded__list--Opacity: 1;
48
+ --#{$dual-list-selector}__list--TranslateY: 0;
49
+ --#{$dual-list-selector}--m-expanded__list--TranslateY: 0;
50
+
51
+ @media screen and (prefers-reduced-motion: no-preference) {
52
+ --#{$dual-list-selector}__list--TransitionDuration--expand--slide: var(--pf-t--global--motion--duration--fade--default);
53
+ --#{$dual-list-selector}__list--TransitionDuration--collapse--slide: var(--pf-t--global--motion--duration--fade--short);
54
+ --#{$dual-list-selector}__list--TranslateY: -.5rem;
55
+ }
56
+
38
57
  // List item
39
58
  --#{$dual-list-selector}__list-item-row--FontSize: var(--pf-t--global--font--size--sm);
40
59
  --#{$dual-list-selector}__list-item-row--BackgroundColor: var(--pf-t--global--background--color--action--plain--default);
@@ -199,10 +218,34 @@ $pf-v6-c-dual-list-selector__item--MaxNesting: 10;
199
218
 
200
219
  &.pf-m-expandable {
201
220
  --#{$dual-list-selector}__item--PaddingInlineStart: var(--#{$dual-list-selector}__item--m-expandable--PaddingInlineStart);
221
+
222
+ > .#{$dual-list-selector}__list {
223
+ .#{$dual-list-selector}.pf-m-animate-expand & { // TODO - remove opt-in class in a breaking change
224
+ max-height: 0;
225
+ visibility: hidden;
226
+ opacity: var(--#{$dual-list-selector}__list--Opacity);
227
+ transition-delay: 0s, 0s, var(--#{$dual-list-selector}__list--TransitionDuration--fade), var(--#{$dual-list-selector}__list--TransitionDuration--fade);
228
+ transition-timing-function: var(--#{$dual-list-selector}__list--TransitionTimingFunction);
229
+ transition-duration: var(--#{$dual-list-selector}__list--TransitionDuration--fade), var(--#{$dual-list-selector}__list--TransitionDuration--slide), 0s, 0s;
230
+ transition-property: opacity, translate, visibility, max-height;
231
+ translate: 0 var(--#{$dual-list-selector}__list--TranslateY);
232
+ }
233
+ }
202
234
  }
203
235
 
204
236
  &.pf-m-expanded {
205
237
  --#{$dual-list-selector}__item-toggle-icon--Rotate: var(--#{$dual-list-selector}__list-item--m-expanded__item-toggle-icon--Rotate);
238
+
239
+ > .#{$dual-list-selector}__list {
240
+ .#{$dual-list-selector}.pf-m-animate-expand & {
241
+ max-height: 9999px;
242
+ visibility: revert;
243
+ opacity: var(--#{$dual-list-selector}--m-expanded__list--Opacity);
244
+ transition-delay: 0s;
245
+ transition-duration: var(--#{$dual-list-selector}__list--TransitionDuration--expand--fade), var(--#{$dual-list-selector}__list--TransitionDuration--expand--slide), 0s, 0s;
246
+ translate: 0 var(--#{$dual-list-selector}--m-expanded__list--TranslateY);
247
+ }
248
+ }
206
249
  }
207
250
 
208
251
  &.pf-m-disabled {