@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
@@ -1,3 +1,3 @@
1
1
  export { Upload } from './Upload';
2
2
  export type { UploadProps } from './Upload';
3
- export { default } from './Upload';
3
+ export { default } from './Upload';
@@ -33,8 +33,14 @@ interface UploadInstance {
33
33
  const DEFAULT_OPTIONS: UploadOptions = {
34
34
  disabled: false,
35
35
  maxSizeInMB: 5,
36
- acceptedFileTypes: ['application/pdf', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'image/jpeg', 'image/png'],
37
- multiple: false
36
+ acceptedFileTypes: [
37
+ 'application/pdf',
38
+ 'application/vnd.ms-excel',
39
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
40
+ 'image/jpeg',
41
+ 'image/png',
42
+ ],
43
+ multiple: false,
38
44
  };
39
45
 
40
46
  /**
@@ -63,7 +69,7 @@ class Upload implements UploadInstance {
63
69
  this.$element =
64
70
  typeof selector === 'string'
65
71
  ? document.querySelector<HTMLElement>(selector)
66
- : selector as HTMLElement;
72
+ : (selector as HTMLElement);
67
73
  this.options = { ...DEFAULT_OPTIONS, ...options } as UploadOptions;
68
74
  this.$input = null;
69
75
  this.$button = null;
@@ -89,8 +95,12 @@ class Upload implements UploadInstance {
89
95
  this.$button = this.$element.querySelector<HTMLButtonElement>(UPLOAD.SELECTORS.BUTTON);
90
96
  this.$loader = this.$element.querySelector<HTMLElement>(UPLOAD.SELECTORS.LOADER);
91
97
  this.$loaderTitle = this.$element?.querySelector<HTMLElement>(UPLOAD.SELECTORS.LOADER_TITLE);
92
- this.$loaderProgress = this.$element?.querySelector<HTMLElement>(UPLOAD.SELECTORS.LOADER_PROGRESS);
93
- this.$loaderClose = this.$element?.querySelector<HTMLButtonElement>(UPLOAD.SELECTORS.LOADER_CLOSE);
98
+ this.$loaderProgress = this.$element?.querySelector<HTMLElement>(
99
+ UPLOAD.SELECTORS.LOADER_PROGRESS
100
+ );
101
+ this.$loaderClose = this.$element?.querySelector<HTMLButtonElement>(
102
+ UPLOAD.SELECTORS.LOADER_CLOSE
103
+ );
94
104
 
95
105
  // Apply disabled state if specified
96
106
  if (this.options.disabled) {
@@ -113,7 +123,7 @@ class Upload implements UploadInstance {
113
123
  input.style.display = 'none';
114
124
  input.accept = this.options.acceptedFileTypes?.join(',') || '';
115
125
  input.multiple = !!this.options.multiple;
116
-
126
+
117
127
  // Append to element
118
128
  this.$element.appendChild(input);
119
129
  this.$input = input;
@@ -158,7 +168,7 @@ class Upload implements UploadInstance {
158
168
  */
159
169
  private _handleFileSelect(event: Event): void {
160
170
  if (!this.$input?.files?.length) return;
161
-
171
+
162
172
  const files = Array.from(this.$input.files);
163
173
  this._processFiles(files);
164
174
  }
@@ -169,7 +179,7 @@ class Upload implements UploadInstance {
169
179
  private _handleDragEnter(event: DragEvent): void {
170
180
  event.preventDefault();
171
181
  if (this.options.disabled) return;
172
-
182
+
173
183
  this.dragCounter++;
174
184
  if (this.dragCounter === 1) {
175
185
  this.$element?.classList.add(UPLOAD.CLASSES.DRAGGING);
@@ -182,7 +192,7 @@ class Upload implements UploadInstance {
182
192
  private _handleDragLeave(event: DragEvent): void {
183
193
  event.preventDefault();
184
194
  if (this.options.disabled) return;
185
-
195
+
186
196
  this.dragCounter--;
187
197
  if (this.dragCounter === 0) {
188
198
  this.$element?.classList.remove(UPLOAD.CLASSES.DRAGGING);
@@ -203,12 +213,12 @@ class Upload implements UploadInstance {
203
213
  private _handleDrop(event: DragEvent): void {
204
214
  event.preventDefault();
205
215
  if (this.options.disabled) return;
206
-
216
+
207
217
  this.dragCounter = 0;
208
218
  this.$element?.classList.remove(UPLOAD.CLASSES.DRAGGING);
209
-
219
+
210
220
  if (!event.dataTransfer?.files.length) return;
211
-
221
+
212
222
  const files = Array.from(event.dataTransfer.files);
213
223
  this._processFiles(files);
214
224
  }
@@ -218,11 +228,11 @@ class Upload implements UploadInstance {
218
228
  */
219
229
  private _handleClose(event: MouseEvent): void {
220
230
  event.preventDefault();
221
-
231
+
222
232
  // Reset state
223
233
  this.setStatus('idle');
224
234
  this.setFile(null);
225
-
235
+
226
236
  // Reset input
227
237
  if (this.$input) {
228
238
  this.$input.value = '';
@@ -234,18 +244,18 @@ class Upload implements UploadInstance {
234
244
  */
235
245
  private _processFiles(files: File[]): void {
236
246
  if (!files.length) return;
237
-
247
+
238
248
  // If multiple is not allowed, take only the first file
239
249
  const filesToProcess = this.options.multiple ? files : [files[0]];
240
-
250
+
241
251
  // Validate files
242
252
  const validFiles = filesToProcess.filter(file => this._validateFile(file));
243
-
253
+
244
254
  // Notify about file selection
245
255
  if (validFiles.length && this.options.onFileSelect) {
246
256
  this.options.onFileSelect(validFiles);
247
257
  }
248
-
258
+
249
259
  // Process the first valid file
250
260
  if (validFiles.length) {
251
261
  this.setFile(validFiles[0]);
@@ -258,13 +268,13 @@ class Upload implements UploadInstance {
258
268
  */
259
269
  private _validateFile(file: File): boolean {
260
270
  const maxSizeInBytes = (this.options.maxSizeInMB || 5) * 1024 * 1024;
261
-
271
+
262
272
  // Check file size
263
273
  if (file.size > maxSizeInBytes) {
264
274
  this.setStatus('error', `File too large. Maximum size is ${this.options.maxSizeInMB}MB.`);
265
275
  return false;
266
276
  }
267
-
277
+
268
278
  // Check file type if acceptedFileTypes is provided
269
279
  if (this.options.acceptedFileTypes?.length) {
270
280
  const isAcceptedType = this.options.acceptedFileTypes.some(type => {
@@ -275,13 +285,13 @@ class Upload implements UploadInstance {
275
285
  }
276
286
  return file.type === type;
277
287
  });
278
-
288
+
279
289
  if (!isAcceptedType) {
280
290
  this.setStatus('error', 'File type not supported.');
281
291
  return false;
282
292
  }
283
293
  }
284
-
294
+
285
295
  return true;
286
296
  }
287
297
 
@@ -292,20 +302,20 @@ class Upload implements UploadInstance {
292
302
  private _simulateUpload(file: File): void {
293
303
  this.setStatus('loading');
294
304
  let progress = 0;
295
-
305
+
296
306
  const interval = setInterval(() => {
297
307
  progress += 5;
298
-
308
+
299
309
  if (progress < 100) {
300
310
  this.setProgress(progress, `${Math.ceil((100 - progress) / 5)} seconds left`);
301
-
311
+
302
312
  if (this.options.onFileUpload) {
303
313
  this.options.onFileUpload(file, progress);
304
314
  }
305
315
  } else {
306
316
  clearInterval(interval);
307
317
  this.setStatus('success', 'Upload successful');
308
-
318
+
309
319
  if (this.options.onFileUploadComplete) {
310
320
  this.options.onFileUploadComplete(file);
311
321
  }
@@ -318,7 +328,7 @@ class Upload implements UploadInstance {
318
328
  */
319
329
  public setFile(file: File | null): void {
320
330
  this.currentFile = file;
321
-
331
+
322
332
  if (file && this.$loaderTitle) {
323
333
  this.$loaderTitle.textContent = file.name;
324
334
  }
@@ -329,18 +339,18 @@ class Upload implements UploadInstance {
329
339
  */
330
340
  public setProgress(percentage: number, timeLeft?: string): void {
331
341
  if (!this.$element || !this.$loaderProgress) return;
332
-
342
+
333
343
  // Set percentage as CSS variable
334
344
  this.$element.style.setProperty(UPLOAD.ATTRIBUTES.PERCENTAGE, percentage.toString());
335
-
345
+
336
346
  // Update the loader elements if they exist
337
347
  const $par = this.$element.querySelector<HTMLElement>(UPLOAD.SELECTORS.LOADER_PAR);
338
348
  const $time = this.$element.querySelector<HTMLElement>(UPLOAD.SELECTORS.LOADER_TIME);
339
-
349
+
340
350
  if ($par) {
341
351
  $par.textContent = `${percentage}%`;
342
352
  }
343
-
353
+
344
354
  if ($time && timeLeft) {
345
355
  $time.textContent = timeLeft;
346
356
  }
@@ -351,14 +361,14 @@ class Upload implements UploadInstance {
351
361
  */
352
362
  public setStatus(status: 'idle' | 'loading' | 'success' | 'error', message?: string): void {
353
363
  if (!this.$element) return;
354
-
364
+
355
365
  // Remove all status classes
356
366
  this.$element.classList.remove(
357
367
  UPLOAD.CLASSES.LOADING,
358
368
  UPLOAD.CLASSES.SUCCESS,
359
369
  UPLOAD.CLASSES.ERROR
360
370
  );
361
-
371
+
362
372
  // Add appropriate class based on status
363
373
  switch (status) {
364
374
  case 'loading':
@@ -371,7 +381,7 @@ class Upload implements UploadInstance {
371
381
  this.$element.classList.add(UPLOAD.CLASSES.ERROR);
372
382
  break;
373
383
  }
374
-
384
+
375
385
  // Update message if provided and loader exists
376
386
  if (message && this.$loaderProgress) {
377
387
  this.$loaderProgress.textContent = message;
@@ -383,7 +393,7 @@ class Upload implements UploadInstance {
383
393
  */
384
394
  public disable(): void {
385
395
  if (!this.$element || !this.$button) return;
386
-
396
+
387
397
  this.$element.classList.add(UPLOAD.CLASSES.DISABLED);
388
398
  this.$button.disabled = true;
389
399
  this.options.disabled = true;
@@ -394,7 +404,7 @@ class Upload implements UploadInstance {
394
404
  */
395
405
  public enable(): void {
396
406
  if (!this.$element || !this.$button) return;
397
-
407
+
398
408
  this.$element.classList.remove(UPLOAD.CLASSES.DISABLED);
399
409
  this.$button.disabled = false;
400
410
  this.options.disabled = false;
@@ -405,7 +415,7 @@ class Upload implements UploadInstance {
405
415
  */
406
416
  public destroy(): void {
407
417
  if (!this.$element || !this.$input || !this.$button) return;
408
-
418
+
409
419
  // Remove event listeners
410
420
  this.$button.removeEventListener('click', this._handleButtonClick.bind(this));
411
421
  this.$input.removeEventListener('change', this._handleFileSelect.bind(this));
@@ -413,11 +423,11 @@ class Upload implements UploadInstance {
413
423
  this.$element.removeEventListener('dragleave', this._handleDragLeave.bind(this));
414
424
  this.$element.removeEventListener('dragover', this._handleDragOver.bind(this));
415
425
  this.$element.removeEventListener('drop', this._handleDrop.bind(this));
416
-
426
+
417
427
  if (this.$loaderClose) {
418
428
  this.$loaderClose.removeEventListener('click', this._handleClose.bind(this));
419
429
  }
420
-
430
+
421
431
  // Remove input element
422
432
  if (this.$input.parentNode) {
423
433
  this.$input.parentNode.removeChild(this.$input);
@@ -431,13 +441,18 @@ class Upload implements UploadInstance {
431
441
  * @param {Object} options - Custom options to override defaults
432
442
  * @returns {UploadInstance[]} Array of Upload instances
433
443
  */
434
- export function initializeUploads(selector = UPLOAD.SELECTORS.UPLOAD, options = {}): UploadInstance[] {
444
+ export function initializeUploads(
445
+ selector = UPLOAD.SELECTORS.UPLOAD,
446
+ options = {}
447
+ ): UploadInstance[] {
435
448
  const uploadInstances: UploadInstance[] = [];
436
- const uploadElements = document.querySelectorAll<HTMLElement>(typeof selector === 'string' ? selector : UPLOAD.SELECTORS.UPLOAD);
449
+ const uploadElements = document.querySelectorAll<HTMLElement>(
450
+ typeof selector === 'string' ? selector : UPLOAD.SELECTORS.UPLOAD
451
+ );
437
452
 
438
453
  if (!uploadElements.length) return uploadInstances;
439
454
 
440
- uploadElements.forEach((element) => {
455
+ uploadElements.forEach(element => {
441
456
  try {
442
457
  const instance = new Upload(element, options);
443
458
  uploadInstances.push(instance);
@@ -449,4 +464,4 @@ export function initializeUploads(selector = UPLOAD.SELECTORS.UPLOAD, options =
449
464
  return uploadInstances;
450
465
  }
451
466
 
452
- export default Upload;
467
+ export default Upload;
@@ -3,7 +3,7 @@
3
3
  // Accordion
4
4
  export { Accordion, type AccordionProps } from './Accordion/Accordion';
5
5
 
6
- // Avatar
6
+ // Avatar
7
7
  export { Avatar, type AvatarProps } from './Avatar/Avatar';
8
8
 
9
9
  // AvatarGroup
@@ -37,7 +37,7 @@ export { DataTable, type DataTableProps } from './DataTable/DataTable';
37
37
  export { DatePicker, type DatePickerProps } from './DatePicker/DatePicker';
38
38
 
39
39
  // Dropdown
40
- export { Dropdown, type DropdownProps } from './Dropdown/Dropdown';
40
+ export { Dropdown, type DropdownProps } from './Dropdown/Dropdown';
41
41
 
42
42
  // EdgePanel
43
43
  export { EdgePanel, type EdgePanelProps } from './EdgePanel/EdgePanel';
@@ -66,7 +66,7 @@ export { Messages, type MessagesProps } from './Messages/Messages';
66
66
  export { Modal, type ModalProps } from './Modal/Modal';
67
67
 
68
68
  // Navbar
69
- export { Navbar, type NavbarProps } from './Navbar/Navbar';
69
+ export { Navbar, type NavbarProps } from './Navigation/Navbar/Navbar';
70
70
 
71
71
  // Pagination
72
72
  export { Pagination, type PaginationProps } from './Pagination/Pagination';
@@ -78,7 +78,7 @@ export { PhotoViewer, type PhotoViewerProps } from './PhotoViewer/PhotoViewer';
78
78
  export { Popover, type PopoverProps } from './Popover/Popover';
79
79
 
80
80
  // ProductReview
81
- export { ProductReview, type ProductReviewProps } from './ProductReview/ProductReview';
81
+ export { ProductReview, type ProductReviewProps } from './ProductReview/ProductReview';
82
82
 
83
83
  // Progress
84
84
  export { Progress, type ProgressProps } from './Progress/Progress';
@@ -111,8 +111,7 @@ export { Todo, type TodoProps } from './Todo/Todo';
111
111
  export { Toggle, type ToggleProps } from './Toggle/Toggle';
112
112
 
113
113
  // Tooltip
114
- export { Tooltip, type TooltipProps } from './Tooltip/Tooltip';
114
+ export { Tooltip, type TooltipProps } from './Tooltip/Tooltip';
115
115
 
116
116
  // Upload
117
117
  export { Upload, type UploadProps } from './Upload/Upload';
118
-
@@ -10,14 +10,19 @@ interface ShadowExampleProps {
10
10
 
11
11
  const ShadowExample = ({ name, size, shadow, isDark = false, darkShadow }: ShadowExampleProps) => {
12
12
  const currentShadow = isDark && darkShadow ? darkShadow : shadow;
13
-
13
+
14
14
  return (
15
15
  <div className="o-grid__col o-grid__col--xs-12 o-grid__col--md-4 o-grid__col--lg-3">
16
16
  <div className="u-d-flex u-flex-column u-gap-2">
17
17
  <span className="u-fs-sm u-fw-semibold">{name}</span>
18
- <code className="u-py-2 u-px-4 u-bg-light-subtle u-rounded-md u-fs-xs u-shadow-inset u-border u-border-primary-subtle" style={{ minHeight: '50px' }}>{currentShadow}</code>
18
+ <code
19
+ className="u-py-2 u-px-4 u-bg-light-subtle u-rounded-md u-fs-xs u-shadow-inset u-border u-border-primary-subtle"
20
+ style={{ minHeight: '50px' }}
21
+ >
22
+ {currentShadow}
23
+ </code>
19
24
  </div>
20
- <div
25
+ <div
21
26
  className={`u-shadow-${size} u-bg-light-subtle u-rounded-md u-py-2 u-px-4 u-mt-2`}
22
27
  style={{ minHeight: '100px' }}
23
28
  ></div>
@@ -26,7 +31,6 @@ const ShadowExample = ({ name, size, shadow, isDark = false, darkShadow }: Shado
26
31
  };
27
32
 
28
33
  const BoxShadowPreview = () => {
29
-
30
34
  const shadows = [
31
35
  {
32
36
  name: 'Shadow',
@@ -67,19 +71,18 @@ const BoxShadowPreview = () => {
67
71
  ];
68
72
 
69
73
  return (
70
-
71
74
  <div className={`o-container u-py-12`}>
72
75
  <h1 className="u-mb-8">Box Shadows</h1>
73
-
76
+
74
77
  <section className="u-py-10 u-px-4 u-border u-border-dashed u-border-primary-subtle u-rounded-md">
75
78
  <h2 className="u-mb-2">Shadow Variants</h2>
76
79
  <p className="u-mb-4">
77
- These are the available box shadow variants in the design system.
78
- They automatically adjust between light and dark modes.
80
+ These are the available box shadow variants in the design system. They automatically
81
+ adjust between light and dark modes.
79
82
  </p>
80
-
83
+
81
84
  <div className="o-grid u-row-gap-4">
82
- {shadows.map((shadow) => (
85
+ {shadows.map(shadow => (
83
86
  <ShadowExample
84
87
  key={shadow.name}
85
88
  name={shadow.name}
@@ -3,9 +3,13 @@
3
3
  min-height: 100vh;
4
4
  background-color: var(--atomix-primary-bg);
5
5
  color: var(--atomix-primary-text-emphasis);
6
- transition: background-color 0.3s, color 0.3s;
6
+ transition:
7
+ background-color 0.3s,
8
+ color 0.3s;
7
9
 
8
- h1, h2, h3 {
10
+ h1,
11
+ h2,
12
+ h3 {
9
13
  margin-top: 0;
10
14
  color: var(--atomix-primary-text-emphasis);
11
15
  }
@@ -45,12 +49,11 @@
45
49
  display: flex;
46
50
  flex-direction: column;
47
51
  overflow: hidden;
48
- transition: all 0.1s ease-out ;
49
-
52
+ transition: all 0.1s ease-out;
50
53
 
51
54
  &:hover {
52
55
  transform: translateY(-20px);
53
- border-radius: var(--atomix-border-radius) var(--atomix-border-radius) 0 0;
56
+ border-radius: var(--atomix-border-radius) var(--atomix-border-radius) 0 0;
54
57
  }
55
58
 
56
59
  &.is-right-hover {
@@ -58,7 +61,7 @@
58
61
  }
59
62
 
60
63
  &.is-left-hover {
61
- border-radius: 0 4px 0 4px ;
64
+ border-radius: 0 4px 0 4px;
62
65
  }
63
66
 
64
67
  .color-box {
@@ -111,7 +114,7 @@
111
114
  .design-tokens {
112
115
  padding: 1rem;
113
116
  }
114
-
117
+
115
118
  .color-palette .color-grid {
116
119
  grid-template-columns: 1fr;
117
120
  }
@@ -9,12 +9,10 @@ interface ColorSwatchProps {
9
9
  }
10
10
 
11
11
  const ColorSwatch = ({ name, value, isDark = false }: ColorSwatchProps) => (
12
- <div
13
- className={`color-swatch`}
14
- >
15
- <div
16
- className="color-box"
17
- style={{
12
+ <div className={`color-swatch`}>
13
+ <div
14
+ className="color-box"
15
+ style={{
18
16
  backgroundColor: value,
19
17
  }}
20
18
  />
@@ -71,17 +69,17 @@ const ColorPalette = ({ title, colors, isDark = false }: ColorPaletteProps) => {
71
69
  if (!colorGridElement) return;
72
70
 
73
71
  for (let i = 0; i < colorGridElement.children.length; i++) {
74
- const swatchElement = colorGridElement.children[i] as HTMLDivElement;
75
- if (swatchElement) {
76
- const swatchRect = swatchElement.getBoundingClientRect();
77
- const swatchCenterX = (swatchRect.left + swatchRect.right) / 2 - rect.left;
78
- const distance = Math.abs(currentMouseX - swatchCenterX);
72
+ const swatchElement = colorGridElement.children[i] as HTMLDivElement;
73
+ if (swatchElement) {
74
+ const swatchRect = swatchElement.getBoundingClientRect();
75
+ const swatchCenterX = (swatchRect.left + swatchRect.right) / 2 - rect.left;
76
+ const distance = Math.abs(currentMouseX - swatchCenterX);
79
77
 
80
- if (distance < minDistance) {
81
- minDistance = distance;
82
- closestIndex = i;
83
- }
78
+ if (distance < minDistance) {
79
+ minDistance = distance;
80
+ closestIndex = i;
84
81
  }
82
+ }
85
83
  }
86
84
  setClosestSwatchIdx(closestIndex);
87
85
  };
@@ -112,37 +110,37 @@ const ColorPalette = ({ title, colors, isDark = false }: ColorPaletteProps) => {
112
110
  if (mousePosX !== null && paletteRef.current) {
113
111
  const swatchElement = paletteRef.current.children[1].children[idx] as HTMLDivElement;
114
112
  if (swatchElement) {
115
- const swatchRect = swatchElement.getBoundingClientRect();
116
- const paletteRect = paletteRef.current.getBoundingClientRect();
117
- const swatchCenterX = (swatchRect.left + swatchRect.right) / 2 - paletteRect.left;
118
- const distance = Math.abs(mousePosX - swatchCenterX);
119
-
120
- const currentSwatchWidth = swatchRect.width;
121
- const maxEffectDistance = currentSwatchWidth * 3;
122
-
123
- if (distance < maxEffectDistance) {
124
- const normalizedDistance = distance / maxEffectDistance;
125
- const animationProgress = 1 - Math.pow(normalizedDistance, 2);
126
- translateY = Math.round(maxLift * animationProgress);
127
- if (maxLift < 0) {
128
- translateY = Math.max(maxLift, translateY);
129
- } else {
130
- translateY = Math.min(maxLift, translateY);
131
- }
113
+ const swatchRect = swatchElement.getBoundingClientRect();
114
+ const paletteRect = paletteRef.current.getBoundingClientRect();
115
+ const swatchCenterX = (swatchRect.left + swatchRect.right) / 2 - paletteRect.left;
116
+ const distance = Math.abs(mousePosX - swatchCenterX);
117
+
118
+ const currentSwatchWidth = swatchRect.width;
119
+ const maxEffectDistance = currentSwatchWidth * 3;
120
+
121
+ if (distance < maxEffectDistance) {
122
+ const normalizedDistance = distance / maxEffectDistance;
123
+ const animationProgress = 1 - Math.pow(normalizedDistance, 2);
124
+ translateY = Math.round(maxLift * animationProgress);
125
+ if (maxLift < 0) {
126
+ translateY = Math.max(maxLift, translateY);
127
+ } else {
128
+ translateY = Math.min(maxLift, translateY);
132
129
  }
130
+ }
133
131
  }
134
132
 
135
133
  if (closestSwatchIdx !== null) {
136
- if (idx < closestSwatchIdx) {
137
- isRightHover = true; // All elements to the left of the closest
138
- } else if (idx > closestSwatchIdx) {
139
- isLeftHover = true; // All elements to the right of the closest
140
- }
134
+ if (idx < closestSwatchIdx) {
135
+ isRightHover = true; // All elements to the left of the closest
136
+ } else if (idx > closestSwatchIdx) {
137
+ isLeftHover = true; // All elements to the right of the closest
138
+ }
141
139
  }
142
140
  } else {
143
- translateY = 0;
144
- isLeftHover = false;
145
- isRightHover = false;
141
+ translateY = 0;
142
+ isLeftHover = false;
143
+ isRightHover = false;
146
144
  }
147
145
 
148
146
  return (
@@ -153,10 +151,7 @@ const ColorPalette = ({ title, colors, isDark = false }: ColorPaletteProps) => {
153
151
  transform: `translateY(${translateY}px)`,
154
152
  }}
155
153
  >
156
- <div
157
- className="color-box"
158
- style={{ backgroundColor: value }}
159
- />
154
+ <div className="color-box" style={{ backgroundColor: value }} />
160
155
  <div className="color-info">
161
156
  <div className="color-name">{name}</div>
162
157
  <div className="color-value">{value}</div>
@@ -274,35 +269,27 @@ const DesignTokens = () => {
274
269
  return (
275
270
  <div className={`design-tokens ${isDark ? 'dark' : 'light'}`}>
276
271
  <h1>Design Tokens</h1>
277
-
272
+
278
273
  <section>
279
274
  <h2>Theme Colors</h2>
280
- <ColorPalette
281
- title="Theme Colors"
282
- colors={themeColors}
283
- isDark={isDark}
284
- />
275
+ <ColorPalette title="Theme Colors" colors={themeColors} isDark={isDark} />
285
276
  </section>
286
277
 
287
278
  <section>
288
279
  <h2>Color Scales</h2>
289
280
  {Object.entries(colorScales).map(([name, colors]) => (
290
- <ColorPalette
281
+ <ColorPalette
291
282
  key={name}
292
- title={name.charAt(0).toUpperCase() + name.slice(1)}
293
- colors={colors}
294
- isDark={isDark}
283
+ title={name.charAt(0).toUpperCase() + name.slice(1)}
284
+ colors={colors}
285
+ isDark={isDark}
295
286
  />
296
287
  ))}
297
288
  </section>
298
289
 
299
290
  <section>
300
291
  <h2>Text Colors</h2>
301
- <ColorPalette
302
- title="Text Colors"
303
- colors={textColors}
304
- isDark={isDark}
305
- />
292
+ <ColorPalette title="Text Colors" colors={textColors} isDark={isDark} />
306
293
  </section>
307
294
  </div>
308
295
  );
@@ -3,14 +3,15 @@
3
3
  color: var(--atomix-primary-text);
4
4
  background-color: var(--atomix-brand-bg-subtle);
5
5
  min-height: 100vh;
6
- transition: background-color 0.3s, color 0.3s;
6
+ transition:
7
+ background-color 0.3s,
8
+ color 0.3s;
7
9
 
8
10
  .section-description {
9
11
  max-width: 800px;
10
12
  }
11
13
  }
12
14
 
13
-
14
15
  .spacing-grid {
15
16
  display: grid;
16
17
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
@@ -18,7 +19,6 @@
18
19
  }
19
20
 
20
21
  .spacing-example {
21
-
22
22
  .spacing-visual {
23
23
  width: 100%;
24
24
  background-color: var(--atomix-secondary-bg-subtle);
@@ -44,7 +44,9 @@
44
44
  height: 100%;
45
45
  background-color: var(--atomix-brand-bg);
46
46
  border-radius: 3px;
47
- transition: width 0.3s ease-out, background-color 0.3s ease-in-out;
47
+ transition:
48
+ width 0.3s ease-out,
49
+ background-color 0.3s ease-in-out;
48
50
  }
49
51
  }
50
52
  }
@@ -57,4 +59,4 @@
57
59
  }
58
60
  }
59
61
  }
60
- }
62
+ }