@shohojdhara/atomix 0.1.30 → 0.2.2

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 (481) hide show
  1. package/CHANGELOG.md +0 -0
  2. package/LICENSE +0 -0
  3. package/README.md +128 -43
  4. package/dist/atomix.css +15025 -0
  5. package/dist/atomix.min.css +15 -0
  6. package/dist/index.d.ts +6459 -1748
  7. package/dist/index.esm.js +17559 -8364
  8. package/dist/index.esm.js.map +1 -1
  9. package/dist/index.js +17603 -8369
  10. package/dist/index.js.map +1 -1
  11. package/dist/index.min.js +1 -1
  12. package/dist/index.min.js.map +1 -1
  13. package/dist/themes/boomdevs.css +14677 -0
  14. package/dist/themes/boomdevs.min.css +405 -0
  15. package/dist/themes/esrar.css +16870 -0
  16. package/dist/themes/esrar.min.css +189 -0
  17. package/dist/themes/mashroom.css +29578 -0
  18. package/dist/themes/mashroom.min.css +403 -0
  19. package/dist/themes/shaj-default.css +15702 -0
  20. package/dist/themes/shaj-default.min.css +500 -0
  21. package/dist/themes/yabai.css +15207 -0
  22. package/dist/themes/yabai.min.css +189 -0
  23. package/package.json +126 -99
  24. package/src/components/Accordion/Accordion.stories.tsx +271 -0
  25. package/src/components/Accordion/Accordion.tsx +131 -0
  26. package/src/components/Accordion/index.ts +3 -0
  27. package/src/components/AtomixLogo/AtomixLogo.tsx +36 -0
  28. package/src/components/AtomixLogo/index.ts +3 -0
  29. package/src/components/AtomixLogo.tsx +40 -0
  30. package/src/components/Avatar/Avatar.stories.tsx +257 -0
  31. package/src/components/Avatar/Avatar.tsx +68 -0
  32. package/src/components/Avatar/AvatarGroup.tsx +73 -0
  33. package/src/components/Avatar/index.ts +3 -0
  34. package/src/components/Badge/Badge.stories.tsx +371 -0
  35. package/src/components/Badge/Badge.tsx +39 -0
  36. package/src/components/Badge/index.ts +3 -0
  37. package/src/components/Block/Block.stories.tsx +408 -0
  38. package/src/components/Block/Block.tsx +137 -0
  39. package/src/components/Block/index.ts +1 -0
  40. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +106 -0
  41. package/src/components/Breadcrumb/Breadcrumb.tsx +112 -0
  42. package/src/components/Breadcrumb/index.ts +3 -0
  43. package/src/components/Button/Button.stories.tsx +312 -0
  44. package/src/components/Button/Button.tsx +69 -0
  45. package/src/components/Button/index.ts +3 -0
  46. package/src/components/Callout/Callout.stories.tsx +588 -0
  47. package/src/components/Callout/Callout.tsx +78 -0
  48. package/src/components/Callout/index.ts +1 -0
  49. package/src/components/Card/Card.stories.tsx +105 -0
  50. package/src/components/Card/Card.tsx +69 -0
  51. package/src/components/Card/ElevationCard.tsx +47 -0
  52. package/src/components/Card/index.ts +15 -0
  53. package/src/components/Chart/AdvancedChart.tsx +624 -0
  54. package/src/components/Chart/AnimatedChart.tsx +206 -0
  55. package/src/components/Chart/AreaChart.tsx +27 -0
  56. package/src/components/Chart/BarChart.tsx +148 -0
  57. package/src/components/Chart/BubbleChart.tsx +411 -0
  58. package/src/components/Chart/CandlestickChart.tsx +765 -0
  59. package/src/components/Chart/Chart.stories.tsx +527 -0
  60. package/src/components/Chart/Chart.tsx +218 -0
  61. package/src/components/Chart/ChartRenderer.tsx +322 -0
  62. package/src/components/Chart/ChartToolbar.tsx +436 -0
  63. package/src/components/Chart/ChartTooltip.tsx +101 -0
  64. package/src/components/Chart/DonutChart.tsx +370 -0
  65. package/src/components/Chart/FunnelChart.tsx +393 -0
  66. package/src/components/Chart/GaugeChart.tsx +550 -0
  67. package/src/components/Chart/HeatmapChart.tsx +614 -0
  68. package/src/components/Chart/LineChart.tsx +172 -0
  69. package/src/components/Chart/LineChartNew.tsx +167 -0
  70. package/src/components/Chart/MultiAxisChart.tsx +498 -0
  71. package/src/components/Chart/PieChart.tsx +103 -0
  72. package/src/components/Chart/RadarChart.tsx +332 -0
  73. package/src/components/Chart/RealTimeChart.tsx +436 -0
  74. package/src/components/Chart/ScatterChart.tsx +152 -0
  75. package/src/components/Chart/TreemapChart.tsx +574 -0
  76. package/src/components/Chart/WaterfallChart.tsx +450 -0
  77. package/src/components/Chart/index.ts +119 -0
  78. package/src/components/Chart/types.ts +338 -0
  79. package/src/components/ColorModeToggle/ColorModeToggle.stories.tsx +44 -0
  80. package/src/components/ColorModeToggle/ColorModeToggle.tsx +85 -0
  81. package/src/components/ColorModeToggle/index.ts +2 -0
  82. package/src/components/Countdown/Countdown.stories.tsx +46 -0
  83. package/src/components/Countdown/Countdown.tsx +90 -0
  84. package/src/components/Countdown/index.ts +2 -0
  85. package/src/components/DataTable/DataTable.stories.tsx +248 -0
  86. package/src/components/DataTable/DataTable.tsx +213 -0
  87. package/src/components/DataTable/index.ts +3 -0
  88. package/src/components/DatePicker/DatePicker.stories.tsx +364 -0
  89. package/src/components/DatePicker/DatePicker.tsx +504 -0
  90. package/src/components/DatePicker/index.ts +4 -0
  91. package/src/components/DatePicker/readme.md +106 -0
  92. package/src/components/DatePicker/types.ts +167 -0
  93. package/src/components/DatePicker/utils.ts +185 -0
  94. package/src/components/Dropdown/Dropdown.stories.tsx +358 -0
  95. package/src/components/Dropdown/Dropdown.tsx +352 -0
  96. package/src/components/Dropdown/index.ts +14 -0
  97. package/src/components/Dropdown/readme.md +151 -0
  98. package/src/components/EdgePanel/EdgePanel.stories.tsx +266 -0
  99. package/src/components/EdgePanel/EdgePanel.tsx +73 -0
  100. package/src/components/EdgePanel/index.ts +1 -0
  101. package/src/components/Footer/Footer.stories.tsx +388 -0
  102. package/src/components/Footer/Footer.tsx +197 -0
  103. package/src/components/Footer/FooterLink.tsx +72 -0
  104. package/src/components/Footer/FooterSection.tsx +87 -0
  105. package/src/components/Footer/FooterSocialLink.tsx +117 -0
  106. package/src/components/Footer/README.md +261 -0
  107. package/src/components/Footer/index.ts +13 -0
  108. package/src/components/Form/Checkbox.stories.tsx +76 -0
  109. package/src/components/Form/Checkbox.tsx +69 -0
  110. package/src/components/Form/Form.stories.tsx +497 -0
  111. package/src/components/Form/Form.tsx +46 -0
  112. package/src/components/Form/FormGroup.stories.tsx +162 -0
  113. package/src/components/Form/FormGroup.tsx +53 -0
  114. package/src/components/Form/Input.stories.tsx +106 -0
  115. package/src/components/Form/Input.tsx +87 -0
  116. package/src/components/Form/Radio.stories.tsx +94 -0
  117. package/src/components/Form/Radio.tsx +65 -0
  118. package/src/components/Form/Select.stories.tsx +151 -0
  119. package/src/components/Form/Select.tsx +191 -0
  120. package/src/components/Form/Textarea.stories.tsx +123 -0
  121. package/src/components/Form/Textarea.tsx +78 -0
  122. package/src/components/Form/index.ts +7 -0
  123. package/src/components/Hero/Hero.stories.tsx +295 -0
  124. package/src/components/Hero/Hero.tsx +175 -0
  125. package/src/components/Hero/index.ts +6 -0
  126. package/src/components/Icon/Icon.tsx +87 -0
  127. package/src/components/Icon/index.ts +2 -0
  128. package/src/components/List/List.stories.tsx +122 -0
  129. package/src/components/List/List.tsx +35 -0
  130. package/src/components/List/ListGroup.tsx +35 -0
  131. package/src/components/List/index.ts +2 -0
  132. package/src/components/Messages/Messages.stories.tsx +160 -0
  133. package/src/components/Messages/Messages.tsx +172 -0
  134. package/src/components/Messages/index.ts +3 -0
  135. package/src/components/Modal/Modal.stories.tsx +284 -0
  136. package/src/components/Modal/Modal.tsx +198 -0
  137. package/src/components/Modal/README.md +169 -0
  138. package/src/components/Modal/index.ts +1 -0
  139. package/src/components/Navigation/Menu/MegaMenu.tsx +109 -0
  140. package/src/components/Navigation/Menu/Menu.stories.tsx +339 -0
  141. package/src/components/Navigation/Menu/Menu.tsx +111 -0
  142. package/src/components/Navigation/Nav/Nav.stories.tsx +456 -0
  143. package/src/components/Navigation/Nav/Nav.tsx +51 -0
  144. package/src/components/Navigation/Nav/NavDropdown.tsx +105 -0
  145. package/src/components/Navigation/Nav/NavItem.tsx +168 -0
  146. package/src/components/Navigation/Navbar/Navbar.stories.tsx +569 -0
  147. package/src/components/Navigation/Navbar/Navbar.tsx +150 -0
  148. package/src/components/Navigation/README.md +314 -0
  149. package/src/components/Navigation/SideMenu/SideMenu.README.md +494 -0
  150. package/src/components/Navigation/SideMenu/SideMenu.stories.tsx +609 -0
  151. package/src/components/Navigation/SideMenu/SideMenu.tsx +101 -0
  152. package/src/components/Navigation/SideMenu/SideMenuItem.tsx +103 -0
  153. package/src/components/Navigation/SideMenu/SideMenuList.tsx +41 -0
  154. package/src/components/Navigation/index.ts +23 -0
  155. package/src/components/Pagination/Pagination.stories.tsx +188 -0
  156. package/src/components/Pagination/Pagination.tsx +162 -0
  157. package/src/components/Pagination/index.ts +1 -0
  158. package/src/components/PhotoViewer/PhotoViewer.stories.tsx +397 -0
  159. package/src/components/PhotoViewer/PhotoViewer.tsx +246 -0
  160. package/src/components/PhotoViewer/PhotoViewerHeader.tsx +184 -0
  161. package/src/components/PhotoViewer/PhotoViewerImage.tsx +173 -0
  162. package/src/components/PhotoViewer/PhotoViewerInfo.tsx +91 -0
  163. package/src/components/PhotoViewer/PhotoViewerNavigation.tsx +85 -0
  164. package/src/components/PhotoViewer/PhotoViewerThumbnails.tsx +63 -0
  165. package/src/components/PhotoViewer/README.md +358 -0
  166. package/src/components/PhotoViewer/examples/ImageGallery.tsx +187 -0
  167. package/src/components/PhotoViewer/examples/SimpleGallery.tsx +73 -0
  168. package/src/components/PhotoViewer/examples/index.ts +2 -0
  169. package/src/components/PhotoViewer/index.ts +14 -0
  170. package/src/components/Popover/Popover.stories.tsx +143 -0
  171. package/src/components/Popover/Popover.tsx +137 -0
  172. package/src/components/Popover/index.ts +5 -0
  173. package/src/components/Popover/readme.md +120 -0
  174. package/src/components/ProductReview/ProductReview.stories.tsx +88 -0
  175. package/src/components/ProductReview/ProductReview.tsx +169 -0
  176. package/src/components/ProductReview/index.ts +3 -0
  177. package/src/components/Progress/Progress.stories.tsx +75 -0
  178. package/src/components/Progress/Progress.tsx +45 -0
  179. package/src/components/Progress/index.ts +1 -0
  180. package/src/components/Rating/Rating.stories.tsx +109 -0
  181. package/src/components/Rating/Rating.tsx +286 -0
  182. package/src/components/Rating/index.ts +6 -0
  183. package/src/components/River/River.stories.tsx +230 -0
  184. package/src/components/River/River.tsx +134 -0
  185. package/src/components/River/index.ts +2 -0
  186. package/src/components/SectionIntro/SectionIntro.stories.tsx +143 -0
  187. package/src/components/SectionIntro/SectionIntro.tsx +182 -0
  188. package/src/components/SectionIntro/index.ts +3 -0
  189. package/src/components/Slider/Slider.stories.tsx +825 -0
  190. package/src/components/Slider/Slider.tsx +227 -0
  191. package/src/components/Slider/index.ts +24 -0
  192. package/src/components/Spinner/Spinner.stories.tsx +65 -0
  193. package/src/components/Spinner/Spinner.tsx +36 -0
  194. package/src/components/Spinner/index.ts +2 -0
  195. package/src/components/Steps/Steps.stories.tsx +158 -0
  196. package/src/components/Steps/Steps.tsx +115 -0
  197. package/src/components/Steps/index.ts +3 -0
  198. package/src/components/Tab/Tab.stories.tsx +129 -0
  199. package/src/components/Tab/Tab.tsx +111 -0
  200. package/src/components/Tab/index.ts +2 -0
  201. package/src/components/Testimonial/Testimonial.stories.tsx +180 -0
  202. package/src/components/Testimonial/Testimonial.tsx +138 -0
  203. package/src/components/Testimonial/index.ts +3 -0
  204. package/src/components/Todo/Todo.stories.tsx +103 -0
  205. package/src/components/Todo/Todo.tsx +158 -0
  206. package/src/components/Todo/index.ts +1 -0
  207. package/src/components/Toggle/Toggle.stories.tsx +49 -0
  208. package/src/components/Toggle/Toggle.tsx +84 -0
  209. package/src/components/Toggle/index.ts +2 -0
  210. package/src/components/Tooltip/Tooltip.stories.tsx +115 -0
  211. package/src/components/Tooltip/Tooltip.tsx +150 -0
  212. package/src/components/Tooltip/index.ts +3 -0
  213. package/src/components/Upload/Upload.stories.tsx +220 -0
  214. package/src/components/Upload/Upload.tsx +354 -0
  215. package/src/components/Upload/index.ts +3 -0
  216. package/src/components/VideoPlayer/VideoPlayer.stories.tsx +484 -0
  217. package/src/components/VideoPlayer/VideoPlayer.tsx +574 -0
  218. package/src/components/VideoPlayer/index.ts +7 -0
  219. package/src/components/index.ts +124 -0
  220. package/src/layouts/Grid/Container.tsx +58 -0
  221. package/src/layouts/Grid/Grid.stories.tsx +928 -0
  222. package/src/layouts/Grid/Grid.tsx +68 -0
  223. package/src/layouts/Grid/GridCol.tsx +161 -0
  224. package/src/layouts/Grid/README.md +108 -0
  225. package/src/layouts/Grid/Row.tsx +70 -0
  226. package/src/layouts/Grid/index.ts +8 -0
  227. package/src/layouts/MasonryGrid/MasonryGrid.stories.tsx +387 -0
  228. package/src/layouts/MasonryGrid/MasonryGrid.tsx +408 -0
  229. package/src/layouts/MasonryGrid/MasonryGridItem.tsx +44 -0
  230. package/src/layouts/MasonryGrid/README.md +117 -0
  231. package/src/layouts/MasonryGrid/index.ts +4 -0
  232. package/src/layouts/index.ts +7 -0
  233. package/src/lib/README.md +89 -0
  234. package/src/lib/composables/index.ts +63 -0
  235. package/src/lib/composables/useAccordion.ts +129 -0
  236. package/src/lib/composables/useAmbientMode.ts +90 -0
  237. package/src/lib/composables/useBadge.ts +42 -0
  238. package/src/lib/composables/useBarChart.ts +365 -0
  239. package/src/lib/composables/useBlock.ts +56 -0
  240. package/src/lib/composables/useBreadcrumb.ts +81 -0
  241. package/src/lib/composables/useButton.ts +59 -0
  242. package/src/lib/composables/useCallout.ts +55 -0
  243. package/src/lib/composables/useCard.ts +155 -0
  244. package/src/lib/composables/useChart.ts +1082 -0
  245. package/src/lib/composables/useChartAnalytics.ts +505 -0
  246. package/src/lib/composables/useChartData.ts +38 -0
  247. package/src/lib/composables/useChartExport.ts +392 -0
  248. package/src/lib/composables/useChartInteraction.ts +34 -0
  249. package/src/lib/composables/useChartInteractions.ts +123 -0
  250. package/src/lib/composables/useChartPerformance.ts +323 -0
  251. package/src/lib/composables/useChartScale.ts +48 -0
  252. package/src/lib/composables/useChartToolbar.ts +532 -0
  253. package/src/lib/composables/useCheckbox.ts +70 -0
  254. package/src/lib/composables/useDataTable.ts +208 -0
  255. package/src/lib/composables/useDatePicker.ts +564 -0
  256. package/src/lib/composables/useDropdown.ts +272 -0
  257. package/src/lib/composables/useEdgePanel.ts +261 -0
  258. package/src/lib/composables/useFooter.ts +85 -0
  259. package/src/lib/composables/useForm.ts +62 -0
  260. package/src/lib/composables/useFormGroup.ts +51 -0
  261. package/src/lib/composables/useHero.ts +250 -0
  262. package/src/lib/composables/useInput.ts +58 -0
  263. package/src/lib/composables/useLineChart.ts +319 -0
  264. package/src/lib/composables/useMessages.ts +77 -0
  265. package/src/lib/composables/useModal.ts +110 -0
  266. package/src/lib/composables/useNavbar.ts +288 -0
  267. package/src/lib/composables/usePagination.ts +101 -0
  268. package/src/lib/composables/usePhotoViewer.ts +937 -0
  269. package/src/lib/composables/usePieChart.ts +362 -0
  270. package/src/lib/composables/usePopover.ts +354 -0
  271. package/src/lib/composables/useProgress.ts +74 -0
  272. package/src/lib/composables/useRadio.ts +47 -0
  273. package/src/lib/composables/useRating.ts +174 -0
  274. package/src/lib/composables/useRiver.ts +205 -0
  275. package/src/lib/composables/useSelect.ts +52 -0
  276. package/src/lib/composables/useSideMenu.ts +197 -0
  277. package/src/lib/composables/useSlider.ts +526 -0
  278. package/src/lib/composables/useSpinner.ts +42 -0
  279. package/src/lib/composables/useTextarea.ts +55 -0
  280. package/src/lib/composables/useTodo.ts +141 -0
  281. package/src/lib/composables/useVideoPlayer.ts +398 -0
  282. package/src/lib/constants/components.ts +1518 -0
  283. package/src/lib/constants/index.ts +4 -0
  284. package/src/lib/index.ts +11 -0
  285. package/src/lib/types/components.ts +5020 -0
  286. package/src/lib/types/index.ts +2 -0
  287. package/src/lib/utils/dom.ts +41 -0
  288. package/src/lib/utils/icons.ts +74 -0
  289. package/src/lib/utils/index.ts +55 -0
  290. package/src/lib/utils/useForkRef.test.tsx +64 -0
  291. package/src/lib/utils/useForkRef.ts +36 -0
  292. package/src/lib/utils.test.ts +14 -0
  293. package/src/styles/01-settings/_index.scss +3 -0
  294. package/src/styles/01-settings/_settings.accordion.scss +22 -19
  295. package/src/styles/01-settings/_settings.animations.scss +5 -5
  296. package/src/styles/01-settings/_settings.avatar-group.scss +7 -4
  297. package/src/styles/01-settings/_settings.avatar.scss +19 -20
  298. package/src/styles/01-settings/_settings.background.scss +9 -0
  299. package/src/styles/01-settings/_settings.badge.scss +15 -9
  300. package/src/styles/01-settings/_settings.block.scss +11 -0
  301. package/src/styles/01-settings/_settings.border-radius.scss +12 -9
  302. package/src/styles/01-settings/_settings.border.scss +4 -1
  303. package/src/styles/01-settings/_settings.box-shadow.scss +1 -1
  304. package/src/styles/01-settings/_settings.breadcrumb.scss +16 -9
  305. package/src/styles/01-settings/_settings.breakpoints.scss +0 -0
  306. package/src/styles/01-settings/_settings.btn-group.scss +4 -1
  307. package/src/styles/01-settings/_settings.button.scss +19 -21
  308. package/src/styles/01-settings/_settings.callout.scss +42 -24
  309. package/src/styles/01-settings/_settings.card.scss +13 -11
  310. package/src/styles/01-settings/_settings.chart.scss +199 -0
  311. package/src/styles/01-settings/_settings.checkbox-group.scss +5 -2
  312. package/src/styles/01-settings/_settings.checkbox.scss +10 -4
  313. package/src/styles/01-settings/_settings.color-mode.scss +0 -0
  314. package/src/styles/01-settings/_settings.colors.scss +20 -0
  315. package/src/styles/01-settings/_settings.config.scss +1 -1
  316. package/src/styles/01-settings/_settings.countdown.scss +6 -4
  317. package/src/styles/01-settings/_settings.data-table.scss +0 -0
  318. package/src/styles/01-settings/_settings.datepicker.scss +0 -0
  319. package/src/styles/01-settings/_settings.dropdown.scss +9 -7
  320. package/src/styles/01-settings/_settings.edge-panel.scss +3 -2
  321. package/src/styles/01-settings/_settings.fonts.scss +1 -1
  322. package/src/styles/01-settings/_settings.footer.scss +125 -0
  323. package/src/styles/01-settings/_settings.form-group.scss +3 -1
  324. package/src/styles/01-settings/_settings.form.scss +4 -2
  325. package/src/styles/01-settings/_settings.grid.scss +3 -3
  326. package/src/styles/01-settings/_settings.hero.scss +10 -8
  327. package/src/styles/01-settings/_settings.input.scss +9 -7
  328. package/src/styles/01-settings/_settings.link.scss +0 -0
  329. package/src/styles/01-settings/_settings.list-group.scss +4 -2
  330. package/src/styles/01-settings/_settings.list.scss +4 -2
  331. package/src/styles/01-settings/_settings.maps.scss +43 -8
  332. package/src/styles/01-settings/_settings.masonry-grid.scss +0 -0
  333. package/src/styles/01-settings/_settings.menu.scss +10 -8
  334. package/src/styles/01-settings/_settings.messages.scss +19 -17
  335. package/src/styles/01-settings/_settings.modal.scss +7 -5
  336. package/src/styles/01-settings/_settings.nav.scss +6 -4
  337. package/src/styles/01-settings/_settings.navbar.scss +8 -5
  338. package/src/styles/01-settings/_settings.pagination.scss +5 -3
  339. package/src/styles/01-settings/_settings.photoviewer.scss +89 -23
  340. package/src/styles/01-settings/_settings.popover.scss +6 -4
  341. package/src/styles/01-settings/_settings.position.scss +0 -0
  342. package/src/styles/01-settings/_settings.progress.scss +0 -0
  343. package/src/styles/01-settings/_settings.rating.scss +5 -3
  344. package/src/styles/01-settings/_settings.river.scss +8 -6
  345. package/src/styles/01-settings/_settings.sectionintro.scss +8 -6
  346. package/src/styles/01-settings/_settings.select.scss +7 -5
  347. package/src/styles/01-settings/_settings.side-menu.scss +15 -13
  348. package/src/styles/01-settings/_settings.skeleton.scss +0 -0
  349. package/src/styles/01-settings/_settings.slider.scss +59 -0
  350. package/src/styles/01-settings/_settings.spacing.scss +15 -3
  351. package/src/styles/01-settings/_settings.spinner.scss +0 -0
  352. package/src/styles/01-settings/_settings.steps.scss +8 -6
  353. package/src/styles/01-settings/_settings.tabs.scss +11 -9
  354. package/src/styles/01-settings/_settings.testimonials.scss +6 -4
  355. package/src/styles/01-settings/_settings.todo.scss +0 -0
  356. package/src/styles/01-settings/_settings.toggle.scss +4 -2
  357. package/src/styles/01-settings/_settings.tooltip.scss +5 -3
  358. package/src/styles/01-settings/_settings.typography.scss +2 -0
  359. package/src/styles/01-settings/_settings.upload.scss +22 -20
  360. package/src/styles/01-settings/_settings.video-player.scss +64 -0
  361. package/src/styles/01-settings/_settings.z-layers.scss +0 -0
  362. package/src/styles/02-tools/_index.scss +1 -0
  363. package/src/styles/02-tools/_tools.animations.scss +82 -0
  364. package/src/styles/02-tools/_tools.background.scss +85 -0
  365. package/src/styles/02-tools/_tools.border-radius.scss +0 -0
  366. package/src/styles/02-tools/_tools.breakpoints.scss +0 -0
  367. package/src/styles/02-tools/_tools.button.scss +5 -0
  368. package/src/styles/02-tools/_tools.clearfix.scss +0 -0
  369. package/src/styles/02-tools/_tools.color-functions.scss +0 -0
  370. package/src/styles/02-tools/_tools.color-mode.scss +1 -1
  371. package/src/styles/02-tools/_tools.component.scss +479 -0
  372. package/src/styles/02-tools/_tools.event.scss +0 -0
  373. package/src/styles/02-tools/_tools.grid.scss +0 -0
  374. package/src/styles/02-tools/_tools.hidden-visually.scss +0 -0
  375. package/src/styles/02-tools/_tools.hidden.scss +0 -0
  376. package/src/styles/02-tools/_tools.map-loop.scss +0 -0
  377. package/src/styles/02-tools/_tools.media-queries.scss +0 -0
  378. package/src/styles/02-tools/_tools.object-fit.scss +0 -0
  379. package/src/styles/02-tools/_tools.placeholder.scss +0 -0
  380. package/src/styles/02-tools/_tools.rem.scss +19 -2
  381. package/src/styles/02-tools/_tools.size.scss +0 -0
  382. package/src/styles/02-tools/_tools.spacing.scss +0 -0
  383. package/src/styles/02-tools/_tools.to-rgb.scss +0 -0
  384. package/src/styles/02-tools/_tools.transition.scss +0 -0
  385. package/src/styles/02-tools/_tools.utilities.scss +0 -0
  386. package/src/styles/02-tools/_tools.utility-api.scss +55 -28
  387. package/src/styles/03-generic/_generic.fonts.scss +0 -0
  388. package/src/styles/03-generic/_generic.reset.scss +0 -0
  389. package/src/styles/03-generic/_generic.root.scss +19 -3
  390. package/src/styles/03-generic/_generic.selection.scss +0 -0
  391. package/src/styles/03-generic/_index.scss +0 -0
  392. package/src/styles/04-elements/_elements.all.scss +0 -0
  393. package/src/styles/04-elements/_elements.body.scss +24 -0
  394. package/src/styles/04-elements/_elements.heading.scss +0 -0
  395. package/src/styles/04-elements/_elements.html.scss +0 -0
  396. package/src/styles/04-elements/_elements.links.scss +0 -0
  397. package/src/styles/04-elements/_index.scss +0 -0
  398. package/src/styles/05-objects/_index.scss +1 -0
  399. package/src/styles/05-objects/_objects.block.scss +122 -0
  400. package/src/styles/05-objects/_objects.container.scss +14 -10
  401. package/src/styles/05-objects/_objects.grid.scss +0 -0
  402. package/src/styles/05-objects/_objects.masonry-grid.scss +0 -0
  403. package/src/styles/06-components/_components.accordion.scss +10 -4
  404. package/src/styles/06-components/_components.avatar-group.scss +2 -1
  405. package/src/styles/06-components/_components.avatar.scss +2 -1
  406. package/src/styles/06-components/_components.badge.scss +11 -10
  407. package/src/styles/06-components/_components.breadcrumb.scss +2 -1
  408. package/src/styles/06-components/_components.btn-group.scss +0 -0
  409. package/src/styles/06-components/_components.button.scss +4 -3
  410. package/src/styles/06-components/_components.callout.scss +5 -3
  411. package/src/styles/06-components/_components.card.scss +4 -3
  412. package/src/styles/06-components/_components.chart.scss +2103 -0
  413. package/src/styles/06-components/_components.checkbox-group.scss +0 -0
  414. package/src/styles/06-components/_components.checkbox.scss +2 -1
  415. package/src/styles/06-components/_components.color-mode-toggle.scss +3 -2
  416. package/src/styles/06-components/_components.countdown.scss +2 -1
  417. package/src/styles/06-components/_components.data-table.scss +7 -6
  418. package/src/styles/06-components/_components.datepicker.scss +2 -1
  419. package/src/styles/06-components/_components.dropdown.scss +4 -3
  420. package/src/styles/06-components/_components.edge-panel.scss +4 -3
  421. package/src/styles/06-components/_components.footer.scss +825 -0
  422. package/src/styles/06-components/_components.form-group.scss +1 -0
  423. package/src/styles/06-components/_components.form.scss +0 -0
  424. package/src/styles/06-components/_components.hero.scss +4 -2
  425. package/src/styles/06-components/_components.icon.scss +2 -2
  426. package/src/styles/06-components/_components.image-gallery.scss +1 -0
  427. package/src/styles/06-components/_components.input.scss +2 -1
  428. package/src/styles/06-components/_components.list-group.scss +3 -2
  429. package/src/styles/06-components/_components.list.scss +2 -1
  430. package/src/styles/06-components/_components.menu.scss +5 -4
  431. package/src/styles/06-components/_components.messages.scss +8 -7
  432. package/src/styles/06-components/_components.modal.scss +6 -2
  433. package/src/styles/06-components/_components.nav.scss +6 -5
  434. package/src/styles/06-components/_components.navbar.scss +4 -3
  435. package/src/styles/06-components/_components.pagination.scss +2 -1
  436. package/src/styles/06-components/_components.photoviewer.scss +604 -545
  437. package/src/styles/06-components/_components.popover.scss +3 -2
  438. package/src/styles/06-components/_components.product-review.scss +3 -2
  439. package/src/styles/06-components/_components.progress.scss +3 -2
  440. package/src/styles/06-components/_components.rating.scss +0 -0
  441. package/src/styles/06-components/_components.river.scss +3 -2
  442. package/src/styles/06-components/_components.sectionintro.scss +2 -1
  443. package/src/styles/06-components/_components.select.scss +5 -4
  444. package/src/styles/06-components/_components.side-menu.scss +8 -7
  445. package/src/styles/06-components/_components.skeleton.scss +3 -2
  446. package/src/styles/06-components/_components.slider.scss +274 -0
  447. package/src/styles/06-components/_components.spinner.scss +1 -0
  448. package/src/styles/06-components/_components.steps.scss +4 -2
  449. package/src/styles/06-components/_components.tabs.scss +4 -3
  450. package/src/styles/06-components/_components.testimonials.scss +2 -1
  451. package/src/styles/06-components/_components.todo.scss +3 -2
  452. package/src/styles/06-components/_components.toggle.scss +5 -4
  453. package/src/styles/06-components/_components.tooltip.scss +7 -11
  454. package/src/styles/06-components/_components.upload.scss +4 -3
  455. package/src/styles/06-components/_components.video-player.scss +624 -0
  456. package/src/styles/06-components/_index.scss +4 -0
  457. package/src/styles/06-components/old.chart.styles.scss +2819 -0
  458. package/src/styles/99-utilities/_index.scss +0 -0
  459. package/src/styles/99-utilities/_utilities.background.scss +0 -0
  460. package/src/styles/99-utilities/_utilities.border.scss +0 -0
  461. package/src/styles/99-utilities/_utilities.clearfix.scss +0 -0
  462. package/src/styles/99-utilities/_utilities.display.scss +0 -0
  463. package/src/styles/99-utilities/_utilities.flex.scss +0 -0
  464. package/src/styles/99-utilities/_utilities.link.scss +0 -0
  465. package/src/styles/99-utilities/_utilities.object-fit.scss +0 -0
  466. package/src/styles/99-utilities/_utilities.opacity.scss +0 -0
  467. package/src/styles/99-utilities/_utilities.overflow.scss +0 -0
  468. package/src/styles/99-utilities/_utilities.position.scss +0 -0
  469. package/src/styles/99-utilities/_utilities.scss +2 -1
  470. package/src/styles/99-utilities/_utilities.shadow.scss +0 -0
  471. package/src/styles/99-utilities/_utilities.sizes.scss +0 -0
  472. package/src/styles/99-utilities/_utilities.spacing.scss +0 -0
  473. package/src/styles/99-utilities/_utilities.text.scss +5 -0
  474. package/src/styles/99-utilities/_utilities.visibility.scss +0 -0
  475. package/src/styles/99-utilities/_utilities.visually-hidden.scss +0 -0
  476. package/src/styles/99-utilities/_utilities.z-index.scss +0 -0
  477. package/src/styles/css-modules.d.ts +0 -0
  478. package/src/styles/index.scss +0 -0
  479. package/dist/index.css +0 -15
  480. package/dist/index.esm.css +0 -15
  481. package/dist/index.min.css +0 -15
@@ -0,0 +1,74 @@
1
+ import { ThemeColor } from '../types/components';
2
+
3
+ interface UseProgressProps {
4
+ /**
5
+ * Progress value from 0 to 100
6
+ */
7
+ value: number;
8
+
9
+ /**
10
+ * Optional color variant
11
+ */
12
+ variant?: ThemeColor;
13
+
14
+ /**
15
+ * Optional size
16
+ */
17
+ size?: 'sm' | 'md' | 'lg';
18
+
19
+ /**
20
+ * Optional className for custom styling
21
+ */
22
+ className?: string;
23
+ }
24
+
25
+ interface UseProgressReturn {
26
+ /**
27
+ * Computed progress value clamped between 0 and 100
28
+ */
29
+ progressValue: number;
30
+
31
+ /**
32
+ * CSS properties for the progress component
33
+ */
34
+ progressStyle: React.CSSProperties;
35
+
36
+ /**
37
+ * CSS classes for the progress component
38
+ */
39
+ progressClasses: string;
40
+ }
41
+
42
+ /**
43
+ * Hook for managing Progress component state and behavior
44
+ */
45
+ export const useProgress = ({
46
+ value,
47
+ variant = 'primary',
48
+ size = 'md',
49
+ className = '',
50
+ }: UseProgressProps): UseProgressReturn => {
51
+ // Clamp value between 0 and 100
52
+ const progressValue = Math.min(Math.max(value, 0), 100);
53
+
54
+ // Create CSS custom properties
55
+ const progressStyle = {
56
+ '--atomix-progress-percentage': `${progressValue}%`,
57
+ } as React.CSSProperties;
58
+
59
+ // Generate class names
60
+ const baseClass = 'c-progress';
61
+ const variantClass = variant ? `${baseClass}--${variant}` : '';
62
+ const sizeClass = size ? `${baseClass}--${size}` : '';
63
+ const customClass = className || '';
64
+
65
+ const progressClasses = [baseClass, variantClass, sizeClass, customClass]
66
+ .filter(Boolean)
67
+ .join(' ');
68
+
69
+ return {
70
+ progressValue,
71
+ progressStyle,
72
+ progressClasses,
73
+ };
74
+ };
@@ -0,0 +1,47 @@
1
+ import { RadioProps } from '../types/components';
2
+ import { RADIO } from '../constants/components';
3
+
4
+ /**
5
+ * Radio state and functionality
6
+ * @param initialProps - Initial radio properties
7
+ * @returns Radio state and methods
8
+ */
9
+ export function useRadio(initialProps?: Partial<RadioProps>) {
10
+ // Default radio properties
11
+ const defaultProps: Partial<RadioProps> = {
12
+ disabled: false,
13
+ invalid: false,
14
+ valid: false,
15
+ ...initialProps,
16
+ };
17
+
18
+ /**
19
+ * Generate radio class based on properties
20
+ * @param props - Radio properties
21
+ * @returns Class string
22
+ */
23
+ const generateRadioClass = (props: Partial<RadioProps>): string => {
24
+ const {
25
+ disabled = defaultProps.disabled,
26
+ invalid = defaultProps.invalid,
27
+ valid = defaultProps.valid,
28
+ className = '',
29
+ } = props;
30
+
31
+ let validationClass = '';
32
+ if (invalid) {
33
+ validationClass = RADIO.CLASSES.INVALID;
34
+ } else if (valid) {
35
+ validationClass = RADIO.CLASSES.VALID;
36
+ }
37
+
38
+ const disabledClass = disabled ? RADIO.CLASSES.DISABLED : '';
39
+
40
+ return `${RADIO.CLASSES.BASE} ${validationClass} ${disabledClass} ${className}`.trim();
41
+ };
42
+
43
+ return {
44
+ defaultProps,
45
+ generateRadioClass,
46
+ };
47
+ }
@@ -0,0 +1,174 @@
1
+ import { useState, useCallback } from 'react';
2
+ import type { RatingProps } from '../types/components';
3
+
4
+ /**
5
+ * Props for the useRating hook
6
+ */
7
+ export type UseRatingProps = Pick<
8
+ RatingProps,
9
+ 'value' | 'maxValue' | 'allowHalf' | 'readOnly' | 'onChange'
10
+ >;
11
+
12
+ export interface UseRatingReturn {
13
+ /**
14
+ * Current rating value (controlled or uncontrolled)
15
+ */
16
+ currentValue: number;
17
+
18
+ /**
19
+ * Value being hovered over
20
+ */
21
+ hoverValue: number | null;
22
+
23
+ /**
24
+ * Currently focused star index
25
+ */
26
+ focusedIndex: number | null;
27
+
28
+ /**
29
+ * Handle mouse enter on a star
30
+ */
31
+ handleMouseEnter: (starValue: number) => void;
32
+
33
+ /**
34
+ * Handle mouse leave from rating component
35
+ */
36
+ handleMouseLeave: () => void;
37
+
38
+ /**
39
+ * Handle click on a star
40
+ */
41
+ handleClick: (newValue: number) => void;
42
+
43
+ /**
44
+ * Handle keyboard navigation
45
+ */
46
+ handleKeyDown: (e: React.KeyboardEvent, index: number) => void;
47
+
48
+ /**
49
+ * Set focus on a specific star
50
+ */
51
+ setFocused: (index: number | null) => void;
52
+
53
+ /**
54
+ * Set hover value directly
55
+ */
56
+ setHoverValue: (value: number | null) => void;
57
+
58
+ /**
59
+ * Whether the component is in controlled mode
60
+ */
61
+ isControlled: boolean;
62
+ }
63
+
64
+ /**
65
+ * Hook for managing rating component state and interactions
66
+ */
67
+ export const useRating = ({
68
+ value = 0,
69
+ maxValue = 5,
70
+ allowHalf = false,
71
+ readOnly = false,
72
+ onChange,
73
+ }: UseRatingProps): UseRatingReturn => {
74
+ // Determine if component is in controlled mode
75
+ const isControlled = typeof onChange !== 'undefined';
76
+
77
+ // Internal state for uncontrolled mode
78
+ const [internalValue, setInternalValue] = useState<number>(value);
79
+ const [hoverValue, setHoverValue] = useState<number | null>(null);
80
+ const [focusedIndex, setFocusedIndex] = useState<number | null>(null);
81
+
82
+ // Use controlled or uncontrolled value
83
+ const currentValue = isControlled ? value : internalValue;
84
+
85
+ // Handle mouse enter on star
86
+ const handleMouseEnter = useCallback(
87
+ (starValue: number) => {
88
+ if (readOnly) return;
89
+ setHoverValue(starValue);
90
+ },
91
+ [readOnly]
92
+ );
93
+
94
+ // Handle mouse leave from rating component
95
+ const handleMouseLeave = useCallback(() => {
96
+ if (readOnly) return;
97
+ setHoverValue(null);
98
+ }, [readOnly]);
99
+
100
+ // Handle click on star
101
+ const handleClick = useCallback(
102
+ (newValue: number) => {
103
+ if (readOnly) return;
104
+
105
+ if (!isControlled) {
106
+ setInternalValue(newValue);
107
+ }
108
+
109
+ onChange?.(newValue);
110
+ },
111
+ [readOnly, onChange, isControlled]
112
+ );
113
+
114
+ // Handle keyboard navigation
115
+ const handleKeyDown = useCallback(
116
+ (e: React.KeyboardEvent, index: number) => {
117
+ if (readOnly) return;
118
+
119
+ const step = allowHalf ? 0.5 : 1;
120
+ let newValue = currentValue;
121
+
122
+ switch (e.key) {
123
+ case 'ArrowRight':
124
+ case 'ArrowUp':
125
+ newValue = Math.min(maxValue, currentValue + step);
126
+ e.preventDefault();
127
+ break;
128
+ case 'ArrowLeft':
129
+ case 'ArrowDown':
130
+ newValue = Math.max(0, currentValue - step);
131
+ e.preventDefault();
132
+ break;
133
+ case 'Home':
134
+ newValue = 0;
135
+ e.preventDefault();
136
+ break;
137
+ case 'End':
138
+ newValue = maxValue;
139
+ e.preventDefault();
140
+ break;
141
+ case ' ':
142
+ case 'Enter':
143
+ newValue = index;
144
+ e.preventDefault();
145
+ break;
146
+ default:
147
+ return;
148
+ }
149
+
150
+ if (newValue !== currentValue) {
151
+ if (!isControlled) {
152
+ setInternalValue(newValue);
153
+ }
154
+ onChange?.(newValue);
155
+ }
156
+ },
157
+ [currentValue, maxValue, allowHalf, readOnly, onChange, isControlled]
158
+ );
159
+
160
+ return {
161
+ currentValue,
162
+ hoverValue,
163
+ focusedIndex,
164
+ handleMouseEnter,
165
+ handleMouseLeave,
166
+ handleClick,
167
+ handleKeyDown,
168
+ setFocused: setFocusedIndex,
169
+ setHoverValue,
170
+ isControlled,
171
+ };
172
+ };
173
+
174
+ export default useRating;
@@ -0,0 +1,205 @@
1
+ import { ReactNode } from 'react';
2
+ import { RIVER } from '../constants/components';
3
+
4
+ /**
5
+ * River content column interface
6
+ */
7
+ export interface RiverContentColumn {
8
+ /**
9
+ * Column type (title or text)
10
+ */
11
+ type: 'title' | 'text';
12
+
13
+ /**
14
+ * Content for the column
15
+ */
16
+ content: ReactNode;
17
+ }
18
+
19
+ /**
20
+ * River properties interface
21
+ */
22
+ export interface RiverProps {
23
+ /**
24
+ * Title of the river section
25
+ */
26
+ title?: ReactNode;
27
+
28
+ /**
29
+ * Text content (can be a string or array of paragraphs)
30
+ */
31
+ text?: string | string[];
32
+
33
+ /**
34
+ * Action buttons/links
35
+ */
36
+ actions?: ReactNode;
37
+
38
+ /**
39
+ * Image source URL
40
+ */
41
+ imageSrc?: string;
42
+
43
+ /**
44
+ * Image alt text
45
+ */
46
+ imageAlt?: string;
47
+
48
+ /**
49
+ * Whether to use the center layout
50
+ */
51
+ center?: boolean;
52
+
53
+ /**
54
+ * Whether to use the breakout layout
55
+ */
56
+ breakout?: boolean;
57
+
58
+ /**
59
+ * Whether to use the reverse layout (image on right)
60
+ */
61
+ reverse?: boolean;
62
+
63
+ /**
64
+ * Use content columns instead of simple title/text structure
65
+ */
66
+ contentColumns?: RiverContentColumn[];
67
+
68
+ /**
69
+ * Additional CSS class
70
+ */
71
+ className?: string;
72
+
73
+ /**
74
+ * Background image source
75
+ */
76
+ backgroundImageSrc?: string;
77
+
78
+ /**
79
+ * Whether to show the background overlay
80
+ */
81
+ showOverlay?: boolean;
82
+
83
+ /**
84
+ * Custom width for the river content
85
+ */
86
+ contentWidth?: string;
87
+ }
88
+
89
+ /**
90
+ * River hook result interface
91
+ */
92
+ interface UseRiverResult {
93
+ /**
94
+ * Generate river class names based on props
95
+ */
96
+ generateRiverClassNames: (baseClassName?: string) => string;
97
+
98
+ /**
99
+ * Generate content class names
100
+ */
101
+ generateContentClass: () => string;
102
+
103
+ /**
104
+ * Generate visual/image class names
105
+ */
106
+ generateVisualClass: () => string;
107
+
108
+ /**
109
+ * Determine if the river has a background image
110
+ */
111
+ hasBackgroundImage: boolean;
112
+
113
+ /**
114
+ * Determine if the river has a foreground image
115
+ */
116
+ hasForegroundImage: boolean;
117
+
118
+ /**
119
+ * Convert text to array if it's a string
120
+ */
121
+ textContent: string[];
122
+ }
123
+
124
+ /**
125
+ * Hook for River component functionality
126
+ * @param initialProps - Initial river props
127
+ * @returns River methods and state
128
+ */
129
+ export function useRiver(initialProps?: Partial<RiverProps>): UseRiverResult {
130
+ const defaultProps: Partial<RiverProps> = {
131
+ center: false,
132
+ breakout: false,
133
+ reverse: false,
134
+ imageAlt: 'Image',
135
+ showOverlay: true,
136
+ ...initialProps,
137
+ };
138
+
139
+ /**
140
+ * Check if the river has a background image
141
+ */
142
+ const hasBackgroundImage = !!defaultProps.backgroundImageSrc;
143
+
144
+ /**
145
+ * Check if the river has a foreground image
146
+ */
147
+ const hasForegroundImage = !!defaultProps.imageSrc;
148
+
149
+ /**
150
+ * Convert text to array if it's a string
151
+ */
152
+ const textContent =
153
+ typeof defaultProps.text === 'string' ? [defaultProps.text] : defaultProps.text || [];
154
+
155
+ /**
156
+ * Generate river class names based on props
157
+ * @param baseClassName - Additional class names
158
+ * @returns Combined class names string
159
+ */
160
+ const generateRiverClassNames = (baseClassName: string = ''): string => {
161
+ const classes = [RIVER.SELECTORS.RIVER.replace('.', '')];
162
+
163
+ // Add layout classes
164
+ if (defaultProps.center) {
165
+ classes.push(RIVER.CLASSES.CENTER);
166
+ }
167
+
168
+ if (defaultProps.breakout) {
169
+ classes.push(RIVER.CLASSES.BREAKOUT);
170
+ }
171
+
172
+ if (defaultProps.reverse) {
173
+ classes.push(RIVER.CLASSES.REVERSE);
174
+ }
175
+
176
+ if (baseClassName) {
177
+ classes.push(baseClassName);
178
+ }
179
+
180
+ return classes.join(' ');
181
+ };
182
+
183
+ /**
184
+ * Generate content class names
185
+ */
186
+ const generateContentClass = (): string => {
187
+ return RIVER.SELECTORS.CONTENT.replace('.', '');
188
+ };
189
+
190
+ /**
191
+ * Generate visual/image class names
192
+ */
193
+ const generateVisualClass = (): string => {
194
+ return RIVER.SELECTORS.VISUAL.replace('.', '');
195
+ };
196
+
197
+ return {
198
+ generateRiverClassNames,
199
+ generateContentClass,
200
+ generateVisualClass,
201
+ hasBackgroundImage,
202
+ hasForegroundImage,
203
+ textContent,
204
+ };
205
+ }
@@ -0,0 +1,52 @@
1
+ import { SelectProps } from '../types/components';
2
+ import { SELECT } from '../constants/components';
3
+
4
+ /**
5
+ * Select state and functionality
6
+ * @param initialProps - Initial select properties
7
+ * @returns Select state and methods
8
+ */
9
+ export function useSelect(initialProps?: Partial<SelectProps>) {
10
+ // Default select properties
11
+ const defaultProps: Partial<SelectProps> = {
12
+ size: 'md',
13
+ disabled: false,
14
+ invalid: false,
15
+ valid: false,
16
+ ...initialProps,
17
+ };
18
+
19
+ /**
20
+ * Generate select class based on properties
21
+ * @param props - Select properties
22
+ * @returns Class string
23
+ */
24
+ const generateSelectClass = (props: Partial<SelectProps>): string => {
25
+ const {
26
+ size = defaultProps.size,
27
+ disabled = defaultProps.disabled,
28
+ invalid = defaultProps.invalid,
29
+ valid = defaultProps.valid,
30
+ className = '',
31
+ } = props;
32
+
33
+ const sizeClass =
34
+ size === 'md' ? '' : size === 'sm' ? SELECT.CLASSES.SMALL : SELECT.CLASSES.LARGE;
35
+
36
+ let validationClass = '';
37
+ if (invalid) {
38
+ validationClass = SELECT.CLASSES.INVALID;
39
+ } else if (valid) {
40
+ validationClass = SELECT.CLASSES.VALID;
41
+ }
42
+
43
+ const disabledClass = disabled ? SELECT.CLASSES.DISABLED : '';
44
+
45
+ return `${SELECT.CLASSES.BASE} ${sizeClass} ${validationClass} ${disabledClass} ${className}`.trim();
46
+ };
47
+
48
+ return {
49
+ defaultProps,
50
+ generateSelectClass,
51
+ };
52
+ }