@patternfly/patternfly 6.3.0-prerelease.6 → 6.3.0-prerelease.60

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 (168) hide show
  1. package/README.md +22 -14
  2. package/assets/images/icon-help.hbs +3 -0
  3. package/assets/images/icon-outlined-star.hbs +3 -0
  4. package/assets/images/icon-star.hbs +3 -0
  5. package/base/normalize.scss +4 -0
  6. package/base/patternfly-common.css +46 -11
  7. package/base/patternfly-common.scss +58 -13
  8. package/base/patternfly-variables.css +1172 -1
  9. package/base/patternfly-variables.scss +10 -0
  10. package/base/tokens/tokens-charts-dark.scss +1 -1
  11. package/base/tokens/tokens-charts.scss +1 -1
  12. package/base/tokens/tokens-dark.scss +13 -1
  13. package/base/tokens/tokens-default.scss +60 -2
  14. package/base/tokens/tokens-highcontrast-dark.scss +396 -0
  15. package/base/tokens/tokens-highcontrast.scss +703 -0
  16. package/base/tokens/tokens-local.scss +1 -0
  17. package/base/tokens/tokens-palette.scss +9 -1
  18. package/components/Accordion/accordion.css +102 -6
  19. package/components/Accordion/accordion.scss +112 -10
  20. package/components/Alert/alert-group.css +67 -33
  21. package/components/Alert/alert-group.scss +95 -48
  22. package/components/Badge/badge.css +2 -0
  23. package/components/Badge/badge.scss +2 -0
  24. package/components/Banner/banner.css +4 -0
  25. package/components/Banner/banner.scss +4 -0
  26. package/components/Button/button.css +187 -9
  27. package/components/Button/button.scss +195 -13
  28. package/components/CalendarMonth/calendar-month.css +16 -0
  29. package/components/CalendarMonth/calendar-month.scss +16 -0
  30. package/components/Card/card.css +5 -4
  31. package/components/Card/card.scss +5 -4
  32. package/components/CodeBlock/code-block.css +3 -0
  33. package/components/CodeBlock/code-block.scss +3 -0
  34. package/components/CodeEditor/code-editor.css +8 -3
  35. package/components/CodeEditor/code-editor.scss +11 -6
  36. package/components/DataList/data-list.css +2 -2
  37. package/components/DataList/data-list.scss +2 -2
  38. package/components/DatePicker/date-picker.css +3 -0
  39. package/components/DatePicker/date-picker.scss +4 -0
  40. package/components/Drawer/drawer.css +44 -41
  41. package/components/Drawer/drawer.scss +42 -36
  42. package/components/DualListSelector/dual-list-selector.css +55 -1
  43. package/components/DualListSelector/dual-list-selector.scss +63 -1
  44. package/components/ExpandableSection/expandable-section.css +63 -1
  45. package/components/ExpandableSection/expandable-section.scss +76 -2
  46. package/components/FileUpload/file-upload.css +3 -3
  47. package/components/FileUpload/file-upload.scss +3 -3
  48. package/components/Form/form.css +40 -1
  49. package/components/Form/form.scss +47 -1
  50. package/components/FormControl/form-control.css +16 -0
  51. package/components/FormControl/form-control.scss +9 -0
  52. package/components/InputGroup/input-group.css +80 -0
  53. package/components/InputGroup/input-group.scss +95 -0
  54. package/components/Label/label.css +20 -11
  55. package/components/Label/label.scss +21 -11
  56. package/components/Login/login.css +3 -0
  57. package/components/Login/login.scss +3 -0
  58. package/components/Menu/menu.css +35 -4
  59. package/components/Menu/menu.scss +32 -6
  60. package/components/MenuToggle/menu-toggle.css +51 -10
  61. package/components/MenuToggle/menu-toggle.scss +61 -9
  62. package/components/ModalBox/modal-box.css +3 -0
  63. package/components/ModalBox/modal-box.scss +3 -0
  64. package/components/Nav/nav.css +39 -8
  65. package/components/Nav/nav.scss +42 -9
  66. package/components/Page/page.css +124 -26
  67. package/components/Page/page.scss +86 -16
  68. package/components/Pagination/pagination.css +14 -1
  69. package/components/Pagination/pagination.scss +14 -1
  70. package/components/Panel/panel.css +7 -1
  71. package/components/Panel/panel.scss +7 -1
  72. package/components/Popover/popover.css +4 -0
  73. package/components/Popover/popover.scss +4 -0
  74. package/components/Progress/progress.css +26 -0
  75. package/components/Progress/progress.scss +22 -1
  76. package/components/ProgressStepper/progress-stepper.scss +1 -0
  77. package/components/SimpleList/simple-list.css +15 -0
  78. package/components/SimpleList/simple-list.scss +17 -1
  79. package/components/Skeleton/skeleton.css +22 -2
  80. package/components/Skeleton/skeleton.scss +25 -3
  81. package/components/Spinner/spinner.css +5 -0
  82. package/components/Spinner/spinner.scss +6 -0
  83. package/components/Table/table-grid.css +51 -5
  84. package/components/Table/table-grid.scss +22 -1
  85. package/components/Table/table.css +124 -2
  86. package/components/Table/table.scss +171 -3
  87. package/components/Tabs/tabs.css +32 -15
  88. package/components/Tabs/tabs.scss +34 -14
  89. package/components/TextInputGroup/text-input-group.css +23 -0
  90. package/components/TextInputGroup/text-input-group.scss +16 -1
  91. package/components/Timestamp/timestamp.css +4 -0
  92. package/components/Timestamp/timestamp.scss +7 -0
  93. package/components/TreeView/tree-view.css +54 -0
  94. package/components/TreeView/tree-view.scss +59 -2
  95. package/components/Truncate/truncate.css +1 -0
  96. package/components/Truncate/truncate.scss +3 -0
  97. package/components/Wizard/wizard.css +33 -6
  98. package/components/Wizard/wizard.scss +38 -8
  99. package/components/_index.css +1390 -195
  100. package/docs/components/Alert/examples/Alert.md +2 -2
  101. package/docs/components/Breadcrumb/examples/Breadcrumb.md +1 -1
  102. package/docs/components/Button/examples/Button.md +159 -6
  103. package/docs/components/Card/examples/Card.md +8 -8
  104. package/docs/components/ClipboardCopy/examples/ClipboardCopy.md +24 -32
  105. package/docs/components/CodeBlock/examples/CodeBlock.md +10 -10
  106. package/docs/components/CodeEditor/examples/CodeEditor.md +29 -5
  107. package/docs/components/DataList/examples/DataList.md +83 -207
  108. package/docs/components/DescriptionList/examples/DescriptionList.md +78 -22
  109. package/docs/components/DualListSelector/examples/DualListSelector.md +642 -319
  110. package/docs/components/EmptyState/examples/EmptyState.md +6 -6
  111. package/docs/components/ExpandableSection/examples/ExpandableSection.md +26 -15
  112. package/docs/components/Form/examples/Form.md +1178 -113
  113. package/docs/components/Hint/examples/Hint.md +3 -3
  114. package/docs/components/InlineEdit/examples/InlineEdit.md +2 -6
  115. package/docs/components/InputGroup/examples/InputGroup.md +5 -1
  116. package/docs/components/Label/examples/Label.md +2 -2
  117. package/docs/components/Login/examples/Login.md +22 -22
  118. package/docs/components/Masthead/examples/masthead.md +90 -12
  119. package/docs/components/Menu/examples/Menu.md +122 -6
  120. package/docs/components/MenuToggle/examples/MenuToggle.md +93 -55
  121. package/docs/components/ModalBox/examples/ModalBox.md +13 -1
  122. package/docs/components/OverflowMenu/examples/overflow-menu.md +5 -5
  123. package/docs/components/Page/examples/Page.md +147 -14
  124. package/docs/components/Pagination/examples/Pagination.md +123 -12
  125. package/docs/components/Popover/examples/Popover.md +0 -4
  126. package/docs/components/Progress/examples/Progress.md +222 -210
  127. package/docs/components/ProgressStepper/examples/ProgressStepper.md +32 -6
  128. package/docs/components/Skeleton/examples/Skeleton.md +21 -7
  129. package/docs/components/Slider/examples/Slider.md +2 -2
  130. package/docs/components/Spinner/examples/Spinner.md +10 -0
  131. package/docs/components/Table/examples/Table.md +7699 -4896
  132. package/docs/components/Tabs/examples/Tabs.md +1214 -6729
  133. package/docs/components/TextInputGroup/examples/TextInputGroup.md +168 -49
  134. package/docs/components/Title/examples/Title.md +8 -8
  135. package/docs/components/Toolbar/examples/Toolbar.md +7 -7
  136. package/docs/components/Wizard/examples/Wizard.md +583 -0
  137. package/docs/demos/AboutModal/examples/AboutModal.md +22 -3
  138. package/docs/demos/Alert/examples/Alert.md +66 -9
  139. package/docs/demos/BackToTop/examples/BackToTop.md +22 -3
  140. package/docs/demos/Banner/examples/Banner.md +47 -6
  141. package/docs/demos/Card/examples/Card.md +13 -67
  142. package/docs/demos/CardView/examples/CardView.md +24 -5
  143. package/docs/demos/Dashboard/examples/Dashboard.md +34 -27
  144. package/docs/demos/DataList/examples/DataList.md +628 -192
  145. package/docs/demos/DescriptionList/examples/DescriptionList.md +79 -50
  146. package/docs/demos/Drawer/examples/Drawer.md +110 -53
  147. package/docs/demos/Form/examples/BasicForms.md +146 -26
  148. package/docs/demos/JumpLinks/examples/JumpLinks.md +132 -18
  149. package/docs/demos/Masthead/examples/Masthead.md +170 -18
  150. package/docs/demos/Modal/examples/Modal.md +171 -21
  151. package/docs/demos/Nav/examples/Nav.md +111 -16
  152. package/docs/demos/NotificationDrawer/examples/NotificationDrawer.md +114 -19
  153. package/docs/demos/Page/examples/Page.md +309 -43
  154. package/docs/demos/PasswordGenerator/examples/PasswordGenerator.md +13 -1
  155. package/docs/demos/PrimaryDetail/examples/PrimaryDetail.md +886 -415
  156. package/docs/demos/Skeleton/examples/Skeleton.md +25 -4
  157. package/docs/demos/Table/examples/Table.md +480 -177
  158. package/docs/demos/Tabs/examples/Tabs.md +139 -594
  159. package/docs/demos/Toolbar/examples/Toolbar.md +72 -34
  160. package/docs/demos/Wizard/examples/Wizard.md +198 -27
  161. package/package.json +12 -7
  162. package/patternfly-base-no-globals.css +1217 -12
  163. package/patternfly-base.css +1221 -12
  164. package/patternfly-no-globals.css +2837 -437
  165. package/patternfly.css +2839 -435
  166. package/patternfly.min.css +1 -1
  167. package/patternfly.min.css.map +1 -1
  168. package/sass-utilities/mixins.scss +54 -0
@@ -11,19 +11,19 @@
11
11
  --pf-v6-c-menu-toggle--BackgroundColor: var(--pf-t--global--background--color--control--default);
12
12
  --pf-v6-c-menu-toggle--BorderRadius: var(--pf-t--global--border--radius--small);
13
13
  --pf-v6-c-menu-toggle--BorderColor: var(--pf-t--global--border--color--default);
14
- --pf-v6-c-menu-toggle--BorderWidth: var(--pf-t--global--border--width--action--default);
14
+ --pf-v6-c-menu-toggle--BorderWidth: var(--pf-t--global--border--width--control--default);
15
15
  --pf-v6-c-menu-toggle--border--ZIndex: var(--pf-t--global--z-index--xs);
16
16
  --pf-v6-c-menu-toggle--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
17
17
  --pf-v6-c-menu-toggle--TransitionDuration: var(--pf-t--global--motion--duration--fade--short);
18
18
  --pf-v6-c-menu-toggle--TransitionProperty: color, background-color, border-width, border-color;
19
19
  --pf-v6-c-menu-toggle--hover--Color: var(--pf-t--global--text--color--regular);
20
20
  --pf-v6-c-menu-toggle--hover--BackgroundColor: var(--pf-t--global--background--color--control--default);
21
- --pf-v6-c-menu-toggle--hover--BorderWidth: var(--pf-t--global--border--width--action--default);
21
+ --pf-v6-c-menu-toggle--hover--BorderWidth: var(--pf-t--global--border--width--control--hover);
22
22
  --pf-v6-c-menu-toggle--hover--BorderColor: var(--pf-t--global--border--color--hover);
23
23
  --pf-v6-c-menu-toggle--hover__toggle-icon--Color: var(--pf-t--global--icon--color--regular);
24
24
  --pf-v6-c-menu-toggle--expanded--Color: var(--pf-t--global--text--color--regular);
25
25
  --pf-v6-c-menu-toggle--expanded--BackgroundColor: var(--pf-t--global--background--color--control--default);
26
- --pf-v6-c-menu-toggle--expanded--BorderWidth: var(--pf-t--global--border--width--action--clicked);
26
+ --pf-v6-c-menu-toggle--expanded--BorderWidth: var(--pf-t--global--border--width--control--clicked);
27
27
  --pf-v6-c-menu-toggle--expanded--BorderColor: var(--pf-t--global--border--color--clicked);
28
28
  --pf-v6-c-menu-toggle--expanded__toggle-icon--Color: var(--pf-t--global--icon--color--regular);
29
29
  --pf-v6-c-menu-toggle--disabled--Color: var(--pf-t--global--text--color--on-disabled);
@@ -33,6 +33,14 @@
33
33
  --pf-v6-c-menu-toggle--disabled--BackgroundColor: var(--pf-t--global--background--color--disabled--default);
34
34
  --pf-v6-c-menu-toggle__icon--MinHeight: calc(var(--pf-v6-c-menu-toggle--FontSize) * var(--pf-v6-c-menu-toggle--LineHeight));
35
35
  --pf-v6-c-menu-toggle__icon--Color: var(--pf-t--global--icon--color--regular);
36
+ --pf-v6-c-menu-toggle__icon--TransitionDelay: 0s;
37
+ --pf-v6-c-menu-toggle__icon--TransitionDuration: 0s;
38
+ --pf-v6-c-menu-toggle__icon--TransitionProperty: none;
39
+ --pf-v6-c-menu-toggle--hover__icon--TransitionDelay: 0s;
40
+ --pf-v6-c-menu-toggle--hover__icon--TransitionDuration: 0s;
41
+ --pf-v6-c-menu-toggle--hover__icon--TransitionProperty: none;
42
+ --pf-v6-c-menu-toggle__icon--Rotate: 0deg;
43
+ --pf-v6-c-menu-toggle--hover__icon--Rotate: 0deg;
36
44
  --pf-v6-c-menu-toggle__toggle-icon--MinHeight: calc(var(--pf-v6-c-menu-toggle--FontSize) * var(--pf-v6-c-menu-toggle--LineHeight));
37
45
  --pf-v6-c-menu-toggle__toggle-icon--Color: var(--pf-t--global--icon--color--regular);
38
46
  --pf-v6-c-menu-toggle--m-primary--PaddingInlineStart: var(--pf-t--global--spacer--action--horizontal--default);
@@ -84,7 +92,7 @@
84
92
  --pf-v6-c-menu-toggle--m-split-button--m-small--pill--child--PaddingInlineEnd--offset: var(--pf-t--global--spacer--control--horizontal--compact);
85
93
  --pf-v6-c-menu-toggle--m-split-button--m-primary--child--BackgroundColor: var(--pf-t--global--color--brand--default);
86
94
  --pf-v6-c-menu-toggle--m-split-button--m-primary--child--hover--BackgroundColor: var(--pf-t--global--color--brand--hover);
87
- --pf-v6-c-menu-toggle--m-split-button--m-primary--child--BorderInlineStartColor: var(--pf-t--global--border--color--default);
95
+ --pf-v6-c-menu-toggle--m-split-button--m-primary--child--BorderInlineStartColor: var(--pf-t--global--border--color--alt);
88
96
  --pf-v6-c-menu-toggle--m-split-button--m-primary--expanded--child--BackgroundColor: var(--pf-t--global--color--brand--clicked);
89
97
  --pf-v6-c-menu-toggle--m-split-button--m-secondary--child--BorderInlineStartColor: var(--pf-t--global--color--brand--default);
90
98
  --pf-v6-c-menu-toggle__button--BackgroundColor: transparent;
@@ -102,7 +110,10 @@
102
110
  --pf-v6-c-menu-toggle--m-plain--PaddingInlineEnd: var(--pf-t--global--spacer--action--horizontal--plain--default);
103
111
  --pf-v6-c-menu-toggle--m-plain--Color: var(--pf-t--global--icon--color--regular);
104
112
  --pf-v6-c-menu-toggle--m-plain--BackgroundColor: var(--pf-t--global--background--color--action--plain--default);
105
- --pf-v6-c-menu-toggle--m-plain--BorderColor: transparent;
113
+ --pf-v6-c-menu-toggle--m-plain--BorderColor: var(--pf-t--global--border--color--high-contrast);
114
+ --pf-v6-c-menu-toggle--m-plain--BorderWidth: var(--pf-t--global--border--width--action--plain--default);
115
+ --pf-v6-c-menu-toggle--m-plain--hover--BorderWidth: var(--pf-t--global--border--width--action--plain--hover);
116
+ --pf-v6-c-menu-toggle--m-plain--expanded--BorderWidth: var(--pf-t--global--border--width--action--plain--clicked);
106
117
  --pf-v6-c-menu-toggle--m-plain--BorderRadius: var(--pf-t--global--border--radius--small);
107
118
  --pf-v6-c-menu-toggle--m-plain--hover--BackgroundColor: var(--pf-t--global--background--color--action--plain--hover);
108
119
  --pf-v6-c-menu-toggle--m-plain--expanded--BackgroundColor: var(--pf-t--global--background--color--action--plain--clicked);
@@ -130,6 +141,11 @@
130
141
  --pf-v6-c-menu-toggle--m-danger--AnimationTimingFunction--Transform: var(--pf-t--global--motion--timing-function--default);
131
142
  --pf-v6-c-menu-toggle--m-placeholder--Color: var(--pf-t--global--text--color--placeholder);
132
143
  --pf-v6-c-menu-toggle__controls--Gap: var(--pf-t--global--spacer--sm);
144
+ --pf-v6-c-menu-toggle--m-settings__icon--TransitionDuration: var(--pf-t--global--motion--duration--icon--long);
145
+ --pf-v6-c-menu-toggle--m-settings__icon--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--accelerate);
146
+ --pf-v6-c-menu-toggle--m-settings--hover__icon--TransitionDuration: var(--pf-t--global--motion--duration--icon--long);
147
+ --pf-v6-c-menu-toggle--m-settings--hover__icon--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
148
+ --pf-v6-c-menu-toggle--m-settings--hover__icon--Rotate: 60deg;
133
149
  }
134
150
 
135
151
  .pf-v6-c-menu-toggle {
@@ -223,6 +239,7 @@
223
239
  --pf-v6-c-menu-toggle--Color: var(--pf-v6-c-menu-toggle--m-plain--Color);
224
240
  --pf-v6-c-menu-toggle--BackgroundColor: var(--pf-v6-c-menu-toggle--m-plain--BackgroundColor);
225
241
  --pf-v6-c-menu-toggle--BorderColor: var(--pf-v6-c-menu-toggle--m-plain--BorderColor);
242
+ --pf-v6-c-menu-toggle--BorderWidth: var(--pf-v6-c-menu-toggle--m-plain--BorderWidth);
226
243
  --pf-v6-c-menu-toggle--BorderRadius: var(--pf-v6-c-menu-toggle--m-plain--BorderRadius);
227
244
  --pf-v6-c-menu-toggle--BackgroundColor: var(--pf-v6-c-menu-toggle--m-plain--BackgroundColor);
228
245
  --pf-v6-c-menu-toggle--hover--BackgroundColor: var(--pf-v6-c-menu-toggle--m-plain--hover--BackgroundColor);
@@ -235,19 +252,26 @@
235
252
  --pf-v6-c-menu-toggle--m-small--PaddingInlineEnd: var(--pf-v6-c-menu-toggle--m-plain--m-small--PaddingInlineEnd);
236
253
  }
237
254
  .pf-v6-c-menu-toggle.pf-m-plain::before {
238
- border: none;
255
+ --pf-v6-c-menu-toggle--BorderWidth: var(--pf-v6-c-menu-toggle--m-plain--BorderWidth);
256
+ --pf-v6-c-menu-toggle--BorderColor: var(--pf-v6-c-menu-toggle--m-plain--BorderColor);
239
257
  }
240
258
  .pf-v6-c-menu-toggle:is(:hover, :focus) {
241
259
  --pf-v6-c-menu-toggle--Color: var(--pf-v6-c-menu-toggle--hover--Color);
242
260
  --pf-v6-c-menu-toggle--BackgroundColor: var(--pf-v6-c-menu-toggle--hover--BackgroundColor);
243
261
  --pf-v6-c-menu-toggle--BorderWidth: var(--pf-v6-c-menu-toggle--hover--BorderWidth);
262
+ --pf-v6-c-menu-toggle--m-plain--BorderWidth: var(--pf-v6-c-menu-toggle--m-plain--hover--BorderWidth);
244
263
  --pf-v6-c-menu-toggle--BorderColor: var(--pf-v6-c-menu-toggle--hover--BorderColor);
245
264
  --pf-v6-c-menu-toggle__toggle-icon--Color: var(--pf-v6-c-menu-toggle--hover__toggle-icon--Color);
265
+ --pf-v6-c-menu-toggle__icon--TransitionDelay: var(--pf-v6-c-menu-toggle--hover__icon--TransitionDelay);
266
+ --pf-v6-c-menu-toggle__icon--TransitionDuration: var(--pf-v6-c-menu-toggle--hover__icon--TransitionDuration);
267
+ --pf-v6-c-menu-toggle__icon--TransitionProperty: var(--pf-v6-c-menu-toggle--hover__icon--TransitionProperty);
268
+ --pf-v6-c-menu-toggle__icon--Rotate: var(--pf-v6-c-menu-toggle--hover__icon--Rotate);
246
269
  }
247
270
  .pf-v6-c-menu-toggle:is(.pf-m-expanded, [aria-expanded=true]) {
248
271
  --pf-v6-c-menu-toggle--Color: var(--pf-v6-c-menu-toggle--expanded--Color);
249
272
  --pf-v6-c-menu-toggle--BackgroundColor: var(--pf-v6-c-menu-toggle--expanded--BackgroundColor);
250
273
  --pf-v6-c-menu-toggle--BorderWidth: var(--pf-v6-c-menu-toggle--expanded--BorderWidth);
274
+ --pf-v6-c-menu-toggle--m-plain--BorderWidth: var(--pf-v6-c-menu-toggle--m-plain--expanded--BorderWidth);
251
275
  --pf-v6-c-menu-toggle--BorderColor: var(--pf-v6-c-menu-toggle--expanded--BorderColor);
252
276
  --pf-v6-c-menu-toggle__toggle-icon--Color: var(--pf-v6-c-menu-toggle--expanded__toggle-icon--Color);
253
277
  }
@@ -298,6 +322,15 @@
298
322
  opacity: 1;
299
323
  }
300
324
  }
325
+ .pf-v6-c-menu-toggle.pf-m-settings {
326
+ --pf-v6-c-menu-toggle__icon--TransitionProperty: rotate;
327
+ --pf-v6-c-menu-toggle__icon--TransitionDuration: var(--pf-v6-c-menu-toggle--m-settings__icon--TransitionDuration);
328
+ --pf-v6-c-menu-toggle__icon--TransitionTimingFunction: var(--pf-v6-c-menu-toggle--m-settings__icon--TransitionTimingFunction);
329
+ --pf-v6-c-menu-toggle--hover__icon--TransitionProperty: rotate;
330
+ --pf-v6-c-menu-toggle--hover__icon--TransitionDuration: var(--pf-v6-c-menu-toggle--m-settings--hover__icon--TransitionDuration);
331
+ --pf-v6-c-menu-toggle--hover__icon--TransitionTimingFunction: var(--pf-v6-c-menu-toggle--m-settings--hover__icon--TransitionTimingFunction);
332
+ --pf-v6-c-menu-toggle--hover__icon--Rotate: var(--pf-v6-c-menu-toggle--m-settings--hover__icon--Rotate);
333
+ }
301
334
  .pf-v6-c-menu-toggle.pf-m-placeholder {
302
335
  --pf-v6-c-menu-toggle--Color: var(--pf-v6-c-menu-toggle--m-placeholder--Color);
303
336
  }
@@ -450,16 +483,24 @@
450
483
  flex-wrap: nowrap;
451
484
  }
452
485
 
453
- .pf-v6-c-menu-toggle__icon {
454
- flex-shrink: 0;
455
- }
456
486
  .pf-v6-c-menu-toggle__icon.pf-m-avatar .pf-v6-c-avatar,
457
487
  .pf-v6-c-menu-toggle__icon.pf-m-avatar img,
458
- .pf-v6-c-menu-toggle__icon.pf-m-avatar svg {
488
+ .pf-v6-c-menu-toggle__icon.pf-m-avatar svg, .pf-v6-c-menu-toggle:not(.pf-m-plain) .pf-v6-c-menu-toggle__icon {
459
489
  margin-block-start: calc(var(--pf-v6-c-menu-toggle--PaddingBlockStart) * -1);
460
490
  margin-block-end: calc(var(--pf-v6-c-menu-toggle--PaddingBlockEnd) * -1);
461
491
  }
462
492
 
493
+ .pf-v6-c-menu-toggle__icon {
494
+ flex-shrink: 0;
495
+ transition-delay: var(--pf-v6-c-menu-toggle__icon--TransitionDelay);
496
+ transition-duration: var(--pf-v6-c-menu-toggle__icon--TransitionDuration);
497
+ transition-property: var(--pf-v6-c-menu-toggle__icon--TransitionProperty);
498
+ rotate: var(--pf-v6-c-menu-toggle__icon--Rotate);
499
+ }
500
+ .pf-v6-c-menu-toggle__icon :where(picture, img) {
501
+ vertical-align: middle;
502
+ }
503
+
463
504
  .pf-v6-c-menu-toggle__controls {
464
505
  display: flex;
465
506
  gap: var(--pf-v6-c-menu-toggle__controls--Gap);
@@ -13,7 +13,7 @@
13
13
  --#{$menu-toggle}--BackgroundColor: var(--pf-t--global--background--color--control--default);
14
14
  --#{$menu-toggle}--BorderRadius: var(--pf-t--global--border--radius--small);
15
15
  --#{$menu-toggle}--BorderColor: var(--pf-t--global--border--color--default);
16
- --#{$menu-toggle}--BorderWidth: var(--pf-t--global--border--width--action--default);
16
+ --#{$menu-toggle}--BorderWidth: var(--pf-t--global--border--width--control--default);
17
17
  --#{$menu-toggle}--border--ZIndex: var(--pf-t--global--z-index--xs); // add z-index for toggle border to render above other borders
18
18
  --#{$menu-toggle}--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--default);
19
19
  --#{$menu-toggle}--TransitionDuration: var(--pf-t--global--motion--duration--fade--short);
@@ -22,14 +22,14 @@
22
22
  // * Menu toggle hover
23
23
  --#{$menu-toggle}--hover--Color: var(--pf-t--global--text--color--regular);
24
24
  --#{$menu-toggle}--hover--BackgroundColor: var(--pf-t--global--background--color--control--default);
25
- --#{$menu-toggle}--hover--BorderWidth: var(--pf-t--global--border--width--action--default);
25
+ --#{$menu-toggle}--hover--BorderWidth: var(--pf-t--global--border--width--control--hover);
26
26
  --#{$menu-toggle}--hover--BorderColor: var(--pf-t--global--border--color--hover);
27
27
  --#{$menu-toggle}--hover__toggle-icon--Color: var(--pf-t--global--icon--color--regular);
28
28
 
29
29
  // * Menu toggle expanded
30
30
  --#{$menu-toggle}--expanded--Color: var(--pf-t--global--text--color--regular);
31
31
  --#{$menu-toggle}--expanded--BackgroundColor: var(--pf-t--global--background--color--control--default);
32
- --#{$menu-toggle}--expanded--BorderWidth: var(--pf-t--global--border--width--action--clicked);
32
+ --#{$menu-toggle}--expanded--BorderWidth: var(--pf-t--global--border--width--control--clicked);
33
33
  --#{$menu-toggle}--expanded--BorderColor: var(--pf-t--global--border--color--clicked);
34
34
  --#{$menu-toggle}--expanded__toggle-icon--Color: var(--pf-t--global--icon--color--regular);
35
35
 
@@ -43,6 +43,14 @@
43
43
  // * Menu toggle icon
44
44
  --#{$menu-toggle}__icon--MinHeight: calc(var(--#{$menu-toggle}--FontSize) * var(--#{$menu-toggle}--LineHeight));
45
45
  --#{$menu-toggle}__icon--Color: var(--pf-t--global--icon--color--regular);
46
+ --#{$menu-toggle}__icon--TransitionDelay: 0s;
47
+ --#{$menu-toggle}__icon--TransitionDuration: 0s;
48
+ --#{$menu-toggle}__icon--TransitionProperty: none;
49
+ --#{$menu-toggle}--hover__icon--TransitionDelay: 0s;
50
+ --#{$menu-toggle}--hover__icon--TransitionDuration: 0s;
51
+ --#{$menu-toggle}--hover__icon--TransitionProperty: none;
52
+ --#{$menu-toggle}__icon--Rotate: 0deg;
53
+ --#{$menu-toggle}--hover__icon--Rotate: 0deg;
46
54
 
47
55
  // * Menu toggle toggle icon
48
56
  --#{$menu-toggle}__toggle-icon--MinHeight: calc(var(--#{$menu-toggle}--FontSize) * var(--#{$menu-toggle}--LineHeight));
@@ -106,7 +114,7 @@
106
114
  // Split button action, primary
107
115
  --#{$menu-toggle}--m-split-button--m-primary--child--BackgroundColor: var(--pf-t--global--color--brand--default);
108
116
  --#{$menu-toggle}--m-split-button--m-primary--child--hover--BackgroundColor: var(--pf-t--global--color--brand--hover);
109
- --#{$menu-toggle}--m-split-button--m-primary--child--BorderInlineStartColor: var(--pf-t--global--border--color--default);
117
+ --#{$menu-toggle}--m-split-button--m-primary--child--BorderInlineStartColor: var(--pf-t--global--border--color--alt);
110
118
  --#{$menu-toggle}--m-split-button--m-primary--expanded--child--BackgroundColor: var(--pf-t--global--color--brand--clicked);
111
119
 
112
120
  // Split button action, secondary
@@ -130,7 +138,10 @@
130
138
  --#{$menu-toggle}--m-plain--PaddingInlineEnd: var(--pf-t--global--spacer--action--horizontal--plain--default);
131
139
  --#{$menu-toggle}--m-plain--Color: var(--pf-t--global--icon--color--regular);
132
140
  --#{$menu-toggle}--m-plain--BackgroundColor: var(--pf-t--global--background--color--action--plain--default);
133
- --#{$menu-toggle}--m-plain--BorderColor: transparent;
141
+ --#{$menu-toggle}--m-plain--BorderColor: var(--pf-t--global--border--color--high-contrast);
142
+ --#{$menu-toggle}--m-plain--BorderWidth: var(--pf-t--global--border--width--action--plain--default);
143
+ --#{$menu-toggle}--m-plain--hover--BorderWidth: var(--pf-t--global--border--width--action--plain--hover);
144
+ --#{$menu-toggle}--m-plain--expanded--BorderWidth: var(--pf-t--global--border--width--action--plain--clicked);
134
145
  --#{$menu-toggle}--m-plain--BorderRadius: var(--pf-t--global--border--radius--small);
135
146
  --#{$menu-toggle}--m-plain--hover--BackgroundColor: var(--pf-t--global--background--color--action--plain--hover);
136
147
  --#{$menu-toggle}--m-plain--expanded--BackgroundColor: var(--pf-t--global--background--color--action--plain--clicked);
@@ -174,6 +185,13 @@
174
185
 
175
186
  // Controls
176
187
  --#{$menu-toggle}__controls--Gap: var(--pf-t--global--spacer--sm);
188
+
189
+ // Settings
190
+ --#{$menu-toggle}--m-settings__icon--TransitionDuration: var(--pf-t--global--motion--duration--icon--long);
191
+ --#{$menu-toggle}--m-settings__icon--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--accelerate);
192
+ --#{$menu-toggle}--m-settings--hover__icon--TransitionDuration: var(--pf-t--global--motion--duration--icon--long);
193
+ --#{$menu-toggle}--m-settings--hover__icon--TransitionTimingFunction: var(--pf-t--global--motion--timing-function--decelerate);
194
+ --#{$menu-toggle}--m-settings--hover__icon--Rotate: 60deg;
177
195
  }
178
196
 
179
197
  .#{$menu-toggle} {
@@ -277,6 +295,7 @@
277
295
  --#{$menu-toggle}--Color: var(--#{$menu-toggle}--m-plain--Color);
278
296
  --#{$menu-toggle}--BackgroundColor: var(--#{$menu-toggle}--m-plain--BackgroundColor);
279
297
  --#{$menu-toggle}--BorderColor: var(--#{$menu-toggle}--m-plain--BorderColor);
298
+ --#{$menu-toggle}--BorderWidth: var(--#{$menu-toggle}--m-plain--BorderWidth);
280
299
  --#{$menu-toggle}--BorderRadius: var(--#{$menu-toggle}--m-plain--BorderRadius);
281
300
  --#{$menu-toggle}--BackgroundColor: var(--#{$menu-toggle}--m-plain--BackgroundColor);
282
301
  --#{$menu-toggle}--hover--BackgroundColor: var(--#{$menu-toggle}--m-plain--hover--BackgroundColor);
@@ -289,7 +308,8 @@
289
308
  --#{$menu-toggle}--m-small--PaddingInlineEnd: var(--#{$menu-toggle}--m-plain--m-small--PaddingInlineEnd);
290
309
 
291
310
  &::before {
292
- border: none;
311
+ --#{$menu-toggle}--BorderWidth: var(--#{$menu-toggle}--m-plain--BorderWidth);
312
+ --#{$menu-toggle}--BorderColor: var(--#{$menu-toggle}--m-plain--BorderColor);
293
313
  }
294
314
  }
295
315
 
@@ -297,14 +317,20 @@
297
317
  --#{$menu-toggle}--Color: var(--#{$menu-toggle}--hover--Color);
298
318
  --#{$menu-toggle}--BackgroundColor: var(--#{$menu-toggle}--hover--BackgroundColor);
299
319
  --#{$menu-toggle}--BorderWidth: var(--#{$menu-toggle}--hover--BorderWidth);
320
+ --#{$menu-toggle}--m-plain--BorderWidth: var(--#{$menu-toggle}--m-plain--hover--BorderWidth);
300
321
  --#{$menu-toggle}--BorderColor: var(--#{$menu-toggle}--hover--BorderColor);
301
322
  --#{$menu-toggle}__toggle-icon--Color: var(--#{$menu-toggle}--hover__toggle-icon--Color);
323
+ --#{$menu-toggle}__icon--TransitionDelay: var(--#{$menu-toggle}--hover__icon--TransitionDelay);
324
+ --#{$menu-toggle}__icon--TransitionDuration: var(--#{$menu-toggle}--hover__icon--TransitionDuration);
325
+ --#{$menu-toggle}__icon--TransitionProperty: var(--#{$menu-toggle}--hover__icon--TransitionProperty);
326
+ --#{$menu-toggle}__icon--Rotate: var(--#{$menu-toggle}--hover__icon--Rotate);
302
327
  }
303
328
 
304
329
  &:is(.pf-m-expanded, [aria-expanded="true"]) {
305
330
  --#{$menu-toggle}--Color: var(--#{$menu-toggle}--expanded--Color);
306
331
  --#{$menu-toggle}--BackgroundColor: var(--#{$menu-toggle}--expanded--BackgroundColor);
307
332
  --#{$menu-toggle}--BorderWidth: var(--#{$menu-toggle}--expanded--BorderWidth);
333
+ --#{$menu-toggle}--m-plain--BorderWidth: var(--#{$menu-toggle}--m-plain--expanded--BorderWidth);
308
334
  --#{$menu-toggle}--BorderColor: var(--#{$menu-toggle}--expanded--BorderColor);
309
335
  --#{$menu-toggle}__toggle-icon--Color: var(--#{$menu-toggle}--expanded__toggle-icon--Color);
310
336
  }
@@ -369,6 +395,16 @@
369
395
  }
370
396
  }
371
397
 
398
+ &.pf-m-settings {
399
+ --#{$menu-toggle}__icon--TransitionProperty: rotate;
400
+ --#{$menu-toggle}__icon--TransitionDuration: var(--#{$menu-toggle}--m-settings__icon--TransitionDuration);
401
+ --#{$menu-toggle}__icon--TransitionTimingFunction: var(--#{$menu-toggle}--m-settings__icon--TransitionTimingFunction);
402
+ --#{$menu-toggle}--hover__icon--TransitionProperty: rotate;
403
+ --#{$menu-toggle}--hover__icon--TransitionDuration: var(--#{$menu-toggle}--m-settings--hover__icon--TransitionDuration);
404
+ --#{$menu-toggle}--hover__icon--TransitionTimingFunction: var(--#{$menu-toggle}--m-settings--hover__icon--TransitionTimingFunction);
405
+ --#{$menu-toggle}--hover__icon--Rotate: var(--#{$menu-toggle}--m-settings--hover__icon--Rotate);
406
+ }
407
+
372
408
  &.pf-m-placeholder {
373
409
  --#{$menu-toggle}--Color: var(--#{$menu-toggle}--m-placeholder--Color);
374
410
  }
@@ -567,17 +603,33 @@
567
603
  flex-wrap: nowrap;
568
604
  }
569
605
 
606
+ %pf-v6-menu-toggle__icon--MarginBlock {
607
+ margin-block-start: calc(var(--#{$menu-toggle}--PaddingBlockStart) * -1);
608
+ margin-block-end: calc(var(--#{$menu-toggle}--PaddingBlockEnd) * -1);
609
+ }
610
+
570
611
  .#{$menu-toggle}__icon {
571
612
  flex-shrink: 0;
572
-
613
+ transition-delay: var(--#{$menu-toggle}__icon--TransitionDelay);
614
+ transition-duration: var(--#{$menu-toggle}__icon--TransitionDuration);
615
+ transition-property: var(--#{$menu-toggle}__icon--TransitionProperty);
616
+ rotate: var(--#{$menu-toggle}__icon--Rotate);
617
+
618
+ @at-root .#{$menu-toggle}:not(.pf-m-plain) & {
619
+ @extend %pf-v6-menu-toggle__icon--MarginBlock;
620
+ }
621
+
573
622
  &.pf-m-avatar {
574
623
  .#{$avatar},
575
624
  img,
576
625
  svg {
577
- margin-block-start: calc(var(--#{$menu-toggle}--PaddingBlockStart) * -1);
578
- margin-block-end: calc(var(--#{$menu-toggle}--PaddingBlockEnd) * -1);
626
+ @extend %pf-v6-menu-toggle__icon--MarginBlock;
579
627
  }
580
628
  }
629
+
630
+ :where(picture, img) {
631
+ vertical-align: middle;
632
+ }
581
633
  }
582
634
 
583
635
  // - Menu toggle controls
@@ -1,5 +1,7 @@
1
1
  .pf-v6-c-modal-box {
2
2
  --pf-v6-c-modal-box--BackgroundColor: var(--pf-t--global--background--color--floating--default);
3
+ --pf-v6-c-modal-box--BorderColor: var(--pf-t--global--border--color--high-contrast);
4
+ --pf-v6-c-modal-box--BorderWidth: var(--pf-t--global--border--width--high-contrast--regular);
3
5
  --pf-v6-c-modal-box--BorderRadius: var(--pf-t--global--border--radius--large);
4
6
  --pf-v6-c-modal-box--BoxShadow: var(--pf-t--global--box-shadow--lg);
5
7
  --pf-v6-c-modal-box--ZIndex: var(--pf-t--global--z-index--xl);
@@ -66,6 +68,7 @@
66
68
  max-height: var(--pf-v6-c-modal-box--MaxHeight);
67
69
  overflow: auto;
68
70
  background-color: var(--pf-v6-c-modal-box--BackgroundColor);
71
+ border: var(--pf-v6-c-modal-box--BorderWidth) solid var(--pf-v6-c-modal-box--BorderColor);
69
72
  border-radius: var(--pf-v6-c-modal-box--BorderRadius);
70
73
  box-shadow: var(--pf-v6-c-modal-box--BoxShadow);
71
74
  }
@@ -2,6 +2,8 @@
2
2
 
3
3
  @include pf-root($modal-box) {
4
4
  --#{$modal-box}--BackgroundColor: var(--pf-t--global--background--color--floating--default);
5
+ --#{$modal-box}--BorderColor: var(--pf-t--global--border--color--high-contrast);
6
+ --#{$modal-box}--BorderWidth: var(--pf-t--global--border--width--high-contrast--regular);
5
7
  --#{$modal-box}--BorderRadius: var(--pf-t--global--border--radius--large);
6
8
  --#{$modal-box}--BoxShadow: var(--pf-t--global--box-shadow--lg);
7
9
  --#{$modal-box}--ZIndex: var(--pf-t--global--z-index--xl); // TODO use a z-index token
@@ -87,6 +89,7 @@
87
89
  max-height: var(--#{$modal-box}--MaxHeight);
88
90
  overflow: auto;
89
91
  background-color: var(--#{$modal-box}--BackgroundColor);
92
+ border: var(--#{$modal-box}--BorderWidth) solid var(--#{$modal-box}--BorderColor);
90
93
  border-radius: var(--#{$modal-box}--BorderRadius);
91
94
  box-shadow: var(--#{$modal-box}--BoxShadow);
92
95
 
@@ -42,6 +42,10 @@
42
42
  --pf-v6-c-nav__link--hover--BackgroundColor: var(--pf-t--global--background--color--action--plain--alt--hover);
43
43
  --pf-v6-c-nav__link--m-current--BackgroundColor: var(--pf-t--global--background--color--action--plain--alt--clicked);
44
44
  --pf-v6-c-nav__link--m-current--Color: var(--pf-t--global--text--color--regular);
45
+ --pf-v6-c-nav__link--BorderColor: var(--pf-t--global--border--color--high-contrast);
46
+ --pf-v6-c-nav__link--BorderWidth: var(--pf-t--global--border--width--action--plain--default);
47
+ --pf-v6-c-nav__link--hover--BorderWidth: var(--pf-t--global--border--width--action--plain--hover);
48
+ --pf-v6-c-nav__link--m-current--BorderWidth: var(--pf-t--global--border--width--action--plain--clicked);
45
49
  --pf-v6-c-nav__link--TransitionDuration--background-color: var(--pf-t--global--motion--duration--fade--default);
46
50
  --pf-v6-c-nav__link--TransitionTimingFunction--background-color: var(--pf-t--global--motion--timing-function--default);
47
51
  --pf-v6-c-nav__link--m-current--TransitionDuration--color: var(--pf-t--global--motion--duration--fade--short);
@@ -52,9 +56,13 @@
52
56
  --pf-v6-c-nav__subnav--PaddingBlockStart: var(--pf-v6-c-nav__item--RowGap);
53
57
  --pf-v6-c-nav__subnav--PaddingBlockEnd: var(--pf-v6-c-nav__item--RowGap);
54
58
  --pf-v6-c-nav__subnav--PaddingInlineStart: var(--pf-t--global--spacer--md);
55
- --pf-v6-c-nav__subnav--TransitionDuration--expand: var(--pf-t--global--motion--duration--slide-in--default);
56
- --pf-v6-c-nav__subnav--TransitionDuration--collapse: var(--pf-t--global--motion--duration--slide-in--short);
59
+ --pf-v6-c-nav__subnav--TransitionDuration--expand: var(--pf-t--global--motion--duration--fade--default);
60
+ --pf-v6-c-nav__subnav--TransitionDuration--expand--slide: 0s;
61
+ --pf-v6-c-nav__subnav--TransitionDuration--collapse: var(--pf-t--global--motion--duration--fade--short);
62
+ --pf-v6-c-nav__subnav--TransitionDuration--collapse--slide: 0s;
57
63
  --pf-v6-c-nav__subnav--TransitionTimingFunction--expand: var(--pf-t--global--motion--timing-function--default);
64
+ --pf-v6-c-nav__subnav--TranslateY: 0;
65
+ --pf-v6-c-nav__subnav--hidden--TranslateY: 0;
58
66
  --pf-v6-c-nav__scroll-button--BorderColor: var(--pf-t--global--border--color--default);
59
67
  --pf-v6-c-nav__scroll-button--BorderWidth: var(--pf-t--global--border--width--divider--default);
60
68
  --pf-v6-c-nav__scroll-button--first-of-type--c-button--BorderStartStartRadius: var(--pf-t--global--border--radius--pill);
@@ -72,6 +80,8 @@
72
80
  --pf-v6-c-nav--m-horizontal--m-scrollable__list--PaddingInlineEnd: var(--pf-v6-c-nav__list--ColumnGap);
73
81
  --pf-v6-c-nav--m-horizontal--m-subnav--BackgroundColor: var(--pf-t--global--background--color--secondary--default);
74
82
  --pf-v6-c-nav--m-horizontal--m-subnav--BorderRadius: var(--pf-t--global--border--radius--pill);
83
+ --pf-v6-c-nav--m-horizontal--m-subnav--BorderWidth: var(--pf-t--global--border--width--high-contrast--regular);
84
+ --pf-v6-c-nav--m-horizontal--m-subnav--BorderColor: var(--pf-t--global--border--color--high-contrast);
75
85
  --pf-v6-c-nav--m-horizontal--m-subnav__list--PaddingBlockStart: var(--pf-t--global--spacer--xs);
76
86
  --pf-v6-c-nav--m-horizontal--m-subnav__list--PaddingBlockEnd: var(--pf-t--global--spacer--xs);
77
87
  --pf-v6-c-nav--m-horizontal--m-subnav__list--PaddingInlineStart: var(--pf-t--global--spacer--md);
@@ -83,6 +93,13 @@
83
93
  --pf-v6-c-nav--m-horizontal--m-subnav__link--PaddingInlineStart: var(--pf-t--global--spacer--md);
84
94
  --pf-v6-c-nav--m-horizontal--m-subnav__link--PaddingInlineEnd: var(--pf-t--global--spacer--md);
85
95
  }
96
+ @media screen and (prefers-reduced-motion: no-preference) {
97
+ .pf-v6-c-nav {
98
+ --pf-v6-c-nav__subnav--TransitionDuration--expand--slide: var(--pf-t--global--motion--duration--fade--default);
99
+ --pf-v6-c-nav__subnav--TransitionDuration--collapse--slide: var(--pf-t--global--motion--duration--fade--short);
100
+ --pf-v6-c-nav__subnav--hidden--TranslateY: -.5rem;
101
+ }
102
+ }
86
103
 
87
104
  .pf-v6-c-nav,
88
105
  .pf-v6-c-nav__section,
@@ -153,24 +170,27 @@
153
170
 
154
171
  .pf-v6-c-nav__subnav {
155
172
  --pf-v6-c-nav__list--RowGap: var(--pf-v6-c-nav__subnav--RowGap);
156
- grid-template-rows: 1fr;
157
- min-height: 0;
173
+ max-height: 99999px;
158
174
  padding-block-start: var(--pf-v6-c-nav__subnav--PaddingBlockStart);
159
175
  padding-block-end: var(--pf-v6-c-nav__subnav--PaddingBlockEnd);
160
176
  padding-inline-start: var(--pf-v6-c-nav__subnav--PaddingInlineStart);
161
177
  overflow-y: clip;
162
- transition-delay: 0s, var(--pf-v6-c-nav__subnav--TransitionDelay--expand--focus, 0s), var(--pf-v6-c-nav__subnav--TransitionDelay--expand--focus, 0s), var(--pf-v6-c-nav__subnav--TransitionDelay--expand--focus, 0s), var(--pf-v6-c-nav__subnav--TransitionDelay--expand--focus, 0s);
178
+ visibility: visible;
179
+ transition-delay: 0s, 0s, var(--pf-v6-c-nav__subnav--TransitionDelay--expand--focus, 0s), var(--pf-v6-c-nav__subnav--TransitionDelay--expand--focus, 0s), var(--pf-v6-c-nav__subnav--TransitionDelay--expand--focus, 0s), var(--pf-v6-c-nav__subnav--TransitionDelay--expand--focus, 0s);
163
180
  transition-timing-function: var(--pf-v6-c-nav__subnav--TransitionTimingFunction--expand);
164
- transition-duration: var(--pf-v6-c-nav__subnav--TransitionDuration--expand), 0s, 0s, 0s, 0s;
165
- transition-property: opacity, visibility, grid-template-rows, padding-block-start, padding-block-end;
181
+ transition-duration: var(--pf-v6-c-nav__subnav--TransitionDuration--expand), var(--pf-v6-c-nav__subnav--TransitionDuration--expand--slide), 0s, 0s, 0s, 0s;
182
+ transition-property: opacity, translate, visibility, max-height, padding-block-start, padding-block-end;
183
+ translate: 0 var(--pf-v6-c-nav__subnav--TranslateY);
166
184
  }
167
185
  .pf-v6-c-nav__subnav[hidden] {
168
186
  --pf-v6-c-nav__subnav--TransitionDelay--expand--focus: var(--pf-v6-c-nav__subnav--TransitionDuration--expand);
169
187
  --pf-v6-c-nav__subnav--TransitionDuration--expand: var(--pf-v6-c-nav__subnav--TransitionDuration--collapse);
188
+ --pf-v6-c-nav__subnav--TransitionDuration--expand--slide: var(--pf-v6-c-nav__subnav--TransitionDuration--collapse--slide);
170
189
  --pf-v6-c-nav__subnav--PaddingBlockStart: 0;
171
190
  --pf-v6-c-nav__subnav--PaddingBlockEnd: 0;
191
+ --pf-v6-c-nav__subnav--TranslateY: var(--pf-v6-c-nav__subnav--hidden--TranslateY);
172
192
  display: grid;
173
- grid-template-rows: 0fr;
193
+ max-height: 0;
174
194
  visibility: hidden;
175
195
  opacity: 0;
176
196
  }
@@ -221,12 +241,22 @@
221
241
  transition-duration: var(--pf-v6-c-nav__link--TransitionDuration--background-color), var(--pf-v6-c-nav__link--m-current--TransitionDuration--color);
222
242
  transition-property: background-color, color;
223
243
  }
244
+ .pf-v6-c-nav__link::after {
245
+ position: absolute;
246
+ inset: 0;
247
+ pointer-events: none;
248
+ content: "";
249
+ border: var(--pf-v6-c-nav__link--BorderWidth) solid var(--pf-v6-c-nav__link--BorderColor);
250
+ border-radius: inherit;
251
+ }
224
252
  .pf-v6-c-nav__link:hover, .pf-v6-c-nav__link.pf-m-hover, .pf-v6-c-nav__link:focus {
253
+ --pf-v6-c-nav__link--BorderWidth: var(--pf-v6-c-nav__link--hover--BorderWidth);
225
254
  color: var(--pf-v6-c-nav__link--hover--Color);
226
255
  background-color: var(--pf-v6-c-nav__link--hover--BackgroundColor);
227
256
  }
228
257
  .pf-v6-c-nav__link.pf-m-current, .pf-v6-c-nav__link.pf-m-current:hover {
229
258
  --pf-v6-c-nav__link-icon--Color: var(--pf-v6-c-nav__link--m-current__link-icon--Color);
259
+ --pf-v6-c-nav__link--BorderWidth: var(--pf-v6-c-nav__link--m-current--BorderWidth);
230
260
  color: var(--pf-v6-c-nav__link--m-current--Color);
231
261
  background-color: var(--pf-v6-c-nav__link--m-current--BackgroundColor);
232
262
  }
@@ -329,6 +359,7 @@
329
359
  --pf-v6-c-nav--m-horizontal--m-scrollable__list--PaddingInlineEnd: var(--pf-v6-c-nav--m-horizontal--m-subnav--m-scrollable__list--PaddingInlineEnd);
330
360
  --pf-v6-c-nav__link--PaddingBlockStart: var(--pf-v6-c-nav--m-horizontal--m-subnav__link--PaddingBlockStart);
331
361
  --pf-v6-c-nav__link--PaddingBlockEnd: var(--pf-v6-c-nav--m-horizontal--m-subnav__link--PaddingBlockEnd);
362
+ border: var(--pf-v6-c-nav--m-horizontal--m-subnav--BorderWidth) solid var(--pf-v6-c-nav--m-horizontal--m-subnav--BorderColor);
332
363
  border-radius: var(--pf-v6-c-nav--m-horizontal--m-subnav--BorderRadius);
333
364
  }
334
365
  .pf-v6-c-nav:where(.pf-m-horizontal).pf-m-scrollable {
@@ -57,6 +57,10 @@
57
57
  --#{$nav}__link--hover--BackgroundColor: var(--pf-t--global--background--color--action--plain--alt--hover);
58
58
  --#{$nav}__link--m-current--BackgroundColor: var(--pf-t--global--background--color--action--plain--alt--clicked);
59
59
  --#{$nav}__link--m-current--Color: var(--pf-t--global--text--color--regular);
60
+ --#{$nav}__link--BorderColor: var(--pf-t--global--border--color--high-contrast);
61
+ --#{$nav}__link--BorderWidth: var(--pf-t--global--border--width--action--plain--default);
62
+ --#{$nav}__link--hover--BorderWidth: var(--pf-t--global--border--width--action--plain--hover);
63
+ --#{$nav}__link--m-current--BorderWidth: var(--pf-t--global--border--width--action--plain--clicked);
60
64
 
61
65
  // background color transition on hover
62
66
  --#{$nav}__link--TransitionDuration--background-color: var(--pf-t--global--motion--duration--fade--default);
@@ -75,9 +79,19 @@
75
79
  --#{$nav}__subnav--PaddingBlockStart: var(--#{$nav}__item--RowGap); // needed to keep focus outline on first item from being cut off
76
80
  --#{$nav}__subnav--PaddingBlockEnd: var(--#{$nav}__item--RowGap); // needed to keep focus outline on last item from being cut off
77
81
  --#{$nav}__subnav--PaddingInlineStart: var(--pf-t--global--spacer--md);
78
- --#{$nav}__subnav--TransitionDuration--expand: var(--pf-t--global--motion--duration--slide-in--default);
79
- --#{$nav}__subnav--TransitionDuration--collapse: var(--pf-t--global--motion--duration--slide-in--short);
82
+ --#{$nav}__subnav--TransitionDuration--expand: var(--pf-t--global--motion--duration--fade--default);
83
+ --#{$nav}__subnav--TransitionDuration--expand--slide: 0s;
84
+ --#{$nav}__subnav--TransitionDuration--collapse: var(--pf-t--global--motion--duration--fade--short);
85
+ --#{$nav}__subnav--TransitionDuration--collapse--slide: 0s;
80
86
  --#{$nav}__subnav--TransitionTimingFunction--expand: var(--pf-t--global--motion--timing-function--default);
87
+ --#{$nav}__subnav--TranslateY: 0;
88
+ --#{$nav}__subnav--hidden--TranslateY: 0;
89
+
90
+ @media screen and (prefers-reduced-motion: no-preference) {
91
+ --#{$nav}__subnav--TransitionDuration--expand--slide: var(--pf-t--global--motion--duration--fade--default);
92
+ --#{$nav}__subnav--TransitionDuration--collapse--slide: var(--pf-t--global--motion--duration--fade--short);
93
+ --#{$nav}__subnav--hidden--TranslateY: -.5rem;
94
+ }
81
95
 
82
96
  // * Nav scroll button
83
97
  --#{$nav}__scroll-button--BorderColor: var(--pf-t--global--border--color--default);
@@ -103,6 +117,8 @@
103
117
  // * Nav horizontal subnav
104
118
  --#{$nav}--m-horizontal--m-subnav--BackgroundColor: var(--pf-t--global--background--color--secondary--default);
105
119
  --#{$nav}--m-horizontal--m-subnav--BorderRadius: var(--pf-t--global--border--radius--pill);
120
+ --#{$nav}--m-horizontal--m-subnav--BorderWidth: var(--pf-t--global--border--width--high-contrast--regular);
121
+ --#{$nav}--m-horizontal--m-subnav--BorderColor: var(--pf-t--global--border--color--high-contrast);
106
122
  --#{$nav}--m-horizontal--m-subnav__list--PaddingBlockStart: var(--pf-t--global--spacer--xs);
107
123
  --#{$nav}--m-horizontal--m-subnav__list--PaddingBlockEnd: var(--pf-t--global--spacer--xs);
108
124
  --#{$nav}--m-horizontal--m-subnav__list--PaddingInlineStart: var(--pf-t--global--spacer--md);
@@ -199,25 +215,28 @@
199
215
  .#{$nav}__subnav {
200
216
  --#{$nav}__list--RowGap: var(--#{$nav}__subnav--RowGap); // this value is passed to --#{$nav}__item--RowGap--row-offset and updates clickable area based on value passed
201
217
 
202
- grid-template-rows: 1fr;
203
- min-height: 0;
218
+ max-height: 99999px;
204
219
  padding-block-start: var(--#{$nav}__subnav--PaddingBlockStart);
205
220
  padding-block-end: var(--#{$nav}__subnav--PaddingBlockEnd);
206
221
  padding-inline-start: var(--#{$nav}__subnav--PaddingInlineStart); // indent nested lists
207
222
  overflow-y: clip;
208
- transition-delay: 0s, var(--#{$nav}__subnav--TransitionDelay--expand--focus, 0s), var(--#{$nav}__subnav--TransitionDelay--expand--focus, 0s), var(--#{$nav}__subnav--TransitionDelay--expand--focus, 0s), var(--#{$nav}__subnav--TransitionDelay--expand--focus, 0s);
223
+ visibility: visible;
224
+ transition-delay: 0s, 0s, var(--#{$nav}__subnav--TransitionDelay--expand--focus, 0s), var(--#{$nav}__subnav--TransitionDelay--expand--focus, 0s), var(--#{$nav}__subnav--TransitionDelay--expand--focus, 0s), var(--#{$nav}__subnav--TransitionDelay--expand--focus, 0s);
209
225
  transition-timing-function: var(--#{$nav}__subnav--TransitionTimingFunction--expand);
210
- transition-duration: var(--#{$nav}__subnav--TransitionDuration--expand), 0s, 0s, 0s, 0s;
211
- transition-property: opacity, visibility, grid-template-rows, padding-block-start, padding-block-end;
212
-
226
+ transition-duration: var(--#{$nav}__subnav--TransitionDuration--expand), var(--#{$nav}__subnav--TransitionDuration--expand--slide), 0s, 0s, 0s, 0s;
227
+ transition-property: opacity, translate, visibility, max-height, padding-block-start, padding-block-end;
228
+ translate: 0 var(--#{$nav}__subnav--TranslateY);
229
+
213
230
  &[hidden] {
214
231
  --#{$nav}__subnav--TransitionDelay--expand--focus: var(--#{$nav}__subnav--TransitionDuration--expand);
215
232
  --#{$nav}__subnav--TransitionDuration--expand: var(--#{$nav}__subnav--TransitionDuration--collapse);
233
+ --#{$nav}__subnav--TransitionDuration--expand--slide: var(--#{$nav}__subnav--TransitionDuration--collapse--slide);
216
234
  --#{$nav}__subnav--PaddingBlockStart: 0;
217
235
  --#{$nav}__subnav--PaddingBlockEnd: 0;
236
+ --#{$nav}__subnav--TranslateY: var(--#{$nav}__subnav--hidden--TranslateY);
218
237
 
219
238
  display: grid; // overrides `display: none` - element is hidden via `visibility: hidden`
220
- grid-template-rows: 0fr;
239
+ max-height: 0;
221
240
  visibility: hidden;
222
241
  opacity: 0;
223
242
  }
@@ -277,10 +296,22 @@
277
296
  transition-duration: var(--#{$nav}__link--TransitionDuration--background-color), var(--#{$nav}__link--m-current--TransitionDuration--color);
278
297
  transition-property: background-color, color;
279
298
 
299
+ &::after {
300
+ position: absolute;
301
+ inset: 0;
302
+ pointer-events: none;
303
+ content: "";
304
+ border: var(--#{$nav}__link--BorderWidth) solid var(--#{$nav}__link--BorderColor);
305
+ border-radius: inherit;
306
+ }
307
+
308
+
280
309
  // explicitly set background-color prop to avoid affecting child elements settings
281
310
  &:hover,
282
311
  &.pf-m-hover,
283
312
  &:focus {
313
+ --#{$nav}__link--BorderWidth: var(--#{$nav}__link--hover--BorderWidth);
314
+
284
315
  color: var(--#{$nav}__link--hover--Color);
285
316
  background-color: var(--#{$nav}__link--hover--BackgroundColor);
286
317
  }
@@ -288,6 +319,7 @@
288
319
  &.pf-m-current,
289
320
  &.pf-m-current:hover {
290
321
  --#{$nav}__link-icon--Color: var(--#{$nav}__link--m-current__link-icon--Color);
322
+ --#{$nav}__link--BorderWidth: var(--#{$nav}__link--m-current--BorderWidth);
291
323
 
292
324
  color: var(--#{$nav}__link--m-current--Color);
293
325
  background-color: var(--#{$nav}__link--m-current--BackgroundColor);
@@ -415,6 +447,7 @@
415
447
  --#{$nav}__link--PaddingBlockStart: var(--#{$nav}--m-horizontal--m-subnav__link--PaddingBlockStart);
416
448
  --#{$nav}__link--PaddingBlockEnd: var(--#{$nav}--m-horizontal--m-subnav__link--PaddingBlockEnd);
417
449
 
450
+ border: var(--#{$nav}--m-horizontal--m-subnav--BorderWidth) solid var(--#{$nav}--m-horizontal--m-subnav--BorderColor);
418
451
  border-radius: var(--#{$nav}--m-horizontal--m-subnav--BorderRadius);
419
452
  }
420
453