@patternfly/patternfly 6.0.0-alpha.7 → 6.0.0-alpha.71

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 (382) hide show
  1. package/CODE_OF_CONDUCT.md +1 -2
  2. package/README.md +13 -3
  3. package/assets/icons/iconUnicodes.json +1 -0
  4. package/assets/images/PF-Backdrop.svg +1 -0
  5. package/assets/images/PF-HorizontalLogo-Color.svg +29 -0
  6. package/assets/images/PF-HorizontalLogo-Reverse.svg +28 -0
  7. package/assets/images/PF-IconLogo-Reverse.svg +14 -0
  8. package/assets/images/PF-IconLogo-color.svg +17 -0
  9. package/assets/images/PF-IconLogo.svg +17 -0
  10. package/assets/images/logo__pf--reverse-on-md.svg +1 -1
  11. package/assets/images/pf-background.svg +22 -0
  12. package/assets/images/pf-c-brand__logo-on-lg-white.svg +32 -0
  13. package/assets/images/pf-c-brand__logo-on-md-white.svg +42 -0
  14. package/assets/images/pf-c-brand__logo-on-sm-white.svg +17 -0
  15. package/assets/images/pf-c-brand__logo-on-sm.svg +1 -1
  16. package/assets/images/pf-c-brand__logo-on-xl-white.svg +39 -0
  17. package/assets/images/pf_logo_white.hbs +35 -0
  18. package/assets/images/pf_logo_white.svg +38 -0
  19. package/assets/pficon/pf-v5-pficon.woff2 +0 -0
  20. package/assets/pficon/pficon.scss +6 -129
  21. package/base/_common.scss +29 -4
  22. package/base/_globals.scss +5 -7
  23. package/base/_variables.scss +8 -6
  24. package/base/patternfly-common.css +24 -6
  25. package/base/patternfly-globals.css +5 -4
  26. package/base/patternfly-icons.css +5 -1
  27. package/base/patternfly-pf-icons.css +5 -1
  28. package/base/patternfly-variables.css +859 -833
  29. package/base/tokens/_tokens-dark.scss +306 -284
  30. package/base/tokens/_tokens-default.scss +415 -329
  31. package/base/tokens/_tokens-font.scss +41 -46
  32. package/base/tokens/_tokens-palette.scss +68 -68
  33. package/base/tokens/_workspace-overrides.scss +7 -0
  34. package/components/AboutModalBox/about-modal-box.css +78 -104
  35. package/components/AboutModalBox/about-modal-box.scss +62 -74
  36. package/components/Accordion/accordion.css +96 -175
  37. package/components/Accordion/accordion.scss +106 -193
  38. package/components/ActionList/action-list.css +18 -17
  39. package/components/ActionList/action-list.scss +26 -16
  40. package/components/Alert/alert-group.css +27 -20
  41. package/components/Alert/alert-group.scss +27 -20
  42. package/components/Alert/alert.css +74 -95
  43. package/components/Alert/alert.scss +76 -89
  44. package/components/AppLauncher/app-launcher.css +32 -23
  45. package/components/AppLauncher/app-launcher.scss +32 -23
  46. package/components/Avatar/avatar.css +10 -13
  47. package/components/Avatar/avatar.scss +10 -17
  48. package/components/BackToTop/back-to-top.css +17 -16
  49. package/components/BackToTop/back-to-top.scss +14 -14
  50. package/components/Backdrop/backdrop.css +8 -4
  51. package/components/Backdrop/backdrop.scss +7 -4
  52. package/components/BackgroundImage/background-image.css +11 -4
  53. package/components/BackgroundImage/background-image.scss +13 -4
  54. package/components/Badge/badge.css +25 -17
  55. package/components/Badge/badge.scss +27 -19
  56. package/components/Banner/banner.css +95 -69
  57. package/components/Banner/banner.scss +100 -34
  58. package/components/Breadcrumb/breadcrumb.css +28 -19
  59. package/components/Breadcrumb/breadcrumb.scss +26 -19
  60. package/components/Button/button.css +437 -359
  61. package/components/Button/button.scss +495 -483
  62. package/components/CalendarMonth/calendar-month.css +25 -15
  63. package/components/CalendarMonth/calendar-month.scss +23 -15
  64. package/components/Card/card.css +117 -203
  65. package/components/Card/card.scss +137 -246
  66. package/components/Check/check.css +25 -22
  67. package/components/Check/check.scss +26 -24
  68. package/components/Chip/chip-group.css +6 -6
  69. package/components/Chip/chip-group.scss +6 -6
  70. package/components/Chip/chip.css +16 -9
  71. package/components/Chip/chip.scss +17 -9
  72. package/components/ClipboardCopy/clipboard-copy.css +47 -41
  73. package/components/ClipboardCopy/clipboard-copy.scss +50 -34
  74. package/components/CodeBlock/code-block.css +24 -12
  75. package/components/CodeBlock/code-block.scss +24 -13
  76. package/components/CodeEditor/code-editor.css +31 -22
  77. package/components/CodeEditor/code-editor.scss +30 -21
  78. package/components/CodeEditor/themes/dark/code-editor.scss +1 -1
  79. package/components/Content/content.css +40 -37
  80. package/components/Content/content.scss +40 -37
  81. package/components/ContextSelector/context-selector.css +41 -26
  82. package/components/ContextSelector/context-selector.scss +40 -25
  83. package/components/ContextSelector/themes/dark/context-selector.scss +1 -1
  84. package/components/DataList/data-list-grid.css +21 -21
  85. package/components/DataList/data-list-grid.scss +3 -3
  86. package/components/DataList/data-list.css +165 -209
  87. package/components/DataList/data-list.scss +138 -185
  88. package/components/DatePicker/date-picker.css +8 -8
  89. package/components/DatePicker/date-picker.scss +8 -8
  90. package/components/DescriptionList/description-list.css +47 -39
  91. package/components/DescriptionList/description-list.scss +33 -30
  92. package/components/Divider/divider.css +97 -177
  93. package/components/Divider/divider.scss +60 -79
  94. package/components/DragDrop/drag-drop.css +26 -22
  95. package/components/DragDrop/drag-drop.scss +26 -25
  96. package/components/Drawer/drawer.css +216 -158
  97. package/components/Drawer/drawer.scss +199 -150
  98. package/components/Dropdown/dropdown.css +76 -69
  99. package/components/Dropdown/dropdown.scss +67 -62
  100. package/components/DualListSelector/dual-list-selector.css +29 -15
  101. package/components/DualListSelector/dual-list-selector.scss +30 -15
  102. package/components/EmptyState/empty-state.css +64 -38
  103. package/components/EmptyState/empty-state.scss +70 -38
  104. package/components/ExpandableSection/expandable-section.css +75 -66
  105. package/components/ExpandableSection/expandable-section.scss +82 -80
  106. package/components/FileUpload/file-upload.css +31 -43
  107. package/components/FileUpload/file-upload.scss +31 -49
  108. package/components/Form/form.css +111 -154
  109. package/components/Form/form.scss +101 -160
  110. package/components/FormControl/form-control.css +95 -111
  111. package/components/FormControl/form-control.scss +97 -92
  112. package/components/HelperText/helper-text.css +29 -35
  113. package/components/HelperText/helper-text.scss +31 -41
  114. package/components/Hint/hint.css +37 -27
  115. package/components/Hint/hint.scss +37 -30
  116. package/components/Icon/icon.css +155 -19
  117. package/components/Icon/icon.scss +188 -21
  118. package/components/InlineEdit/inline-edit.css +12 -11
  119. package/components/InlineEdit/inline-edit.scss +12 -11
  120. package/components/InputGroup/input-group.css +32 -42
  121. package/components/InputGroup/input-group.scss +31 -33
  122. package/components/JumpLinks/jump-links.css +61 -58
  123. package/components/JumpLinks/jump-links.scss +61 -60
  124. package/components/Label/label-group.css +48 -50
  125. package/components/Label/label-group.scss +48 -51
  126. package/components/Label/label.css +382 -363
  127. package/components/Label/label.scss +441 -356
  128. package/components/List/list.css +25 -25
  129. package/components/List/list.scss +26 -26
  130. package/components/LogViewer/log-viewer.css +14 -14
  131. package/components/LogViewer/log-viewer.scss +14 -14
  132. package/components/Login/login.css +104 -122
  133. package/components/Login/login.scss +92 -91
  134. package/components/Masthead/masthead.css +262 -506
  135. package/components/Masthead/masthead.scss +123 -289
  136. package/components/Menu/menu.css +82 -65
  137. package/components/Menu/menu.scss +85 -69
  138. package/components/MenuToggle/menu-toggle.css +37 -31
  139. package/components/MenuToggle/menu-toggle.scss +37 -33
  140. package/components/ModalBox/modal-box.css +76 -69
  141. package/components/ModalBox/modal-box.scss +74 -70
  142. package/components/MultipleFileUpload/multiple-file-upload.css +87 -57
  143. package/components/MultipleFileUpload/multiple-file-upload.scss +92 -60
  144. package/components/Nav/nav.css +248 -899
  145. package/components/Nav/nav.scss +304 -1059
  146. package/components/Nav/themes/dark/nav.scss +2 -2
  147. package/components/NotificationBadge/notification-badge.css +66 -85
  148. package/components/NotificationBadge/notification-badge.scss +72 -103
  149. package/components/NotificationDrawer/notification-drawer.css +130 -128
  150. package/components/NotificationDrawer/notification-drawer.scss +130 -129
  151. package/components/NumberInput/number-input.css +10 -10
  152. package/components/NumberInput/number-input.scss +9 -14
  153. package/components/OptionsMenu/options-menu.css +43 -31
  154. package/components/OptionsMenu/options-menu.scss +43 -31
  155. package/components/OverflowMenu/overflow-menu.css +17 -47
  156. package/components/OverflowMenu/overflow-menu.scss +27 -65
  157. package/components/Page/page.css +182 -232
  158. package/components/Page/page.scss +130 -195
  159. package/components/Pagination/pagination.css +74 -121
  160. package/components/Pagination/pagination.scss +55 -125
  161. package/components/Panel/panel.css +40 -30
  162. package/components/Panel/panel.scss +42 -33
  163. package/components/Popover/popover.css +108 -87
  164. package/components/Popover/popover.scss +120 -109
  165. package/components/Progress/progress.css +40 -52
  166. package/components/Progress/progress.scss +48 -62
  167. package/components/ProgressStepper/progress-stepper.css +98 -89
  168. package/components/ProgressStepper/progress-stepper.scss +90 -84
  169. package/components/Radio/radio.css +30 -23
  170. package/components/Radio/radio.scss +31 -25
  171. package/components/Select/select.css +56 -47
  172. package/components/Select/select.scss +56 -47
  173. package/components/Sidebar/sidebar.css +31 -14
  174. package/components/Sidebar/sidebar.scss +34 -16
  175. package/components/SimpleList/simple-list.css +45 -56
  176. package/components/SimpleList/simple-list.scss +51 -55
  177. package/components/Skeleton/skeleton.css +24 -25
  178. package/components/Skeleton/skeleton.scss +21 -26
  179. package/components/SkipToContent/skip-to-content.css +9 -6
  180. package/components/SkipToContent/skip-to-content.scss +8 -6
  181. package/components/Slider/slider.css +80 -55
  182. package/components/Slider/slider.scss +96 -65
  183. package/components/Spinner/spinner.css +17 -34
  184. package/components/Spinner/spinner.scss +19 -47
  185. package/components/Switch/switch.css +49 -41
  186. package/components/Switch/switch.scss +51 -42
  187. package/components/TabContent/tab-content.css +21 -12
  188. package/components/TabContent/tab-content.scss +22 -15
  189. package/components/Table/table-grid.css +256 -195
  190. package/components/Table/table-grid.scss +53 -39
  191. package/components/Table/table-scrollable.css +4 -4
  192. package/components/Table/table-scrollable.scss +6 -4
  193. package/components/Table/table-tree-view.css +112 -105
  194. package/components/Table/table-tree-view.scss +38 -33
  195. package/components/Table/table.css +105 -89
  196. package/components/Table/table.scss +105 -89
  197. package/components/Tabs/tabs.css +210 -214
  198. package/components/Tabs/tabs.scss +222 -254
  199. package/components/TextInputGroup/text-input-group.css +15 -15
  200. package/components/TextInputGroup/text-input-group.scss +15 -15
  201. package/components/Tile/tile.css +47 -88
  202. package/components/Tile/tile.scss +45 -91
  203. package/components/Timestamp/timestamp.css +12 -9
  204. package/components/Timestamp/timestamp.scss +11 -10
  205. package/components/Title/title.css +70 -19
  206. package/components/Title/title.scss +90 -20
  207. package/components/ToggleGroup/toggle-group.css +68 -59
  208. package/components/ToggleGroup/toggle-group.scss +72 -57
  209. package/components/Toolbar/toolbar.css +2553 -1054
  210. package/components/Toolbar/toolbar.scss +234 -516
  211. package/components/Tooltip/tooltip.css +74 -44
  212. package/components/Tooltip/tooltip.scss +93 -77
  213. package/components/TreeView/tree-view.css +48 -27
  214. package/components/TreeView/tree-view.scss +50 -28
  215. package/components/Truncate/truncate.css +13 -0
  216. package/components/Truncate/truncate.scss +19 -3
  217. package/components/Wizard/wizard.css +57 -36
  218. package/components/Wizard/wizard.scss +57 -36
  219. package/docs/components/AboutModalBox/examples/AboutModalBox.md +2 -2
  220. package/docs/components/Accordion/examples/Accordion.md +614 -416
  221. package/docs/components/ActionList/examples/ActionList.md +73 -22
  222. package/docs/components/Alert/examples/Alert.md +3 -3
  223. package/docs/components/Avatar/examples/Avatar.md +5 -19
  224. package/docs/components/BackgroundImage/examples/BackgroundImage.md +1 -1
  225. package/docs/components/Badge/examples/Badge.md +21 -0
  226. package/docs/components/Banner/examples/Banner.md +48 -25
  227. package/docs/components/Brand/examples/Brand.css +12 -0
  228. package/docs/components/Brand/examples/Brand.md +51 -32
  229. package/docs/components/Breadcrumb/examples/Breadcrumb.md +1 -1
  230. package/docs/components/Button/examples/Button.css +6 -2
  231. package/docs/components/Button/examples/Button.md +1425 -87
  232. package/docs/components/Card/examples/Card.md +565 -148
  233. package/docs/components/Check/examples/Check.md +71 -58
  234. package/docs/components/Chip/examples/Chip.md +1 -1
  235. package/docs/components/ClipboardCopy/examples/ClipboardCopy.md +106 -0
  236. package/docs/components/CodeBlock/examples/CodeBlock.md +4 -4
  237. package/docs/components/CodeEditor/examples/CodeEditor.md +3 -3
  238. package/docs/components/Content/examples/Content.md +5 -5
  239. package/docs/components/Divider/examples/Divider.css +3 -1
  240. package/docs/components/Divider/examples/Divider.md +4 -5
  241. package/docs/components/DragDrop/examples/DragDrop.css +3 -3
  242. package/docs/components/Drawer/examples/Drawer.md +294 -256
  243. package/docs/components/Dropdown/deprecated/Dropdown.css +1 -1
  244. package/docs/components/DualListSelector/examples/DualListSelector.md +64 -16
  245. package/docs/components/EmptyState/examples/EmptyState.md +45 -1
  246. package/docs/components/ExpandableSection/examples/ExpandableSection.md +49 -28
  247. package/docs/components/FileUpload/examples/FileUpload.md +112 -53
  248. package/docs/components/Form/examples/Form.md +134 -89
  249. package/docs/components/Icon/examples/Icon.md +82 -11
  250. package/docs/components/InlineEdit/examples/InlineEdit.md +3 -1
  251. package/docs/components/JumpLinks/examples/JumpLinks.md +280 -168
  252. package/docs/components/Label/examples/Label.css +4 -0
  253. package/docs/components/Label/examples/Label.md +3091 -704
  254. package/docs/components/LogViewer/examples/LogViewer.css +2 -2
  255. package/docs/components/LogViewer/examples/LogViewer.md +300 -210
  256. package/docs/components/Login/examples/Login.md +10 -5
  257. package/docs/components/Masthead/examples/masthead.md +443 -65
  258. package/docs/components/Menu/examples/Menu.css +8 -0
  259. package/docs/components/Menu/examples/Menu.md +594 -543
  260. package/docs/components/MenuToggle/examples/MenuToggle.md +109 -96
  261. package/docs/components/ModalBox/examples/ModalBox.css +3 -8
  262. package/docs/components/MultipleFileUpload/examples/MultipleFileUpload.md +9 -9
  263. package/docs/components/Nav/examples/Navigation.css +3 -42
  264. package/docs/components/Nav/examples/Navigation.md +305 -353
  265. package/docs/components/NotificationBadge/examples/NotificationBadge.md +5 -7
  266. package/docs/components/OptionsMenu/deprecated/options-menu.md +12 -3
  267. package/docs/components/Page/examples/Page.css +0 -8
  268. package/docs/components/Page/examples/Page.md +22 -21
  269. package/docs/components/Pagination/examples/Pagination.md +663 -637
  270. package/docs/components/Panel/examples/Panel.md +12 -0
  271. package/docs/components/Popover/examples/Popover.css +4 -9
  272. package/docs/components/Popover/examples/Popover.md +1 -1
  273. package/docs/components/ProgressStepper/examples/ProgressStepper.md +15 -14
  274. package/docs/components/Radio/examples/Radio.md +62 -54
  275. package/docs/components/Select/deprecated/Select.md +184 -177
  276. package/docs/components/Sidebar/examples/Sidebar.md +19 -0
  277. package/docs/components/SimpleList/examples/SimpleList.md +3 -3
  278. package/docs/components/TabContent/examples/TabContent.md +10 -10
  279. package/docs/components/Table/examples/Table.css +2 -2
  280. package/docs/components/Table/examples/Table.md +10 -10
  281. package/docs/components/Tabs/examples/Tabs.css +1 -1
  282. package/docs/components/Tabs/examples/Tabs.md +1025 -826
  283. package/docs/components/TextInputGroup/examples/TextInputGroup.css +1 -1
  284. package/docs/components/TextInputGroup/examples/TextInputGroup.md +9 -9
  285. package/docs/components/Tile/examples/Tile.css +1 -1
  286. package/docs/components/Tile/examples/Tile.md +264 -144
  287. package/docs/components/Title/examples/Title.md +18 -0
  288. package/docs/components/Toolbar/examples/Toolbar.css +20 -15
  289. package/docs/components/Toolbar/examples/Toolbar.md +1211 -3487
  290. package/docs/components/Tooltip/examples/Tooltip.css +4 -0
  291. package/docs/components/Tooltip/examples/Tooltip.md +3 -1
  292. package/docs/components/Truncate/examples/Truncate.css +2 -2
  293. package/docs/components/Truncate/examples/Truncate.md +2 -2
  294. package/docs/demos/AboutModal/examples/AboutModal.md +104 -31
  295. package/docs/demos/Alert/examples/Alert.md +330 -87
  296. package/docs/demos/BackToTop/examples/BackToTop.md +102 -29
  297. package/docs/demos/Banner/examples/Banner.md +211 -60
  298. package/docs/demos/Card/examples/Card.css +3 -3
  299. package/docs/demos/Card/examples/Card.md +28 -12
  300. package/docs/demos/CardView/examples/CardView.md +265 -207
  301. package/docs/demos/ContextSelector/examples/ContextSelector.md +377 -94
  302. package/docs/demos/Dashboard/examples/Dashboard.md +105 -32
  303. package/docs/demos/DataList/examples/DataList.md +1002 -935
  304. package/docs/demos/DescriptionList/examples/DescriptionList.md +306 -87
  305. package/docs/demos/Drawer/examples/Drawer.md +640 -251
  306. package/docs/demos/Form/examples/BasicForms.md +138 -84
  307. package/docs/demos/JumpLinks/examples/JumpLinks.md +917 -385
  308. package/docs/demos/Masthead/examples/Masthead.md +786 -342
  309. package/docs/demos/Modal/examples/Modal.md +645 -198
  310. package/docs/demos/Nav/examples/Nav.md +691 -902
  311. package/docs/demos/NotificationDrawer/examples/NotificationDrawer.md +515 -145
  312. package/docs/demos/Page/examples/Page.md +942 -273
  313. package/docs/demos/Page/examples/Penta.md +66 -26
  314. package/docs/demos/PasswordGenerator/examples/PasswordGenerator.md +13 -9
  315. package/docs/demos/PasswordStrength/examples/PasswordStrength.md +44 -32
  316. package/docs/demos/PrimaryDetail/examples/PrimaryDetail.md +1333 -946
  317. package/docs/demos/Skeleton/examples/Skeleton.md +109 -64
  318. package/docs/demos/Table/examples/Table.md +3857 -3418
  319. package/docs/demos/Tabs/examples/Tabs.md +664 -215
  320. package/docs/demos/Toolbar/examples/Toolbar.css +15 -0
  321. package/docs/demos/Toolbar/examples/Toolbar.md +1313 -1475
  322. package/docs/demos/Wizard/examples/Wizard.md +918 -261
  323. package/docs/layouts/Flex/examples/Flex.md +16 -16
  324. package/docs/utilities/BoxShadow/examples/box-shadow.css +5 -5
  325. package/icons/pficons.mjs +1 -0
  326. package/layouts/Flex/flex.css +115 -43
  327. package/layouts/Flex/flex.scss +20 -8
  328. package/package.json +36 -32
  329. package/patternfly-addons.css +732 -972
  330. package/patternfly-base-no-globals-theme-dark-unversioned.css +895 -847
  331. package/patternfly-base-no-globals.css +895 -847
  332. package/patternfly-base-theme-dark-unversioned.css +899 -850
  333. package/patternfly-base.css +899 -850
  334. package/patternfly-no-globals.css +9954 -8996
  335. package/patternfly-theme-dark-unversioned.css +9959 -9000
  336. package/patternfly.css +9959 -9000
  337. package/patternfly.min.css +1 -1
  338. package/patternfly.min.css.map +1 -1
  339. package/sass-utilities/functions.scss +6 -0
  340. package/sass-utilities/mixins.scss +80 -2
  341. package/sass-utilities/scss-variables.scss +8 -8
  342. package/sass-utilities/themes/dark/mixins.scss +3 -1
  343. package/utilities/Accessibility/accessibility.css +12 -12
  344. package/utilities/Spacing/spacing.css +720 -960
  345. package/utilities/Spacing/spacing.scss +4 -8
  346. package/base/themes/dark/_variables.scss +0 -102
  347. package/components/AboutModalBox/themes/dark/about-modal-box.scss +0 -7
  348. package/components/Accordion/themes/dark/accordion.scss +0 -9
  349. package/components/Alert/themes/dark/alert.scss +0 -17
  350. package/components/Badge/themes/dark/badge.scss +0 -9
  351. package/components/Banner/themes/dark/banner.scss +0 -14
  352. package/components/Button/themes/dark/button.scss +0 -51
  353. package/components/Card/themes/dark/card.scss +0 -20
  354. package/components/ClipboardCopy/themes/dark/clipboard-copy.scss +0 -19
  355. package/components/DataList/themes/dark/data-list.scss +0 -10
  356. package/components/DragDrop/themes/dark/drag-drop.scss +0 -7
  357. package/components/Drawer/themes/dark/drawer.scss +0 -13
  358. package/components/Form/themes/dark/form.scss +0 -7
  359. package/components/FormControl/themes/dark/form-control.scss +0 -24
  360. package/components/HelperText/themes/dark/helper-text.scss +0 -7
  361. package/components/Hint/themes/dark/hint.scss +0 -8
  362. package/components/InputGroup/themes/dark/input-group.scss +0 -22
  363. package/components/Label/themes/dark/label.scss +0 -53
  364. package/components/Login/themes/dark/login.scss +0 -12
  365. package/components/Masthead/themes/dark/masthead.scss +0 -14
  366. package/components/ModalBox/themes/dark/modal-box.scss +0 -7
  367. package/components/NotificationBadge/themes/dark/notification-badge.scss +0 -10
  368. package/components/NotificationDrawer/themes/dark/notification-drawer.scss +0 -14
  369. package/components/Page/themes/dark/page.scss +0 -69
  370. package/components/Pagination/themes/dark/pagination.scss +0 -7
  371. package/components/Panel/themes/dark/panel.scss +0 -7
  372. package/components/Popover/themes/dark/popover.scss +0 -11
  373. package/components/Progress/themes/dark/progress.scss +0 -9
  374. package/components/SimpleList/themes/dark/simple-list.scss +0 -14
  375. package/components/Skeleton/themes/dark/skeleton.scss +0 -10
  376. package/components/Switch/themes/dark/switch.scss +0 -11
  377. package/components/Tabs/themes/dark/tabs.scss +0 -10
  378. package/components/Tile/themes/dark/tile.scss +0 -10
  379. package/components/ToggleGroup/themes/dark/toggle-group.scss +0 -12
  380. package/components/Tooltip/themes/dark/tooltip.scss +0 -8
  381. package/docs/components/Avatar/examples/Avatar.css +0 -3
  382. package/docs/components/NotificationBadge/examples/NotificationBadge.css +0 -3
@@ -1,1183 +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-bottom: 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
- top: var(--#{$nav}--c-menu--m-flyout--c-menu--Top);
438
- right: var(--#{$nav}--c-menu--m-flyout--c-menu--Right);
439
- bottom: var(--#{$nav}--c-menu--m-flyout--c-menu--Bottom);
440
- left: var(--#{$nav}--c-menu--m-flyout--c-menu--Left);
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-top: 0;
466
- margin-bottom: 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
- top: 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
- right: 0;
483
- bottom: calc(var(--#{$nav}--c-menu__item--before--BorderBottomWidth) * -1);
484
- left: 0;
485
- border-bottom: 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
- bottom: 0;
490
- left: 0;
491
- border-left: 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
- }
76
+ // * Nav horizontal
77
+ --#{$nav}--m-horizontal--BorderRadius: var(--pf-t--global--border--radius--pill);
509
78
 
510
- .#{$menu}__item-toggle-icon {
511
- margin-left: calc(var(--#{$menu}__item-toggle-icon--PaddingLeft) * -1);
512
- }
79
+ // * Nav horizontal list
80
+ --#{$nav}--m-horizontal__list--ColumnGap: var(--pf-t--global--spacer--xs);
513
81
 
514
- &.pf-m-horizontal,
515
- &.pf-m-tertiary {
516
- .#{$nav}__link::after {
517
- content: none;
518
- }
519
- }
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);
520
87
 
521
- &.pf-m-horizontal,
522
- &.pf-m-tertiary,
523
- &.pf-m-horizontal-subnav {
524
- &,
525
- .#{$nav}__list {
526
- position: relative;
527
- display: flex;
528
- }
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);
529
91
 
530
- 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);
531
97
 
532
- .#{$nav}__list {
533
- --#{$nav}__list--PaddingTop: 0;
534
- --#{$nav}__list--PaddingBottom: 0;
535
-
536
- flex: 1;
537
- max-width: 100%;
538
- overflow-x: auto;
539
- white-space: nowrap;
540
- scroll-snap-type: var(--#{$nav}__list--ScrollSnapType);
541
- -webkit-overflow-scrolling: touch;
542
-
543
- @include pf-v5-overflow-hide-scroll;
544
- }
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);
545
101
 
546
- .#{$nav}__item {
547
- display: flex;
548
- scroll-snap-align: var(--#{$nav}__item--ScrollSnapAlign);
549
- }
550
102
 
551
- .#{$nav}__link {
552
- align-items: center;
553
- align-self: stretch;
554
- 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);
555
105
 
556
- &::before {
557
- top: auto;
558
- bottom: 0;
559
- }
560
- }
561
- }
106
+ // * Nav horizontal scrollable
107
+ --pf-v5-c-nav--horizontal-scrollable--PaddingInlineStart: var(--pf-t--global--border--width--extra-strong);
108
+ }
562
109
 
563
- &.pf-m-horizontal .#{$nav}__link::before {
564
- right: var(--#{$nav}--m-horizontal__link--Right);
565
- left: var(--#{$nav}--m-horizontal__link--Left);
566
- }
110
+ // - Nav display - default to grid
111
+ .#{$nav},
112
+ .#{$nav}__section,
113
+ .#{$nav}__subnav,
114
+ .#{$nav}__list,
115
+ .#{$nav}__item {
116
+ display: grid;
117
+ }
567
118
 
568
- &.pf-m-tertiary .#{$nav}__link::before {
569
- right: var(--#{$nav}--m-tertiary__link--Right);
570
- left: var(--#{$nav}--m-tertiary__link--Left);
571
- }
119
+ // - Nav root
120
+ .#{$nav} {
121
+ --#{$menu}--MinWidth: 100%;
572
122
 
573
- &.pf-m-light {
574
- --#{$nav}__item--before--BorderColor: var(--#{$nav}--m-light__item--before--BorderColor);
575
- --#{$nav}__item--m-current--not--m-expanded__link--BackgroundColor: var(--#{$nav}--m-light__item--m-current--not--m-expanded__link--BackgroundColor);
576
- --#{$nav}__link--Color: var(--#{$nav}--m-light__link--Color);
577
- --#{$nav}__link--hover--Color: var(--#{$nav}--m-light__link--hover--Color);
578
- --#{$nav}__link--focus--Color: var(--#{$nav}--m-light__link--focus--Color);
579
- --#{$nav}__link--active--Color: var(--#{$nav}--m-light__link--active--Color);
580
- --#{$nav}__link--m-current--Color: var(--#{$nav}--m-light__link--m-current--Color);
581
- --#{$nav}__link--hover--BackgroundColor: var(--#{$nav}--m-light__link--hover--BackgroundColor);
582
- --#{$nav}__link--focus--BackgroundColor: var(--#{$nav}--m-light__link--focus--BackgroundColor);
583
- --#{$nav}__link--active--BackgroundColor: var(--#{$nav}--m-light__link--active--BackgroundColor);
584
- --#{$nav}__link--m-current--BackgroundColor: var(--#{$nav}--m-light__link--m-current--BackgroundColor);
585
- --#{$nav}__link--before--BorderColor: var(--#{$nav}--m-light__link--before--BorderColor);
586
- --#{$nav}__link--after--BorderColor: var(--#{$nav}--m-light__link--after--BorderColor);
587
- --#{$nav}__link--m-current--after--BorderColor: var(--#{$nav}--m-light__link--m-current--after--BorderColor);
588
- --#{$nav}__subnav__link--hover--after--BorderColor: var(--#{$nav}--m-light__subnav__link--hover--after--BorderColor);
589
- --#{$nav}__subnav__link--focus--after--BorderColor: var(--#{$nav}--m-light__subnav__link--focus--after--BorderColor);
590
- --#{$nav}__subnav__link--active--after--BorderColor: var(--#{$nav}--m-light__subnav__link--active--after--BorderColor);
591
- --#{$nav}__subnav__link--m-current--after--BorderColor: var(--#{$nav}--m-light__subnav__link--m-current--after--BorderColor);
592
- --#{$nav}__section-title--Color: var(--#{$nav}--m-light__section-title--Color);
593
- --#{$nav}__section-title--BorderBottomColor: var(--#{$nav}--m-light__section-title--BorderBottomColor);
594
-
595
- .#{$divider} {
596
- --#{$divider}--after--BackgroundColor: var(--#{$nav}--m-light--c-divider--BackgroundColor);
597
- }
598
- }
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);
599
134
 
600
- // Horizontal list, masthead
601
- &.pf-m-horizontal {
602
- --#{$nav}__link--PaddingTop: var(--#{$nav}--m-horizontal__link--PaddingTop);
603
- --#{$nav}__link--PaddingRight: var(--#{$nav}--m-horizontal__link--PaddingRight);
604
- --#{$nav}__link--PaddingBottom: var(--#{$nav}--m-horizontal__link--PaddingBottom);
605
- --#{$nav}__link--PaddingLeft: var(--#{$nav}--m-horizontal__link--PaddingLeft);
606
- --#{$nav}__link--Right: var(--#{$nav}--m-horizontal__link--Right); // remove at breaking change
607
- --#{$nav}__link--Left: var(--#{$nav}--m-horizontal__link--Left); // remove at breaking change
608
- --#{$nav}__link--Color: var(--#{$nav}--m-horizontal__link--Color);
609
- --#{$nav}__link--hover--Color: var(--#{$nav}--m-horizontal__link--hover--Color);
610
- --#{$nav}__link--active--Color: var(--#{$nav}--m-horizontal__link--active--Color);
611
- --#{$nav}__link--focus--Color: var(--#{$nav}--m-horizontal__link--focus--Color);
612
- --#{$nav}__link--m-current--Color: var(--#{$nav}--m-horizontal__link--m-current--Color);
613
- --#{$nav}__link--BackgroundColor: var(--#{$nav}--m-horizontal__link--BackgroundColor);
614
- --#{$nav}__link--hover--BackgroundColor: var(--#{$nav}--m-horizontal__link--hover--BackgroundColor);
615
- --#{$nav}__link--focus--BackgroundColor: var(--#{$nav}--m-horizontal__link--focus--BackgroundColor);
616
- --#{$nav}__link--active--BackgroundColor: var(--#{$nav}--m-horizontal__link--active--BackgroundColor);
617
- --#{$nav}__link--m-current--BackgroundColor: var(--#{$nav}--m-horizontal__link--m-current--BackgroundColor);
618
-
619
- // Borders
620
- --#{$nav}__link--before--BorderColor: var(--#{$nav}--m-horizontal__link--before--BorderColor);
621
- --#{$nav}__link--before--BorderBottomWidth: var(--#{$nav}--m-horizontal__link--before--BorderWidth);
622
- --#{$nav}__link--hover--before--BorderBottomWidth: var(--#{$nav}--m-horizontal__link--hover--before--BorderWidth);
623
- --#{$nav}__link--focus--before--BorderBottomWidth: var(--#{$nav}--m-horizontal__link--focus--before--BorderWidth);
624
- --#{$nav}__link--active--before--BorderBottomWidth: var(--#{$nav}--m-horizontal__link--active--before--BorderWidth);
625
- --#{$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);
626
137
  }
627
138
 
628
- // Tertiary list
629
- &.pf-m-tertiary {
630
- --#{$nav}__link--PaddingTop: var(--#{$nav}--m-tertiary__link--PaddingTop);
631
- --#{$nav}__link--PaddingRight: var(--#{$nav}--m-tertiary__link--PaddingRight);
632
- --#{$nav}__link--PaddingBottom: var(--#{$nav}--m-tertiary__link--PaddingBottom);
633
- --#{$nav}__link--PaddingLeft: var(--#{$nav}--m-tertiary__link--PaddingLeft);
634
- --#{$nav}__link--Right: var(--#{$nav}--m-tertiary__link--Right);
635
- --#{$nav}__link--Left: var(--#{$nav}--m-tertiary__link--Left);
636
- --#{$nav}__link--Color: var(--#{$nav}--m-tertiary__link--Color);
637
- --#{$nav}__link--hover--Color: var(--#{$nav}--m-tertiary__link--hover--Color);
638
- --#{$nav}__link--active--Color: var(--#{$nav}--m-tertiary__link--active--Color);
639
- --#{$nav}__link--focus--Color: var(--#{$nav}--m-tertiary__link--focus--Color);
640
- --#{$nav}__link--m-current--Color: var(--#{$nav}--m-tertiary__link--m-current--Color);
641
- --#{$nav}__link--BackgroundColor: var(--#{$nav}--m-tertiary__link--BackgroundColor);
642
- --#{$nav}__link--hover--BackgroundColor: var(--#{$nav}--m-tertiary__link--hover--BackgroundColor);
643
- --#{$nav}__link--focus--BackgroundColor: var(--#{$nav}--m-tertiary__link--focus--BackgroundColor);
644
- --#{$nav}__link--active--BackgroundColor: var(--#{$nav}--m-tertiary__link--active--BackgroundColor);
645
- --#{$nav}__link--m-current--BackgroundColor: var(--#{$nav}--m-tertiary__link--m-current--BackgroundColor);
646
-
647
- // Borders
648
- --#{$nav}__link--before--BorderColor: var(--#{$nav}--m-tertiary__link--before--BorderColor);
649
- --#{$nav}__link--before--BorderBottomWidth: var(--#{$nav}--m-tertiary__link--before--BorderWidth);
650
- --#{$nav}__link--hover--before--BorderBottomWidth: var(--#{$nav}--m-tertiary__link--hover--before--BorderWidth);
651
- --#{$nav}__link--focus--before--BorderBottomWidth: var(--#{$nav}--m-tertiary__link--focus--before--BorderWidth);
652
- --#{$nav}__link--active--before--BorderBottomWidth: var(--#{$nav}--m-tertiary__link--active--before--BorderWidth);
653
- --#{$nav}__link--m-current--before--BorderBottomWidth: var(--#{$nav}--m-tertiary__link--m-current--before--BorderWidth);
654
-
655
- // Scroll buttons
656
- --#{$nav}__scroll-button--Color: var(--#{$nav}--m-tertiary__scroll-button--Color);
657
- --#{$nav}__scroll-button--hover--Color: var(--#{$nav}--m-tertiary__scroll-button--hover--Color);
658
- --#{$nav}__scroll-button--focus--Color: var(--#{$nav}--m-tertiary__scroll-button--focus--Color);
659
- --#{$nav}__scroll-button--active--Color: var(--#{$nav}--m-tertiary__scroll-button--active--Color);
660
- --#{$nav}__scroll-button--disabled--Color: var(--#{$nav}--m-tertiary__scroll-button--disabled--Color);
661
-
662
- // Scroll buttons before
663
- --#{$nav}__scroll-button--before--BorderColor: var(--#{$nav}--m-tertiary__scroll-button--before--BorderColor);
664
- --#{$nav}__scroll-button--disabled--before--BorderColor: var(--#{$nav}--m-tertiary__scroll-button--disabled--before--BorderColor);
139
+ &.pf-m-overflow-hidden {
140
+ overflow: hidden;
665
141
  }
666
142
 
667
- &.pf-m-horizontal-subnav {
668
- --#{$nav}__link--FontSize: var(--#{$nav}--m-horizontal-subnav__link--FontSize);
669
- --#{$nav}__link--PaddingTop: var(--#{$nav}--m-horizontal-subnav__link--PaddingTop);
670
- --#{$nav}__link--PaddingRight: var(--#{$nav}--m-horizontal-subnav__link--PaddingRight);
671
- --#{$nav}__link--PaddingBottom: var(--#{$nav}--m-horizontal-subnav__link--PaddingBottom);
672
- --#{$nav}__link--PaddingLeft: var(--#{$nav}--m-horizontal-subnav__link--PaddingLeft);
673
- --#{$nav}__link--Color: var(--#{$nav}--m-horizontal-subnav__link--Color);
674
- --#{$nav}__link--Right: var(--#{$nav}--m-horizontal-subnav__link--Right);
675
- --#{$nav}__link--Left: var(--#{$nav}--m-horizontal-subnav__link--Left);
676
- --#{$nav}__link--hover--Color: var(--#{$nav}--m-horizontal-subnav__link--hover--Color);
677
- --#{$nav}__link--active--Color: var(--#{$nav}--m-horizontal-subnav__link--active--Color);
678
- --#{$nav}__link--focus--Color: var(--#{$nav}--m-horizontal-subnav__link--focus--Color);
679
- --#{$nav}__link--m-current--Color: var(--#{$nav}--m-horizontal-subnav__link--m-current--Color);
680
- --#{$nav}__link--BackgroundColor: var(--#{$nav}--m-horizontal-subnav__link--BackgroundColor);
681
- --#{$nav}__link--hover--BackgroundColor: var(--#{$nav}--m-horizontal-subnav__link--hover--BackgroundColor);
682
- --#{$nav}__link--focus--BackgroundColor: var(--#{$nav}--m-horizontal-subnav__link--focus--BackgroundColor);
683
- --#{$nav}__link--active--BackgroundColor: var(--#{$nav}--m-horizontal-subnav__link--active--BackgroundColor);
684
- --#{$nav}__link--m-current--BackgroundColor: var(--#{$nav}--m-horizontal-subnav__link--m-current--BackgroundColor);
685
-
686
- // Borders
687
- --#{$nav}__link--before--BorderColor: var(--#{$nav}--m-horizontal-subnav__link--before--BorderColor);
688
- --#{$nav}__link--after--BorderColor: var(--#{$nav}--m-horizontal-subnav__link--after--BorderColor);
689
- --#{$nav}__link--hover--after--BorderColor: var(--#{$nav}--m-horizontal-subnav__link--hover--after--BorderColor);
690
- --#{$nav}__link--active--after--BorderColor: var(--#{$nav}--m-horizontal-subnav__link--active--after--BorderColor);
691
- --#{$nav}__link--m-current--after--BorderColor: var(--#{$nav}--m-horizontal-subnav__link--m-current--after--BorderColor);
692
- --#{$nav}__link--after--BorderLeftWidth: var(--#{$nav}--m-horizontal-subnav__link--after--BorderLeftWidth);
693
- --#{$nav}__link--hover--after--BorderLeftWidth: var(--#{$nav}--m-horizontal-subnav__link--hover--after--BorderLeftWidth);
694
- --#{$nav}__link--active--after--BorderLeftWidth: var(--#{$nav}--m-horizontal-subnav__link--active--after--BorderLeftWidth);
695
- --#{$nav}__link--m-current--after--BorderLeftWidth: var(--#{$nav}--m-horizontal-subnav__link--m-current--after--BorderLeftWidth);
696
-
697
- &.pf-m-scrollable {
698
- .#{$nav}__item:first-child {
699
- --#{$nav}__link--after--BorderLeftWidth: 0;
700
- --#{$nav}__link--hover--after--BorderLeftWidth: 0;
701
- --#{$nav}__link--active--after--BorderLeftWidth: 0;
702
- --#{$nav}__link--m-current--after--BorderLeftWidth: 0;
703
- }
704
- }
143
+ &.pf-m-full-width {
144
+ width: 100%;
705
145
  }
706
146
 
707
- // Divider
708
- .#{$divider} {
709
- --#{$divider}--after--BackgroundColor: var(--#{$nav}--c-divider--BackgroundColor);
710
-
711
- padding-right: var(--#{$nav}--c-divider--PaddingRight);
712
- padding-left: var(--#{$nav}--c-divider--PaddingLeft);
713
- margin-top: var(--#{$nav}--c-divider--MarginTop);
714
- margin-bottom: var(--#{$nav}--c-divider--MarginBottom);
147
+ &.pf-m-fill {
148
+ flex-grow: 1;
715
149
  }
716
150
 
717
- &.pf-m-scrollable {
718
- .#{$nav}__scroll-button {
719
- opacity: 1;
720
- }
721
-
722
- // Scroll buttons
723
- .#{$nav}__scroll-button:nth-of-type(1) {
724
- margin-right: 0;
725
- transform: translateX(0);
726
- }
151
+ }
727
152
 
728
- .#{$nav}__scroll-button:nth-of-type(2) {
729
- margin-left: 0;
730
- transform: translateX(0);
731
- }
732
- }
153
+ [class^="#{$nav}"][hidden] {
154
+ display: none;
155
+ }
733
156
 
734
- &.pf-m-overflow-hidden {
735
- overflow: hidden;
736
- }
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
737
165
  }
738
166
 
739
- // List
167
+ // - Nav list
740
168
  .#{$nav}__list {
741
- position: relative;
742
- display: block;
743
- padding-top: var(--#{$nav}__list--PaddingTop);
744
- padding-bottom: var(--#{$nav}__list--PaddingBottom);
169
+ row-gap: var(--#{$nav}__list--RowGap);
170
+ column-gap: var(--#{$nav}__list--ColumnGap);
745
171
  }
746
172
 
747
- // Borders
748
- .#{$nav}__item {
749
- position: relative;
750
-
751
- &.pf-m-expandable {
752
- --#{$nav}__link--before--BorderBottomWidth: 0;
753
-
754
- &::before {
755
- position: absolute;
756
- right: 0;
757
- bottom: calc(var(--#{$nav}__item--before--BorderWidth) * -1);
758
- left: 0;
759
- content: "";
760
- border-bottom: var(--#{$nav}__item--before--BorderWidth) solid var(--#{$nav}__item--before--BorderColor);
761
- }
762
- }
763
-
764
- &:not(:first-child) {
765
- margin-top: var(--#{$nav}__item--MarginTop);
766
- }
767
-
768
- .#{$nav}__item {
769
- &:not(.pf-m-expanded) .#{$nav}__toggle-icon {
770
- transform: rotate(0);
771
- }
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
772
176
 
773
- &.pf-m-expandable {
774
- --#{$nav}__toggle--FontSize: var(--#{$nav}__item__item__toggle--FontSize);
775
- --#{$nav}__link--PaddingRight: var(--#{$nav}__item__item__link--PaddingRight);
177
+ padding-inline-start: var(--#{$nav}__subnav--PaddingInlineStart); // indent nested lists
178
+ }
776
179
 
777
- // stylelint-disable max-nesting-depth
778
- &::before {
779
- @media screen and (min-width: $pf-v5-global--breakpoint--xl) {
780
- border-bottom: none;
781
- }
782
- }
783
- // stylelint-enable
784
-
785
- .#{$nav}__list::before {
786
- position: absolute;
787
- top: 0;
788
- right: 0;
789
- bottom: 0;
790
- left: 0;
791
- pointer-events: none;
792
- content: "";
793
- border-left: var(--#{$nav}__item--before--BorderWidth) solid var(--#{$nav}__item--before--BorderColor);
794
- }
795
- }
796
- }
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);
797
184
 
798
- .#{$nav}__toggle-icon {
799
- transform: rotate(var(--#{$nav}__item__toggle-icon--Rotate));
185
+ > .#{$nav}__link[button] {
186
+ margin-block-end: var(--#{$nav}__button--RowGap--row-offset);
800
187
  }
801
188
 
802
- &.pf-m-flyout {
803
- &:hover {
804
- --#{$nav}__link--BackgroundColor: var(--#{$nav}__item--m-flyout--hover__link--BackgroundColor);
805
- --#{$nav}__link--before--BorderBottomWidth: var(--#{$nav}__item--m-flyout--hover__link--before--BorderWidth);
806
- }
807
-
808
- &:focus {
809
- --#{$nav}__link--BackgroundColor: var(--#{$nav}__item--m-flyout--focus__link--BackgroundColor);
810
- --#{$nav}__link--before--BorderBottomWidth: var(--#{$nav}__item--m-flyout--focus__link--before--BorderWidth);
811
- }
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
812
191
 
813
- &:active {
814
- --#{$nav}__link--BackgroundColor: var(--#{$nav}__item--m-flyout--active__link--BackgroundColor);
815
- --#{$nav}__link--before--BorderBottomWidth: var(--#{$nav}__item--m-flyout--active__link--before--BorderWidth);
816
- }
817
-
818
- .#{$menu} {
819
- --#{$menu}--MinWidth: 100%;
820
- --#{$menu}--BoxShadow: var(--#{$nav}__item--m-flyout--c-menu--BoxShadow);
821
- --#{$menu}--BackgroundColor: var(--#{$nav}__item--m-flyout--c-menu--BackgroundColor);
822
- --#{$menu}__list--PaddingTop: 0;
823
- --#{$menu}__list--PaddingBottom: 0;
824
- --#{$menu}__list-item--hover--BackgroundColor: var(--#{$nav}__item--m-flyout--c-menu__list-item--hover--BackgroundColor);
825
- --#{$menu}__list-item--focus-within--BackgroundColor: var(--#{$nav}__item--m-flyout--c-menu__list-item--focus-within--BackgroundColor);
826
- --#{$menu}__list-item--active--BackgroundColor: var(--#{$nav}__item--m-flyout--c-menu__list-item--active--BackgroundColor);
827
- --#{$menu}__item--FontSize: var(--#{$nav}__item--m-flyout--c-menu__item--FontSize);
828
- --#{$menu}__item--Color: var(--#{$nav}__item--m-flyout--c-menu__item--Color);
829
- --#{$menu}__item--PaddingTop: var(--#{$nav}__item--m-flyout--c-menu__item--PaddingTop);
830
- --#{$menu}__item--PaddingRight: var(--#{$nav}__item--m-flyout--c-menu__item--PaddingRight);
831
- --#{$menu}__item--PaddingBottom: var(--#{$nav}__item--m-flyout--c-menu__item--PaddingBottom);
832
- --#{$menu}__item--PaddingLeft: var(--#{$nav}__item--m-flyout--c-menu__item--PaddingLeft);
833
- --#{$menu}__item-description--Color: var(--#{$nav}__item--m-flyout--c-menu__item-description--Color);
834
- --#{$nav}--c-menu--m-flyout--c-menu--Bottom: var(--#{$nav}__item--m-flyout--c-menu--m-top--Bottom);
835
- --#{$nav}--c-menu--m-flyout--c-menu--Right: var(--#{$nav}__item--m-flyout--c-menu--m-left--Right);
836
-
837
- position: absolute;
838
- top: var(--#{$nav}__item--m-flyout--c-menu--Top);
839
- left: var(--#{$nav}__item--m-flyout--c-menu--Left);
840
-
841
- .#{$menu} {
842
- top: var(--#{$nav}__item--m-flyout--c-menu--c-menu--Top);
843
- }
844
-
845
- .#{$menu}__list-item:first-child {
846
- --#{$nav}__item--m-flyout--c-menu--c-menu--Top: var(--#{$nav}__item--m-flyout--c-menu__list-item--first-child--c-menu--Top);
847
- --#{$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);
848
- }
849
-
850
- // stylelint-disable max-nesting-depth, selector-max-class
851
- .#{$menu}__item {
852
- position: relative;
853
- outline-offset: var(--#{$nav}__item--m-flyout--c-menu__item--OutlineOffset);
854
-
855
- &::before {
856
- position: absolute;
857
- right: 0;
858
- bottom: 0;
859
- left: 0;
860
- content: "";
861
- border-bottom: var(--#{$nav}__item--m-flyout--c-menu__item--before--BorderBottomWidth) solid var(--#{$nav}__item--m-flyout--c-menu__item--before--BorderBottomColor);
862
- }
863
-
864
- &:hover {
865
- &::after {
866
- position: absolute;
867
- top: var(--#{$nav}__item--m-flyout--c-menu__item--hover--after--Top);
868
- bottom: 0;
869
- left: 0;
870
- content: "";
871
- border-left: var(--#{$nav}__item--m-flyout--c-menu__item--hover--after--BorderLeftWidth) solid var(--#{$nav}__item--m-flyout--c-menu__item--hover--after--BorderLeftColor);
872
- }
873
- }
874
- }
875
- // stylelint-enable
192
+ + .#{$nav}__item > .#{$nav}__link::before {
193
+ inset-block-start: calc(var(--#{$nav}__item--RowGap) * -1 - var(--#{$nav}__list--RowGap));
876
194
  }
877
195
  }
196
+ }
878
197
 
879
- &.pf-m-drilldown {
880
- &.pf-m-expanded {
881
- > .#{$nav}__subnav {
882
- left: 0;
883
- z-index: var(--#{$nav}__item--m-drilldown--m-expanded__subnav--ZIndex);
884
- }
885
- }
886
- }
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);
887
212
  }
888
213
 
889
- // Link
214
+ // - Nav link
890
215
  .#{$nav}__link {
891
216
  position: relative;
892
217
  display: flex;
893
- align-items: baseline;
894
- padding: var(--#{$nav}__link--PaddingTop) var(--#{$nav}__link--PaddingRight) var(--#{$nav}__link--PaddingBottom) var(--#{$nav}__link--PaddingLeft);
895
- font-size: var(--#{$nav}__link--FontSize);
896
- 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
897
227
  color: var(--#{$nav}__link--Color);
228
+ text-align: start;
898
229
  background-color: var(--#{$nav}__link--BackgroundColor);
899
- outline-offset: var(--#{$nav}__link--OutlineOffset);
230
+ border: none;
231
+ border-radius: var(--#{$nav}__link--BorderRadius);
900
232
 
901
- &::after,
233
+ // adjust clickable target area to consume space between items to prevent cursor flicker
902
234
  &::before {
903
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
904
238
  content: "";
905
- border: 0 solid;
906
239
  }
907
240
 
908
- &::before {
909
- right: 0;
910
- bottom: calc(var(--#{$nav}__link--before--BorderBottomWidth) * -1);
911
- left: 0;
912
- border-color: var(--#{$nav}__link--before--BorderColor);
913
- border-bottom-width: var(--#{$nav}__link--before--BorderBottomWidth);
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);
914
244
  }
915
245
 
916
- &::after {
917
- top: 0;
918
- bottom: 0;
919
- left: 0;
920
- border: 0 solid;
921
- border-color: var(--#{$nav}__link--after--BorderColor);
922
- border-left-width: var(--#{$nav}__link--after--BorderLeftWidth);
923
- }
924
-
925
- // States
926
- // 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
927
247
  &:hover,
928
248
  &.pf-m-hover {
929
249
  color: var(--#{$nav}__link--hover--Color);
930
250
  background-color: var(--#{$nav}__link--hover--BackgroundColor);
931
-
932
- &::before {
933
- border-bottom-width: var(--#{$nav}__link--hover--before--BorderBottomWidth);
934
- }
935
-
936
- &::after {
937
- border-color: var(--#{$nav}__link--hover--after--BorderColor);
938
- border-left-width: var(--#{$nav}__link--hover--after--BorderLeftWidth);
939
- }
940
251
  }
941
252
 
942
253
  &:focus {
943
254
  color: var(--#{$nav}__link--focus--Color);
944
255
  background-color: var(--#{$nav}__link--focus--BackgroundColor);
945
-
946
- &::before {
947
- border-bottom-width: var(--#{$nav}__link--focus--before--BorderBottomWidth);
948
- }
949
-
950
- &::after {
951
- border-color: var(--#{$nav}__link--focus--after--BorderColor);
952
- border-left-width: var(--#{$nav}__link--focus--after--BorderLeftWidth);
953
- }
954
256
  }
955
257
 
956
258
  &:active {
957
259
  color: var(--#{$nav}__link--active--Color);
958
260
  background-color: var(--#{$nav}__link--active--BackgroundColor);
959
-
960
- &::before {
961
- border-bottom-width: var(--#{$nav}__link--active--before--BorderBottomWidth);
962
- }
963
-
964
- &::after {
965
- border-color: var(--#{$nav}__link--active--after--BorderColor);
966
- border-left-width: var(--#{$nav}__link--active--after--BorderLeftWidth);
967
- }
968
261
  }
969
262
 
970
263
  &.pf-m-current,
971
- &.pf-m-current:hover,
972
- .#{$nav}__item.pf-m-current:not(.pf-m-expanded) & {
264
+ &.pf-m-current:hover {
973
265
  color: var(--#{$nav}__link--m-current--Color);
974
266
  background-color: var(--#{$nav}__link--m-current--BackgroundColor);
975
-
976
- &::before {
977
- border-bottom-width: var(--#{$nav}__link--m-current--before--BorderBottomWidth);
978
- }
979
-
980
- &::after {
981
- border-color: var(--#{$nav}__link--m-current--after--BorderColor);
982
- border-left-width: var(--#{$nav}__link--m-current--after--BorderLeftWidth);
983
- }
984
- }
985
-
986
- &,
987
- &:hover,
988
- &:focus,
989
- &:active {
990
- width: 100%;
991
- text-decoration: none;
992
- border: none;
993
267
  }
994
268
  }
995
269
 
996
- // Subnav
997
- .#{$nav}__subnav {
998
- --#{$nav}__list--PaddingTop: 0;
999
- --#{$nav}__list--PaddingBottom: 0;
1000
- --#{$nav}__link--PaddingTop: var(--#{$nav}__subnav__link--PaddingTop);
1001
- --#{$nav}__link--PaddingRight: var(--#{$nav}__subnav__link--PaddingRight);
1002
- --#{$nav}__link--PaddingBottom: var(--#{$nav}__subnav__link--PaddingBottom);
1003
- --#{$nav}__link--PaddingLeft: var(--#{$nav}__subnav__link--PaddingLeft);
1004
- --#{$nav}__link--FontSize: var(--#{$nav}__subnav__link--FontSize);
1005
-
1006
- // Borders
1007
- --#{$nav}__link--hover--after--BorderColor: var(--#{$nav}__subnav__link--hover--after--BorderColor);
1008
- --#{$nav}__link--focus--after--BorderColor: var(--#{$nav}__subnav__link--focus--after--BorderColor);
1009
- --#{$nav}__link--active--after--BorderColor: var(--#{$nav}__subnav__link--active--after--BorderColor);
1010
- --#{$nav}__link--m-current--after--BorderColor: var(--#{$nav}__subnav__link--m-current--after--BorderColor);
1011
- --#{$nav}__link--hover--after--BorderLeftWidth: var(--#{$nav}__subnav__link--hover--after--BorderWidth);
1012
- --#{$nav}__link--focus--after--BorderLeftWidth: var(--#{$nav}__subnav__link--focus--after--BorderWidth);
1013
- --#{$nav}__link--active--after--BorderLeftWidth: var(--#{$nav}__subnav__link--active--after--BorderWidth);
1014
- --#{$nav}__link--m-current--after--BorderLeftWidth: var(--#{$nav}__subnav__link--m-current--after--BorderWidth);
1015
- --#{$nav}--c-divider--PaddingRight: var(--#{$nav}__subnav--c-divider--PaddingRight);
1016
- --#{$nav}--c-divider--PaddingLeft: var(--#{$nav}__subnav--c-divider--PaddingLeft);
1017
-
1018
- max-height: var(--#{$nav}__subnav--MaxHeight);
1019
- padding-bottom: var(--#{$nav}__subnav--PaddingBottom);
1020
- padding-left: var(--#{$nav}__subnav--PaddingLeft);
1021
- transition: var(--#{$nav}--Transition);
1022
-
1023
- .#{$nav}__subnav {
1024
- --#{$nav}__link--FontSize: var(--#{$nav}__subnav__subnav__link--FontSize);
1025
- --#{$nav}__link--PaddingLeft: var(--#{$nav}__subnav__subnav__link--PaddingLeft);
1026
- --#{$nav}__subnav--PaddingLeft: var(--#{$nav}__subnav__subnav--PaddingLeft);
1027
- }
1028
-
1029
- // remove at breaking change - not used
1030
- &.pf-m-flyout {
1031
- width: 100%;
1032
- }
1033
-
1034
- .#{$nav}__item.pf-m-expanded & {
1035
- --#{$nav}__subnav--MaxHeight: var(--#{$nav}__item--m-expanded__subnav--MaxHeight);
1036
-
1037
- overflow-y: auto;
1038
- opacity: 1;
1039
- }
1040
-
1041
- @include pf-v5-overflow-hide-scroll;
1042
- }
1043
-
1044
- // Toggle caret
270
+ // - Nav toggle caret
1045
271
  .#{$nav}__toggle {
1046
272
  flex: none;
1047
- padding-right: var(--#{$nav}__toggle--PaddingRight);
1048
- padding-left: var(--#{$nav}__toggle--PaddingLeft);
1049
- margin-left: auto;
1050
- font-size: var(--#{$nav}__toggle--FontSize);
1051
- line-height: 1;
1052
-
1053
- &.pf-m-start {
1054
- margin-right: var(--#{$nav}__toggle--m-start--MarginRight);
1055
- margin-left: calc(var(--#{$nav}__toggle--PaddingRight) * -1);
1056
- }
273
+ align-self: start;
274
+ margin-inline-start: auto;
275
+
276
+ // find height of single text string, divide by two, offset by 50% of own height
277
+ transform: translateY(var(--#{$nav}__toggle--TranslateY));
1057
278
  }
1058
279
 
1059
- // Toggle icon
280
+ // - Nav toggle icon
1060
281
  .#{$nav}__toggle-icon {
1061
282
  display: inline-block;
1062
- transition: var(--#{$nav}__toggle-icon--Transition);
283
+ transform: rotate(var(--#{$nav}__item__toggle-icon--Rotate));
284
+
285
+ @include pf-v5-mirror-inline-on-rtl;
286
+
287
+ .#{$nav}__item:where(.pf-m-flyout) & {
288
+ --#{$nav}__item--m-expanded__toggle-icon--Rotate: 0;
289
+ }
1063
290
 
1064
- .#{$nav}__item.pf-m-expanded & {
291
+ .#{$nav}__link:where([aria-expanded="true"]) & {
1065
292
  transform: rotate(var(--#{$nav}__item--m-expanded__toggle-icon--Rotate));
1066
293
  }
1067
294
  }
1068
295
 
1069
- // Section
1070
- .#{$nav}__section {
1071
- --#{$nav}__item--MarginTop: var(--#{$nav}__section__item--MarginTop);
1072
- --#{$nav}__link--PaddingTop: var(--#{$nav}__section__link--PaddingTop);
1073
- --#{$nav}__link--PaddingRight: var(--#{$nav}__section__link--PaddingRight);
1074
- --#{$nav}__link--PaddingBottom: var(--#{$nav}__section__link--PaddingBottom);
1075
- --#{$nav}__link--PaddingLeft: var(--#{$nav}__section__link--PaddingLeft);
1076
- --#{$nav}__link--FontSize: var(--#{$nav}__section__link--FontSize);
1077
-
1078
- // Borders
1079
- --#{$nav}__link--before--BorderBottomWidth: var(--#{$nav}__section__link--before--BorderBottomWidth);
1080
- --#{$nav}__link--hover--after--BorderColor: var(--#{$nav}__section__link--hover--after--BorderColor);
1081
- --#{$nav}__link--focus--after--BorderColor: var(--#{$nav}__section__link--focus--after--BorderColor);
1082
- --#{$nav}__link--active--after--BorderColor: var(--#{$nav}__section__link--active--after--BorderColor);
1083
- --#{$nav}__link--m-current--after--BorderColor: var(--#{$nav}__section__link--m-current--after--BorderColor);
1084
- --#{$nav}__link--hover--after--BorderLeftWidth: var(--#{$nav}__section__link--hover--after--BorderWidth);
1085
- --#{$nav}__link--focus--after--BorderLeftWidth: var(--#{$nav}__section__link--focus--after--BorderWidth);
1086
- --#{$nav}__link--active--after--BorderLeftWidth: var(--#{$nav}__section__link--active--after--BorderWidth);
1087
- --#{$nav}__link--m-current--after--BorderLeftWidth: var(--#{$nav}__section__link--m-current--after--BorderWidth);
1088
-
1089
- // Lists
1090
- --#{$nav}__list--PaddingTop: 0;
1091
- --#{$nav}__list--PaddingBottom: 0;
1092
-
1093
- // Divider
1094
- --#{$nav}--c-divider--MarginBottom: 0;
1095
-
1096
- &:first-child {
1097
- padding-top: var(--#{$nav}__section--first-child--PaddingTop);
1098
- }
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;
1099
303
 
1100
- & + & {
1101
- margin-top: var(--#{$nav}__section--section--MarginTop);
1102
- }
304
+ padding-inline: var(--#{$nav}__scroll-button--button--InlinePadding);
1103
305
 
1104
- &:last-child {
1105
- padding-bottom: var(--#{$nav}__section--last-child--PaddingBottom);
1106
- }
1107
- }
306
+ .#{$button}__icon {
307
+ @include pf-v5-mirror-inline-on-rtl;
308
+ }
1108
309
 
1109
- // Section title
1110
- .#{$nav}__section-title {
1111
- padding: var(--#{$nav}__section-title--PaddingTop) var(--#{$nav}__section-title--PaddingRight) var(--#{$nav}__section-title--PaddingBottom) var(--#{$nav}__section-title--PaddingLeft);
1112
- margin-bottom: var(--#{$nav}__section-title--MarginBottom);
1113
- font-size: var(--#{$nav}__section-title--FontSize);
1114
- color: var(--#{$nav}__section-title--Color);
1115
- border-bottom: var(--#{$nav}__section-title--BorderBottomWidth) solid var(--#{$nav}__section-title--BorderBottomColor);
1116
- }
310
+ > * {
311
+ display: inline-block;
312
+ padding-inline: var(--#{$nav}__scroll-button--button--icon--InlinePadding);
1117
313
 
1118
- // Scroll buttons
1119
- .#{$nav}__scroll-button {
314
+ > * {
315
+ min-width: var(--#{$nav}__scroll-button--button--icon--IconSize);
316
+ }
317
+ }
318
+ }
319
+
320
+ // - Nav button
321
+ position: relative;
322
+ display: flex;
1120
323
  flex: none;
1121
- width: var(--#{$nav}__scroll-button--Width);
1122
- color: var(--#{$nav}__scroll-button--Color);
1123
- background-color: var(--#{$nav}__scroll-button--BackgroundColor);
1124
- border: 0;
1125
- outline-offset: var(--#{$nav}__scroll-button--OutlineOffset);
1126
- opacity: 0;
1127
- transition: var(--#{$nav}__scroll-button--Transition);
324
+ align-items: stretch;
325
+ justify-items: stretch;
326
+ min-width: var(--#{$nav}__scroll-button--MinWidth);
1128
327
 
1129
328
  &::before {
1130
329
  position: absolute;
1131
- top: 0;
1132
- bottom: 0;
330
+ inset-block: 0;
331
+ inset-inline: 0;
1133
332
  content: "";
1134
- border: solid var(--#{$nav}__scroll-button--before--BorderColor);
1135
- border-width: 0 var(--#{$nav}__scroll-button--before--BorderRightWidth) 0 var(--#{$nav}__scroll-button--before--BorderLeftWidth);
333
+ outline-offset: var(--#{$nav}--OutlineOffset);
1136
334
  }
1137
335
 
1138
- &:hover {
1139
- color: var(--#{$nav}__scroll-button--hover--Color);
1140
- }
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
+ }
1141
343
 
1142
- &:focus {
1143
- color: var(--#{$nav}__scroll-button--focus--Color);
344
+ border-start-start-radius: var(--#{$nav}__scroll-button--BorderRadius);
345
+ border-end-start-radius: var(--#{$nav}__scroll-button--BorderRadius);
346
+
347
+ &::before {
348
+ border-inline-end: var(--#{$nav}__scroll-button--BorderWidth) solid var(--#{$nav}__scroll-button--BorderColor);
349
+ }
1144
350
  }
1145
351
 
1146
- &:active {
1147
- color: var(--#{$nav}__scroll-button--active--Color);
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
+ }
359
+
360
+ border-start-end-radius: var(--#{$nav}__scroll-button--BorderRadius);
361
+ border-end-end-radius: var(--#{$nav}__scroll-button--BorderRadius);
362
+
363
+ &::before {
364
+ border-inline-start: var(--#{$nav}__scroll-button--BorderWidth) solid var(--#{$nav}__scroll-button--BorderColor);
365
+ }
1148
366
  }
367
+ }
1149
368
 
1150
- &:disabled {
1151
- color: var(--#{$nav}__scroll-button--disabled--Color);
1152
- border-color: var(--#{$nav}__scroll-button--disabled--before--BorderColor);
369
+ // - Nav horizontal
370
+ .#{$nav}:where(.pf-m-horizontal) {
371
+ padding: 0;
372
+ overflow: hidden;
373
+ border-radius: var(--#{$nav}--m-horizontal--BorderRadius);
374
+
375
+ // update to flex
376
+ &,
377
+ .#{$nav}__section,
378
+ .#{$nav}__subnav,
379
+ .#{$nav}__list,
380
+ .#{$nav}__item {
381
+ display: flex;
1153
382
  }
1154
383
 
1155
- &:nth-of-type(1) {
1156
- --#{$nav}__scroll-button--before--BorderRightWidth: var(--#{$nav}__scroll-button--before--BorderWidth);
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;
1157
392
 
1158
- margin-right: calc(var(--#{$nav}__scroll-button--Width) * -1);
1159
- transform: translateX(-100%);
393
+ @include pf-v5-overflow-hide-scroll;
394
+ }
1160
395
 
1161
- &::before {
1162
- right: 0;
1163
- }
396
+ .#{$nav}__link {
397
+ outline-offset: var(--#{$nav}--OutlineOffset);
1164
398
  }
1165
399
 
1166
- &:nth-of-type(2) {
1167
- --#{$nav}__scroll-button--before--BorderLeftWidth: var(--#{$nav}__scroll-button--before--BorderWidth);
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
+ }
1168
407
 
1169
- margin-left: calc(var(--#{$nav}__scroll-button--Width) * -1);
1170
- transform: translateX(100%);
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);
1171
413
 
1172
- &::before {
1173
- left: 0;
1174
- }
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);
1175
417
  }
1176
- }
1177
418
 
1178
- // stylelint-disable no-invalid-position-at-import-rule
1179
- @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);
1180
422
 
1181
- @include pf-v5-theme-dark {
1182
- @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
+ }
1183
428
  }