@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,1210 +1,428 @@
1
- .#{$nav} {
2
- --#{$nav}--Transition: var(--#{$pf-global}--Transition);
3
-
4
- // Light theme
5
- --#{$nav}--m-light__item--before--BorderColor: var(--#{$pf-global}--BorderColor--300);
6
- --#{$nav}--m-light__item--m-current--not--m-expanded__link--BackgroundColor: var(--#{$pf-global}--BackgroundColor--light-300);
7
- --#{$nav}--m-light__link--Color: var(--pf-t--global--text--color--subtle);
8
- --#{$nav}--m-light__link--hover--Color: var(--pf-t--global--text--color--subtle);
9
- --#{$nav}--m-light__link--focus--Color: var(--pf-t--global--text--color--subtle);
10
- --#{$nav}--m-light__link--active--Color: var(--pf-t--global--text--color--subtle);
11
- --#{$nav}--m-light__link--m-current--Color: var(--pf-t--global--text--color--regular);
12
- --#{$nav}--m-light__link--hover--BackgroundColor: var(--pf-t--global--background--color--primary--default);
13
- --#{$nav}--m-light__link--focus--BackgroundColor: var(--pf-t--global--background--color--primary--default);
14
- --#{$nav}--m-light__link--active--BackgroundColor: var(--pf-t--global--background--color--primary--default);
15
- --#{$nav}--m-light__link--m-current--BackgroundColor: var(--pf-t--global--background--color--primary--default);
16
- --#{$nav}--m-light__link--before--BorderColor: var(--#{$pf-global}--BorderColor--300);
17
- --#{$nav}--m-light__link--after--BorderColor: var(--#{$pf-global}--active-color--100);
18
- --#{$nav}--m-light__link--m-current--after--BorderColor: var(--#{$pf-global}--active-color--100);
19
- --#{$nav}--m-light__section-title--Color: var(--pf-t--global--text--color--regular);
20
- --#{$nav}--m-light__section-title--BorderBottomColor: transparent;
21
- --#{$nav}--m-light--c-divider--BackgroundColor: var(--#{$pf-global}--BorderColor--300);
22
-
23
- // Light subnav
24
- --#{$nav}--m-light__subnav__link--hover--after--BorderColor: var(--#{$pf-global}--BorderColor--dark-100);
25
- --#{$nav}--m-light__subnav__link--focus--after--BorderColor: var(--#{$pf-global}--BorderColor--dark-100);
26
- --#{$nav}--m-light__subnav__link--active--after--BorderColor: var(--#{$pf-global}--BorderColor--dark-100);
27
- --#{$nav}--m-light__subnav__link--m-current--after--BorderColor: var(--#{$pf-global}--active-color--100);
28
-
29
- // List
30
- --#{$nav}__list--PaddingTop: var(--#{$pf-global}--spacer--sm);
31
- --#{$nav}__list--PaddingBottom: var(--#{$pf-global}--spacer--sm);
32
-
33
- // Item
34
- --#{$nav}__item--MarginTop: 0;
35
- --#{$nav}__item--m-current--not--m-expanded__link--BackgroundColor: var(--#{$pf-global}--BackgroundColor--dark-400);
36
- --#{$nav}__link--m-current--not--m-expanded__link--after--BorderWidth: var(--#{$pf-global}--BorderWidth--xl);
37
- --#{$nav}__item__item__link--PaddingRight: var(--pf-t--global--spacer--xl);
38
- --#{$nav}__item__item__toggle--FontSize: var(--#{$pf-global}--FontSize--sm);
39
- --#{$nav}__item__toggle-icon--Rotate: 0;
40
- --#{$nav}__item--m-expanded__toggle-icon--Rotate: 90deg;
41
- --#{$nav}__item--BorderRadius: var(--pf-t--global--border--radius--small);
42
-
43
- // Item ::before borders
44
- --#{$nav}__item--before--BorderColor: var(--#{$pf-global}--BackgroundColor--dark-200);
45
- --#{$nav}__item--before--BorderWidth: var(--#{$pf-global}--BorderWidth--sm);
46
-
47
- // Link
48
- --#{$nav}__link--FontSize: var(--pf-t--global--font--size--body);
49
- --#{$nav}__link--FontWeight: var(--pf-t--global--font--weight--body);
50
- --#{$nav}__link--PaddingTop: var(--pf-t--global--spacer--md);
51
- --#{$nav}__link--PaddingRight: var(--pf-t--global--spacer--md);
52
- --#{$nav}__link--PaddingBottom: var(--pf-t--global--spacer--md);
53
- --#{$nav}__link--PaddingLeft: var(--pf-t--global--spacer--md);
54
- --#{$nav}__link--BorderRadius: var(--pf-t--global--border--radius--small);
55
- --#{$nav}__link--xl--PaddingRight: var(--pf-t--global--spacer--lg);
56
- --#{$nav}__link--xl--PaddingLeft: var(--pf-t--global--spacer--lg);
57
- --#{$nav}__link--Color: var(--pf-t--global--text--color--subtle);
58
- --#{$nav}__link--hover--Color: var(--pf-t--global--text--color--subtle);
59
- --#{$nav}__link--focus--Color: var(--pf-t--global--text--color--subtle);
60
- --#{$nav}__link--active--Color: var(--pf-t--global--text--color--subtle);
61
- --#{$nav}__link--m-current--Color: var(--pf-t--global--text--color--regular);
62
- --#{$nav}__link--BackgroundColor: transparent;
63
- --#{$nav}__link--hover--BackgroundColor: var(--pf-t--global--background--color--primary--default);
64
- --#{$nav}__link--focus--BackgroundColor: var(--pf-t--global--background--color--primary--default);
65
- --#{$nav}__link--active--BackgroundColor: var(--pf-t--global--background--color--primary--default);
66
- --#{$nav}__link--m-current--BackgroundColor: var(--pf-t--global--background--color--primary--default);
67
- --#{$nav}__link--OutlineOffset: calc(var(--#{$pf-global}--spacer--xs) * -1);
68
-
69
- // Link ::before borders
70
- --#{$nav}__link--before--BorderColor: transparent;
71
- --#{$nav}__link--before--BorderBottomWidth: var(--#{$pf-global}--BorderWidth--sm);
72
- --#{$nav}__link--hover--before--BorderBottomWidth: 0;
73
- --#{$nav}__link--focus--before--BorderBottomWidth: 0;
74
- --#{$nav}__link--active--before--BorderBottomWidth: 0;
75
- --#{$nav}__link--m-current--before--BorderBottomWidth: 0;
76
-
77
- // Link ::after borders
78
- --#{$nav}__link--after--BorderColor: var(--#{$pf-global}--active-color--400);
79
- --#{$nav}__link--hover--after--BorderColor: var(--#{$pf-global}--active-color--400);
80
- --#{$nav}__link--focus--after--BorderColor: var(--#{$pf-global}--active-color--400);
81
- --#{$nav}__link--active--after--BorderColor: var(--#{$pf-global}--active-color--400);
82
- --#{$nav}__link--m-current--after--BorderColor: var(--#{$pf-global}--active-color--400);
83
- --#{$nav}__link--after--BorderLeftWidth: 0;
84
- --#{$nav}__link--hover--after--BorderLeftWidth: 0;
85
- --#{$nav}__link--focus--after--BorderLeftWidth: 0;
86
- --#{$nav}__link--active--after--BorderLeftWidth: 0;
87
- --#{$nav}__link--m-current--after--BorderLeftWidth: var(--#{$pf-global}--BorderWidth--xl);
88
-
89
- // Horizontal list
90
- --#{$nav}--m-horizontal__link--PaddingTop: var(--#{$pf-global}--spacer--sm);
91
- --#{$nav}--m-horizontal__link--PaddingRight: var(--#{$pf-global}--spacer--md);
92
- --#{$nav}--m-horizontal__link--PaddingBottom: var(--#{$pf-global}--spacer--sm);
93
- --#{$nav}--m-horizontal__link--PaddingLeft: var(--#{$pf-global}--spacer--md);
94
- --#{$nav}--m-horizontal__link--lg--PaddingTop: var(--#{$pf-global}--spacer--lg);
95
- --#{$nav}--m-horizontal__link--lg--PaddingBottom: var(--#{$pf-global}--spacer--lg);
96
- --#{$nav}--m-horizontal__link--Right: var(--#{$pf-global}--spacer--md);
97
- --#{$nav}--m-horizontal__link--Left: var(--#{$pf-global}--spacer--md);
98
- --#{$nav}--m-horizontal__link--Color: var(--#{$pf-global}--Color--light-200);
99
- --#{$nav}--m-horizontal__link--hover--Color: var(--#{$pf-global}--active-color--400);
100
- --#{$nav}--m-horizontal__link--focus--Color: var(--#{$pf-global}--active-color--400);
101
- --#{$nav}--m-horizontal__link--active--Color: var(--#{$pf-global}--active-color--400);
102
- --#{$nav}--m-horizontal__link--m-current--Color: var(--#{$pf-global}--active-color--400);
103
- --#{$nav}--m-horizontal__link--BackgroundColor: transparent;
104
- --#{$nav}--m-horizontal__link--hover--BackgroundColor: transparent;
105
- --#{$nav}--m-horizontal__link--focus--BackgroundColor: transparent;
106
- --#{$nav}--m-horizontal__link--active--BackgroundColor: transparent;
107
- --#{$nav}--m-horizontal__link--m-current--BackgroundColor: transparent;
108
- --#{$nav}--m-horizontal__link--before--BorderColor: var(--#{$pf-global}--active-color--400);
109
- --#{$nav}--m-horizontal__link--before--BorderWidth: 0;
110
- --#{$nav}--m-horizontal__link--hover--before--BorderWidth: var(--#{$pf-global}--BorderWidth--lg);
111
- --#{$nav}--m-horizontal__link--focus--before--BorderWidth: var(--#{$pf-global}--BorderWidth--lg);
112
- --#{$nav}--m-horizontal__link--active--before--BorderWidth: var(--#{$pf-global}--BorderWidth--lg);
113
- --#{$nav}--m-horizontal__link--m-current--before--BorderWidth: var(--#{$pf-global}--BorderWidth--lg);
114
-
115
- // Tertiary list
116
- --#{$nav}--m-tertiary__link--PaddingTop: var(--#{$pf-global}--spacer--sm);
117
- --#{$nav}--m-tertiary__link--PaddingRight: var(--#{$pf-global}--spacer--md);
118
- --#{$nav}--m-tertiary__link--PaddingBottom: var(--#{$pf-global}--spacer--sm);
119
- --#{$nav}--m-tertiary__link--PaddingLeft: var(--#{$pf-global}--spacer--md);
120
- --#{$nav}--m-tertiary__link--Right: var(--#{$pf-global}--spacer--md);
121
- --#{$nav}--m-tertiary__link--Left: var(--#{$pf-global}--spacer--md);
122
- --#{$nav}--m-tertiary__link--Color: var(--#{$pf-global}--Color--dark-100);
123
- --#{$nav}--m-tertiary__link--hover--Color: var(--#{$pf-global}--active-color--100);
124
- --#{$nav}--m-tertiary__link--focus--Color: var(--#{$pf-global}--active-color--100);
125
- --#{$nav}--m-tertiary__link--active--Color: var(--#{$pf-global}--active-color--100);
126
- --#{$nav}--m-tertiary__link--m-current--Color: var(--#{$pf-global}--active-color--100);
127
- --#{$nav}--m-tertiary__link--BackgroundColor: transparent;
128
- --#{$nav}--m-tertiary__link--hover--BackgroundColor: transparent;
129
- --#{$nav}--m-tertiary__link--focus--BackgroundColor: transparent;
130
- --#{$nav}--m-tertiary__link--active--BackgroundColor: transparent;
131
- --#{$nav}--m-tertiary__link--m-current--BackgroundColor: transparent;
132
- --#{$nav}--m-tertiary__link--before--BorderColor: var(--#{$pf-global}--active-color--100);
133
- --#{$nav}--m-tertiary__link--before--BorderWidth: 0;
134
- --#{$nav}--m-tertiary__link--hover--before--BorderWidth: var(--#{$pf-global}--BorderWidth--lg);
135
- --#{$nav}--m-tertiary__link--focus--before--BorderWidth: var(--#{$pf-global}--BorderWidth--lg);
136
- --#{$nav}--m-tertiary__link--active--before--BorderWidth: var(--#{$pf-global}--BorderWidth--lg);
137
- --#{$nav}--m-tertiary__link--m-current--before--BorderWidth: var(--#{$pf-global}--BorderWidth--lg);
138
-
139
- // Tertiary scroll buttons
140
- --#{$nav}--m-tertiary__scroll-button--Color: var(--#{$pf-global}--Color--dark-100);
141
- --#{$nav}--m-tertiary__scroll-button--hover--Color: var(--#{$pf-global}--active-color--100);
142
- --#{$nav}--m-tertiary__scroll-button--focus--Color: var(--#{$pf-global}--active-color--100);
143
- --#{$nav}--m-tertiary__scroll-button--active--Color: var(--#{$pf-global}--active-color--100);
144
- --#{$nav}--m-tertiary__scroll-button--disabled--Color: var(--#{$pf-global}--disabled-color--200);
145
-
146
- // Tertiary scroll buttons before
147
- --#{$nav}--m-tertiary__scroll-button--before--BorderColor: var(--#{$pf-global}--BorderColor--300);
148
- --#{$nav}--m-tertiary__scroll-button--disabled--before--BorderColor: var(--#{$pf-global}--disabled-color--300);
149
-
150
- // Horizontal subnav list
151
- --#{$nav}--m-horizontal-subnav__link--PaddingTop: var(--#{$pf-global}--spacer--sm);
152
- --#{$nav}--m-horizontal-subnav__link--PaddingRight: var(--#{$pf-global}--spacer--md);
153
- --#{$nav}--m-horizontal-subnav__link--PaddingBottom: var(--#{$pf-global}--spacer--sm);
154
- --#{$nav}--m-horizontal-subnav__link--PaddingLeft: var(--#{$pf-global}--spacer--md);
155
- --#{$nav}--m-horizontal-subnav__link--xl--PaddingTop: var(--#{$pf-global}--spacer--md);
156
- --#{$nav}--m-horizontal-subnav__link--xl--PaddingRight: var(--#{$pf-global}--spacer--lg);
157
- --#{$nav}--m-horizontal-subnav__link--xl--PaddingBottom: var(--#{$pf-global}--spacer--md);
158
- --#{$nav}--m-horizontal-subnav__link--xl--PaddingLeft: var(--#{$pf-global}--spacer--lg);
159
- --#{$nav}--m-horizontal-subnav__link--FontSize: var(--#{$pf-global}--FontSize--sm);
160
- --#{$nav}--m-horizontal-subnav__link--Color: var(--#{$pf-global}--Color--light-200);
161
- --#{$nav}--m-horizontal-subnav__link--hover--Color: var(--#{$pf-global}--Color--light-100);
162
- --#{$nav}--m-horizontal-subnav__link--focus--Color: var(--#{$pf-global}--Color--light-100);
163
- --#{$nav}--m-horizontal-subnav__link--active--Color: var(--#{$pf-global}--Color--light-100);
164
- --#{$nav}--m-horizontal-subnav__link--m-current--Color: var(--#{$pf-global}--Color--light-100);
165
- --#{$nav}--m-horizontal-subnav__link--BackgroundColor: transparent;
166
- --#{$nav}--m-horizontal-subnav__link--hover--BackgroundColor: var(--#{$pf-global}--BackgroundColor--dark-200);
167
- --#{$nav}--m-horizontal-subnav__link--focus--BackgroundColor: var(--#{$pf-global}--BackgroundColor--dark-200);
168
- --#{$nav}--m-horizontal-subnav__link--active--BackgroundColor: var(--#{$pf-global}--BackgroundColor--dark-200);
169
- --#{$nav}--m-horizontal-subnav__link--m-current--BackgroundColor: var(--#{$pf-global}--BackgroundColor--dark-400);
170
- --#{$nav}--m-horizontal-subnav__link--before--BorderColor: transparent;
171
- --#{$nav}--m-horizontal-subnav__link--after--BorderColor: var(--#{$pf-global}--palette--black-800);
172
- --#{$nav}--m-horizontal-subnav__link--hover--after--BorderColor: var(--#{$pf-global}--palette--black-800);
173
- --#{$nav}--m-horizontal-subnav__link--active--after--BorderColor: var(--#{$pf-global}--palette--black-800);
174
- --#{$nav}--m-horizontal-subnav__link--m-current--after--BorderColor: var(--#{$pf-global}--palette--black-800);
175
- --#{$nav}--m-horizontal-subnav__link--after--BorderLeftWidth: var(--#{$pf-global}--BorderWidth--sm);
176
- --#{$nav}--m-horizontal-subnav__link--hover--after--BorderLeftWidth: var(--#{$pf-global}--BorderWidth--sm);
177
- --#{$nav}--m-horizontal-subnav__link--active--after--BorderLeftWidth: var(--#{$pf-global}--BorderWidth--sm);
178
- --#{$nav}--m-horizontal-subnav__link--m-current--after--BorderLeftWidth: var(--#{$pf-global}--BorderWidth--sm);
179
-
180
- // Subnav
181
- --#{$nav}__subnav--PaddingBottom: var(--#{$pf-global}--spacer--sm);
182
- --#{$nav}__subnav--xl--PaddingLeft: var(--#{$nav}__link--PaddingLeft);
183
- --#{$nav}__subnav__link--MarginTop: 0;
184
- --#{$nav}__subnav__link--PaddingTop: var(--#{$pf-global}--spacer--sm);
185
- --#{$nav}__subnav__link--PaddingRight: var(--#{$pf-global}--spacer--lg);
186
- --#{$nav}__subnav__link--PaddingBottom: var(--#{$pf-global}--spacer--sm);
187
- --#{$nav}__subnav__link--PaddingLeft: var(--#{$pf-global}--spacer--lg);
188
- --#{$nav}__subnav__link--FontSize: var(--#{$pf-global}--FontSize--sm);
189
- --#{$nav}__subnav__link--hover--after--BorderColor: var(--#{$pf-global}--BorderColor--200);
190
- --#{$nav}__subnav__link--focus--after--BorderColor: var(--#{$pf-global}--BorderColor--200);
191
- --#{$nav}__subnav__link--active--after--BorderColor: var(--#{$pf-global}--BorderColor--200);
192
- --#{$nav}__subnav__link--m-current--after--BorderColor: var(--#{$pf-global}--active-color--400);
193
- --#{$nav}__subnav__link--hover--after--BorderWidth: var(--#{$pf-global}--BorderWidth--sm);
194
- --#{$nav}__subnav__link--focus--after--BorderWidth: var(--#{$pf-global}--BorderWidth--sm);
195
- --#{$nav}__subnav__link--active--after--BorderWidth: var(--#{$pf-global}--BorderWidth--sm);
196
- --#{$nav}__subnav__link--m-current--after--BorderWidth: var(--#{$pf-global}--BorderWidth--xl);
197
- --#{$nav}__subnav--MaxHeight: 0;
198
- --#{$nav}__subnav__subnav--PaddingLeft: var(--#{$pf-global}--spacer--lg);
199
- --#{$nav}__subnav__subnav__link--PaddingLeft: var(--#{$pf-global}--spacer--md);
200
- --#{$nav}__subnav__subnav__link--FontSize: var(--#{$pf-global}--FontSize--xs);
201
- --#{$nav}__item--m-expanded__subnav--MaxHeight: 100%;
202
- --#{$nav}__subnav--c-divider--PaddingRight: var(--#{$pf-global}--spacer--lg);
203
- --#{$nav}__subnav--c-divider--PaddingLeft: var(--#{$pf-global}--spacer--lg);
204
-
205
- // Nav section
206
- --#{$nav}__section--first-child--PaddingTop: var(--#{$pf-global}--spacer--sm);
207
- --#{$nav}__section--last-child--PaddingBottom: var(--#{$pf-global}--spacer--sm);
208
- --#{$nav}__section__item--MarginTop: var(--#{$pf-global}--spacer--sm);
209
- --#{$nav}__section__link--PaddingTop: var(--#{$pf-global}--spacer--sm);
210
- --#{$nav}__section__link--PaddingRight: var(--#{$pf-global}--spacer--md);
211
- --#{$nav}__section__link--PaddingBottom: var(--#{$pf-global}--spacer--sm);
212
- --#{$nav}__section__link--PaddingLeft: var(--#{$pf-global}--spacer--md);
213
- --#{$nav}__section__link--xl--PaddingRight: var(--#{$pf-global}--spacer--lg);
214
- --#{$nav}__section__link--xl--PaddingLeft: var(--#{$pf-global}--spacer--lg);
215
- --#{$nav}__section__link--FontSize: var(--#{$pf-global}--FontSize--md);
216
- --#{$nav}__section__link--before--BorderBottomWidth: 0;
217
- --#{$nav}__section__link--hover--after--BorderColor: transparent;
218
- --#{$nav}__section__link--focus--after--BorderColor: transparent;
219
- --#{$nav}__section__link--active--after--BorderColor: transparent;
220
- --#{$nav}__section__link--m-current--after--BorderColor: var(--#{$pf-global}--active-color--400);
221
- --#{$nav}__section__link--hover--after--BorderWidth: 0;
222
- --#{$nav}__section__link--focus--after--BorderWidth: 0;
223
- --#{$nav}__section__link--active--after--BorderWidth: 0;
224
- --#{$nav}__section__link--m-current--after--BorderWidth: var(--#{$pf-global}--BorderWidth--xl);
225
- --#{$nav}__section--section--MarginTop: var(--#{$pf-global}--spacer--xl);
226
-
227
- // Nav section title
228
- --#{$nav}__section-title--PaddingTop: var(--pf-t--global--spacer--sm);
229
- --#{$nav}__section-title--PaddingRight: var(--pf-t--global--spacer--md);
230
- --#{$nav}__section-title--PaddingBottom: var(--pf-t--global--spacer--sm);
231
- --#{$nav}__section-title--PaddingLeft: var(--pf-t--global--spacer--md);
232
- --#{$nav}__section-title--MarginBottom: var(--pf-t--global--spacer--sm);
233
- --#{$nav}__section-title--xl--PaddingRight: var(--pf-t--global--spacer--xl);
234
- --#{$nav}__section-title--xl--PaddingLeft: var(--pf-t--global--spacer--xl);
235
- --#{$nav}__section-title--FontSize: var(--pf-t--global--font--size--body);
236
- --#{$nav}__section-title--Color: var(--pf-t--global--text--color--regular);
237
- --#{$nav}__section-title--BorderBottomColor: transparent;
238
- --#{$nav}__section-title--BorderBottomWidth: var(--#{$pf-global}--BorderWidth--sm);
239
-
240
- // Scroll buttons
241
- --#{$nav}__scroll-button--Color: var(--#{$pf-global}--Color--light-100);
242
- --#{$nav}__scroll-button--hover--Color: var(--#{$pf-global}--active-color--400);
243
- --#{$nav}__scroll-button--focus--Color: var(--#{$pf-global}--active-color--400);
244
- --#{$nav}__scroll-button--active--Color: var(--#{$pf-global}--active-color--400);
245
- --#{$nav}__scroll-button--disabled--Color: var(--#{$pf-global}--disabled-color--100);
246
- --#{$nav}__scroll-button--BackgroundColor: transparent;
247
- --#{$nav}__scroll-button--Width: var(--#{$pf-global}--target-size--MinWidth);
248
- --#{$nav}__scroll-button--OutlineOffset: calc(-1 * var(--#{$pf-global}--spacer--xs));
249
- --#{$nav}__scroll-button--Transition: margin .125s, transform .125s, opacity .125s;
250
-
251
- // Scroll buttons before
252
- --#{$nav}__scroll-button--before--BorderColor: var(--#{$pf-global}--BackgroundColor--dark-200);
253
- --#{$nav}__scroll-button--before--BorderWidth: var(--#{$pf-global}--BorderWidth--sm);
254
- --#{$nav}__scroll-button--before--BorderRightWidth: 0;
255
- --#{$nav}__scroll-button--before--BorderLeftWidth: 0;
256
- --#{$nav}__scroll-button--disabled--before--BorderColor: transparent;
257
-
258
- // Toggle
259
- --#{$nav}__toggle--PaddingRight: var(--#{$pf-global}--spacer--sm);
260
- --#{$nav}__toggle--PaddingLeft: var(--#{$pf-global}--spacer--sm);
261
- --#{$nav}__toggle--FontSize: var(--#{$pf-global}--icon--FontSize--md);
262
-
263
- // Toggle icon
264
- --#{$nav}__toggle-icon--Transition: var(--#{$pf-global}--TransitionDuration);
265
-
266
- // Divider
267
- --#{$nav}--c-divider--MarginTop: var(--#{$pf-global}--spacer--sm);
268
- --#{$nav}--c-divider--MarginBottom: var(--#{$pf-global}--spacer--sm);
269
- --#{$nav}--c-divider--PaddingRight: 0;
270
- --#{$nav}--c-divider--PaddingLeft: 0;
271
- --#{$nav}--c-divider--BackgroundColor: var(--#{$pf-global}--BackgroundColor--dark-200);
272
-
273
- // Scroll snap
1
+ :root,
2
+ :where(.#{$nav}) {
3
+ // * Nav shared values
4
+ --#{$nav}__link--PaddingBlockStart: var(--pf-t--global--spacer--sm);
5
+ --#{$nav}__link--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
6
+ --#{$nav}__link--PaddingInlineStart: var(--pf-t--global--spacer--md);
7
+ --#{$nav}__link--PaddingInlineEnd: var(--pf-t--global--spacer--md);
8
+ --#{$nav}__list--RowGap: var(--pf-t--global--spacer--sm);
9
+ --#{$nav}__list--ColumnGap: var(--pf-t--global--spacer--xs);
10
+
11
+ // * Nav // default to row gap if no custom value is set
12
+ --#{$nav}--PaddingBlockStart: var(--pf-t--global--spacer--md);
13
+ --#{$nav}--PaddingBlockEnd: var(--pf-t--global--spacer--md);
14
+ --#{$nav}--PaddingInlineStart: var(--pf-t--global--spacer--md);
15
+ --#{$nav}--PaddingInlineEnd: var(--pf-t--global--spacer--md);
16
+ --#{$nav}--RowGap: var(--pf-t--global--spacer--lg);
17
+ --#{$nav}--ColumnGap: var(--pf-t--global--spacer--sm);
18
+ --#{$nav}--AlignItems: baseline;
19
+ --#{$nav}--FontSize: var(--pf-t--global--font--size--body--default);
20
+ --#{$nav}--FontWeight: var(--pf-t--global--font--weight--body);
21
+ --#{$nav}--LineHeight: var(--pf-t--global--font--line-height--body);
22
+ --#{$nav}--BackgroundColor: var(--pf-t--global--background--color--secondary--default);
23
+ --#{$nav}--OutlineOffset: calc(var(--#{$pf-global}--spacer--xs) * -1);
24
+
25
+ // * Nav list
274
26
  --#{$nav}__list--ScrollSnapTypeAxis: x;
275
27
  --#{$nav}__list--ScrollSnapTypeStrictness: proximity;
276
28
  --#{$nav}__list--ScrollSnapType: var(--#{$nav}__list--ScrollSnapTypeAxis) var(--#{$nav}__list--ScrollSnapTypeStrictness);
277
29
  --#{$nav}__item--ScrollSnapAlign: end;
278
30
 
279
- // Flyout variant ====================================== //
280
-
281
- // stylelint-disable length-zero-no-unit
282
- // Needs a unit because of type checking for use in calc()
283
- --#{$nav}__item--m-flyout--c-menu--top-offset: 0px;
284
- --#{$nav}__item--m-flyout--c-menu--left-offset: #{pf-size-prem(4px)};
285
- --#{$nav}__item--m-flyout--c-menu--m-top--bottom-offset: 0px;
286
- --#{$nav}__item--m-flyout--c-menu--m-left--right-offset: #{pf-size-prem(4px)};
287
- // stylelint-enable
288
-
289
- // Item
290
- --#{$nav}__item--m-flyout--MarginTop: 0;
291
- --#{$nav}__item--m-flyout--hover__link--BackgroundColor: var(--#{$pf-global}--BackgroundColor--dark-200);
292
- --#{$nav}__item--m-flyout--focus__link--BackgroundColor: var(--#{$pf-global}--BackgroundColor--dark-200);
293
- --#{$nav}__item--m-flyout--active__link--BackgroundColor: var(--#{$pf-global}--BackgroundColor--dark-200);
294
- --#{$nav}__item--m-flyout--hover__link--before--BorderWidth: 0;
295
- --#{$nav}__item--m-flyout--focus__link--before--BorderWidth: 0;
296
- --#{$nav}__item--m-flyout--active__link--before--BorderWidth: 0;
297
- --#{$nav}__item--m-flyout__item--last-child__link--before--BorderBottomWidth: 0;
298
-
299
- // Menu
300
- --#{$nav}__item--m-flyout--c-menu--Top: calc(0px + var(--#{$nav}__item--m-flyout--c-menu--top-offset));
301
- --#{$nav}__item--m-flyout--c-menu--c-menu--Top: calc(var(--#{$nav}__item--m-flyout--c-menu--Top) - var(--#{$nav}__item--before--BorderWidth));
302
- --#{$nav}__item--m-flyout--c-menu__list-item--first-child--c-menu--Top: 0;
303
- --#{$nav}__item--m-flyout--c-menu--Left: calc(100% - var(--#{$nav}__item--m-flyout--c-menu--left-offset));
304
- --#{$nav}__item--m-flyout--c-menu--m-left--Right: calc(100% - var(--#{$nav}__item--m-flyout--c-menu--m-left--right-offset));
305
- --#{$nav}__item--m-flyout--c-menu--m-top--Bottom: calc(0 + var(--#{$nav}__item--m-flyout--c-menu--m-top--bottom-offset));
306
- --#{$nav}__item--m-flyout--c-menu--BackgroundColor: var(--#{$pf-global}--BackgroundColor--dark-300);
307
- --#{$nav}__item--m-flyout--c-menu__item--Color: var(--#{$nav}__link--Color);
308
- --#{$nav}__item--m-flyout--c-menu__item--PaddingTop: var(--#{$pf-global}--spacer--sm);
309
- --#{$nav}__item--m-flyout--c-menu__item--PaddingRight: var(--#{$pf-global}--spacer--lg);
310
- --#{$nav}__item--m-flyout--c-menu__item--PaddingBottom: var(--#{$pf-global}--spacer--sm);
311
- --#{$nav}__item--m-flyout--c-menu__item--PaddingLeft: var(--#{$pf-global}--spacer--lg);
312
- --#{$nav}__item--m-flyout--c-menu__item-description--Color: var(--#{$pf-global}--Color--light-200);
313
- --#{$nav}__item--m-flyout--c-menu__item--FontSize: var(--#{$pf-global}--FontSize--sm);
314
- --#{$nav}__item--m-flyout--c-menu__item--OutlineOffset: var(--#{$nav}__link--OutlineOffset);
315
- --#{$nav}__item--m-flyout--c-menu__item--before--BorderBottomWidth: var(--#{$nav}__item--before--BorderWidth);
316
- --#{$nav}__item--m-flyout--c-menu__item--before--BorderBottomColor: var(--#{$nav}__item--before--BorderColor);
317
- --#{$nav}__item--m-flyout--c-menu__item--hover--after--BorderLeftWidth: var(--#{$pf-global}--BorderWidth--sm);
318
- --#{$nav}__item--m-flyout--c-menu__item--hover--after--BorderLeftColor: var(--#{$pf-global}--BorderColor--200);
319
- --#{$nav}__item--m-flyout--c-menu__item--hover--after--Top: calc(-1 * var(--#{$nav}__item--m-flyout--c-menu__item--before--BorderBottomWidth));
320
- --#{$nav}__item--m-flyout--c-menu__list-item--hover--BackgroundColor: var(--#{$nav}__link--hover--BackgroundColor);
321
- --#{$nav}__item--m-flyout--c-menu__list-item--focus-within--BackgroundColor: var(--#{$nav}__link--focus--BackgroundColor);
322
- --#{$nav}__item--m-flyout--c-menu__list-item--active--BackgroundColor: var(--#{$nav}__link--active--BackgroundColor);
323
- --#{$nav}__item--m-flyout--c-menu__list-item--first-child__item--hover--after--Top: 0;
324
- --#{$nav}__item--m-flyout--c-menu--BoxShadow: var(--#{$pf-global}--BoxShadow--lg);
325
-
326
- // Menu
327
- --#{$nav}--c-menu--BackgroundColor: var(--#{$pf-global}--BackgroundColor--dark-300);
328
-
329
- // Menu list
330
- --#{$nav}--c-menu__list--PaddingTop: 0;
331
- --#{$nav}--c-menu__list--PaddingBottom: 0;
332
-
333
- // Menu list item
334
- --#{$nav}--c-menu__list-item--Color: var(--#{$pf-global}--Color--light-100);
335
- --#{$nav}--c-menu__list-item--hover--Color: var(--#{$pf-global}--Color--light-100);
336
- --#{$nav}--c-menu__list-item--active--Color: var(--#{$pf-global}--Color--light-100);
337
- --#{$nav}--c-menu__list-item--focus-within--Color: var(--#{$pf-global}--Color--light-100);
338
- --#{$nav}--c-menu__list-item--hover--BackgroundColor: var(--#{$pf-global}--BackgroundColor--dark-200);
339
- --#{$nav}--c-menu__list-item--focus-within--BackgroundColor: var(--#{$pf-global}--BackgroundColor--dark-200);
340
- --#{$nav}--c-menu__list-item--m-drill-up--before--BorderBottomWidth: var(--#{$pf-global}--BorderWidth--lg);
341
- --#{$nav}--c-menu__list-item--m-drill-up__item--FontWeight: var(--#{$pf-global}--FontWeight--bold);
342
-
343
- // Menu item
344
- --#{$nav}--c-menu__item--PaddingTop: var(--#{$pf-global}--spacer--md);
345
- --#{$nav}--c-menu__item--PaddingRight: var(--#{$pf-global}--spacer--md);
346
- --#{$nav}--c-menu__item--PaddingBottom: var(--#{$pf-global}--spacer--md);
347
- --#{$nav}--c-menu__item--PaddingLeft: var(--#{$pf-global}--spacer--md);
348
- --#{$nav}--c-menu__item--xl--PaddingRight: var(--#{$pf-global}--spacer--lg);
349
- --#{$nav}--c-menu__item--xl--PaddingLeft: var(--#{$pf-global}--spacer--lg);
350
- --#{$nav}--c-menu__item--FontSize: var(--#{$pf-global}--FontSize--sm);
351
- --#{$nav}--c-menu__item--OutlineOffset: calc(var(--#{$pf-global}--spacer--xs) * -1);
352
- --#{$nav}--c-menu__item--before--BorderBottomWidth: var(--#{$pf-global}--BorderWidth--sm);
353
- --#{$nav}--c-menu__item--before--BorderBottomColor: var(--#{$pf-global}--BackgroundColor--dark-200);
354
- --#{$nav}--c-menu__item--after--BorderLeftWidth: 0;
355
- --#{$nav}--c-menu__item--after--BorderLeftColor: transparent;
356
- --#{$nav}--c-menu__item--m-current--BackgroundColor: var(--#{$pf-global}--BackgroundColor--dark-400);
357
- --#{$nav}--c-menu__item--m-current--after--BorderLeftWidth: var(--#{$pf-global}--BorderWidth--xl);
358
- --#{$nav}--c-menu__item--m-current--after--BorderColor: var(--#{$pf-global}--active-color--400);
359
-
360
- // Menu item description
361
- --#{$nav}--c-menu__item-description--Color: var(--#{$pf-global}--Color--400);
362
-
363
- // Menu flyout
364
- --#{$nav}--c-menu--m-flyout--left-offset: #{pf-size-prem(4px)};
365
- --#{$nav}--c-menu--m-flyout--m-left--right-offset: #{pf-size-prem(4px)};
366
- --#{$nav}--c-menu--m-flyout--Top: 0;
367
- --#{$nav}--c-menu--m-flyout--c-menu--Top: calc(var(--#{$nav}--c-menu--m-flyout--Top) * -1);
368
- --#{$nav}--c-menu--m-flyout--c-menu--Right: auto;
369
- --#{$nav}--c-menu--m-flyout--c-menu--Bottom: auto;
370
- --#{$nav}--c-menu--m-flyout--c-menu--Left: calc(100% - var(--#{$nav}--c-menu--m-flyout--left-offset));
371
- --#{$nav}--c-menu--m-flyout--m-left--Right: calc(100% - var(--#{$nav}--c-menu--m-flyout--m-left--right-offset));
372
- --#{$nav}--c-menu--m-flyout--m-top--Bottom: 0;
373
- --#{$nav}--c-menu--m-flyout--BoxShadow: var(--#{$pf-global}--BoxShadow--lg);
374
-
375
- // Menu flyout item
376
- --#{$nav}--c-menu--m-flyout__item--PaddingTop: var(--#{$pf-global}--spacer--sm);
377
- --#{$nav}--c-menu--m-flyout__item--PaddingRight: var(--#{$pf-global}--spacer--lg);
378
- --#{$nav}--c-menu--m-flyout__item--PaddingBottom: var(--#{$pf-global}--spacer--sm);
379
- --#{$nav}--c-menu--m-flyout__item--PaddingLeft: var(--#{$pf-global}--spacer--lg);
380
- --#{$nav}--c-menu--m-flyout__item--hover--after--BorderLeftWidth: var(--#{$pf-global}--BorderWidth--sm);
381
- --#{$nav}--c-menu--m-flyout__item--hover--after--BorderLeftColor: var(--#{$pf-global}--BorderColor--200);
382
-
383
- // Toggle
384
- --#{$nav}__toggle--m-start--MarginRight: var(--#{$pf-global}--spacer--sm);
385
-
386
- @media screen and (min-width: $pf-v5-global--breakpoint--xl) {
387
- --#{$nav}__link--PaddingRight: var(--#{$nav}__link--xl--PaddingRight);
388
- --#{$nav}__link--PaddingLeft: var(--#{$nav}__link--xl--PaddingLeft);
389
- --#{$nav}--m-horizontal-subnav__link--PaddingTop: var(--#{$nav}--m-horizontal-subnav__link--xl--PaddingTop);
390
- --#{$nav}--m-horizontal-subnav__link--PaddingRight: var(--#{$nav}--m-horizontal-subnav__link--xl--PaddingRight);
391
- --#{$nav}--m-horizontal-subnav__link--PaddingBottom: var(--#{$nav}--m-horizontal-subnav__link--xl--PaddingBottom);
392
- --#{$nav}--m-horizontal-subnav__link--PaddingLeft: var(--#{$nav}--m-horizontal-subnav__link--xl--PaddingLeft);
393
- --#{$nav}__section__link--PaddingRight: var(--#{$nav}__section__link--xl--PaddingRight);
394
- --#{$nav}__section__link--PaddingLeft: var(--#{$nav}__section__link--xl--PaddingLeft);
395
- --#{$nav}__section-title--PaddingRight: var(--#{$nav}__section-title--xl--PaddingRight);
396
- --#{$nav}__section-title--PaddingLeft: var(--#{$nav}__section-title--xl--PaddingLeft);
397
- --#{$nav}__subnav--PaddingLeft: var(--#{$nav}__subnav--xl--PaddingLeft);
398
- --#{$nav}--c-menu__item--PaddingRight: var(--#{$nav}--c-menu__item--xl--PaddingRight);
399
- --#{$nav}--c-menu__item--PaddingLeft: var(--#{$nav}--c-menu__item--xl--PaddingLeft);
400
- }
401
-
402
- position: relative;
403
-
404
- .#{$menu} {
405
- --#{$menu}--MinWidth: 100%;
406
- --#{$menu}--BackgroundColor: var(--#{$nav}--c-menu--BackgroundColor);
407
- --#{$menu}__list--PaddingTop: var(--#{$nav}--c-menu__list--PaddingTop);
408
- --#{$menu}__list--PaddingBottom: var(--#{$nav}--c-menu__list--PaddingBottom);
409
- --#{$menu}__item--PaddingTop: var(--#{$nav}--c-menu__item--PaddingTop);
410
- --#{$menu}__item--PaddingRight: var(--#{$nav}--c-menu__item--PaddingRight);
411
- --#{$menu}__item--PaddingBottom: var(--#{$nav}--c-menu__item--PaddingBottom);
412
- --#{$menu}__item--PaddingLeft: var(--#{$nav}--c-menu__item--PaddingLeft);
413
- --#{$menu}__list-item--Color: var(--#{$nav}--c-menu__list-item--Color);
414
- --#{$menu}__list-item--hover--Color: var(--#{$nav}--c-menu__list-item--hover--Color);
415
- --#{$menu}__list-item--active--Color: var(--#{$nav}--c-menu__list-item--active--Color);
416
- --#{$menu}__list-item--focus-within--Color: var(--#{$nav}--c-menu__list-item--focus-within--Color);
417
- --#{$menu}__list-item--hover--BackgroundColor: var(--#{$nav}--c-menu__list-item--hover--BackgroundColor);
418
- --#{$menu}__list-item--focus-within--BackgroundColor: var(--#{$nav}--c-menu__list-item--focus-within--BackgroundColor);
419
- --#{$menu}__item-description--Color: var(--#{$nav}--c-menu__item-description--Color);
420
-
421
- &:first-child > .#{$menu}__content {
422
- border-block-end: var(--#{$nav}--c-menu__item--before--BorderBottomWidth) solid var(--#{$nav}--c-menu__item--before--BorderBottomColor);
423
- }
424
-
425
- &.pf-m-flyout,
426
- &.pf-m-flyout .#{$menu} {
427
- --#{$menu}--BoxShadow: var(--#{$nav}--c-menu--m-flyout--BoxShadow);
428
- --#{$menu}__list--PaddingTop: 0;
429
- --#{$menu}__list--PaddingBottom: 0;
430
- --#{$menu}__item--FontSize: var(--#{$nav}--c-menu__item--FontSize);
431
- --#{$menu}__item--Color: var(--#{$nav}--c-menu__item--Color, inherit);
432
- --#{$menu}__item--PaddingTop: var(--#{$nav}--c-menu--m-flyout__item--PaddingTop);
433
- --#{$menu}__item--PaddingRight: var(--#{$nav}--c-menu--m-flyout__item--PaddingRight);
434
- --#{$menu}__item--PaddingBottom: var(--#{$nav}--c-menu--m-flyout__item--PaddingBottom);
435
- --#{$menu}__item--PaddingLeft: var(--#{$nav}--c-menu--m-flyout__item--PaddingLeft);
436
-
437
- inset-block-start: var(--#{$nav}--c-menu--m-flyout--c-menu--Top);
438
- inset-block-end: var(--#{$nav}--c-menu--m-flyout--c-menu--Bottom);
439
- inset-inline-start: var(--#{$nav}--c-menu--m-flyout--c-menu--Left);
440
- inset-inline-end: var(--#{$nav}--c-menu--m-flyout--c-menu--Right);
441
- }
442
-
443
- &.pf-m-flyout {
444
- .#{$menu}__item {
445
- // stylelint-disable max-nesting-depth
446
- &:hover {
447
- --#{$nav}--c-menu__item--after--BorderLeftWidth: var(--#{$nav}--c-menu--m-flyout__item--hover--after--BorderLeftWidth);
448
- --#{$nav}--c-menu__item--after--BorderLeftColor: var(--#{$nav}--c-menu--m-flyout__item--hover--after--BorderLeftColor);
449
- }
450
- // stylelint-enable
451
- }
452
- }
453
-
454
- &.pf-m-top {
455
- --#{$nav}--c-menu--m-flyout--c-menu--Top: auto;
456
- --#{$nav}--c-menu--m-flyout--c-menu--Bottom: var(--#{$nav}--c-menu--m-flyout--m-top--Bottom);
457
- }
458
-
459
- &.pf-m-left {
460
- --#{$nav}--c-menu--m-flyout--c-menu--Right: var(--#{$nav}--c-menu--m-flyout--m-left--Right);
461
- --#{$nav}--c-menu--m-flyout--c-menu--Left: auto;
462
- }
463
-
464
- .#{$divider} {
465
- margin-block-start: 0;
466
- margin-block-end: 0;
467
- }
468
- }
469
-
470
- .#{$menu}__item {
471
- position: relative;
472
- outline-offset: var(--#{$nav}--c-menu__item--OutlineOffset);
31
+ // * Nav section title
32
+ --#{$nav}__section-title--FontWeight: var(--pf-t--global--font--weight--body--bold);
33
+ --#{$nav}__section-title--Color: var(--pf-t--global--text--color--regular);
473
34
 
474
- &::before,
475
- &::after {
476
- position: absolute;
477
- inset-block-start: 0;
478
- content: "";
479
- }
35
+ // * Nav toggle icon
36
+ --#{$nav}__item--RowGap: var(--#{$nav}__list--RowGap);
37
+ --#{$nav}__item__toggle-icon--Rotate: 0;
38
+ --#{$nav}__item--m-expanded__toggle-icon--Rotate: 90deg;
480
39
 
481
- &::before {
482
- inset-block-end: calc(var(--#{$nav}--c-menu__item--before--BorderBottomWidth) * -1);
483
- inset-inline-start: 0;
484
- inset-inline-end: 0;
485
- border-block-end: var(--#{$nav}--c-menu__item--before--BorderBottomWidth) solid var(--#{$nav}--c-menu__item--before--BorderBottomColor);
486
- }
40
+ // * Nav link
41
+ --#{$nav}__link--BorderRadius: var(--pf-t--global--border--radius--small);
42
+ --#{$nav}__link--BackgroundColor: var(--pf-t--global--background--color--action--plain--default);
43
+ --#{$nav}__link--WhiteSpace: normal;
44
+ --#{$nav}__link--Color: var(--pf-t--global--text--color--subtle);
45
+ --#{$nav}__link--hover--Color: var(--pf-t--global--text--color--regular);
46
+ --#{$nav}__link--focus--Color: var(--pf-t--global--text--color--regular);
47
+ --#{$nav}__link--active--Color: var(--pf-t--global--text--color--regular);
48
+ --#{$nav}__link--hover--BackgroundColor: var(--pf-t--global--background--color--action--plain--alt--hover);
49
+ --#{$nav}__link--focus--BackgroundColor: var(--pf-t--global--background--color--action--plain--alt--hover);
50
+ --#{$nav}__link--active--BackgroundColor: var(--pf-t--global--background--color--action--plain--alt--hover);
51
+ --#{$nav}__link--m-current--BackgroundColor: var(--pf-t--global--background--color--action--plain--alt--clicked);
52
+ --#{$nav}__link--m-current--Color: var(--pf-t--global--text--color--regular);
487
53
 
488
- &::after {
489
- inset-block-end: 0;
490
- inset-inline-start: 0;
491
- border-inline-start: var(--#{$nav}--c-menu__item--after--BorderLeftWidth) solid var(--#{$nav}--c-menu__item--after--BorderLeftColor);
492
- }
54
+ // * Nav subnav
55
+ --#{$nav}__subnav--RowGap: var(--pf-t--global--border--width--extra-strong);
56
+ --#{$nav}__subnav--PaddingInlineStart: var(--pf-t--global--spacer--md);
493
57
 
494
- &.pf-m-current {
495
- --#{$nav}--c-menu__item--after--BorderLeftWidth: var(--#{$nav}--c-menu__item--m-current--after--BorderLeftWidth);
496
- --#{$nav}--c-menu__item--after--BorderLeftColor: var(--#{$nav}--c-menu__item--m-current--after--BorderColor);
58
+ // * Nav scroll button
59
+ --#{$nav}__scroll-button--BorderColor: var(--pf-t--global--border--color--default);
60
+ --#{$nav}__scroll-button--BorderWidth: var(--pf-t--global--border--width--divider--default);
61
+ --#{$nav}__scroll-button--BorderRadius: var(--pf-t--global--border--radius--pill);
62
+ --#{$nav}__scroll-button--button--InlinePadding: var(--pf-t--global--spacer--sm); // TODO: update after button updates
63
+ --#{$nav}__scroll-button--button--icon--InlinePadding: var(--pf-t--global--spacer--sm);
64
+ --#{$nav}__scroll-button--button--icon--IconSize: var(--pf-t--global--icon--size--md);
497
65
 
498
- background-color: var(--#{$nav}--c-menu__item--m-current--BackgroundColor);
499
- }
500
- }
66
+ // * Nav toggle
67
+ --#{$nav}__toggle--PaddingInlineStart: var(--pf-t--global--spacer--sm);
68
+ --#{$nav}__toggle--PaddingInlineEnd: var(--pf-t--global--spacer--sm);
69
+ --#{$nav}__toggle--TranslateY: calc((var(--#{$nav}--LineHeight) * var(--#{$nav}--FontSize) / 2) - 50%); // find height of single label, divide by two, offset by 50% of own height
501
70
 
502
- .#{$menu}__list-item:where(.pf-m-drill-up) {
503
- --#{$nav}--c-menu__item--before--BorderBottomWidth: var(--#{$nav}--c-menu__list-item--m-drill-up--before--BorderBottomWidth);
71
+ // * Nav link clickable inset
72
+ --#{$nav}__link--clickable-inset--InlineStart: 0;
73
+ --#{$nav}__link--clickable-inset--InlineEnd: 0;
74
+ --#{$nav}__link--clickable-inset--Inline: var(--#{$nav}__link--clickable-inset--InlineStart) var(--#{$nav}__link--clickable-inset--InlineEnd);
504
75
 
505
- > .#{$menu}__item {
506
- --#{$menu}__item--FontWeight: var(--#{$nav}--c-menu__list-item--m-drill-up__item--FontWeight);
507
- }
508
- }
509
-
510
- .#{$menu}__item-toggle-icon {
511
- @include pf-v5-mirror-inline-on-rtl;
76
+ // * Nav horizontal
77
+ --#{$nav}--m-horizontal--BorderRadius: var(--pf-t--global--border--radius--pill);
512
78
 
513
- margin-inline-start: calc(var(--#{$menu}__item-toggle-icon--PaddingLeft) * -1);
514
- }
79
+ // * Nav horizontal list
80
+ --#{$nav}--m-horizontal__list--ColumnGap: var(--pf-t--global--spacer--xs);
515
81
 
516
- &.pf-m-horizontal,
517
- &.pf-m-tertiary {
518
- .#{$nav}__link::after {
519
- content: none;
520
- }
521
- }
82
+ // * Nav horizontal list - base vars
83
+ --#{$nav}--m-horizontal__list--PaddingBlockStart: var(--pf-t--global--spacer--sm);
84
+ --#{$nav}--m-horizontal__list--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
85
+ --#{$nav}--m-horizontal__list--PaddingInlineStart: var(--pf-t--global--spacer--md);
86
+ --#{$nav}--m-horizontal__list--PaddingInlineEnd: var(--pf-t--global--spacer--md);
522
87
 
523
- &.pf-m-horizontal,
524
- &.pf-m-tertiary,
525
- &.pf-m-horizontal-subnav {
526
- &,
527
- .#{$nav}__list {
528
- position: relative;
529
- display: flex;
530
- }
88
+ // * Nav horizontal list - mapped vars
89
+ --#{$nav}--m-horizontal__list--PaddingBlock: var(--#{$nav}--m-horizontal__list--PaddingBlockStart) var(--#{$nav}--m-horizontal__list--PaddingBlockEnd);
90
+ --#{$nav}--m-horizontal__list--PaddingInline: var(--#{$nav}--m-horizontal__list--PaddingInlineStart) var(--#{$nav}--m-horizontal__list--PaddingInlineEnd);
531
91
 
532
- overflow: hidden;
92
+ // * Nav horizontal link - base vars
93
+ --#{$nav}--m-horizontal--m-subnav__link--PaddingBlockStart: var(--pf-t--global--spacer--xs);
94
+ --#{$nav}--m-horizontal--m-subnav__link--PaddingBlockEnd: var(--pf-t--global--spacer--xs);
95
+ --#{$nav}--m-horizontal--m-subnav__link--PaddingInlineStart: var(--pf-t--global--spacer--md);
96
+ --#{$nav}--m-horizontal--m-subnav__link--PaddingInlineEnd: var(--pf-t--global--spacer--md);
533
97
 
534
- .#{$nav}__list {
535
- --#{$nav}__list--PaddingTop: 0;
536
- --#{$nav}__list--PaddingBottom: 0;
537
-
538
- flex: 1;
539
- max-width: 100%;
540
- overflow-x: auto;
541
- white-space: nowrap;
542
- scroll-snap-type: var(--#{$nav}__list--ScrollSnapType);
543
- -webkit-overflow-scrolling: touch;
544
-
545
- @include pf-v5-overflow-hide-scroll;
546
- }
98
+ // * Nav horizontal link - mapped vars
99
+ --#{$nav}--m-horizontal--m-subnav__link--PaddingBlock: var(--#{$nav}--m-horizontal--m-subnav__list--PaddingBlockStart) var(--#{$nav}--m-horizontal--m-subnav__list--PaddingBlockEnd);
100
+ --#{$nav}--m-horizontal--m-subnav__link--PaddingInline: var(--#{$nav}--m-horizontal--m-subnav__list--PaddingInlineStart) var(--#{$nav}--m-horizontal--m-subnav__list--PaddingInlineEnd);
547
101
 
548
- .#{$nav}__item {
549
- display: flex;
550
- scroll-snap-align: var(--#{$nav}__item--ScrollSnapAlign);
551
- }
552
102
 
553
- .#{$nav}__link {
554
- align-items: center;
555
- align-self: stretch;
556
- white-space: nowrap;
103
+ // * Nav horizontal subnav link
104
+ --#{$nav}--m-horizontal--m-subnav__link--PaddingBlock: var(--#{$nav}--m-horizontal--m-subnav__list--PaddingBlockStart) var(--#{$nav}--m-horizontal--m-subnav__list--PaddingBlockEnd);
557
105
 
558
- &::before {
559
- inset-block-start: auto;
560
- inset-block-end: 0;
561
- }
562
- }
563
- }
106
+ // * Nav horizontal scrollable
107
+ --pf-v5-c-nav--horizontal-scrollable--PaddingInlineStart: var(--pf-t--global--border--width--extra-strong);
108
+ }
564
109
 
565
- &.pf-m-horizontal .#{$nav}__link::before {
566
- inset-inline-start: var(--#{$nav}--m-horizontal__link--Left);
567
- inset-inline-end: var(--#{$nav}--m-horizontal__link--Right);
568
- }
110
+ // - Nav display - default to grid
111
+ .#{$nav},
112
+ .#{$nav}__section,
113
+ .#{$nav}__subnav,
114
+ .#{$nav}__list,
115
+ .#{$nav}__item {
116
+ display: grid;
117
+ }
569
118
 
570
- &.pf-m-tertiary .#{$nav}__link::before {
571
- inset-inline-start: var(--#{$nav}--m-tertiary__link--Left);
572
- inset-inline-end: var(--#{$nav}--m-tertiary__link--Right);
573
- }
119
+ // - Nav root
120
+ .#{$nav} {
121
+ --#{$menu}--MinWidth: 100%;
574
122
 
575
- &.pf-m-light {
576
- --#{$nav}__item--before--BorderColor: var(--#{$nav}--m-light__item--before--BorderColor);
577
- --#{$nav}__item--m-current--not--m-expanded__link--BackgroundColor: var(--#{$nav}--m-light__item--m-current--not--m-expanded__link--BackgroundColor);
578
- --#{$nav}__link--Color: var(--#{$nav}--m-light__link--Color);
579
- --#{$nav}__link--hover--Color: var(--#{$nav}--m-light__link--hover--Color);
580
- --#{$nav}__link--focus--Color: var(--#{$nav}--m-light__link--focus--Color);
581
- --#{$nav}__link--active--Color: var(--#{$nav}--m-light__link--active--Color);
582
- --#{$nav}__link--m-current--Color: var(--#{$nav}--m-light__link--m-current--Color);
583
- --#{$nav}__link--hover--BackgroundColor: var(--#{$nav}--m-light__link--hover--BackgroundColor);
584
- --#{$nav}__link--focus--BackgroundColor: var(--#{$nav}--m-light__link--focus--BackgroundColor);
585
- --#{$nav}__link--active--BackgroundColor: var(--#{$nav}--m-light__link--active--BackgroundColor);
586
- --#{$nav}__link--m-current--BackgroundColor: var(--#{$nav}--m-light__link--m-current--BackgroundColor);
587
- --#{$nav}__link--before--BorderColor: var(--#{$nav}--m-light__link--before--BorderColor);
588
- --#{$nav}__link--after--BorderColor: var(--#{$nav}--m-light__link--after--BorderColor);
589
- --#{$nav}__link--m-current--after--BorderColor: var(--#{$nav}--m-light__link--m-current--after--BorderColor);
590
- --#{$nav}__subnav__link--hover--after--BorderColor: var(--#{$nav}--m-light__subnav__link--hover--after--BorderColor);
591
- --#{$nav}__subnav__link--focus--after--BorderColor: var(--#{$nav}--m-light__subnav__link--focus--after--BorderColor);
592
- --#{$nav}__subnav__link--active--after--BorderColor: var(--#{$nav}--m-light__subnav__link--active--after--BorderColor);
593
- --#{$nav}__subnav__link--m-current--after--BorderColor: var(--#{$nav}--m-light__subnav__link--m-current--after--BorderColor);
594
- --#{$nav}__section-title--Color: var(--#{$nav}--m-light__section-title--Color);
595
- --#{$nav}__section-title--BorderBottomColor: var(--#{$nav}--m-light__section-title--BorderBottomColor);
596
-
597
- .#{$divider} {
598
- --#{$divider}--after--BackgroundColor: var(--#{$nav}--m-light--c-divider--BackgroundColor);
599
- }
600
- }
123
+ position: relative;
124
+ row-gap: var(--#{$nav}--RowGap);
125
+ max-width: 100%;
126
+ padding-block-start: var(--#{$nav}--PaddingBlockStart);
127
+ padding-block-end: var(--#{$nav}--PaddingBlockEnd);
128
+ padding-inline-start: var(--#{$nav}--PaddingInlineStart);
129
+ padding-inline-end: var(--#{$nav}--PaddingInlineEnd);
130
+ font-size: var(--#{$nav}--FontSize);
131
+ font-weight: var(--#{$nav}--FontWeight);
132
+ line-height: var(--#{$nav}--LineHeight);
133
+ background-color: var(--#{$nav}--BackgroundColor);
601
134
 
602
- // Horizontal list, masthead
603
- &.pf-m-horizontal {
604
- --#{$nav}__link--PaddingTop: var(--#{$nav}--m-horizontal__link--PaddingTop);
605
- --#{$nav}__link--PaddingRight: var(--#{$nav}--m-horizontal__link--PaddingRight);
606
- --#{$nav}__link--PaddingBottom: var(--#{$nav}--m-horizontal__link--PaddingBottom);
607
- --#{$nav}__link--PaddingLeft: var(--#{$nav}--m-horizontal__link--PaddingLeft);
608
- --#{$nav}__link--Right: var(--#{$nav}--m-horizontal__link--Right); // remove at breaking change
609
- --#{$nav}__link--Left: var(--#{$nav}--m-horizontal__link--Left); // remove at breaking change
610
- --#{$nav}__link--Color: var(--#{$nav}--m-horizontal__link--Color);
611
- --#{$nav}__link--hover--Color: var(--#{$nav}--m-horizontal__link--hover--Color);
612
- --#{$nav}__link--active--Color: var(--#{$nav}--m-horizontal__link--active--Color);
613
- --#{$nav}__link--focus--Color: var(--#{$nav}--m-horizontal__link--focus--Color);
614
- --#{$nav}__link--m-current--Color: var(--#{$nav}--m-horizontal__link--m-current--Color);
615
- --#{$nav}__link--BackgroundColor: var(--#{$nav}--m-horizontal__link--BackgroundColor);
616
- --#{$nav}__link--hover--BackgroundColor: var(--#{$nav}--m-horizontal__link--hover--BackgroundColor);
617
- --#{$nav}__link--focus--BackgroundColor: var(--#{$nav}--m-horizontal__link--focus--BackgroundColor);
618
- --#{$nav}__link--active--BackgroundColor: var(--#{$nav}--m-horizontal__link--active--BackgroundColor);
619
- --#{$nav}__link--m-current--BackgroundColor: var(--#{$nav}--m-horizontal__link--m-current--BackgroundColor);
620
-
621
- // Borders
622
- --#{$nav}__link--before--BorderColor: var(--#{$nav}--m-horizontal__link--before--BorderColor);
623
- --#{$nav}__link--before--BorderBottomWidth: var(--#{$nav}--m-horizontal__link--before--BorderWidth);
624
- --#{$nav}__link--hover--before--BorderBottomWidth: var(--#{$nav}--m-horizontal__link--hover--before--BorderWidth);
625
- --#{$nav}__link--focus--before--BorderBottomWidth: var(--#{$nav}--m-horizontal__link--focus--before--BorderWidth);
626
- --#{$nav}__link--active--before--BorderBottomWidth: var(--#{$nav}--m-horizontal__link--active--before--BorderWidth);
627
- --#{$nav}__link--m-current--before--BorderBottomWidth: var(--#{$nav}--m-horizontal__link--m-current--before--BorderWidth);
135
+ &:where(.pf-m-scrollable) {
136
+ padding-inline: var(--#{$nav}--m-scrollable__list--PaddingInline);
628
137
  }
629
138
 
630
- // Tertiary list
631
- &.pf-m-tertiary {
632
- --#{$nav}__link--PaddingTop: var(--#{$nav}--m-tertiary__link--PaddingTop);
633
- --#{$nav}__link--PaddingRight: var(--#{$nav}--m-tertiary__link--PaddingRight);
634
- --#{$nav}__link--PaddingBottom: var(--#{$nav}--m-tertiary__link--PaddingBottom);
635
- --#{$nav}__link--PaddingLeft: var(--#{$nav}--m-tertiary__link--PaddingLeft);
636
- --#{$nav}__link--Right: var(--#{$nav}--m-tertiary__link--Right);
637
- --#{$nav}__link--Left: var(--#{$nav}--m-tertiary__link--Left);
638
- --#{$nav}__link--Color: var(--#{$nav}--m-tertiary__link--Color);
639
- --#{$nav}__link--hover--Color: var(--#{$nav}--m-tertiary__link--hover--Color);
640
- --#{$nav}__link--active--Color: var(--#{$nav}--m-tertiary__link--active--Color);
641
- --#{$nav}__link--focus--Color: var(--#{$nav}--m-tertiary__link--focus--Color);
642
- --#{$nav}__link--m-current--Color: var(--#{$nav}--m-tertiary__link--m-current--Color);
643
- --#{$nav}__link--BackgroundColor: var(--#{$nav}--m-tertiary__link--BackgroundColor);
644
- --#{$nav}__link--hover--BackgroundColor: var(--#{$nav}--m-tertiary__link--hover--BackgroundColor);
645
- --#{$nav}__link--focus--BackgroundColor: var(--#{$nav}--m-tertiary__link--focus--BackgroundColor);
646
- --#{$nav}__link--active--BackgroundColor: var(--#{$nav}--m-tertiary__link--active--BackgroundColor);
647
- --#{$nav}__link--m-current--BackgroundColor: var(--#{$nav}--m-tertiary__link--m-current--BackgroundColor);
648
-
649
- // Borders
650
- --#{$nav}__link--before--BorderColor: var(--#{$nav}--m-tertiary__link--before--BorderColor);
651
- --#{$nav}__link--before--BorderBottomWidth: var(--#{$nav}--m-tertiary__link--before--BorderWidth);
652
- --#{$nav}__link--hover--before--BorderBottomWidth: var(--#{$nav}--m-tertiary__link--hover--before--BorderWidth);
653
- --#{$nav}__link--focus--before--BorderBottomWidth: var(--#{$nav}--m-tertiary__link--focus--before--BorderWidth);
654
- --#{$nav}__link--active--before--BorderBottomWidth: var(--#{$nav}--m-tertiary__link--active--before--BorderWidth);
655
- --#{$nav}__link--m-current--before--BorderBottomWidth: var(--#{$nav}--m-tertiary__link--m-current--before--BorderWidth);
656
-
657
- // Scroll buttons
658
- --#{$nav}__scroll-button--Color: var(--#{$nav}--m-tertiary__scroll-button--Color);
659
- --#{$nav}__scroll-button--hover--Color: var(--#{$nav}--m-tertiary__scroll-button--hover--Color);
660
- --#{$nav}__scroll-button--focus--Color: var(--#{$nav}--m-tertiary__scroll-button--focus--Color);
661
- --#{$nav}__scroll-button--active--Color: var(--#{$nav}--m-tertiary__scroll-button--active--Color);
662
- --#{$nav}__scroll-button--disabled--Color: var(--#{$nav}--m-tertiary__scroll-button--disabled--Color);
663
-
664
- // Scroll buttons before
665
- --#{$nav}__scroll-button--before--BorderColor: var(--#{$nav}--m-tertiary__scroll-button--before--BorderColor);
666
- --#{$nav}__scroll-button--disabled--before--BorderColor: var(--#{$nav}--m-tertiary__scroll-button--disabled--before--BorderColor);
139
+ &.pf-m-overflow-hidden {
140
+ overflow: hidden;
667
141
  }
668
142
 
669
- &.pf-m-horizontal-subnav {
670
- --#{$nav}__link--FontSize: var(--#{$nav}--m-horizontal-subnav__link--FontSize);
671
- --#{$nav}__link--PaddingTop: var(--#{$nav}--m-horizontal-subnav__link--PaddingTop);
672
- --#{$nav}__link--PaddingRight: var(--#{$nav}--m-horizontal-subnav__link--PaddingRight);
673
- --#{$nav}__link--PaddingBottom: var(--#{$nav}--m-horizontal-subnav__link--PaddingBottom);
674
- --#{$nav}__link--PaddingLeft: var(--#{$nav}--m-horizontal-subnav__link--PaddingLeft);
675
- --#{$nav}__link--Color: var(--#{$nav}--m-horizontal-subnav__link--Color);
676
- --#{$nav}__link--Right: var(--#{$nav}--m-horizontal-subnav__link--Right);
677
- --#{$nav}__link--Left: var(--#{$nav}--m-horizontal-subnav__link--Left);
678
- --#{$nav}__link--hover--Color: var(--#{$nav}--m-horizontal-subnav__link--hover--Color);
679
- --#{$nav}__link--active--Color: var(--#{$nav}--m-horizontal-subnav__link--active--Color);
680
- --#{$nav}__link--focus--Color: var(--#{$nav}--m-horizontal-subnav__link--focus--Color);
681
- --#{$nav}__link--m-current--Color: var(--#{$nav}--m-horizontal-subnav__link--m-current--Color);
682
- --#{$nav}__link--BackgroundColor: var(--#{$nav}--m-horizontal-subnav__link--BackgroundColor);
683
- --#{$nav}__link--hover--BackgroundColor: var(--#{$nav}--m-horizontal-subnav__link--hover--BackgroundColor);
684
- --#{$nav}__link--focus--BackgroundColor: var(--#{$nav}--m-horizontal-subnav__link--focus--BackgroundColor);
685
- --#{$nav}__link--active--BackgroundColor: var(--#{$nav}--m-horizontal-subnav__link--active--BackgroundColor);
686
- --#{$nav}__link--m-current--BackgroundColor: var(--#{$nav}--m-horizontal-subnav__link--m-current--BackgroundColor);
687
-
688
- // Borders
689
- --#{$nav}__link--before--BorderColor: var(--#{$nav}--m-horizontal-subnav__link--before--BorderColor);
690
- --#{$nav}__link--after--BorderColor: var(--#{$nav}--m-horizontal-subnav__link--after--BorderColor);
691
- --#{$nav}__link--hover--after--BorderColor: var(--#{$nav}--m-horizontal-subnav__link--hover--after--BorderColor);
692
- --#{$nav}__link--active--after--BorderColor: var(--#{$nav}--m-horizontal-subnav__link--active--after--BorderColor);
693
- --#{$nav}__link--m-current--after--BorderColor: var(--#{$nav}--m-horizontal-subnav__link--m-current--after--BorderColor);
694
- --#{$nav}__link--after--BorderLeftWidth: var(--#{$nav}--m-horizontal-subnav__link--after--BorderLeftWidth);
695
- --#{$nav}__link--hover--after--BorderLeftWidth: var(--#{$nav}--m-horizontal-subnav__link--hover--after--BorderLeftWidth);
696
- --#{$nav}__link--active--after--BorderLeftWidth: var(--#{$nav}--m-horizontal-subnav__link--active--after--BorderLeftWidth);
697
- --#{$nav}__link--m-current--after--BorderLeftWidth: var(--#{$nav}--m-horizontal-subnav__link--m-current--after--BorderLeftWidth);
698
-
699
- &.pf-m-scrollable {
700
- .#{$nav}__item:first-child {
701
- --#{$nav}__link--after--BorderLeftWidth: 0;
702
- --#{$nav}__link--hover--after--BorderLeftWidth: 0;
703
- --#{$nav}__link--active--after--BorderLeftWidth: 0;
704
- --#{$nav}__link--m-current--after--BorderLeftWidth: 0;
705
- }
706
- }
143
+ &.pf-m-full-width {
144
+ width: 100%;
707
145
  }
708
146
 
709
- // Divider
710
- .#{$divider} {
711
- --#{$divider}--after--BackgroundColor: var(--#{$nav}--c-divider--BackgroundColor);
712
-
713
- padding-inline-start: var(--#{$nav}--c-divider--PaddingLeft);
714
- padding-inline-end: var(--#{$nav}--c-divider--PaddingRight);
715
- margin-block-start: var(--#{$nav}--c-divider--MarginTop);
716
- margin-block-end: var(--#{$nav}--c-divider--MarginBottom);
147
+ &.pf-m-fill {
148
+ flex-grow: 1;
717
149
  }
718
150
 
719
- &.pf-m-scrollable {
720
- .#{$nav}__scroll-button {
721
- opacity: 1;
722
- }
723
-
724
- // Scroll buttons
725
- .#{$nav}__scroll-button:nth-of-type(1) {
726
- margin-inline-end: 0;
727
- transform: translateX(0);
728
- }
151
+ }
729
152
 
730
- .#{$nav}__scroll-button:nth-of-type(2) {
731
- margin-inline-start: 0;
732
- transform: translateX(0);
733
- }
734
- }
153
+ [class^="#{$nav}"][hidden] {
154
+ display: none;
155
+ }
735
156
 
736
- &.pf-m-overflow-hidden {
737
- overflow: hidden;
738
- }
157
+ // Magic value calcs
158
+ .#{$nav}__nav,
159
+ .#{$nav}__list,
160
+ .#{$nav}__subnav {
161
+ // These variables need to remove local to list and subnav to be recalculated upon row gap setting updates
162
+ --#{$nav}__item--RowGap--row-offset: calc(var(--#{$nav}__list--RowGap) / 2 * -1); // row gap offset calcs 1/2 height of row gap
163
+ --#{$nav}__link--clickable-inset--Block: var(--#{$nav}__item--RowGap--row-offset); // set link's clickable area offset based on 1/2 row gap
164
+ --#{$nav}__button--RowGap--row-offset: calc(var(--#{$nav}__item--RowGap) * -1); // match extra bottom paddings applied to expanded nav_links
739
165
  }
740
166
 
741
- // List
167
+ // - Nav list
742
168
  .#{$nav}__list {
743
- position: relative;
744
- display: block;
745
- padding-block-start: var(--#{$nav}__list--PaddingTop);
746
- padding-block-end: var(--#{$nav}__list--PaddingBottom);
169
+ row-gap: var(--#{$nav}__list--RowGap);
170
+ column-gap: var(--#{$nav}__list--ColumnGap);
747
171
  }
748
172
 
749
- // Borders
750
- .#{$nav}__item {
751
- position: relative;
752
-
753
- &.pf-m-expandable {
754
- --#{$nav}__link--before--BorderBottomWidth: 0;
755
-
756
- &::before {
757
- position: absolute;
758
- inset-block-end: calc(var(--#{$nav}__item--before--BorderWidth) * -1);
759
- inset-inline-start: 0;
760
- inset-inline-end: 0;
761
- content: "";
762
- border-block-end: var(--#{$nav}__item--before--BorderWidth) solid var(--#{$nav}__item--before--BorderColor);
763
- }
764
- }
765
-
766
- &:not(:first-child) {
767
- margin-block-start: var(--#{$nav}__item--MarginTop);
768
- }
769
-
770
- .#{$nav}__item {
771
- &:not(.pf-m-expanded) .#{$nav}__toggle-icon {
772
- transform: rotate(0);
773
- }
173
+ // - Nav subnav
174
+ .#{$nav}__subnav {
175
+ --#{$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
774
176
 
775
- &.pf-m-expandable {
776
- --#{$nav}__toggle--FontSize: var(--#{$nav}__item__item__toggle--FontSize);
777
- --#{$nav}__link--PaddingRight: var(--#{$nav}__item__item__link--PaddingRight);
177
+ padding-inline-start: var(--#{$nav}__subnav--PaddingInlineStart); // indent nested lists
178
+ }
778
179
 
779
- // stylelint-disable max-nesting-depth
780
- &::before {
781
- @media screen and (min-width: $pf-v5-global--breakpoint--xl) {
782
- border-block-end: none;
783
- }
784
- }
785
- // stylelint-enable
786
-
787
- .#{$nav}__list::before {
788
- position: absolute;
789
- inset-block-start: 0;
790
- inset-block-end: 0;
791
- inset-inline-start: 0;
792
- inset-inline-end: 0;
793
- pointer-events: none;
794
- content: "";
795
- border-inline-start: var(--#{$nav}__item--before--BorderWidth) solid var(--#{$nav}__item--before--BorderColor);
796
- }
797
- }
798
- }
180
+ // - Nav item
181
+ .#{$nav}__item {
182
+ row-gap: var(--#{$nav}__item--RowGap); // no fallback here as this value is used to calc clickable offsets
183
+ scroll-snap-align: var(--#{$nav}__item--ScrollSnapAlign);
799
184
 
800
- .#{$nav}__toggle-icon {
801
- transform: rotate(var(--#{$nav}__item__toggle-icon--Rotate));
185
+ > .#{$nav}__link[button] {
186
+ margin-block-end: var(--#{$nav}__button--RowGap--row-offset);
802
187
  }
803
188
 
804
- &.pf-m-flyout {
805
- &:hover {
806
- --#{$nav}__link--BackgroundColor: var(--#{$nav}__item--m-flyout--hover__link--BackgroundColor);
807
- --#{$nav}__link--before--BorderBottomWidth: var(--#{$nav}__item--m-flyout--hover__link--before--BorderWidth);
808
- }
809
-
810
- &:focus {
811
- --#{$nav}__link--BackgroundColor: var(--#{$nav}__item--m-flyout--focus__link--BackgroundColor);
812
- --#{$nav}__link--before--BorderBottomWidth: var(--#{$nav}__item--m-flyout--focus__link--before--BorderWidth);
813
- }
814
-
815
- &:active {
816
- --#{$nav}__link--BackgroundColor: var(--#{$nav}__item--m-flyout--active__link--BackgroundColor);
817
- --#{$nav}__link--before--BorderBottomWidth: var(--#{$nav}__item--m-flyout--active__link--before--BorderWidth);
818
- }
819
-
820
- .#{$menu} {
821
- --#{$menu}--MinWidth: 100%;
822
- --#{$menu}--BoxShadow: var(--#{$nav}__item--m-flyout--c-menu--BoxShadow);
823
- --#{$menu}--BackgroundColor: var(--#{$nav}__item--m-flyout--c-menu--BackgroundColor);
824
- --#{$menu}__list--PaddingTop: 0;
825
- --#{$menu}__list--PaddingBottom: 0;
826
- --#{$menu}__list-item--hover--BackgroundColor: var(--#{$nav}__item--m-flyout--c-menu__list-item--hover--BackgroundColor);
827
- --#{$menu}__list-item--focus-within--BackgroundColor: var(--#{$nav}__item--m-flyout--c-menu__list-item--focus-within--BackgroundColor);
828
- --#{$menu}__list-item--active--BackgroundColor: var(--#{$nav}__item--m-flyout--c-menu__list-item--active--BackgroundColor);
829
- --#{$menu}__item--FontSize: var(--#{$nav}__item--m-flyout--c-menu__item--FontSize);
830
- --#{$menu}__item--Color: var(--#{$nav}__item--m-flyout--c-menu__item--Color);
831
- --#{$menu}__item--PaddingTop: var(--#{$nav}__item--m-flyout--c-menu__item--PaddingTop);
832
- --#{$menu}__item--PaddingRight: var(--#{$nav}__item--m-flyout--c-menu__item--PaddingRight);
833
- --#{$menu}__item--PaddingBottom: var(--#{$nav}__item--m-flyout--c-menu__item--PaddingBottom);
834
- --#{$menu}__item--PaddingLeft: var(--#{$nav}__item--m-flyout--c-menu__item--PaddingLeft);
835
- --#{$menu}__item-description--Color: var(--#{$nav}__item--m-flyout--c-menu__item-description--Color);
836
- --#{$nav}--c-menu--m-flyout--c-menu--Bottom: var(--#{$nav}__item--m-flyout--c-menu--m-top--Bottom);
837
- --#{$nav}--c-menu--m-flyout--c-menu--Right: var(--#{$nav}__item--m-flyout--c-menu--m-left--Right);
838
-
839
- position: absolute;
840
- inset-block-start: var(--#{$nav}__item--m-flyout--c-menu--Top);
841
- inset-inline-start: var(--#{$nav}__item--m-flyout--c-menu--Left);
842
-
843
- .#{$menu} {
844
- inset-block-start: var(--#{$nav}__item--m-flyout--c-menu--c-menu--Top);
845
- }
846
-
847
- .#{$menu}__list-item:first-child {
848
- --#{$nav}__item--m-flyout--c-menu--c-menu--Top: var(--#{$nav}__item--m-flyout--c-menu__list-item--first-child--c-menu--Top);
849
- --#{$nav}__item--m-flyout--c-menu__item--hover--after--Top: var(--#{$nav}__item--m-flyout--c-menu__list-item--first-child__item--hover--after--Top);
850
- }
189
+ &.pf-m-expanded:is(:not(:only-child, :last-child)) {
190
+ margin-block-end: var(--#{$nav}__item--m-expanded--MarginBlockEnd, var(--#{$nav}__item--RowGap)); // default to row gap if no custom value is set
851
191
 
852
- // stylelint-disable max-nesting-depth, selector-max-class
853
- .#{$menu}__item {
854
- position: relative;
855
- outline-offset: var(--#{$nav}__item--m-flyout--c-menu__item--OutlineOffset);
856
-
857
- &::before {
858
- position: absolute;
859
- inset-block-end: 0;
860
- inset-inline-start: 0;
861
- inset-inline-end: 0;
862
- content: "";
863
- border-block-end: var(--#{$nav}__item--m-flyout--c-menu__item--before--BorderBottomWidth) solid var(--#{$nav}__item--m-flyout--c-menu__item--before--BorderBottomColor);
864
- }
865
-
866
- &:hover {
867
- &::after {
868
- position: absolute;
869
- inset-block-start: var(--#{$nav}__item--m-flyout--c-menu__item--hover--after--Top);
870
- inset-block-end: 0;
871
- inset-inline-start: 0;
872
- content: "";
873
- border-inline-start: var(--#{$nav}__item--m-flyout--c-menu__item--hover--after--BorderLeftWidth) solid var(--#{$nav}__item--m-flyout--c-menu__item--hover--after--BorderLeftColor);
874
- }
875
- }
876
- }
877
- // stylelint-enable
192
+ + .#{$nav}__item > .#{$nav}__link::before {
193
+ inset-block-start: calc(var(--#{$nav}__item--RowGap) * -1 - var(--#{$nav}__list--RowGap));
878
194
  }
879
195
  }
196
+ }
880
197
 
881
- &.pf-m-drilldown {
882
- &.pf-m-expanded {
883
- > .#{$nav}__subnav {
884
- inset-inline-start: 0;
885
- z-index: var(--#{$nav}__item--m-drilldown--m-expanded__subnav--ZIndex);
886
- }
887
- }
888
- }
198
+ // - Nav section
199
+ .#{$nav}__section {
200
+ row-gap: var(--#{$nav}__section--RowGap, var(--#{$nav}__list--RowGap));
201
+ }
202
+
203
+ // - Nav section title
204
+ .#{$nav}__section-title {
205
+ padding-block-start: var(--#{$nav}__section-title--PaddingBlock, var(--#{$nav}__link--PaddingBlockStart));
206
+ padding-block-end: var(--#{$nav}__section-title--PaddingBlock, var(--#{$nav}__link--PaddingBlockEnd));
207
+ padding-inline-start: var(--#{$nav}__section-title--PaddingInline, var(--#{$nav}__link--PaddingInlineStart));
208
+ padding-inline-end: var(--#{$nav}__section-title--PaddingInline, var(--#{$nav}__link--PaddingInlineEnd));
209
+ font-size: var(--#{$nav}__section-title--FontSize, inherit); // default to inherit if no custom value is set
210
+ font-weight: var(--#{$nav}__section-title--FontWeight);
211
+ color: var(--#{$nav}__section-title--Color);
889
212
  }
890
213
 
891
- // Link
214
+ // - Nav link
892
215
  .#{$nav}__link {
893
216
  position: relative;
894
217
  display: flex;
895
- align-items: baseline;
896
- padding-block-start: var(--#{$nav}__link--PaddingTop);
897
- padding-block-end: var(--#{$nav}__link--PaddingBottom);
898
- padding-inline-start: var(--#{$nav}__link--PaddingLeft);
899
- padding-inline-end: var(--#{$nav}__link--PaddingRight);
900
- font-size: var(--#{$nav}__link--FontSize);
901
- font-weight: var(--#{$nav}__link--FontWeight);
218
+ column-gap: var(--#{$nav}__link--ColumnGap, var(--#{$nav}--ColumnGap)); // default to nav column gap if no custom value is set
219
+ align-items: var(--#{$nav}__link--AlignItems, var(--#{$nav}--AlignItems)); // default to nav align items if no custom value is set
220
+ padding-block-start: var(--#{$nav}__link--PaddingBlockStart);
221
+ padding-block-end: var(--#{$nav}__link--PaddingBlockEnd);
222
+ padding-inline-start: var(--#{$nav}__link--PaddingInlineStart);
223
+ padding-inline-end: var(--#{$nav}__link--PaddingInlineEnd);
224
+ font-size: var(--#{$nav}__link--FontSize, inherit); // default to nav font size if no custom no custom value is set
225
+ font-weight: var(--#{$nav}__link--FontWeight, inherit); // default to nav font weight if no custom value is set
226
+ line-height: var(--#{$nav}__link--LineHeight, inherit); // default to nav line height if no custom value is set
902
227
  color: var(--#{$nav}__link--Color);
228
+ text-align: start;
903
229
  background-color: var(--#{$nav}__link--BackgroundColor);
904
- outline-offset: var(--#{$nav}__link--OutlineOffset);
230
+ border: none;
231
+ border-radius: var(--#{$nav}__link--BorderRadius);
905
232
 
906
- &::after,
233
+ // adjust clickable target area to consume space between items to prevent cursor flicker
907
234
  &::before {
908
235
  position: absolute;
236
+ inset-block: var(--#{$nav}__link--clickable-inset--Block); // do not customize this property
237
+ inset-inline: var(--#{$nav}__link--clickable-inset--Inline); // do not customize this property
909
238
  content: "";
910
- border: 0 solid;
911
239
  }
912
240
 
913
- &::before {
914
- inset-block-end: calc(var(--#{$nav}__link--before--BorderBottomWidth) * -1);
915
- inset-inline-start: 0;
916
- inset-inline-end: 0;
917
- border-color: var(--#{$nav}__link--before--BorderColor);
918
- border-block-end-width: var(--#{$nav}__link--before--BorderBottomWidth);
919
- }
920
-
921
- &::after {
922
- inset-block-start: 0;
923
- inset-block-end: 0;
924
- inset-inline-start: 0;
925
- border: 0 solid;
926
- border-color: var(--#{$nav}__link--after--BorderColor);
927
- border-inline-start-width: var(--#{$nav}__link--after--BorderLeftWidth);
241
+ // increase height clickable area of expanded nav_links to account for
242
+ &[aria-expanded="true"]::before {
243
+ inset-block-end: calc(var(--#{$nav}__item--RowGap) * -1);
928
244
  }
929
245
 
930
- // States
931
- // Set states property explicitly to override with modifiers without having to wrap updates with :state { update }
246
+ // explicitly set background-color prop to avoid affecting child elements settings
932
247
  &:hover,
933
248
  &.pf-m-hover {
934
249
  color: var(--#{$nav}__link--hover--Color);
935
250
  background-color: var(--#{$nav}__link--hover--BackgroundColor);
936
-
937
- &::before {
938
- border-block-end-width: var(--#{$nav}__link--hover--before--BorderBottomWidth);
939
- }
940
-
941
- &::after {
942
- border-color: var(--#{$nav}__link--hover--after--BorderColor);
943
- border-inline-start-width: var(--#{$nav}__link--hover--after--BorderLeftWidth);
944
- }
945
251
  }
946
252
 
947
253
  &:focus {
948
254
  color: var(--#{$nav}__link--focus--Color);
949
255
  background-color: var(--#{$nav}__link--focus--BackgroundColor);
950
-
951
- &::before {
952
- border-block-end-width: var(--#{$nav}__link--focus--before--BorderBottomWidth);
953
- }
954
-
955
- &::after {
956
- border-color: var(--#{$nav}__link--focus--after--BorderColor);
957
- border-inline-start-width: var(--#{$nav}__link--focus--after--BorderLeftWidth);
958
- }
959
256
  }
960
257
 
961
258
  &:active {
962
259
  color: var(--#{$nav}__link--active--Color);
963
260
  background-color: var(--#{$nav}__link--active--BackgroundColor);
964
-
965
- &::before {
966
- border-block-end-width: var(--#{$nav}__link--active--before--BorderBottomWidth);
967
- }
968
-
969
- &::after {
970
- border-color: var(--#{$nav}__link--active--after--BorderColor);
971
- border-inline-start-width: var(--#{$nav}__link--active--after--BorderLeftWidth);
972
- }
973
261
  }
974
262
 
975
263
  &.pf-m-current,
976
- &.pf-m-current:hover,
977
- .#{$nav}__item.pf-m-current:not(.pf-m-expanded) & {
264
+ &.pf-m-current:hover {
978
265
  color: var(--#{$nav}__link--m-current--Color);
979
266
  background-color: var(--#{$nav}__link--m-current--BackgroundColor);
980
-
981
- &::before {
982
- border-block-end-width: var(--#{$nav}__link--m-current--before--BorderBottomWidth);
983
- }
984
-
985
- &::after {
986
- border-color: var(--#{$nav}__link--m-current--after--BorderColor);
987
- border-inline-start-width: var(--#{$nav}__link--m-current--after--BorderLeftWidth);
988
- }
989
- }
990
-
991
- &,
992
- &:hover,
993
- &:focus,
994
- &:active {
995
- width: 100%;
996
- text-decoration: none;
997
- border: none;
998
- }
999
- }
1000
-
1001
- // Subnav
1002
- .#{$nav}__subnav {
1003
- --#{$nav}__list--PaddingTop: 0;
1004
- --#{$nav}__list--PaddingBottom: 0;
1005
- --#{$nav}__link--PaddingTop: var(--#{$nav}__subnav__link--PaddingTop);
1006
- --#{$nav}__link--PaddingRight: var(--#{$nav}__subnav__link--PaddingRight);
1007
- --#{$nav}__link--PaddingBottom: var(--#{$nav}__subnav__link--PaddingBottom);
1008
- --#{$nav}__link--PaddingLeft: var(--#{$nav}__subnav__link--PaddingLeft);
1009
- --#{$nav}__link--FontSize: var(--#{$nav}__subnav__link--FontSize);
1010
-
1011
- // Borders
1012
- --#{$nav}__link--hover--after--BorderColor: var(--#{$nav}__subnav__link--hover--after--BorderColor);
1013
- --#{$nav}__link--focus--after--BorderColor: var(--#{$nav}__subnav__link--focus--after--BorderColor);
1014
- --#{$nav}__link--active--after--BorderColor: var(--#{$nav}__subnav__link--active--after--BorderColor);
1015
- --#{$nav}__link--m-current--after--BorderColor: var(--#{$nav}__subnav__link--m-current--after--BorderColor);
1016
- --#{$nav}__link--hover--after--BorderLeftWidth: var(--#{$nav}__subnav__link--hover--after--BorderWidth);
1017
- --#{$nav}__link--focus--after--BorderLeftWidth: var(--#{$nav}__subnav__link--focus--after--BorderWidth);
1018
- --#{$nav}__link--active--after--BorderLeftWidth: var(--#{$nav}__subnav__link--active--after--BorderWidth);
1019
- --#{$nav}__link--m-current--after--BorderLeftWidth: var(--#{$nav}__subnav__link--m-current--after--BorderWidth);
1020
- --#{$nav}--c-divider--PaddingRight: var(--#{$nav}__subnav--c-divider--PaddingRight);
1021
- --#{$nav}--c-divider--PaddingLeft: var(--#{$nav}__subnav--c-divider--PaddingLeft);
1022
-
1023
- max-height: var(--#{$nav}__subnav--MaxHeight);
1024
- padding-block-end: var(--#{$nav}__subnav--PaddingBottom);
1025
- padding-inline-start: var(--#{$nav}__subnav--PaddingLeft);
1026
- transition: var(--#{$nav}--Transition);
1027
-
1028
- .#{$nav}__subnav {
1029
- --#{$nav}__link--FontSize: var(--#{$nav}__subnav__subnav__link--FontSize);
1030
- --#{$nav}__link--PaddingLeft: var(--#{$nav}__subnav__subnav__link--PaddingLeft);
1031
- --#{$nav}__subnav--PaddingLeft: var(--#{$nav}__subnav__subnav--PaddingLeft);
1032
- }
1033
-
1034
- // remove at breaking change - not used
1035
- &.pf-m-flyout {
1036
- width: 100%;
1037
- }
1038
-
1039
- .#{$nav}__item.pf-m-expanded & {
1040
- --#{$nav}__subnav--MaxHeight: var(--#{$nav}__item--m-expanded__subnav--MaxHeight);
1041
-
1042
- overflow-y: auto;
1043
- opacity: 1;
1044
267
  }
1045
-
1046
- @include pf-v5-overflow-hide-scroll;
1047
268
  }
1048
269
 
1049
- // Toggle caret
270
+ // - Nav toggle caret
1050
271
  .#{$nav}__toggle {
1051
272
  flex: none;
1052
- padding-inline-start: var(--#{$nav}__toggle--PaddingLeft);
1053
- padding-inline-end: var(--#{$nav}__toggle--PaddingRight);
273
+ align-self: start;
1054
274
  margin-inline-start: auto;
1055
- font-size: var(--#{$nav}__toggle--FontSize);
1056
- line-height: 1;
1057
275
 
1058
- &.pf-m-start {
1059
- margin-inline-start: calc(var(--#{$nav}__toggle--PaddingRight) * -1);
1060
- margin-inline-end: var(--#{$nav}__toggle--m-start--MarginRight);
1061
- }
276
+ // find height of single text string, divide by two, offset by 50% of own height
277
+ transform: translateY(var(--#{$nav}__toggle--TranslateY));
1062
278
  }
1063
279
 
1064
- // Toggle icon
280
+ // - Nav toggle icon
1065
281
  .#{$nav}__toggle-icon {
1066
282
  display: inline-block;
1067
- transition: var(--#{$nav}__toggle-icon--Transition);
283
+ transform: rotate(var(--#{$nav}__item__toggle-icon--Rotate));
1068
284
 
1069
285
  @include pf-v5-mirror-inline-on-rtl;
1070
286
 
1071
- .#{$nav}__item.pf-m-expanded & {
287
+ .#{$nav}__item:where(.pf-m-flyout) & {
288
+ --#{$nav}__item--m-expanded__toggle-icon--Rotate: 0;
289
+ }
290
+
291
+ .#{$nav}__link:where([aria-expanded="true"]) & {
1072
292
  transform: rotate(var(--#{$nav}__item--m-expanded__toggle-icon--Rotate));
1073
293
  }
1074
294
  }
1075
295
 
1076
- // Section
1077
- .#{$nav}__section {
1078
- --#{$nav}__item--MarginTop: var(--#{$nav}__section__item--MarginTop);
1079
- --#{$nav}__link--PaddingTop: var(--#{$nav}__section__link--PaddingTop);
1080
- --#{$nav}__link--PaddingRight: var(--#{$nav}__section__link--PaddingRight);
1081
- --#{$nav}__link--PaddingBottom: var(--#{$nav}__section__link--PaddingBottom);
1082
- --#{$nav}__link--PaddingLeft: var(--#{$nav}__section__link--PaddingLeft);
1083
- --#{$nav}__link--FontSize: var(--#{$nav}__section__link--FontSize);
1084
-
1085
- // Borders
1086
- --#{$nav}__link--before--BorderBottomWidth: var(--#{$nav}__section__link--before--BorderBottomWidth);
1087
- --#{$nav}__link--hover--after--BorderColor: var(--#{$nav}__section__link--hover--after--BorderColor);
1088
- --#{$nav}__link--focus--after--BorderColor: var(--#{$nav}__section__link--focus--after--BorderColor);
1089
- --#{$nav}__link--active--after--BorderColor: var(--#{$nav}__section__link--active--after--BorderColor);
1090
- --#{$nav}__link--m-current--after--BorderColor: var(--#{$nav}__section__link--m-current--after--BorderColor);
1091
- --#{$nav}__link--hover--after--BorderLeftWidth: var(--#{$nav}__section__link--hover--after--BorderWidth);
1092
- --#{$nav}__link--focus--after--BorderLeftWidth: var(--#{$nav}__section__link--focus--after--BorderWidth);
1093
- --#{$nav}__link--active--after--BorderLeftWidth: var(--#{$nav}__section__link--active--after--BorderWidth);
1094
- --#{$nav}__link--m-current--after--BorderLeftWidth: var(--#{$nav}__section__link--m-current--after--BorderWidth);
1095
-
1096
- // Lists
1097
- --#{$nav}__list--PaddingTop: 0;
1098
- --#{$nav}__list--PaddingBottom: 0;
1099
-
1100
- // Divider
1101
- --#{$nav}--c-divider--MarginBottom: 0;
1102
-
1103
- &:first-child {
1104
- padding-block-start: var(--#{$nav}__section--first-child--PaddingTop);
1105
- }
296
+ // - Nav scroll button
297
+ .#{$nav}__scroll-button {
298
+ :is(button) {
299
+ --#{$button}--Display: flex;
300
+ --#{$button}--Flex: 1;
301
+ --#{$button}--AlignItems: center;
302
+ --#{$button}--JustifyContent: center;
1106
303
 
1107
- & + & {
1108
- margin-block-start: var(--#{$nav}__section--section--MarginTop);
1109
- }
304
+ padding-inline: var(--#{$nav}__scroll-button--button--InlinePadding);
1110
305
 
1111
- &:last-child {
1112
- padding-block-end: var(--#{$nav}__section--last-child--PaddingBottom);
1113
- }
1114
- }
306
+ .#{$button}__icon {
307
+ @include pf-v5-mirror-inline-on-rtl;
308
+ }
1115
309
 
1116
- // Section title
1117
- .#{$nav}__section-title {
1118
- padding-block-start: var(--#{$nav}__section-title--PaddingTop);
1119
- padding-block-end: var(--#{$nav}__section-title--PaddingBottom);
1120
- padding-inline-start: var(--#{$nav}__section-title--PaddingLeft);
1121
- padding-inline-end: var(--#{$nav}__section-title--PaddingRight);
1122
- margin-block-end: var(--#{$nav}__section-title--MarginBottom);
1123
- font-size: var(--#{$nav}__section-title--FontSize);
1124
- color: var(--#{$nav}__section-title--Color);
1125
- border-block-end: var(--#{$nav}__section-title--BorderBottomWidth) solid var(--#{$nav}__section-title--BorderBottomColor);
1126
- }
310
+ > * {
311
+ display: inline-block;
312
+ padding-inline: var(--#{$nav}__scroll-button--button--icon--InlinePadding);
1127
313
 
1128
- // Scroll buttons
1129
- .#{$nav}__scroll-button {
1130
- flex: none;
1131
- width: var(--#{$nav}__scroll-button--Width);
1132
- color: var(--#{$nav}__scroll-button--Color);
1133
- background-color: var(--#{$nav}__scroll-button--BackgroundColor);
1134
- border: 0;
1135
- outline-offset: var(--#{$nav}__scroll-button--OutlineOffset);
1136
- opacity: 0;
1137
- transition: var(--#{$nav}__scroll-button--Transition);
1138
-
1139
- // Mirror only the contents to avoid flipping the borders
1140
- // TODO at breaking change, add an icon wrapper to be mirrored
1141
- > * {
1142
- @include pf-v5-mirror-inline-on-rtl;
314
+ > * {
315
+ min-width: var(--#{$nav}__scroll-button--button--icon--IconSize);
316
+ }
317
+ }
1143
318
  }
1144
319
 
320
+ // - Nav button
321
+ position: relative;
322
+ display: flex;
323
+ flex: none;
324
+ align-items: stretch;
325
+ justify-items: stretch;
326
+ min-width: var(--#{$nav}__scroll-button--MinWidth);
327
+
1145
328
  &::before {
1146
329
  position: absolute;
1147
- inset-block-start: 0;
1148
- inset-block-end: 0;
330
+ inset-block: 0;
331
+ inset-inline: 0;
1149
332
  content: "";
1150
- border: 0 solid var(--#{$nav}__scroll-button--before--BorderColor);
1151
- border-inline-start-width: var(--#{$nav}__scroll-button--before--BorderLeftWidth);
1152
- border-inline-end-width: var(--#{$nav}__scroll-button--before--BorderRightWidth);
1153
- }
1154
-
1155
- &:hover {
1156
- color: var(--#{$nav}__scroll-button--hover--Color);
333
+ outline-offset: var(--#{$nav}--OutlineOffset);
1157
334
  }
1158
335
 
1159
- &:focus {
1160
- color: var(--#{$nav}__scroll-button--focus--Color);
1161
- }
336
+ &:first-of-type {
337
+ button {
338
+ --#{$button}--BorderStartStartRadius: var(--#{$nav}__scroll-button--BorderRadius);
339
+ --#{$button}--BorderStartEndRadius: 0;
340
+ --#{$button}--BorderEndStartRadius: var(--#{$nav}__scroll-button--BorderRadius);
341
+ --#{$button}--BorderEndEndRadius: 0;
342
+ }
1162
343
 
1163
- &:active {
1164
- color: var(--#{$nav}__scroll-button--active--Color);
1165
- }
344
+ border-start-start-radius: var(--#{$nav}__scroll-button--BorderRadius);
345
+ border-end-start-radius: var(--#{$nav}__scroll-button--BorderRadius);
1166
346
 
1167
- &:disabled {
1168
- color: var(--#{$nav}__scroll-button--disabled--Color);
1169
- border-color: var(--#{$nav}__scroll-button--disabled--before--BorderColor);
347
+ &::before {
348
+ border-inline-end: var(--#{$nav}__scroll-button--BorderWidth) solid var(--#{$nav}__scroll-button--BorderColor);
349
+ }
1170
350
  }
1171
351
 
1172
- &:nth-of-type(1) {
1173
- --#{$nav}__scroll-button--before--BorderRightWidth: var(--#{$nav}__scroll-button--before--BorderWidth);
352
+ &:last-of-type {
353
+ button {
354
+ --#{$button}--BorderStartStartRadius: 0;
355
+ --#{$button}--BorderStartEndRadius: var(--#{$nav}__scroll-button--BorderRadius);
356
+ --#{$button}--BorderEndStartRadius: 0;
357
+ --#{$button}--BorderEndEndRadius: var(--#{$nav}__scroll-button--BorderRadius);
358
+ }
1174
359
 
1175
- margin-inline-end: calc(var(--#{$nav}__scroll-button--Width) * -1);
360
+ border-start-end-radius: var(--#{$nav}__scroll-button--BorderRadius);
361
+ border-end-end-radius: var(--#{$nav}__scroll-button--BorderRadius);
1176
362
 
1177
- @include pf-v5-bidirectional-style(
1178
- $prop: transform,
1179
- $ltr-val: translateX(-100%),
1180
- $rtl-val: translateX(#{pf-v5-calc-inverse(-100%)})
1181
- );
1182
-
1183
363
  &::before {
1184
- inset-inline-end: 0;
364
+ border-inline-start: var(--#{$nav}__scroll-button--BorderWidth) solid var(--#{$nav}__scroll-button--BorderColor);
1185
365
  }
1186
366
  }
367
+ }
1187
368
 
1188
- &:nth-of-type(2) {
1189
- --#{$nav}__scroll-button--before--BorderLeftWidth: var(--#{$nav}__scroll-button--before--BorderWidth);
369
+ // - Nav horizontal
370
+ .#{$nav}:where(.pf-m-horizontal) {
371
+ padding: 0;
372
+ overflow: hidden;
373
+ border-radius: var(--#{$nav}--m-horizontal--BorderRadius);
1190
374
 
1191
- margin-inline-start: calc(var(--#{$nav}__scroll-button--Width) * -1);
375
+ // update to flex
376
+ &,
377
+ .#{$nav}__section,
378
+ .#{$nav}__subnav,
379
+ .#{$nav}__list,
380
+ .#{$nav}__item {
381
+ display: flex;
382
+ }
1192
383
 
1193
- @include pf-v5-bidirectional-style(
1194
- $prop: transform,
1195
- $ltr-val: translateX(100%),
1196
- $rtl-val: translateX(#{pf-v5-calc-inverse(100%)})
1197
- );
384
+ // - Nav horizontal list
385
+ .#{$nav}__list {
386
+ padding-block: var(--#{$nav}--m-horizontal__list--PaddingBlock);
387
+ padding-inline: var(--#{$nav}--m-horizontal__list--PaddingInline);
388
+ overflow-x: auto;
389
+ white-space: nowrap;
390
+ scroll-snap-type: var(--#{$nav}__list--ScrollSnapType);
391
+ -webkit-overflow-scrolling: touch;
1198
392
 
1199
- &::before {
1200
- inset-inline-start: 0;
1201
- }
393
+ @include pf-v5-overflow-hide-scroll;
394
+ }
395
+
396
+ .#{$nav}__link {
397
+ outline-offset: var(--#{$nav}--OutlineOffset);
398
+ }
399
+
400
+ .#{$nav}__link::before { // - Nav link before
401
+ // offset vertical clickable area by list padding start/end
402
+ inset-block-start: calc(var(--#{$nav}--m-horizontal__list--PaddingBlockStart) * -1);
403
+ inset-block-end: calc(var(--#{$nav}--m-horizontal__list--PaddingBlockEnd) * -1);
404
+ inset-inline-start: calc(var(--#{$nav}--m-horizontal__list--ColumnGap) / 2 * -1);
405
+ inset-inline-end: calc(var(--#{$nav}--m-horizontal__list--ColumnGap) / 2 * -1);
406
+ }
407
+
408
+ // - Nav subnav
409
+ &.pf-m-subnav {
410
+ // - Nav subnav link1
411
+ --#{$nav}__link--PaddingBlockStart: var(--#{$nav}--m-horizontal--m-subnav__link--PaddingBlockStart);
412
+ --#{$nav}__link--PaddingBlockEnd: var(--#{$nav}--m-horizontal--m-subnav__link--PaddingBlockEnd);
413
+
414
+ // - Nav subnav list
415
+ --#{$nav}__list--PaddingBlock: var(--#{$nav}--m-horizontal--m-subnav__list--PaddingBlockStart) var(--#{$nav}--m-horizontal--m-subnav__list--PaddingBlockEnd);
416
+ --#{$nav}__list--PaddingInline: var(--#{$nav}--m-horizontal--m-subnav__list--PaddingInlineStart) var(--#{$nav}--m-horizontal--m-subnav__list--PaddingInlineStart);
1202
417
  }
1203
- }
1204
418
 
1205
- // stylelint-disable no-invalid-position-at-import-rule
1206
- @import "themes/dark/nav";
419
+ // - Nav scrollable
420
+ .#{$nav}__scroll-button + .#{$nav}__list {
421
+ padding-inline-start: var(--pf-v5-c-nav--horizontal-scrollable--PaddingInlineStart);
1207
422
 
1208
- @include pf-v5-theme-dark {
1209
- @include pf-v5-theme-dark-nav;
423
+ // offset clickable area for first child by padding update
424
+ > :first-child .#{$nav}__link::before {
425
+ inset-inline-start: calc(var(--#{$nav}--m-horizontal__list--ColumnGap) / 2 * -1 - var(--pf-v5-c-nav--horizontal-scrollable--PaddingInlineStart));
426
+ }
427
+ }
1210
428
  }