@shohojdhara/atomix 0.1.16 → 0.1.18

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 (525) hide show
  1. package/CONTRIBUTING.md +151 -0
  2. package/NEXTJS_INTEGRATION.md +358 -0
  3. package/README.md +168 -119
  4. package/babel.config.js +58 -0
  5. package/css.d.ts +10 -0
  6. package/dist/css/atomix.css +1 -2
  7. package/dist/js/194.js +1 -2
  8. package/dist/js/244.js +1 -0
  9. package/dist/js/atomix.react.cjs.js +1 -0
  10. package/dist/js/atomix.react.esm.js +1 -2
  11. package/dist/js/atomix.react.umd.js +1 -2
  12. package/dist/js/chunks/cjs/202.9d3b1ef1eaa0d5c8a309.js +1 -0
  13. package/dist/js/chunks/cjs/308.6ea9685ea38ead4120d0.js +1 -0
  14. package/dist/js/chunks/cjs/54.73db6922594e421ba6b1.js +1 -0
  15. package/dist/js/chunks/cjs/619.51feecaadcab819780d4.js +1 -0
  16. package/dist/js/chunks/cjs/690.90f6d11164081cbcbc4d.js +1 -0
  17. package/dist/js/chunks/cjs/894.24877561df336a8dfd14.js +1 -0
  18. package/dist/js/chunks/cjs/897.6c2a71fae95338890de7.js +1 -0
  19. package/dist/js/chunks/esm/{202.ff48d27672233280e021.js → 202.82aa7b3244e53c9edb72.js} +1 -2
  20. package/dist/js/chunks/esm/{308.f873332126eba90e5c62.js → 308.27e1e4005705ae320432.js} +1 -2
  21. package/dist/js/chunks/esm/{54.4db919e5e4e5cc6d7c72.js → 54.ece1fd6964f98d4d994f.js} +1 -2
  22. package/dist/js/chunks/esm/{619.afc5a718eff77fa423b5.js → 619.ebeb0298432a066ac05c.js} +1 -2
  23. package/dist/js/chunks/esm/{690.a9e968c7497d61e56cdc.js → 690.c5f412cc979b55740359.js} +1 -2
  24. package/dist/js/chunks/esm/{894.f1091a4a8758c26d29e4.js → 894.3604ddc9367d75191198.js} +1 -2
  25. package/dist/js/chunks/esm/{897.561a50f7d043d42169da.js → 897.a4aab2fad9401693eb12.js} +1 -2
  26. package/dist/js/chunks/umd/{202.dac7605cc555b6bda542.js → 202.5017dd0403d696bf1644.js} +1 -2
  27. package/dist/js/chunks/umd/{308.6709979849dcbdb90c9b.js → 308.4bc14b9d7b16b6ee0ab8.js} +1 -2
  28. package/dist/js/chunks/umd/{54.403470e1f7d0ef4424a7.js → 54.7fdfb4a031989470a70d.js} +1 -2
  29. package/dist/js/chunks/umd/{619.fa05ea98c10270eb64c5.js → 619.84a0c35ecee695250085.js} +1 -2
  30. package/dist/js/chunks/umd/{690.aa7054d1c53e5402c2d6.js → 690.d7041094a34a4a434be2.js} +1 -2
  31. package/dist/js/chunks/umd/{894.3e1eaf0a2aadf4434390.js → 894.c127ee4e9513c22ee97d.js} +1 -2
  32. package/dist/js/chunks/umd/{897.554ea37be4453698c167.js → 897.26932ac837a39fc91907.js} +1 -2
  33. package/dist/types/components/Badge/index.d.ts +3 -3
  34. package/dist/types/components/{Navbar → Navigation/Menu}/MegaMenu.d.ts +1 -1
  35. package/dist/types/components/{Navbar → Navigation/Menu}/Menu.d.ts +1 -1
  36. package/dist/types/components/Navigation/Nav/Nav.d.ts +20 -0
  37. package/dist/types/components/{Navbar → Navigation/Nav}/NavDropdown.d.ts +1 -1
  38. package/dist/types/components/Navigation/Nav/NavItem.d.ts +33 -0
  39. package/dist/types/components/Navigation/Navbar/Navbar.d.ts +19 -0
  40. package/dist/types/components/Navigation/SideMenu/SideMenu.d.ts +20 -0
  41. package/dist/types/components/Navigation/SideMenu/SideMenuItem.d.ts +30 -0
  42. package/dist/types/components/Navigation/SideMenu/SideMenuList.d.ts +17 -0
  43. package/dist/types/components/Navigation/index.d.ts +10 -0
  44. package/dist/types/components/PhotoViewer/PhotoViewer.d.ts +2 -2
  45. package/dist/types/components/PhotoViewer/PhotoViewerHeader.d.ts +2 -2
  46. package/dist/types/components/Tab/index.d.ts +2 -2
  47. package/dist/types/components/Toggle/index.d.ts +2 -2
  48. package/dist/types/components/Tooltip/index.d.ts +3 -3
  49. package/dist/types/components/index.d.ts +1 -1
  50. package/dist/types/lib/composables/index.d.ts +1 -0
  51. package/dist/types/lib/composables/useDatePicker.d.ts +1 -1
  52. package/dist/types/lib/composables/useDropdown.d.ts +1 -1
  53. package/dist/types/lib/composables/useModal.d.ts +1 -1
  54. package/dist/types/lib/composables/usePhotoViewer.d.ts +1 -1
  55. package/dist/types/lib/composables/useRating.d.ts +1 -1
  56. package/dist/types/lib/composables/useSideMenu.d.ts +28 -0
  57. package/dist/types/lib/constants/components.d.ts +72 -0
  58. package/dist/types/lib/types/components.d.ts +103 -0
  59. package/examples/nextjs-example.tsx +271 -0
  60. package/implementation-guide.md +505 -0
  61. package/next.config.js +69 -0
  62. package/package.json +80 -42
  63. package/postcss.config.js +28 -0
  64. package/src/Introduction.mdx +3 -5
  65. package/src/assets/fonts/HelveticaNeue/stylesheet.css +140 -127
  66. package/src/components/Accordion/Accordion.stories.tsx +58 -45
  67. package/src/components/Accordion/Accordion.tsx +14 -4
  68. package/src/components/Accordion/scripts/accordionInteractions.ts +9 -9
  69. package/src/components/Accordion/scripts/bundle.ts +1 -1
  70. package/src/components/Accordion/scripts/index.ts +3 -3
  71. package/src/components/AtomixLogo.tsx +13 -19
  72. package/src/components/Avatar/Avatar.stories.tsx +24 -21
  73. package/src/components/Avatar/Avatar.tsx +5 -8
  74. package/src/components/Avatar/AvatarGroup.tsx +11 -11
  75. package/src/components/Avatar/index.ts +1 -1
  76. package/src/components/Avatar/scripts/index.ts +66 -71
  77. package/src/components/Badge/Badge.stories.tsx +51 -21
  78. package/src/components/Badge/Badge.tsx +14 -12
  79. package/src/components/Badge/index.ts +3 -3
  80. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +40 -40
  81. package/src/components/Breadcrumb/Breadcrumb.tsx +19 -26
  82. package/src/components/Breadcrumb/index.ts +1 -1
  83. package/src/components/Breadcrumb/scripts/breadcrumb.ts +36 -34
  84. package/src/components/Breadcrumb/scripts/index.ts +1 -1
  85. package/src/components/Breadcrumb/scripts/types.ts +9 -9
  86. package/src/components/Button/Button.stories.tsx +36 -12
  87. package/src/components/Button/Button.tsx +52 -39
  88. package/src/components/Button/index.ts +1 -1
  89. package/src/components/Button/scripts/buttonInteractions.ts +9 -9
  90. package/src/components/Button/scripts/index.ts +1 -1
  91. package/src/components/Callout/Callout.stories.tsx +207 -114
  92. package/src/components/Callout/Callout.tsx +12 -12
  93. package/src/components/Callout/index.ts +1 -1
  94. package/src/components/Callout/scripts/CalloutInteractions.ts +58 -48
  95. package/src/components/Callout/scripts/bundle.ts +2 -2
  96. package/src/components/Callout/scripts/index.ts +19 -15
  97. package/src/components/Card/Card.stories.tsx +2 -2
  98. package/src/components/Card/Card.tsx +49 -72
  99. package/src/components/Card/ElevationCard.tsx +4 -8
  100. package/src/components/Card/index.ts +1 -1
  101. package/src/components/Card/scripts/bundle.ts +7 -7
  102. package/src/components/Card/scripts/cardInteractions.ts +24 -24
  103. package/src/components/Card/scripts/index.ts +25 -26
  104. package/src/components/ColorModeToggle/ColorModeToggle.stories.tsx +6 -3
  105. package/src/components/ColorModeToggle/ColorModeToggle.tsx +12 -15
  106. package/src/components/ColorModeToggle/index.ts +1 -1
  107. package/src/components/Countdown/Countdown.stories.tsx +6 -2
  108. package/src/components/Countdown/Countdown.tsx +56 -48
  109. package/src/components/Countdown/index.ts +1 -1
  110. package/src/components/Countdown/scripts/index.ts +33 -28
  111. package/src/components/DataTable/DataTable.stories.tsx +23 -18
  112. package/src/components/DataTable/DataTable.tsx +39 -39
  113. package/src/components/DataTable/index.ts +1 -1
  114. package/src/components/DataTable/scripts/bundle.ts +8 -3
  115. package/src/components/DataTable/scripts/index.ts +182 -164
  116. package/src/components/DatePicker/DatePicker.stories.tsx +136 -148
  117. package/src/components/DatePicker/DatePicker.tsx +461 -420
  118. package/src/components/DatePicker/scripts/bundle.ts +12 -7
  119. package/src/components/DatePicker/scripts/componentInteractions.ts +76 -46
  120. package/src/components/DatePicker/scripts/index.ts +176 -156
  121. package/src/components/DatePicker/types.ts +32 -32
  122. package/src/components/DatePicker/utils.ts +41 -30
  123. package/src/components/Dropdown/Dropdown.stories.tsx +85 -55
  124. package/src/components/Dropdown/Dropdown.tsx +97 -88
  125. package/src/components/Dropdown/index.ts +5 -10
  126. package/src/components/Dropdown/scripts/bundle.ts +10 -10
  127. package/src/components/Dropdown/scripts/componentInteractions.ts +10 -2
  128. package/src/components/Dropdown/scripts/index.ts +122 -117
  129. package/src/components/EdgePanel/EdgePanel.stories.tsx +142 -58
  130. package/src/components/EdgePanel/EdgePanel.tsx +7 -13
  131. package/src/components/EdgePanel/index.ts +1 -1
  132. package/src/components/EdgePanel/scripts/bundle.ts +5 -5
  133. package/src/components/EdgePanel/scripts/edgePanelInteractions.ts +26 -26
  134. package/src/components/EdgePanel/scripts/index.ts +53 -53
  135. package/src/components/Form/Checkbox.stories.tsx +2 -2
  136. package/src/components/Form/Checkbox.tsx +13 -7
  137. package/src/components/Form/Form.stories.tsx +144 -218
  138. package/src/components/Form/Form.tsx +6 -6
  139. package/src/components/Form/FormGroup.stories.tsx +21 -38
  140. package/src/components/Form/FormGroup.tsx +18 -20
  141. package/src/components/Form/Input.stories.tsx +1 -1
  142. package/src/components/Form/Input.tsx +18 -8
  143. package/src/components/Form/Radio.stories.tsx +12 -25
  144. package/src/components/Form/Radio.tsx +11 -6
  145. package/src/components/Form/Select.stories.tsx +6 -6
  146. package/src/components/Form/Select.tsx +31 -33
  147. package/src/components/Form/Textarea.stories.tsx +7 -2
  148. package/src/components/Form/Textarea.tsx +17 -8
  149. package/src/components/Form/index.ts +1 -1
  150. package/src/components/Hero/Hero.stories.tsx +44 -42
  151. package/src/components/Hero/Hero.tsx +28 -38
  152. package/src/components/Hero/index.ts +1 -1
  153. package/src/components/Hero/scripts/bundle.ts +6 -6
  154. package/src/components/Hero/scripts/heroInteractions.ts +24 -29
  155. package/src/components/Hero/scripts/index.ts +16 -17
  156. package/src/components/Icon/Icon.tsx +16 -18
  157. package/src/components/Icon/index.ts +1 -1
  158. package/src/components/List/List.stories.tsx +1 -3
  159. package/src/components/List/List.tsx +6 -10
  160. package/src/components/List/ListGroup.tsx +1 -1
  161. package/src/components/List/index.ts +1 -1
  162. package/src/components/Messages/Messages.stories.tsx +30 -29
  163. package/src/components/Messages/Messages.tsx +60 -55
  164. package/src/components/Messages/index.ts +1 -1
  165. package/src/components/Messages/scripts/bundle.ts +1 -6
  166. package/src/components/Messages/scripts/componentInteractions.ts +32 -37
  167. package/src/components/Messages/scripts/index.ts +61 -55
  168. package/src/components/Modal/Modal.stories.tsx +77 -53
  169. package/src/components/Modal/Modal.tsx +63 -62
  170. package/src/components/Modal/index.ts +1 -1
  171. package/src/components/Modal/scripts/bundle.ts +3 -3
  172. package/src/components/Modal/scripts/index.ts +96 -84
  173. package/src/components/Modal/scripts/modalInteractions.ts +16 -14
  174. package/src/components/{Navbar → Navigation/Menu}/MegaMenu.tsx +50 -59
  175. package/src/components/Navigation/Menu/Menu.stories.tsx +340 -0
  176. package/src/components/Navigation/Menu/Menu.tsx +110 -0
  177. package/src/components/Navigation/Nav/Nav.stories.tsx +458 -0
  178. package/src/components/Navigation/Nav/Nav.tsx +50 -0
  179. package/src/components/Navigation/Nav/NavDropdown.tsx +105 -0
  180. package/src/components/Navigation/Nav/NavItem.tsx +159 -0
  181. package/src/components/{Navbar → Navigation/Navbar}/Navbar.stories.tsx +198 -104
  182. package/src/components/Navigation/Navbar/Navbar.tsx +150 -0
  183. package/src/components/Navigation/README.md +314 -0
  184. package/src/components/Navigation/SideMenu/SideMenu.README.md +494 -0
  185. package/src/components/Navigation/SideMenu/SideMenu.stories.tsx +618 -0
  186. package/src/components/Navigation/SideMenu/SideMenu.tsx +101 -0
  187. package/src/components/Navigation/SideMenu/SideMenuItem.tsx +95 -0
  188. package/src/components/Navigation/SideMenu/SideMenuList.tsx +41 -0
  189. package/src/components/Navigation/index.ts +23 -0
  190. package/src/components/Navigation/scripts/NavbarInteractions.ts +171 -0
  191. package/src/components/Navigation/scripts/SideMenu.ts +319 -0
  192. package/src/components/Navigation/scripts/SideMenuBundle.ts +69 -0
  193. package/src/components/Navigation/scripts/SideMenuInteractions.ts +250 -0
  194. package/src/components/Navigation/scripts/bundle.ts +58 -0
  195. package/src/components/Navigation/scripts/index.ts +248 -0
  196. package/src/components/Pagination/Pagination.stories.tsx +34 -33
  197. package/src/components/Pagination/Pagination.tsx +25 -35
  198. package/src/components/Pagination/index.ts +1 -1
  199. package/src/components/Pagination/scripts/index.ts +42 -37
  200. package/src/components/PhotoViewer/PhotoViewer.stories.tsx +48 -48
  201. package/src/components/PhotoViewer/PhotoViewer.tsx +29 -46
  202. package/src/components/PhotoViewer/PhotoViewerHeader.tsx +20 -26
  203. package/src/components/PhotoViewer/PhotoViewerImage.tsx +19 -17
  204. package/src/components/PhotoViewer/PhotoViewerInfo.tsx +13 -5
  205. package/src/components/PhotoViewer/PhotoViewerNavigation.tsx +5 -5
  206. package/src/components/PhotoViewer/PhotoViewerThumbnails.tsx +31 -30
  207. package/src/components/PhotoViewer/examples/ImageGallery.tsx +27 -37
  208. package/src/components/PhotoViewer/examples/SimpleGallery.tsx +19 -13
  209. package/src/components/PhotoViewer/examples/index.ts +1 -1
  210. package/src/components/PhotoViewer/index.ts +1 -1
  211. package/src/components/PhotoViewer/scripts/PhotoViewerInteractions.ts +43 -33
  212. package/src/components/PhotoViewer/scripts/bundle.ts +14 -14
  213. package/src/components/PhotoViewer/scripts/index.ts +173 -129
  214. package/src/components/Popover/Popover.stories.tsx +11 -12
  215. package/src/components/Popover/Popover.tsx +36 -36
  216. package/src/components/Popover/index.ts +1 -1
  217. package/src/components/Popover/scripts/bundle.ts +1 -1
  218. package/src/components/Popover/scripts/componentInteractions.ts +34 -46
  219. package/src/components/Popover/scripts/index.ts +64 -53
  220. package/src/components/ProductReview/ProductReview.stories.tsx +10 -8
  221. package/src/components/ProductReview/ProductReview.tsx +28 -32
  222. package/src/components/ProductReview/scripts/componentInteractions.ts +20 -20
  223. package/src/components/Progress/Progress.tsx +36 -34
  224. package/src/components/Progress/scripts/bundle.ts +7 -2
  225. package/src/components/Progress/scripts/componentInteractions.ts +29 -23
  226. package/src/components/Progress/scripts/index.ts +45 -39
  227. package/src/components/Rating/Rating.stories.tsx +3 -16
  228. package/src/components/Rating/Rating.tsx +250 -231
  229. package/src/components/Rating/scripts/bundle.ts +11 -6
  230. package/src/components/Rating/scripts/index.ts +85 -80
  231. package/src/components/Rating/scripts/ratingInteractions.ts +27 -24
  232. package/src/components/River/River.stories.tsx +70 -24
  233. package/src/components/River/River.tsx +28 -38
  234. package/src/components/River/index.ts +1 -1
  235. package/src/components/River/scripts/index.ts +11 -12
  236. package/src/components/SectionIntro/SectionIntro.stories.tsx +12 -9
  237. package/src/components/SectionIntro/SectionIntro.tsx +25 -31
  238. package/src/components/SectionIntro/scripts/componentInteractions.ts +1 -1
  239. package/src/components/SectionIntro/scripts/index.ts +30 -16
  240. package/src/components/Spinner/Spinner.stories.tsx +5 -7
  241. package/src/components/Spinner/Spinner.tsx +11 -6
  242. package/src/components/Spinner/index.ts +2 -2
  243. package/src/components/Steps/Steps.stories.tsx +44 -48
  244. package/src/components/Steps/Steps.tsx +20 -20
  245. package/src/components/Steps/index.ts +1 -1
  246. package/src/components/Steps/scripts/index.ts +9 -9
  247. package/src/components/Tab/Tab.stories.tsx +14 -6
  248. package/src/components/Tab/Tab.tsx +16 -18
  249. package/src/components/Tab/index.ts +2 -2
  250. package/src/components/Tab/scripts/index.ts +13 -13
  251. package/src/components/Testimonial/Testimonial.stories.tsx +54 -51
  252. package/src/components/Testimonial/Testimonial.tsx +18 -19
  253. package/src/components/Testimonial/index.ts +1 -1
  254. package/src/components/Testimonial/scripts/index.ts +19 -8
  255. package/src/components/Todo/Todo.stories.tsx +7 -24
  256. package/src/components/Todo/Todo.tsx +35 -46
  257. package/src/components/Todo/index.ts +1 -1
  258. package/src/components/Todo/scripts/bundle.ts +1 -1
  259. package/src/components/Todo/scripts/index.ts +99 -81
  260. package/src/components/Todo/scripts/todoInteractions.ts +12 -12
  261. package/src/components/Todo/scripts/types.ts +3 -3
  262. package/src/components/Toggle/Toggle.stories.tsx +2 -2
  263. package/src/components/Toggle/Toggle.tsx +18 -18
  264. package/src/components/Toggle/index.ts +2 -2
  265. package/src/components/Toggle/scripts/bundle.ts +7 -2
  266. package/src/components/Toggle/scripts/index.ts +14 -10
  267. package/src/components/Toggle/scripts/toggleInteractions.ts +11 -14
  268. package/src/components/Tooltip/Tooltip.stories.tsx +13 -6
  269. package/src/components/Tooltip/Tooltip.tsx +25 -15
  270. package/src/components/Tooltip/index.ts +3 -3
  271. package/src/components/Tooltip/scripts/bundle.ts +0 -1
  272. package/src/components/Tooltip/scripts/index.ts +44 -41
  273. package/src/components/Tooltip/scripts/tooltipInteractions.ts +22 -22
  274. package/src/components/Upload/Upload.stories.tsx +28 -34
  275. package/src/components/Upload/Upload.tsx +86 -71
  276. package/src/components/Upload/index.ts +1 -1
  277. package/src/components/Upload/scripts/index.ts +58 -43
  278. package/src/components/index.ts +5 -6
  279. package/src/design-tokens/BoxShadow/BoxShadow.stories.tsx +13 -10
  280. package/src/design-tokens/Colors/colors.scss +10 -7
  281. package/src/design-tokens/Colors/colors.stories.tsx +46 -59
  282. package/src/design-tokens/Spacing/Spacing.scss +7 -5
  283. package/src/design-tokens/Spacing/Spacing.stories.tsx +19 -18
  284. package/src/design-tokens/Typography/Typography.scss +88 -25
  285. package/src/design-tokens/Typography/Typography.stories.tsx +22 -25
  286. package/src/docs/implementation-guide.mdx +2 -2
  287. package/src/htmlComponentsEntry.ts +23 -23
  288. package/src/index.ts +1 -1
  289. package/src/layouts/Grid/Container.tsx +6 -10
  290. package/src/layouts/Grid/Grid.stories.tsx +72 -34
  291. package/src/layouts/Grid/Grid.tsx +6 -13
  292. package/src/layouts/Grid/GridCol.tsx +29 -26
  293. package/src/layouts/Grid/Row.tsx +6 -13
  294. package/src/layouts/MasonryGrid/MasonryGrid.stories.tsx +79 -72
  295. package/src/layouts/MasonryGrid/MasonryGrid.tsx +23 -25
  296. package/src/layouts/MasonryGrid/MasonryGridItem.tsx +4 -12
  297. package/src/layouts/index.ts +3 -4
  298. package/src/lib/composables/index.ts +3 -3
  299. package/src/lib/composables/useAccordion.ts +15 -6
  300. package/src/lib/composables/useBadge.ts +3 -3
  301. package/src/lib/composables/useBreadcrumb.ts +6 -12
  302. package/src/lib/composables/useButton.ts +3 -3
  303. package/src/lib/composables/useCallout.ts +3 -3
  304. package/src/lib/composables/useCard.ts +50 -28
  305. package/src/lib/composables/useCheckbox.ts +7 -7
  306. package/src/lib/composables/useDataTable.ts +61 -57
  307. package/src/lib/composables/useDatePicker.ts +255 -231
  308. package/src/lib/composables/useDropdown.ts +90 -75
  309. package/src/lib/composables/useEdgePanel.ts +50 -47
  310. package/src/lib/composables/useForm.ts +4 -7
  311. package/src/lib/composables/useFormGroup.ts +11 -12
  312. package/src/lib/composables/useHero.ts +36 -38
  313. package/src/lib/composables/useInput.ts +9 -10
  314. package/src/lib/composables/useMessages.ts +12 -14
  315. package/src/lib/composables/useModal.ts +37 -34
  316. package/src/lib/composables/useNavbar.ts +33 -22
  317. package/src/lib/composables/usePagination.ts +3 -10
  318. package/src/lib/composables/usePhotoViewer.ts +625 -578
  319. package/src/lib/composables/usePopover.ts +68 -62
  320. package/src/lib/composables/useProgress.ts +9 -12
  321. package/src/lib/composables/useRadio.ts +4 -4
  322. package/src/lib/composables/useRating.ts +82 -70
  323. package/src/lib/composables/useRiver.ts +28 -31
  324. package/src/lib/composables/useSelect.ts +7 -8
  325. package/src/lib/composables/useSideMenu.ts +197 -0
  326. package/src/lib/composables/useSpinner.ts +3 -3
  327. package/src/lib/composables/useTextarea.ts +8 -9
  328. package/src/lib/composables/useTodo.ts +14 -18
  329. package/src/lib/constants/components.ts +191 -118
  330. package/src/lib/constants/index.ts +1 -1
  331. package/src/lib/types/components.ts +454 -324
  332. package/src/lib/utils/dom.ts +2 -6
  333. package/src/lib/utils/icons.ts +20 -12
  334. package/src/lib/utils/index.ts +2 -2
  335. package/src/lib/utils/useForkRef.ts +1 -2
  336. package/src/styles/01-settings/_index.scss +59 -59
  337. package/src/styles/01-settings/_settings.accordion.scss +21 -21
  338. package/src/styles/01-settings/_settings.animations.scss +2 -2
  339. package/src/styles/01-settings/_settings.avatar-group.scss +14 -14
  340. package/src/styles/01-settings/_settings.avatar.scss +31 -31
  341. package/src/styles/01-settings/_settings.badge.scss +11 -11
  342. package/src/styles/01-settings/_settings.border-radius.scss +10 -9
  343. package/src/styles/01-settings/_settings.border.scss +7 -7
  344. package/src/styles/01-settings/_settings.box-shadow.scss +24 -12
  345. package/src/styles/01-settings/_settings.breadcrumb.scss +18 -18
  346. package/src/styles/01-settings/_settings.btn-group.scss +1 -1
  347. package/src/styles/01-settings/_settings.button.scss +63 -49
  348. package/src/styles/01-settings/_settings.callout.scss +27 -7
  349. package/src/styles/01-settings/_settings.card.scss +27 -30
  350. package/src/styles/01-settings/_settings.checkbox-group.scss +2 -3
  351. package/src/styles/01-settings/_settings.checkbox.scss +17 -18
  352. package/src/styles/01-settings/_settings.color-mode.scss +1 -1
  353. package/src/styles/01-settings/_settings.colors.scss +197 -214
  354. package/src/styles/01-settings/_settings.config.scss +1 -3
  355. package/src/styles/01-settings/_settings.countdown.scss +14 -14
  356. package/src/styles/01-settings/_settings.data-table.scss +6 -6
  357. package/src/styles/01-settings/_settings.datepicker.scss +40 -42
  358. package/src/styles/01-settings/_settings.dropdown.scss +30 -30
  359. package/src/styles/01-settings/_settings.edge-panel.scss +16 -16
  360. package/src/styles/01-settings/_settings.fonts.scss +14 -12
  361. package/src/styles/01-settings/_settings.form-group.scss +10 -10
  362. package/src/styles/01-settings/_settings.form.scss +3 -3
  363. package/src/styles/01-settings/_settings.grid.scss +1 -1
  364. package/src/styles/01-settings/_settings.hero.scss +23 -23
  365. package/src/styles/01-settings/_settings.input.scss +32 -32
  366. package/src/styles/01-settings/_settings.link.scss +6 -6
  367. package/src/styles/01-settings/_settings.list-group.scss +12 -12
  368. package/src/styles/01-settings/_settings.list.scss +2 -2
  369. package/src/styles/01-settings/_settings.maps.scss +183 -188
  370. package/src/styles/01-settings/_settings.masonry-grid.scss +2 -2
  371. package/src/styles/01-settings/_settings.menu.scss +35 -38
  372. package/src/styles/01-settings/_settings.messages.scss +71 -77
  373. package/src/styles/01-settings/_settings.modal.scss +24 -24
  374. package/src/styles/01-settings/_settings.nav.scss +15 -15
  375. package/src/styles/01-settings/_settings.navbar.scss +39 -12
  376. package/src/styles/01-settings/_settings.pagination.scss +21 -21
  377. package/src/styles/01-settings/_settings.photoviewer.scss +1 -1
  378. package/src/styles/01-settings/_settings.popover.scss +3 -3
  379. package/src/styles/01-settings/_settings.position.scss +2 -2
  380. package/src/styles/01-settings/_settings.progress.scss +15 -18
  381. package/src/styles/01-settings/_settings.rating.scss +7 -7
  382. package/src/styles/01-settings/_settings.river.scss +25 -25
  383. package/src/styles/01-settings/_settings.sectionintro.scss +15 -16
  384. package/src/styles/01-settings/_settings.select.scss +31 -31
  385. package/src/styles/01-settings/_settings.side-menu.scss +64 -16
  386. package/src/styles/01-settings/_settings.skeleton.scss +12 -12
  387. package/src/styles/01-settings/_settings.spacing.scss +62 -33
  388. package/src/styles/01-settings/_settings.spinner.scss +10 -10
  389. package/src/styles/01-settings/_settings.steps.scss +22 -22
  390. package/src/styles/01-settings/_settings.tabs.scss +25 -25
  391. package/src/styles/01-settings/_settings.testimonials.scss +17 -19
  392. package/src/styles/01-settings/_settings.todo.scss +1 -1
  393. package/src/styles/01-settings/_settings.toggle.scss +26 -26
  394. package/src/styles/01-settings/_settings.tooltip.scss +15 -15
  395. package/src/styles/01-settings/_settings.typography.scss +65 -48
  396. package/src/styles/01-settings/_settings.upload.scss +70 -77
  397. package/src/styles/01-settings/_settings.z-layers.scss +1 -1
  398. package/src/styles/02-tools/_index.scss +19 -19
  399. package/src/styles/02-tools/_tools.animations.scss +4 -4
  400. package/src/styles/02-tools/_tools.border-radius.scss +4 -5
  401. package/src/styles/02-tools/_tools.breakpoints.scss +33 -34
  402. package/src/styles/02-tools/_tools.button.scss +49 -25
  403. package/src/styles/02-tools/_tools.color-mode.scss +11 -11
  404. package/src/styles/02-tools/_tools.event.scss +1 -1
  405. package/src/styles/02-tools/_tools.hidden-visually.scss +1 -1
  406. package/src/styles/02-tools/_tools.hidden.scss +1 -1
  407. package/src/styles/02-tools/_tools.map-loop.scss +9 -9
  408. package/src/styles/02-tools/_tools.media-queries.scss +5 -3
  409. package/src/styles/02-tools/_tools.object-fit.scss +3 -3
  410. package/src/styles/02-tools/_tools.placeholder.scss +0 -1
  411. package/src/styles/02-tools/_tools.rem.scss +1 -1
  412. package/src/styles/02-tools/_tools.spacing.scss +8 -34
  413. package/src/styles/02-tools/_tools.to-rgb.scss +3 -3
  414. package/src/styles/02-tools/_tools.transition.scss +1 -1
  415. package/src/styles/02-tools/_tools.utility-api.scss +29 -14
  416. package/src/styles/03-generic/_generic.fonts.scss +0 -1
  417. package/src/styles/03-generic/_generic.reset.scss +13 -8
  418. package/src/styles/03-generic/_generic.root.scss +5 -5
  419. package/src/styles/03-generic/_index.scss +4 -4
  420. package/src/styles/04-elements/_elements.all.scss +2 -2
  421. package/src/styles/04-elements/_elements.body.scss +1 -2
  422. package/src/styles/04-elements/_elements.heading.scss +37 -21
  423. package/src/styles/04-elements/_elements.links.scss +0 -1
  424. package/src/styles/04-elements/_index.scss +5 -5
  425. package/src/styles/05-objects/_index.scss +3 -3
  426. package/src/styles/05-objects/_objects.container.scss +5 -4
  427. package/src/styles/05-objects/_objects.grid.scss +12 -12
  428. package/src/styles/05-objects/_objects.masonry-grid.scss +80 -74
  429. package/src/styles/06-components/_components.accordion.scss +12 -6
  430. package/src/styles/06-components/_components.avatar-group.scss +9 -8
  431. package/src/styles/06-components/_components.avatar.scss +78 -77
  432. package/src/styles/06-components/_components.badge.scss +48 -48
  433. package/src/styles/06-components/_components.breadcrumb.scss +57 -58
  434. package/src/styles/06-components/_components.btn-group.scss +22 -22
  435. package/src/styles/06-components/_components.button.scss +118 -110
  436. package/src/styles/06-components/_components.callout.scss +21 -15
  437. package/src/styles/06-components/_components.card.scss +6 -10
  438. package/src/styles/06-components/_components.checkbox-group.scss +9 -10
  439. package/src/styles/06-components/_components.checkbox.scss +10 -17
  440. package/src/styles/06-components/_components.color-mode-toggle.scss +6 -6
  441. package/src/styles/06-components/_components.countdown.scss +53 -54
  442. package/src/styles/06-components/_components.data-table.scss +40 -36
  443. package/src/styles/06-components/_components.datepicker.scss +95 -73
  444. package/src/styles/06-components/_components.dropdown.scss +15 -9
  445. package/src/styles/06-components/_components.edge-panel.scss +87 -46
  446. package/src/styles/06-components/_components.form-group.scss +5 -4
  447. package/src/styles/06-components/_components.hero.scss +128 -132
  448. package/src/styles/06-components/_components.icon.scss +16 -16
  449. package/src/styles/06-components/_components.image-gallery.scss +9 -7
  450. package/src/styles/06-components/_components.input.scss +18 -16
  451. package/src/styles/06-components/_components.list-group.scss +52 -51
  452. package/src/styles/06-components/_components.list.scss +15 -15
  453. package/src/styles/06-components/_components.menu.scss +225 -220
  454. package/src/styles/06-components/_components.messages.scss +45 -32
  455. package/src/styles/06-components/_components.modal.scss +0 -1
  456. package/src/styles/06-components/_components.nav.scss +56 -11
  457. package/src/styles/06-components/_components.navbar.scss +278 -202
  458. package/src/styles/06-components/_components.pagination.scss +7 -6
  459. package/src/styles/06-components/_components.photoviewer.scss +121 -116
  460. package/src/styles/06-components/_components.popover.scss +10 -10
  461. package/src/styles/06-components/_components.product-review.scss +3 -3
  462. package/src/styles/06-components/_components.progress.scss +32 -35
  463. package/src/styles/06-components/_components.rating.scss +9 -8
  464. package/src/styles/06-components/_components.river.scss +4 -2
  465. package/src/styles/06-components/_components.sectionintro.scss +19 -26
  466. package/src/styles/06-components/_components.select.scss +7 -8
  467. package/src/styles/06-components/_components.side-menu.scss +154 -28
  468. package/src/styles/06-components/_components.skeleton.scss +0 -1
  469. package/src/styles/06-components/_components.spinner.scss +2 -4
  470. package/src/styles/06-components/_components.steps.scss +76 -77
  471. package/src/styles/06-components/_components.tabs.scss +17 -12
  472. package/src/styles/06-components/_components.testimonials.scss +49 -52
  473. package/src/styles/06-components/_components.todo.scss +26 -26
  474. package/src/styles/06-components/_components.tooltip.scss +114 -115
  475. package/src/styles/06-components/_components.upload.scss +8 -18
  476. package/src/styles/06-components/_index.scss +48 -48
  477. package/src/styles/99-utilities/_index.scss +18 -18
  478. package/src/styles/99-utilities/_utilities.background.scss +13 -13
  479. package/src/styles/99-utilities/_utilities.border.scss +30 -30
  480. package/src/styles/99-utilities/_utilities.clearfix.scss +1 -1
  481. package/src/styles/99-utilities/_utilities.display.scss +5 -4
  482. package/src/styles/99-utilities/_utilities.flex.scss +19 -19
  483. package/src/styles/99-utilities/_utilities.link.scss +52 -35
  484. package/src/styles/99-utilities/_utilities.object-fit.scss +3 -3
  485. package/src/styles/99-utilities/_utilities.opacity.scss +6 -6
  486. package/src/styles/99-utilities/_utilities.overflow.scss +4 -4
  487. package/src/styles/99-utilities/_utilities.position.scss +8 -8
  488. package/src/styles/99-utilities/_utilities.shadow.scss +13 -13
  489. package/src/styles/99-utilities/_utilities.sizes.scss +17 -17
  490. package/src/styles/99-utilities/_utilities.spacing.scss +72 -37
  491. package/src/styles/99-utilities/_utilities.text.scss +15 -15
  492. package/src/styles/99-utilities/_utilities.visibility.scss +8 -8
  493. package/src/styles/99-utilities/_utilities.visually-hidden.scss +1 -1
  494. package/src/styles/99-utilities/_utilities.z-index.scss +2 -2
  495. package/tsconfig.json +74 -0
  496. package/webpack.config.js +463 -0
  497. package/NPM_PUBLISHING.md +0 -221
  498. package/dist/css/atomix.css.map +0 -1
  499. package/dist/js/194.js.map +0 -1
  500. package/dist/js/atomix.react.esm.js.map +0 -1
  501. package/dist/js/atomix.react.umd.js.map +0 -1
  502. package/dist/js/chunks/esm/202.ff48d27672233280e021.js.map +0 -1
  503. package/dist/js/chunks/esm/308.f873332126eba90e5c62.js.map +0 -1
  504. package/dist/js/chunks/esm/54.4db919e5e4e5cc6d7c72.js.map +0 -1
  505. package/dist/js/chunks/esm/619.afc5a718eff77fa423b5.js.map +0 -1
  506. package/dist/js/chunks/esm/690.a9e968c7497d61e56cdc.js.map +0 -1
  507. package/dist/js/chunks/esm/894.f1091a4a8758c26d29e4.js.map +0 -1
  508. package/dist/js/chunks/esm/897.561a50f7d043d42169da.js.map +0 -1
  509. package/dist/js/chunks/umd/202.dac7605cc555b6bda542.js.map +0 -1
  510. package/dist/js/chunks/umd/308.6709979849dcbdb90c9b.js.map +0 -1
  511. package/dist/js/chunks/umd/54.403470e1f7d0ef4424a7.js.map +0 -1
  512. package/dist/js/chunks/umd/619.fa05ea98c10270eb64c5.js.map +0 -1
  513. package/dist/js/chunks/umd/690.aa7054d1c53e5402c2d6.js.map +0 -1
  514. package/dist/js/chunks/umd/894.3e1eaf0a2aadf4434390.js.map +0 -1
  515. package/dist/js/chunks/umd/897.554ea37be4453698c167.js.map +0 -1
  516. package/dist/types/components/Navbar/Nav.d.ts +0 -5
  517. package/dist/types/components/Navbar/NavItem.d.ts +0 -5
  518. package/dist/types/components/Navbar/Navbar.d.ts +0 -5
  519. package/dist/types/components/Navbar/index.d.ts +0 -6
  520. package/src/components/Navbar/Menu.tsx +0 -122
  521. package/src/components/Navbar/Nav.tsx +0 -35
  522. package/src/components/Navbar/NavDropdown.tsx +0 -108
  523. package/src/components/Navbar/NavItem.tsx +0 -128
  524. package/src/components/Navbar/Navbar.tsx +0 -124
  525. package/src/components/Navbar/index.ts +0 -6
@@ -36,15 +36,16 @@
36
36
  }
37
37
 
38
38
  &:hover {
39
- #{$root}__icon {
40
- transform: rotate(-180deg);
41
- }
42
-
43
- #{$root}__dropdown-menu, #{$root}__mega-menu {
44
- visibility: visible;
45
- opacity: 1;
46
- }
39
+ #{$root}__icon {
40
+ transform: rotate(-180deg);
47
41
  }
42
+
43
+ #{$root}__dropdown-menu,
44
+ #{$root}__mega-menu {
45
+ visibility: visible;
46
+ opacity: 1;
47
+ }
48
+ }
48
49
  }
49
50
 
50
51
  &__link {
@@ -53,8 +54,7 @@
53
54
  gap: var(--#{$prefix}nav-link-inner-gap);
54
55
  font-size: var(--#{$prefix}nav-link-font-size);
55
56
  font-weight: var(--#{$prefix}nav-link-font-weight);
56
- padding: var(--#{$prefix}nav-link-padding-y)
57
- var(--#{$prefix}nav-link-padding-x);
57
+ padding: var(--#{$prefix}nav-link-padding-y) var(--#{$prefix}nav-link-padding-x);
58
58
  border-radius: $border-radius-lg;
59
59
 
60
60
  @include transition.basic-transition();
@@ -114,7 +114,6 @@
114
114
  @include transition.basic-transition();
115
115
  }
116
116
 
117
-
118
117
  &--end {
119
118
  margin-left: auto;
120
119
  justify-content: flex-end;
@@ -124,4 +123,50 @@
124
123
  margin: 0 auto;
125
124
  justify-content: center;
126
125
  }
126
+
127
+ // Float variants - floating navigation bubbles
128
+ &--float-top-center,
129
+ &--float-bottom-center {
130
+ position: fixed;
131
+ left: 50%;
132
+ transform: translateX(-50%);
133
+ z-index: 1000;
134
+ background: var(--#{$prefix}body-bg);
135
+ border: 1px solid var(--#{$prefix}border-color);
136
+ border-radius: $border-radius-pill;
137
+ box-shadow: var(--#{$prefix}box-shadow-lg);
138
+ padding: rem(8px) rem(16px);
139
+ backdrop-filter: blur(10px);
140
+
141
+ // Add subtle background transparency
142
+ background: rgba(var(--#{$prefix}body-bg-rgb), 0.95);
143
+
144
+ // Ensure items are properly spaced in float mode
145
+ #{$root}__item {
146
+ & + & {
147
+ margin-left: rem(4px);
148
+ }
149
+ }
150
+
151
+ // Adjust link padding for compact float design
152
+ #{$root}__link {
153
+ padding: rem(8px) rem(12px);
154
+ border-radius: $border-radius-lg;
155
+
156
+ &:hover,
157
+ &:focus,
158
+ &:active,
159
+ &.is-active {
160
+ background-color: var(--#{$prefix}brand-bg-subtle);
161
+ }
162
+ }
163
+ }
164
+
165
+ &--float-top-center {
166
+ top: rem(20px);
167
+ }
168
+
169
+ &--float-bottom-center {
170
+ bottom: rem(20px);
171
+ }
127
172
  }
@@ -6,229 +6,305 @@
6
6
  @use '../01-settings/settings.maps' as maps;
7
7
 
8
8
  .c-navbar {
9
- $root: &;
10
-
11
- --#{$prefix}navbar-padding-x: #{rem($navbar-padding-x)};
12
- --#{$prefix}navbar-padding-y: #{rem($navbar-padding-y)};
13
- --#{$prefix}navbar-bg: #{$navbar-bg};
14
- --#{$prefix}navbar-border-width: #{$navbar-border-width};
15
- --#{$prefix}navbar-border-color: #{$navbar-border-color};
16
- --#{$prefix}navbar-brand-margin-end: #{rem($navbar-brand-margin-end)};
17
- --#{$prefix}navbar-toggler-size: #{$navbar-toggler-size};
18
- --#{$prefix}navbar-toggler-color: #{$navbar-toggler-color};
19
- --#{$prefix}navbar-container-max-width: #{$navbar-container-max-width};
20
-
21
- position: relative;
22
- padding: var(--#{$prefix}navbar-padding-y) 0;
23
- border-bottom: 1px solid var(--#{$prefix}navbar-border-color);
24
- background-color: var(--#{$prefix}navbar-bg);
25
-
26
- &__container {
27
- display: flex;
28
- flex-wrap: wrap;
29
- align-items: center;
9
+ $root: &;
10
+
11
+ // 1. CSS Custom Properties
12
+ --#{$prefix}navbar-padding-x: #{rem($navbar-padding-x)};
13
+ --#{$prefix}navbar-padding-y: #{rem($navbar-padding-y)};
14
+ --#{$prefix}navbar-container-max-width: #{$navbar-container-max-width};
15
+ --#{$prefix}navbar-bg: #{$navbar-bg};
16
+ --#{$prefix}navbar-border-width: #{$navbar-border-width};
17
+ --#{$prefix}navbar-border-color: #{$navbar-border-color};
18
+ --#{$prefix}navbar-box-shadow: #{$navbar-box-shadow};
19
+ --#{$prefix}navbar-brand-margin-end: #{rem($navbar-brand-margin-end)};
20
+ --#{$prefix}navbar-brand-font-size: #{$navbar-brand-font-size};
21
+ --#{$prefix}navbar-brand-font-weight: #{$navbar-brand-font-weight};
22
+ --#{$prefix}navbar-brand-color: #{$navbar-brand-color};
23
+ --#{$prefix}navbar-toggler-size: #{$navbar-toggler-size};
24
+ --#{$prefix}navbar-toggler-color: #{$navbar-toggler-color};
25
+ --#{$prefix}navbar-toggler-bg: #{$navbar-toggler-bg};
26
+ --#{$prefix}navbar-toggler-border: #{$navbar-toggler-border};
27
+ --#{$prefix}navbar-toggler-border-radius: #{$navbar-toggler-border-radius};
28
+ --#{$prefix}navbar-toggler-focus-shadow: #{$navbar-toggler-focus-shadow};
29
+ --#{$prefix}navbar-collapse-padding-top: #{$navbar-collapse-padding-top};
30
+ --#{$prefix}navbar-collapse-transition: #{$navbar-collapse-transition};
31
+ --#{$prefix}navbar-backdrop-bg: #{$navbar-backdrop-bg};
32
+ --#{$prefix}navbar-backdrop-z-index: #{$navbar-backdrop-z-index};
33
+ --#{$prefix}navbar-z-index: #{$navbar-z-index};
34
+
35
+ // 2. Base Component Styles
36
+ position: relative;
37
+ padding: var(--#{$prefix}navbar-padding-y) 0;
38
+ border-bottom: var(--#{$prefix}navbar-border-width) solid var(--#{$prefix}navbar-border-color);
39
+ background-color: var(--#{$prefix}navbar-bg);
40
+ z-index: var(--#{$prefix}navbar-z-index);
41
+
42
+ &__container {
43
+ display: flex;
44
+ flex-wrap: wrap;
45
+ align-items: center;
46
+ width: 100%;
47
+ max-width: var(--#{$prefix}navbar-container-max-width);
48
+ padding: 0 var(--#{$prefix}navbar-padding-x);
49
+ margin: 0 auto;
50
+ }
51
+
52
+ // 3. Element Styles (BEM Elements)
53
+ &__brand {
54
+ margin-right: var(--#{$prefix}navbar-brand-margin-end);
55
+ display: flex;
56
+ align-items: center;
57
+ font-size: var(--#{$prefix}navbar-brand-font-size);
58
+ font-weight: var(--#{$prefix}navbar-brand-font-weight);
59
+ color: var(--#{$prefix}navbar-brand-color);
60
+ text-decoration: none;
61
+
62
+ &:hover,
63
+ &:focus {
64
+ color: var(--#{$prefix}navbar-brand-color);
65
+ text-decoration: none;
66
+ }
67
+
68
+ svg {
69
+ color: inherit;
70
+ }
71
+ }
72
+
73
+ &__toggler {
74
+ display: none;
75
+ align-items: center;
76
+ justify-content: center;
77
+ width: var(--#{$prefix}navbar-toggler-size);
78
+ height: var(--#{$prefix}navbar-toggler-size);
79
+ padding: 0;
80
+ background-color: var(--#{$prefix}navbar-toggler-bg);
81
+ border: var(--#{$prefix}navbar-toggler-border);
82
+ border-radius: var(--#{$prefix}navbar-toggler-border-radius);
83
+ cursor: pointer;
84
+ transition: all 0.15s ease-in-out;
85
+
86
+ &:hover {
87
+ opacity: 0.8;
88
+ }
89
+
90
+ &:focus {
91
+ outline: none;
92
+ box-shadow: var(--#{$prefix}navbar-toggler-focus-shadow);
93
+ }
94
+
95
+ &:active {
96
+ transform: scale(0.95);
97
+ }
98
+
99
+ &-icon {
100
+ position: relative;
101
+ display: inline-block;
102
+ width: 1.5em;
103
+ height: 1.5em;
104
+ vertical-align: middle;
105
+
106
+ &::before,
107
+ &::after,
108
+ & {
109
+ position: absolute;
110
+ height: 2px;
30
111
  width: 100%;
31
- max-width: var(--#{$prefix}navbar-container-max-width);
32
- padding: 0 var(--#{$prefix}navbar-padding-x);
33
- margin: 0 auto;
112
+ background-color: var(--#{$prefix}navbar-toggler-color);
113
+ border-radius: 1px;
114
+ transition: transform 0.15s ease;
115
+ }
116
+
117
+ &::before,
118
+ &::after {
119
+ content: '';
120
+ display: block;
121
+ }
122
+
123
+ &::before {
124
+ top: -0.5em;
125
+ }
126
+
127
+ &::after {
128
+ bottom: -0.5em;
129
+ }
34
130
  }
131
+ }
35
132
 
36
- &__brand {
37
- margin-right: var(--#{$prefix}navbar-brand-margin-end);
38
- display: flex;
39
- align-items: center;
40
-
41
- svg {
42
- color: inherit;
43
- }
133
+ &__collapse {
134
+ flex-grow: 1;
135
+ align-items: center;
136
+ display: flex;
137
+ transition: var(--#{$prefix}navbar-collapse-transition);
138
+ }
139
+
140
+ // 4. Backdrop for mobile overlay
141
+ &__backdrop {
142
+ position: fixed;
143
+ top: 0;
144
+ left: 0;
145
+ width: 100%;
146
+ height: 100%;
147
+ background-color: var(--#{$prefix}navbar-backdrop-bg);
148
+ z-index: var(--#{$prefix}navbar-backdrop-z-index);
149
+ opacity: 0;
150
+ visibility: hidden;
151
+ transition: all 0.3s ease-in-out;
152
+
153
+ &.is-open {
154
+ opacity: 1;
155
+ visibility: visible;
44
156
  }
157
+ }
158
+
159
+ // Responsive behavior for collapsible navbars
160
+ &--collapsible {
161
+ @include media.media-down('md') {
162
+ #{$root}__toggler {
163
+ display: flex;
164
+ margin-left: auto;
165
+ }
45
166
 
46
- &__toggler {
167
+ #{$root}__collapse {
47
168
  display: none;
48
- align-items: center;
49
- justify-content: center;
50
- width: var(--#{$prefix}navbar-toggler-size);
51
- height: var(--#{$prefix}navbar-toggler-size);
52
- padding: 0;
53
- background-color: transparent;
54
- border: 0;
55
- border-radius: 4px;
56
- cursor: pointer;
57
-
58
- &:focus {
59
- outline: none;
60
- box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
169
+ width: 100%;
170
+
171
+ &.is-expanded {
172
+ display: block;
173
+ padding-top: var(--#{$prefix}navbar-collapse-padding-top);
61
174
  }
62
-
63
- &-icon {
64
- position: relative;
65
- display: inline-block;
66
- width: 1.5em;
67
- height: 1.5em;
68
- vertical-align: middle;
69
-
70
- &::before,
71
- &::after,
72
- & {
73
- position: absolute;
74
- height: 2px;
75
- width: 100%;
76
- background-color: var(--#{$prefix}navbar-toggler-color);
77
- border-radius: 1px;
78
- transition: transform 0.15s ease;
79
- }
80
-
81
- &::before,
82
- &::after {
83
- content: "";
84
- display: block;
175
+
176
+ .c-nav {
177
+ flex-direction: column;
178
+ align-items: flex-start;
179
+
180
+ &__item {
181
+ width: 100%;
182
+ margin-left: 0 !important;
183
+
184
+ & + & {
185
+ margin-top: 0.25rem;
85
186
  }
86
-
87
- &::before {
88
- top: -0.5em;
187
+ }
188
+
189
+ &__link {
190
+ display: block;
191
+ width: 100%;
192
+ }
193
+
194
+ &__dropdown-menu,
195
+ &__mega-menu {
196
+ position: static;
197
+ width: 100%;
198
+ margin-top: 0.25rem;
199
+ margin-bottom: 0.25rem;
200
+ border: none;
201
+ box-shadow: none;
202
+ background-color: transparent;
203
+ visibility: hidden;
204
+ opacity: 0;
205
+ height: 0;
206
+ overflow: hidden;
207
+ transform: none !important;
208
+ }
209
+
210
+ &__item--dropdown.is-active {
211
+ > .c-nav__dropdown-menu,
212
+ > .c-nav__mega-menu {
213
+ visibility: visible;
214
+ opacity: 1;
215
+ height: auto;
89
216
  }
90
-
91
- &::after {
92
- bottom: -0.5em;
217
+
218
+ > .c-nav__link .c-nav__icon {
219
+ transform: rotate(-180deg);
93
220
  }
221
+ }
94
222
  }
223
+ }
95
224
  }
96
-
97
- &__collapse {
98
- flex-grow: 1;
99
- align-items: center;
100
- display: flex;
225
+
226
+ @include media.media-up('md') {
227
+ #{$root}__collapse {
228
+ display: flex !important;
229
+ }
101
230
  }
102
-
103
- // Responsive behavior for collapsible navbars
104
- &--collapsible {
105
- @include media.media-down('md') {
106
- #{$root}__toggler {
107
- display: flex;
108
- margin-left: auto;
109
- }
110
-
111
- #{$root}__collapse {
112
- display: none;
113
- width: 100%;
114
-
115
- &.is-expanded {
116
- display: block;
117
- padding-top: 0.5rem;
118
- }
119
-
120
- .c-nav {
121
- flex-direction: column;
122
- align-items: flex-start;
123
-
124
- &__item {
125
- width: 100%;
126
- margin-left: 0 !important;
127
-
128
- & + & {
129
- margin-top: 0.25rem;
130
- }
131
- }
132
-
133
- &__link {
134
- display: block;
135
- width: 100%;
136
- }
137
-
138
- &__dropdown-menu,
139
- &__mega-menu {
140
- position: static;
141
- width: 100%;
142
- margin-top: 0.25rem;
143
- margin-bottom: 0.25rem;
144
- border: none;
145
- box-shadow: none;
146
- background-color: transparent;
147
- visibility: hidden;
148
- opacity: 0;
149
- height: 0;
150
- overflow: hidden;
151
- transform: none !important;
152
- }
153
-
154
- &__item--dropdown.is-active {
155
- > .c-nav__dropdown-menu,
156
- > .c-nav__mega-menu {
157
- visibility: visible;
158
- opacity: 1;
159
- height: auto;
160
- }
161
-
162
- > .c-nav__link .c-nav__icon {
163
- transform: rotate(-180deg);
164
- }
165
- }
166
- }
167
- }
168
- }
169
-
170
- @include media.media-up('md') {
171
- #{$root}__collapse {
172
- display: flex !important;
173
- }
174
- }
231
+ }
232
+
233
+ &--fixed,
234
+ &--fixed-bottom {
235
+ position: fixed;
236
+ left: 0;
237
+ right: 0;
238
+ width: 100%;
239
+ z-index: 1030;
240
+ }
241
+
242
+ &--fixed {
243
+ top: 0;
244
+ }
245
+
246
+ &--fixed-bottom {
247
+ bottom: 0;
248
+
249
+ .c-nav__dropdown-menu {
250
+ top: auto;
251
+ bottom: 100%;
175
252
  }
176
253
 
177
- &--fixed, &--fixed-bottom {
178
- position: fixed;
179
- left: 0;
180
- right: 0;
181
- width: 100%;
182
- z-index: 1030;
254
+ .c-nav--end .c-nav__dropdown-menu {
255
+ left: 50%;
256
+ transform: translateX(-50%);
183
257
  }
184
258
 
185
- &--fixed {
186
- top: 0;
259
+ // For fixed-bottom, the caret should point upward
260
+ .c-nav__icon {
261
+ transform: rotate(180deg);
262
+
263
+ &:hover {
264
+ transform: rotate(0deg);
265
+ }
187
266
  }
267
+ }
188
268
 
189
- &--fixed-bottom {
190
- bottom: 0;
269
+ // 5. Modifier Styles (BEM Modifiers)
270
+ // Theme/variant styles
271
+ @each $color, $value in maps.$theme-colors-bg-subtle {
272
+ &--#{$color} {
273
+ --#{$prefix}navbar-bg: var(--#{$prefix}#{$color}-bg-subtle);
274
+ --#{$prefix}navbar-border-color: var(--#{$prefix}#{$color}-border-subtle);
275
+ --#{$prefix}navbar-toggler-color: var(--#{$prefix}#{$color}-text);
276
+ --#{$prefix}navbar-brand-color: var(--#{$prefix}#{$color}-text-emphasis);
191
277
 
192
- .c-nav__dropdown-menu {
193
- top: auto;
194
- bottom: 100%;
195
- }
278
+ .c-nav__link {
279
+ color: var(--#{$prefix}#{$color}-text);
196
280
 
197
- .c-nav--end .c-nav__dropdown-menu {
198
- left: 50%;
199
- transform: translateX(-50%);
200
- }
201
-
202
- // For fixed-bottom, the caret should point upward
203
- .c-nav__icon {
204
- transform: rotate(180deg);
205
-
206
- &:hover {
207
- transform: rotate(0deg);
208
- }
281
+ &:hover,
282
+ &:focus,
283
+ &.is-active {
284
+ background-color: var(--#{$prefix}#{$color}-subtle);
209
285
  }
286
+ }
210
287
  }
211
-
212
- // Theme/variant styles
213
- @each $color, $value in maps.$theme-colors-bg-subtle{
214
- &--#{$color} {
215
- --#{$prefix}navbar-bg: var(--#{$prefix}#{$color}-bg-subtle);
216
- --#{$prefix}navbar-border-color: var(--#{$prefix}#{$color}-border-subtle);
217
- --#{$prefix}navbar-toggler-color: var(--#{$prefix}#{$color}-text);
218
-
219
- .c-nav__link {
220
- color: var(--#{$prefix}#{$color}-text);
221
-
222
- &:hover,
223
- &:focus,
224
- &.is-active {
225
- background-color: var(--#{$prefix}#{$color}-subtle);
226
- }
227
- }
228
-
229
- .c-navbar__brand {
230
- color: var(--#{$prefix}#{$color}-text-emphasis);
231
- }
232
- }
288
+ }
289
+
290
+ // 6. Dark Mode Support
291
+ .dark-mode & {
292
+ --#{$prefix}navbar-bg: #{$navbar-bg-dark};
293
+ --#{$prefix}navbar-border-color: #{$navbar-border-color-dark};
294
+ --#{$prefix}navbar-brand-color: #{$navbar-brand-color-dark};
295
+ --#{$prefix}navbar-toggler-color: #{$navbar-toggler-color-dark};
296
+ }
297
+
298
+ // 7. Accessibility Considerations
299
+ @media (prefers-reduced-motion: reduce) {
300
+ --#{$prefix}navbar-collapse-transition: none;
301
+
302
+ #{$root}__toggler {
303
+ transition: none;
304
+ }
305
+
306
+ #{$root}__backdrop {
307
+ transition: none;
233
308
  }
234
- }
309
+ }
310
+ }
@@ -55,7 +55,7 @@
55
55
 
56
56
  &.is-active {
57
57
  font-weight: bold;
58
-
58
+
59
59
  .c-pagination__link {
60
60
  --#{config.$prefix}pagination-color: var(--#{config.$prefix}pagination-active-color);
61
61
  --#{config.$prefix}pagination-bg: var(--#{config.$prefix}pagination-active-bg);
@@ -95,7 +95,8 @@
95
95
  &:focus-visible {
96
96
  outline: none;
97
97
  border-radius: 0;
98
- border: var(--#{config.$prefix}pagination-focus-border-width) solid var(--#{config.$prefix}pagination-focus-border-color);
98
+ border: var(--#{config.$prefix}pagination-focus-border-width) solid
99
+ var(--#{config.$prefix}pagination-focus-border-color);
99
100
  }
100
101
 
101
102
  .c-icon {
@@ -137,18 +138,18 @@
137
138
  }
138
139
 
139
140
  &__icon-skip-back::before {
140
- content: "";
141
+ content: '';
141
142
  }
142
143
 
143
144
  &__icon-caret-left::before {
144
- content: "";
145
+ content: '';
145
146
  }
146
147
 
147
148
  &__icon-caret-right::before {
148
- content: "";
149
+ content: '';
149
150
  }
150
151
 
151
152
  &__icon-skip-forward::before {
152
- content: "";
153
+ content: '';
153
154
  }
154
155
  }