@patternfly/patternfly 6.3.0-prerelease.9 → 6.3.1

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 (109) 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/Spinner/spinner.css +5 -0
  37. package/components/Spinner/spinner.scss +6 -0
  38. package/components/Table/table-grid.css +51 -5
  39. package/components/Table/table-grid.scss +22 -1
  40. package/components/Table/table.css +95 -2
  41. package/components/Table/table.scss +138 -3
  42. package/components/Tabs/tabs.css +25 -15
  43. package/components/Tabs/tabs.scss +26 -13
  44. package/components/TextInputGroup/text-input-group.css +20 -0
  45. package/components/TextInputGroup/text-input-group.scss +12 -0
  46. package/components/Timestamp/timestamp.css +4 -0
  47. package/components/Timestamp/timestamp.scss +7 -0
  48. package/components/TreeView/tree-view.css +39 -0
  49. package/components/TreeView/tree-view.scss +42 -2
  50. package/components/Truncate/truncate.css +1 -0
  51. package/components/Truncate/truncate.scss +3 -0
  52. package/components/_index.css +912 -84
  53. package/docs/components/Breadcrumb/examples/Breadcrumb.md +1 -1
  54. package/docs/components/Button/examples/Button.md +148 -5
  55. package/docs/components/Card/examples/Card.md +8 -8
  56. package/docs/components/CodeBlock/examples/CodeBlock.md +5 -5
  57. package/docs/components/DataList/examples/DataList.md +23 -23
  58. package/docs/components/DualListSelector/examples/DualListSelector.md +534 -16
  59. package/docs/components/ExpandableSection/examples/ExpandableSection.md +17 -12
  60. package/docs/components/Form/examples/Form.md +1047 -126
  61. package/docs/components/Hint/examples/Hint.md +3 -3
  62. package/docs/components/InlineEdit/examples/InlineEdit.md +2 -2
  63. package/docs/components/InputGroup/examples/InputGroup.md +5 -1
  64. package/docs/components/JumpLinks/examples/JumpLinks.md +1 -1
  65. package/docs/components/Masthead/examples/masthead.md +90 -12
  66. package/docs/components/Menu/examples/Menu.md +122 -6
  67. package/docs/components/MenuToggle/examples/MenuToggle.md +90 -51
  68. package/docs/components/MultipleFileUpload/examples/MultipleFileUpload.md +2 -10
  69. package/docs/components/OverflowMenu/examples/overflow-menu.md +5 -5
  70. package/docs/components/Page/examples/Page.md +147 -14
  71. package/docs/components/Pagination/examples/Pagination.md +12 -12
  72. package/docs/components/ProgressStepper/examples/ProgressStepper.md +32 -6
  73. package/docs/components/Slider/examples/Slider.md +2 -2
  74. package/docs/components/Spinner/examples/Spinner.md +10 -0
  75. package/docs/components/Table/examples/Table.md +9428 -6173
  76. package/docs/components/Tabs/examples/Tabs.md +1214 -6729
  77. package/docs/components/TextInputGroup/examples/TextInputGroup.md +45 -5
  78. package/docs/components/Toolbar/examples/Toolbar.md +7 -7
  79. package/docs/demos/AboutModal/examples/AboutModal.md +22 -3
  80. package/docs/demos/Alert/examples/Alert.md +66 -9
  81. package/docs/demos/BackToTop/examples/BackToTop.md +22 -3
  82. package/docs/demos/Banner/examples/Banner.md +47 -6
  83. package/docs/demos/Card/examples/Card.md +5 -62
  84. package/docs/demos/CardView/examples/CardView.md +24 -5
  85. package/docs/demos/Dashboard/examples/Dashboard.md +24 -5
  86. package/docs/demos/DataList/examples/DataList.md +100 -24
  87. package/docs/demos/DescriptionList/examples/DescriptionList.md +66 -47
  88. package/docs/demos/Drawer/examples/Drawer.md +110 -53
  89. package/docs/demos/Form/examples/BasicForms.md +12 -12
  90. package/docs/demos/JumpLinks/examples/JumpLinks.md +132 -18
  91. package/docs/demos/Masthead/examples/Masthead.md +170 -18
  92. package/docs/demos/Modal/examples/Modal.md +132 -18
  93. package/docs/demos/Nav/examples/Nav.md +111 -16
  94. package/docs/demos/NotificationDrawer/examples/NotificationDrawer.md +110 -15
  95. package/docs/demos/Page/examples/Page.md +309 -43
  96. package/docs/demos/PrimaryDetail/examples/PrimaryDetail.md +160 -103
  97. package/docs/demos/Skeleton/examples/Skeleton.md +22 -3
  98. package/docs/demos/Table/examples/Table.md +449 -155
  99. package/docs/demos/Tabs/examples/Tabs.md +137 -593
  100. package/docs/demos/Toolbar/examples/Toolbar.md +72 -34
  101. package/docs/demos/Wizard/examples/Wizard.md +198 -27
  102. package/package.json +5 -5
  103. package/patternfly-base-no-globals.css +45 -11
  104. package/patternfly-base.css +45 -11
  105. package/patternfly-no-globals.css +957 -95
  106. package/patternfly.css +957 -95
  107. package/patternfly.min.css +1 -1
  108. package/patternfly.min.css.map +1 -1
  109. package/sass-utilities/mixins.scss +54 -0
@@ -13,6 +13,28 @@
13
13
  --#{$expandable-section}__toggle-icon--m-expand-top--Rotate: 0;
14
14
  --#{$expandable-section}--m-expanded__toggle-icon--Rotate: 90deg;
15
15
  --#{$expandable-section}--m-expanded__toggle-icon--m-expand-top--Rotate: -90deg;
16
+ --#{$expandable-section}__content--TransitionDuration--collapse--slide: 0s;
17
+ --#{$expandable-section}__content--TransitionDuration--collapse--fade: var(--pf-t--global--motion--duration--fade--short);
18
+ --#{$expandable-section}__content--TransitionDuration--expand--slide: 0s;
19
+ --#{$expandable-section}__content--TransitionDuration--expand--fade: var(--pf-t--global--motion--duration--fade--default);
20
+ --#{$expandable-section}__content--TransitionDuration--slide: var(--#{$expandable-section}__content--TransitionDuration--collapse--slide);
21
+ --#{$expandable-section}__content--TransitionDuration--fade: var(--#{$expandable-section}__content--TransitionDuration--collapse--fade);
22
+ --#{$expandable-section}__content--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
23
+ --#{$expandable-section}__content--TransitionDelay--hide: var(--#{$expandable-section}__content--TransitionDuration--fade);
24
+ --#{$expandable-section}__content--Opacity: 0;
25
+ --#{$expandable-section}__content--TranslateY: 0;
26
+ --#{$expandable-section}--m-expand-top__content--TranslateY: 0;
27
+ --#{$expandable-section}--m-expand-bottom__content--TranslateY: 0;
28
+ --#{$expandable-section}--m-expanded__content--Opacity: 1;
29
+ --#{$expandable-section}--m-expanded__content--TranslateY: 0;
30
+
31
+ @media screen and (prefers-reduced-motion: no-preference) {
32
+ --#{$expandable-section}__content--TransitionDuration--collapse--slide: var(--pf-t--global--motion--duration--fade--short);
33
+ --#{$expandable-section}__content--TransitionDuration--expand--slide: var(--pf-t--global--motion--duration--fade--default);
34
+ --#{$expandable-section}__content--TranslateY: -.5rem;
35
+ --#{$expandable-section}--m-expand-top__content--TranslateY: .5rem;
36
+ --#{$expandable-section}--m-expand-bottom__content--TranslateY: -.5rem;
37
+ }
16
38
 
17
39
  // Content
18
40
  --#{$expandable-section}__content--MaxWidth: auto;
@@ -30,6 +52,7 @@
30
52
  --#{$expandable-section}--m-display-lg--BorderWidth: var(--pf-t--global--border--width--box--default);
31
53
  --#{$expandable-section}--m-display-lg--BorderColor: var(--pf-t--global--border--color--default);
32
54
  --#{$expandable-section}--m-display-lg--BorderRadius: var(--pf-t--global--border--radius--medium);
55
+ --#{$expandable-section}--m-display-lg--TransitionDelay: var(--#{$expandable-section}__content--TransitionDuration--collapse--fade);
33
56
 
34
57
  // Indented
35
58
  --#{$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(--#{$expandable-section}__toggle-icon--MinWidth));
@@ -42,12 +65,47 @@
42
65
  .#{$expandable-section} {
43
66
  display: flex;
44
67
  flex-direction: column;
45
- gap: var(--#{$expandable-section}--Gap);
68
+ gap: 0;
69
+ transition-delay: var(--#{$expandable-section}__content--TransitionDelay--hide);
70
+ transition-duration: 0s;
71
+ transition-property: gap, padding-block-end;
46
72
 
47
73
  &.pf-m-expanded {
48
74
  --#{$expandable-section}__toggle-icon--Rotate: var(--#{$expandable-section}--m-expanded__toggle-icon--Rotate);
49
75
  --#{$expandable-section}__toggle-icon--m-expand-top--Rotate: var(--#{$expandable-section}--m-expanded__toggle-icon--m-expand-top--Rotate);
50
76
  --#{$expandable-section}--m-display-lg--PaddingBlockEnd: var(--#{$expandable-section}--m-display-lg--m-expanded--PaddingBlockEnd);
77
+ --#{$expandable-section}__content--TransitionDuration--slide: var(--#{$expandable-section}__content--TransitionDuration--expand--slide);
78
+ --#{$expandable-section}__content--TransitionDuration--fade: var(--#{$expandable-section}__content--TransitionDuration--expand--fade);
79
+ --#{$expandable-section}__content--Opacity: var(--#{$expandable-section}--m-expanded__content--Opacity);
80
+ --#{$expandable-section}__content--TranslateY: var(--#{$expandable-section}--m-expanded__content--TranslateY);
81
+ --#{$expandable-section}__content--Visibility: auto;
82
+ --#{$expandable-section}__content--MaxHeight: 99999px;
83
+ --#{$expandable-section}__content--TransitionDelay--hide: 0s;
84
+
85
+ gap: var(--pf-v6-c-expandable-section--Gap);
86
+ }
87
+
88
+ &.pf-m-expand-top {
89
+ --#{$expandable-section}__toggle-icon--Rotate: var(--#{$expandable-section}__toggle-icon--m-expand-top--Rotate);
90
+ }
91
+
92
+ // The following selector is for ensuring we target only detached expandable section contents without introducing a breaking change
93
+ // (since typically both toggle and content would both be in the expandable section wrapper)
94
+ // In a breaking change we could update this to utilize the pf-m-detached class
95
+ &:has(.#{$expandable-section}__content:only-child) {
96
+ &:not(.pf-m-expand-top, .pf-m-expand-bottom) {
97
+ --#{$expandable-section}__content--TranslateY: 0;
98
+ --#{$expandable-section}__content--TransitionDuration--expand--fade: 0s;
99
+ --#{$expandable-section}__content--TransitionDuration--collapse--fade: 0s;
100
+ }
101
+
102
+ &.pf-m-expand-top:not(.pf-m-expanded) {
103
+ --#{$expandable-section}__content--TranslateY: var(--#{$expandable-section}--m-expand-top__content--TranslateY);
104
+ }
105
+
106
+ &.pf-m-expand-bottom:not(.pf-m-expanded) {
107
+ --#{$expandable-section}__content--TranslateY: var(--#{$expandable-section}--m-expand-bottom__content--TranslateY);
108
+ }
51
109
  }
52
110
 
53
111
  &.pf-m-limit-width {
@@ -70,6 +128,7 @@
70
128
 
71
129
  &.pf-m-truncate {
72
130
  --#{$expandable-section}--Gap: var(--#{$expandable-section}--m-truncate--Gap);
131
+
73
132
  &:not(.pf-m-expanded) .#{$expandable-section}__content {
74
133
  // stylelint-disable
75
134
  display: -webkit-box;
@@ -90,7 +149,7 @@
90
149
  transition: var(--#{$expandable-section}__toggle-icon--Transition); // TODO remove shorthand in breaking change
91
150
  transform: rotate(var(--#{$expandable-section}__toggle-icon--Rotate));
92
151
 
93
- &.pf-m-expand-top {
152
+ &.pf-m-expand-top { // TODO: Remove this block in breaking change in favor of using modifier on outer expandable section wrapper
94
153
  --#{$expandable-section}__toggle-icon--Rotate: var(--#{$expandable-section}__toggle-icon--m-expand-top--Rotate);
95
154
  }
96
155
  }
@@ -99,4 +158,19 @@
99
158
  max-width: var(--#{$expandable-section}__content--MaxWidth);
100
159
  padding-block-end: var(--#{$expandable-section}__content--PaddingBlockEnd, 0);
101
160
  padding-inline-start: var(--#{$expandable-section}__content--PaddingInlineStart, 0);
161
+
162
+ &:where([hidden]) {
163
+ display: revert;
164
+ }
165
+
166
+ .#{$expandable-section}:where(:not(.pf-m-truncate)) & {
167
+ max-height: var(--#{$expandable-section}__content--MaxHeight, 0);
168
+ visibility: var(--#{$expandable-section}__content--Visibility, hidden);
169
+ opacity: var(--#{$expandable-section}__content--Opacity);
170
+ transition-delay: 0s, 0s, var(--#{$expandable-section}__content--TransitionDelay--hide, 0s), var(--#{$expandable-section}__content--TransitionDelay--hide, 0s);
171
+ transition-timing-function: var(--#{$expandable-section}__content--TransitionTimingFunction);
172
+ transition-duration: var(--#{$expandable-section}__content--TransitionDuration--fade), var(--#{$expandable-section}__content--TransitionDuration--slide), 0s, 0s;
173
+ transition-property: opacity, translate, visibility, max-height;
174
+ translate: 0 var(--#{$expandable-section}__content--TranslateY);
175
+ }
102
176
  }
@@ -6,9 +6,9 @@
6
6
  --pf-v6-c-file-upload--PaddingInlineEnd: var(--pf-t--global--spacer--sm);
7
7
  --pf-v6-c-file-upload--BorderRadius: var(--pf-t--global--border--radius--small);
8
8
  --pf-v6-c-file-upload--BorderWidth: var(--pf-t--global--border--width--regular);
9
- --pf-v6-c-file-upload--BorderColor: transparent;
10
- --pf-v6-c-file-upload--BorderStyle: solid;
11
- --pf-v6-c-file-upload--m-drag-hover--BorderColor: var(--pf-t--global--icon--color--brand--default);
9
+ --pf-v6-c-file-upload--BorderColor: var(--pf-t--global--border--color--default);
10
+ --pf-v6-c-file-upload--BorderStyle: dashed;
11
+ --pf-v6-c-file-upload--m-drag-hover--BorderColor: var(--pf-t--global--border--color--clicked);
12
12
  --pf-v6-c-file-upload--m-drag-hover--BorderStyle: dashed;
13
13
  --pf-v6-c-file-upload__file-select__c-button--m-control--OutlineOffset: calc(-1 * var(--pf-t--global--spacer--xs));
14
14
  --pf-v6-c-file-upload__file-details__c-form-control--MinHeight: calc(var(--pf-t--global--spacer--3xl) * 2);
@@ -8,11 +8,11 @@
8
8
  --#{$file-upload}--PaddingInlineEnd: var(--pf-t--global--spacer--sm);
9
9
  --#{$file-upload}--BorderRadius: var(--pf-t--global--border--radius--small);
10
10
  --#{$file-upload}--BorderWidth: var(--pf-t--global--border--width--regular);
11
- --#{$file-upload}--BorderColor: transparent;
12
- --#{$file-upload}--BorderStyle: solid;
11
+ --#{$file-upload}--BorderColor: var(--pf-t--global--border--color--default);
12
+ --#{$file-upload}--BorderStyle: dashed;
13
13
 
14
14
  // pf-m-drag-hover
15
- --#{$file-upload}--m-drag-hover--BorderColor: var(--pf-t--global--icon--color--brand--default);
15
+ --#{$file-upload}--m-drag-hover--BorderColor: var(--pf-t--global--border--color--clicked);
16
16
  --#{$file-upload}--m-drag-hover--BorderStyle: dashed;
17
17
 
18
18
  // File select > Button
@@ -51,7 +51,7 @@
51
51
  --pf-v6-c-form__field-group--GridTemplateColumns--toggle: calc(var(--pf-t--global--spacer--md) * 2 + var(--pf-v6-c-form__field-group-toggle-icon--MinWidth) + var(--pf-t--global--spacer--xs));
52
52
  --pf-v6-c-form__field-group-toggle--PaddingBlockStart: var(--pf-v6-c-form__field-group-header--PaddingBlockStart);
53
53
  --pf-v6-c-form__field-group-toggle--PaddingInlineEnd: var(--pf-t--global--spacer--xs);
54
- --pf-v6-c-form__field-group__field-group__field-group-toggle--PaddingBlockStart: var(--pf-t--global--spacer--md);
54
+ --pf-v6-c-form__field-group__field-group__field-group-toggle--PaddingBlockStart: var(--pf-t--global--spacer--lg);
55
55
  --pf-v6-c-form__field-group-header-toggle--BorderWidth--base: var(--pf-t--global--border--width--divider--default);
56
56
  --pf-v6-c-form__field-group__field-group--field-group__field-group-toggle--after--BorderBlockStartWidth: var(--pf-v6-c-form__field-group-header-toggle--BorderWidth--base);
57
57
  --pf-v6-c-form__field-group-toggle-button--MarginBlockStart: calc(var(--pf-t--global--spacer--control--vertical--plain) * -1);
@@ -71,6 +71,8 @@
71
71
  --pf-v6-c-form__field-group-header-description--MarginBlockStart: var(--pf-t--global--spacer--xs);
72
72
  --pf-v6-c-form__field-group-header-description--Color: var(--pf-t--global--text--color--subtle);
73
73
  --pf-v6-c-form__field-group-header-actions--MarginInlineStart: var(--pf-t--global--spacer--sm);
74
+ --pf-v6-c-form__field-group-header-actions--MarginBlockStart: calc(var(--pf-t--global--spacer--control--vertical--plain) * -1);
75
+ --pf-v6-c-form__field-group-header-actions--MarginBlockEnd: calc(var(--pf-t--global--spacer--control--vertical--plain) * -1);
74
76
  --pf-v6-c-form__field-group-body--PaddingBlockStart: var(--pf-t--global--spacer--lg);
75
77
  --pf-v6-c-form__field-group-body--PaddingBlockEnd: var(--pf-t--global--spacer--lg);
76
78
  --pf-v6-c-form__field-group-body--Gap: var(--pf-v6-c-form--GridGap);
@@ -78,6 +80,19 @@
78
80
  --pf-v6-c-form__field-group__field-group__field-group-body--GridColumn: 1 / 3;
79
81
  --pf-v6-c-form__field-group__field-group__field-group-toggle--field-group-body--GridColumn: 2 / 3;
80
82
  --pf-v6-c-form__field-group-body__field-group--last-child--MarginBlockEnd: calc(var(--pf-v6-c-form__field-group-body--PaddingBlockEnd) * -1);
83
+ --pf-v6-c-form__field-group-body--TranslateY: 0;
84
+ --pf-v6-c-form__field-group--m-expanded__field-group-body--TranslateY: 0;
85
+ --pf-v6-c-form__field-group-body--TransitionDuration--expand--slide: 0s;
86
+ --pf-v6-c-form__field-group-body--TransitionDuration--expand--fade: var(--pf-t--global--motion--duration--fade--default);
87
+ --pf-v6-c-form__field-group-body--TransitionDuration--collapse--slide: 0s;
88
+ --pf-v6-c-form__field-group-body--TransitionDuration--collapse--fade: var(--pf-t--global--motion--duration--fade--short);
89
+ }
90
+ @media screen and (prefers-reduced-motion: no-preference) {
91
+ .pf-v6-c-form {
92
+ --pf-v6-c-form__field-group-body--TransitionDuration--expand--slide: var(--pf-t--global--motion--duration--fade--default);
93
+ --pf-v6-c-form__field-group-body--TransitionDuration--collapse--slide: var(--pf-t--global--motion--duration--fade--short);
94
+ --pf-v6-c-form__field-group-body--TranslateY: -.5rem;
95
+ }
81
96
  }
82
97
 
83
98
  .pf-v6-c-form {
@@ -434,6 +449,16 @@
434
449
  .pf-v6-c-form__field-group.pf-m-expanded > .pf-v6-c-form__field-group-toggle {
435
450
  --pf-v6-c-form__field-group-toggle-icon--Rotate: var(--pf-v6-c-form__field-group--m-expanded__toggle-icon--Rotate);
436
451
  }
452
+ .pf-v6-c-form__field-group.pf-m-expanded.pf-m-expandable > .pf-v6-c-form__field-group-body {
453
+ max-height: 99999px;
454
+ padding-block-start: var(--pf-v6-c-form__field-group-body--PaddingBlockStart);
455
+ padding-block-end: var(--pf-v6-c-form__field-group-body--PaddingBlockEnd);
456
+ visibility: visible;
457
+ opacity: 1;
458
+ transition-delay: 0s;
459
+ transition-duration: var(--pf-v6-c-form__field-group-body--TransitionDuration--expand--fade), var(--pf-v6-c-form__field-group-body--TransitionDuration--expand--slide), 0s, 0s, 0s, 0s;
460
+ translate: 0 var(--pf-v6-c-form__field-group--m-expanded__field-group-body--TranslateY);
461
+ }
437
462
 
438
463
  .pf-v6-c-form__field-group-toggle {
439
464
  grid-row: 1/2;
@@ -492,6 +517,8 @@
492
517
  }
493
518
 
494
519
  .pf-v6-c-form__field-group-header-actions {
520
+ margin-block-start: var(--pf-v6-c-form__field-group-header-actions--MarginBlockStart);
521
+ margin-block-end: var(--pf-v6-c-form__field-group-header-actions--MarginBlockEnd);
495
522
  margin-inline-start: var(--pf-v6-c-form__field-group-header-actions--MarginInlineStart);
496
523
  white-space: nowrap;
497
524
  }
@@ -503,6 +530,18 @@
503
530
  padding-block-start: var(--pf-v6-c-form__field-group-body--PaddingBlockStart);
504
531
  padding-block-end: var(--pf-v6-c-form__field-group-body--PaddingBlockEnd);
505
532
  }
533
+ .pf-v6-c-form__field-group.pf-m-expandable > .pf-v6-c-form__field-group-body {
534
+ max-height: 0;
535
+ padding-block-start: 0;
536
+ padding-block-end: 0;
537
+ visibility: hidden;
538
+ opacity: 0;
539
+ transition-delay: 0s, 0s, var(--pf-v6-c-form__field-group-body--TransitionDuration--collapse--fade), var(--pf-v6-c-form__field-group-body--TransitionDuration--collapse--fade), var(--pf-v6-c-form__field-group-body--TransitionDuration--collapse--fade), var(--pf-v6-c-form__field-group-body--TransitionDuration--collapse--fade);
540
+ transition-duration: var(--pf-v6-c-form__field-group-body--TransitionDuration--collapse--fade), var(--pf-v6-c-form__field-group-body--TransitionDuration--collapse--slide), 0s, 0s, 0s, 0s;
541
+ transition-property: opacity, translate, visibility, max-height, padding-block-start, padding-block-end;
542
+ translate: 0 var(--pf-v6-c-form__field-group-body--TranslateY);
543
+ }
544
+
506
545
  .pf-v6-c-form__field-group-body > .pf-v6-c-form__field-group:first-child {
507
546
  --pf-v6-c-form__field-group-toggle--PaddingBlockStart: 0;
508
547
  --pf-v6-c-form__field-group-header--PaddingBlockStart: 0;
@@ -125,10 +125,12 @@ $pf-v6-c-form--m-horizontal--breakpoint-map: build-breakpoint-map("sm", "md", "l
125
125
  --#{$form}__field-group--BorderBlockEndWidth: var(--#{$form}__field-group--border-width-base);
126
126
  --#{$form}__field-group--BorderBlockEndColor: var(--pf-t--global--border--color--default);
127
127
  --#{$form}__field-group--field-group--MarginBlockStart: calc(var(--#{$form}--GridGap) * -1);
128
+
129
+ // Field group toggle
128
130
  --#{$form}__field-group--GridTemplateColumns--toggle: calc(var(--pf-t--global--spacer--md) * 2 + var(--#{$form}__field-group-toggle-icon--MinWidth) + var(--pf-t--global--spacer--xs)); // based off of the expected width of the group toggle, for use to define a column when the toggle is not present
129
131
  --#{$form}__field-group-toggle--PaddingBlockStart: var(--#{$form}__field-group-header--PaddingBlockStart);
130
132
  --#{$form}__field-group-toggle--PaddingInlineEnd: var(--pf-t--global--spacer--xs);
131
- --#{$form}__field-group__field-group__field-group-toggle--PaddingBlockStart: var(--pf-t--global--spacer--md);
133
+ --#{$form}__field-group__field-group__field-group-toggle--PaddingBlockStart: var(--pf-t--global--spacer--lg); // remove in breaking change
132
134
  --#{$form}__field-group-header-toggle--BorderWidth--base: var(--pf-t--global--border--width--divider--default);
133
135
  --#{$form}__field-group__field-group--field-group__field-group-toggle--after--BorderBlockStartWidth: var(--#{$form}__field-group-header-toggle--BorderWidth--base);
134
136
  --#{$form}__field-group-toggle-button--MarginBlockStart: calc(var(--pf-t--global--spacer--control--vertical--plain) * -1);
@@ -138,6 +140,8 @@ $pf-v6-c-form--m-horizontal--breakpoint-map: build-breakpoint-map("sm", "md", "l
138
140
  --#{$form}__field-group-toggle-icon--MinWidth: var(--pf-t--global--font--size--body--default);
139
141
  --#{$form}__field-group-toggle-icon--Rotate: 0;
140
142
  --#{$form}__field-group--m-expanded__toggle-icon--Rotate: 90deg;
143
+
144
+ // Field group header
141
145
  --#{$form}__field-group-header--PaddingBlockStart: var(--pf-t--global--spacer--md);
142
146
  --#{$form}__field-group-header--PaddingBlockEnd: var(--pf-t--global--spacer--md);
143
147
  --#{$form}__field-group-header--GridColumn: 1 / 3;
@@ -148,6 +152,11 @@ $pf-v6-c-form--m-horizontal--breakpoint-map: build-breakpoint-map("sm", "md", "l
148
152
  --#{$form}__field-group-header-description--MarginBlockStart: var(--pf-t--global--spacer--xs);
149
153
  --#{$form}__field-group-header-description--Color: var(--pf-t--global--text--color--subtle);
150
154
  --#{$form}__field-group-header-actions--MarginInlineStart: var(--pf-t--global--spacer--sm);
155
+ --#{$form}__field-group-header-actions--MarginBlockStart: calc(var(--pf-t--global--spacer--control--vertical--plain) * -1);
156
+ --#{$form}__field-group-header-actions--MarginBlockEnd: calc(var(--pf-t--global--spacer--control--vertical--plain) * -1);
157
+
158
+
159
+ // Field group body
151
160
  --#{$form}__field-group-body--PaddingBlockStart: var(--pf-t--global--spacer--lg);
152
161
  --#{$form}__field-group-body--PaddingBlockEnd: var(--pf-t--global--spacer--lg);
153
162
  --#{$form}__field-group-body--Gap: var(--#{$form}--GridGap);
@@ -155,6 +164,18 @@ $pf-v6-c-form--m-horizontal--breakpoint-map: build-breakpoint-map("sm", "md", "l
155
164
  --#{$form}__field-group__field-group__field-group-body--GridColumn: 1 / 3;
156
165
  --#{$form}__field-group__field-group__field-group-toggle--field-group-body--GridColumn: 2 / 3;
157
166
  --#{$form}__field-group-body__field-group--last-child--MarginBlockEnd: calc(var(--#{$form}__field-group-body--PaddingBlockEnd) * -1);
167
+ --#{$form}__field-group-body--TranslateY: 0;
168
+ --#{$form}__field-group--m-expanded__field-group-body--TranslateY: 0;
169
+ --#{$form}__field-group-body--TransitionDuration--expand--slide: 0s;
170
+ --#{$form}__field-group-body--TransitionDuration--expand--fade: var(--pf-t--global--motion--duration--fade--default);
171
+ --#{$form}__field-group-body--TransitionDuration--collapse--slide: 0s;
172
+ --#{$form}__field-group-body--TransitionDuration--collapse--fade: var(--pf-t--global--motion--duration--fade--short);
173
+
174
+ @media screen and (prefers-reduced-motion: no-preference) {
175
+ --#{$form}__field-group-body--TransitionDuration--expand--slide: var(--pf-t--global--motion--duration--fade--default);
176
+ --#{$form}__field-group-body--TransitionDuration--collapse--slide: var(--pf-t--global--motion--duration--fade--short);
177
+ --#{$form}__field-group-body--TranslateY: -.5rem;
178
+ }
158
179
  }
159
180
 
160
181
  .#{$form} {
@@ -385,6 +406,17 @@ $pf-v6-c-form--m-horizontal--breakpoint-map: build-breakpoint-map("sm", "md", "l
385
406
  > .#{$form}__field-group-toggle {
386
407
  --#{$form}__field-group-toggle-icon--Rotate: var(--#{$form}__field-group--m-expanded__toggle-icon--Rotate);
387
408
  }
409
+
410
+ &.pf-m-expandable > .#{$form}__field-group-body { // TODO - remove .pf-m-expandable in a breaking change, it shouldn't be needed. Only needed now so that these styles are an opt-in behind .pf-m-expandable
411
+ max-height: 99999px;
412
+ padding-block-start: var(--#{$form}__field-group-body--PaddingBlockStart);
413
+ padding-block-end: var(--#{$form}__field-group-body--PaddingBlockEnd);
414
+ visibility: visible;
415
+ opacity: 1;
416
+ transition-delay: 0s;
417
+ transition-duration: var(--#{$form}__field-group-body--TransitionDuration--expand--fade), var(--#{$form}__field-group-body--TransitionDuration--expand--slide), 0s, 0s, 0s, 0s;
418
+ translate: 0 var(--#{$form}__field-group--m-expanded__field-group-body--TranslateY);
419
+ }
388
420
  }
389
421
  }
390
422
 
@@ -445,6 +477,8 @@ $pf-v6-c-form--m-horizontal--breakpoint-map: build-breakpoint-map("sm", "md", "l
445
477
  }
446
478
 
447
479
  .#{$form}__field-group-header-actions {
480
+ margin-block-start: var(--#{$form}__field-group-header-actions--MarginBlockStart);
481
+ margin-block-end: var(--#{$form}__field-group-header-actions--MarginBlockEnd);
448
482
  margin-inline-start: var(--#{$form}__field-group-header-actions--MarginInlineStart);
449
483
  white-space: nowrap;
450
484
  }
@@ -456,6 +490,18 @@ $pf-v6-c-form--m-horizontal--breakpoint-map: build-breakpoint-map("sm", "md", "l
456
490
  padding-block-start: var(--#{$form}__field-group-body--PaddingBlockStart);
457
491
  padding-block-end: var(--#{$form}__field-group-body--PaddingBlockEnd);
458
492
 
493
+ @at-root .#{$form}__field-group.pf-m-expandable > & {
494
+ max-height: 0;
495
+ padding-block-start: 0;
496
+ padding-block-end: 0;
497
+ visibility: hidden;
498
+ opacity: 0;
499
+ transition-delay: 0s, 0s, var(--#{$form}__field-group-body--TransitionDuration--collapse--fade), var(--#{$form}__field-group-body--TransitionDuration--collapse--fade), var(--#{$form}__field-group-body--TransitionDuration--collapse--fade), var(--#{$form}__field-group-body--TransitionDuration--collapse--fade);
500
+ transition-duration: var(--#{$form}__field-group-body--TransitionDuration--collapse--fade), var(--#{$form}__field-group-body--TransitionDuration--collapse--slide), 0s, 0s, 0s, 0s;
501
+ transition-property: opacity, translate, visibility, max-height, padding-block-start, padding-block-end;
502
+ translate: 0 var(--#{$form}__field-group-body--TranslateY);
503
+ }
504
+
459
505
  > .#{$form}__field-group {
460
506
  &:first-child {
461
507
  --#{$form}__field-group-toggle--PaddingBlockStart: 0;
@@ -226,6 +226,22 @@
226
226
  --pf-v6-c-form-control__icon--m-status--Color: var(--pf-v6-c-form-control--m-error__icon--m-status--Color);
227
227
  --pf-v6-c-form-control--after--BorderWidth: var(--pf-v6-c-form-control--m-error--after--BorderWidth);
228
228
  }
229
+ @media (prefers-reduced-motion: no-preference) {
230
+ .pf-v6-c-form-control.pf-m-error {
231
+ translate: var(--pf-v6-global--danger-jiggle--TranslateX, 0);
232
+ animation-name: pf-v6-global-danger-jiggle-motion;
233
+ animation-duration: var(--pf-v6-global--danger-jiggle--AnimationDuration--Transform);
234
+ animation-timing-function: var(--pf-v6-global--danger-jiggle--AnimationTimingFunction--Transform);
235
+ animation-fill-mode: both;
236
+ }
237
+ }
238
+ .pf-v6-c-form-control.pf-m-error .pf-v6-c-form-control__icon.pf-m-status {
239
+ --pf-v6-c-form-control--TransitionDuration--Opacity: var(--pf-t--global--motion--duration--fade--default);
240
+ --pf-v6-c-form-control--TransitionTimingFunction--Opacity: var(--pf-t--global--motion--timing-function--default);
241
+ animation-name: pf-v6-global-fade-in;
242
+ animation-duration: var(--pf-v6-c-form-control--TransitionDuration--Opacity);
243
+ animation-timing-function: var(--pf-v6-c-form-control--TransitionTimingFunction--Opacity);
244
+ }
229
245
  .pf-v6-c-form-control.pf-m-error > textarea {
230
246
  padding-inline-end: var(--pf-v6-c-form-control--m-error--PaddingInlineEnd, var(--pf-v6-c-form-control__textarea--m-error--PaddingInlineEnd));
231
247
  }
@@ -290,6 +290,14 @@
290
290
  --#{$form-control}__icon--m-status--Color: var(--#{$form-control}--m-error__icon--m-status--Color);
291
291
  --#{$form-control}--after--BorderWidth: var(--#{$form-control}--m-error--after--BorderWidth);
292
292
 
293
+ @media (prefers-reduced-motion: no-preference) {
294
+ @include pf-v6-animate-danger-jiggle;
295
+ }
296
+
297
+ .#{$form-control}__icon.pf-m-status {
298
+ @include pf-v6-fade-default(#{$form-control});
299
+ }
300
+
293
301
  > textarea {
294
302
  padding-inline-end: var(--#{$form-control}--m-error--PaddingInlineEnd, var(--#{$form-control}__textarea--m-error--PaddingInlineEnd));
295
303
  }
@@ -438,6 +446,7 @@
438
446
 
439
447
  &.pf-m-status {
440
448
  --#{$form-control}__icon--Color: var(--#{$form-control}__icon--m-status--Color);
449
+
441
450
  }
442
451
  }
443
452
 
@@ -19,6 +19,30 @@
19
19
  --pf-v6-c-input-group__text--Color: var(--pf-t--global--text--color--regular);
20
20
  --pf-v6-c-input-group__item--m-disabled__text--Color: var(--pf-t--global--text--color--on-disabled);
21
21
  --pf-v6-c-input-group__item--m-disabled--BackgroundColor: var(--pf-t--global--background--color--disabled--default);
22
+ --pf-v6-c-input-group__item--m-search-text-input--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
23
+ --pf-v6-c-input-group__item--m-search-text-input--TransitionDuration--expand--fade: var(--pf-t--global--motion--duration--fade--default);
24
+ --pf-v6-c-input-group__item--m-search-text-input--TransitionDuration--collapse--fade: var(--pf-t--global--motion--duration--fade--short);
25
+ --pf-v6-c-input-group__item--m-search-text-input--TransitionDuration--expand--slide: var(--pf-t--global--motion--duration--fade--default);
26
+ --pf-v6-c-input-group__item--m-search-text-input--TransitionDuration--collapse--slide: var(--pf-t--global--motion--duration--fade--short);
27
+ --pf-v6-c-input-group__item--m-search-text-input--TransitionDuration--fade: var(--pf-v6-c-input-group__item--m-search-text-input--TransitionDuration--collapse--fade);
28
+ --pf-v6-c-input-group__item--m-search-text-input--TransitionDuration--slide: var(--pf-v6-c-input-group__item--m-search-text-input--TransitionDuration--collapse--slide);
29
+ --pf-v6-c-input-group__item--m-search-text-input--ScaleX: 1;
30
+ --pf-v6-c-input-group__item--m-search-text-input--TransformOriginX--expand-start: 100%;
31
+ --pf-v6-c-input-group__item--m-search-text-input--TransformOriginX--expand-end: 0;
32
+ --pf-v6-c-input-group__item--m-search-text-input--TransformOriginX: var(--pf-v6-c-input-group__item--m-search-text-input--TransformOriginX--expand-end);
33
+ --pf-v6-c-input-group__item--m-search-expand--TransitionTimingFunction:var(--pf-t--global--motion--timing-function--default);
34
+ --pf-v6-c-input-group__item--m-search-expand--TransitionDuration--expand--fade: 0s;
35
+ --pf-v6-c-input-group__item--m-search-expand--TransitionDuration--collapse--fade: 0s;
36
+ --pf-v6-c-input-group__item--m-search-expand--TransitionDuration--fade: var(--pf-v6-c-input-group__item--m-search-expand--TransitionDuration--expand--fade);
37
+ --pf-v6-c-input-group__item--m-search-action--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
38
+ --pf-v6-c-input-group__item--m-search-action--TransitionDuration--expand--fade: var(--pf-t--global--motion--duration--fade--default);
39
+ --pf-v6-c-input-group__item--m-search-action--TransitionDuration--collapse--fade: var(--pf-t--global--motion--duration--fade--short);
40
+ --pf-v6-c-input-group__item--m-search-action--TransitionDuration--fade: var(--pf-v6-c-input-group__item--m-search-action--TransitionDuration--collapse--fade);
41
+ }
42
+ @media (prefers-reduced-motion: no-preference) {
43
+ .pf-v6-c-input-group {
44
+ --pf-v6-c-input-group__item--m-search-text-input--ScaleX: .7;
45
+ }
22
46
  }
23
47
 
24
48
  .pf-v6-c-input-group {
@@ -26,6 +50,62 @@
26
50
  gap: var(--pf-v6-c-input-group--Gap);
27
51
  width: 100%;
28
52
  }
53
+ .pf-v6-c-input-group.pf-m-search-expandable:not(.pf-m-expanded) {
54
+ --pf-v6-c-input-group--Gap: 0;
55
+ transition: gap 0s var(--pf-v6-c-input-group__item--m-search-text-input--TransitionDuration--fade);
56
+ }
57
+ .pf-v6-c-input-group.pf-m-search-expandable .pf-v6-c-input-group__item.pf-m-search-input {
58
+ flex-grow: 1;
59
+ max-width: var(--pf-v6-c-input-group__item--m-search-text-input--MaxWidth, 0);
60
+ visibility: var(--pf-v6-c-input-group__item--m-search-text-input--Visibility, hidden);
61
+ opacity: var(--pf-v6-c-input-group__item--m-search-text-input--Opacity, 0);
62
+ transition-delay: 0s, 0s, var(--pf-v6-c-input-group__item--m-search-text-input--TransitionDuration--fade), var(--pf-v6-c-input-group__item--m-search-text-input--TransitionDuration--fade);
63
+ transition-timing-function: var(--pf-v6-c-input-group__item--m-search-text-input--TransitionTimingFunction);
64
+ transition-duration: var(--pf-v6-c-input-group__item--m-search-text-input--TransitionDuration--fade), var(--pf-v6-c-input-group__item--m-search-text-input--TransitionDuration--slide), 0s, 0s;
65
+ transition-property: opacity, scale, visibility, max-width;
66
+ transform-origin: var(--pf-v6-c-input-group__item--m-search-text-input--TransformOriginX) center;
67
+ scale: var(--pf-v6-c-input-group__item--m-search-text-input--ScaleX) 1;
68
+ }
69
+ .pf-v6-c-input-group.pf-m-search-expandable .pf-v6-c-input-group__item.pf-m-search-expand {
70
+ max-width: var(--pf-v6-c-input-group__item--m-search-expand--MaxWidth, 100%);
71
+ visibility: var(--pf-v6-c-input-group__item--m-search-expand--Visibility, visible);
72
+ opacity: var(--pf-v6-c-input-group__item--m-search-expand--Opacity, 1);
73
+ transition-delay: var(--pf-v6-c-input-group__item--m-search-action--TransitionDuration--fade);
74
+ transition-timing-function: var(--pf-v6-c-input-group__item--m-search-expand--TransitionTimingFunction);
75
+ transition-duration: var(--pf-v6-c-input-group__item--m-search-expand--TransitionDuration--fade), 0s, 0s;
76
+ transition-property: opacity, visibility, max-width;
77
+ }
78
+ .pf-v6-c-input-group.pf-m-search-expandable .pf-v6-c-input-group__item.pf-m-search-action {
79
+ max-width: var(--pf-v6-c-input-group__item--m-search-action--MaxWidth, 0);
80
+ visibility: var(--pf-v6-c-input-group__item--m-search-action--Visibility, hidden);
81
+ opacity: var(--pf-v6-c-input-group__item--m-search-action--Opacity, 0);
82
+ transition-delay: 0s, var(--pf-v6-c-input-group__item--m-search-action--TransitionDuration--fade), var(--pf-v6-c-input-group__item--m-search-action--TransitionDuration--fade);
83
+ transition-timing-function: var(--pf-v6-c-input-group__item--m-search-action--TransitionTimingFunction);
84
+ transition-duration: var(--pf-v6-c-input-group__item--m-search-action--TransitionDuration--fade), 0s, 0s;
85
+ transition-property: opacity, visibility, max-width;
86
+ }
87
+ .pf-v6-c-input-group.pf-m-search-expandable.pf-m-expand-start {
88
+ --pf-v6-c-input-group__item--m-search-text-input--TransformOriginX: var(--pf-v6-c-input-group__item--m-search-text-input--TransformOriginX--expand-start);
89
+ }
90
+ .pf-v6-c-input-group.pf-m-search-expandable.pf-m-expanded {
91
+ --pf-v6-c-input-group__item--m-search-text-input--MaxWidth: 100%;
92
+ --pf-v6-c-input-group__item--m-search-text-input--Visibility: visible;
93
+ --pf-v6-c-input-group__item--m-search-text-input--Opacity: 1;
94
+ --pf-v6-c-input-group__item--m-search-text-input--TransitionDuration--fade: var(--pf-v6-c-input-group__item--m-search-text-input--TransitionDuration--expand--fade);
95
+ --pf-v6-c-input-group__item--m-search-text-input--TransitionDuration--slide: var(--pf-v6-c-input-group__item--m-search-text-input--TransitionDuration--expand--slide);
96
+ --pf-v6-c-input-group__item--m-search-text-input--ScaleX: 1;
97
+ --pf-v6-c-input-group__item--m-search-action--MaxWidth: 100%;
98
+ --pf-v6-c-input-group__item--m-search-action--Visibility: visible;
99
+ --pf-v6-c-input-group__item--m-search-action--Opacity: 1;
100
+ --pf-v6-c-input-group__item--m-search-action--TransitionDuration--fade: var(--pf-v6-c-input-group__item--m-search-action--TransitionDuration--expand--fade);
101
+ --pf-v6-c-input-group__item--m-search-expand--MaxWidth: 0;
102
+ --pf-v6-c-input-group__item--m-search-expand--Visibility: hidden;
103
+ --pf-v6-c-input-group__item--m-search-expand--Opacity: 0;
104
+ --pf-v6-c-input-group__item--m-search-expand--TransitionDuration--fade: var(--pf-v6-c-input-group__item--m-search-expand--TransitionDuration--collapse--fade);
105
+ }
106
+ .pf-v6-c-input-group.pf-m-search-expandable.pf-m-expanded .pf-v6-c-input-group__item:is(.pf-m-search-input, .pf-m-search-expand, .pf-m-search-action) {
107
+ transition-delay: 0s;
108
+ }
29
109
 
30
110
  .pf-v6-c-input-group__item {
31
111
  position: relative;
@@ -31,12 +31,107 @@
31
31
  // Input group text, disabled variant
32
32
  --#{$input-group}__item--m-disabled__text--Color: var(--pf-t--global--text--color--on-disabled);
33
33
  --#{$input-group}__item--m-disabled--BackgroundColor: var(--pf-t--global--background--color--disabled--default);
34
+
35
+ // Input group search expanded
36
+ --#{$input-group}__item--m-search-text-input--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
37
+ --#{$input-group}__item--m-search-text-input--TransitionDuration--expand--fade: var(--pf-t--global--motion--duration--fade--default);
38
+ --#{$input-group}__item--m-search-text-input--TransitionDuration--collapse--fade: var(--pf-t--global--motion--duration--fade--short);
39
+ --#{$input-group}__item--m-search-text-input--TransitionDuration--expand--slide: var(--pf-t--global--motion--duration--fade--default);
40
+ --#{$input-group}__item--m-search-text-input--TransitionDuration--collapse--slide: var(--pf-t--global--motion--duration--fade--short);
41
+ --#{$input-group}__item--m-search-text-input--TransitionDuration--fade: var(--#{$input-group}__item--m-search-text-input--TransitionDuration--collapse--fade);
42
+ --#{$input-group}__item--m-search-text-input--TransitionDuration--slide: var(--#{$input-group}__item--m-search-text-input--TransitionDuration--collapse--slide);
43
+ --#{$input-group}__item--m-search-text-input--ScaleX: 1;
44
+ --#{$input-group}__item--m-search-text-input--TransformOriginX--expand-start: 100%;
45
+ --#{$input-group}__item--m-search-text-input--TransformOriginX--expand-end: 0;
46
+ --#{$input-group}__item--m-search-text-input--TransformOriginX: var(--#{$input-group}__item--m-search-text-input--TransformOriginX--expand-end);
47
+ --#{$input-group}__item--m-search-expand--TransitionTimingFunction:var(--pf-t--global--motion--timing-function--default);
48
+ --#{$input-group}__item--m-search-expand--TransitionDuration--expand--fade: 0s;
49
+ --#{$input-group}__item--m-search-expand--TransitionDuration--collapse--fade: 0s;
50
+ --#{$input-group}__item--m-search-expand--TransitionDuration--fade: var(--#{$input-group}__item--m-search-expand--TransitionDuration--expand--fade);
51
+ --#{$input-group}__item--m-search-action--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
52
+ --#{$input-group}__item--m-search-action--TransitionDuration--expand--fade: var(--pf-t--global--motion--duration--fade--default);
53
+ --#{$input-group}__item--m-search-action--TransitionDuration--collapse--fade: var(--pf-t--global--motion--duration--fade--short);
54
+ --#{$input-group}__item--m-search-action--TransitionDuration--fade: var(--#{$input-group}__item--m-search-action--TransitionDuration--collapse--fade);
55
+
56
+ @media (prefers-reduced-motion: no-preference) {
57
+ --#{$input-group}__item--m-search-text-input--ScaleX: .7;
58
+ }
34
59
  }
35
60
 
36
61
  .#{$input-group} {
37
62
  display: flex;
38
63
  gap: var(--#{$input-group}--Gap);
39
64
  width: 100%;
65
+
66
+ &.pf-m-search-expandable {
67
+ &:not(.pf-m-expanded) {
68
+ --#{$input-group}--Gap: 0;
69
+
70
+ transition: gap 0s var(--#{$input-group}__item--m-search-text-input--TransitionDuration--fade);
71
+ }
72
+
73
+ .#{$input-group}__item {
74
+ &.pf-m-search-input {
75
+ flex-grow: 1;
76
+ max-width: var(--#{$input-group}__item--m-search-text-input--MaxWidth, 0);
77
+ visibility: var(--#{$input-group}__item--m-search-text-input--Visibility, hidden);
78
+ opacity: var(--#{$input-group}__item--m-search-text-input--Opacity, 0);
79
+ transition-delay: 0s, 0s, var(--#{$input-group}__item--m-search-text-input--TransitionDuration--fade), var(--#{$input-group}__item--m-search-text-input--TransitionDuration--fade);
80
+ transition-timing-function: var(--#{$input-group}__item--m-search-text-input--TransitionTimingFunction);
81
+ transition-duration: var(--#{$input-group}__item--m-search-text-input--TransitionDuration--fade), var(--#{$input-group}__item--m-search-text-input--TransitionDuration--slide), 0s, 0s;
82
+ transition-property: opacity, scale, visibility, max-width;
83
+ transform-origin: var(--#{$input-group}__item--m-search-text-input--TransformOriginX) center;
84
+ scale: var(--#{$input-group}__item--m-search-text-input--ScaleX) 1;
85
+ }
86
+
87
+ // the expand button (magnifying glass)
88
+ &.pf-m-search-expand {
89
+ max-width: var(--#{$input-group}__item--m-search-expand--MaxWidth, 100%);
90
+ visibility: var(--#{$input-group}__item--m-search-expand--Visibility, visible);
91
+ opacity: var(--#{$input-group}__item--m-search-expand--Opacity, 1);
92
+ transition-delay: var(--#{$input-group}__item--m-search-action--TransitionDuration--fade);
93
+ transition-timing-function: var(--#{$input-group}__item--m-search-expand--TransitionTimingFunction);
94
+ transition-duration: var(--#{$input-group}__item--m-search-expand--TransitionDuration--fade), 0s, 0s;
95
+ transition-property: opacity, visibility, max-width;
96
+ }
97
+
98
+ // other input group items adjacent to the search input that are shown when expanded
99
+ &.pf-m-search-action {
100
+ max-width: var(--#{$input-group}__item--m-search-action--MaxWidth, 0);
101
+ visibility: var(--#{$input-group}__item--m-search-action--Visibility, hidden);
102
+ opacity: var(--#{$input-group}__item--m-search-action--Opacity, 0);
103
+ transition-delay: 0s, var(--#{$input-group}__item--m-search-action--TransitionDuration--fade), var(--#{$input-group}__item--m-search-action--TransitionDuration--fade);
104
+ transition-timing-function: var(--#{$input-group}__item--m-search-action--TransitionTimingFunction);
105
+ transition-duration: var(--#{$input-group}__item--m-search-action--TransitionDuration--fade), 0s, 0s;
106
+ transition-property: opacity, visibility, max-width;
107
+ }
108
+ }
109
+
110
+ &.pf-m-expand-start {
111
+ --#{$input-group}__item--m-search-text-input--TransformOriginX: var(--#{$input-group}__item--m-search-text-input--TransformOriginX--expand-start);
112
+ }
113
+
114
+ &.pf-m-expanded {
115
+ --#{$input-group}__item--m-search-text-input--MaxWidth: 100%;
116
+ --#{$input-group}__item--m-search-text-input--Visibility: visible;
117
+ --#{$input-group}__item--m-search-text-input--Opacity: 1;
118
+ --#{$input-group}__item--m-search-text-input--TransitionDuration--fade: var(--#{$input-group}__item--m-search-text-input--TransitionDuration--expand--fade);
119
+ --#{$input-group}__item--m-search-text-input--TransitionDuration--slide: var(--#{$input-group}__item--m-search-text-input--TransitionDuration--expand--slide);
120
+ --#{$input-group}__item--m-search-text-input--ScaleX: 1;
121
+ --#{$input-group}__item--m-search-action--MaxWidth: 100%;
122
+ --#{$input-group}__item--m-search-action--Visibility: visible;
123
+ --#{$input-group}__item--m-search-action--Opacity: 1;
124
+ --#{$input-group}__item--m-search-action--TransitionDuration--fade: var(--#{$input-group}__item--m-search-action--TransitionDuration--expand--fade);
125
+ --#{$input-group}__item--m-search-expand--MaxWidth: 0;
126
+ --#{$input-group}__item--m-search-expand--Visibility: hidden;
127
+ --#{$input-group}__item--m-search-expand--Opacity: 0;
128
+ --#{$input-group}__item--m-search-expand--TransitionDuration--fade: var(--#{$input-group}__item--m-search-expand--TransitionDuration--collapse--fade);
129
+
130
+ .#{$input-group}__item:is(.pf-m-search-input, .pf-m-search-expand, .pf-m-search-action) {
131
+ transition-delay: 0s;
132
+ }
133
+ }
134
+ }
40
135
  }
41
136
 
42
137
  .#{$input-group}__item {
@@ -12,7 +12,7 @@
12
12
  --pf-v6-c-menu--ZIndex: var(--pf-t--global--z-index--sm);
13
13
  --pf-v6-c-menu--button--disabled--Color: var(--pf-t--global--text--color--disabled);
14
14
  --pf-v6-c-menu--icon--disabled--Color: var(--pf-t--global--icon--color--disabled);
15
- --pf-v6-c-menu--TransitionDuration: var(--pf-t--global--motion--duration--fade--default);
15
+ --pf-v6-c-menu--TransitionDuration: 0s;
16
16
  --pf-v6-c-menu--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
17
17
  --pf-v6-c-menu--m-plain--BoxShadow: none;
18
18
  --pf-v6-c-menu__content--RowGap: var(--pf-v6-c-menu--RowGap);
@@ -85,14 +85,34 @@
85
85
  --pf-v6-c-menu--m-flyout__menu--m-left--InsetInlineEnd: calc(100% + var(--pf-v6-c-menu--m-flyout__menu--m-left--right-offset));
86
86
  --pf-v6-c-menu--m-drilldown__content--TransitionDuration--height: var(--pf-t--global--motion--duration--slide-in--default);
87
87
  --pf-v6-c-menu--m-drilldown__content--TransitionDuration--transform: var(--pf-t--global--motion--duration--slide-in--default);
88
- --pf-v6-c-menu--m-drilldown__content--Transition: transform var(--pf-v6-c-menu--m-drilldown__content--TransitionDuration--transform), height var(--pf-v6-c-menu--m-drilldown__content--TransitionDuration--height);
88
+ --pf-v6-c-menu--m-drilldown__content--Transition: height var(--pf-v6-c-menu--m-drilldown__content--TransitionDuration--height);
89
89
  --pf-v6-c-menu--m-drilldown--c-menu--InsetBlockStart: 0;
90
- --pf-v6-c-menu--m-drilldown--c-menu--TransitionDuration--transform: var(--pf-t--global--motion--duration--slide-in--default);
90
+ --pf-v6-c-menu--m-drilldown--c-menu--TransitionDuration--transform: 0s;
91
91
  --pf-v6-c-menu--m-drilldown--c-menu--Transition: transform var(--pf-v6-c-menu--m-drilldown--c-menu--TransitionDuration--transform);
92
- --pf-v6-c-menu--m-drilldown__list--TransitionDuration--transform: var(--pf-t--global--motion--duration--slide-in--default);
92
+ --pf-v6-c-menu--m-drilldown__list--TransitionDuration--transform: 0s;
93
93
  --pf-v6-c-menu--m-drilldown__list--Transition: transform var(--pf-v6-c-menu--m-drilldown__list--TransitionDuration--transform);
94
94
  --pf-v6-c-menu--m-drilled-in--c-menu__list-item--m-current-path--c-menu--ZIndex: var(--pf-t--global--z-index--xs);
95
95
  }
96
+ @media (prefers-reduced-motion: no-preference) {
97
+ .pf-v6-c-menu {
98
+ --pf-v6-c-menu--TransitionDuration: var(--pf-t--global--motion--duration--fade--default);
99
+ }
100
+ }
101
+ @media (prefers-reduced-motion: no-preference) {
102
+ .pf-v6-c-menu {
103
+ --pf-v6-c-menu--m-drilldown__content--Transition: transform var(--pf-v6-c-menu--m-drilldown__content--TransitionDuration--transform), height var(--pf-v6-c-menu--m-drilldown__content--TransitionDuration--height);
104
+ }
105
+ }
106
+ @media (prefers-reduced-motion: no-preference) {
107
+ .pf-v6-c-menu {
108
+ --pf-v6-c-menu--m-drilldown--c-menu--TransitionDuration--transform: var(--pf-t--global--motion--duration--slide-in--default);
109
+ }
110
+ }
111
+ @media (prefers-reduced-motion: no-preference) {
112
+ .pf-v6-c-menu {
113
+ --pf-v6-c-menu--m-drilldown__list--TransitionDuration--transform: var(--pf-t--global--motion--duration--slide-in--default);
114
+ }
115
+ }
96
116
 
97
117
  .pf-v6-c-menu__content,
98
118
  .pf-v6-c-menu__list-item,