@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
@@ -22,7 +22,7 @@ export class CalloutInteractions {
22
22
  TOP_CENTER: 'top-center',
23
23
  BOTTOM_RIGHT: 'bottom-right',
24
24
  BOTTOM_LEFT: 'bottom-left',
25
- BOTTOM_CENTER: 'bottom-center'
25
+ BOTTOM_CENTER: 'bottom-center',
26
26
  } as const;
27
27
 
28
28
  /**
@@ -30,26 +30,29 @@ export class CalloutInteractions {
30
30
  * @param element - The callout element
31
31
  * @param options - Configuration options
32
32
  */
33
- constructor(element: HTMLElement, options: {
34
- autoHide?: boolean;
35
- autoHideDelay?: number;
36
- onClose?: () => void;
37
- position?: ToastPosition;
38
- } = {}) {
33
+ constructor(
34
+ element: HTMLElement,
35
+ options: {
36
+ autoHide?: boolean;
37
+ autoHideDelay?: number;
38
+ onClose?: () => void;
39
+ position?: ToastPosition;
40
+ } = {}
41
+ ) {
39
42
  this.element = element;
40
43
  this.id = element.id || `callout-${Math.random().toString(36).substring(2, 9)}`;
41
-
44
+
42
45
  if (!element.id) {
43
46
  element.id = this.id;
44
47
  }
45
-
48
+
46
49
  this.config = {
47
50
  autoHide: options.autoHide ?? false,
48
51
  autoHideDelay: options.autoHideDelay ?? 5000, // Default 5 seconds
49
52
  onClose: options.onClose,
50
- position: options.position ?? CalloutInteractions.ToastPositions.TOP_RIGHT
53
+ position: options.position ?? CalloutInteractions.ToastPositions.TOP_RIGHT,
51
54
  };
52
-
55
+
53
56
  this._initialize();
54
57
  CalloutInteractions.instances.set(this.id, this);
55
58
  }
@@ -62,16 +65,16 @@ export class CalloutInteractions {
62
65
  if (this.element.classList.contains('c-callout--toast')) {
63
66
  this.element.addEventListener('mouseenter', this._pauseAutoHide.bind(this));
64
67
  this.element.addEventListener('mouseleave', this._resumeAutoHide.bind(this));
65
-
68
+
66
69
  // Add keyboard support for toast callouts
67
70
  this.element.addEventListener('keydown', this._handleKeyDown.bind(this));
68
-
71
+
69
72
  // Make sure toast is focusable
70
73
  if (this.element.tabIndex < 0) {
71
74
  this.element.tabIndex = 0;
72
75
  }
73
76
  }
74
-
77
+
75
78
  // Set up auto-hide if configured
76
79
  if (this.config.autoHide) {
77
80
  this._startAutoHideTimer();
@@ -96,7 +99,7 @@ export class CalloutInteractions {
96
99
  if (this.autoHideTimeout) {
97
100
  clearTimeout(this.autoHideTimeout);
98
101
  }
99
-
102
+
100
103
  this.autoHideTimeout = window.setTimeout(() => {
101
104
  this.close();
102
105
  }, this.config.autoHideDelay);
@@ -126,21 +129,23 @@ export class CalloutInteractions {
126
129
  */
127
130
  public close(): void {
128
131
  this.element.classList.add('is-hide');
129
-
132
+
130
133
  // Remove from DOM after animation completes
131
134
  setTimeout(() => {
132
135
  if (this.element.parentNode) {
133
136
  this.element.parentNode.removeChild(this.element);
134
137
  CalloutInteractions.instances.delete(this.id);
135
-
138
+
136
139
  if (this.config.onClose) {
137
140
  this.config.onClose();
138
141
  }
139
-
142
+
140
143
  // Dispatch custom event
141
- document.dispatchEvent(new CustomEvent('atomix:callout:closed', {
142
- detail: { id: this.id }
143
- }));
144
+ document.dispatchEvent(
145
+ new CustomEvent('atomix:callout:closed', {
146
+ detail: { id: this.id },
147
+ })
148
+ );
144
149
  }
145
150
  }, 300); // Match the transition duration in CSS
146
151
  }
@@ -152,21 +157,23 @@ export class CalloutInteractions {
152
157
  if (this.autoHideTimeout) {
153
158
  clearTimeout(this.autoHideTimeout);
154
159
  }
155
-
160
+
156
161
  this.element.removeEventListener('mouseenter', this._pauseAutoHide.bind(this));
157
162
  this.element.removeEventListener('mouseleave', this._resumeAutoHide.bind(this));
158
163
  this.element.removeEventListener('keydown', this._handleKeyDown.bind(this));
159
-
164
+
160
165
  CalloutInteractions.instances.delete(this.id);
161
166
  }
162
167
 
163
168
  /**
164
169
  * Get the toast container for a specific position
165
170
  */
166
- private static _getToastContainer(position: ToastPosition = CalloutInteractions.ToastPositions.TOP_RIGHT): HTMLElement {
171
+ private static _getToastContainer(
172
+ position: ToastPosition = CalloutInteractions.ToastPositions.TOP_RIGHT
173
+ ): HTMLElement {
167
174
  const containerId = `atomix-toast-container-${position}`;
168
175
  let container = document.getElementById(containerId);
169
-
176
+
170
177
  if (!container) {
171
178
  container = document.createElement('div');
172
179
  container.id = containerId;
@@ -174,14 +181,14 @@ export class CalloutInteractions {
174
181
  container.setAttribute('aria-live', 'polite');
175
182
  container.setAttribute('role', 'status');
176
183
  document.body.appendChild(container);
177
-
184
+
178
185
  // Apply positioning styles
179
186
  container.style.position = 'fixed';
180
187
  container.style.zIndex = '9999';
181
188
  container.style.display = 'flex';
182
189
  container.style.flexDirection = 'column';
183
190
  container.style.gap = '8px';
184
-
191
+
185
192
  // Position the container based on position value
186
193
  switch (position) {
187
194
  case CalloutInteractions.ToastPositions.TOP_RIGHT:
@@ -218,7 +225,7 @@ export class CalloutInteractions {
218
225
  break;
219
226
  }
220
227
  }
221
-
228
+
222
229
  return container;
223
230
  }
224
231
 
@@ -239,7 +246,7 @@ export class CalloutInteractions {
239
246
  // Get the appropriate toast container
240
247
  const position = options.position || CalloutInteractions.ToastPositions.TOP_RIGHT;
241
248
  const toastContainer = this._getToastContainer(position);
242
-
249
+
243
250
  // Create toast element
244
251
  const toast = document.createElement('div');
245
252
  toast.className = `c-callout c-callout--toast ${options.variant ? `c-callout--${options.variant}` : 'c-callout--primary'}`;
@@ -247,13 +254,13 @@ export class CalloutInteractions {
247
254
  toast.setAttribute('role', 'alert');
248
255
  toast.setAttribute('aria-live', 'assertive');
249
256
  toast.tabIndex = 0; // Make focusable
250
-
257
+
251
258
  // Create toast content
252
259
  let iconHtml = '';
253
260
  if (options.icon) {
254
261
  iconHtml = `<div class="c-callout__icon">${options.icon}</div>`;
255
262
  }
256
-
263
+
257
264
  toast.innerHTML = `
258
265
  <div class="c-callout__content">
259
266
  ${iconHtml}
@@ -268,63 +275,65 @@ export class CalloutInteractions {
268
275
  </svg>
269
276
  </button>
270
277
  `;
271
-
278
+
272
279
  // Add to container
273
280
  toastContainer.appendChild(toast);
274
-
281
+
275
282
  // Initialize interactions
276
283
  const interaction = new CalloutInteractions(toast, {
277
284
  autoHide: options.autoHide ?? true,
278
285
  autoHideDelay: options.autoHideDelay ?? 5000,
279
286
  onClose: options.onClose,
280
- position
287
+ position,
281
288
  });
282
-
289
+
283
290
  // Add close button event listener
284
291
  const closeButton = toast.querySelector('.c-callout__close-btn');
285
292
  if (closeButton) {
286
293
  closeButton.addEventListener('click', () => interaction.close());
287
294
  }
288
-
295
+
289
296
  // Focus the toast for accessibility
290
297
  setTimeout(() => toast.focus(), 100);
291
-
298
+
292
299
  return interaction;
293
300
  }
294
301
 
295
302
  /**
296
303
  * Initialize all callout elements on the page
297
304
  */
298
- public static initializeAll(options: {
299
- autoHide?: boolean;
300
- autoHideDelay?: number;
301
- onClose?: () => void;
302
- } = {}): CalloutInteractions[] {
305
+ public static initializeAll(
306
+ options: {
307
+ autoHide?: boolean;
308
+ autoHideDelay?: number;
309
+ onClose?: () => void;
310
+ } = {}
311
+ ): CalloutInteractions[] {
303
312
  const interactions: CalloutInteractions[] = [];
304
313
  const elements = document.querySelectorAll('.c-callout');
305
-
314
+
306
315
  elements.forEach(element => {
307
316
  if (!CalloutInteractions.instances.has((element as HTMLElement).id)) {
308
317
  interactions.push(new CalloutInteractions(element as HTMLElement, options));
309
318
  }
310
319
  });
311
-
320
+
312
321
  return interactions;
313
322
  }
314
-
323
+
315
324
  /**
316
325
  * Clear all toast notifications
317
326
  */
318
327
  public static clearAllToasts(): void {
319
328
  // Get all toast containers
320
329
  const containers = document.querySelectorAll('[id^="atomix-toast-container-"]');
321
-
330
+
322
331
  containers.forEach(container => {
323
332
  const toasts = container.querySelectorAll('.c-callout--toast');
324
333
  toasts.forEach(toast => {
325
334
  const id = (toast as HTMLElement).id;
326
335
  const instance = CalloutInteractions.instances.get(id);
327
-
336
+
328
337
  if (instance) {
329
338
  instance.close();
330
339
  } else {
@@ -337,4 +346,5 @@ export class CalloutInteractions {
337
346
  }
338
347
 
339
348
  // Type for toast positions
340
- type ToastPosition = typeof CalloutInteractions.ToastPositions[keyof typeof CalloutInteractions.ToastPositions];
349
+ type ToastPosition =
350
+ (typeof CalloutInteractions.ToastPositions)[keyof typeof CalloutInteractions.ToastPositions];
@@ -7,7 +7,7 @@ import { Callout, CalloutInteractions } from './index';
7
7
  if (typeof window !== 'undefined') {
8
8
  // Create Atomix namespace if it doesn't exist
9
9
  window.Atomix = window.Atomix || {};
10
-
10
+
11
11
  // Add Callout to Atomix namespace
12
12
  // @ts-ignore - Ignore type mismatch between React component and vanilla JS class
13
13
  window.Atomix.Callout = Callout;
@@ -15,4 +15,4 @@ if (typeof window !== 'undefined') {
15
15
  }
16
16
 
17
17
  // Export for module usage
18
- export { Callout, CalloutInteractions };
18
+ export { Callout, CalloutInteractions };
@@ -39,15 +39,17 @@ export class Callout {
39
39
  */
40
40
  private _handleClose(): void {
41
41
  this.close();
42
-
42
+
43
43
  if (this.config.onClose) {
44
44
  this.config.onClose();
45
45
  }
46
46
 
47
47
  // Dispatch custom event
48
- this.element.dispatchEvent(new CustomEvent('atomix:callout:close', {
49
- bubbles: true,
50
- }));
48
+ this.element.dispatchEvent(
49
+ new CustomEvent('atomix:callout:close', {
50
+ bubbles: true,
51
+ })
52
+ );
51
53
  }
52
54
 
53
55
  /**
@@ -55,7 +57,7 @@ export class Callout {
55
57
  */
56
58
  public close(): void {
57
59
  this.element.classList.add('is-hide');
58
-
60
+
59
61
  // Remove from DOM after animation completes
60
62
  setTimeout(() => {
61
63
  if (this.element.parentNode) {
@@ -78,22 +80,24 @@ export class Callout {
78
80
  public update(options: { title?: string; content?: string; variant?: string }): void {
79
81
  const titleElement = this.element.querySelector('.c-callout__title');
80
82
  const contentElement = this.element.querySelector('.c-callout__text');
81
-
83
+
82
84
  if (options.title && titleElement) {
83
85
  titleElement.textContent = options.title;
84
86
  }
85
-
87
+
86
88
  if (options.content && contentElement) {
87
89
  contentElement.textContent = options.content;
88
90
  }
89
-
91
+
90
92
  if (options.variant) {
91
93
  // Remove existing variant classes
92
- const variantClasses = Array.from(this.element.classList)
93
- .filter(cls => cls.startsWith('c-callout--') && !['c-callout--oneline', 'c-callout--toast'].includes(cls));
94
-
94
+ const variantClasses = Array.from(this.element.classList).filter(
95
+ cls =>
96
+ cls.startsWith('c-callout--') && !['c-callout--oneline', 'c-callout--toast'].includes(cls)
97
+ );
98
+
95
99
  variantClasses.forEach(cls => this.element.classList.remove(cls));
96
-
100
+
97
101
  // Add new variant class
98
102
  this.element.classList.add(`c-callout--${options.variant}`);
99
103
  }
@@ -114,13 +118,13 @@ export class Callout {
114
118
  public static initializeAll(options: { onClose?: () => void } = {}): Callout[] {
115
119
  const callouts: Callout[] = [];
116
120
  const elements = document.querySelectorAll('.c-callout');
117
-
121
+
118
122
  elements.forEach(element => {
119
123
  callouts.push(new Callout(element as HTMLElement, options));
120
124
  });
121
-
125
+
122
126
  return callouts;
123
127
  }
124
128
  }
125
129
 
126
- export { CalloutInteractions };
130
+ export { CalloutInteractions };
@@ -56,7 +56,7 @@ export const WithActions: Story = {
56
56
  <button className="c-btn c-btn--primary c-btn--sm">Learn More</button>
57
57
  <button className="c-btn c-btn--secondary c-btn--sm">Cancel</button>
58
58
  </React.Fragment>
59
- )
59
+ ),
60
60
  },
61
61
  };
62
62
 
@@ -93,7 +93,7 @@ export const Clickable: Story = {
93
93
 
94
94
  // Elevation Card
95
95
  export const WithElevation: Story = {
96
- render: (args) => (
96
+ render: args => (
97
97
  <div style={{ padding: '20px', width: '300px' }}>
98
98
  <ElevationCard {...args} />
99
99
  </div>
@@ -2,91 +2,68 @@ import React, { forwardRef, Ref } from 'react';
2
2
  import { CARD } from '../../lib/constants/components';
3
3
  import { CardProps } from '../../lib/types/components';
4
4
 
5
- export const Card = forwardRef<HTMLDivElement, CardProps>(({
6
- header,
7
- image,
8
- imageAlt = '',
9
- title,
10
- text,
11
- actions,
12
- icon,
13
- footer,
14
- row = false,
15
- flat = false,
16
- active = false,
17
- className = '',
18
- children,
19
- onClick,
20
- ...rest
21
- }, ref) => {
22
- const cardClasses = [
23
- CARD.CLASSES.BASE,
24
- row ? CARD.CLASSES.ROW : '',
25
- flat ? CARD.CLASSES.FLAT : '',
26
- active ? CARD.CLASSES.ACTIVE : '',
27
- className
28
- ].filter(Boolean).join(' ');
5
+ export const Card = forwardRef<HTMLDivElement, CardProps>(
6
+ (
7
+ {
8
+ header,
9
+ image,
10
+ imageAlt = '',
11
+ title,
12
+ text,
13
+ actions,
14
+ icon,
15
+ footer,
16
+ row = false,
17
+ flat = false,
18
+ active = false,
19
+ className = '',
20
+ children,
21
+ onClick,
22
+ ...rest
23
+ },
24
+ ref
25
+ ) => {
26
+ const cardClasses = [
27
+ CARD.CLASSES.BASE,
28
+ row ? CARD.CLASSES.ROW : '',
29
+ flat ? CARD.CLASSES.FLAT : '',
30
+ active ? CARD.CLASSES.ACTIVE : '',
31
+ className,
32
+ ]
33
+ .filter(Boolean)
34
+ .join(' ');
29
35
 
30
- return (
31
- <div
32
- ref={ref}
33
- className={cardClasses}
34
- onClick={onClick}
35
- {...rest}
36
- >
37
- {(image || icon || header) && (
38
- <div className={CARD.SELECTORS.HEADER.substring(1)}>
36
+ return (
37
+ <div ref={ref} className={cardClasses} onClick={onClick} {...rest}>
38
+ {(image || icon || header) && (
39
+ <div className={CARD.SELECTORS.HEADER.substring(1)}>
39
40
  {header}
40
41
  {image && (
41
- <img
42
- src={image}
43
- alt={imageAlt}
44
- className={CARD.SELECTORS.IMAGE.substring(1)}
45
- />
42
+ <img src={image} alt={imageAlt} className={CARD.SELECTORS.IMAGE.substring(1)} />
46
43
  )}
47
44
 
48
- {icon && (
49
- <div className={CARD.SELECTORS.ICON.substring(1)}>
50
- {icon}
51
- </div>
52
- )}
53
- </div>
54
- )}
55
-
56
- <div className={CARD.SELECTORS.BODY.substring(1)}>
57
- {title && (
58
- <h3 className={CARD.SELECTORS.TITLE.substring(1)}>
59
- {title}
60
- </h3>
45
+ {icon && <div className={CARD.SELECTORS.ICON.substring(1)}>{icon}</div>}
46
+ </div>
61
47
  )}
62
48
 
63
- {text && (
64
- <p className={CARD.SELECTORS.TEXT.substring(1)}>
65
- {text}
66
- </p>
67
- )}
49
+ <div className={CARD.SELECTORS.BODY.substring(1)}>
50
+ {title && <h3 className={CARD.SELECTORS.TITLE.substring(1)}>{title}</h3>}
68
51
 
69
- {children}
70
- </div>
52
+ {text && <p className={CARD.SELECTORS.TEXT.substring(1)}>{text}</p>}
71
53
 
72
- {actions && (
73
- <div className={CARD.SELECTORS.ACTIONS.substring(1)}>
74
- {actions}
54
+ {children}
75
55
  </div>
76
- )}
77
56
 
78
- {footer && (
79
- <div className={CARD.SELECTORS.FOOTER.substring(1)}>
80
- {footer}
81
- </div>
82
- )}
83
- </div>
84
- );
85
- });
57
+ {actions && <div className={CARD.SELECTORS.ACTIONS.substring(1)}>{actions}</div>}
86
58
 
59
+ {footer && <div className={CARD.SELECTORS.FOOTER.substring(1)}>{footer}</div>}
60
+ </div>
61
+ );
62
+ }
63
+ );
87
64
 
88
- export type { CardProps };
65
+ export type { CardProps };
89
66
 
90
67
  Card.displayName = 'Card';
91
68
 
92
- export default Card;
69
+ export default Card;
@@ -15,7 +15,7 @@ export const ElevationCard: React.FC<ElevationCardProps> = ({
15
15
  elevationClass,
16
16
  clickable: Boolean(onClick),
17
17
  onClick: onClick as (event: React.MouseEvent) => void,
18
- focusEffect: true
18
+ focusEffect: true,
19
19
  });
20
20
 
21
21
  const cardProps = getCardProps();
@@ -33,11 +33,7 @@ export const ElevationCard: React.FC<ElevationCardProps> = ({
33
33
  onClick={cardProps.onClick as unknown as React.MouseEventHandler<HTMLDivElement>}
34
34
  onKeyDown={cardProps.onKeyDown as unknown as React.KeyboardEventHandler<HTMLDivElement>}
35
35
  >
36
- <Card
37
- {...props}
38
- className=""
39
- onClick={undefined}
40
- >
36
+ <Card {...props} className="" onClick={undefined}>
41
37
  {children}
42
38
  </Card>
43
39
  </div>
@@ -46,6 +42,6 @@ export const ElevationCard: React.FC<ElevationCardProps> = ({
46
42
 
47
43
  export type { ElevationCardProps };
48
44
 
49
- ElevationCard.displayName = 'ElevationCard';
45
+ ElevationCard.displayName = 'ElevationCard';
50
46
 
51
- export default ElevationCard;
47
+ export default ElevationCard;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Card component module
3
- *
3
+ *
4
4
  * This module exports the Card component and its variants.
5
5
  * Types and hooks are defined in the lib directory.
6
6
  */
@@ -1,18 +1,18 @@
1
1
  /**
2
2
  * Card Component Bundle
3
- *
3
+ *
4
4
  * This module bundles the Card component and its interactions for use in vanilla JS projects.
5
5
  * It exposes the Card class and utility functions to the global Atomix namespace.
6
6
  */
7
7
 
8
8
  import Card from './index';
9
- import {
10
- applyHoverEffect,
11
- applyFocusEffect,
12
- makeCardClickable,
9
+ import {
10
+ applyHoverEffect,
11
+ applyFocusEffect,
12
+ makeCardClickable,
13
13
  initializeAllCards,
14
14
  applyElevationEffect,
15
- applyFlipEffect
15
+ applyFlipEffect,
16
16
  } from './cardInteractions';
17
17
 
18
18
  // Initialize global namespace if not exists
@@ -27,4 +27,4 @@ window.Atomix.initializeAllCards = initializeAllCards;
27
27
  window.Atomix.applyCardElevationEffect = applyElevationEffect;
28
28
  window.Atomix.applyCardFlipEffect = applyFlipEffect;
29
29
 
30
- export default Card;
30
+ export default Card;