@patternfly/patternfly 6.3.0-prerelease.8 → 6.3.0

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 (111) hide show
  1. package/assets/images/icon-outlined-star.hbs +3 -0
  2. package/assets/images/icon-star.hbs +3 -0
  3. package/base/patternfly-common.css +46 -11
  4. package/base/patternfly-common.scss +58 -13
  5. package/components/Accordion/accordion.css +72 -3
  6. package/components/Accordion/accordion.scss +78 -6
  7. package/components/Alert/alert-group.css +52 -31
  8. package/components/Alert/alert-group.scss +77 -46
  9. package/components/Button/button.css +154 -6
  10. package/components/Button/button.scss +160 -8
  11. package/components/DataList/data-list.css +2 -2
  12. package/components/DataList/data-list.scss +2 -2
  13. package/components/DualListSelector/dual-list-selector.css +36 -0
  14. package/components/DualListSelector/dual-list-selector.scss +43 -0
  15. package/components/ExpandableSection/expandable-section.css +63 -1
  16. package/components/ExpandableSection/expandable-section.scss +76 -2
  17. package/components/FileUpload/file-upload.css +3 -3
  18. package/components/FileUpload/file-upload.scss +3 -3
  19. package/components/Form/form.css +40 -1
  20. package/components/Form/form.scss +47 -1
  21. package/components/FormControl/form-control.css +16 -0
  22. package/components/FormControl/form-control.scss +9 -0
  23. package/components/InputGroup/input-group.css +80 -0
  24. package/components/InputGroup/input-group.scss +95 -0
  25. package/components/Menu/menu.css +24 -4
  26. package/components/Menu/menu.scss +20 -5
  27. package/components/MenuToggle/menu-toggle.css +30 -0
  28. package/components/MenuToggle/menu-toggle.scss +33 -0
  29. package/components/Nav/nav.css +22 -8
  30. package/components/Nav/nav.scss +22 -9
  31. package/components/Page/page.css +62 -3
  32. package/components/Page/page.scss +44 -3
  33. package/components/Progress/progress.css +16 -0
  34. package/components/Progress/progress.scss +11 -1
  35. package/components/ProgressStepper/progress-stepper.scss +1 -0
  36. package/components/Skeleton/skeleton.css +22 -2
  37. package/components/Skeleton/skeleton.scss +25 -3
  38. package/components/Spinner/spinner.css +5 -0
  39. package/components/Spinner/spinner.scss +6 -0
  40. package/components/Table/table-grid.css +51 -5
  41. package/components/Table/table-grid.scss +22 -1
  42. package/components/Table/table.css +83 -1
  43. package/components/Table/table.scss +123 -1
  44. package/components/Tabs/tabs.css +25 -15
  45. package/components/Tabs/tabs.scss +26 -13
  46. package/components/TextInputGroup/text-input-group.css +16 -0
  47. package/components/TextInputGroup/text-input-group.scss +8 -0
  48. package/components/Timestamp/timestamp.css +4 -0
  49. package/components/Timestamp/timestamp.scss +7 -0
  50. package/components/TreeView/tree-view.css +39 -0
  51. package/components/TreeView/tree-view.scss +42 -2
  52. package/components/Truncate/truncate.css +1 -0
  53. package/components/Truncate/truncate.scss +3 -0
  54. package/components/_index.css +918 -85
  55. package/docs/components/Breadcrumb/examples/Breadcrumb.md +1 -1
  56. package/docs/components/Button/examples/Button.md +148 -5
  57. package/docs/components/Card/examples/Card.md +8 -8
  58. package/docs/components/CodeBlock/examples/CodeBlock.md +5 -5
  59. package/docs/components/DataList/examples/DataList.md +23 -23
  60. package/docs/components/DualListSelector/examples/DualListSelector.md +534 -16
  61. package/docs/components/ExpandableSection/examples/ExpandableSection.md +17 -12
  62. package/docs/components/Form/examples/Form.md +1047 -126
  63. package/docs/components/Hint/examples/Hint.md +3 -3
  64. package/docs/components/InlineEdit/examples/InlineEdit.md +2 -2
  65. package/docs/components/InputGroup/examples/InputGroup.md +5 -1
  66. package/docs/components/JumpLinks/examples/JumpLinks.md +1 -1
  67. package/docs/components/Masthead/examples/masthead.md +90 -12
  68. package/docs/components/Menu/examples/Menu.md +122 -6
  69. package/docs/components/MenuToggle/examples/MenuToggle.md +90 -51
  70. package/docs/components/MultipleFileUpload/examples/MultipleFileUpload.md +2 -10
  71. package/docs/components/OverflowMenu/examples/overflow-menu.md +5 -5
  72. package/docs/components/Page/examples/Page.md +147 -14
  73. package/docs/components/Pagination/examples/Pagination.md +12 -12
  74. package/docs/components/ProgressStepper/examples/ProgressStepper.md +32 -6
  75. package/docs/components/Slider/examples/Slider.md +2 -2
  76. package/docs/components/Spinner/examples/Spinner.md +10 -0
  77. package/docs/components/Table/examples/Table.md +9428 -6173
  78. package/docs/components/Tabs/examples/Tabs.md +1214 -6729
  79. package/docs/components/TextInputGroup/examples/TextInputGroup.md +45 -5
  80. package/docs/components/Toolbar/examples/Toolbar.md +7 -7
  81. package/docs/demos/AboutModal/examples/AboutModal.md +22 -3
  82. package/docs/demos/Alert/examples/Alert.md +66 -9
  83. package/docs/demos/BackToTop/examples/BackToTop.md +22 -3
  84. package/docs/demos/Banner/examples/Banner.md +47 -6
  85. package/docs/demos/Card/examples/Card.md +5 -62
  86. package/docs/demos/CardView/examples/CardView.md +24 -5
  87. package/docs/demos/Dashboard/examples/Dashboard.md +24 -5
  88. package/docs/demos/DataList/examples/DataList.md +100 -24
  89. package/docs/demos/DescriptionList/examples/DescriptionList.md +66 -47
  90. package/docs/demos/Drawer/examples/Drawer.md +110 -53
  91. package/docs/demos/Form/examples/BasicForms.md +12 -12
  92. package/docs/demos/JumpLinks/examples/JumpLinks.md +132 -18
  93. package/docs/demos/Masthead/examples/Masthead.md +170 -18
  94. package/docs/demos/Modal/examples/Modal.md +132 -18
  95. package/docs/demos/Nav/examples/Nav.md +111 -16
  96. package/docs/demos/NotificationDrawer/examples/NotificationDrawer.md +110 -15
  97. package/docs/demos/Page/examples/Page.md +309 -43
  98. package/docs/demos/PrimaryDetail/examples/PrimaryDetail.md +160 -103
  99. package/docs/demos/Skeleton/examples/Skeleton.md +22 -3
  100. package/docs/demos/Table/examples/Table.md +449 -155
  101. package/docs/demos/Tabs/examples/Tabs.md +137 -593
  102. package/docs/demos/Toolbar/examples/Toolbar.md +72 -34
  103. package/docs/demos/Wizard/examples/Wizard.md +198 -27
  104. package/package.json +5 -5
  105. package/patternfly-base-no-globals.css +45 -11
  106. package/patternfly-base.css +45 -11
  107. package/patternfly-no-globals.css +963 -96
  108. package/patternfly.css +963 -96
  109. package/patternfly.min.css +1 -1
  110. package/patternfly.min.css.map +1 -1
  111. package/sass-utilities/mixins.scss +54 -0
@@ -15,8 +15,12 @@
15
15
  --#{$menu}--ZIndex: var(--pf-t--global--z-index--sm);
16
16
  --#{$menu}--button--disabled--Color: var(--pf-t--global--text--color--disabled);
17
17
  --#{$menu}--icon--disabled--Color: var(--pf-t--global--icon--color--disabled);
18
- --#{$menu}--TransitionDuration: var(--pf-t--global--motion--duration--fade--default);
18
+ --#{$menu}--TransitionDuration: 0s;
19
19
  --#{$menu}--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
20
+
21
+ @media (prefers-reduced-motion: no-preference) {
22
+ --#{$menu}--TransitionDuration: var(--pf-t--global--motion--duration--fade--default);
23
+ }
20
24
 
21
25
  // * Menu plain
22
26
  --#{$menu}--m-plain--BoxShadow: none;
@@ -126,19 +130,30 @@
126
130
  --#{$menu}--m-flyout__menu--m-left--InsetInlineEnd: calc(100% + var(--#{$menu}--m-flyout__menu--m-left--right-offset));
127
131
 
128
132
  // * Menu drilldown content
129
- // TODO Reduced motion default needed for drilldown
130
133
  --#{$menu}--m-drilldown__content--TransitionDuration--height: var(--pf-t--global--motion--duration--slide-in--default);
131
134
  --#{$menu}--m-drilldown__content--TransitionDuration--transform: var(--pf-t--global--motion--duration--slide-in--default);
132
- --#{$menu}--m-drilldown__content--Transition: transform var(--#{$menu}--m-drilldown__content--TransitionDuration--transform), height var(--#{$menu}--m-drilldown__content--TransitionDuration--height);
135
+ --#{$menu}--m-drilldown__content--Transition: height var(--#{$menu}--m-drilldown__content--TransitionDuration--height);
136
+
137
+ @media (prefers-reduced-motion: no-preference) {
138
+ --#{$menu}--m-drilldown__content--Transition: transform var(--#{$menu}--m-drilldown__content--TransitionDuration--transform), height var(--#{$menu}--m-drilldown__content--TransitionDuration--height);
139
+ }
133
140
 
134
141
  // * Menu drilldown menu
135
142
  --#{$menu}--m-drilldown--c-menu--InsetBlockStart: 0;
136
- --#{$menu}--m-drilldown--c-menu--TransitionDuration--transform: var(--pf-t--global--motion--duration--slide-in--default);
143
+ --#{$menu}--m-drilldown--c-menu--TransitionDuration--transform: 0s;
137
144
  --#{$menu}--m-drilldown--c-menu--Transition: transform var(--#{$menu}--m-drilldown--c-menu--TransitionDuration--transform);
138
145
 
146
+ @media (prefers-reduced-motion: no-preference) {
147
+ --#{$menu}--m-drilldown--c-menu--TransitionDuration--transform: var(--pf-t--global--motion--duration--slide-in--default);
148
+ }
149
+
139
150
  // * Menu drilldown list
140
- --#{$menu}--m-drilldown__list--TransitionDuration--transform: var(--pf-t--global--motion--duration--slide-in--default);
151
+ --#{$menu}--m-drilldown__list--TransitionDuration--transform: 0s;
141
152
  --#{$menu}--m-drilldown__list--Transition: transform var(--#{$menu}--m-drilldown__list--TransitionDuration--transform);
153
+
154
+ @media (prefers-reduced-motion: no-preference) {
155
+ --#{$menu}--m-drilldown__list--TransitionDuration--transform: var(--pf-t--global--motion--duration--slide-in--default);
156
+ }
142
157
 
143
158
  // * Menu drilled in
144
159
  --#{$menu}--m-drilled-in--c-menu__list-item--m-current-path--c-menu--ZIndex: var(--pf-t--global--z-index--xs);
@@ -33,6 +33,14 @@
33
33
  --pf-v6-c-menu-toggle--disabled--BackgroundColor: var(--pf-t--global--background--color--disabled--default);
34
34
  --pf-v6-c-menu-toggle__icon--MinHeight: calc(var(--pf-v6-c-menu-toggle--FontSize) * var(--pf-v6-c-menu-toggle--LineHeight));
35
35
  --pf-v6-c-menu-toggle__icon--Color: var(--pf-t--global--icon--color--regular);
36
+ --pf-v6-c-menu-toggle__icon--TransitionDelay: 0s;
37
+ --pf-v6-c-menu-toggle__icon--TransitionDuration: 0s;
38
+ --pf-v6-c-menu-toggle__icon--TransitionProperty: none;
39
+ --pf-v6-c-menu-toggle--hover__icon--TransitionDelay: 0s;
40
+ --pf-v6-c-menu-toggle--hover__icon--TransitionDuration: 0s;
41
+ --pf-v6-c-menu-toggle--hover__icon--TransitionProperty: none;
42
+ --pf-v6-c-menu-toggle__icon--Rotate: 0deg;
43
+ --pf-v6-c-menu-toggle--hover__icon--Rotate: 0deg;
36
44
  --pf-v6-c-menu-toggle__toggle-icon--MinHeight: calc(var(--pf-v6-c-menu-toggle--FontSize) * var(--pf-v6-c-menu-toggle--LineHeight));
37
45
  --pf-v6-c-menu-toggle__toggle-icon--Color: var(--pf-t--global--icon--color--regular);
38
46
  --pf-v6-c-menu-toggle--m-primary--PaddingInlineStart: var(--pf-t--global--spacer--action--horizontal--default);
@@ -130,6 +138,11 @@
130
138
  --pf-v6-c-menu-toggle--m-danger--AnimationTimingFunction--Transform: var(--pf-t--global--motion--timing-function--default);
131
139
  --pf-v6-c-menu-toggle--m-placeholder--Color: var(--pf-t--global--text--color--placeholder);
132
140
  --pf-v6-c-menu-toggle__controls--Gap: var(--pf-t--global--spacer--sm);
141
+ --pf-v6-c-menu-toggle--m-settings__icon--TransitionDuration: var(--pf-t--global--motion--duration--icon--long);
142
+ --pf-v6-c-menu-toggle--m-settings__icon--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--accelerate);
143
+ --pf-v6-c-menu-toggle--m-settings--hover__icon--TransitionDuration: var(--pf-t--global--motion--duration--icon--long);
144
+ --pf-v6-c-menu-toggle--m-settings--hover__icon--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
145
+ --pf-v6-c-menu-toggle--m-settings--hover__icon--Rotate: 60deg;
133
146
  }
134
147
 
135
148
  .pf-v6-c-menu-toggle {
@@ -243,6 +256,10 @@
243
256
  --pf-v6-c-menu-toggle--BorderWidth: var(--pf-v6-c-menu-toggle--hover--BorderWidth);
244
257
  --pf-v6-c-menu-toggle--BorderColor: var(--pf-v6-c-menu-toggle--hover--BorderColor);
245
258
  --pf-v6-c-menu-toggle__toggle-icon--Color: var(--pf-v6-c-menu-toggle--hover__toggle-icon--Color);
259
+ --pf-v6-c-menu-toggle__icon--TransitionDelay: var(--pf-v6-c-menu-toggle--hover__icon--TransitionDelay);
260
+ --pf-v6-c-menu-toggle__icon--TransitionDuration: var(--pf-v6-c-menu-toggle--hover__icon--TransitionDuration);
261
+ --pf-v6-c-menu-toggle__icon--TransitionProperty: var(--pf-v6-c-menu-toggle--hover__icon--TransitionProperty);
262
+ --pf-v6-c-menu-toggle__icon--Rotate: var(--pf-v6-c-menu-toggle--hover__icon--Rotate);
246
263
  }
247
264
  .pf-v6-c-menu-toggle:is(.pf-m-expanded, [aria-expanded=true]) {
248
265
  --pf-v6-c-menu-toggle--Color: var(--pf-v6-c-menu-toggle--expanded--Color);
@@ -298,6 +315,15 @@
298
315
  opacity: 1;
299
316
  }
300
317
  }
318
+ .pf-v6-c-menu-toggle.pf-m-settings {
319
+ --pf-v6-c-menu-toggle__icon--TransitionProperty: rotate;
320
+ --pf-v6-c-menu-toggle__icon--TransitionDuration: var(--pf-v6-c-menu-toggle--m-settings__icon--TransitionDuration);
321
+ --pf-v6-c-menu-toggle__icon--TransitionTimingFunction: var(--pf-v6-c-menu-toggle--m-settings__icon--TransitionTimingFunction);
322
+ --pf-v6-c-menu-toggle--hover__icon--TransitionProperty: rotate;
323
+ --pf-v6-c-menu-toggle--hover__icon--TransitionDuration: var(--pf-v6-c-menu-toggle--m-settings--hover__icon--TransitionDuration);
324
+ --pf-v6-c-menu-toggle--hover__icon--TransitionTimingFunction: var(--pf-v6-c-menu-toggle--m-settings--hover__icon--TransitionTimingFunction);
325
+ --pf-v6-c-menu-toggle--hover__icon--Rotate: var(--pf-v6-c-menu-toggle--m-settings--hover__icon--Rotate);
326
+ }
301
327
  .pf-v6-c-menu-toggle.pf-m-placeholder {
302
328
  --pf-v6-c-menu-toggle--Color: var(--pf-v6-c-menu-toggle--m-placeholder--Color);
303
329
  }
@@ -459,6 +485,10 @@
459
485
 
460
486
  .pf-v6-c-menu-toggle__icon {
461
487
  flex-shrink: 0;
488
+ transition-delay: var(--pf-v6-c-menu-toggle__icon--TransitionDelay);
489
+ transition-duration: var(--pf-v6-c-menu-toggle__icon--TransitionDuration);
490
+ transition-property: var(--pf-v6-c-menu-toggle__icon--TransitionProperty);
491
+ rotate: var(--pf-v6-c-menu-toggle__icon--Rotate);
462
492
  }
463
493
  .pf-v6-c-menu-toggle__icon :where(picture, img) {
464
494
  vertical-align: middle;
@@ -43,6 +43,14 @@
43
43
  // * Menu toggle icon
44
44
  --#{$menu-toggle}__icon--MinHeight: calc(var(--#{$menu-toggle}--FontSize) * var(--#{$menu-toggle}--LineHeight));
45
45
  --#{$menu-toggle}__icon--Color: var(--pf-t--global--icon--color--regular);
46
+ --#{$menu-toggle}__icon--TransitionDelay: 0s;
47
+ --#{$menu-toggle}__icon--TransitionDuration: 0s;
48
+ --#{$menu-toggle}__icon--TransitionProperty: none;
49
+ --#{$menu-toggle}--hover__icon--TransitionDelay: 0s;
50
+ --#{$menu-toggle}--hover__icon--TransitionDuration: 0s;
51
+ --#{$menu-toggle}--hover__icon--TransitionProperty: none;
52
+ --#{$menu-toggle}__icon--Rotate: 0deg;
53
+ --#{$menu-toggle}--hover__icon--Rotate: 0deg;
46
54
 
47
55
  // * Menu toggle toggle icon
48
56
  --#{$menu-toggle}__toggle-icon--MinHeight: calc(var(--#{$menu-toggle}--FontSize) * var(--#{$menu-toggle}--LineHeight));
@@ -174,6 +182,13 @@
174
182
 
175
183
  // Controls
176
184
  --#{$menu-toggle}__controls--Gap: var(--pf-t--global--spacer--sm);
185
+
186
+ // Settings
187
+ --#{$menu-toggle}--m-settings__icon--TransitionDuration: var(--pf-t--global--motion--duration--icon--long);
188
+ --#{$menu-toggle}--m-settings__icon--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--accelerate);
189
+ --#{$menu-toggle}--m-settings--hover__icon--TransitionDuration: var(--pf-t--global--motion--duration--icon--long);
190
+ --#{$menu-toggle}--m-settings--hover__icon--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
191
+ --#{$menu-toggle}--m-settings--hover__icon--Rotate: 60deg;
177
192
  }
178
193
 
179
194
  .#{$menu-toggle} {
@@ -299,6 +314,10 @@
299
314
  --#{$menu-toggle}--BorderWidth: var(--#{$menu-toggle}--hover--BorderWidth);
300
315
  --#{$menu-toggle}--BorderColor: var(--#{$menu-toggle}--hover--BorderColor);
301
316
  --#{$menu-toggle}__toggle-icon--Color: var(--#{$menu-toggle}--hover__toggle-icon--Color);
317
+ --#{$menu-toggle}__icon--TransitionDelay: var(--#{$menu-toggle}--hover__icon--TransitionDelay);
318
+ --#{$menu-toggle}__icon--TransitionDuration: var(--#{$menu-toggle}--hover__icon--TransitionDuration);
319
+ --#{$menu-toggle}__icon--TransitionProperty: var(--#{$menu-toggle}--hover__icon--TransitionProperty);
320
+ --#{$menu-toggle}__icon--Rotate: var(--#{$menu-toggle}--hover__icon--Rotate);
302
321
  }
303
322
 
304
323
  &:is(.pf-m-expanded, [aria-expanded="true"]) {
@@ -369,6 +388,16 @@
369
388
  }
370
389
  }
371
390
 
391
+ &.pf-m-settings {
392
+ --#{$menu-toggle}__icon--TransitionProperty: rotate;
393
+ --#{$menu-toggle}__icon--TransitionDuration: var(--#{$menu-toggle}--m-settings__icon--TransitionDuration);
394
+ --#{$menu-toggle}__icon--TransitionTimingFunction: var(--#{$menu-toggle}--m-settings__icon--TransitionTimingFunction);
395
+ --#{$menu-toggle}--hover__icon--TransitionProperty: rotate;
396
+ --#{$menu-toggle}--hover__icon--TransitionDuration: var(--#{$menu-toggle}--m-settings--hover__icon--TransitionDuration);
397
+ --#{$menu-toggle}--hover__icon--TransitionTimingFunction: var(--#{$menu-toggle}--m-settings--hover__icon--TransitionTimingFunction);
398
+ --#{$menu-toggle}--hover__icon--Rotate: var(--#{$menu-toggle}--m-settings--hover__icon--Rotate);
399
+ }
400
+
372
401
  &.pf-m-placeholder {
373
402
  --#{$menu-toggle}--Color: var(--#{$menu-toggle}--m-placeholder--Color);
374
403
  }
@@ -574,6 +603,10 @@
574
603
 
575
604
  .#{$menu-toggle}__icon {
576
605
  flex-shrink: 0;
606
+ transition-delay: var(--#{$menu-toggle}__icon--TransitionDelay);
607
+ transition-duration: var(--#{$menu-toggle}__icon--TransitionDuration);
608
+ transition-property: var(--#{$menu-toggle}__icon--TransitionProperty);
609
+ rotate: var(--#{$menu-toggle}__icon--Rotate);
577
610
 
578
611
  @at-root .#{$menu-toggle}:not(.pf-m-plain) & {
579
612
  @extend %pf-v6-menu-toggle__icon--MarginBlock;
@@ -52,9 +52,13 @@
52
52
  --pf-v6-c-nav__subnav--PaddingBlockStart: var(--pf-v6-c-nav__item--RowGap);
53
53
  --pf-v6-c-nav__subnav--PaddingBlockEnd: var(--pf-v6-c-nav__item--RowGap);
54
54
  --pf-v6-c-nav__subnav--PaddingInlineStart: var(--pf-t--global--spacer--md);
55
- --pf-v6-c-nav__subnav--TransitionDuration--expand: var(--pf-t--global--motion--duration--slide-in--default);
56
- --pf-v6-c-nav__subnav--TransitionDuration--collapse: var(--pf-t--global--motion--duration--slide-in--short);
55
+ --pf-v6-c-nav__subnav--TransitionDuration--expand: var(--pf-t--global--motion--duration--fade--default);
56
+ --pf-v6-c-nav__subnav--TransitionDuration--expand--slide: 0s;
57
+ --pf-v6-c-nav__subnav--TransitionDuration--collapse: var(--pf-t--global--motion--duration--fade--short);
58
+ --pf-v6-c-nav__subnav--TransitionDuration--collapse--slide: 0s;
57
59
  --pf-v6-c-nav__subnav--TransitionTimingFunction--expand: var(--pf-t--global--motion--timing-function--default);
60
+ --pf-v6-c-nav__subnav--TranslateY: 0;
61
+ --pf-v6-c-nav__subnav--hidden--TranslateY: 0;
58
62
  --pf-v6-c-nav__scroll-button--BorderColor: var(--pf-t--global--border--color--default);
59
63
  --pf-v6-c-nav__scroll-button--BorderWidth: var(--pf-t--global--border--width--divider--default);
60
64
  --pf-v6-c-nav__scroll-button--first-of-type--c-button--BorderStartStartRadius: var(--pf-t--global--border--radius--pill);
@@ -83,6 +87,13 @@
83
87
  --pf-v6-c-nav--m-horizontal--m-subnav__link--PaddingInlineStart: var(--pf-t--global--spacer--md);
84
88
  --pf-v6-c-nav--m-horizontal--m-subnav__link--PaddingInlineEnd: var(--pf-t--global--spacer--md);
85
89
  }
90
+ @media screen and (prefers-reduced-motion: no-preference) {
91
+ .pf-v6-c-nav {
92
+ --pf-v6-c-nav__subnav--TransitionDuration--expand--slide: var(--pf-t--global--motion--duration--fade--default);
93
+ --pf-v6-c-nav__subnav--TransitionDuration--collapse--slide: var(--pf-t--global--motion--duration--fade--short);
94
+ --pf-v6-c-nav__subnav--hidden--TranslateY: -.5rem;
95
+ }
96
+ }
86
97
 
87
98
  .pf-v6-c-nav,
88
99
  .pf-v6-c-nav__section,
@@ -153,24 +164,27 @@
153
164
 
154
165
  .pf-v6-c-nav__subnav {
155
166
  --pf-v6-c-nav__list--RowGap: var(--pf-v6-c-nav__subnav--RowGap);
156
- grid-template-rows: 1fr;
157
- min-height: 0;
167
+ max-height: 99999px;
158
168
  padding-block-start: var(--pf-v6-c-nav__subnav--PaddingBlockStart);
159
169
  padding-block-end: var(--pf-v6-c-nav__subnav--PaddingBlockEnd);
160
170
  padding-inline-start: var(--pf-v6-c-nav__subnav--PaddingInlineStart);
161
171
  overflow-y: clip;
162
- transition-delay: 0s, var(--pf-v6-c-nav__subnav--TransitionDelay--expand--focus, 0s), var(--pf-v6-c-nav__subnav--TransitionDelay--expand--focus, 0s), var(--pf-v6-c-nav__subnav--TransitionDelay--expand--focus, 0s), var(--pf-v6-c-nav__subnav--TransitionDelay--expand--focus, 0s);
172
+ visibility: visible;
173
+ transition-delay: 0s, 0s, var(--pf-v6-c-nav__subnav--TransitionDelay--expand--focus, 0s), var(--pf-v6-c-nav__subnav--TransitionDelay--expand--focus, 0s), var(--pf-v6-c-nav__subnav--TransitionDelay--expand--focus, 0s), var(--pf-v6-c-nav__subnav--TransitionDelay--expand--focus, 0s);
163
174
  transition-timing-function: var(--pf-v6-c-nav__subnav--TransitionTimingFunction--expand);
164
- transition-duration: var(--pf-v6-c-nav__subnav--TransitionDuration--expand), 0s, 0s, 0s, 0s;
165
- transition-property: opacity, visibility, grid-template-rows, padding-block-start, padding-block-end;
175
+ transition-duration: var(--pf-v6-c-nav__subnav--TransitionDuration--expand), var(--pf-v6-c-nav__subnav--TransitionDuration--expand--slide), 0s, 0s, 0s, 0s;
176
+ transition-property: opacity, translate, visibility, max-height, padding-block-start, padding-block-end;
177
+ translate: 0 var(--pf-v6-c-nav__subnav--TranslateY);
166
178
  }
167
179
  .pf-v6-c-nav__subnav[hidden] {
168
180
  --pf-v6-c-nav__subnav--TransitionDelay--expand--focus: var(--pf-v6-c-nav__subnav--TransitionDuration--expand);
169
181
  --pf-v6-c-nav__subnav--TransitionDuration--expand: var(--pf-v6-c-nav__subnav--TransitionDuration--collapse);
182
+ --pf-v6-c-nav__subnav--TransitionDuration--expand--slide: var(--pf-v6-c-nav__subnav--TransitionDuration--collapse--slide);
170
183
  --pf-v6-c-nav__subnav--PaddingBlockStart: 0;
171
184
  --pf-v6-c-nav__subnav--PaddingBlockEnd: 0;
185
+ --pf-v6-c-nav__subnav--TranslateY: var(--pf-v6-c-nav__subnav--hidden--TranslateY);
172
186
  display: grid;
173
- grid-template-rows: 0fr;
187
+ max-height: 0;
174
188
  visibility: hidden;
175
189
  opacity: 0;
176
190
  }
@@ -75,9 +75,19 @@
75
75
  --#{$nav}__subnav--PaddingBlockStart: var(--#{$nav}__item--RowGap); // needed to keep focus outline on first item from being cut off
76
76
  --#{$nav}__subnav--PaddingBlockEnd: var(--#{$nav}__item--RowGap); // needed to keep focus outline on last item from being cut off
77
77
  --#{$nav}__subnav--PaddingInlineStart: var(--pf-t--global--spacer--md);
78
- --#{$nav}__subnav--TransitionDuration--expand: var(--pf-t--global--motion--duration--slide-in--default);
79
- --#{$nav}__subnav--TransitionDuration--collapse: var(--pf-t--global--motion--duration--slide-in--short);
78
+ --#{$nav}__subnav--TransitionDuration--expand: var(--pf-t--global--motion--duration--fade--default);
79
+ --#{$nav}__subnav--TransitionDuration--expand--slide: 0s;
80
+ --#{$nav}__subnav--TransitionDuration--collapse: var(--pf-t--global--motion--duration--fade--short);
81
+ --#{$nav}__subnav--TransitionDuration--collapse--slide: 0s;
80
82
  --#{$nav}__subnav--TransitionTimingFunction--expand: var(--pf-t--global--motion--timing-function--default);
83
+ --#{$nav}__subnav--TranslateY: 0;
84
+ --#{$nav}__subnav--hidden--TranslateY: 0;
85
+
86
+ @media screen and (prefers-reduced-motion: no-preference) {
87
+ --#{$nav}__subnav--TransitionDuration--expand--slide: var(--pf-t--global--motion--duration--fade--default);
88
+ --#{$nav}__subnav--TransitionDuration--collapse--slide: var(--pf-t--global--motion--duration--fade--short);
89
+ --#{$nav}__subnav--hidden--TranslateY: -.5rem;
90
+ }
81
91
 
82
92
  // * Nav scroll button
83
93
  --#{$nav}__scroll-button--BorderColor: var(--pf-t--global--border--color--default);
@@ -199,25 +209,28 @@
199
209
  .#{$nav}__subnav {
200
210
  --#{$nav}__list--RowGap: var(--#{$nav}__subnav--RowGap); // this value is passed to --#{$nav}__item--RowGap--row-offset and updates clickable area based on value passed
201
211
 
202
- grid-template-rows: 1fr;
203
- min-height: 0;
212
+ max-height: 99999px;
204
213
  padding-block-start: var(--#{$nav}__subnav--PaddingBlockStart);
205
214
  padding-block-end: var(--#{$nav}__subnav--PaddingBlockEnd);
206
215
  padding-inline-start: var(--#{$nav}__subnav--PaddingInlineStart); // indent nested lists
207
216
  overflow-y: clip;
208
- transition-delay: 0s, var(--#{$nav}__subnav--TransitionDelay--expand--focus, 0s), var(--#{$nav}__subnav--TransitionDelay--expand--focus, 0s), var(--#{$nav}__subnav--TransitionDelay--expand--focus, 0s), var(--#{$nav}__subnav--TransitionDelay--expand--focus, 0s);
217
+ visibility: visible;
218
+ transition-delay: 0s, 0s, var(--#{$nav}__subnav--TransitionDelay--expand--focus, 0s), var(--#{$nav}__subnav--TransitionDelay--expand--focus, 0s), var(--#{$nav}__subnav--TransitionDelay--expand--focus, 0s), var(--#{$nav}__subnav--TransitionDelay--expand--focus, 0s);
209
219
  transition-timing-function: var(--#{$nav}__subnav--TransitionTimingFunction--expand);
210
- transition-duration: var(--#{$nav}__subnav--TransitionDuration--expand), 0s, 0s, 0s, 0s;
211
- transition-property: opacity, visibility, grid-template-rows, padding-block-start, padding-block-end;
212
-
220
+ transition-duration: var(--#{$nav}__subnav--TransitionDuration--expand), var(--#{$nav}__subnav--TransitionDuration--expand--slide), 0s, 0s, 0s, 0s;
221
+ transition-property: opacity, translate, visibility, max-height, padding-block-start, padding-block-end;
222
+ translate: 0 var(--#{$nav}__subnav--TranslateY);
223
+
213
224
  &[hidden] {
214
225
  --#{$nav}__subnav--TransitionDelay--expand--focus: var(--#{$nav}__subnav--TransitionDuration--expand);
215
226
  --#{$nav}__subnav--TransitionDuration--expand: var(--#{$nav}__subnav--TransitionDuration--collapse);
227
+ --#{$nav}__subnav--TransitionDuration--expand--slide: var(--#{$nav}__subnav--TransitionDuration--collapse--slide);
216
228
  --#{$nav}__subnav--PaddingBlockStart: 0;
217
229
  --#{$nav}__subnav--PaddingBlockEnd: 0;
230
+ --#{$nav}__subnav--TranslateY: var(--#{$nav}__subnav--hidden--TranslateY);
218
231
 
219
232
  display: grid; // overrides `display: none` - element is hidden via `visibility: hidden`
220
- grid-template-rows: 0fr;
233
+ max-height: 0;
221
234
  visibility: hidden;
222
235
  opacity: 0;
223
236
  }
@@ -8,9 +8,13 @@
8
8
  --pf-v6-c-page__sidebar--xl--Width: var(--pf-v6-c-page__sidebar--Width--base);
9
9
  --pf-v6-c-page__sidebar--BackgroundColor: var(--pf-t--global--background--color--secondary--default);
10
10
  --pf-v6-c-page__sidebar--BoxShadow: none;
11
- --pf-v6-c-page__sidebar--TransitionDuration: var(--pf-t--global--motion--duration--slide-in--default);
12
- --pf-v6-c-page__sidebar--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
11
+ --pf-v6-c-page__sidebar--TransitionProperty: opacity;
12
+ --pf-v6-c-page__sidebar--TransitionDuration: var(--pf-t--global--motion--duration--fade--default);
13
+ --pf-v6-c-page__sidebar--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
13
14
  --pf-v6-c-page__sidebar--TranslateX: -100%;
15
+ --pf-v6-c-page__sidebar--Opacity: 0;
16
+ --pf-v6-c-page__sidebar--m-expanded--Opacity: 1;
17
+ --pf-v6-c-page__sidebar--xl--Opacity: 1;
14
18
  --pf-v6-c-page__sidebar--TranslateZ: 0;
15
19
  --pf-v6-c-page__sidebar--m-expanded--TranslateX: 0;
16
20
  --pf-v6-c-page__sidebar--xl--TranslateX: 0;
@@ -88,9 +92,17 @@
88
92
  --pf-v6-c-page__main-wizard--BorderBlockStartColor: var(--pf-t--global--border--color--default);
89
93
  --pf-v6-c-page__main-wizard--BorderBlockStartWidth: var(--pf-t--global--border--width--action--default);
90
94
  }
95
+ @media screen and (prefers-reduced-motion: no-preference) {
96
+ .pf-v6-c-page {
97
+ --pf-v6-c-page__sidebar--Opacity: 1;
98
+ --pf-v6-c-page__sidebar--TransitionProperty: transform;
99
+ --pf-v6-c-page__sidebar--TransitionDuration: var(--pf-t--global--motion--duration--slide-in--default);
100
+ }
101
+ }
91
102
  @media screen and (min-width: 75rem) {
92
103
  .pf-v6-c-page {
93
104
  --pf-v6-c-page__sidebar--TranslateX: var(--pf-v6-c-page__sidebar--xl--TranslateX);
105
+ --pf-v6-c-page__sidebar--Opacity: var(--pf-v6-c-page__sidebar--xl--Opacity);
94
106
  }
95
107
  }
96
108
 
@@ -111,6 +123,51 @@
111
123
  grid-template-columns: var(--pf-v6-c-page__sidebar--Width) 1fr;
112
124
  }
113
125
  }
126
+ .pf-v6-c-page > .pf-v6-c-masthead .pf-v6-c-masthead__toggle .pf-v6-c-button.pf-m-hamburger:is(:hover, :focus-visible) {
127
+ --pf-v6-c-button--hamburger-icon--top--path: var(--pf-v6-c-button--hamburger-icon--top--collapse--path);
128
+ --pf-v6-c-button--hamburger-icon--arrow--path: var(--pf-v6-c-button--hamburger-icon--arrow--collapse--path);
129
+ --pf-v6-c-button--hamburger-icon--bottom--path: var(--pf-v6-c-button--hamburger-icon--bottom--collapse--path);
130
+ --pf-v6-c-button__icon--TransitionDelay: 0s;
131
+ --pf-v6-c-button__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-expand--ScaleX);
132
+ --pf-v6-c-button--hover__icon--TransitionDelay: 0s;
133
+ --pf-v6-c-button--hover__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-expand--ScaleX);
134
+ }
135
+ .pf-v6-c-page:where(:has(> .pf-v6-c-page__sidebar.pf-m-expanded)) > .pf-v6-c-masthead .pf-v6-c-masthead__toggle :is(.pf-v6-c-button.pf-m-hamburger, .pf-v6-c-button.pf-m-hamburger:hover, .pf-v6-c-button.pf-m-hamburger:focus-visible) {
136
+ --pf-v6-c-button--hamburger-icon--top--path: var(--pf-v6-c-button--hamburger-icon--top--collapse--path);
137
+ --pf-v6-c-button--hamburger-icon--arrow--path: var(--pf-v6-c-button--hamburger-icon--arrow--collapse--path);
138
+ --pf-v6-c-button--hamburger-icon--bottom--path: var(--pf-v6-c-button--hamburger-icon--bottom--collapse--path);
139
+ --pf-v6-c-button__icon--TransitionDelay: 0s;
140
+ --pf-v6-c-button__icon--ScaleX: 1;
141
+ --pf-v6-c-button--hover__icon--TransitionDelay: 0s;
142
+ --pf-v6-c-button--hover__icon--ScaleX: 1;
143
+ }
144
+ @media (min-width: 75rem) {
145
+ .pf-v6-c-page > .pf-v6-c-masthead .pf-v6-c-masthead__toggle .pf-v6-c-button.pf-m-hamburger, .pf-v6-c-page:where(:has(> .pf-v6-c-page__sidebar.pf-m-expanded)) > .pf-v6-c-masthead .pf-v6-c-masthead__toggle :is(.pf-v6-c-button.pf-m-hamburger, .pf-v6-c-button.pf-m-hamburger:hover, .pf-v6-c-button.pf-m-hamburger:focus-visible) {
146
+ --pf-v6-c-button--hamburger-icon--top--path: var(--pf-v6-c-button--hamburger-icon--top--path--base);
147
+ --pf-v6-c-button--hamburger-icon--arrow--path: var(--pf-v6-c-button--hamburger-icon--arrow--path--base);
148
+ --pf-v6-c-button--hamburger-icon--bottom--path: var(--pf-v6-c-button--hamburger-icon--bottom--path--base);
149
+ --pf-v6-c-button__icon--TransitionDelay: var(--pf-v6-c-button--hamburger-icon--TransitionDuration);
150
+ --pf-v6-c-button--hover__icon--TransitionDelay: var(--pf-v6-c-button--hamburger-icon--TransitionDuration);
151
+ }
152
+ .pf-v6-c-page > .pf-v6-c-masthead .pf-v6-c-masthead__toggle .pf-v6-c-button.pf-m-hamburger:is(:hover, :focus-visible) {
153
+ --pf-v6-c-button--hamburger-icon--top--path: var(--pf-v6-c-button--hamburger-icon--top--collapse--path);
154
+ --pf-v6-c-button--hamburger-icon--arrow--path: var(--pf-v6-c-button--hamburger-icon--arrow--collapse--path);
155
+ --pf-v6-c-button--hamburger-icon--bottom--path: var(--pf-v6-c-button--hamburger-icon--bottom--collapse--path);
156
+ --pf-v6-c-button__icon--TransitionDelay: 0s;
157
+ --pf-v6-c-button__icon--ScaleX: 1;
158
+ --pf-v6-c-button--hover__icon--TransitionDelay: 0s;
159
+ --pf-v6-c-button--hover__icon--ScaleX: 1;
160
+ }
161
+ .pf-v6-c-page:where(:has(> .pf-v6-c-page__sidebar.pf-m-collapsed)) > .pf-v6-c-masthead .pf-v6-c-masthead__toggle .pf-v6-c-button.pf-m-hamburger:is(:hover, :focus-visible) {
162
+ --pf-v6-c-button--hamburger-icon--top--path: var(--pf-v6-c-button--hamburger-icon--top--collapse--path);
163
+ --pf-v6-c-button--hamburger-icon--arrow--path: var(--pf-v6-c-button--hamburger-icon--arrow--collapse--path);
164
+ --pf-v6-c-button--hamburger-icon--bottom--path: var(--pf-v6-c-button--hamburger-icon--bottom--collapse--path);
165
+ --pf-v6-c-button__icon--TransitionDelay: 0s;
166
+ --pf-v6-c-button__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-expand--ScaleX);
167
+ --pf-v6-c-button--hover__icon--TransitionDelay: 0s;
168
+ --pf-v6-c-button--hover__icon--ScaleX: var(--pf-v6-c-button--m-hamburger__icon--m-expand--ScaleX);
169
+ }
170
+ }
114
171
 
115
172
  .pf-v6-c-page > .pf-v6-c-masthead {
116
173
  z-index: var(--pf-v6-c-page--c-masthead--ZIndex);
@@ -139,7 +196,8 @@
139
196
  overflow-y: auto;
140
197
  -webkit-overflow-scrolling: touch;
141
198
  background-color: var(--pf-v6-c-page__sidebar--BackgroundColor);
142
- transition: transform var(--pf-v6-c-page__sidebar--TransitionDuration) var(--pf-v6-c-page__sidebar--TransitionTimingFunction);
199
+ opacity: var(--pf-v6-c-page__sidebar--Opacity);
200
+ transition: var(--pf-v6-c-page__sidebar--TransitionProperty) var(--pf-v6-c-page__sidebar--TransitionDuration) var(--pf-v6-c-page__sidebar--TransitionTimingFunction);
143
201
  transform: translateX(var(--pf-v6-c-page__sidebar--TranslateX)) translateZ(var(--pf-v6-c-page__sidebar--TranslateZ));
144
202
  }
145
203
  :where(.pf-v6-m-dir-rtl, [dir=rtl]) .pf-v6-c-page__sidebar {
@@ -148,6 +206,7 @@
148
206
 
149
207
  .pf-v6-c-page__sidebar.pf-m-expanded {
150
208
  --pf-v6-c-page__sidebar--TranslateX: var(--pf-v6-c-page__sidebar--m-expanded--TranslateX);
209
+ --pf-v6-c-page__sidebar--Opacity: var(--pf-v6-c-page__sidebar--m-expanded--Opacity);
151
210
  box-shadow: var(--pf-v6-c-page__sidebar--BoxShadow);
152
211
  }
153
212
  @media screen and (min-width: 75rem) {
@@ -21,9 +21,13 @@ $pf-page-v6--height-breakpoint-map: build-breakpoint-map("base", "sm", "md", "lg
21
21
  --#{$page}__sidebar--BoxShadow: none;
22
22
 
23
23
  // TODO Reduced Motion default needed
24
- --#{$page}__sidebar--TransitionDuration: var(--pf-t--global--motion--duration--slide-in--default);
25
- --#{$page}__sidebar--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
24
+ --#{$page}__sidebar--TransitionProperty: opacity;
25
+ --#{$page}__sidebar--TransitionDuration: var(--pf-t--global--motion--duration--fade--default);
26
+ --#{$page}__sidebar--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
26
27
  --#{$page}__sidebar--TranslateX: -100%;
28
+ --#{$page}__sidebar--Opacity: 0;
29
+ --#{$page}__sidebar--m-expanded--Opacity: 1;
30
+ --#{$page}__sidebar--xl--Opacity: 1;
27
31
  --#{$page}__sidebar--TranslateZ: 0;
28
32
  --#{$page}__sidebar--m-expanded--TranslateX: 0;
29
33
  --#{$page}__sidebar--xl--TranslateX: 0;
@@ -32,6 +36,11 @@ $pf-page-v6--height-breakpoint-map: build-breakpoint-map("base", "sm", "md", "lg
32
36
  --#{$page}__sidebar--PaddingInlineStart: 0;
33
37
  --#{$page}__sidebar--PaddingInlineEnd: 0;
34
38
 
39
+ @media screen and (prefers-reduced-motion: no-preference) {
40
+ --#{$page}__sidebar--Opacity: 1;
41
+ --#{$page}__sidebar--TransitionProperty: transform;
42
+ --#{$page}__sidebar--TransitionDuration: var(--pf-t--global--motion--duration--slide-in--default);
43
+ }
35
44
 
36
45
  // Sidebar header
37
46
  --#{$page}__sidebar-header--BorderBlockEndWidth: var(--pf-t--global--border--width--divider--default);
@@ -54,6 +63,7 @@ $pf-page-v6--height-breakpoint-map: build-breakpoint-map("base", "sm", "md", "lg
54
63
 
55
64
  @media screen and (min-width: $pf-v6-global--breakpoint--xl) {
56
65
  --#{$page}__sidebar--TranslateX: var(--#{$page}__sidebar--xl--TranslateX);
66
+ --#{$page}__sidebar--Opacity: var(--#{$page}__sidebar--xl--Opacity);
57
67
  }
58
68
 
59
69
  // Container for the main content area (grid area)
@@ -149,8 +159,37 @@ $pf-page-v6--height-breakpoint-map: build-breakpoint-map("base", "sm", "md", "lg
149
159
  "header header"
150
160
  "sidebar main";
151
161
  grid-template-columns: var(--#{$page}__sidebar--Width) 1fr;
162
+ }
163
+
164
+ // Hamburger menu animation
165
+ // mobile - show expand on hover
166
+ > .#{$masthead} .#{$masthead}__toggle .#{$button}.pf-m-hamburger:is(:hover, :focus-visible) {
167
+ @include pf-v6-hamburger;
168
+ }
169
+
170
+ // mobile - show collapse when sidebar expanded
171
+ &:where(:has(> .#{$page}__sidebar.pf-m-expanded)) > .#{$masthead} .#{$masthead}__toggle :is(.#{$button}.pf-m-hamburger, .#{$button}.pf-m-hamburger:hover, .#{$button}.pf-m-hamburger:focus-visible) {
172
+ @include pf-v6-hamburger($collapse: true);
173
+ }
174
+
175
+ @media (min-width: $pf-v6-global--breakpoint--xl) {
176
+ // desktop - disable default arrow
177
+ > .#{$masthead} .#{$masthead}__toggle .#{$button}.pf-m-hamburger,
178
+ &:where(:has(> .#{$page}__sidebar.pf-m-expanded)) > .#{$masthead} .#{$masthead}__toggle :is(.#{$button}.pf-m-hamburger, .#{$button}.pf-m-hamburger:hover, .#{$button}.pf-m-hamburger:focus-visible) {
179
+ @include pf-v6-hamburger($reset: true);
180
+ }
181
+
182
+ // desktop - show collapse on hover
183
+ > .#{$masthead} .#{$masthead}__toggle .#{$button}.pf-m-hamburger:is(:hover, :focus-visible) {
184
+ @include pf-v6-hamburger($collapse: true);
185
+ }
186
+
187
+ // desktop - show expand on hover when sidebar collapsed
188
+ &:where(:has(> .#{$page}__sidebar.pf-m-collapsed)) > .#{$masthead} .#{$masthead}__toggle .#{$button}.pf-m-hamburger:is(:hover, :focus-visible) {
189
+ @include pf-v6-hamburger;
152
190
  }
153
191
  }
192
+ }
154
193
 
155
194
  // Header
156
195
  .#{$page} > .#{$masthead} {
@@ -180,7 +219,8 @@ $pf-page-v6--height-breakpoint-map: build-breakpoint-map("base", "sm", "md", "lg
180
219
  overflow-y: auto;
181
220
  -webkit-overflow-scrolling: touch;
182
221
  background-color: var(--#{$page}__sidebar--BackgroundColor);
183
- transition: transform var(--#{$page}__sidebar--TransitionDuration) var(--#{$page}__sidebar--TransitionTimingFunction);
222
+ opacity: var(--#{$page}__sidebar--Opacity);
223
+ transition: var(--#{$page}__sidebar--TransitionProperty) var(--#{$page}__sidebar--TransitionDuration) var(--#{$page}__sidebar--TransitionTimingFunction);
184
224
 
185
225
  @include pf-v6-bidirectional-style(
186
226
  $prop: transform,
@@ -192,6 +232,7 @@ $pf-page-v6--height-breakpoint-map: build-breakpoint-map("base", "sm", "md", "lg
192
232
  // Expanded nav
193
233
  &.pf-m-expanded {
194
234
  --#{$page}__sidebar--TranslateX: var(--#{$page}__sidebar--m-expanded--TranslateX);
235
+ --#{$page}__sidebar--Opacity: var(--#{$page}__sidebar--m-expanded--Opacity);
195
236
 
196
237
  box-shadow: var(--#{$page}__sidebar--BoxShadow);
197
238
 
@@ -106,6 +106,22 @@
106
106
  --pf-v6-c-progress__status-icon--Color: var(--pf-v6-c-progress--m-danger__status-icon--Color);
107
107
  --pf-v6-c-progress--m-inside__measure--Color: var(--pf-v6-c-progress--m-danger--m-inside__measure--Color);
108
108
  }
109
+ @media (prefers-reduced-motion: no-preference) {
110
+ .pf-v6-c-progress.pf-m-danger .pf-v6-c-progress__bar {
111
+ translate: var(--pf-v6-global--danger-jiggle--TranslateX, 0);
112
+ animation-name: pf-v6-global-danger-jiggle-motion;
113
+ animation-duration: var(--pf-v6-global--danger-jiggle--AnimationDuration--Transform);
114
+ animation-timing-function: var(--pf-v6-global--danger-jiggle--AnimationTimingFunction--Transform);
115
+ animation-fill-mode: both;
116
+ }
117
+ }
118
+ .pf-v6-c-progress.pf-m-danger .pf-v6-c-progress__status-icon {
119
+ --pf-v6-c-progress--TransitionDuration--Opacity: var(--pf-t--global--motion--duration--fade--default);
120
+ --pf-v6-c-progress--TransitionTimingFunction--Opacity: var(--pf-t--global--motion--timing-function--default);
121
+ animation-name: pf-v6-global-fade-in;
122
+ animation-duration: var(--pf-v6-c-progress--TransitionDuration--Opacity);
123
+ animation-timing-function: var(--pf-v6-c-progress--TransitionTimingFunction--Opacity);
124
+ }
109
125
 
110
126
  .pf-v6-c-progress__description {
111
127
  grid-column: 1/2;
@@ -140,6 +140,16 @@
140
140
  --#{$progress}__indicator--BackgroundColor: var(--#{$progress}--m-danger__indicator--BackgroundColor);
141
141
  --#{$progress}__status-icon--Color: var(--#{$progress}--m-danger__status-icon--Color);
142
142
  --#{$progress}--m-inside__measure--Color: var(--#{$progress}--m-danger--m-inside__measure--Color);
143
+
144
+ .#{$progress}__bar {
145
+ @media (prefers-reduced-motion: no-preference) {
146
+ @include pf-v6-animate-danger-jiggle;
147
+ }
148
+ }
149
+
150
+ .#{$progress}__status-icon {
151
+ @include pf-v6-fade-default(#{$progress});
152
+ }
143
153
  }
144
154
  }
145
155
 
@@ -209,4 +219,4 @@
209
219
 
210
220
  .#{$progress}__measure {
211
221
  font-variant-numeric: tabular-nums;
212
- }
222
+ }
@@ -442,5 +442,6 @@ $pf-v6-c-progress-stepper--breakpoint-map: build-breakpoint-map();
442
442
  }
443
443
  }
444
444
  }
445
+
445
446
  }
446
447
  // stylelint-enable
@@ -11,8 +11,8 @@
11
11
  --pf-v6-c-skeleton--after--LinearGradientColorStop1: var(--pf-t--global--background--color--secondary--default);
12
12
  --pf-v6-c-skeleton--after--LinearGradientColorStop2: var(--pf-t--global--background--color--secondary--hover);
13
13
  --pf-v6-c-skeleton--after--LinearGradientColorStop3: var(--pf-t--global--background--color--secondary--default);
14
- --pf-v6-c-skeleton--after--TranslateX: -100%;
15
- --pf-v6-c-skeleton--after--AnimationName: pf-v6-c-skeleton-loading;
14
+ --pf-v6-c-skeleton--after--TranslateX: 0;
15
+ --pf-v6-c-skeleton--after--AnimationName: pf-v6-c-skeleton-loading-reduced-motion;
16
16
  --pf-v6-c-skeleton--after--AnimationDuration: 3s;
17
17
  --pf-v6-c-skeleton--after--AnimationIterationCount: infinite;
18
18
  --pf-v6-c-skeleton--after--AnimationTimingFunction: linear;
@@ -44,6 +44,15 @@
44
44
  --pf-v6-c-skeleton--m-height-75--Height: 75%;
45
45
  --pf-v6-c-skeleton--m-height-100--Height: 100%;
46
46
  }
47
+ @media screen and (prefers-reduced-motion: no-preference) {
48
+ .pf-v6-c-skeleton {
49
+ --pf-v6-c-skeleton--after--LinearGradientColorStop1: var(--pf-t--global--background--color--secondary--default);
50
+ --pf-v6-c-skeleton--after--LinearGradientColorStop2: var(--pf-t--global--background--color--secondary--hover);
51
+ --pf-v6-c-skeleton--after--LinearGradientColorStop3: var(--pf-t--global--background--color--secondary--default);
52
+ --pf-v6-c-skeleton--after--TranslateX: -100%;
53
+ --pf-v6-c-skeleton--after--AnimationName: pf-v6-c-skeleton-loading;
54
+ }
55
+ }
47
56
 
48
57
  .pf-v6-c-skeleton {
49
58
  position: relative;
@@ -163,4 +172,15 @@
163
172
  100% {
164
173
  transform: translateX(100%);
165
174
  }
175
+ }
176
+ @keyframes pf-v6-c-skeleton-loading-reduced-motion {
177
+ 0% {
178
+ opacity: 0.25;
179
+ }
180
+ 60% {
181
+ opacity: 1;
182
+ }
183
+ 100% {
184
+ opacity: 0.25;
185
+ }
166
186
  }
@@ -14,15 +14,23 @@
14
14
  // After
15
15
  --#{$skeleton}--after--LinearGradientAngle: 90deg;
16
16
  --#{$skeleton}--after--LinearGradientColorStop1: var(--pf-t--global--background--color--secondary--default);
17
- --#{$skeleton}--after--LinearGradientColorStop2: var(--pf-t--global--background--color--secondary--hover); // TODO: replace with new token
17
+ --#{$skeleton}--after--LinearGradientColorStop2: var(--pf-t--global--background--color--secondary--hover);
18
18
  --#{$skeleton}--after--LinearGradientColorStop3: var(--pf-t--global--background--color--secondary--default);
19
- --#{$skeleton}--after--TranslateX: -100%;
20
- --#{$skeleton}--after--AnimationName: #{$skeleton}-loading;
19
+ --#{$skeleton}--after--TranslateX: 0;
20
+ --#{$skeleton}--after--AnimationName: #{$skeleton}-loading-reduced-motion;
21
21
  --#{$skeleton}--after--AnimationDuration: 3s;
22
22
  --#{$skeleton}--after--AnimationIterationCount: infinite;
23
23
  --#{$skeleton}--after--AnimationTimingFunction: linear;
24
24
  --#{$skeleton}--after--AnimationDelay: .5s;
25
25
 
26
+ @media screen and (prefers-reduced-motion: no-preference) {
27
+ --#{$skeleton}--after--LinearGradientColorStop1: var(--pf-t--global--background--color--secondary--default);
28
+ --#{$skeleton}--after--LinearGradientColorStop2: var(--pf-t--global--background--color--secondary--hover);
29
+ --#{$skeleton}--after--LinearGradientColorStop3: var(--pf-t--global--background--color--secondary--default);
30
+ --#{$skeleton}--after--TranslateX: -100%;
31
+ --#{$skeleton}--after--AnimationName: #{$skeleton}-loading;
32
+ }
33
+
26
34
  // Circle
27
35
  --#{$skeleton}--m-circle--BorderRadius: var(--pf-t--global--border--radius--pill);
28
36
  --#{$skeleton}--m-circle--before--PaddingBlockEnd: 100%;
@@ -209,3 +217,17 @@
209
217
  transform: translateX(100%);
210
218
  }
211
219
  }
220
+
221
+ @keyframes #{$skeleton}-loading-reduced-motion {
222
+ 0% {
223
+ opacity: 0.25;
224
+ }
225
+
226
+ 60% {
227
+ opacity: 1;
228
+ }
229
+
230
+ 100% {
231
+ opacity: 0.25;
232
+ }
233
+ }