@shohojdhara/atomix 0.1.27 → 0.1.28

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 (675) hide show
  1. package/dist/index.css +15 -0
  2. package/dist/index.d.ts +4955 -0
  3. package/dist/index.esm.css +15 -0
  4. package/dist/index.esm.js +12423 -0
  5. package/dist/index.esm.js.map +1 -0
  6. package/dist/index.js +12492 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/index.min.css +15 -0
  9. package/dist/index.min.js +2 -0
  10. package/dist/index.min.js.map +1 -0
  11. package/package.json +33 -91
  12. package/NPM_PUBLISHING.md +0 -221
  13. package/css.d.ts +0 -10
  14. package/dist/css/atomix.css +0 -1
  15. package/dist/js/628.js +0 -1
  16. package/dist/js/atomix.react.esm.js +0 -1
  17. package/dist/js/chunks/esm/202.82aa7b3244e53c9edb72.js +0 -1
  18. package/dist/js/chunks/esm/308.27e1e4005705ae320432.js +0 -1
  19. package/dist/js/chunks/esm/54.ece1fd6964f98d4d994f.js +0 -1
  20. package/dist/js/chunks/esm/619.ebeb0298432a066ac05c.js +0 -1
  21. package/dist/js/chunks/esm/690.c5f412cc979b55740359.js +0 -1
  22. package/dist/js/chunks/esm/894.3604ddc9367d75191198.js +0 -1
  23. package/dist/js/chunks/esm/897.a4aab2fad9401693eb12.js +0 -1
  24. package/dist/types/components/Accordion/Accordion.d.ts +0 -37
  25. package/dist/types/components/Accordion/index.d.ts +0 -3
  26. package/dist/types/components/AtomixLogo/AtomixLogo.d.ts +0 -8
  27. package/dist/types/components/AtomixLogo/index.d.ts +0 -3
  28. package/dist/types/components/AtomixLogo.d.ts +0 -8
  29. package/dist/types/components/Avatar/Avatar.d.ts +0 -5
  30. package/dist/types/components/Avatar/AvatarGroup.d.ts +0 -5
  31. package/dist/types/components/Avatar/index.d.ts +0 -3
  32. package/dist/types/components/Badge/Badge.d.ts +0 -5
  33. package/dist/types/components/Badge/index.d.ts +0 -3
  34. package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +0 -47
  35. package/dist/types/components/Breadcrumb/index.d.ts +0 -2
  36. package/dist/types/components/Breadcrumb/scripts/types.d.ts +0 -59
  37. package/dist/types/components/Button/Button.d.ts +0 -11
  38. package/dist/types/components/Button/index.d.ts +0 -3
  39. package/dist/types/components/Callout/Callout.d.ts +0 -8
  40. package/dist/types/components/Callout/index.d.ts +0 -1
  41. package/dist/types/components/Card/Card.d.ts +0 -5
  42. package/dist/types/components/Card/ElevationCard.d.ts +0 -5
  43. package/dist/types/components/Card/index.d.ts +0 -9
  44. package/dist/types/components/ColorModeToggle/ColorModeToggle.d.ts +0 -6
  45. package/dist/types/components/ColorModeToggle/index.d.ts +0 -2
  46. package/dist/types/components/Countdown/Countdown.d.ts +0 -17
  47. package/dist/types/components/Countdown/index.d.ts +0 -2
  48. package/dist/types/components/DataTable/DataTable.d.ts +0 -18
  49. package/dist/types/components/DataTable/index.d.ts +0 -3
  50. package/dist/types/components/DatePicker/DatePicker.d.ts +0 -9
  51. package/dist/types/components/DatePicker/index.d.ts +0 -4
  52. package/dist/types/components/DatePicker/types.d.ts +0 -127
  53. package/dist/types/components/DatePicker/utils.d.ts +0 -39
  54. package/dist/types/components/Dropdown/Dropdown.d.ts +0 -26
  55. package/dist/types/components/Dropdown/index.d.ts +0 -5
  56. package/dist/types/components/EdgePanel/EdgePanel.d.ts +0 -5
  57. package/dist/types/components/EdgePanel/index.d.ts +0 -1
  58. package/dist/types/components/Form/Checkbox.d.ts +0 -8
  59. package/dist/types/components/Form/Form.d.ts +0 -8
  60. package/dist/types/components/Form/FormGroup.d.ts +0 -8
  61. package/dist/types/components/Form/Input.d.ts +0 -8
  62. package/dist/types/components/Form/Radio.d.ts +0 -8
  63. package/dist/types/components/Form/Select.d.ts +0 -8
  64. package/dist/types/components/Form/Textarea.d.ts +0 -8
  65. package/dist/types/components/Form/index.d.ts +0 -7
  66. package/dist/types/components/Hero/Hero.d.ts +0 -5
  67. package/dist/types/components/Hero/index.d.ts +0 -5
  68. package/dist/types/components/Icon/Icon.d.ts +0 -36
  69. package/dist/types/components/Icon/index.d.ts +0 -2
  70. package/dist/types/components/List/List.d.ts +0 -5
  71. package/dist/types/components/List/ListGroup.d.ts +0 -4
  72. package/dist/types/components/List/index.d.ts +0 -2
  73. package/dist/types/components/Messages/Messages.d.ts +0 -8
  74. package/dist/types/components/Messages/index.d.ts +0 -3
  75. package/dist/types/components/Modal/Modal.d.ts +0 -8
  76. package/dist/types/components/Modal/index.d.ts +0 -1
  77. package/dist/types/components/Navigation/Menu/MegaMenu.d.ts +0 -5
  78. package/dist/types/components/Navigation/Menu/Menu.d.ts +0 -14
  79. package/dist/types/components/Navigation/Nav/Nav.d.ts +0 -20
  80. package/dist/types/components/Navigation/Nav/NavDropdown.d.ts +0 -5
  81. package/dist/types/components/Navigation/Nav/NavItem.d.ts +0 -33
  82. package/dist/types/components/Navigation/Navbar/Navbar.d.ts +0 -19
  83. package/dist/types/components/Navigation/SideMenu/SideMenu.d.ts +0 -20
  84. package/dist/types/components/Navigation/SideMenu/SideMenuItem.d.ts +0 -30
  85. package/dist/types/components/Navigation/SideMenu/SideMenuList.d.ts +0 -17
  86. package/dist/types/components/Navigation/index.d.ts +0 -10
  87. package/dist/types/components/Pagination/Pagination.d.ts +0 -27
  88. package/dist/types/components/Pagination/index.d.ts +0 -1
  89. package/dist/types/components/PhotoViewer/PhotoViewer.d.ts +0 -22
  90. package/dist/types/components/PhotoViewer/PhotoViewerHeader.d.ts +0 -45
  91. package/dist/types/components/PhotoViewer/PhotoViewerImage.d.ts +0 -51
  92. package/dist/types/components/PhotoViewer/PhotoViewerInfo.d.ts +0 -21
  93. package/dist/types/components/PhotoViewer/PhotoViewerNavigation.d.ts +0 -28
  94. package/dist/types/components/PhotoViewer/PhotoViewerThumbnails.d.ts +0 -21
  95. package/dist/types/components/PhotoViewer/examples/ImageGallery.d.ts +0 -11
  96. package/dist/types/components/PhotoViewer/examples/SimpleGallery.d.ts +0 -3
  97. package/dist/types/components/PhotoViewer/examples/index.d.ts +0 -2
  98. package/dist/types/components/PhotoViewer/index.d.ts +0 -13
  99. package/dist/types/components/Popover/Popover.d.ts +0 -19
  100. package/dist/types/components/Popover/index.d.ts +0 -4
  101. package/dist/types/components/ProductReview/ProductReview.d.ts +0 -41
  102. package/dist/types/components/ProductReview/index.d.ts +0 -3
  103. package/dist/types/components/Progress/Progress.d.ts +0 -5
  104. package/dist/types/components/Progress/index.d.ts +0 -1
  105. package/dist/types/components/Rating/Rating.d.ts +0 -20
  106. package/dist/types/components/Rating/index.d.ts +0 -4
  107. package/dist/types/components/River/River.d.ts +0 -8
  108. package/dist/types/components/River/index.d.ts +0 -2
  109. package/dist/types/components/River/scripts/index.d.ts +0 -40
  110. package/dist/types/components/SectionIntro/SectionIntro.d.ts +0 -62
  111. package/dist/types/components/SectionIntro/index.d.ts +0 -3
  112. package/dist/types/components/SectionIntro/scripts/index.d.ts +0 -36
  113. package/dist/types/components/Spinner/Spinner.d.ts +0 -5
  114. package/dist/types/components/Spinner/index.d.ts +0 -2
  115. package/dist/types/components/Steps/Steps.d.ts +0 -42
  116. package/dist/types/components/Steps/index.d.ts +0 -3
  117. package/dist/types/components/Steps/scripts/index.d.ts +0 -58
  118. package/dist/types/components/Tab/Tab.d.ts +0 -42
  119. package/dist/types/components/Tab/index.d.ts +0 -2
  120. package/dist/types/components/Tab/scripts/index.d.ts +0 -61
  121. package/dist/types/components/Testimonial/Testimonial.d.ts +0 -46
  122. package/dist/types/components/Testimonial/index.d.ts +0 -3
  123. package/dist/types/components/Testimonial/scripts/index.d.ts +0 -36
  124. package/dist/types/components/Todo/Todo.d.ts +0 -5
  125. package/dist/types/components/Todo/index.d.ts +0 -1
  126. package/dist/types/components/Toggle/Toggle.d.ts +0 -28
  127. package/dist/types/components/Toggle/index.d.ts +0 -2
  128. package/dist/types/components/Toggle/scripts/index.d.ts +0 -50
  129. package/dist/types/components/Tooltip/Tooltip.d.ts +0 -33
  130. package/dist/types/components/Tooltip/index.d.ts +0 -2
  131. package/dist/types/components/Tooltip/scripts/index.d.ts +0 -123
  132. package/dist/types/components/Upload/Upload.d.ts +0 -64
  133. package/dist/types/components/Upload/index.d.ts +0 -3
  134. package/dist/types/components/Upload/scripts/index.d.ts +0 -118
  135. package/dist/types/components/index.d.ts +0 -45
  136. package/dist/types/index.d.ts +0 -24
  137. package/dist/types/layouts/Grid/Container.d.ts +0 -39
  138. package/dist/types/layouts/Grid/Grid.d.ts +0 -38
  139. package/dist/types/layouts/Grid/GridCol.d.ts +0 -65
  140. package/dist/types/layouts/Grid/Row.d.ts +0 -39
  141. package/dist/types/layouts/Grid/index.d.ts +0 -8
  142. package/dist/types/layouts/MasonryGrid/MasonryGrid.d.ts +0 -72
  143. package/dist/types/layouts/MasonryGrid/MasonryGridItem.d.ts +0 -25
  144. package/dist/types/layouts/MasonryGrid/index.d.ts +0 -4
  145. package/dist/types/layouts/index.d.ts +0 -2
  146. package/dist/types/lib/composables/index.d.ts +0 -30
  147. package/dist/types/lib/composables/useAccordion.d.ts +0 -30
  148. package/dist/types/lib/composables/useBadge.d.ts +0 -10
  149. package/dist/types/lib/composables/useBreadcrumb.d.ts +0 -13
  150. package/dist/types/lib/composables/useButton.d.ts +0 -11
  151. package/dist/types/lib/composables/useCallout.d.ts +0 -11
  152. package/dist/types/lib/composables/useCard.d.ts +0 -8
  153. package/dist/types/lib/composables/useCheckbox.d.ts +0 -11
  154. package/dist/types/lib/composables/useDataTable.d.ts +0 -66
  155. package/dist/types/lib/composables/useDatePicker.d.ts +0 -91
  156. package/dist/types/lib/composables/useDropdown.d.ts +0 -26
  157. package/dist/types/lib/composables/useEdgePanel.d.ts +0 -15
  158. package/dist/types/lib/composables/useForm.d.ts +0 -12
  159. package/dist/types/lib/composables/useFormGroup.d.ts +0 -10
  160. package/dist/types/lib/composables/useHero.d.ts +0 -53
  161. package/dist/types/lib/composables/useInput.d.ts +0 -12
  162. package/dist/types/lib/composables/useMessages.d.ts +0 -38
  163. package/dist/types/lib/composables/useModal.d.ts +0 -40
  164. package/dist/types/lib/composables/useNavbar.d.ts +0 -59
  165. package/dist/types/lib/composables/usePagination.d.ts +0 -13
  166. package/dist/types/lib/composables/usePhotoViewer.d.ts +0 -57
  167. package/dist/types/lib/composables/usePopover.d.ts +0 -30
  168. package/dist/types/lib/composables/useProgress.d.ts +0 -38
  169. package/dist/types/lib/composables/useRadio.d.ts +0 -10
  170. package/dist/types/lib/composables/useRating.d.ts +0 -52
  171. package/dist/types/lib/composables/useRiver.d.ts +0 -107
  172. package/dist/types/lib/composables/useSelect.d.ts +0 -10
  173. package/dist/types/lib/composables/useSideMenu.d.ts +0 -28
  174. package/dist/types/lib/composables/useSpinner.d.ts +0 -10
  175. package/dist/types/lib/composables/useTextarea.d.ts +0 -10
  176. package/dist/types/lib/composables/useTodo.d.ts +0 -18
  177. package/dist/types/lib/constants/components.d.ts +0 -993
  178. package/dist/types/lib/constants/index.d.ts +0 -1
  179. package/dist/types/lib/index.d.ts +0 -6
  180. package/dist/types/lib/types/components.d.ts +0 -2062
  181. package/dist/types/lib/types/index.d.ts +0 -1
  182. package/dist/types/lib/utils/dom.d.ts +0 -26
  183. package/dist/types/lib/utils/icons.d.ts +0 -20
  184. package/dist/types/lib/utils/index.d.ts +0 -3
  185. package/dist/types/lib/utils/useForkRef.d.ts +0 -10
  186. package/index.d.ts +0 -3
  187. package/src/Introduction.mdx +0 -44
  188. package/src/assets/fonts/BigCaslon/BigCaslon-Alternatives.eot +0 -0
  189. package/src/assets/fonts/BigCaslon/BigCaslon-Alternatives.ttf +0 -0
  190. package/src/assets/fonts/BigCaslon/BigCaslon-Alternatives.woff +0 -0
  191. package/src/assets/fonts/BigCaslon/BigCaslon-Alternatives.woff2 +0 -0
  192. package/src/assets/fonts/BigCaslon/BigCaslon-Expert.eot +0 -0
  193. package/src/assets/fonts/BigCaslon/BigCaslon-Expert.ttf +0 -0
  194. package/src/assets/fonts/BigCaslon/BigCaslon-Expert.woff +0 -0
  195. package/src/assets/fonts/BigCaslon/BigCaslon-Expert.woff2 +0 -0
  196. package/src/assets/fonts/BigCaslon/BigCaslon-ItalicSwash.eot +0 -0
  197. package/src/assets/fonts/BigCaslon/BigCaslon-ItalicSwash.ttf +0 -0
  198. package/src/assets/fonts/BigCaslon/BigCaslon-ItalicSwash.woff +0 -0
  199. package/src/assets/fonts/BigCaslon/BigCaslon-ItalicSwash.woff2 +0 -0
  200. package/src/assets/fonts/BigCaslon/BigCaslon-SmallCaps.eot +0 -0
  201. package/src/assets/fonts/BigCaslon/BigCaslon-SmallCaps.ttf +0 -0
  202. package/src/assets/fonts/BigCaslon/BigCaslon-SmallCaps.woff +0 -0
  203. package/src/assets/fonts/BigCaslon/BigCaslon-SmallCaps.woff2 +0 -0
  204. package/src/assets/fonts/BigCaslon/BigCaslonFB-Black.eot +0 -0
  205. package/src/assets/fonts/BigCaslon/BigCaslonFB-Black.ttf +0 -0
  206. package/src/assets/fonts/BigCaslon/BigCaslonFB-Black.woff +0 -0
  207. package/src/assets/fonts/BigCaslon/BigCaslonFB-Black.woff2 +0 -0
  208. package/src/assets/fonts/BigCaslon/BigCaslonFB-BlackItalic.eot +0 -0
  209. package/src/assets/fonts/BigCaslon/BigCaslonFB-BlackItalic.ttf +0 -0
  210. package/src/assets/fonts/BigCaslon/BigCaslonFB-BlackItalic.woff +0 -0
  211. package/src/assets/fonts/BigCaslon/BigCaslonFB-BlackItalic.woff2 +0 -0
  212. package/src/assets/fonts/BigCaslon/BigCaslonFB-Bold.eot +0 -0
  213. package/src/assets/fonts/BigCaslon/BigCaslonFB-Bold.ttf +0 -0
  214. package/src/assets/fonts/BigCaslon/BigCaslonFB-Bold.woff +0 -0
  215. package/src/assets/fonts/BigCaslon/BigCaslonFB-Bold.woff2 +0 -0
  216. package/src/assets/fonts/BigCaslon/BigCaslonFB-BoldItalic.eot +0 -0
  217. package/src/assets/fonts/BigCaslon/BigCaslonFB-BoldItalic.ttf +0 -0
  218. package/src/assets/fonts/BigCaslon/BigCaslonFB-BoldItalic.woff +0 -0
  219. package/src/assets/fonts/BigCaslon/BigCaslonFB-BoldItalic.woff2 +0 -0
  220. package/src/assets/fonts/BigCaslon/BigCaslonFB-Italic.eot +0 -0
  221. package/src/assets/fonts/BigCaslon/BigCaslonFB-Italic.ttf +0 -0
  222. package/src/assets/fonts/BigCaslon/BigCaslonFB-Italic.woff +0 -0
  223. package/src/assets/fonts/BigCaslon/BigCaslonFB-Italic.woff2 +0 -0
  224. package/src/assets/fonts/BigCaslon/BigCaslonFB-Regular.eot +0 -0
  225. package/src/assets/fonts/BigCaslon/BigCaslonFB-Regular.ttf +0 -0
  226. package/src/assets/fonts/BigCaslon/BigCaslonFB-Regular.woff +0 -0
  227. package/src/assets/fonts/BigCaslon/BigCaslonFB-Regular.woff2 +0 -0
  228. package/src/assets/fonts/FilsonPro/FilsonPro-Black.eot +0 -0
  229. package/src/assets/fonts/FilsonPro/FilsonPro-Black.ttf +0 -0
  230. package/src/assets/fonts/FilsonPro/FilsonPro-Black.woff +0 -0
  231. package/src/assets/fonts/FilsonPro/FilsonPro-Black.woff2 +0 -0
  232. package/src/assets/fonts/FilsonPro/FilsonPro-BlackItalic.eot +0 -0
  233. package/src/assets/fonts/FilsonPro/FilsonPro-BlackItalic.ttf +0 -0
  234. package/src/assets/fonts/FilsonPro/FilsonPro-BlackItalic.woff +0 -0
  235. package/src/assets/fonts/FilsonPro/FilsonPro-BlackItalic.woff2 +0 -0
  236. package/src/assets/fonts/FilsonPro/FilsonPro-Bold.eot +0 -0
  237. package/src/assets/fonts/FilsonPro/FilsonPro-Bold.ttf +0 -0
  238. package/src/assets/fonts/FilsonPro/FilsonPro-Bold.woff +0 -0
  239. package/src/assets/fonts/FilsonPro/FilsonPro-Bold.woff2 +0 -0
  240. package/src/assets/fonts/FilsonPro/FilsonPro-BoldItalic.eot +0 -0
  241. package/src/assets/fonts/FilsonPro/FilsonPro-BoldItalic.ttf +0 -0
  242. package/src/assets/fonts/FilsonPro/FilsonPro-BoldItalic.woff +0 -0
  243. package/src/assets/fonts/FilsonPro/FilsonPro-BoldItalic.woff2 +0 -0
  244. package/src/assets/fonts/FilsonPro/FilsonPro-Book.eot +0 -0
  245. package/src/assets/fonts/FilsonPro/FilsonPro-Book.ttf +0 -0
  246. package/src/assets/fonts/FilsonPro/FilsonPro-Book.woff +0 -0
  247. package/src/assets/fonts/FilsonPro/FilsonPro-Book.woff2 +0 -0
  248. package/src/assets/fonts/FilsonPro/FilsonPro-BookItalic.eot +0 -0
  249. package/src/assets/fonts/FilsonPro/FilsonPro-BookItalic.ttf +0 -0
  250. package/src/assets/fonts/FilsonPro/FilsonPro-BookItalic.woff +0 -0
  251. package/src/assets/fonts/FilsonPro/FilsonPro-BookItalic.woff2 +0 -0
  252. package/src/assets/fonts/FilsonPro/FilsonPro-Heavy.eot +0 -0
  253. package/src/assets/fonts/FilsonPro/FilsonPro-Heavy.ttf +0 -0
  254. package/src/assets/fonts/FilsonPro/FilsonPro-Heavy.woff +0 -0
  255. package/src/assets/fonts/FilsonPro/FilsonPro-Heavy.woff2 +0 -0
  256. package/src/assets/fonts/FilsonPro/FilsonPro-HeavyItalic.eot +0 -0
  257. package/src/assets/fonts/FilsonPro/FilsonPro-HeavyItalic.ttf +0 -0
  258. package/src/assets/fonts/FilsonPro/FilsonPro-HeavyItalic.woff +0 -0
  259. package/src/assets/fonts/FilsonPro/FilsonPro-HeavyItalic.woff2 +0 -0
  260. package/src/assets/fonts/FilsonPro/FilsonPro-Light.eot +0 -0
  261. package/src/assets/fonts/FilsonPro/FilsonPro-Light.ttf +0 -0
  262. package/src/assets/fonts/FilsonPro/FilsonPro-Light.woff +0 -0
  263. package/src/assets/fonts/FilsonPro/FilsonPro-Light.woff2 +0 -0
  264. package/src/assets/fonts/FilsonPro/FilsonPro-LightItalic.eot +0 -0
  265. package/src/assets/fonts/FilsonPro/FilsonPro-LightItalic.ttf +0 -0
  266. package/src/assets/fonts/FilsonPro/FilsonPro-LightItalic.woff +0 -0
  267. package/src/assets/fonts/FilsonPro/FilsonPro-LightItalic.woff2 +0 -0
  268. package/src/assets/fonts/FilsonPro/FilsonPro-Medium.eot +0 -0
  269. package/src/assets/fonts/FilsonPro/FilsonPro-Medium.ttf +0 -0
  270. package/src/assets/fonts/FilsonPro/FilsonPro-Medium.woff +0 -0
  271. package/src/assets/fonts/FilsonPro/FilsonPro-Medium.woff2 +0 -0
  272. package/src/assets/fonts/FilsonPro/FilsonPro-MediumItalic.eot +0 -0
  273. package/src/assets/fonts/FilsonPro/FilsonPro-MediumItalic.ttf +0 -0
  274. package/src/assets/fonts/FilsonPro/FilsonPro-MediumItalic.woff +0 -0
  275. package/src/assets/fonts/FilsonPro/FilsonPro-MediumItalic.woff2 +0 -0
  276. package/src/assets/fonts/FilsonPro/FilsonPro-Regular.eot +0 -0
  277. package/src/assets/fonts/FilsonPro/FilsonPro-Regular.ttf +0 -0
  278. package/src/assets/fonts/FilsonPro/FilsonPro-Regular.woff +0 -0
  279. package/src/assets/fonts/FilsonPro/FilsonPro-Regular.woff2 +0 -0
  280. package/src/assets/fonts/FilsonPro/FilsonPro-RegularItalic.eot +0 -0
  281. package/src/assets/fonts/FilsonPro/FilsonPro-RegularItalic.ttf +0 -0
  282. package/src/assets/fonts/FilsonPro/FilsonPro-RegularItalic.woff +0 -0
  283. package/src/assets/fonts/FilsonPro/FilsonPro-RegularItalic.woff2 +0 -0
  284. package/src/assets/fonts/FilsonPro/FilsonPro-Thin.eot +0 -0
  285. package/src/assets/fonts/FilsonPro/FilsonPro-Thin.ttf +0 -0
  286. package/src/assets/fonts/FilsonPro/FilsonPro-Thin.woff +0 -0
  287. package/src/assets/fonts/FilsonPro/FilsonPro-Thin.woff2 +0 -0
  288. package/src/assets/fonts/FilsonPro/FilsonPro-ThinItalic.eot +0 -0
  289. package/src/assets/fonts/FilsonPro/FilsonPro-ThinItalic.ttf +0 -0
  290. package/src/assets/fonts/FilsonPro/FilsonPro-ThinItalic.woff +0 -0
  291. package/src/assets/fonts/FilsonPro/FilsonPro-ThinItalic.woff2 +0 -0
  292. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Bold.eot +0 -0
  293. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Bold.ttf +0 -0
  294. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Bold.woff +0 -0
  295. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Bold.woff2 +0 -0
  296. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-BoldItalic.eot +0 -0
  297. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-BoldItalic.ttf +0 -0
  298. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-BoldItalic.woff +0 -0
  299. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-BoldItalic.woff2 +0 -0
  300. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-CondensedBlack.eot +0 -0
  301. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-CondensedBlack.ttf +0 -0
  302. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-CondensedBlack.woff +0 -0
  303. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-CondensedBlack.woff2 +0 -0
  304. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-CondensedBold.eot +0 -0
  305. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-CondensedBold.ttf +0 -0
  306. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-CondensedBold.woff +0 -0
  307. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-CondensedBold.woff2 +0 -0
  308. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Italic.eot +0 -0
  309. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Italic.ttf +0 -0
  310. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Italic.woff +0 -0
  311. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Italic.woff2 +0 -0
  312. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Light.eot +0 -0
  313. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Light.ttf +0 -0
  314. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Light.woff +0 -0
  315. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Light.woff2 +0 -0
  316. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-LightItalic.eot +0 -0
  317. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-LightItalic.ttf +0 -0
  318. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-LightItalic.woff +0 -0
  319. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-LightItalic.woff2 +0 -0
  320. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Medium.eot +0 -0
  321. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Medium.ttf +0 -0
  322. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Medium.woff +0 -0
  323. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Medium.woff2 +0 -0
  324. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-MediumItalic.eot +0 -0
  325. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-MediumItalic.ttf +0 -0
  326. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-MediumItalic.woff +0 -0
  327. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-MediumItalic.woff2 +0 -0
  328. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Thin.eot +0 -0
  329. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Thin.ttf +0 -0
  330. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Thin.woff +0 -0
  331. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Thin.woff2 +0 -0
  332. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-ThinItalic.eot +0 -0
  333. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-ThinItalic.ttf +0 -0
  334. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-ThinItalic.woff +0 -0
  335. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-ThinItalic.woff2 +0 -0
  336. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-UltraLight.eot +0 -0
  337. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-UltraLight.ttf +0 -0
  338. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-UltraLight.woff +0 -0
  339. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-UltraLight.woff2 +0 -0
  340. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-UltraLightItalic.eot +0 -0
  341. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-UltraLightItalic.ttf +0 -0
  342. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-UltraLightItalic.woff +0 -0
  343. package/src/assets/fonts/HelveticaNeue/HelveticaNeue-UltraLightItalic.woff2 +0 -0
  344. package/src/assets/fonts/HelveticaNeue/HelveticaNeue.eot +0 -0
  345. package/src/assets/fonts/HelveticaNeue/HelveticaNeue.ttf +0 -0
  346. package/src/assets/fonts/HelveticaNeue/HelveticaNeue.woff +0 -0
  347. package/src/assets/fonts/HelveticaNeue/HelveticaNeue.woff2 +0 -0
  348. package/src/assets/fonts/HelveticaNeue/demo.html +0 -569
  349. package/src/assets/fonts/HelveticaNeue/stylesheet.css +0 -181
  350. package/src/assets/fonts/Lato/Lato-Black.eot +0 -0
  351. package/src/assets/fonts/Lato/Lato-Black.ttf +0 -0
  352. package/src/assets/fonts/Lato/Lato-Black.woff +0 -0
  353. package/src/assets/fonts/Lato/Lato-Black.woff2 +0 -0
  354. package/src/assets/fonts/Lato/Lato-Bold.eot +0 -0
  355. package/src/assets/fonts/Lato/Lato-Bold.ttf +0 -0
  356. package/src/assets/fonts/Lato/Lato-Bold.woff +0 -0
  357. package/src/assets/fonts/Lato/Lato-Bold.woff2 +0 -0
  358. package/src/assets/fonts/Lato/Lato-Light.eot +0 -0
  359. package/src/assets/fonts/Lato/Lato-Light.ttf +0 -0
  360. package/src/assets/fonts/Lato/Lato-Light.woff +0 -0
  361. package/src/assets/fonts/Lato/Lato-Light.woff2 +0 -0
  362. package/src/assets/fonts/Lato/Lato-Regular.eot +0 -0
  363. package/src/assets/fonts/Lato/Lato-Regular.ttf +0 -0
  364. package/src/assets/fonts/Lato/Lato-Regular.woff +0 -0
  365. package/src/assets/fonts/Lato/Lato-Regular.woff2 +0 -0
  366. package/src/assets/fonts/Lux-Icons.woff2 +0 -0
  367. package/src/assets/fonts/MaterialIcons-Regular.eot +0 -0
  368. package/src/assets/fonts/MaterialIcons-Regular.ttf +0 -0
  369. package/src/assets/fonts/MaterialIcons-Regular.woff +0 -0
  370. package/src/assets/fonts/MaterialIcons-Regular.woff2 +0 -0
  371. package/src/assets/fonts/OpenSans-Regular.ttf +0 -0
  372. package/src/assets/fonts/Roboto-Regular.ttf +0 -0
  373. package/src/assets/images/logo-transparent.png +0 -0
  374. package/src/assets/svgs/atomix-logo.svg +0 -9
  375. package/src/components/Accordion/Accordion.stories.tsx +0 -271
  376. package/src/components/Accordion/Accordion.tsx +0 -131
  377. package/src/components/Accordion/index.ts +0 -3
  378. package/src/components/Accordion/scripts/accordionInteractions.ts +0 -70
  379. package/src/components/Accordion/scripts/bundle.ts +0 -24
  380. package/src/components/Accordion/scripts/constants.ts +0 -11
  381. package/src/components/Accordion/scripts/index.ts +0 -212
  382. package/src/components/AtomixLogo/AtomixLogo.tsx +0 -36
  383. package/src/components/AtomixLogo/index.ts +0 -3
  384. package/src/components/AtomixLogo.tsx +0 -40
  385. package/src/components/Avatar/Avatar.stories.tsx +0 -263
  386. package/src/components/Avatar/Avatar.tsx +0 -68
  387. package/src/components/Avatar/AvatarGroup.tsx +0 -73
  388. package/src/components/Avatar/index.ts +0 -3
  389. package/src/components/Avatar/scripts/index.ts +0 -497
  390. package/src/components/Badge/Badge.stories.tsx +0 -374
  391. package/src/components/Badge/Badge.tsx +0 -39
  392. package/src/components/Badge/index.ts +0 -3
  393. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +0 -108
  394. package/src/components/Breadcrumb/Breadcrumb.tsx +0 -112
  395. package/src/components/Breadcrumb/index.ts +0 -3
  396. package/src/components/Breadcrumb/scripts/breadcrumb.ts +0 -208
  397. package/src/components/Breadcrumb/scripts/demo.html +0 -246
  398. package/src/components/Breadcrumb/scripts/index.ts +0 -5
  399. package/src/components/Breadcrumb/scripts/types.ts +0 -69
  400. package/src/components/Button/Button.stories.tsx +0 -313
  401. package/src/components/Button/Button.tsx +0 -70
  402. package/src/components/Button/index.ts +0 -3
  403. package/src/components/Button/scripts/buttonInteractions.ts +0 -73
  404. package/src/components/Button/scripts/index.ts +0 -1
  405. package/src/components/Callout/Callout.stories.tsx +0 -595
  406. package/src/components/Callout/Callout.tsx +0 -78
  407. package/src/components/Callout/index.ts +0 -1
  408. package/src/components/Callout/scripts/CalloutInteractions.ts +0 -350
  409. package/src/components/Callout/scripts/bundle.ts +0 -18
  410. package/src/components/Callout/scripts/index.ts +0 -130
  411. package/src/components/Card/Card.stories.tsx +0 -107
  412. package/src/components/Card/Card.tsx +0 -69
  413. package/src/components/Card/ElevationCard.tsx +0 -47
  414. package/src/components/Card/index.ts +0 -15
  415. package/src/components/Card/scripts/bundle.ts +0 -30
  416. package/src/components/Card/scripts/cardInteractions.ts +0 -171
  417. package/src/components/Card/scripts/demo.html +0 -322
  418. package/src/components/Card/scripts/index.ts +0 -318
  419. package/src/components/ColorModeToggle/ColorModeToggle.stories.tsx +0 -46
  420. package/src/components/ColorModeToggle/ColorModeToggle.tsx +0 -85
  421. package/src/components/ColorModeToggle/index.ts +0 -2
  422. package/src/components/Countdown/Countdown.stories.tsx +0 -47
  423. package/src/components/Countdown/Countdown.tsx +0 -90
  424. package/src/components/Countdown/index.ts +0 -2
  425. package/src/components/Countdown/scripts/index.ts +0 -238
  426. package/src/components/DataTable/DataTable.stories.tsx +0 -249
  427. package/src/components/DataTable/DataTable.tsx +0 -213
  428. package/src/components/DataTable/index.ts +0 -3
  429. package/src/components/DataTable/scripts/bundle.ts +0 -20
  430. package/src/components/DataTable/scripts/index.ts +0 -781
  431. package/src/components/DatePicker/DatePicker.stories.tsx +0 -365
  432. package/src/components/DatePicker/DatePicker.tsx +0 -504
  433. package/src/components/DatePicker/index.ts +0 -4
  434. package/src/components/DatePicker/readme.md +0 -106
  435. package/src/components/DatePicker/scripts/bundle.ts +0 -39
  436. package/src/components/DatePicker/scripts/componentInteractions.ts +0 -230
  437. package/src/components/DatePicker/scripts/index.ts +0 -907
  438. package/src/components/DatePicker/types.ts +0 -167
  439. package/src/components/DatePicker/utils.ts +0 -163
  440. package/src/components/Dropdown/Dropdown.stories.tsx +0 -359
  441. package/src/components/Dropdown/Dropdown.tsx +0 -352
  442. package/src/components/Dropdown/index.ts +0 -14
  443. package/src/components/Dropdown/readme.md +0 -151
  444. package/src/components/Dropdown/scripts/bundle.ts +0 -24
  445. package/src/components/Dropdown/scripts/componentInteractions.ts +0 -39
  446. package/src/components/Dropdown/scripts/index.ts +0 -612
  447. package/src/components/EdgePanel/EdgePanel.stories.tsx +0 -267
  448. package/src/components/EdgePanel/EdgePanel.tsx +0 -73
  449. package/src/components/EdgePanel/index.ts +0 -1
  450. package/src/components/EdgePanel/scripts/bundle.ts +0 -30
  451. package/src/components/EdgePanel/scripts/edgePanelInteractions.ts +0 -206
  452. package/src/components/EdgePanel/scripts/index.ts +0 -415
  453. package/src/components/Form/Checkbox.stories.tsx +0 -77
  454. package/src/components/Form/Checkbox.tsx +0 -69
  455. package/src/components/Form/Form.stories.tsx +0 -491
  456. package/src/components/Form/Form.tsx +0 -46
  457. package/src/components/Form/FormGroup.stories.tsx +0 -163
  458. package/src/components/Form/FormGroup.tsx +0 -53
  459. package/src/components/Form/Input.stories.tsx +0 -107
  460. package/src/components/Form/Input.tsx +0 -87
  461. package/src/components/Form/Radio.stories.tsx +0 -95
  462. package/src/components/Form/Radio.tsx +0 -65
  463. package/src/components/Form/Select.stories.tsx +0 -152
  464. package/src/components/Form/Select.tsx +0 -191
  465. package/src/components/Form/Textarea.stories.tsx +0 -124
  466. package/src/components/Form/Textarea.tsx +0 -78
  467. package/src/components/Form/index.ts +0 -7
  468. package/src/components/Hero/Hero.stories.tsx +0 -297
  469. package/src/components/Hero/Hero.tsx +0 -175
  470. package/src/components/Hero/index.ts +0 -6
  471. package/src/components/Hero/scripts/bundle.ts +0 -33
  472. package/src/components/Hero/scripts/heroInteractions.ts +0 -130
  473. package/src/components/Hero/scripts/index.ts +0 -144
  474. package/src/components/Icon/Icon.tsx +0 -87
  475. package/src/components/Icon/index.ts +0 -2
  476. package/src/components/List/List.stories.tsx +0 -123
  477. package/src/components/List/List.tsx +0 -35
  478. package/src/components/List/ListGroup.tsx +0 -34
  479. package/src/components/List/index.ts +0 -2
  480. package/src/components/Messages/Messages.stories.tsx +0 -161
  481. package/src/components/Messages/Messages.tsx +0 -172
  482. package/src/components/Messages/index.ts +0 -3
  483. package/src/components/Messages/scripts/bundle.ts +0 -47
  484. package/src/components/Messages/scripts/componentInteractions.ts +0 -132
  485. package/src/components/Messages/scripts/index.ts +0 -378
  486. package/src/components/Modal/Modal.stories.tsx +0 -288
  487. package/src/components/Modal/Modal.tsx +0 -198
  488. package/src/components/Modal/README.md +0 -169
  489. package/src/components/Modal/index.ts +0 -1
  490. package/src/components/Modal/scripts/bundle.ts +0 -23
  491. package/src/components/Modal/scripts/index.ts +0 -374
  492. package/src/components/Modal/scripts/modalInteractions.ts +0 -141
  493. package/src/components/Navigation/Menu/MegaMenu.tsx +0 -107
  494. package/src/components/Navigation/Menu/Menu.stories.tsx +0 -340
  495. package/src/components/Navigation/Menu/Menu.tsx +0 -110
  496. package/src/components/Navigation/Nav/Nav.stories.tsx +0 -458
  497. package/src/components/Navigation/Nav/Nav.tsx +0 -50
  498. package/src/components/Navigation/Nav/NavDropdown.tsx +0 -105
  499. package/src/components/Navigation/Nav/NavItem.tsx +0 -166
  500. package/src/components/Navigation/Navbar/Navbar.stories.tsx +0 -552
  501. package/src/components/Navigation/Navbar/Navbar.tsx +0 -150
  502. package/src/components/Navigation/README.md +0 -314
  503. package/src/components/Navigation/SideMenu/SideMenu.README.md +0 -494
  504. package/src/components/Navigation/SideMenu/SideMenu.stories.tsx +0 -618
  505. package/src/components/Navigation/SideMenu/SideMenu.tsx +0 -101
  506. package/src/components/Navigation/SideMenu/SideMenuItem.tsx +0 -103
  507. package/src/components/Navigation/SideMenu/SideMenuList.tsx +0 -41
  508. package/src/components/Navigation/index.ts +0 -23
  509. package/src/components/Navigation/scripts/NavbarInteractions.ts +0 -171
  510. package/src/components/Navigation/scripts/SideMenu.ts +0 -319
  511. package/src/components/Navigation/scripts/SideMenuBundle.ts +0 -69
  512. package/src/components/Navigation/scripts/SideMenuInteractions.ts +0 -250
  513. package/src/components/Navigation/scripts/bundle.ts +0 -58
  514. package/src/components/Navigation/scripts/index.ts +0 -248
  515. package/src/components/Pagination/Pagination.stories.tsx +0 -194
  516. package/src/components/Pagination/Pagination.tsx +0 -162
  517. package/src/components/Pagination/index.ts +0 -1
  518. package/src/components/Pagination/scripts/bundle.ts +0 -15
  519. package/src/components/Pagination/scripts/index.ts +0 -315
  520. package/src/components/PhotoViewer/PhotoViewer.stories.tsx +0 -160
  521. package/src/components/PhotoViewer/PhotoViewer.tsx +0 -246
  522. package/src/components/PhotoViewer/PhotoViewerHeader.tsx +0 -177
  523. package/src/components/PhotoViewer/PhotoViewerImage.tsx +0 -173
  524. package/src/components/PhotoViewer/PhotoViewerInfo.tsx +0 -65
  525. package/src/components/PhotoViewer/PhotoViewerNavigation.tsx +0 -82
  526. package/src/components/PhotoViewer/PhotoViewerThumbnails.tsx +0 -53
  527. package/src/components/PhotoViewer/README.md +0 -358
  528. package/src/components/PhotoViewer/examples/ImageGallery.tsx +0 -190
  529. package/src/components/PhotoViewer/examples/SimpleGallery.tsx +0 -77
  530. package/src/components/PhotoViewer/examples/index.ts +0 -2
  531. package/src/components/PhotoViewer/index.ts +0 -14
  532. package/src/components/PhotoViewer/scripts/PhotoViewerInteractions.ts +0 -253
  533. package/src/components/PhotoViewer/scripts/bundle.ts +0 -81
  534. package/src/components/PhotoViewer/scripts/index.ts +0 -947
  535. package/src/components/Popover/Popover.stories.tsx +0 -143
  536. package/src/components/Popover/Popover.tsx +0 -137
  537. package/src/components/Popover/index.ts +0 -5
  538. package/src/components/Popover/readme.md +0 -120
  539. package/src/components/Popover/scripts/bundle.ts +0 -12
  540. package/src/components/Popover/scripts/componentInteractions.ts +0 -299
  541. package/src/components/Popover/scripts/index.ts +0 -342
  542. package/src/components/ProductReview/ProductReview.stories.tsx +0 -88
  543. package/src/components/ProductReview/ProductReview.tsx +0 -169
  544. package/src/components/ProductReview/index.ts +0 -3
  545. package/src/components/ProductReview/scripts/bundle.ts +0 -3
  546. package/src/components/ProductReview/scripts/componentInteractions.ts +0 -129
  547. package/src/components/ProductReview/scripts/index.ts +0 -3
  548. package/src/components/Progress/Progress.stories.tsx +0 -75
  549. package/src/components/Progress/Progress.tsx +0 -45
  550. package/src/components/Progress/index.ts +0 -1
  551. package/src/components/Progress/scripts/bundle.ts +0 -17
  552. package/src/components/Progress/scripts/componentInteractions.ts +0 -101
  553. package/src/components/Progress/scripts/index.ts +0 -184
  554. package/src/components/Rating/Rating.stories.tsx +0 -109
  555. package/src/components/Rating/Rating.tsx +0 -286
  556. package/src/components/Rating/index.ts +0 -6
  557. package/src/components/Rating/scripts/bundle.ts +0 -39
  558. package/src/components/Rating/scripts/index.d.ts +0 -12
  559. package/src/components/Rating/scripts/index.ts +0 -336
  560. package/src/components/Rating/scripts/ratingInteractions.ts +0 -160
  561. package/src/components/River/River.stories.tsx +0 -230
  562. package/src/components/River/River.tsx +0 -162
  563. package/src/components/River/examples.html +0 -223
  564. package/src/components/River/index.ts +0 -2
  565. package/src/components/River/scripts/index.ts +0 -137
  566. package/src/components/SectionIntro/SectionIntro.stories.tsx +0 -145
  567. package/src/components/SectionIntro/SectionIntro.tsx +0 -197
  568. package/src/components/SectionIntro/index.ts +0 -3
  569. package/src/components/SectionIntro/scripts/bundle.ts +0 -9
  570. package/src/components/SectionIntro/scripts/componentInteractions.ts +0 -37
  571. package/src/components/SectionIntro/scripts/index.ts +0 -163
  572. package/src/components/Spinner/Spinner.stories.tsx +0 -66
  573. package/src/components/Spinner/Spinner.tsx +0 -36
  574. package/src/components/Spinner/index.ts +0 -2
  575. package/src/components/Steps/Steps.stories.tsx +0 -158
  576. package/src/components/Steps/Steps.tsx +0 -154
  577. package/src/components/Steps/index.ts +0 -3
  578. package/src/components/Steps/scripts/index.ts +0 -159
  579. package/src/components/Tab/Tab.stories.tsx +0 -129
  580. package/src/components/Tab/Tab.tsx +0 -133
  581. package/src/components/Tab/index.ts +0 -2
  582. package/src/components/Tab/scripts/index.ts +0 -200
  583. package/src/components/Testimonial/Testimonial.stories.tsx +0 -180
  584. package/src/components/Testimonial/Testimonial.tsx +0 -148
  585. package/src/components/Testimonial/index.ts +0 -3
  586. package/src/components/Testimonial/scripts/index.ts +0 -107
  587. package/src/components/Todo/Todo.stories.tsx +0 -107
  588. package/src/components/Todo/Todo.tsx +0 -158
  589. package/src/components/Todo/index.ts +0 -1
  590. package/src/components/Todo/scripts/bundle.ts +0 -14
  591. package/src/components/Todo/scripts/index.ts +0 -574
  592. package/src/components/Todo/scripts/todoInteractions.ts +0 -118
  593. package/src/components/Todo/scripts/types.ts +0 -19
  594. package/src/components/Toggle/Toggle.stories.tsx +0 -50
  595. package/src/components/Toggle/Toggle.tsx +0 -114
  596. package/src/components/Toggle/index.ts +0 -2
  597. package/src/components/Toggle/scripts/bundle.ts +0 -19
  598. package/src/components/Toggle/scripts/index.ts +0 -118
  599. package/src/components/Toggle/scripts/toggleInteractions.ts +0 -77
  600. package/src/components/Tooltip/Tooltip.stories.tsx +0 -115
  601. package/src/components/Tooltip/Tooltip.tsx +0 -105
  602. package/src/components/Tooltip/index.ts +0 -3
  603. package/src/components/Tooltip/scripts/bundle.ts +0 -0
  604. package/src/components/Tooltip/scripts/index.ts +0 -395
  605. package/src/components/Tooltip/scripts/tooltipInteractions.ts +0 -165
  606. package/src/components/Upload/Upload.stories.tsx +0 -221
  607. package/src/components/Upload/Upload.tsx +0 -422
  608. package/src/components/Upload/index.ts +0 -3
  609. package/src/components/Upload/scripts/index.ts +0 -467
  610. package/src/components/index.ts +0 -42
  611. package/src/design-tokens/BoxShadow/BoxShadow.stories.tsx +0 -115
  612. package/src/design-tokens/Colors/colors.scss +0 -121
  613. package/src/design-tokens/Colors/colors.stories.tsx +0 -313
  614. package/src/design-tokens/Spacing/Spacing.scss +0 -62
  615. package/src/design-tokens/Spacing/Spacing.stories.tsx +0 -115
  616. package/src/design-tokens/Typography/Typography.scss +0 -240
  617. package/src/design-tokens/Typography/Typography.stories.tsx +0 -167
  618. package/src/docs/atomix-component-guidelines.mdx +0 -942
  619. package/src/docs/atomix-roadmap.mdx +0 -325
  620. package/src/docs/implementation-guide.mdx +0 -506
  621. package/src/index.ts +0 -26
  622. package/src/layouts/Grid/Container.tsx +0 -58
  623. package/src/layouts/Grid/Grid.stories.tsx +0 -560
  624. package/src/layouts/Grid/Grid.tsx +0 -68
  625. package/src/layouts/Grid/GridCol.tsx +0 -161
  626. package/src/layouts/Grid/README.md +0 -108
  627. package/src/layouts/Grid/Row.tsx +0 -70
  628. package/src/layouts/Grid/index.ts +0 -8
  629. package/src/layouts/MasonryGrid/MasonryGrid.stories.tsx +0 -388
  630. package/src/layouts/MasonryGrid/MasonryGrid.tsx +0 -408
  631. package/src/layouts/MasonryGrid/MasonryGridItem.tsx +0 -44
  632. package/src/layouts/MasonryGrid/README.md +0 -117
  633. package/src/layouts/MasonryGrid/index.ts +0 -4
  634. package/src/layouts/index.ts +0 -9
  635. package/src/lib/README.md +0 -89
  636. package/src/lib/composables/index.ts +0 -44
  637. package/src/lib/composables/useAccordion.ts +0 -129
  638. package/src/lib/composables/useBadge.ts +0 -42
  639. package/src/lib/composables/useBreadcrumb.ts +0 -74
  640. package/src/lib/composables/useButton.ts +0 -59
  641. package/src/lib/composables/useCallout.ts +0 -55
  642. package/src/lib/composables/useCard.ts +0 -155
  643. package/src/lib/composables/useCheckbox.ts +0 -70
  644. package/src/lib/composables/useDataTable.ts +0 -208
  645. package/src/lib/composables/useDatePicker.ts +0 -562
  646. package/src/lib/composables/useDropdown.ts +0 -272
  647. package/src/lib/composables/useEdgePanel.ts +0 -261
  648. package/src/lib/composables/useForm.ts +0 -62
  649. package/src/lib/composables/useFormGroup.ts +0 -51
  650. package/src/lib/composables/useHero.ts +0 -250
  651. package/src/lib/composables/useInput.ts +0 -58
  652. package/src/lib/composables/useMessages.ts +0 -77
  653. package/src/lib/composables/useModal.ts +0 -110
  654. package/src/lib/composables/useNavbar.ts +0 -288
  655. package/src/lib/composables/usePagination.ts +0 -101
  656. package/src/lib/composables/usePhotoViewer.ts +0 -904
  657. package/src/lib/composables/usePopover.ts +0 -354
  658. package/src/lib/composables/useProgress.ts +0 -74
  659. package/src/lib/composables/useRadio.ts +0 -47
  660. package/src/lib/composables/useRating.ts +0 -174
  661. package/src/lib/composables/useRiver.ts +0 -205
  662. package/src/lib/composables/useSelect.ts +0 -52
  663. package/src/lib/composables/useSideMenu.ts +0 -197
  664. package/src/lib/composables/useSpinner.ts +0 -42
  665. package/src/lib/composables/useTextarea.ts +0 -55
  666. package/src/lib/composables/useTodo.ts +0 -141
  667. package/src/lib/constants/components.ts +0 -1050
  668. package/src/lib/constants/index.ts +0 -4
  669. package/src/lib/index.ts +0 -11
  670. package/src/lib/types/components.ts +0 -2513
  671. package/src/lib/types/index.ts +0 -2
  672. package/src/lib/utils/dom.ts +0 -41
  673. package/src/lib/utils/icons.ts +0 -74
  674. package/src/lib/utils/index.ts +0 -20
  675. package/src/lib/utils/useForkRef.ts +0 -36
@@ -1,904 +0,0 @@
1
- import React, { useState, useEffect, useCallback, useRef } from 'react';
2
-
3
- interface UsePhotoViewerProps {
4
- images: (string | { src: string; [key: string]: any })[];
5
- startIndex?: number;
6
- enableGestures?: boolean;
7
- onImageChange?: (index: number) => void;
8
- onClose?: () => void;
9
- }
10
-
11
- interface ImageState {
12
- zoomLevel: number;
13
- position: { x: number; y: number };
14
- rotation: number;
15
- bounds: {
16
- minX: number;
17
- maxX: number;
18
- minY: number;
19
- maxY: number;
20
- };
21
- }
22
-
23
- export const usePhotoViewer = ({
24
- images,
25
- startIndex = 0,
26
- enableGestures = true,
27
- onImageChange,
28
- onClose,
29
- }: UsePhotoViewerProps) => {
30
- const [currentIndex, setCurrentIndex] = useState(startIndex);
31
- const [isModalOpen, setIsModalOpen] = useState(false);
32
- const [isDragging, setIsDragging] = useState(false);
33
- const [startDragPosition, setStartDragPosition] = useState({ x: 0, y: 0 });
34
- const [isFullscreen, setIsFullscreen] = useState(false);
35
- const [showInfo, setShowInfo] = useState(false);
36
- const [imageStates, setImageStates] = useState<Record<number, ImageState>>({});
37
- const [isTransitioning, setIsTransitioning] = useState(false);
38
- const [isMounted, setIsMounted] = useState(false);
39
- const [momentumZoom, setMomentumZoom] = useState({ velocity: 0, timestamp: 0 });
40
-
41
- // Ref for the image element
42
- const imageRef = useRef<HTMLImageElement>(null);
43
- const containerRef = useRef<HTMLDivElement>(null);
44
-
45
- // Track touch points for pinch zoom
46
- const touchPointsRef = useRef<{ x: number; y: number }[]>([]);
47
- const lastDistanceRef = useRef<number | null>(null);
48
- const lastMidpointRef = useRef<{ x: number; y: number } | null>(null);
49
- const lastWheelTime = useRef<number>(0);
50
- const momentumTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);
51
-
52
- // Calculate dragging bounds based on zoom level and image dimensions
53
- const calculateBounds = useCallback(
54
- (zoomLevel: number, rotation: number) => {
55
- if (!isMounted || !imageRef.current || !containerRef.current) {
56
- return { minX: 0, maxX: 0, minY: 0, maxY: 0 };
57
- }
58
-
59
- const image = imageRef.current;
60
- const container = containerRef.current;
61
-
62
- // Additional safety check for DOM readiness
63
- if (!image.naturalWidth && !image.width) {
64
- return { minX: 0, maxX: 0, minY: 0, maxY: 0 };
65
- }
66
-
67
- // Get natural image dimensions
68
- const imageWidth = image.naturalWidth || image.width || 800;
69
- const imageHeight = image.naturalHeight || image.height || 600;
70
-
71
- // Get container dimensions with null check
72
- try {
73
- const containerRect = container.getBoundingClientRect();
74
- if (!containerRect || containerRect.width === 0 || containerRect.height === 0) {
75
- return { minX: 0, maxX: 0, minY: 0, maxY: 0 };
76
- }
77
- const containerWidth = containerRect.width;
78
- const containerHeight = containerRect.height;
79
-
80
- // Calculate image display dimensions considering rotation
81
- const rotationRad = (rotation * Math.PI) / 180;
82
- const cos = Math.abs(Math.cos(rotationRad));
83
- const sin = Math.abs(Math.sin(rotationRad));
84
-
85
- // Calculate the actual display size of the image
86
- const aspectRatio = imageWidth / imageHeight;
87
- let displayWidth, displayHeight;
88
-
89
- if (containerWidth / containerHeight > aspectRatio) {
90
- displayHeight = Math.min(containerHeight * 0.9, imageHeight);
91
- displayWidth = displayHeight * aspectRatio;
92
- } else {
93
- displayWidth = Math.min(containerWidth * 0.9, imageWidth);
94
- displayHeight = displayWidth / aspectRatio;
95
- }
96
-
97
- // Account for rotation in bounds calculation
98
- const rotatedWidth = displayWidth * cos + displayHeight * sin;
99
- const rotatedHeight = displayWidth * sin + displayHeight * cos;
100
-
101
- // Calculate scaled dimensions
102
- const scaledWidth = rotatedWidth * zoomLevel;
103
- const scaledHeight = rotatedHeight * zoomLevel;
104
-
105
- // Calculate bounds - how far we can drag
106
- const maxX = Math.max(0, (scaledWidth - containerWidth) / 2);
107
- const maxY = Math.max(0, (scaledHeight - containerHeight) / 2);
108
-
109
- return {
110
- minX: -maxX,
111
- maxX: maxX,
112
- minY: -maxY,
113
- maxY: maxY,
114
- };
115
- } catch (error) {
116
- console.warn('PhotoViewer: Error calculating bounds', error);
117
- return { minX: 0, maxX: 0, minY: 0, maxY: 0 };
118
- }
119
- },
120
- [isMounted]
121
- );
122
-
123
- // Constrain position within bounds
124
- const constrainPosition = useCallback(
125
- (position: { x: number; y: number }, bounds: ImageState['bounds']) => {
126
- return {
127
- x: Math.max(bounds.minX, Math.min(bounds.maxX, position.x)),
128
- y: Math.max(bounds.minY, Math.min(bounds.maxY, position.y)),
129
- };
130
- },
131
- []
132
- );
133
-
134
- // Mount tracking and ensure the current index is within bounds
135
- useEffect(() => {
136
- setIsMounted(true);
137
- if (startIndex < 0 || startIndex >= images.length) {
138
- setCurrentIndex(0);
139
- } else {
140
- setCurrentIndex(startIndex);
141
- }
142
- return () => setIsMounted(false);
143
- }, [images, startIndex]);
144
-
145
- // Handle modal open/close body class
146
- useEffect(() => {
147
- if (isModalOpen) {
148
- document.body.classList.add('is-open-photoviewer');
149
- } else {
150
- document.body.classList.remove('is-open-photoviewer');
151
- }
152
- }, [isModalOpen]);
153
-
154
- // Initialize state for current image when index changes
155
- useEffect(() => {
156
- if (isModalOpen) {
157
- setImageStates(prev => {
158
- if (!prev[currentIndex]) {
159
- return {
160
- ...prev,
161
- [currentIndex]: {
162
- zoomLevel: 1,
163
- position: { x: 0, y: 0 },
164
- rotation: 0,
165
- bounds: { minX: 0, maxX: 0, minY: 0, maxY: 0 },
166
- },
167
- };
168
- }
169
- return prev;
170
- });
171
- }
172
- }, [isModalOpen, currentIndex]);
173
-
174
- // Call onImageChange callback when current index changes
175
- useEffect(() => {
176
- if (onImageChange) {
177
- onImageChange(currentIndex);
178
- }
179
- }, [currentIndex, onImageChange]);
180
-
181
- // Update bounds when image loads or dimensions change
182
- useEffect(() => {
183
- const image = imageRef.current;
184
- const container = containerRef.current;
185
-
186
- const updateImageBounds = (): void => {
187
- if (!isMounted || !image || !container) return undefined;
188
-
189
- setImageStates(prev => {
190
- const currentState = prev[currentIndex] || {
191
- zoomLevel: 1,
192
- position: { x: 0, y: 0 },
193
- rotation: 0,
194
- bounds: { minX: 0, maxX: 0, minY: 0, maxY: 0 },
195
- };
196
-
197
- const newBounds = calculateBounds(currentState.zoomLevel, currentState.rotation);
198
- const constrainedPosition = constrainPosition(currentState.position, newBounds);
199
-
200
- return {
201
- ...prev,
202
- [currentIndex]: {
203
- ...currentState,
204
- bounds: newBounds,
205
- position: constrainedPosition,
206
- },
207
- };
208
- });
209
- };
210
-
211
- if (image && container && image.complete && isMounted) {
212
- updateImageBounds();
213
- return undefined;
214
- } else if (image && container && isMounted) {
215
- image.addEventListener('load', updateImageBounds);
216
- return () => image.removeEventListener('load', updateImageBounds);
217
- }
218
- return undefined;
219
- }, [currentIndex, calculateBounds, constrainPosition, isMounted]);
220
-
221
- // Handle window resize
222
- useEffect(() => {
223
- const handleResize = (): void => {
224
- if (!isMounted || !imageRef.current || !containerRef.current) return undefined;
225
-
226
- setImageStates(prev => {
227
- const currentState = prev[currentIndex] || {
228
- zoomLevel: 1,
229
- position: { x: 0, y: 0 },
230
- rotation: 0,
231
- bounds: { minX: 0, maxX: 0, minY: 0, maxY: 0 },
232
- };
233
-
234
- const newBounds = calculateBounds(currentState.zoomLevel, currentState.rotation);
235
- const constrainedPosition = constrainPosition(currentState.position, newBounds);
236
-
237
- return {
238
- ...prev,
239
- [currentIndex]: {
240
- ...currentState,
241
- bounds: newBounds,
242
- position: constrainedPosition,
243
- },
244
- };
245
- });
246
- };
247
-
248
- window.addEventListener('resize', handleResize);
249
- return () => window.removeEventListener('resize', handleResize);
250
- }, [currentIndex, calculateBounds, constrainPosition, isMounted]);
251
-
252
- const openModal = useCallback(() => {
253
- setIsModalOpen(true);
254
- }, []);
255
-
256
- const closeModal = useCallback(() => {
257
- setIsModalOpen(false);
258
- if (onClose) onClose();
259
- }, [onClose]);
260
-
261
- const goToPrevious = useCallback(() => {
262
- if (currentIndex > 0) {
263
- setIsTransitioning(true);
264
- setTimeout(() => {
265
- setCurrentIndex(prev => prev - 1);
266
- setIsTransitioning(false);
267
- }, 150);
268
- }
269
- }, [currentIndex]);
270
-
271
- const goToNext = useCallback(() => {
272
- if (currentIndex < images.length - 1) {
273
- setIsTransitioning(true);
274
- setTimeout(() => {
275
- setCurrentIndex(prev => prev + 1);
276
- setIsTransitioning(false);
277
- }, 150);
278
- }
279
- }, [currentIndex, images.length]);
280
-
281
- const setZoomLevel = useCallback(
282
- (zoom: number | ((prev: number) => number)) => {
283
- setImageStates(prev => {
284
- const currentState = prev[currentIndex] || {
285
- zoomLevel: 1,
286
- position: { x: 0, y: 0 },
287
- rotation: 0,
288
- bounds: { minX: 0, maxX: 0, minY: 0, maxY: 0 },
289
- };
290
-
291
- const newZoom = typeof zoom === 'function' ? zoom(currentState.zoomLevel) : zoom;
292
- const clampedZoom = Math.max(0.1, Math.min(5, newZoom));
293
-
294
- const newBounds = calculateBounds(clampedZoom, currentState.rotation);
295
- const constrainedPosition = constrainPosition(currentState.position, newBounds);
296
-
297
- return {
298
- ...prev,
299
- [currentIndex]: {
300
- ...currentState,
301
- zoomLevel: clampedZoom,
302
- bounds: newBounds,
303
- position: constrainedPosition,
304
- },
305
- };
306
- });
307
- },
308
- [isMounted, currentIndex, calculateBounds, constrainPosition]
309
- );
310
-
311
- const setImagePosition = useCallback(
312
- (
313
- position:
314
- | { x: number; y: number }
315
- | ((prev: { x: number; y: number }) => { x: number; y: number })
316
- ) => {
317
- setImageStates(prev => {
318
- const currentState = prev[currentIndex] || {
319
- zoomLevel: 1,
320
- position: { x: 0, y: 0 },
321
- rotation: 0,
322
- bounds: { minX: 0, maxX: 0, minY: 0, maxY: 0 },
323
- };
324
-
325
- const newPosition =
326
- typeof position === 'function' ? position(currentState.position) : position;
327
- const constrainedPosition = constrainPosition(newPosition, currentState.bounds);
328
-
329
- return {
330
- ...prev,
331
- [currentIndex]: {
332
- ...currentState,
333
- position: constrainedPosition,
334
- },
335
- };
336
- });
337
- },
338
- [currentIndex, constrainPosition]
339
- );
340
-
341
- const setRotationAngle = useCallback(
342
- (rotation: number | ((prev: number) => number)) => {
343
- setImageStates(prev => {
344
- const currentState = prev[currentIndex] || {
345
- zoomLevel: 1,
346
- position: { x: 0, y: 0 },
347
- rotation: 0,
348
- bounds: { minX: 0, maxX: 0, minY: 0, maxY: 0 },
349
- };
350
-
351
- const newRotation =
352
- typeof rotation === 'function' ? rotation(currentState.rotation) : rotation;
353
- const normalizedRotation = ((newRotation % 360) + 360) % 360;
354
-
355
- const newBounds = calculateBounds(currentState.zoomLevel, normalizedRotation);
356
- const constrainedPosition = constrainPosition(currentState.position, newBounds);
357
-
358
- return {
359
- ...prev,
360
- [currentIndex]: {
361
- ...currentState,
362
- rotation: normalizedRotation,
363
- bounds: newBounds,
364
- position: constrainedPosition,
365
- },
366
- };
367
- });
368
- },
369
- [isMounted, currentIndex, calculateBounds, constrainPosition]
370
- );
371
-
372
- // Handle mouse wheel for zooming with proper bounds
373
- const handleWheel = useCallback(
374
- (event: React.WheelEvent<HTMLDivElement>) => {
375
- if (!isMounted || !event || !event.currentTarget) return;
376
-
377
- // Additional safety check for the target element
378
- const target = event.currentTarget;
379
- if (!target || typeof target.getBoundingClientRect !== 'function') return;
380
-
381
- // Storybook-specific safety check - ensure DOM is ready
382
- if (typeof window !== 'undefined' && window.location?.href?.includes('storybook')) {
383
- try {
384
- // Test if getBoundingClientRect works before proceeding
385
- const testRect = target.getBoundingClientRect();
386
- if (!testRect || testRect.width === 0 || testRect.height === 0) return;
387
- } catch (e) {
388
- return;
389
- }
390
- }
391
-
392
- setImageStates(prev => {
393
- const currentState = prev[currentIndex] || {
394
- zoomLevel: 1,
395
- position: { x: 0, y: 0 },
396
- rotation: 0,
397
- bounds: { minX: 0, maxX: 0, minY: 0, maxY: 0 },
398
- };
399
-
400
- // Advanced gesture detection for different input methods
401
- const isMac = /Mac|iPod|iPhone|iPad/.test(navigator.platform);
402
- const isTrackpadPinch = event.ctrlKey && isMac;
403
- const hasHorizontalScroll = Math.abs(event.deltaX) > 0;
404
- const isTrackpadScroll = !event.ctrlKey && hasHorizontalScroll && isMac;
405
- const isMagicMouse = !event.ctrlKey && !hasHorizontalScroll && isMac;
406
- const isRegularMouse = !isMac;
407
-
408
- // Handle different input methods with appropriate sensitivity
409
- let zoomAmount: number;
410
- let shouldPreventDefault = false;
411
-
412
- if (isTrackpadPinch) {
413
- // MacBook trackpad pinch zoom - natural, high sensitivity
414
- zoomAmount = event.deltaY * -0.02;
415
- shouldPreventDefault = true;
416
- } else if (isTrackpadScroll) {
417
- // MacBook trackpad scroll with two fingers
418
- if (currentState.zoomLevel > 1) {
419
- // Only zoom when already zoomed in, otherwise allow natural scroll
420
- zoomAmount = event.deltaY * -0.003;
421
- shouldPreventDefault = true;
422
- } else {
423
- return prev; // Allow page scroll when not zoomed
424
- }
425
- } else if (isMagicMouse) {
426
- // Apple Magic Mouse - less sensitive
427
- zoomAmount = event.deltaY * -0.004;
428
- shouldPreventDefault = true;
429
- } else if (isRegularMouse) {
430
- // Regular mouse wheel - medium sensitivity
431
- zoomAmount = event.deltaY * -0.006;
432
- shouldPreventDefault = true;
433
- } else {
434
- // Fallback for other input methods
435
- zoomAmount = event.deltaY * -0.005;
436
- shouldPreventDefault = true;
437
- }
438
-
439
- if (shouldPreventDefault) {
440
- event.preventDefault();
441
- event.stopPropagation();
442
- }
443
-
444
- // Add momentum for trackpad gestures
445
- const currentTime = Date.now();
446
- const timeDelta = currentTime - lastWheelTime.current;
447
- lastWheelTime.current = currentTime;
448
-
449
- // Calculate velocity for momentum (trackpad specific)
450
- if (isTrackpadPinch && timeDelta < 100) {
451
- const velocity = Math.abs(zoomAmount) / timeDelta;
452
- setMomentumZoom({ velocity, timestamp: currentTime });
453
-
454
- // Clear any existing momentum timeout
455
- if (momentumTimeoutRef.current) {
456
- clearTimeout(momentumTimeoutRef.current);
457
- }
458
-
459
- // Apply momentum decay after gesture ends
460
- momentumTimeoutRef.current = setTimeout(() => {
461
- const decayFactor = 0.95;
462
- const minVelocity = 0.001;
463
-
464
- const applyMomentum = () => {
465
- setMomentumZoom(prev => {
466
- if (prev.velocity < minVelocity) return prev;
467
-
468
- const newVelocity = prev.velocity * decayFactor;
469
- const momentumZoomAmount = newVelocity * (zoomAmount > 0 ? 1 : -1);
470
-
471
- // Apply momentum zoom
472
- setImageStates(current => {
473
- const state = current[currentIndex] || {
474
- zoomLevel: 1,
475
- position: { x: 0, y: 0 },
476
- rotation: 0,
477
- bounds: { minX: 0, maxX: 0, minY: 0, maxY: 0 },
478
- };
479
-
480
- const newZoom = Math.max(0.1, Math.min(5, state.zoomLevel + momentumZoomAmount));
481
- if (newZoom === state.zoomLevel) return current;
482
-
483
- const newBounds = calculateBounds(newZoom, state.rotation);
484
- const constrainedPosition = constrainPosition(state.position, newBounds);
485
-
486
- return {
487
- ...current,
488
- [currentIndex]: {
489
- ...state,
490
- zoomLevel: newZoom,
491
- bounds: newBounds,
492
- position: constrainedPosition,
493
- },
494
- };
495
- });
496
-
497
- if (newVelocity >= minVelocity) {
498
- requestAnimationFrame(applyMomentum);
499
- }
500
-
501
- return { velocity: newVelocity, timestamp: Date.now() };
502
- });
503
- };
504
-
505
- requestAnimationFrame(applyMomentum);
506
- }, 50);
507
- }
508
-
509
- // Safe getBoundingClientRect call with error handling
510
- let rect;
511
- try {
512
- rect = target.getBoundingClientRect();
513
- } catch (error) {
514
- console.warn('PhotoViewer: Error getting bounding rect', error);
515
- return prev;
516
- }
517
-
518
- if (!rect || rect.width === 0 || rect.height === 0) return prev;
519
-
520
- const centerX = rect.width / 2;
521
- const centerY = rect.height / 2;
522
- const cursorX = event.clientX - rect.left - centerX;
523
- const cursorY = event.clientY - rect.top - centerY;
524
-
525
- const oldZoom = currentState.zoomLevel;
526
- const newZoom = Math.max(0.1, Math.min(5, oldZoom + zoomAmount));
527
-
528
- if (newZoom !== oldZoom) {
529
- const zoomFactor = newZoom / oldZoom;
530
- const newBounds = calculateBounds(newZoom, currentState.rotation);
531
-
532
- // Calculate new position to zoom towards cursor
533
- const newPosition = {
534
- x: currentState.position.x + cursorX * (1 - zoomFactor) * 0.5,
535
- y: currentState.position.y + cursorY * (1 - zoomFactor) * 0.5,
536
- };
537
-
538
- const constrainedPosition = constrainPosition(newPosition, newBounds);
539
-
540
- return {
541
- ...prev,
542
- [currentIndex]: {
543
- ...currentState,
544
- zoomLevel: newZoom,
545
- bounds: newBounds,
546
- position: constrainedPosition,
547
- },
548
- };
549
- }
550
- return prev;
551
- });
552
- },
553
- [isMounted, currentIndex, calculateBounds, constrainPosition]
554
- );
555
-
556
- // Handle double click to zoom with smart zoom levels
557
- const handleDoubleClick = useCallback(
558
- (event: React.MouseEvent) => {
559
- if (!isMounted || !event || !event.currentTarget) return;
560
-
561
- const target = event.currentTarget;
562
- if (!target || typeof target.getBoundingClientRect !== 'function') return;
563
-
564
- setImageStates(prev => {
565
- const currentState = prev[currentIndex] || {
566
- zoomLevel: 1,
567
- position: { x: 0, y: 0 },
568
- rotation: 0,
569
- bounds: { minX: 0, maxX: 0, minY: 0, maxY: 0 },
570
- };
571
-
572
- let rect;
573
- try {
574
- rect = target.getBoundingClientRect();
575
- } catch (error) {
576
- console.warn('PhotoViewer: Error getting bounding rect in double click', error);
577
- return prev;
578
- }
579
-
580
- if (!rect || rect.width === 0 || rect.height === 0) return prev;
581
-
582
- const centerX = rect.width / 2;
583
- const centerY = rect.height / 2;
584
- const cursorX = event.clientX - rect.left - centerX;
585
- const cursorY = event.clientY - rect.top - centerY;
586
-
587
- let newZoom: number;
588
- let newPosition = { x: 0, y: 0 };
589
-
590
- if (currentState.zoomLevel < 1.5) {
591
- newZoom = 2;
592
- // Zoom towards cursor
593
- newPosition = {
594
- x: -cursorX * 0.5,
595
- y: -cursorY * 0.5,
596
- };
597
- } else if (currentState.zoomLevel < 3) {
598
- newZoom = 4;
599
- newPosition = {
600
- x: -cursorX * 0.75,
601
- y: -cursorY * 0.75,
602
- };
603
- } else {
604
- newZoom = 1;
605
- newPosition = { x: 0, y: 0 };
606
- }
607
-
608
- const newBounds = calculateBounds(newZoom, currentState.rotation);
609
- const constrainedPosition = constrainPosition(newPosition, newBounds);
610
-
611
- return {
612
- ...prev,
613
- [currentIndex]: {
614
- ...currentState,
615
- zoomLevel: newZoom,
616
- bounds: newBounds,
617
- position: constrainedPosition,
618
- },
619
- };
620
- });
621
- },
622
- [isMounted, currentIndex, calculateBounds, constrainPosition]
623
- );
624
-
625
- // Handle mouse down for panning
626
- const handleMouseDown = useCallback(
627
- (event: React.MouseEvent<HTMLDivElement | HTMLImageElement, MouseEvent>) => {
628
- setImageStates(prev => {
629
- const currentState = prev[currentIndex] || {
630
- zoomLevel: 1,
631
- position: { x: 0, y: 0 },
632
- rotation: 0,
633
- bounds: { minX: 0, maxX: 0, minY: 0, maxY: 0 },
634
- };
635
-
636
- if (currentState.zoomLevel > 1) {
637
- event.preventDefault();
638
- setIsDragging(true);
639
- setStartDragPosition({
640
- x: event.clientX - currentState.position.x,
641
- y: event.clientY - currentState.position.y,
642
- });
643
- }
644
- return prev;
645
- });
646
- },
647
- [currentIndex]
648
- );
649
-
650
- // Handle mouse move for panning with bounds
651
- const handleMouseMove = useCallback(
652
- (event: React.MouseEvent<HTMLDivElement | HTMLImageElement, MouseEvent>) => {
653
- if (!isDragging) return;
654
-
655
- setImageStates(prev => {
656
- const currentState = prev[currentIndex] || {
657
- zoomLevel: 1,
658
- position: { x: 0, y: 0 },
659
- rotation: 0,
660
- bounds: { minX: 0, maxX: 0, minY: 0, maxY: 0 },
661
- };
662
-
663
- const newPosition = {
664
- x: event.clientX - startDragPosition.x,
665
- y: event.clientY - startDragPosition.y,
666
- };
667
-
668
- const constrainedPosition = constrainPosition(newPosition, currentState.bounds);
669
-
670
- return {
671
- ...prev,
672
- [currentIndex]: {
673
- ...currentState,
674
- position: constrainedPosition,
675
- },
676
- };
677
- });
678
- },
679
- [isDragging, startDragPosition, currentIndex, constrainPosition]
680
- );
681
-
682
- // Handle mouse up for panning
683
- const handleMouseUp = useCallback(() => {
684
- setIsDragging(false);
685
- }, []);
686
-
687
- // Touch handlers for mobile gestures with bounds
688
- const handleTouchStart = useCallback(
689
- (event: React.TouchEvent<HTMLImageElement | HTMLDivElement>) => {
690
- if (!enableGestures) return;
691
-
692
- const touches = event.touches;
693
-
694
- // Always prevent default for multi-touch to stop page zoom
695
- if (touches.length > 1) {
696
- event.preventDefault();
697
- event.stopPropagation();
698
- }
699
-
700
- touchPointsRef.current = Array.from(touches).map(touch => ({
701
- x: touch.clientX,
702
- y: touch.clientY,
703
- }));
704
-
705
- setImageStates(prev => {
706
- const currentState = prev[currentIndex] || {
707
- zoomLevel: 1,
708
- position: { x: 0, y: 0 },
709
- rotation: 0,
710
- bounds: { minX: 0, maxX: 0, minY: 0, maxY: 0 },
711
- };
712
-
713
- if (touches.length === 1 && currentState.zoomLevel > 1) {
714
- setIsDragging(true);
715
- setStartDragPosition({
716
- x: touches[0].clientX - currentState.position.x,
717
- y: touches[0].clientY - currentState.position.y,
718
- });
719
- } else if (touches.length === 2) {
720
- const dx = touches[0].clientX - touches[1].clientX;
721
- const dy = touches[0].clientY - touches[1].clientY;
722
- lastDistanceRef.current = Math.sqrt(dx * dx + dy * dy);
723
-
724
- lastMidpointRef.current = {
725
- x: (touches[0].clientX + touches[1].clientX) / 2,
726
- y: (touches[0].clientY + touches[1].clientY) / 2,
727
- };
728
- }
729
- return prev;
730
- });
731
- },
732
- [enableGestures, currentIndex]
733
- );
734
-
735
- // Handle touch move for dragging and pinch zoom with bounds
736
- const handleTouchMove = useCallback(
737
- (event: React.TouchEvent<HTMLImageElement | HTMLDivElement>) => {
738
- if (!enableGestures) return;
739
-
740
- const touches = event.touches;
741
-
742
- // Always prevent default for multi-touch gestures to stop page zoom
743
- if (touches.length > 1) {
744
- event.preventDefault();
745
- event.stopPropagation();
746
- }
747
-
748
- setImageStates(prev => {
749
- const currentState = prev[currentIndex] || {
750
- zoomLevel: 1,
751
- position: { x: 0, y: 0 },
752
- rotation: 0,
753
- bounds: { minX: 0, maxX: 0, minY: 0, maxY: 0 },
754
- };
755
-
756
- // Prevent default for single touch when zoomed in to avoid conflicts
757
- if (currentState.zoomLevel > 1 && touches.length === 1) {
758
- event.preventDefault();
759
- }
760
-
761
- if (touches.length === 1 && isDragging && currentState.zoomLevel > 1) {
762
- const newPosition = {
763
- x: touches[0].clientX - startDragPosition.x,
764
- y: touches[0].clientY - startDragPosition.y,
765
- };
766
- const constrainedPosition = constrainPosition(newPosition, currentState.bounds);
767
-
768
- return {
769
- ...prev,
770
- [currentIndex]: {
771
- ...currentState,
772
- position: constrainedPosition,
773
- },
774
- };
775
- } else if (touches.length === 2 && lastDistanceRef.current !== null) {
776
- const dx = touches[0].clientX - touches[1].clientX;
777
- const dy = touches[0].clientY - touches[1].clientY;
778
- const distance = Math.sqrt(dx * dx + dy * dy);
779
-
780
- const zoomDelta = (distance - lastDistanceRef.current) * 0.005;
781
- lastDistanceRef.current = distance;
782
-
783
- const currentMidpoint = {
784
- x: (touches[0].clientX + touches[1].clientX) / 2,
785
- y: (touches[0].clientY + touches[1].clientY) / 2,
786
- };
787
-
788
- const oldZoom = currentState.zoomLevel;
789
- const newZoom = Math.max(0.1, Math.min(5, oldZoom + zoomDelta));
790
-
791
- if (newZoom !== oldZoom && lastMidpointRef.current) {
792
- let rect;
793
- try {
794
- rect = event.currentTarget.getBoundingClientRect();
795
- } catch (error) {
796
- console.warn('PhotoViewer: Error getting bounding rect in touch move', error);
797
- return prev;
798
- }
799
-
800
- if (!rect || rect.width === 0 || rect.height === 0) return prev;
801
-
802
- const centerX = rect.width / 2;
803
- const centerY = rect.height / 2;
804
- const midpointX = currentMidpoint.x - rect.left - centerX;
805
- const midpointY = currentMidpoint.y - rect.top - centerY;
806
-
807
- const zoomFactor = newZoom / oldZoom;
808
- const newBounds = calculateBounds(newZoom, currentState.rotation);
809
-
810
- const newPosition = {
811
- x: currentState.position.x + midpointX * (1 - zoomFactor) * 0.5,
812
- y: currentState.position.y + midpointY * (1 - zoomFactor) * 0.5,
813
- };
814
-
815
- const constrainedPosition = constrainPosition(newPosition, newBounds);
816
-
817
- lastMidpointRef.current = currentMidpoint;
818
-
819
- return {
820
- ...prev,
821
- [currentIndex]: {
822
- ...currentState,
823
- zoomLevel: newZoom,
824
- bounds: newBounds,
825
- position: constrainedPosition,
826
- },
827
- };
828
- }
829
-
830
- lastMidpointRef.current = currentMidpoint;
831
- }
832
- return prev;
833
- });
834
- },
835
- [
836
- isMounted,
837
- enableGestures,
838
- isDragging,
839
- startDragPosition,
840
- currentIndex,
841
- constrainPosition,
842
- calculateBounds,
843
- ]
844
- );
845
-
846
- // Handle touch end
847
- const handleTouchEnd = useCallback(() => {
848
- setIsDragging(false);
849
- lastDistanceRef.current = null;
850
- lastMidpointRef.current = null;
851
- }, []);
852
-
853
- // Get current state values without causing re-renders
854
- const currentState = imageStates[currentIndex] || {
855
- zoomLevel: 1,
856
- position: { x: 0, y: 0 },
857
- rotation: 0,
858
- bounds: { minX: 0, maxX: 0, minY: 0, maxY: 0 },
859
- };
860
-
861
- return {
862
- currentIndex,
863
- isModalOpen,
864
- zoomLevel: currentState.zoomLevel,
865
- imagePosition: currentState.position,
866
- isDragging,
867
- isFullscreen,
868
- rotationAngle: currentState.rotation,
869
- showInfo,
870
- imageRef,
871
- containerRef,
872
- isTransitioning,
873
- setCurrentIndex,
874
- setZoomLevel,
875
- setImagePosition,
876
- setIsDragging,
877
- setIsFullscreen,
878
- setRotationAngle,
879
- setShowInfo,
880
- openModal,
881
- closeModal,
882
- goToPrevious,
883
- goToNext,
884
- handleWheel,
885
- handleMouseDown,
886
- handleMouseMove,
887
- handleMouseUp,
888
- handleTouchStart,
889
- handleTouchMove,
890
- handleTouchEnd,
891
- handleDoubleClick,
892
- resetImageState: () => {
893
- setImageStates(prev => ({
894
- ...prev,
895
- [currentIndex]: {
896
- zoomLevel: 1,
897
- position: { x: 0, y: 0 },
898
- rotation: 0,
899
- bounds: { minX: 0, maxX: 0, minY: 0, maxY: 0 },
900
- },
901
- }));
902
- },
903
- };
904
- };