@shohojdhara/atomix 0.1.16 → 0.1.17

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