@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
@@ -21,9 +21,12 @@
21
21
  --#{$button}--TextDecorationLine: none;
22
22
  --#{$button}--TextDecorationStyle: none;
23
23
  --#{$button}--TextDecorationColor: currentcolor;
24
+ --#{$button}--TransitionDelay: 0s;
24
25
  --#{$button}--TransitionDuration: var(--pf-t--global--motion--duration--fade--default);
25
- --#{$button}--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
26
- --#{$button}--TransitionProperty: color, background-color, border-width, border-color, padding;
26
+ --#{$button}--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--accelerate);
27
+ --#{$button}--TransitionProperty: color, background, border-width, border-color;
28
+ --#{$button}--ScaleX: 1;
29
+ --#{$button}--ScaleY: 1;
27
30
 
28
31
  // Hover
29
32
  --#{$button}--hover--BackgroundColor: transparent;
@@ -32,6 +35,8 @@
32
35
  --#{$button}--hover--TextDecorationLine: none;
33
36
  --#{$button}--hover--TextDecorationStyle: none;
34
37
  --#{$button}--hover--TextDecorationColor: currentcolor;
38
+ --#{$button}--hover--ScaleX: 1;
39
+ --#{$button}--hover--ScaleY: 1;
35
40
 
36
41
  // Clicked
37
42
  --#{$button}--m-clicked--BackgroundColor: transparent;
@@ -271,7 +276,7 @@
271
276
  --#{$button}--disabled--BorderColor: transparent;
272
277
  --#{$button}--disabled__icon--Color: var(--pf-t--global--icon--color--on-disabled);
273
278
 
274
- // Icons
279
+ // Icon
275
280
  --#{$button}__icon--Color: var(--pf-t--global--icon--color--regular);
276
281
  --#{$button}--hover__icon--Color: var(--pf-t--global--icon--color--regular);
277
282
  --#{$button}--m-clicked__icon--Color: var(--pf-t--global--icon--color--regular);
@@ -281,6 +286,19 @@
281
286
  --#{$button}__icon--m-end--MarginInlineStart: 0;
282
287
  --#{$button}--m-notify__icon--AnimationDuration--notify: var(--pf-t--global--motion--duration--3xl);
283
288
  --#{$button}--m-notify__icon--AnimationTimingFunction--notify: var(--pf-t--global--motion--timing-function--default);
289
+ --#{$button}__icon--TransitionDelay: 0s;
290
+ --#{$button}__icon--TransitionTimingFunction: auto;
291
+ --#{$button}__icon--TransitionDuration: 0s;
292
+ --#{$button}__icon--TransitionProperty: none;
293
+ --#{$button}__icon--Rotate: 0deg;
294
+ --#{$button}--hover__icon--TransitionTimingFunction: auto;
295
+ --#{$button}--hover__icon--TransitionDuration: 0s;
296
+ --#{$button}--hover__icon--TransitionProperty: none;
297
+ --#{$button}--hover__icon--Rotate: 0deg;
298
+ --#{$button}__icon--ScaleX: 1;
299
+ --#{$button}__icon--ScaleY: 1;
300
+ --#{$button}--hover__icon--ScaleX: 1;
301
+ --#{$button}--hover__icon--ScaleY: 1;
284
302
 
285
303
  // Favorite button
286
304
  --#{$button}--m-favorite__icon--TransitionDuration: var(--pf-t--global--motion--duration--icon--default);
@@ -289,6 +307,11 @@
289
307
  --#{$button}--m-favorited--hover__icon--Color: var(--pf-t--global--color--favorite--hover);
290
308
  --#{$button}--m-favorited__icon--AnimationDuration: var(--pf-t--global--motion--duration--icon--long);
291
309
  --#{$button}--m-favorited__icon--AnimationTimingFunction: var(--pf-t--global--motion--timing-function--default);
310
+ --#{$button}__icon--favorite--Opacity: 1;
311
+ --#{$button}__icon--favorited--Opacity: 0;
312
+ --#{$button}--m-favorited__icon--favorite--Opacity: 0;
313
+ --#{$button}--m-favorited__icon--favorited--Opacity: 1;
314
+ --#{$button}__icon--favorite--TransitionDuration: var(--pf-t--global--motion--duration--icon--default);
292
315
 
293
316
  // Progress
294
317
  --#{$button}__progress--width: calc(var(--pf-t--global--icon--size--lg) + var(--pf-t--global--spacer--sm)); // matches medium spinner diameter plus a spacer
@@ -306,12 +329,35 @@
306
329
  --#{$button}--m-in-progress--m-plain__progress--InsetInlineStart: 50%;
307
330
  --#{$button}--m-in-progress--m-plain__progress--TranslateX: -50%;
308
331
 
332
+ // Settings
333
+ --#{$button}--m-settings__icon--TransitionDuration: var(--pf-t--global--motion--duration--icon--long);
334
+ --#{$button}--m-settings__icon--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--accelerate);
335
+ --#{$button}--m-settings--hover__icon--TransitionDuration: var(--pf-t--global--motion--duration--icon--long);
336
+ --#{$button}--m-settings--hover__icon--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
337
+ --#{$button}--m-settings--hover__icon--Rotate: 60deg;
338
+
309
339
  // Count
310
340
  --#{$button}--m-primary__c-badge--BorderColor: var(--pf-t--global--border--color--default);
311
341
 
312
342
  // Block
313
343
  --#{$button}--m-block--Display: flex;
314
344
  --#{$button}--m-block--Width: 100%;
345
+
346
+ // Hamburger
347
+ --#{$button}--hamburger-icon--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
348
+ --#{$button}--hamburger-icon--TransitionDuration: var(--pf-t--global--motion--duration--md);
349
+ --#{$button}--hamburger-icon--top--path--base: path("M1,1 L9,1");
350
+ --#{$button}--hamburger-icon--middle--path--base: path("M1,5 L9,5");
351
+ --#{$button}--hamburger-icon--arrow--path--base: path("M1,5 L1,5 L1,5");
352
+ --#{$button}--hamburger-icon--bottom--path--base: path("M9,9 L1,9");
353
+ --#{$button}--hamburger-icon--top--path: var(--#{$button}--hamburger-icon--top--path--base);
354
+ --#{$button}--hamburger-icon--middle--path: var(--#{$button}--hamburger-icon--middle--path--base);
355
+ --#{$button}--hamburger-icon--arrow--path: var(--#{$button}--hamburger-icon--arrow--path--base);
356
+ --#{$button}--hamburger-icon--bottom--path: var(--#{$button}--hamburger-icon--bottom--path--base);
357
+ --#{$button}--hamburger-icon--top--collapse--path: path("M5,1 L9,1");
358
+ --#{$button}--hamburger-icon--arrow--collapse--path: path("M3,7 L1,5 L3,3");
359
+ --#{$button}--hamburger-icon--bottom--collapse--path: path("M9,9 L5,9");
360
+ --#{$button}--m-hamburger__icon--m-expand--ScaleX: -1;
315
361
  }
316
362
 
317
363
  .#{$button} {
@@ -335,16 +381,21 @@
335
381
  text-decoration-color: var(--#{$button}--TextDecorationColor);
336
382
  white-space: nowrap;
337
383
  cursor: pointer; // needed for when a button does not use <button> - eg, <span>
384
+ // stylelint-disable property-no-vendor-prefix
385
+ -webkit-user-select: none;
338
386
  user-select: none;
339
- background-color: var(--#{$button}--BackgroundColor);
387
+ // stylelint-enable property-no-vendor-prefix
388
+ background: var(--#{$button}--BackgroundColor) radial-gradient(circle, transparent 1%, color-mix(in srgb, currentcolor 15%, transparent) 2%) center/15000% 15000%;
340
389
  border: 0;
341
390
  border-start-start-radius: var(--#{$button}--BorderStartStartRadius, var(--#{$button}--BorderRadius));
342
391
  border-start-end-radius: var(--#{$button}--BorderStartEndRadius, var(--#{$button}--BorderRadius));
343
392
  border-end-start-radius: var(--#{$button}--BorderEndStartRadius, var(--#{$button}--BorderRadius));
344
393
  border-end-end-radius: var(--#{$button}--BorderEndEndRadius, var(--#{$button}--BorderRadius));
394
+ transition-delay: var(--#{$button}--TransitionDelay);
345
395
  transition-timing-function: var(--#{$button}--TransitionTimingFunction);
346
396
  transition-duration: var(--#{$button}--TransitionDuration);
347
397
  transition-property: var(--#{$button}--TransitionProperty);
398
+ scale: var(--#{$button}--ScaleX) var(--#{$button}--ScaleY);
348
399
 
349
400
  &::after {
350
401
  position: absolute;
@@ -470,6 +521,7 @@
470
521
 
471
522
  text-align: start;
472
523
  white-space: normal;
524
+ background: transparent; // don't show the ripple effect for inline links
473
525
  outline-offset: #{pf-size-prem(2px)};
474
526
  }
475
527
 
@@ -617,12 +669,13 @@
617
669
  --#{$button}--m-small--PaddingInlineStart: var(--#{$button}--m-plain--m-no-padding--m-small--PaddingInlineStart);
618
670
 
619
671
  min-width: var(--#{$button}--m-plain--m-no-padding--MinWidth);
672
+ background: var(--#{$button}--BackgroundColor); // override the ripple background
620
673
  }
621
674
  }
622
675
 
623
676
  &.pf-m-block {
624
677
  --#{$button}--Display: var(--#{$button}--m-block--Display);
625
-
678
+
626
679
  width: var(--#{$button}--m-block--Width);
627
680
  }
628
681
 
@@ -641,8 +694,8 @@
641
694
  --#{$button}--FontSize: var(--#{$button}--m-display-lg--FontSize);
642
695
  }
643
696
 
644
- // Favorite button icon will transition color
645
697
  &.pf-m-favorite .#{$button}__icon {
698
+ display: grid;
646
699
  transition-timing-function: var(--#{$button}--m-favorite__icon--TransitionTimingFunction);
647
700
  transition-duration: var(--#{$button}--m-favorite__icon--TransitionDuration);
648
701
  transition-property: color;
@@ -651,7 +704,11 @@
651
704
  // Favorite button when favorited
652
705
  &.pf-m-favorited {
653
706
  --#{$button}__icon--Color: var(--#{$button}--m-favorited__icon--Color);
707
+ --#{$button}--m-plain--m-no-padding__icon--Color: var(--#{$button}--m-favorited__icon--Color);
654
708
  --#{$button}--hover__icon--Color: var(--#{$button}--m-favorited--hover__icon--Color);
709
+ --#{$button}--m-plain--m-no-padding--hover__icon--Color: var(--#{$button}--m-favorited--hover__icon--Color);
710
+ --#{$button}__icon--favorite--Opacity: var(--#{$button}--m-favorited__icon--favorite--Opacity);
711
+ --#{$button}__icon--favorited--Opacity: var(--#{$button}--m-favorited__icon--favorited--Opacity);
655
712
  }
656
713
 
657
714
  // Favorite button will run an animation when favorited
@@ -661,20 +718,56 @@
661
718
  animation-timing-function: var(--#{$button}--m-favorited__icon--AnimationTimingFunction);
662
719
  }
663
720
 
721
+ &.pf-m-settings {
722
+ --#{$button}__icon--TransitionProperty: rotate;
723
+ --#{$button}__icon--TransitionDuration: var(--#{$button}--m-settings__icon--TransitionDuration);
724
+ --#{$button}__icon--TransitionTimingFunction: var(--#{$button}--m-settings__icon--TransitionTimingFunction);
725
+ --#{$button}--hover__icon--TransitionProperty: rotate;
726
+ --#{$button}--hover__icon--TransitionDuration: var(--#{$button}--m-settings--hover__icon--TransitionDuration);
727
+ --#{$button}--hover__icon--TransitionTimingFunction: var(--#{$button}--m-settings--hover__icon--TransitionTimingFunction);
728
+ --#{$button}--hover__icon--Rotate: var(--#{$button}--m-settings--hover__icon--Rotate);
729
+ }
730
+
731
+ &.pf-m-hamburger {
732
+ --#{$button}__icon--TransitionDelay: var(--#{$button}--hamburger-icon--TransitionDuration);
733
+ --#{$button}__icon--TransitionDuration: 0s;
734
+ --#{$button}__icon--TransitionProperty: scale;
735
+ --#{$button}--hover__icon--TransitionDelay: var(--#{$button}--hamburger-icon--TransitionDuration);
736
+ --#{$button}--hover__icon--TransitionDuration: 0s;
737
+ --#{$button}--hover__icon--TransitionProperty: scale;
738
+
739
+ &.pf-m-expand {
740
+ @include pf-v6-hamburger;
741
+ }
742
+
743
+ &.pf-m-collapse {
744
+ @include pf-v6-hamburger($collapse: true);
745
+ }
746
+ }
747
+
664
748
  &:hover,
665
749
  &:focus {
666
750
  --#{$button}--Color: var(--#{$button}--hover--Color);
667
751
  --#{$button}--BackgroundColor: var(--#{$button}--hover--BackgroundColor);
668
752
  --#{$button}--BorderColor: var(--#{$button}--hover--BorderColor);
669
753
  --#{$button}--BorderWidth: var(--#{$button}--hover--BorderWidth);
754
+ --#{$button}--ScaleX: var(--#{$button}--hover--ScaleX);
755
+ --#{$button}--ScaleY: var(--#{$button}--hover--ScaleY);
670
756
  --#{$button}--m-plain--m-no-padding__icon--Color: var(--#{$button}--m-plain--m-no-padding--hover__icon--Color);
671
757
  --#{$button}__icon--Color: var(--#{$button}--hover__icon--Color);
758
+ --#{$button}__icon--TransitionTimingFunction: var(--#{$button}--hover__icon--TransitionTimingFunction);
759
+ --#{$button}__icon--TransitionDuration: var(--#{$button}--hover__icon--TransitionDuration);
760
+ --#{$button}__icon--TransitionProperty: var(--#{$button}--hover__icon--TransitionProperty);
761
+ --#{$button}__icon--Rotate: var(--#{$button}--hover__icon--Rotate);
762
+ --#{$button}__icon--ScaleX: var(--#{$button}--hover__icon--ScaleX);
763
+ --#{$button}__icon--ScaleY: var(--#{$button}--hover__icon--ScaleY);
672
764
 
673
765
  text-decoration-line: var(--#{$button}--hover--TextDecorationLine);
674
766
  text-decoration-style: var(--#{$button}--hover--TextDecorationStyle);
675
767
  text-decoration-color: var(--#{$button}--hover--TextDecorationColor);
676
768
  }
677
769
 
770
+ &:active,
678
771
  &.pf-m-clicked {
679
772
  --#{$button}--Color: var(--#{$button}--m-clicked--Color);
680
773
  --#{$button}--BackgroundColor: var(--#{$button}--m-clicked--BackgroundColor);
@@ -683,6 +776,11 @@
683
776
  --#{$button}__icon--Color: var(--#{$button}--m-clicked__icon--Color);
684
777
  }
685
778
 
779
+ &:active {
780
+ background-size: 100% 100%; // apply the background surface for ripple
781
+ transition-duration: 0s; // transition immediately
782
+ }
783
+
686
784
  // Disabled buttons
687
785
  // These styles need to go after the button types because they need to override some of the type styling
688
786
  &:disabled,
@@ -695,7 +793,7 @@
695
793
  &.pf-m-aria-disabled {
696
794
  color: var(--#{$button}--disabled--Color);
697
795
  text-decoration-color: var(--#{$button}--disabled--TextDecorationColor);
698
- background-color: var(--#{$button}--disabled--BackgroundColor);
796
+ background: var(--#{$button}--disabled--BackgroundColor);
699
797
 
700
798
  &::after {
701
799
  border-color: transparent;
@@ -747,6 +845,12 @@
747
845
  margin-inline-start: var(--#{$button}__icon--MarginInlineStart);
748
846
  margin-inline-end: var(--#{$button}__icon--MarginInlineEnd);
749
847
  color: var(--#{$button}__icon--Color);
848
+ transition-delay: var(--#{$button}__icon--TransitionDelay);
849
+ transition-timing-function: var(--#{$button}__icon--TransitionTimingFunction);
850
+ transition-duration: var(--#{$button}__icon--TransitionDuration);
851
+ transition-property: var(--#{$button}__icon--TransitionProperty);
852
+ rotate: var(--#{$button}__icon--Rotate);
853
+ scale: var(--#{$button}__icon--ScaleX) var(--#{$button}__icon--ScaleY);
750
854
 
751
855
  &.pf-m-start {
752
856
  --#{$button}__icon--MarginInlineEnd: var(--#{$button}__icon--m-start--MarginInlineEnd);
@@ -757,6 +861,21 @@
757
861
  }
758
862
  }
759
863
 
864
+ .#{$button}__icon-favorite,
865
+ .#{$button}__icon-favorited {
866
+ grid-area: 1 / 1 / 1 / 1;
867
+ transition-duration: var(--#{$button}__icon--favorite--TransitionDuration);
868
+ transition-property: opacity;
869
+ }
870
+
871
+ .#{$button}__icon-favorite {
872
+ opacity: var(--#{$button}__icon--favorite--Opacity);
873
+ }
874
+
875
+ .#{$button}__icon-favorited {
876
+ opacity: var(--#{$button}__icon--favorited--Opacity);
877
+ }
878
+
760
879
  .#{$button}__progress {
761
880
  position: absolute;
762
881
  inset-block-start: var(--#{$button}__progress--InsetBlockStart);
@@ -770,11 +889,44 @@
770
889
  }
771
890
  }
772
891
 
892
+ // enable inline link to have underline when used with truncate
893
+ .#{$button}__text {
894
+ // stylelint-disable property-disallowed-list
895
+ text-decoration: inherit;
896
+ // stylelint-enable property-disallowed-list
897
+ }
898
+
773
899
  .#{$button}__count {
774
900
  display: inline-flex;
775
901
  align-items: center;
776
902
  }
777
903
 
904
+ .#{$button}--hamburger-icon {
905
+ path {
906
+ fill: none;
907
+ stroke: currentcolor;
908
+ stroke-linecap: round;
909
+ stroke-linejoin: round;
910
+ transition: d var(--#{$button}--hamburger-icon--TransitionDuration) var(--#{$button}--hamburger-icon--TransitionTimingFunction);
911
+ }
912
+ }
913
+
914
+ .#{$button}--hamburger-icon--top {
915
+ d: var(--#{$button}--hamburger-icon--top--path);
916
+ }
917
+
918
+ .#{$button}--hamburger-icon--middle {
919
+ d: var(--#{$button}--hamburger-icon--middle--path);
920
+ }
921
+
922
+ .#{$button}--hamburger-icon--arrow {
923
+ d: var(--#{$button}--hamburger-icon--arrow--path);
924
+ }
925
+
926
+ .#{$button}--hamburger-icon--bottom {
927
+ d: var(--#{$button}--hamburger-icon--bottom--path);
928
+ }
929
+
778
930
  @keyframes #{$button}-icon-notify {
779
931
  33% {
780
932
  transform: rotate(30deg);
@@ -787,6 +939,6 @@
787
939
 
788
940
  @keyframes #{$button}-icon-favorited {
789
941
  50% {
790
- transform: scale(1.5);
942
+ scale: 1.5;
791
943
  }
792
944
  }
@@ -511,8 +511,8 @@
511
511
  --pf-v6-c-data-list--m-compact__item-content--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
512
512
  --pf-v6-c-data-list--m-compact__item-draggable-button--MarginBlockStart: calc(var(--pf-t--global--spacer--sm) * -1);
513
513
  --pf-v6-c-data-list--m-compact__item-draggable-button--MarginBlockEnd: calc(var(--pf-t--global--spacer--sm) * -1);
514
- --pf-v6-c-data-list--m-compact__item-draggable-button--PaddingBlockStart: var(--pf-t--global--spacer--sm);
515
- --pf-v6-c-data-list--m-compact__item-draggable-button--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
514
+ --pf-v6-c-data-list--m-compact__item-draggable-button--PaddingBlockStart: var(--pf-t--global--spacer--xs);
515
+ --pf-v6-c-data-list--m-compact__item-draggable-button--PaddingBlockEnd: var(--pf-t--global--spacer--xs);
516
516
  --pf-v6-c-data-list--m-compact__cell--m-icon--cell--PaddingBlockStart: var(--pf-t--global--spacer--sm);
517
517
  }
518
518
  @media screen and (min-width: 36rem) {
@@ -140,8 +140,8 @@
140
140
  --#{$data-list}--m-compact__item-content--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
141
141
  --#{$data-list}--m-compact__item-draggable-button--MarginBlockStart: calc(var(--pf-t--global--spacer--sm) * -1);
142
142
  --#{$data-list}--m-compact__item-draggable-button--MarginBlockEnd: calc(var(--pf-t--global--spacer--sm) * -1);
143
- --#{$data-list}--m-compact__item-draggable-button--PaddingBlockStart: var(--pf-t--global--spacer--sm);
144
- --#{$data-list}--m-compact__item-draggable-button--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
143
+ --#{$data-list}--m-compact__item-draggable-button--PaddingBlockStart: var(--pf-t--global--spacer--xs);
144
+ --#{$data-list}--m-compact__item-draggable-button--PaddingBlockEnd: var(--pf-t--global--spacer--xs);
145
145
  --#{$data-list}--m-compact__cell--m-icon--cell--PaddingBlockStart: var(--pf-t--global--spacer--sm);
146
146
  }
147
147
 
@@ -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: 99999px;
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: 99999px;
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 {
@@ -9,6 +9,20 @@
9
9
  --pf-v6-c-expandable-section__toggle-icon--m-expand-top--Rotate: 0;
10
10
  --pf-v6-c-expandable-section--m-expanded__toggle-icon--Rotate: 90deg;
11
11
  --pf-v6-c-expandable-section--m-expanded__toggle-icon--m-expand-top--Rotate: -90deg;
12
+ --pf-v6-c-expandable-section__content--TransitionDuration--collapse--slide: 0s;
13
+ --pf-v6-c-expandable-section__content--TransitionDuration--collapse--fade: var(--pf-t--global--motion--duration--fade--short);
14
+ --pf-v6-c-expandable-section__content--TransitionDuration--expand--slide: 0s;
15
+ --pf-v6-c-expandable-section__content--TransitionDuration--expand--fade: var(--pf-t--global--motion--duration--fade--default);
16
+ --pf-v6-c-expandable-section__content--TransitionDuration--slide: var(--pf-v6-c-expandable-section__content--TransitionDuration--collapse--slide);
17
+ --pf-v6-c-expandable-section__content--TransitionDuration--fade: var(--pf-v6-c-expandable-section__content--TransitionDuration--collapse--fade);
18
+ --pf-v6-c-expandable-section__content--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
19
+ --pf-v6-c-expandable-section__content--TransitionDelay--hide: var(--pf-v6-c-expandable-section__content--TransitionDuration--fade);
20
+ --pf-v6-c-expandable-section__content--Opacity: 0;
21
+ --pf-v6-c-expandable-section__content--TranslateY: 0;
22
+ --pf-v6-c-expandable-section--m-expand-top__content--TranslateY: 0;
23
+ --pf-v6-c-expandable-section--m-expand-bottom__content--TranslateY: 0;
24
+ --pf-v6-c-expandable-section--m-expanded__content--Opacity: 1;
25
+ --pf-v6-c-expandable-section--m-expanded__content--TranslateY: 0;
12
26
  --pf-v6-c-expandable-section__content--MaxWidth: auto;
13
27
  --pf-v6-c-expandable-section--m-limit-width__content--MaxWidth: 46.875rem;
14
28
  --pf-v6-c-expandable-section--m-display-lg--PaddingBlockStart: var(--pf-t--global--spacer--sm);
@@ -20,20 +34,55 @@
20
34
  --pf-v6-c-expandable-section--m-display-lg--BorderWidth: var(--pf-t--global--border--width--box--default);
21
35
  --pf-v6-c-expandable-section--m-display-lg--BorderColor: var(--pf-t--global--border--color--default);
22
36
  --pf-v6-c-expandable-section--m-display-lg--BorderRadius: var(--pf-t--global--border--radius--medium);
37
+ --pf-v6-c-expandable-section--m-display-lg--TransitionDelay: var(--pf-v6-c-expandable-section__content--TransitionDuration--collapse--fade);
23
38
  --pf-v6-c-expandable-section--m-indented__content--PaddingInlineStart: calc(var(--pf-t--global--spacer--action--horizontal--plain--default) + var(--pf-t--global--spacer--gap--text-to-element--default) + var(--pf-v6-c-expandable-section__toggle-icon--MinWidth));
24
39
  --pf-v6-c-expandable-section--m-truncate__content--LineClamp: 3;
25
40
  --pf-v6-c-expandable-section--m-truncate--Gap: var(--pf-t--global--spacer--xs);
26
41
  }
42
+ @media screen and (prefers-reduced-motion: no-preference) {
43
+ .pf-v6-c-expandable-section {
44
+ --pf-v6-c-expandable-section__content--TransitionDuration--collapse--slide: var(--pf-t--global--motion--duration--fade--short);
45
+ --pf-v6-c-expandable-section__content--TransitionDuration--expand--slide: var(--pf-t--global--motion--duration--fade--default);
46
+ --pf-v6-c-expandable-section__content--TranslateY: -.5rem;
47
+ --pf-v6-c-expandable-section--m-expand-top__content--TranslateY: .5rem;
48
+ --pf-v6-c-expandable-section--m-expand-bottom__content--TranslateY: -.5rem;
49
+ }
50
+ }
27
51
 
28
52
  .pf-v6-c-expandable-section {
29
53
  display: flex;
30
54
  flex-direction: column;
31
- gap: var(--pf-v6-c-expandable-section--Gap);
55
+ gap: 0;
56
+ transition-delay: var(--pf-v6-c-expandable-section__content--TransitionDelay--hide);
57
+ transition-duration: 0s;
58
+ transition-property: gap, padding-block-end;
32
59
  }
33
60
  .pf-v6-c-expandable-section.pf-m-expanded {
34
61
  --pf-v6-c-expandable-section__toggle-icon--Rotate: var(--pf-v6-c-expandable-section--m-expanded__toggle-icon--Rotate);
35
62
  --pf-v6-c-expandable-section__toggle-icon--m-expand-top--Rotate: var(--pf-v6-c-expandable-section--m-expanded__toggle-icon--m-expand-top--Rotate);
36
63
  --pf-v6-c-expandable-section--m-display-lg--PaddingBlockEnd: var(--pf-v6-c-expandable-section--m-display-lg--m-expanded--PaddingBlockEnd);
64
+ --pf-v6-c-expandable-section__content--TransitionDuration--slide: var(--pf-v6-c-expandable-section__content--TransitionDuration--expand--slide);
65
+ --pf-v6-c-expandable-section__content--TransitionDuration--fade: var(--pf-v6-c-expandable-section__content--TransitionDuration--expand--fade);
66
+ --pf-v6-c-expandable-section__content--Opacity: var(--pf-v6-c-expandable-section--m-expanded__content--Opacity);
67
+ --pf-v6-c-expandable-section__content--TranslateY: var(--pf-v6-c-expandable-section--m-expanded__content--TranslateY);
68
+ --pf-v6-c-expandable-section__content--Visibility: auto;
69
+ --pf-v6-c-expandable-section__content--MaxHeight: 99999px;
70
+ --pf-v6-c-expandable-section__content--TransitionDelay--hide: 0s;
71
+ gap: var(--pf-v6-c-expandable-section--Gap);
72
+ }
73
+ .pf-v6-c-expandable-section.pf-m-expand-top {
74
+ --pf-v6-c-expandable-section__toggle-icon--Rotate: var(--pf-v6-c-expandable-section__toggle-icon--m-expand-top--Rotate);
75
+ }
76
+ .pf-v6-c-expandable-section:has(.pf-v6-c-expandable-section__content:only-child):not(.pf-m-expand-top, .pf-m-expand-bottom) {
77
+ --pf-v6-c-expandable-section__content--TranslateY: 0;
78
+ --pf-v6-c-expandable-section__content--TransitionDuration--expand--fade: 0s;
79
+ --pf-v6-c-expandable-section__content--TransitionDuration--collapse--fade: 0s;
80
+ }
81
+ .pf-v6-c-expandable-section:has(.pf-v6-c-expandable-section__content:only-child).pf-m-expand-top:not(.pf-m-expanded) {
82
+ --pf-v6-c-expandable-section__content--TranslateY: var(--pf-v6-c-expandable-section--m-expand-top__content--TranslateY);
83
+ }
84
+ .pf-v6-c-expandable-section:has(.pf-v6-c-expandable-section__content:only-child).pf-m-expand-bottom:not(.pf-m-expanded) {
85
+ --pf-v6-c-expandable-section__content--TranslateY: var(--pf-v6-c-expandable-section--m-expand-bottom__content--TranslateY);
37
86
  }
38
87
  .pf-v6-c-expandable-section.pf-m-limit-width {
39
88
  --pf-v6-c-expandable-section__content--MaxWidth: var(--pf-v6-c-expandable-section--m-limit-width__content--MaxWidth);
@@ -79,4 +128,17 @@
79
128
  max-width: var(--pf-v6-c-expandable-section__content--MaxWidth);
80
129
  padding-block-end: var(--pf-v6-c-expandable-section__content--PaddingBlockEnd, 0);
81
130
  padding-inline-start: var(--pf-v6-c-expandable-section__content--PaddingInlineStart, 0);
131
+ }
132
+ .pf-v6-c-expandable-section__content:where([hidden]) {
133
+ display: revert;
134
+ }
135
+ .pf-v6-c-expandable-section:where(:not(.pf-m-truncate)) .pf-v6-c-expandable-section__content {
136
+ max-height: var(--pf-v6-c-expandable-section__content--MaxHeight, 0);
137
+ visibility: var(--pf-v6-c-expandable-section__content--Visibility, hidden);
138
+ opacity: var(--pf-v6-c-expandable-section__content--Opacity);
139
+ transition-delay: 0s, 0s, var(--pf-v6-c-expandable-section__content--TransitionDelay--hide, 0s), var(--pf-v6-c-expandable-section__content--TransitionDelay--hide, 0s);
140
+ transition-timing-function: var(--pf-v6-c-expandable-section__content--TransitionTimingFunction);
141
+ transition-duration: var(--pf-v6-c-expandable-section__content--TransitionDuration--fade), var(--pf-v6-c-expandable-section__content--TransitionDuration--slide), 0s, 0s;
142
+ transition-property: opacity, translate, visibility, max-height;
143
+ translate: 0 var(--pf-v6-c-expandable-section__content--TranslateY);
82
144
  }