@patternfly/patternfly 6.0.0-alpha.9 → 6.0.0-alpha.90

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 (341) hide show
  1. package/CODE_OF_CONDUCT.md +1 -2
  2. package/assets/images/PF-Backdrop.svg +1 -0
  3. package/assets/images/PF-HorizontalLogo-Color.svg +29 -0
  4. package/assets/images/PF-HorizontalLogo-Reverse.svg +28 -0
  5. package/assets/images/PF-IconLogo-Reverse.svg +14 -0
  6. package/assets/images/PF-IconLogo-color.svg +17 -0
  7. package/assets/images/PF-IconLogo.svg +17 -0
  8. package/assets/images/logo__pf--reverse-on-md.svg +1 -1
  9. package/assets/images/pf-background.svg +22 -0
  10. package/assets/images/pf-c-brand__logo-on-lg-white.svg +32 -0
  11. package/assets/images/pf-c-brand__logo-on-md-white.svg +42 -0
  12. package/assets/images/pf-c-brand__logo-on-sm-white.svg +17 -0
  13. package/assets/images/pf-c-brand__logo-on-sm.svg +1 -1
  14. package/assets/images/pf-c-brand__logo-on-xl-white.svg +39 -0
  15. package/assets/images/pf_logo_white.hbs +35 -0
  16. package/assets/images/pf_logo_white.svg +38 -0
  17. package/base/_common.scss +8 -4
  18. package/base/_globals.scss +4 -6
  19. package/base/_variables.scss +2 -7
  20. package/base/patternfly-common.css +8 -4
  21. package/base/patternfly-globals.css +4 -3
  22. package/base/patternfly-variables.css +1005 -856
  23. package/base/tokens/_tokens-charts.scss +159 -0
  24. package/base/tokens/_tokens-dark.scss +319 -290
  25. package/base/tokens/_tokens-default.scss +485 -329
  26. package/base/tokens/_tokens-font.scss +122 -58
  27. package/base/tokens/_tokens-palette.scss +71 -71
  28. package/base/tokens/_workspace-overrides.scss +7 -0
  29. package/components/AboutModalBox/about-modal-box.css +57 -94
  30. package/components/AboutModalBox/about-modal-box.scss +37 -62
  31. package/components/Accordion/accordion.css +85 -177
  32. package/components/Accordion/accordion.scss +96 -195
  33. package/components/ActionList/action-list.css +18 -17
  34. package/components/ActionList/action-list.scss +26 -16
  35. package/components/Alert/alert-group.css +20 -16
  36. package/components/Alert/alert-group.scss +20 -16
  37. package/components/Alert/alert.css +59 -84
  38. package/components/Alert/alert.scss +62 -78
  39. package/components/Avatar/avatar.css +10 -13
  40. package/components/Avatar/avatar.scss +10 -17
  41. package/components/BackToTop/back-to-top.css +17 -16
  42. package/components/BackToTop/back-to-top.scss +12 -12
  43. package/components/Backdrop/backdrop.css +6 -2
  44. package/components/Backdrop/backdrop.scss +5 -2
  45. package/components/BackgroundImage/background-image.css +5 -1
  46. package/components/BackgroundImage/background-image.scss +5 -1
  47. package/components/Badge/badge.css +23 -15
  48. package/components/Badge/badge.scss +25 -17
  49. package/components/Banner/banner.css +90 -64
  50. package/components/Banner/banner.scss +95 -32
  51. package/components/Breadcrumb/breadcrumb.css +27 -16
  52. package/components/Breadcrumb/breadcrumb.scss +27 -18
  53. package/components/Button/button.css +398 -354
  54. package/components/Button/button.scss +455 -477
  55. package/components/CalendarMonth/calendar-month.css +61 -92
  56. package/components/CalendarMonth/calendar-month.scss +68 -63
  57. package/components/Card/card.css +100 -194
  58. package/components/Card/card.scss +121 -237
  59. package/components/Check/check.css +24 -21
  60. package/components/Check/check.scss +25 -23
  61. package/components/ClipboardCopy/clipboard-copy.css +30 -33
  62. package/components/ClipboardCopy/clipboard-copy.scss +34 -26
  63. package/components/CodeBlock/code-block.css +22 -9
  64. package/components/CodeBlock/code-block.scss +22 -10
  65. package/components/CodeEditor/code-editor.css +94 -72
  66. package/components/CodeEditor/code-editor.scss +104 -82
  67. package/components/Content/content.css +7 -7
  68. package/components/Content/content.scss +7 -7
  69. package/components/DataList/data-list.css +101 -158
  70. package/components/DataList/data-list.scss +95 -154
  71. package/components/DatePicker/date-picker.css +13 -14
  72. package/components/DatePicker/date-picker.scss +12 -16
  73. package/components/DescriptionList/description-list.css +39 -34
  74. package/components/DescriptionList/description-list.scss +25 -25
  75. package/components/Divider/divider.css +91 -169
  76. package/components/Divider/divider.scss +60 -77
  77. package/components/DragDrop/drag-drop.css +18 -14
  78. package/components/DragDrop/drag-drop.scss +18 -17
  79. package/components/Drawer/drawer.css +112 -113
  80. package/components/Drawer/drawer.scss +134 -134
  81. package/components/Dropdown/dropdown.css +1 -3
  82. package/components/Dropdown/dropdown.scss +2 -6
  83. package/components/DualListSelector/dual-list-selector.css +54 -51
  84. package/components/DualListSelector/dual-list-selector.scss +55 -54
  85. package/components/EmptyState/empty-state.css +57 -34
  86. package/components/EmptyState/empty-state.scss +63 -34
  87. package/components/ExpandableSection/expandable-section.css +64 -62
  88. package/components/ExpandableSection/expandable-section.scss +73 -76
  89. package/components/FileUpload/file-upload.css +28 -34
  90. package/components/FileUpload/file-upload.scss +30 -42
  91. package/components/Form/form.css +66 -116
  92. package/components/Form/form.scss +63 -128
  93. package/components/FormControl/form-control.css +86 -111
  94. package/components/FormControl/form-control.scss +88 -92
  95. package/components/HelperText/helper-text.css +28 -34
  96. package/components/HelperText/helper-text.scss +30 -40
  97. package/components/Hint/hint.css +28 -21
  98. package/components/Hint/hint.scss +28 -24
  99. package/components/Icon/icon.css +154 -18
  100. package/components/Icon/icon.scss +187 -20
  101. package/components/InlineEdit/inline-edit.css +8 -7
  102. package/components/InlineEdit/inline-edit.scss +8 -7
  103. package/components/InputGroup/input-group.css +22 -38
  104. package/components/InputGroup/input-group.scss +21 -29
  105. package/components/JumpLinks/jump-links.css +34 -34
  106. package/components/JumpLinks/jump-links.scss +35 -36
  107. package/components/Label/label-group.css +39 -44
  108. package/components/Label/label-group.scss +39 -45
  109. package/components/Label/label.css +378 -355
  110. package/components/Label/label.scss +431 -348
  111. package/components/List/list.css +16 -16
  112. package/components/List/list.scss +17 -17
  113. package/components/Login/login.css +68 -112
  114. package/components/Login/login.scss +54 -82
  115. package/components/Masthead/masthead.css +261 -502
  116. package/components/Masthead/masthead.scss +123 -286
  117. package/components/Menu/menu.css +388 -417
  118. package/components/Menu/menu.scss +370 -525
  119. package/components/MenuToggle/menu-toggle.css +223 -276
  120. package/components/MenuToggle/menu-toggle.scss +322 -390
  121. package/components/ModalBox/modal-box.css +59 -52
  122. package/components/ModalBox/modal-box.scss +57 -53
  123. package/components/MultipleFileUpload/multiple-file-upload.css +77 -50
  124. package/components/MultipleFileUpload/multiple-file-upload.scss +82 -53
  125. package/components/Nav/nav.css +240 -918
  126. package/components/Nav/nav.scss +300 -1082
  127. package/components/NotificationBadge/notification-badge.css +4 -4
  128. package/components/NotificationBadge/notification-badge.scss +4 -4
  129. package/components/NotificationDrawer/notification-drawer.css +104 -115
  130. package/components/NotificationDrawer/notification-drawer.scss +106 -116
  131. package/components/NumberInput/number-input.css +8 -8
  132. package/components/NumberInput/number-input.scss +7 -12
  133. package/components/OverflowMenu/overflow-menu.css +17 -47
  134. package/components/OverflowMenu/overflow-menu.scss +27 -65
  135. package/components/Page/page.css +56 -164
  136. package/components/Page/page.scss +60 -154
  137. package/components/Pagination/pagination.css +57 -124
  138. package/components/Pagination/pagination.scss +40 -128
  139. package/components/Panel/panel.css +27 -23
  140. package/components/Panel/panel.scss +29 -26
  141. package/components/Popover/popover.css +42 -53
  142. package/components/Popover/popover.scss +46 -55
  143. package/components/Progress/progress.css +31 -45
  144. package/components/Progress/progress.scss +36 -55
  145. package/components/ProgressStepper/progress-stepper.css +72 -69
  146. package/components/ProgressStepper/progress-stepper.scss +65 -65
  147. package/components/Radio/radio.css +27 -20
  148. package/components/Radio/radio.scss +28 -22
  149. package/components/Sidebar/sidebar.css +20 -9
  150. package/components/Sidebar/sidebar.scss +23 -11
  151. package/components/SimpleList/simple-list.css +32 -52
  152. package/components/SimpleList/simple-list.scss +37 -51
  153. package/components/Skeleton/skeleton.css +18 -20
  154. package/components/Skeleton/skeleton.scss +17 -21
  155. package/components/SkipToContent/skip-to-content.css +6 -3
  156. package/components/SkipToContent/skip-to-content.scss +8 -6
  157. package/components/Slider/slider.css +34 -30
  158. package/components/Slider/slider.scss +46 -43
  159. package/components/Spinner/spinner.css +17 -34
  160. package/components/Spinner/spinner.scss +19 -47
  161. package/components/Switch/switch.css +42 -38
  162. package/components/Switch/switch.scss +48 -43
  163. package/components/TabContent/tab-content.css +17 -11
  164. package/components/TabContent/tab-content.scss +18 -14
  165. package/components/Table/table-grid.css +31 -47
  166. package/components/Table/table-grid.scss +42 -55
  167. package/components/Table/table-scrollable.css +6 -6
  168. package/components/Table/table-scrollable.scss +8 -8
  169. package/components/Table/table-tree-view.css +81 -74
  170. package/components/Table/table-tree-view.scss +53 -39
  171. package/components/Table/table.css +159 -264
  172. package/components/Table/table.scss +216 -351
  173. package/components/Tabs/tabs.css +142 -175
  174. package/components/Tabs/tabs.scss +158 -218
  175. package/components/TextInputGroup/text-input-group.css +0 -14
  176. package/components/TextInputGroup/text-input-group.scss +3 -16
  177. package/components/Tile/tile.css +40 -81
  178. package/components/Tile/tile.scss +38 -84
  179. package/components/Timestamp/timestamp.css +12 -9
  180. package/components/Timestamp/timestamp.scss +11 -10
  181. package/components/Title/title.css +70 -19
  182. package/components/Title/title.scss +90 -20
  183. package/components/ToggleGroup/toggle-group.css +54 -48
  184. package/components/ToggleGroup/toggle-group.scss +62 -50
  185. package/components/Toolbar/toolbar.css +2527 -1031
  186. package/components/Toolbar/toolbar.scss +233 -520
  187. package/components/Tooltip/tooltip.css +16 -18
  188. package/components/Tooltip/tooltip.scss +20 -24
  189. package/components/TreeView/tree-view.css +76 -97
  190. package/components/TreeView/tree-view.scss +82 -113
  191. package/components/Truncate/truncate.css +4 -0
  192. package/components/Truncate/truncate.scss +3 -0
  193. package/components/Wizard/wizard.css +122 -205
  194. package/components/Wizard/wizard.scss +121 -181
  195. package/docs/components/AboutModalBox/examples/AboutModalBox.md +2 -2
  196. package/docs/components/Accordion/examples/Accordion.md +614 -416
  197. package/docs/components/ActionList/examples/ActionList.md +73 -22
  198. package/docs/components/Alert/examples/Alert.md +3 -3
  199. package/docs/components/Avatar/examples/Avatar.md +5 -19
  200. package/docs/components/BackgroundImage/examples/BackgroundImage.md +1 -1
  201. package/docs/components/Badge/examples/Badge.md +21 -0
  202. package/docs/components/Banner/examples/Banner.md +48 -25
  203. package/docs/components/Brand/examples/Brand.css +12 -0
  204. package/docs/components/Brand/examples/Brand.md +51 -32
  205. package/docs/components/Breadcrumb/examples/Breadcrumb.md +1 -1
  206. package/docs/components/Button/examples/Button.css +4 -0
  207. package/docs/components/Button/examples/Button.md +1439 -113
  208. package/docs/components/CalendarMonth/examples/CalendarMonth.md +44 -220
  209. package/docs/components/Card/examples/Card.md +550 -133
  210. package/docs/components/Check/examples/Check.md +1 -0
  211. package/docs/components/CodeBlock/examples/CodeBlock.md +4 -4
  212. package/docs/components/CodeEditor/examples/CodeEditor.md +144 -132
  213. package/docs/components/Content/examples/Content.md +5 -5
  214. package/docs/components/DatePicker/examples/DatePicker.md +5 -2
  215. package/docs/components/Divider/examples/Divider.css +3 -1
  216. package/docs/components/Divider/examples/Divider.md +30 -5
  217. package/docs/components/DragDrop/examples/DragDrop.css +1 -1
  218. package/docs/components/Drawer/examples/Drawer.md +294 -256
  219. package/docs/components/DualListSelector/examples/DualListSelector.md +18 -18
  220. package/docs/components/EmptyState/examples/EmptyState.md +45 -1
  221. package/docs/components/ExpandableSection/examples/ExpandableSection.md +49 -28
  222. package/docs/components/FileUpload/examples/FileUpload.md +112 -53
  223. package/docs/components/Form/examples/Form.md +134 -89
  224. package/docs/components/Icon/examples/Icon.md +82 -11
  225. package/docs/components/InlineEdit/examples/InlineEdit.md +3 -1
  226. package/docs/components/JumpLinks/examples/JumpLinks.md +280 -168
  227. package/docs/components/Label/examples/Label.css +4 -0
  228. package/docs/components/Label/examples/Label.md +3090 -703
  229. package/docs/components/LogViewer/examples/LogViewer.md +100 -80
  230. package/docs/components/Login/examples/Login.md +160 -105
  231. package/docs/components/Masthead/examples/masthead.md +443 -65
  232. package/docs/components/Menu/examples/Menu.css +7 -11
  233. package/docs/components/Menu/examples/Menu.md +213 -486
  234. package/docs/components/MenuToggle/examples/MenuToggle.md +253 -224
  235. package/docs/components/MultipleFileUpload/examples/MultipleFileUpload.md +9 -9
  236. package/docs/components/Nav/examples/Navigation.css +1 -23
  237. package/docs/components/Nav/examples/Navigation.md +69 -243
  238. package/docs/components/Page/examples/Page.css +0 -8
  239. package/docs/components/Page/examples/Page.md +22 -21
  240. package/docs/components/Pagination/examples/Pagination.md +663 -637
  241. package/docs/components/Panel/examples/Panel.md +12 -0
  242. package/docs/components/Popover/examples/Popover.md +1 -1
  243. package/docs/components/ProgressStepper/examples/ProgressStepper.md +15 -14
  244. package/docs/components/Radio/examples/Radio.md +1 -1
  245. package/docs/components/Sidebar/examples/Sidebar.md +19 -0
  246. package/docs/components/SimpleList/examples/SimpleList.md +3 -3
  247. package/docs/components/TabContent/examples/TabContent.md +10 -10
  248. package/docs/components/Table/examples/Table.md +8 -8
  249. package/docs/components/Tabs/examples/Tabs.css +1 -1
  250. package/docs/components/Tabs/examples/Tabs.md +1025 -826
  251. package/docs/components/Tile/examples/Tile.md +264 -144
  252. package/docs/components/Title/examples/Title.md +18 -0
  253. package/docs/components/Toolbar/examples/Toolbar.css +20 -15
  254. package/docs/components/Toolbar/examples/Toolbar.md +985 -3341
  255. package/docs/components/TreeView/examples/TreeView.md +7 -57
  256. package/docs/components/Truncate/examples/Truncate.css +2 -2
  257. package/docs/components/Wizard/examples/Wizard.md +31 -7
  258. package/docs/demos/AboutModal/examples/AboutModal.md +116 -35
  259. package/docs/demos/Alert/examples/Alert.md +366 -99
  260. package/docs/demos/BackToTop/examples/BackToTop.md +114 -33
  261. package/docs/demos/Banner/examples/Banner.md +235 -68
  262. package/docs/demos/Button/examples/Button.md +1 -1
  263. package/docs/demos/Card/examples/Card.md +2 -2
  264. package/docs/demos/CardView/examples/CardView.md +256 -192
  265. package/docs/demos/ContextSelector/examples/ContextSelector.md +414 -107
  266. package/docs/demos/Dashboard/examples/Dashboard.md +114 -33
  267. package/docs/demos/DataList/examples/DataList.md +1049 -950
  268. package/docs/demos/DescriptionList/examples/DescriptionList.md +342 -99
  269. package/docs/demos/Drawer/examples/Drawer.md +700 -271
  270. package/docs/demos/Form/examples/BasicForms.md +138 -84
  271. package/docs/demos/JumpLinks/examples/JumpLinks.md +989 -409
  272. package/docs/demos/Masthead/examples/Masthead.md +833 -357
  273. package/docs/demos/Modal/examples/Modal.md +717 -222
  274. package/docs/demos/Nav/examples/Nav.md +763 -926
  275. package/docs/demos/NotificationDrawer/examples/NotificationDrawer.md +575 -165
  276. package/docs/demos/Page/examples/Page.md +1050 -309
  277. package/docs/demos/Page/examples/Penta.md +73 -31
  278. package/docs/demos/PasswordGenerator/examples/PasswordGenerator.md +20 -16
  279. package/docs/demos/PasswordStrength/examples/PasswordStrength.md +44 -32
  280. package/docs/demos/PrimaryDetail/examples/PrimaryDetail.md +1276 -861
  281. package/docs/demos/Skeleton/examples/Skeleton.md +114 -33
  282. package/docs/demos/Table/examples/Table.md +4002 -3503
  283. package/docs/demos/Tabs/examples/Tabs.md +711 -219
  284. package/docs/demos/Toolbar/examples/Toolbar.css +10 -0
  285. package/docs/demos/Toolbar/examples/Toolbar.md +1350 -1480
  286. package/docs/demos/Wizard/examples/Wizard.md +1134 -315
  287. package/docs/layouts/Flex/examples/Flex.md +11 -11
  288. package/package.json +32 -32
  289. package/patternfly-base-no-globals-theme-dark-unversioned.css +1021 -868
  290. package/patternfly-base-no-globals.css +1021 -868
  291. package/patternfly-base-theme-dark-unversioned.css +1027 -873
  292. package/patternfly-base.css +1027 -873
  293. package/patternfly-no-globals.css +9048 -8979
  294. package/patternfly-theme-dark-unversioned.css +9051 -8981
  295. package/patternfly.css +9051 -8981
  296. package/patternfly.min.css +1 -1
  297. package/patternfly.min.css.map +1 -1
  298. package/sass-utilities/mixins.scss +18 -0
  299. package/base/themes/dark/_variables.scss +0 -102
  300. package/components/AboutModalBox/themes/dark/about-modal-box.scss +0 -7
  301. package/components/Accordion/themes/dark/accordion.scss +0 -9
  302. package/components/Alert/themes/dark/alert.scss +0 -17
  303. package/components/Badge/themes/dark/badge.scss +0 -9
  304. package/components/Banner/themes/dark/banner.scss +0 -14
  305. package/components/Button/themes/dark/button.scss +0 -51
  306. package/components/CalendarMonth/themes/dark/calendar-month.scss +0 -37
  307. package/components/Card/themes/dark/card.scss +0 -20
  308. package/components/ClipboardCopy/themes/dark/clipboard-copy.scss +0 -19
  309. package/components/CodeEditor/themes/dark/code-editor.scss +0 -14
  310. package/components/DataList/themes/dark/data-list.scss +0 -10
  311. package/components/DatePicker/themes/dark/date-picker.scss +0 -8
  312. package/components/DragDrop/themes/dark/drag-drop.scss +0 -7
  313. package/components/Drawer/themes/dark/drawer.scss +0 -13
  314. package/components/DualListSelector/themes/dark/dual-list-selector.scss +0 -9
  315. package/components/Form/themes/dark/form.scss +0 -7
  316. package/components/FormControl/themes/dark/form-control.scss +0 -24
  317. package/components/HelperText/themes/dark/helper-text.scss +0 -7
  318. package/components/Hint/themes/dark/hint.scss +0 -8
  319. package/components/InputGroup/themes/dark/input-group.scss +0 -22
  320. package/components/Label/themes/dark/label.scss +0 -53
  321. package/components/Login/themes/dark/login.scss +0 -12
  322. package/components/Masthead/themes/dark/masthead.scss +0 -14
  323. package/components/MenuToggle/themes/dark/menu-toggle.scss +0 -27
  324. package/components/ModalBox/themes/dark/modal-box.scss +0 -7
  325. package/components/NotificationDrawer/themes/dark/notification-drawer.scss +0 -14
  326. package/components/Page/themes/dark/page.scss +0 -69
  327. package/components/Pagination/themes/dark/pagination.scss +0 -7
  328. package/components/Panel/themes/dark/panel.scss +0 -7
  329. package/components/Popover/themes/dark/popover.scss +0 -11
  330. package/components/Progress/themes/dark/progress.scss +0 -9
  331. package/components/SimpleList/themes/dark/simple-list.scss +0 -14
  332. package/components/Skeleton/themes/dark/skeleton.scss +0 -10
  333. package/components/Switch/themes/dark/switch.scss +0 -11
  334. package/components/Tabs/themes/dark/tabs.scss +0 -10
  335. package/components/TextInputGroup/themes/dark/text-input-group.scss +0 -11
  336. package/components/Tile/themes/dark/tile.scss +0 -10
  337. package/components/ToggleGroup/themes/dark/toggle-group.scss +0 -12
  338. package/components/Tooltip/themes/dark/tooltip.scss +0 -8
  339. package/components/TreeView/themes/dark/tree-view.scss +0 -8
  340. package/components/Wizard/themes/dark/wizard.scss +0 -12
  341. package/docs/components/Avatar/examples/Avatar.css +0 -3
@@ -1,245 +1,225 @@
1
- // @debug $menu; // check your variable names located in src/patternfly/sass-utilities/component-namespaces.scss
2
-
3
- .#{$menu} {
4
- @include pf-v5-t-light;
5
-
6
- // Menu
7
- --#{$menu}--BackgroundColor: var(--#{$pf-global}--BackgroundColor--100);
8
- --#{$menu}--BoxShadow: var(--#{$pf-global}--BoxShadow--md);
9
- --#{$menu}--MinWidth: auto;
1
+ :where(:root),
2
+ :where(.#{$menu}) {
3
+ // * Menu
4
+ --#{$menu}--RowGap: var(--pf-t--global--spacer--sm);
10
5
  --#{$menu}--Width: auto;
11
- --#{$menu}--ZIndex: var(--#{$pf-global}--ZIndex--sm);
12
- --#{$menu}--Top: auto;
6
+ --#{$menu}--MinWidth: auto;
7
+ --#{$menu}--PaddingBlockStart: var(--pf-t--global--spacer--sm);
8
+ --#{$menu}--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
9
+ --#{$menu}--BackgroundColor: var(--pf-t--global--background--color--floating--default);
10
+ --#{$menu}--BoxShadow: var(--pf-t--global--box-shadow--md);
11
+ --#{$menu}--Color: var(--pf-t--global--text--color--regular);
12
+ --#{$menu}--BorderRadius: var(--pf-t--global--border--radius--small);
13
+ --#{$menu}--OutlineOffset: calc(var(--pf-t--global--border--width--control--default) * -3);
14
+ --#{$menu}--ZIndex: var(--pf-t--global--Zindex--sm);
15
+ --#{$menu}--button--disabled--Color: var(--pf-t--global--text--color--disabled);
16
+ --#{$menu}--icon--disabled--Color: var(--pf-t--global--icon--color--disabled);
17
+
18
+ // * Menu plain
19
+ --#{$menu}--m-plain--BoxShadow: none;
13
20
 
14
- // Flyout
15
- --#{$menu}--m-flyout__menu--Top: calc(var(--#{$menu}__list--PaddingTop) * -1 + var(--#{$menu}--m-flyout__menu--top-offset));
16
- --#{$menu}--m-flyout__menu--Right: auto;
17
- --#{$menu}--m-flyout__menu--Bottom: auto;
18
- --#{$menu}--m-flyout__menu--Left: calc(100% + var(--#{$menu}--m-flyout__menu--left-offset));
19
- --#{$menu}--m-flyout__menu--m-top--Bottom: calc(var(--#{$menu}__list--PaddingTop) * -1);
20
- --#{$menu}--m-flyout__menu--m-left--Right: calc(100% + var(--#{$menu}--m-flyout__menu--m-left--right-offset));
21
+ // * Menu content
22
+ --#{$menu}__content--RowGap: var(--#{$menu}--RowGap);
23
+ --#{$menu}__content--Height: auto;
24
+ --#{$menu}__content--MaxHeight: none;
25
+ --#{$menu}--m-scrollable__content--MaxHeight: #{pf-size-prem(300px)};
21
26
 
22
- // Plain
23
- --#{$menu}--m-plain--BoxShadow: none;
27
+ // * Menu search
28
+ --#{$menu}__search--PaddingBlockStart: var(--pf-t--global--spacer--sm);
29
+ --#{$menu}__search--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
30
+ --#{$menu}__search--PaddingInlineStart: var(--pf-t--global--spacer--md);
31
+ --#{$menu}__search--PaddingInlineEnd: var(--pf-t--global--spacer--md);
32
+
33
+ // * Menu footer
34
+ --#{$menu}__footer--BoxShadow: none;
35
+ --#{$menu}--m-scrollable__footer--BoxShadow: var(--pf-t--global--box-shadow--md--top);
36
+
37
+ // * Menu list item
38
+ --#{$menu}__list-item--Color: var(--pf-t--global--text--color--regular);
39
+ --#{$menu}__list-item--BackgroundColor: var(--pf-t--global--background--color--action--plain--default);
40
+ --#{$menu}__list-item--hover--BackgroundColor: var(--pf-t--global--background--color--action--plain--hover);
41
+ --#{$menu}__list-item--m-danger--Color: var(--pf-t--global--text--color--status--danger--default);
42
+ --#{$menu}__list-item--m-load__item--Color: var(--pf-t--global--text--color--link--default);
43
+ --#{$menu}__list-item--has--menu-action--PaddingInlineEnd: var(--pf-t--global--spacer--lg);
44
+
45
+ // * Menu li divider
46
+ --#{$menu}__list--divider--MarginTop: var(--pf-t--global--spacer--sm);
47
+ --#{$menu}__list--divider--MarginBottom: var(--pf-t--global--spacer--sm);
48
+
49
+ // * Menu item
50
+ --#{$menu}__item--PaddingBlockStart: var(--pf-t--global--spacer--sm);
51
+ --#{$menu}__item--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
52
+ --#{$menu}__item--PaddingInlineStart: var(--pf-t--global--spacer--lg);
53
+ --#{$menu}__item--PaddingInlineEnd: var(--pf-t--global--spacer--lg);
54
+ --#{$menu}__item--FontSize: var(--pf-t--global--font--size--body--default);
55
+ --#{$menu}__item--LineHeight: var(--pf-t--global--font--line-height--body);
56
+ --#{$menu}__item--FontWeight: var(--pf-t--global--font--weight--body);
57
+ --#{$menu}__item--Color: var(--pf-t--global--text--color--regular);
58
+ --#{$menu}__item--BackgroundColor: var(--pf-t--global--background--color--action--plain--default);
59
+ --#{$menu}__item--m-disabled--Color: var(--pf-t--global--text--color--disabled);
60
+
61
+ // * Menu header
62
+ --#{$menu}__header--PaddingBlockStart: var(--pf-t--global--spacer--sm);
63
+ --#{$menu}__header--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
64
+ --#{$menu}__header--PaddingInlineStart: var(--pf-t--global--spacer--lg);
65
+ --#{$menu}__header--PaddingInlineEnd: var(--pf-t--global--spacer--lg);
66
+
67
+ // * Menu group title
68
+ --#{$menu}__group-title--PaddingBlockStart: var(--pf-t--global--spacer--sm);
69
+ --#{$menu}__group-title--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
70
+ --#{$menu}__group-title--PaddingInlineStart: var(--pf-t--global--spacer--lg);
71
+ --#{$menu}__group-title--PaddingInlineEnd: var(--pf-t--global--spacer--lg);
72
+
73
+ // * Menu breadcrumb
74
+ --#{$menu}__breadcrumb--PaddingBlockStart: 0;
75
+ --#{$menu}__breadcrumb--PaddingBlockEnd: 0;
76
+ --#{$menu}__breadcrumb--PaddingInlineStart: var(--pf-t--global--spacer--lg);
77
+ --#{$menu}__breadcrumb--PaddingInlineEnd: var(--pf-t--global--spacer--lg);
78
+
79
+ // * Menu footer
80
+ --#{$menu}__footer--PaddingBlockStart: var(--pf-t--global--spacer--sm);
81
+ --#{$menu}__footer--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
82
+ --#{$menu}__footer--PaddingInlineStart: var(--pf-t--global--spacer--lg);
83
+ --#{$menu}__footer--PaddingInlineEnd: var(--pf-t--global--spacer--lg);
84
+
85
+ // * Menu item main
86
+ --#{$menu}__item-main--ColumnGap: var(--pf-t--global--spacer--sm);
87
+
88
+ // * Menu group title
89
+ --#{$menu}__group-title--Color: var(--pf-t--global--text--color--subtle);
90
+
91
+ // * Menu description
92
+ --#{$menu}__item-description--FontSize: var(--pf-t--global--font--size--body--sm);
93
+ --#{$menu}__item-description--Color: var(--pf-t--global--text--color--subtle);
94
+
95
+ // * Menu action
96
+ --#{$menu}__item-action--FontSize: var(--pf-t--global--font--size--body--default);
97
+ --#{$menu}__item-action--icon--size: var(--#{$menu}__item-action--FontSize, var(--pf-t--global--icon--size--md));
98
+ --#{$menu}__item-action--Color: var(--pf-t--global--icon--color--subtle);
99
+ --#{$menu}__item-action--m-favorited--Color: var(--pf-t--global--icon--color--favorite--clicked);
100
+ --#{$menu}__item-action--button--MinWidth: calc(var(--#{$menu}__item-action--icon--size) + var(--pf-t--global--spacer--sm) * 2);
101
+
102
+ // * Menu select icon
103
+ --#{$menu}__item-select-icon--Color: var(--pf-t--global--icon--color--subtle);
104
+ --#{$menu}__item--m-selected__item-select-icon--Color: var(--pf-t--global--icon--color--brand--default);
105
+
106
+ // * Menu link icon
107
+ --#{$menu}__item-external--Color: var(--pf-t--global--icon--color--brand--default);
24
108
 
25
- // stylelint-disable length-zero-no-unit
26
109
  // Needs a unit because of type checking for use in calc()
27
110
  --#{$menu}--m-flyout__menu--top-offset: 0px;
28
111
  --#{$menu}--m-flyout__menu--left-offset: 0px;
29
112
  --#{$menu}--m-flyout__menu--m-left--right-offset: 0px;
30
- // stylelint-enable
31
113
 
32
- // Content
33
- --#{$menu}__content--Height: auto;
34
- --#{$menu}__content--MaxHeight: none;
35
- --#{$menu}--m-scrollable__content--MaxHeight: #{pf-size-prem(300px)};
114
+ // * Menu flyout
115
+ --#{$menu}--m-flyout__Zindex: var(--pf-t--global--Zindex--sm);
116
+ --#{$menu}--m-flyout__menu--Top: calc(var(--#{$menu}__list--PaddingBlockStart) * -1 + var(--#{$menu}--m-flyout__menu--top-offset));
117
+ --#{$menu}--m-flyout__menu--Right: auto;
118
+ --#{$menu}--m-flyout__menu--Bottom: auto;
119
+ --#{$menu}--m-flyout__menu--Left: calc(100% + var(--#{$menu}--m-flyout__menu--left-offset));
120
+ --#{$menu}--m-flyout__menu--m-top--Bottom: calc(var(--#{$menu}__list--PaddingBlockStart) * -1);
121
+ --#{$menu}--m-flyout__menu--m-left--Right: calc(100% + var(--#{$menu}--m-flyout__menu--m-left--right-offset));
36
122
 
37
- // Divider
38
- --#{$menu}--c-divider--MarginTop: 0;
39
- --#{$menu}--c-divider--MarginBottom: 0;
40
- --#{$menu}__list--c-divider--MarginTop: var(--#{$pf-global}--spacer--sm);
41
- --#{$menu}__list--c-divider--MarginBottom: var(--#{$pf-global}--spacer--sm);
42
-
43
- // Header
44
- --#{$menu}__header--PaddingTop: var(--#{$pf-global}--spacer--md);
45
- --#{$menu}__header--PaddingRight: var(--#{$pf-global}--spacer--md);
46
- --#{$menu}__header--PaddingBottom: var(--#{$pf-global}--spacer--md);
47
- --#{$menu}__header--PaddingLeft: var(--#{$pf-global}--spacer--md);
48
-
49
- // Header > item
50
- --#{$menu}__header--c-menu__item--MarginTop: calc(var(--#{$menu}__header--PaddingTop) * -1 / 2);
51
- --#{$menu}__header--c-menu__item--MarginRight: calc(var(--#{$menu}__header--PaddingRight) * -1 / 2);
52
- --#{$menu}__header--c-menu__item--MarginBottom: calc(var(--#{$menu}__header--PaddingBottom) * -1 / 2);
53
- --#{$menu}__header--c-menu__item--MarginLeft: calc(var(--#{$menu}__header--PaddingLeft) * -1 / 2);
54
- --#{$menu}__header--c-menu__item--PaddingTop: var(--#{$pf-global}--spacer--sm);
55
- --#{$menu}__header--c-menu__item--PaddingRight: var(--#{$pf-global}--spacer--md);
56
- --#{$menu}__header--c-menu__item--PaddingBottom: var(--#{$pf-global}--spacer--sm);
57
- --#{$menu}__header--c-menu__item--PaddingLeft: var(--#{$pf-global}--spacer--md);
58
- --#{$menu}__header--c-menu__item--BackgroundColor: transparent;
59
- --#{$menu}__header--c-menu__item--hover--BackgroundColor: var(--#{$pf-global}--BackgroundColor--200);
60
- --#{$menu}__header--c-menu__item--focus--BackgroundColor: var(--#{$pf-global}--BackgroundColor--200);
61
-
62
- // Search
63
- --#{$menu}__search--PaddingTop: var(--#{$pf-global}--spacer--md);
64
- --#{$menu}__search--PaddingRight: var(--#{$pf-global}--spacer--md);
65
- --#{$menu}__search--PaddingBottom: var(--#{$pf-global}--spacer--md);
66
- --#{$menu}__search--PaddingLeft: var(--#{$pf-global}--spacer--md);
67
-
68
- // Header + search
69
- --#{$menu}__header__search--PaddingTop: 0;
70
-
71
- // List
72
- --#{$menu}__list--Display: block;
73
- --#{$menu}__list--PaddingTop: var(--#{$pf-global}--spacer--sm);
74
- --#{$menu}__list--PaddingBottom: var(--#{$pf-global}--spacer--sm);
75
-
76
- // List item
77
- --#{$menu}__list-item--Display: flex;
78
- --#{$menu}__list-item--Color: var(--#{$pf-global}--Color--100);
79
- --#{$menu}__list-item--BackgroundColor: transparent;
80
- --#{$menu}__list-item--hover--BackgroundColor: var(--#{$pf-global}--BackgroundColor--200);
81
- --#{$menu}__list-item--focus-within--BackgroundColor: var(--#{$pf-global}--BackgroundColor--200);
82
- --#{$menu}__list-item--m-loading--PaddingTop: var(--#{$pf-global}--spacer--sm);
83
-
84
- // Menu item
85
- --#{$menu}__item--PaddingTop: var(--#{$pf-global}--spacer--sm);
86
- --#{$menu}__item--PaddingRight: var(--#{$pf-global}--spacer--md);
87
- --#{$menu}__item--PaddingBottom: var(--#{$pf-global}--spacer--sm);
88
- --#{$menu}__item--PaddingLeft: var(--#{$pf-global}--spacer--md);
89
- --#{$menu}__item--OutlineOffset: calc(#{pf-size-prem(2px)} * -1);
90
- --#{$menu}__item--FontSize: var(--#{$pf-global}--FontSize--md);
91
- --#{$menu}__item--FontWeight: var(--#{$pf-global}--FontWeight--normal);
92
- --#{$menu}__item--LineHeight: var(--#{$pf-global}--LineHeight--md);
93
- --#{$menu}__list-item--m-disabled__item--Color: var(--#{$pf-global}--disabled-color--100);
94
- --#{$menu}__list-item--m-danger__item--Color: var(--#{$pf-global}--danger-color--100);
95
- --#{$menu}__list-item--m-load__item--Color: var(--#{$pf-global}--link--Color);
96
-
97
- // Group
98
- --#{$menu}__group--Display: block;
99
-
100
- // Group title
101
- --#{$menu}__group-title--PaddingTop: var(--#{$pf-global}--spacer--md);
102
- --#{$menu}__group-title--PaddingRight: var(--#{$menu}__item--PaddingRight);
103
- --#{$menu}__group-title--PaddingLeft: var(--#{$menu}__item--PaddingLeft);
104
- --#{$menu}__group-title--FontSize: var(--#{$pf-global}--FontSize--xs);
105
- --#{$menu}__group-title--FontWeight: var(--#{$pf-global}--FontWeight--normal);
106
- --#{$menu}__group-title--Color: var(--#{$pf-global}--Color--200);
107
-
108
- // Description
109
- --#{$menu}__item-description--FontSize: var(--#{$pf-global}--FontSize--xs);
110
- --#{$menu}__item-description--Color: var(--#{$pf-global}--Color--200);
111
-
112
- // Icon
113
- --#{$menu}__item-icon--MarginRight: var(--#{$pf-global}--spacer--sm);
114
-
115
- // Check
116
- --#{$menu}__item-check--MarginRight: var(--#{$pf-global}--spacer--sm);
117
-
118
- // Toggle icon
119
- --#{$menu}__item-toggle-icon--PaddingRight: var(--#{$pf-global}--spacer--sm);
120
- --#{$menu}__item-toggle-icon--PaddingLeft: var(--#{$pf-global}--spacer--sm);
121
- --#{$menu}__list-item--m-disabled__item-toggle-icon--Color: var(--#{$pf-global}--disabled-color--200);
122
-
123
- // Text + toggle
124
- --#{$menu}__item-text--item-toggle-icon--MarginLeft: var(--#{$pf-global}--spacer--sm);
125
-
126
- // Toggle + text
127
- --#{$menu}__item-toggle-icon--item-text--MarginLeft: var(--#{$pf-global}--spacer--sm);
128
-
129
- // Select icon
130
- --#{$menu}__item-select-icon--MarginLeft: var(--#{$pf-global}--spacer--sm);
131
- --#{$menu}__item-select-icon--Color: var(--#{$pf-global}--active-color--100);
132
- --#{$menu}__item-select-icon--FontSize: var(--#{$pf-global}--icon--FontSize--sm);
133
-
134
- // External icon
135
- --#{$menu}__item-external-icon--MarginLeft: var(--#{$pf-global}--spacer--sm);
136
- --#{$menu}__item-external-icon--Color: var(--#{$pf-global}--link--Color);
137
- --#{$menu}__item-external-icon--FontSize: var(--#{$pf-global}--icon--FontSize--sm);
138
- --#{$menu}__item-external-icon--Opacity: 0;
139
-
140
- // Action
141
- --#{$menu}__item-action--PaddingTop: var(--#{$pf-global}--spacer--sm);
142
- --#{$menu}__item-action--PaddingRight: var(--#{$pf-global}--spacer--md);
143
- --#{$menu}__item-action--PaddingBottom: var(--#{$pf-global}--spacer--sm);
144
- --#{$menu}__item-action--PaddingLeft: var(--#{$pf-global}--spacer--md);
145
- --#{$menu}__item-action--Color: var(--#{$pf-global}--Color--200);
146
- --#{$menu}__item-action--BackgroundColor: transparent;
147
- --#{$menu}__item-action--hover--Color: var(--#{$pf-global}--Color--100);
148
- --#{$menu}__item-action--disabled--Color: var(--#{$pf-global}--disabled-color--200);
149
- --#{$menu}__item-action--m-favorited--Color: var(--#{$pf-global}--palette--gold-400);
150
- --#{$menu}__item-action--m-favorited--hover--Color: var(--#{$pf-global}--palette--gold-500);
151
-
152
- // Action icon
153
- --#{$menu}__item-action-icon--Height: calc(var(--#{$menu}__item--FontSize) * var(--#{$menu}__item--LineHeight));
154
- --#{$menu}__item-action--m-favorite__icon--FontSize: var(--#{$pf-global}--icon--FontSize--sm);
155
-
156
- // breadcrumb
157
- --#{$menu}__breadcrumb--PaddingTop: var(--#{$pf-global}--spacer--md);
158
- --#{$menu}__breadcrumb--PaddingRight: var(--#{$pf-global}--spacer--md);
159
- --#{$menu}__breadcrumb--PaddingBottom: var(--#{$pf-global}--spacer--md);
160
- --#{$menu}__breadcrumb--PaddingLeft: var(--#{$pf-global}--spacer--md);
161
- --#{$menu}__breadcrumb--c-breadcrumb__item--FontSize: var(--#{$pf-global}--FontSize--md);
162
- --#{$menu}__breadcrumb--c-breadcrumb__heading--FontSize: var(--#{$pf-global}--FontSize--md);
163
-
164
- // Nested menu
123
+ // * Menu drilldown content
124
+ --#{$menu}--m-drilldown__content--TransitionDuration--height: var(--#{$pf-global}--TransitionDuration); // TODO: Update transition with token update
125
+ --#{$menu}--m-drilldown__content--TransitionDuration--transform: var(--#{$pf-global}--TransitionDuration); // TODO: Update transition with token update
126
+ --#{$menu}--m-drilldown__content--Transition: transform var(--#{$menu}--m-drilldown__content--TransitionDuration--transform), height var(--#{$menu}--m-drilldown__content--TransitionDuration--height);
127
+
128
+ // * Menu drilldown menu
165
129
  --#{$menu}--m-drilldown--c-menu--Top: 0;
166
130
  --#{$menu}--m-drilldown--c-menu--TransitionDuration--transform: var(--#{$pf-global}--TransitionDuration);
167
131
  --#{$menu}--m-drilldown--c-menu--Transition: transform var(--#{$menu}--m-drilldown--c-menu--TransitionDuration--transform);
168
132
 
169
- // Drilldown content
170
- --#{$menu}--m-drilldown__content--TransitionDuration--height: var(--#{$pf-global}--TransitionDuration);
171
- --#{$menu}--m-drilldown__content--TransitionDuration--transform: var(--#{$pf-global}--TransitionDuration);
172
- --#{$menu}--m-drilldown__content--Transition: transform var(--#{$menu}--m-drilldown__content--TransitionDuration--transform), height var(--#{$menu}--m-drilldown__content--TransitionDuration--height);
173
-
174
- // Drilldown list
175
- --#{$menu}--m-drilldown__list--TransitionDuration--transform: var(--#{$pf-global}--TransitionDuration);
133
+ // * Menu drilldown list
134
+ --#{$menu}--m-drilldown__list--TransitionDuration--transform: var(--#{$pf-global}--TransitionDuration); // TODO: Update transition with token update
176
135
  --#{$menu}--m-drilldown__list--Transition: transform var(--#{$menu}--m-drilldown__list--TransitionDuration--transform);
177
136
 
178
- // Drilled in
179
- --#{$menu}--m-drilled-in--c-menu__list-item--m-current-path--c-menu--ZIndex: var(--#{$pf-global}--ZIndex--xs);
137
+ // * Menu drilled in
138
+ --#{$menu}--m-drilled-in--c-menu__list-item--m-current-path--c-menu--ZIndex: var(--pf-t--global--Zindex--xs);
139
+ }
180
140
 
181
- // Footer
182
- --#{$menu}__footer--PaddingTop: var(--#{$pf-global}--spacer--md);
183
- --#{$menu}__footer--PaddingRight: var(--#{$pf-global}--spacer--md);
184
- --#{$menu}__footer--PaddingBottom: var(--#{$pf-global}--spacer--md);
185
- --#{$menu}__footer--PaddingLeft: var(--#{$pf-global}--spacer--md);
186
- --#{$menu}__footer--BoxShadow: none;
187
- --#{$menu}__footer--after--BorderTopWidth: var(--#{$pf-global}--BorderWidth--sm);
188
- --#{$menu}__footer--after--BorderTopColor: var(--#{$pf-global}--BorderColor--100);
189
- --#{$menu}--m-scrollable__footer--BoxShadow: var(--#{$pf-global}--BoxShadow--sm-top);
190
- --#{$menu}--m-scrollable__footer--after--BorderTopWidth: 0;
191
- --#{$menu}--m-scrollable__footer--after--BorderBottomWidth: var(--#{$pf-global}--BorderWidth--sm);
192
-
193
- // Nav variant
194
- --#{$menu}--m-nav--BoxShadow: var(--#{$pf-global}--BoxShadow--lg);
195
- --#{$menu}--m-nav--BackgroundColor: var(--#{$pf-global}--BackgroundColor--dark-300);
196
- --#{$menu}--m-nav__list--PaddingTop: 0;
197
- --#{$menu}--m-nav__list--PaddingBottom: 0;
198
- --#{$menu}--m-nav__list-item--hover--BackgroundColor: var(--#{$pf-global}--BackgroundColor--dark-200);
199
- --#{$menu}--m-nav__list-item--focus-within--BackgroundColor: var(--#{$pf-global}--BackgroundColor--dark-200);
200
- --#{$menu}--m-nav__list-item--active--BackgroundColor: var(--#{$pf-global}--BackgroundColor--dark-200);
201
- --#{$menu}--m-nav__item--PaddingRight: var(--#{$pf-global}--spacer--lg);
202
- --#{$menu}--m-nav__item--PaddingLeft: var(--#{$pf-global}--spacer--lg);
203
- --#{$menu}--m-nav__item--Color: var(--#{$pf-global}--Color--light-100);
204
- --#{$menu}--m-nav__item--FontSize: var(--#{$pf-global}--FontSize--sm);
205
- --#{$menu}--m-nav__item--OutlineOffset: calc(var(--#{$pf-global}--spacer--xs) * -1);
206
- --#{$menu}--m-nav__item--before--BorderBottomColor: var(--#{$pf-global}--BackgroundColor--dark-200);
207
- --#{$menu}--m-nav__item--before--BorderBottomWidth: var(--#{$pf-global}--BorderWidth--sm);
208
- --#{$menu}--m-nav__item--hover--after--BorderLeftColor: var(--#{$pf-global}--BorderColor--200);
209
- --#{$menu}--m-nav__item--hover--after--BorderLeftWidth: var(--#{$pf-global}--BorderWidth--sm);
210
- --#{$menu}--m-nav__item--hover--after--Top: calc(var(--#{$menu}--m-nav__item--before--BorderBottomWidth) * -1);
211
- --#{$menu}--m-nav__item__list-item--first-child__item--hover--after--Top: 0;
212
- --#{$menu}--m-nav__item-description--Color: var(--#{$pf-global}--Color--light-200);
213
-
214
- // Nav nested menus
215
- --#{$menu}--m-nav--c-menu--left-offset: #{pf-size-prem(4px)};
216
- --#{$menu}--m-nav--c-menu--m-top--bottom-offset: 0;
217
- --#{$menu}--m-nav--c-menu--m-left--right-offset: #{pf-size-prem(4px)};
218
- --#{$menu}--m-nav--c-menu--Top: calc(var(--#{$menu}--m-nav__item--before--BorderBottomWidth) * -1);
219
- --#{$menu}--m-nav--c-menu--Left: calc(100% - var(--#{$menu}--m-nav--c-menu--left-offset));
220
- --#{$menu}--m-nav--c-menu--m-left--Right: calc(100% - var(--#{$menu}--m-nav--c-menu--m-left--right-offset));
221
- --#{$menu}--m-nav--c-menu--m-top--Bottom: calc(0 + var(--#{$menu}--m-nav--c-menu--m-top--bottom-offset));
222
- --#{$menu}--m-nav__list-item--first-child--c-menu--Top: 0;
223
-
224
- inset-block-start: var(--#{$menu}--Top);
225
- z-index: var(--#{$menu}--ZIndex);
141
+ // - Menu shared display grid
142
+ .#{$menu},
143
+ .#{$menu}__list,
144
+ .#{$menu}__group {
145
+ @include pf-v5-hidden-visible(grid);
146
+ }
147
+
148
+ // - Menu shared display flex
149
+ .#{$menu}__content,
150
+ .#{$menu}__list-item,
151
+ .#{$menu}__item,
152
+ .#{$menu}__item-main,
153
+ .#{$menu}__breadcrumb,
154
+ .#{$menu}__item-check,
155
+ .#{$menu}__item-action,
156
+ .#{$menu}__item-action-icon {
157
+ @include pf-v5-hidden-visible(flex);
158
+ }
159
+
160
+ // - Menu shared position relative
161
+ .#{$menu}__list,
162
+ .#{$menu}__list-item,
163
+ .#{$menu}__breadcrumb,
164
+ .#{$menu}__footer {
165
+ position: relative;
166
+ }
167
+
168
+ // - Menu item disabled - Menu action disabled
169
+ .#{$menu}__list-item,
170
+ .#{$menu}__item-action {
171
+ &:is(.pf-m-disabled, :disabled, .pf-m-aria-disabled, [aria-disabled="true"]) {
172
+ --#{$menu}__item--Color: var(--#{$menu}__item--m-disabled--Color);
173
+ --#{$menu}__item-toggle-icon--Color: var(--#{$menu}--icon--disabled--Color);
174
+ --#{$menu}__item-external-icon--Color: var(--#{$menu}--icon--disabled--Color);
175
+ --#{$menu}__item-description--Color: var(--#{$menu}--icon--disabled--Color);
176
+ --#{$menu}__list-item--BackgroundColor: transparent;
177
+
178
+ pointer-events: none;
179
+ }
180
+ }
181
+
182
+ // - Menu hidden
183
+ [class*="#{$menu}"]:is([hidden]) {
184
+ display: none;
185
+ }
186
+
187
+ // TODO: simplify this code block
188
+ // - Menu
189
+ .#{$menu} {
190
+ // TODO: Explore this fallback method
191
+ // padding-block-start: var(--#{$menu}--PaddingBlockStart, var(--#{$menu}--PaddingBlock));
192
+ // padding-block-end: var(--#{$menu}--PaddingBlockEnd, var(--#{$menu}--PaddingBlock));
193
+ row-gap: var(--#{$menu}--RowGap);
226
194
  width: var(--#{$menu}--Width);
227
195
  min-width: var(--#{$menu}--MinWidth);
196
+ padding-block-start: var(--#{$menu}--PaddingBlockStart);
197
+ padding-block-end: var(--#{$menu}--PaddingBlockEnd);
198
+ overflow: hidden;
199
+ color: var(--#{$menu}--Color);
228
200
  background-color: var(--#{$menu}--BackgroundColor);
201
+ border-radius: var(--#{$menu}--BorderRadius);
229
202
  box-shadow: var(--#{$menu}--BoxShadow);
230
203
 
204
+ .#{$menu} {
205
+ min-width: 100%;
206
+ border-radius: 0;
207
+ }
208
+
231
209
  .#{$menu}__content {
232
210
  & & {
233
211
  overflow: visible;
234
212
  }
235
213
  }
236
214
 
237
- .#{$divider} {
238
- margin-block-start: var(--#{$menu}--c-divider--MarginTop);
239
- margin-block-end: var(--#{$menu}--c-divider--MarginBottom);
215
+ // - Menu nested flyout menu
216
+ &.pf-m-flyout,
217
+ &.pf-m-flyout &,
218
+ & &.pf-m-flyout,
219
+ &.pf-m-flyout .#{$menu}__content {
220
+ overflow: visible;
240
221
  }
241
222
 
242
- // nested flyout menu
243
223
  & &.pf-m-flyout,
244
224
  &.pf-m-flyout & {
245
225
  position: absolute;
@@ -247,6 +227,8 @@
247
227
  inset-block-end: var(--#{$menu}--m-flyout__menu--Bottom);
248
228
  inset-inline-start: var(--#{$menu}--m-flyout__menu--Left);
249
229
  inset-inline-end: var(--#{$menu}--m-flyout__menu--Right);
230
+ z-index: var(--#{$menu}--m-flyout__Zindex);
231
+ border-radius: var(--#{$menu}--BorderRadius);
250
232
 
251
233
  .#{$menu}__content {
252
234
  overflow-y: visible;
@@ -264,19 +246,15 @@
264
246
  }
265
247
 
266
248
  &.pf-m-drilldown {
267
- display: flex;
268
- flex-direction: column;
269
-
270
- &[hidden] {
271
- display: none;
272
- }
273
-
274
249
  > .#{$menu}__content {
275
- flex-grow: 1;
276
250
  overflow: hidden;
277
251
  transition: var(--#{$menu}--m-drilldown__content--Transition);
278
252
  }
279
253
 
254
+ :where(.#{$menu}) {
255
+ padding: 0;
256
+ }
257
+
280
258
  &.pf-m-drilled-in {
281
259
  // stylelint-disable selector-max-class
282
260
  // target first list in menu
@@ -286,19 +264,18 @@
286
264
  $prop: transform,
287
265
  $ltr-val: translateX(-100%),
288
266
  $rtl-val: translateX(#{pf-v5-calc-inverse(-100%)})
289
- );
267
+ );
290
268
  }
291
269
  // stylelint-enable
292
270
  }
293
271
 
294
- // Nested menu
272
+ // - Menu nested menu
295
273
  > .#{$menu}__content .#{$menu} {
296
- --#{$menu}--BoxShadow: none;
297
-
298
274
  position: absolute;
299
- inset-block-start: var(--#{$menu}--m-drilldown--c-menu--Top);
300
- inset-inline-start: 100%;
275
+ inset-block-start: var(--#{$menu}--m-drilldown--c-menu--Top);
276
+ inset-inline-start: 100%;
301
277
  width: 100%;
278
+ box-shadow: none;
302
279
  transition: var(--#{$menu}--m-drilldown--c-menu--Transition);
303
280
 
304
281
  // stylelint-disable selector-max-class
@@ -312,15 +289,15 @@
312
289
  // stylelint-enable
313
290
  }
314
291
 
292
+ // - Menu list
315
293
  .#{$menu}__list {
316
- position: relative;
317
294
  overflow: hidden;
318
295
  visibility: visible;
319
296
  transition: var(--#{$menu}--m-drilldown__list--Transition);
320
297
 
321
298
  & .#{$menu}__list {
322
- --#{$menu}__list--PaddingTop: 0;
323
- --#{$menu}__list--PaddingBottom: 0;
299
+ --#{$menu}__list--PaddingBlockStart: 0;
300
+ --#{$menu}__list--PaddingBlockEnd: 0;
324
301
  }
325
302
  }
326
303
 
@@ -348,12 +325,12 @@
348
325
  display: none;
349
326
  }
350
327
  }
328
+ // stylelint-enable
351
329
 
352
330
  .#{$menu}__item {
353
- outline-offset: var(--#{$menu}__item--OutlineOffset);
331
+ outline-offset: var(--#{$menu}--OutlineOffset);
354
332
  }
355
333
  }
356
- // stylelint-enable
357
334
 
358
335
  // stylelint-disable selector-max-class
359
336
  &.pf-m-drilled-in > .#{$menu}__content > .#{$menu}__list {
@@ -378,109 +355,66 @@
378
355
  &.pf-m-scrollable {
379
356
  --#{$menu}__content--MaxHeight: var(--#{$menu}--m-scrollable__content--MaxHeight);
380
357
  --#{$menu}__footer--BoxShadow: var(--#{$menu}--m-scrollable__footer--BoxShadow);
381
- --#{$menu}__footer--after--BorderTopWidth: var(--#{$menu}--m-scrollable__footer--after--BorderTopWidth);
382
-
383
- .#{$menu}__content {
384
- overflow-y: auto;
385
- }
386
- }
387
-
388
- &.pf-m-nav,
389
- &.pf-m-nav & {
390
- --#{$menu}--BackgroundColor: var(--#{$menu}--m-nav--BackgroundColor);
391
- --#{$menu}__list--PaddingTop: var(--#{$menu}--m-nav__list--PaddingTop);
392
- --#{$menu}__list--PaddingBottom: var(--#{$menu}--m-nav__list--PaddingBottom);
393
- --#{$menu}__list-item--hover--BackgroundColor: var(--#{$menu}--m-nav__list-item--hover--BackgroundColor);
394
- --#{$menu}__list-item--focus-within--BackgroundColor: var(--#{$menu}--m-nav__list-item--focus-within--BackgroundColor);
395
- --#{$menu}__list-item--active--BackgroundColor: var(--#{$menu}--m-nav__list-item--active--BackgroundColor);
396
- --#{$menu}__item--Color: var(--#{$menu}--m-nav__item--Color);
397
- --#{$menu}__item--FontSize: var(--#{$menu}--m-nav__item--FontSize);
398
- --#{$menu}__item--OutlineOffset: var(--#{$menu}--m-nav__item--OutlineOffset);
399
- --#{$menu}__item--PaddingRight: var(--#{$menu}--m-nav__item--PaddingRight);
400
- --#{$menu}__item--PaddingLeft: var(--#{$menu}--m-nav__item--PaddingLeft);
401
- --#{$menu}__item-description--Color: var(--#{$menu}--m-nav__item-description--Color);
402
-
403
- box-shadow: var(--#{$menu}--m-nav--BoxShadow);
404
-
405
- // stylelint-disable max-nesting-depth, selector-max-class
406
- .#{$menu}__item {
407
- position: relative;
408
- outline-offset: var(--#{$nav}__item--m-flyout--c-menu__item--OutlineOffset);
409
-
410
- &::before {
411
- position: absolute;
412
- inset-block-end: 0;
413
- inset-inline-start: 0;
414
- inset-inline-end: 0;
415
- content: "";
416
- border-block-end: var(--#{$menu}--m-nav__item--before--BorderBottomWidth) solid var(--#{$menu}--m-nav__item--before--BorderBottomColor);
417
- }
418
-
419
- &:hover {
420
- &::after {
421
- position: absolute;
422
- inset-block-start: var(--#{$menu}--m-nav__item--hover--after--Top);
423
- inset-block-end: 0;
424
- inset-inline-start: 0;
425
- content: "";
426
- border-inline-start: var(--#{$menu}--m-nav__item--hover--after--BorderLeftWidth) solid var(--#{$menu}--m-nav__item--hover--after--BorderLeftColor);
427
- }
428
- }
429
- }
430
- // stylelint-enable
431
- }
432
-
433
- &.pf-m-nav & {
434
- width: 100%;
435
- }
436
-
437
- &.pf-m-flyout.pf-m-nav,
438
- &.pf-m-flyout.pf-m-nav & {
439
- inset-block-start: var(--#{$menu}--m-nav--c-menu--Top);
440
- inset-inline-start: var(--#{$menu}--m-nav--c-menu--Left);
358
+ --#{$menu}__footer--PaddingBlockStart: calc(var(--#{$menu}__item--PaddingBlockStart) + var(--#{$menu}--RowGap));
359
+ --#{$menu}__footer--PaddingBlockEnd: calc(var(--#{$menu}__item--PaddingBlockStart) + var(--#{$menu}--RowGap));
441
360
 
442
- // stylelint-disable selector-max-class
443
- &.pf-m-top {
444
- --#{$menu}--m-nav--c-menu--Top: auto;
361
+ overflow: hidden; // hide scrollbars
445
362
 
446
- inset-block-end: var(--#{$menu}--m-nav--c-menu--m-top--Bottom);
363
+ &:has(.#{$menu}__footer) {
364
+ --#{$menu}--PaddingBlockEnd: 0;
447
365
  }
448
366
 
449
- &.pf-m-left {
450
- --#{$menu}--m-nav--c-menu--Left: auto;
451
-
452
- inset-inline-end: var(--#{$menu}--m-nav--c-menu--m-left--Right);
367
+ .#{$menu}__content,
368
+ .#{$menu}__list {
369
+ overflow-y: auto;
453
370
  }
454
371
 
455
- .#{$menu}__list-item:first-child {
456
- --#{$menu}--m-nav__item--hover--after--Top: var(--#{$menu}--m-nav__item__list-item--first-child__item--hover--after--Top);
372
+ // offset row-gap when scrollbar is present
373
+ .#{$menu}__content {
374
+ // TODO: figure out why this fixes the scrollable
375
+ position: relative;
376
+ z-index: var(--#{$menu}--ZIndex);
377
+ margin-block-start: calc(var(--#{$menu}--RowGap) * -1);
378
+ margin-block-end: calc(var(--#{$menu}--RowGap) * -1);
379
+ overflow: hidden; // hide scrollbars
457
380
  }
458
381
 
459
- .#{$menu}__list-item:first-child .#{$menu} {
460
- --#{$menu}--m-nav--c-menu--Top: var(--#{$menu}--m-nav__list-item--first-child--c-menu--Top);
382
+ .#{$menu}__list {
383
+ padding-block-start: var(--#{$menu}--RowGap);
384
+ padding-block-end: var(--#{$menu}--RowGap);
461
385
  }
462
- // stylelint-enable
463
386
  }
464
387
  }
465
388
 
466
- // breadcrumb
467
- .#{$menu}__breadcrumb {
468
- display: flex;
469
- align-items: center;
470
- min-height: var(--#{$menu}__breadcrumb--MinHeight);
471
- padding-block-start: var(--#{$menu}__breadcrumb--PaddingTop);
472
- padding-block-end: var(--#{$menu}__breadcrumb--PaddingBottom);
473
- padding-inline-start: var(--#{$menu}__breadcrumb--PaddingLeft);
474
- padding-inline-end: var(--#{$menu}__breadcrumb--PaddingRight);
475
-
476
- .#{$breadcrumb} {
477
- --#{$breadcrumb}__item--FontSize: var(--#{$menu}__breadcrumb--c-breadcrumb__item--FontSize);
478
- --#{$breadcrumb}__heading--FontSize: var(--#{$menu}__breadcrumb--c-breadcrumb__heading--FontSize);
479
- }
389
+ // - Menu header
390
+ .#{$menu}__header {
391
+ padding-block-start: var(--#{$menu}__header--PaddingBlockStart);
392
+ padding-block-end: var(--#{$menu}__header--PaddingBlockEnd);
393
+ padding-inline-start: var(--#{$menu}__header--PaddingInlineStart);
394
+ padding-inline-end: var(--#{$menu}__header--PaddingInlineEnd);
395
+ }
396
+
397
+ // - Menu search
398
+ .#{$menu}__search {
399
+ padding-block-start: var(--#{$menu}__search--PaddingBlockStart);
400
+ padding-block-end: var(--#{$menu}__search--PaddingBlockEnd);
401
+ padding-inline-start: var(--#{$menu}__search--PaddingInlineStart);
402
+ padding-inline-end: var(--#{$menu}__search--PaddingInlineEnd);
480
403
  }
481
404
 
482
- // content
405
+ // - Menu footer
406
+ .#{$menu}__footer {
407
+ padding-block-start: var(--#{$menu}__footer--PaddingBlockStart);
408
+ padding-block-end: var(--#{$menu}__footer--PaddingBlockEnd);
409
+ padding-inline-start: var(--#{$menu}__footer--PaddingInlineStart);
410
+ padding-inline-end: var(--#{$menu}__footer--PaddingInlineEnd);
411
+ box-shadow: var(--#{$menu}__footer--BoxShadow);
412
+ }
413
+
414
+ // - Menu content
483
415
  .#{$menu}__content {
416
+ flex-direction: column;
417
+ row-gap: var(--#{$menu}__content--RowGap);
484
418
  height: var(--#{$menu}__content--Height);
485
419
  max-height: var(--#{$menu}__content--MaxHeight);
486
420
 
@@ -489,294 +423,205 @@
489
423
  }
490
424
  }
491
425
 
492
- // Header
493
- .#{$menu}__header {
494
- --#{$menu}__item--PaddingTop: var(--#{$menu}__header--c-menu__item--PaddingTop);
495
- --#{$menu}__item--PaddingRight: var(--#{$menu}__header--c-menu__item--PaddingRight);
496
- --#{$menu}__item--PaddingBottom: var(--#{$menu}__header--c-menu__item--PaddingBottom);
497
- --#{$menu}__item--PaddingLeft: var(--#{$menu}__header--c-menu__item--PaddingLeft);
498
-
499
- padding-block-start: var(--#{$menu}__header--PaddingTop);
500
- padding-block-end: var(--#{$menu}__header--PaddingBottom);
501
- padding-inline-start: var(--#{$menu}__header--PaddingLeft);
502
- padding-inline-end: var(--#{$menu}__header--PaddingRight);
503
-
504
- > .#{$menu}__item {
505
- --#{$menu}__item--BackgroundColor: var(--#{$menu}__header--c-menu__item--BackgroundColor);
506
-
507
- margin-block-start: var(--#{$menu}__header--c-menu__item--MarginTop);
508
- margin-block-end: var(--#{$menu}__header--c-menu__item--MarginBottom);
509
- margin-inline-start: var(--#{$menu}__header--c-menu__item--MarginLeft);
510
- margin-inline-end: var(--#{$menu}__header--c-menu__item--MarginRight);
511
-
512
- &:hover {
513
- --#{$menu}__item--BackgroundColor: var(--#{$menu}__header--c-menu__item--hover--BackgroundColor);
514
- }
515
-
516
- &:focus {
517
- --#{$menu}__item--BackgroundColor: var(--#{$menu}__header--c-menu__item--focus--BackgroundColor);
518
- }
519
- }
520
-
521
- + .#{$menu}__search {
522
- --#{$menu}__search--PaddingTop: var(--#{$menu}__header__search--PaddingTop);
523
- }
524
- }
525
-
526
- // Search
527
- .#{$menu}__search {
528
- padding-block-start: var(--#{$menu}__search--PaddingTop);
529
- padding-block-end: var(--#{$menu}__search--PaddingBottom);
530
- padding-inline-start: var(--#{$menu}__search--PaddingLeft);
531
- padding-inline-end: var(--#{$menu}__search--PaddingRight);
532
- }
533
-
534
- // List
535
- .#{$menu}__list {
536
- @include pf-v5-hidden-visible(var(--#{$menu}__list--Display));
537
-
538
- padding-block-start: var(--#{$menu}__list--PaddingTop);
539
- padding-block-end: var(--#{$menu}__list--PaddingBottom);
540
-
541
- > .#{$divider} {
542
- margin-block-start: var(--#{$menu}__list--c-divider--MarginTop);
543
- margin-block-end: var(--#{$menu}__list--c-divider--MarginBottom);
544
- }
426
+ // - Menu list
427
+ .#{$menu}__list :where(.#{$divider}:is(li)) {
428
+ margin-block-start: var(--#{$menu}__list--divider--MarginTop);
429
+ margin-block-end: var(--#{$menu}__list--divider--MarginBottom);
545
430
  }
546
431
 
547
- // List item
432
+ // - Menu list item
548
433
  .#{$menu}__list-item {
549
- @include pf-v5-hidden-visible(var(--#{$menu}__list-item--Display));
550
-
551
- position: relative;
552
- color: var(--#{$menu}__list-item--Color);
553
- background-color: var(--#{$menu}__list-item--BackgroundColor);
554
-
555
- &:hover {
556
- --#{$menu}__list-item--BackgroundColor: var(--#{$menu}__list-item--hover--BackgroundColor);
557
- --#{$menu}__list-item--Color: var(--#{$menu}__list-item--hover--Color, inherit);
558
- }
559
-
560
- &:focus-within,
561
- &.pf-m-focus {
562
- --#{$menu}__list-item--BackgroundColor: var(--#{$menu}__list-item--focus-within--BackgroundColor);
563
- --#{$menu}__list-item--Color: var(--#{$menu}__list-item--focus-within--Color, inherit);
564
- }
565
-
566
- &.pf-m-disabled,
567
- &.pf-m-aria-disabled {
568
- --#{$menu}__list-item--hover--BackgroundColor: transparent;
569
- --#{$menu}__item--Color: var(--#{$menu}__list-item--m-disabled__item--Color);
570
- --#{$menu}__item-toggle-icon: var(--#{$menu}__list-item--m-disabled__item-toggle-icon--Color);
571
- }
572
-
573
- &.pf-m-disabled {
574
- --#{$menu}__list-item--focus-within--BackgroundColor: transparent;
434
+ align-items: baseline;
435
+ min-width: 0; // allow list item to shrink for text overflow
575
436
 
576
- pointer-events: none;
437
+ > * {
438
+ position: relative;
577
439
  }
578
440
 
579
- &.pf-m-aria-disabled .#{$menu}__item {
580
- cursor: default;
441
+ &::before {
442
+ position: absolute;
443
+ inset: 0;
444
+ content: "";
445
+ background-color: var(--#{$menu}__list-item--BackgroundColor);
581
446
  }
582
447
 
448
+ // - Menu item load
583
449
  &.pf-m-load {
584
- --#{$menu}__list-item--hover--BackgroundColor: transparent;
585
- --#{$menu}__list-item--focus-within--BackgroundColor: transparent;
586
450
  --#{$menu}__item--Color: var(--#{$menu}__list-item--m-load__item--Color);
587
451
  }
588
452
 
453
+ // - Menu item loading
589
454
  &.pf-m-loading {
590
- --#{$menu}__list-item--hover--BackgroundColor: transparent;
591
- --#{$menu}__list-item--focus-within--BackgroundColor: transparent;
592
-
593
455
  justify-content: center;
594
- padding-block-start: var(--#{$menu}__list-item--m-loading--PaddingTop);
595
456
  overflow: hidden; // prevents spinner rotation from overflowing
457
+ pointer-events: none;
458
+
459
+ .#{$menu}__item-text {
460
+ text-align: center;
461
+ }
596
462
  }
597
463
 
464
+ // - Menu item danger
598
465
  &.pf-m-danger {
599
- --#{$menu}__item--Color: var(--#{$menu}__list-item--m-danger__item--Color, inherit);
466
+ --#{$menu}__item--Color: var(--#{$menu}__list-item--m-danger--Color);
467
+
468
+ &:is(:hover, :focus) {
469
+ --#{$menu}__item--Color: var(--#{$menu}__list-item--m-danger--hover--Color, var(--#{$menu}__list-item--m-danger--Color));
470
+ }
471
+ }
472
+
473
+ &:has(.#{$menu}__item-action) {
474
+ padding-inline-end: var(--#{$menu}__list-item--has--menu-action--PaddingInlineEnd);
475
+ }
476
+
477
+ &:has(> :hover) {
478
+ --#{$menu}__list-item--BackgroundColor: var(--#{$menu}__list-item--hover--BackgroundColor);
479
+
480
+ .#{$menu}__item-select-icon,
481
+ .#{$menu}__item-external-icon {
482
+ opacity: 1;
483
+ }
600
484
  }
601
485
  }
602
486
 
603
- // Item
487
+ // TODO: organize these in order of importance
488
+ // - Menu item
604
489
  .#{$menu}__item {
605
- display: flex;
606
490
  flex-basis: 100%;
607
491
  flex-direction: column;
608
492
  min-width: 0;
609
- padding-block-start: var(--#{$menu}__item--PaddingTop);
610
- padding-block-end: var(--#{$menu}__item--PaddingBottom);
611
- padding-inline-start: var(--#{$menu}__item--PaddingLeft);
612
- padding-inline-end: var(--#{$menu}__item--PaddingRight);
493
+ padding-block-start: var(--#{$menu}__item--PaddingBlockStart);
494
+ padding-block-end: var(--#{$menu}__item--PaddingBlockEnd);
495
+ padding-inline-start: var(--#{$menu}__item--PaddingInlineStart);
496
+ padding-inline-end: var(--#{$menu}__item--PaddingInlineEnd);
613
497
  font-size: var(--#{$menu}__item--FontSize);
614
498
  font-weight: var(--#{$menu}__item--FontWeight);
615
499
  line-height: var(--#{$menu}__item--LineHeight);
616
500
  color: var(--#{$menu}__item--Color);
617
501
  text-align: start;
502
+ text-decoration: none;
618
503
  background-color: var(--#{$menu}__item--BackgroundColor);
619
- border: none;
504
+ border: 0;
505
+ outline-offset: var(--#{$menu}--OutlineOffset);
620
506
 
621
- &:hover {
622
- text-decoration: none;
623
- }
624
-
625
- &:hover,
626
- &:focus {
627
- --#{$menu}__item-external-icon--Opacity: 1;
507
+ &.pf-m-selected {
508
+ --#{$menu}__item-select-icon--Color: var(--#{$menu}__item--m-selected__item-select-icon--Color);
628
509
  }
629
510
 
630
- &.pf-m-selected {
631
- .#{$menu}__item-select-icon {
511
+ &:is(:hover, :focus, :active, .pf-m-selected) {
512
+ .#{$menu}__item-select-icon,
513
+ .#{$menu}__item-external-icon {
632
514
  opacity: 1;
633
515
  }
634
- }
635
516
 
636
- @at-root label#{&}:where(:not([disabled], .pf-m-disabled, .pf-m-aria-disabled)) {
637
- cursor: pointer;
517
+ .#{$menu}__item-external-icon {
518
+ color: var(--#{$menu}__item-external--Color);
519
+ }
638
520
  }
639
521
  }
640
522
 
523
+ // - Menu item select icon
524
+ .#{$menu}__item-select-icon {
525
+ color: var(--#{$menu}__item-select-icon--Color);
526
+ }
527
+
528
+ // - Menu item main
641
529
  .#{$menu}__item-main {
642
- display: flex;
530
+ column-gap: var(--#{$menu}__item-main--ColumnGap);
643
531
  align-items: center;
644
532
  width: 100%;
645
533
  }
646
534
 
647
- .#{$menu}__item-external-icon {
648
- margin-inline-start: var(--#{$menu}__item-external-icon--MarginLeft);
649
- font-size: var(--#{$menu}__item-external-icon--FontSize);
650
- color: var(--#{$menu}__item-external-icon--Color);
651
- opacity: var(--#{$menu}__item-external-icon--Opacity);
652
- }
653
-
654
- // Item text
535
+ // - Menu item text
655
536
  .#{$menu}__item-text {
656
537
  @include pf-v5-text-overflow;
657
538
 
658
539
  flex-grow: 1;
659
540
  }
660
541
 
661
- // Group
662
- .#{$menu}__group {
663
- @include pf-v5-hidden-visible(var(--#{$menu}__group--Display));
664
- }
665
-
666
- // Group title
542
+ // - Menu group title
667
543
  .#{$menu}__group-title {
668
- padding-block-start: var(--#{$menu}__group-title--PaddingTop);
669
- padding-inline-start: var(--#{$menu}__group-title--PaddingLeft);
670
- padding-inline-end: var(--#{$menu}__group-title--PaddingRight);
671
- font-size: var(--#{$menu}__group-title--FontSize);
672
- font-weight: var(--#{$menu}__group-title--FontWeight);
544
+ padding-block-start: var(--#{$menu}__group-title--PaddingBlockStart);
545
+ padding-block-end: var(--#{$menu}__group-title--PaddingBlockEnd);
546
+ padding-inline-start: var(--#{$menu}__group-title--PaddingInlineStart);
547
+ padding-inline-end: var(--#{$menu}__group-title--PaddingInlineEnd);
548
+ font-size: var(--#{$menu}__group-title--FontSize, inherit);
549
+ font-weight: var(--#{$menu}__group-title--FontWeight, inherit);
673
550
  color: var(--#{$menu}__group-title--Color);
674
551
  }
675
552
 
676
- // Description
553
+ // - Menu description
677
554
  .#{$menu}__item-description {
678
555
  font-size: var(--#{$menu}__item-description--FontSize);
679
556
  color: var(--#{$menu}__item-description--Color);
680
557
  word-break: break-word;
681
558
  }
682
559
 
683
- // General icon
684
- .#{$menu}__item-icon {
685
- margin-inline-end: var(--#{$menu}__item-icon--MarginRight);
686
- }
560
+ // - Menu check
561
+ .#{$menu}__item-check .#{$check} {
562
+ --pf-v5-c-check__input--TranslateY: none;
687
563
 
688
- // Check
689
- .#{$menu}__item-check {
690
- display: flex;
691
- align-items: center;
692
- margin-inline-end: var(--#{$menu}__item-check--MarginRight);
564
+ // expand clickable area to full width/height of list__item
565
+ input::before {
566
+ position: absolute;
567
+ inset: 0;
568
+ content: "";
569
+ }
693
570
  }
694
571
 
695
- // Toggle icon
572
+ // - Menu toggle icon
696
573
  .#{$menu}__item-toggle-icon {
697
574
  @include pf-v5-mirror-inline-on-rtl;
698
-
699
- padding-inline-start: var(--#{$menu}__item-toggle-icon--PaddingLeft);
700
- padding-inline-end: var(--#{$menu}__item-toggle-icon--PaddingRight);
701
- color: var(--#{$menu}__item-toggle-icon, inherit);
702
- }
703
575
 
704
- .#{$menu}__item-text + .#{$menu}__item-toggle-icon {
705
- margin-inline-start: var(--#{$menu}__item-text--item-toggle-icon--MarginLeft);
576
+ color: var(--#{$menu}__item-toggle-icon--Color, inherit);
706
577
  }
707
578
 
708
- .#{$menu}__item-toggle-icon + .#{$menu}__item-text {
709
- margin-inline-start: var(--#{$menu}__item-toggle-icon--item-text--MarginLeft);
579
+ // - Menu item icon
580
+ .#{$menu}__item-icon {
581
+ color: var(--#{$menu}__item--icon--Color, inherit);
710
582
  }
711
583
 
712
- // Select icon
713
- .#{$menu}__item-select-icon {
714
- margin-inline-start: var(--#{$menu}__item-select-icon--MarginLeft);
715
- font-size: var(--#{$menu}__item-select-icon--FontSize);
716
- color: var(--#{$menu}__item-select-icon--Color);
584
+ // - Menu item select icon - Menu item external icon
585
+ .#{$menu}__item-select-icon,
586
+ .#{$menu}__item-external-icon {
717
587
  opacity: 0;
718
588
  }
719
589
 
720
- // Actions
590
+ // TODO: standardize icon fitting
591
+ // - Menu item action
592
+ .#{$menu}__item-toggle-icon,
721
593
  .#{$menu}__item-action {
722
- display: flex;
723
- padding-block-start: var(--#{$menu}__item-action--PaddingTop);
724
- padding-block-end: var(--#{$menu}__item-action--PaddingBottom);
725
- padding-inline-start: var(--#{$menu}__item-action--PaddingLeft);
726
- padding-inline-end: var(--#{$menu}__item-action--PaddingRight);
727
- color: var(--#{$menu}__item-action--Color);
728
- background-color: var(--#{$menu}__item-action--BackgroundColor);
729
- border: none;
730
-
731
- &.pf-m-favorite {
732
- .#{$menu}__item-action-icon {
733
- font-size: var(--#{$menu}__item-action--m-favorite__icon--FontSize);
734
- }
735
- }
736
-
737
- &.pf-m-favorited {
594
+ &.pf-m-favorited,
595
+ &.pf-m-favorited:hover,
596
+ &.pf-m-favorited .#{$button} {
597
+ --#{$button}--Color: var(--#{$menu}__item-action--m-favorited--Color);
738
598
  --#{$menu}__item-action--Color: var(--#{$menu}__item-action--m-favorited--Color);
739
- --#{$menu}__item-action--hover--Color: var(--#{$menu}__item-action--m-favorited--hover--Color);
740
- }
741
-
742
- &:hover,
743
- &:focus {
744
- --#{$menu}__item-action--Color: var(--#{$menu}__item-action--hover--Color);
745
- }
746
-
747
- &:disabled,
748
- &.pf-m-disabled,
749
- &.pf-m-aria-disabled {
750
- --#{$menu}__item-action--Color: var(--#{$menu}__item-action--disabled--Color);
751
599
  }
752
600
  }
753
601
 
754
- .#{$menu}__item-action-icon {
755
- display: flex;
756
- align-items: center;
757
- height: var(--#{$menu}__item-action-icon--Height);
758
- }
602
+ // - Menu breadcrumb
603
+ .#{$menu}__breadcrumb {
604
+ --#{$breadcrumb}__item--FontSize: var(--#{$menu}__breadcrumb--FontSize);
759
605
 
760
- .#{$menu}__footer {
761
- position: relative;
762
- padding-block-start: var(--#{$menu}__footer--PaddingTop);
763
- padding-block-end: var(--#{$menu}__footer--PaddingBottom);
764
- padding-inline-start: var(--#{$menu}__footer--PaddingLeft);
765
- padding-inline-end: var(--#{$menu}__footer--PaddingRight);
766
- box-shadow: var(--#{$menu}__footer--BoxShadow);
606
+ padding-block-start: var(--#{$menu}__breadcrumb--PaddingBlockStart);
607
+ padding-block-end: var(--#{$menu}__breadcrumb--PaddingBlockEnd);
608
+ padding-inline-start: var(--#{$menu}__breadcrumb--PaddingInlineStart);
609
+ padding-inline-end: var(--#{$menu}__breadcrumb--PaddingInlineEnd);
767
610
 
768
- &::after {
769
- position: absolute;
770
- inset: 0;
771
- pointer-events: none;
772
- content: "";
773
- border-block-start: var(--#{$menu}__footer--after--BorderTopWidth) solid var(--#{$menu}__footer--after--BorderTopColor);
611
+ .#{$menu} {
612
+ min-width: auto;
613
+ padding-block-start: var(--#{$menu}--PaddingBlockStart);
614
+ padding-block-end: var(--#{$menu}--PaddingBlockEnd);
615
+ }
616
+
617
+ .#{$menu}__content {
618
+ height: auto;
774
619
  }
775
- }
776
620
 
777
- // stylelint-disable no-invalid-position-at-import-rule
778
- @import "themes/dark/menu";
621
+ .#{$menu-toggle} {
622
+ --#{$menu-toggle}--BorderWidth: 0;
623
+ --#{$menu-toggle}--BorderColor: transparent;
779
624
 
780
- @include pf-v5-theme-dark {
781
- @include pf-v5-theme-dark-menu;
625
+ outline-offset: var(--#{$menu}--OutlineOffset);
626
+ }
782
627
  }