@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
@@ -26,7 +26,7 @@ const DEFAULT_OPTIONS: SectionIntroOptions = {
26
26
  alignment: 'left',
27
27
  showOverlay: false,
28
28
  size: 'md',
29
- skeleton: false
29
+ skeleton: false,
30
30
  };
31
31
 
32
32
  /**
@@ -47,7 +47,7 @@ class SectionIntro implements SectionIntroInstance {
47
47
  this.$element =
48
48
  typeof selector === 'string'
49
49
  ? document.querySelector<HTMLElement>(selector)
50
- : selector as HTMLElement;
50
+ : (selector as HTMLElement);
51
51
  this.options = { ...DEFAULT_OPTIONS, ...options } as SectionIntroOptions;
52
52
  this._initialize();
53
53
  }
@@ -59,40 +59,49 @@ class SectionIntro implements SectionIntroInstance {
59
59
  if (!this.$element) return;
60
60
 
61
61
  // Apply alignment classes if needed
62
- if (this.options.alignment === 'center' && !this.$element.classList.contains(SECTION_INTRO.CLASSES.CENTER)) {
62
+ if (
63
+ this.options.alignment === 'center' &&
64
+ !this.$element.classList.contains(SECTION_INTRO.CLASSES.CENTER)
65
+ ) {
63
66
  this.$element.classList.add(SECTION_INTRO.CLASSES.CENTER);
64
67
  }
65
68
 
66
69
  // Apply size classes if specified
67
- if (this.options.size === 'sm' && !this.$element.classList.contains(SECTION_INTRO.CLASSES.SMALL)) {
70
+ if (
71
+ this.options.size === 'sm' &&
72
+ !this.$element.classList.contains(SECTION_INTRO.CLASSES.SMALL)
73
+ ) {
68
74
  this.$element.classList.add(SECTION_INTRO.CLASSES.SMALL);
69
- } else if (this.options.size === 'lg' && !this.$element.classList.contains(SECTION_INTRO.CLASSES.LARGE)) {
75
+ } else if (
76
+ this.options.size === 'lg' &&
77
+ !this.$element.classList.contains(SECTION_INTRO.CLASSES.LARGE)
78
+ ) {
70
79
  this.$element.classList.add(SECTION_INTRO.CLASSES.LARGE);
71
80
  }
72
81
 
73
82
  // Add background image if provided
74
83
  if (this.options.backgroundImageSrc) {
75
84
  let bgElement = this.$element.querySelector('.c-sectionintro__bg');
76
-
85
+
77
86
  // Create background element if it doesn't exist
78
87
  if (!bgElement) {
79
88
  bgElement = document.createElement('div');
80
89
  bgElement.className = 'c-sectionintro__bg';
81
-
90
+
82
91
  const imgElement = document.createElement('img');
83
92
  imgElement.className = 'c-sectionintro__bg-image';
84
93
  imgElement.src = this.options.backgroundImageSrc;
85
94
  imgElement.alt = 'Background';
86
-
95
+
87
96
  bgElement.appendChild(imgElement);
88
-
97
+
89
98
  // Add overlay if needed
90
99
  if (this.options.showOverlay) {
91
100
  const overlayElement = document.createElement('div');
92
101
  overlayElement.className = 'c-sectionintro__overlay';
93
102
  bgElement.appendChild(overlayElement);
94
103
  }
95
-
104
+
96
105
  // Insert at the beginning of the element
97
106
  this.$element.insertBefore(bgElement, this.$element.firstChild);
98
107
  }
@@ -104,14 +113,14 @@ class SectionIntro implements SectionIntroInstance {
104
113
  */
105
114
  public destroy(): void {
106
115
  if (!this.$element) return;
107
-
116
+
108
117
  // Remove alignment classes
109
118
  this.$element.classList.remove(SECTION_INTRO.CLASSES.CENTER);
110
-
119
+
111
120
  // Remove size classes
112
121
  this.$element.classList.remove(SECTION_INTRO.CLASSES.SMALL);
113
122
  this.$element.classList.remove(SECTION_INTRO.CLASSES.LARGE);
114
-
123
+
115
124
  // Remove background if it was dynamically added
116
125
  if (this.options.backgroundImageSrc) {
117
126
  const bgElement = this.$element.querySelector('.c-sectionintro__bg');
@@ -128,13 +137,18 @@ class SectionIntro implements SectionIntroInstance {
128
137
  * @param {Object} options - Custom options to override defaults
129
138
  * @returns {SectionIntroInstance[]} Array of SectionIntro instances
130
139
  */
131
- export function initializeSectionIntros(selector = SECTION_INTRO.SELECTORS.SECTION_INTRO, options = {}): SectionIntroInstance[] {
140
+ export function initializeSectionIntros(
141
+ selector = SECTION_INTRO.SELECTORS.SECTION_INTRO,
142
+ options = {}
143
+ ): SectionIntroInstance[] {
132
144
  const sectionIntroInstances: SectionIntroInstance[] = [];
133
- const sectionIntroElements = document.querySelectorAll<HTMLElement>(typeof selector === 'string' ? selector : SECTION_INTRO.SELECTORS.SECTION_INTRO);
145
+ const sectionIntroElements = document.querySelectorAll<HTMLElement>(
146
+ typeof selector === 'string' ? selector : SECTION_INTRO.SELECTORS.SECTION_INTRO
147
+ );
134
148
 
135
149
  if (!sectionIntroElements.length) return sectionIntroInstances;
136
150
 
137
- sectionIntroElements.forEach((element) => {
151
+ sectionIntroElements.forEach(element => {
138
152
  try {
139
153
  const instance = new SectionIntro(element, options);
140
154
  sectionIntroInstances.push(instance);
@@ -11,19 +11,17 @@ const meta = {
11
11
  argTypes: {
12
12
  variant: {
13
13
  control: { type: 'select' },
14
- options: [
15
- 'primary', 'secondary', 'success', 'info', 'warning', 'error', 'light', 'dark'
16
- ],
17
- description: 'The color variant of the spinner'
14
+ options: ['primary', 'secondary', 'success', 'info', 'warning', 'error', 'light', 'dark'],
15
+ description: 'The color variant of the spinner',
18
16
  },
19
17
  size: {
20
18
  control: { type: 'select' },
21
19
  options: ['sm', 'md', 'lg'],
22
- description: 'The size of the spinner'
20
+ description: 'The size of the spinner',
23
21
  },
24
22
  fullscreen: {
25
23
  control: 'boolean',
26
- description: 'Whether the spinner should be centered and fixed in the viewport'
24
+ description: 'Whether the spinner should be centered and fixed in the viewport',
27
25
  },
28
26
  },
29
27
  } satisfies Meta<typeof Spinner>;
@@ -65,4 +63,4 @@ export const ColorVariants: Story = {
65
63
  <Spinner variant="dark" />
66
64
  </div>
67
65
  ),
68
- };
66
+ };
@@ -9,14 +9,19 @@ export const Spinner: React.FC<SpinnerProps> = ({
9
9
  fullscreen = false,
10
10
  className = '',
11
11
  }) => {
12
- const { generateSpinnerClass } = useSpinner({
13
- size, variant, fullscreen
12
+ const { generateSpinnerClass } = useSpinner({
13
+ size,
14
+ variant,
15
+ fullscreen,
14
16
  });
15
-
16
- const spinnerClass = generateSpinnerClass({
17
- size, variant, fullscreen, className
17
+
18
+ const spinnerClass = generateSpinnerClass({
19
+ size,
20
+ variant,
21
+ fullscreen,
22
+ className,
18
23
  });
19
-
24
+
20
25
  return (
21
26
  <div className={spinnerClass} role="status">
22
27
  <span className={SPINNER.VISUALLY_HIDDEN}>Loading...</span>
@@ -1,2 +1,2 @@
1
- export { Spinner } from './Spinner';
2
- export type { SpinnerProps } from './Spinner';
1
+ export { Spinner } from './Spinner';
2
+ export type { SpinnerProps } from './Spinner';
@@ -19,7 +19,7 @@ export default {
19
19
  },
20
20
  } as Meta<typeof Steps>;
21
21
 
22
- const Template: StoryFn<typeof Steps> = (args) => (
22
+ const Template: StoryFn<typeof Steps> = args => (
23
23
  <div style={{ padding: '30px' }}>
24
24
  <Steps {...args} />
25
25
  </div>
@@ -57,30 +57,30 @@ Vertical.args = {
57
57
  export const WithCustomContent = Template.bind({});
58
58
  WithCustomContent.args = {
59
59
  items: [
60
- {
61
- number: 1,
62
- text: 'Registration',
63
- content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Create your account</p>
60
+ {
61
+ number: 1,
62
+ text: 'Registration',
63
+ content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Create your account</p>,
64
64
  },
65
- {
66
- number: 2,
67
- text: 'Personal Info',
68
- content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Tell us about yourself</p>
65
+ {
66
+ number: 2,
67
+ text: 'Personal Info',
68
+ content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Tell us about yourself</p>,
69
69
  },
70
- {
71
- number: 3,
72
- text: 'Preferences',
73
- content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Select your preferences</p>
70
+ {
71
+ number: 3,
72
+ text: 'Preferences',
73
+ content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Select your preferences</p>,
74
74
  },
75
- {
76
- number: 4,
77
- text: 'Payment',
78
- content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Add payment information</p>
75
+ {
76
+ number: 4,
77
+ text: 'Payment',
78
+ content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Add payment information</p>,
79
79
  },
80
- {
81
- number: 5,
82
- text: 'Confirmation',
83
- content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Complete your signup</p>
80
+ {
81
+ number: 5,
82
+ text: 'Confirmation',
83
+ content: <p style={{ marginTop: '10px', fontSize: '0.85em' }}>Complete your signup</p>,
84
84
  },
85
85
  ],
86
86
  activeIndex: 1,
@@ -91,25 +91,25 @@ WithCustomContent.args = {
91
91
  export const WithIcons = Template.bind({});
92
92
  WithIcons.args = {
93
93
  items: [
94
- {
95
- number: <i className="icon-lux-user" style={{ fontSize: '16px' }}></i>,
96
- text: 'Account'
94
+ {
95
+ number: <i className="icon-lux-user" style={{ fontSize: '16px' }}></i>,
96
+ text: 'Account',
97
97
  },
98
- {
99
- number: <i className="icon-lux-settings" style={{ fontSize: '16px' }}></i>,
100
- text: 'Settings'
98
+ {
99
+ number: <i className="icon-lux-settings" style={{ fontSize: '16px' }}></i>,
100
+ text: 'Settings',
101
101
  },
102
- {
103
- number: <i className="icon-lux-calendar" style={{ fontSize: '16px' }}></i>,
104
- text: 'Schedule'
102
+ {
103
+ number: <i className="icon-lux-calendar" style={{ fontSize: '16px' }}></i>,
104
+ text: 'Schedule',
105
105
  },
106
- {
107
- number: <i className="icon-lux-card" style={{ fontSize: '16px' }}></i>,
108
- text: 'Payment'
106
+ {
107
+ number: <i className="icon-lux-card" style={{ fontSize: '16px' }}></i>,
108
+ text: 'Payment',
109
109
  },
110
- {
111
- number: <i className="icon-lux-check" style={{ fontSize: '16px' }}></i>,
112
- text: 'Complete'
110
+ {
111
+ number: <i className="icon-lux-check" style={{ fontSize: '16px' }}></i>,
112
+ text: 'Complete',
113
113
  },
114
114
  ],
115
115
  activeIndex: 1,
@@ -119,7 +119,7 @@ WithIcons.args = {
119
119
  // Interactive steps with buttons for navigation
120
120
  const InteractiveSteps: React.FC = () => {
121
121
  const [activeStep, setActiveStep] = React.useState(0);
122
-
122
+
123
123
  const items = [
124
124
  { number: 1, text: 'Step 1' },
125
125
  { number: 2, text: 'Step 2' },
@@ -127,24 +127,20 @@ const InteractiveSteps: React.FC = () => {
127
127
  { number: 4, text: 'Step 4' },
128
128
  { number: 5, text: 'Step 5' },
129
129
  ];
130
-
130
+
131
131
  return (
132
132
  <div>
133
- <Steps
134
- items={items}
135
- activeIndex={activeStep}
136
- onStepChange={setActiveStep}
137
- />
133
+ <Steps items={items} activeIndex={activeStep} onStepChange={setActiveStep} />
138
134
  <div style={{ marginTop: '30px', display: 'flex', gap: '10px' }}>
139
- <button
140
- className="c-btn c-btn--primary"
135
+ <button
136
+ className="c-btn c-btn--primary"
141
137
  onClick={() => setActiveStep(Math.max(0, activeStep - 1))}
142
138
  disabled={activeStep === 0}
143
139
  >
144
140
  Previous
145
141
  </button>
146
- <button
147
- className="c-btn c-btn--primary"
142
+ <button
143
+ className="c-btn c-btn--primary"
148
144
  onClick={() => setActiveStep(Math.min(items.length - 1, activeStep + 1))}
149
145
  disabled={activeStep === items.length - 1}
150
146
  >
@@ -159,4 +155,4 @@ export const Interactive: StoryFn<typeof Steps> = () => (
159
155
  <div style={{ padding: '30px' }}>
160
156
  <InteractiveSteps />
161
157
  </div>
162
- );
158
+ );
@@ -6,12 +6,12 @@ export interface StepItem {
6
6
  * The number for the step
7
7
  */
8
8
  number: number | string | ReactNode;
9
-
9
+
10
10
  /**
11
11
  * The text label for the step
12
12
  */
13
13
  text: string;
14
-
14
+
15
15
  /**
16
16
  * Optional custom content for the step
17
17
  */
@@ -23,22 +23,22 @@ export interface StepsProps {
23
23
  * Array of step items
24
24
  */
25
25
  items: StepItem[];
26
-
26
+
27
27
  /**
28
28
  * Current active step index (0-based)
29
29
  */
30
30
  activeIndex?: number;
31
-
31
+
32
32
  /**
33
33
  * Whether to display steps vertically
34
34
  */
35
35
  vertical?: boolean;
36
-
36
+
37
37
  /**
38
38
  * Called when active step changes
39
39
  */
40
40
  onStepChange?: (index: number) => void;
41
-
41
+
42
42
  /**
43
43
  * Additional CSS class
44
44
  */
@@ -58,7 +58,7 @@ export const Steps: React.FC<StepsProps> = ({
58
58
  const [currentStep, setCurrentStep] = useState(activeIndex);
59
59
  const stepsRef = useRef<HTMLDivElement>(null);
60
60
  const stepsInstance = useRef<any>(null);
61
-
61
+
62
62
  useEffect(() => {
63
63
  // Only run on client-side
64
64
  if (typeof window === 'undefined' || !stepsRef.current) return undefined;
@@ -68,11 +68,11 @@ export const Steps: React.FC<StepsProps> = ({
68
68
  if (stepsRef.current) {
69
69
  stepsInstance.current = new StepsClass(stepsRef.current, {
70
70
  activeIndex: currentStep,
71
- vertical
71
+ vertical,
72
72
  });
73
73
  }
74
74
  });
75
-
75
+
76
76
  // Cleanup on unmount
77
77
  return () => {
78
78
  if (stepsInstance.current) {
@@ -85,54 +85,54 @@ export const Steps: React.FC<StepsProps> = ({
85
85
  useEffect(() => {
86
86
  if (currentStep !== activeIndex) {
87
87
  setCurrentStep(activeIndex);
88
-
88
+
89
89
  if (stepsInstance.current) {
90
90
  stepsInstance.current.setActive(activeIndex);
91
91
  }
92
92
  }
93
93
  }, [activeIndex]);
94
-
94
+
95
95
  // Method to go to next step
96
96
  const goToNextStep = () => {
97
97
  const nextIndex = currentStep + 1;
98
98
  if (nextIndex < items.length) {
99
99
  setCurrentStep(nextIndex);
100
-
100
+
101
101
  if (stepsInstance.current) {
102
102
  stepsInstance.current.next();
103
103
  }
104
-
104
+
105
105
  if (onStepChange) {
106
106
  onStepChange(nextIndex);
107
107
  }
108
108
  }
109
109
  };
110
-
110
+
111
111
  // Method to go to previous step
112
112
  const goToPreviousStep = () => {
113
113
  const prevIndex = currentStep - 1;
114
114
  if (prevIndex >= 0) {
115
115
  setCurrentStep(prevIndex);
116
-
116
+
117
117
  if (stepsInstance.current) {
118
118
  stepsInstance.current.previous();
119
119
  }
120
-
120
+
121
121
  if (onStepChange) {
122
122
  onStepChange(prevIndex);
123
123
  }
124
124
  }
125
125
  };
126
-
126
+
127
127
  return (
128
- <div
128
+ <div
129
129
  className={`c-steps ${vertical ? STEPS.CLASSES.VERTICAL : ''} ${className}`}
130
130
  ref={stepsRef}
131
131
  role="navigation"
132
132
  aria-label="Steps"
133
133
  >
134
134
  {items.map((item, index) => (
135
- <div
135
+ <div
136
136
  key={`step-${index}`}
137
137
  className={`c-steps__item ${index <= currentStep ? STEPS.CLASSES.ACTIVE : ''} ${index < currentStep ? STEPS.CLASSES.COMPLETED : ''}`}
138
138
  aria-current={index === currentStep ? 'step' : undefined}
@@ -151,4 +151,4 @@ export const Steps: React.FC<StepsProps> = ({
151
151
 
152
152
  Steps.displayName = 'Steps';
153
153
 
154
- export default Steps;
154
+ export default Steps;
@@ -1,3 +1,3 @@
1
1
  export { Steps } from './Steps';
2
2
  export type { StepsProps, StepItem } from './Steps';
3
- export { default } from './Steps';
3
+ export { default } from './Steps';
@@ -24,7 +24,7 @@ interface StepsInstance {
24
24
  */
25
25
  const DEFAULT_OPTIONS: StepsOptions = {
26
26
  activeIndex: 0,
27
- vertical: false
27
+ vertical: false,
28
28
  };
29
29
 
30
30
  /**
@@ -47,7 +47,7 @@ class Steps implements StepsInstance {
47
47
  this.$element =
48
48
  typeof selector === 'string'
49
49
  ? document.querySelector<HTMLElement>(selector)
50
- : selector as HTMLElement;
50
+ : (selector as HTMLElement);
51
51
  this.options = { ...DEFAULT_OPTIONS, ...options } as StepsOptions;
52
52
  this.$items = null;
53
53
  this.activeIndex = this.options.activeIndex || 0;
@@ -61,12 +61,12 @@ class Steps implements StepsInstance {
61
61
  if (!this.$element) return;
62
62
 
63
63
  this._initializeElements();
64
-
64
+
65
65
  // Set vertical mode if specified
66
66
  if (this.options.vertical && !this.$element.classList.contains(STEPS.CLASSES.VERTICAL)) {
67
67
  this.$element.classList.add(STEPS.CLASSES.VERTICAL);
68
68
  }
69
-
69
+
70
70
  this.setActive(this.activeIndex);
71
71
  }
72
72
 
@@ -75,7 +75,7 @@ class Steps implements StepsInstance {
75
75
  */
76
76
  private _initializeElements(): void {
77
77
  if (!this.$element) return;
78
-
78
+
79
79
  this.$items = this.$element.querySelectorAll<HTMLElement>(STEPS.SELECTORS.ITEM);
80
80
  }
81
81
 
@@ -85,7 +85,7 @@ class Steps implements StepsInstance {
85
85
  */
86
86
  public setActive(index: number): void {
87
87
  if (!this.$items || index < 0 || index >= this.$items.length) return;
88
-
88
+
89
89
  // Update all items
90
90
  this.$items.forEach((item, i) => {
91
91
  if (i < index) {
@@ -102,7 +102,7 @@ class Steps implements StepsInstance {
102
102
  item.classList.remove(STEPS.CLASSES.COMPLETED);
103
103
  }
104
104
  });
105
-
105
+
106
106
  this.activeIndex = index;
107
107
  }
108
108
 
@@ -144,7 +144,7 @@ export function initializeSteps(selector = STEPS.SELECTORS.STEPS, options = {}):
144
144
 
145
145
  if (!stepsElements.length) return stepsInstances;
146
146
 
147
- stepsElements.forEach((element) => {
147
+ stepsElements.forEach(element => {
148
148
  try {
149
149
  const instance = new Steps(element, options);
150
150
  stepsInstances.push(instance);
@@ -156,4 +156,4 @@ export function initializeSteps(selector = STEPS.SELECTORS.STEPS, options = {}):
156
156
  return stepsInstances;
157
157
  }
158
158
 
159
- export default Steps;
159
+ export default Steps;
@@ -14,7 +14,7 @@ export default {
14
14
  },
15
15
  } as Meta<typeof Tab>;
16
16
 
17
- const Template: StoryFn<typeof Tab> = (args) => (
17
+ const Template: StoryFn<typeof Tab> = args => (
18
18
  <div style={{ maxWidth: '600px', margin: '0 auto', padding: '30px' }}>
19
19
  <Tab {...args} />
20
20
  </div>
@@ -82,8 +82,12 @@ WithRichContent.args = {
82
82
  <table style={{ width: '100%', borderCollapse: 'collapse' }}>
83
83
  <thead>
84
84
  <tr>
85
- <th style={{ border: '1px solid #ddd', padding: '8px', textAlign: 'left' }}>Property</th>
86
- <th style={{ border: '1px solid #ddd', padding: '8px', textAlign: 'left' }}>Value</th>
85
+ <th style={{ border: '1px solid #ddd', padding: '8px', textAlign: 'left' }}>
86
+ Property
87
+ </th>
88
+ <th style={{ border: '1px solid #ddd', padding: '8px', textAlign: 'left' }}>
89
+ Value
90
+ </th>
87
91
  </tr>
88
92
  </thead>
89
93
  <tbody>
@@ -106,11 +110,15 @@ WithRichContent.args = {
106
110
  <div>
107
111
  <h3>Customer Reviews</h3>
108
112
  <div style={{ padding: '10px', marginBottom: '10px', backgroundColor: '#f9f9f9' }}>
109
- <p style={{ marginBottom: '5px' }}><strong>John D.</strong> ★★★★★</p>
113
+ <p style={{ marginBottom: '5px' }}>
114
+ <strong>John D.</strong> ★★★★★
115
+ </p>
110
116
  <p>Great product, highly recommended!</p>
111
117
  </div>
112
118
  <div style={{ padding: '10px', backgroundColor: '#f9f9f9' }}>
113
- <p style={{ marginBottom: '5px' }}><strong>Sarah T.</strong> ★★★★☆</p>
119
+ <p style={{ marginBottom: '5px' }}>
120
+ <strong>Sarah T.</strong> ★★★★☆
121
+ </p>
114
122
  <p>Very good quality and fast shipping.</p>
115
123
  </div>
116
124
  </div>
@@ -118,4 +126,4 @@ WithRichContent.args = {
118
126
  },
119
127
  ],
120
128
  activeIndex: 0,
121
- };
129
+ };