@shohojdhara/atomix 0.1.16 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. package/CONTRIBUTING.md +151 -0
  2. package/NEXTJS_INTEGRATION.md +358 -0
  3. package/README.md +168 -119
  4. package/babel.config.js +58 -0
  5. package/css.d.ts +10 -0
  6. package/dist/css/atomix.css +1 -2
  7. package/dist/js/194.js +1 -2
  8. package/dist/js/244.js +1 -0
  9. package/dist/js/atomix.react.cjs.js +1 -0
  10. package/dist/js/atomix.react.esm.js +1 -2
  11. package/dist/js/atomix.react.umd.js +1 -2
  12. package/dist/js/chunks/cjs/202.9d3b1ef1eaa0d5c8a309.js +1 -0
  13. package/dist/js/chunks/cjs/308.6ea9685ea38ead4120d0.js +1 -0
  14. package/dist/js/chunks/cjs/54.73db6922594e421ba6b1.js +1 -0
  15. package/dist/js/chunks/cjs/619.51feecaadcab819780d4.js +1 -0
  16. package/dist/js/chunks/cjs/690.90f6d11164081cbcbc4d.js +1 -0
  17. package/dist/js/chunks/cjs/894.24877561df336a8dfd14.js +1 -0
  18. package/dist/js/chunks/cjs/897.6c2a71fae95338890de7.js +1 -0
  19. package/dist/js/chunks/esm/{202.ff48d27672233280e021.js → 202.82aa7b3244e53c9edb72.js} +1 -2
  20. package/dist/js/chunks/esm/{308.f873332126eba90e5c62.js → 308.27e1e4005705ae320432.js} +1 -2
  21. package/dist/js/chunks/esm/{54.4db919e5e4e5cc6d7c72.js → 54.ece1fd6964f98d4d994f.js} +1 -2
  22. package/dist/js/chunks/esm/{619.afc5a718eff77fa423b5.js → 619.ebeb0298432a066ac05c.js} +1 -2
  23. package/dist/js/chunks/esm/{690.a9e968c7497d61e56cdc.js → 690.c5f412cc979b55740359.js} +1 -2
  24. package/dist/js/chunks/esm/{894.f1091a4a8758c26d29e4.js → 894.3604ddc9367d75191198.js} +1 -2
  25. package/dist/js/chunks/esm/{897.561a50f7d043d42169da.js → 897.a4aab2fad9401693eb12.js} +1 -2
  26. package/dist/js/chunks/umd/{202.dac7605cc555b6bda542.js → 202.5017dd0403d696bf1644.js} +1 -2
  27. package/dist/js/chunks/umd/{308.6709979849dcbdb90c9b.js → 308.4bc14b9d7b16b6ee0ab8.js} +1 -2
  28. package/dist/js/chunks/umd/{54.403470e1f7d0ef4424a7.js → 54.7fdfb4a031989470a70d.js} +1 -2
  29. package/dist/js/chunks/umd/{619.fa05ea98c10270eb64c5.js → 619.84a0c35ecee695250085.js} +1 -2
  30. package/dist/js/chunks/umd/{690.aa7054d1c53e5402c2d6.js → 690.d7041094a34a4a434be2.js} +1 -2
  31. package/dist/js/chunks/umd/{894.3e1eaf0a2aadf4434390.js → 894.c127ee4e9513c22ee97d.js} +1 -2
  32. package/dist/js/chunks/umd/{897.554ea37be4453698c167.js → 897.26932ac837a39fc91907.js} +1 -2
  33. package/dist/types/components/Badge/index.d.ts +3 -3
  34. package/dist/types/components/{Navbar → Navigation/Menu}/MegaMenu.d.ts +1 -1
  35. package/dist/types/components/{Navbar → Navigation/Menu}/Menu.d.ts +1 -1
  36. package/dist/types/components/Navigation/Nav/Nav.d.ts +20 -0
  37. package/dist/types/components/{Navbar → Navigation/Nav}/NavDropdown.d.ts +1 -1
  38. package/dist/types/components/Navigation/Nav/NavItem.d.ts +33 -0
  39. package/dist/types/components/Navigation/Navbar/Navbar.d.ts +19 -0
  40. package/dist/types/components/Navigation/SideMenu/SideMenu.d.ts +20 -0
  41. package/dist/types/components/Navigation/SideMenu/SideMenuItem.d.ts +30 -0
  42. package/dist/types/components/Navigation/SideMenu/SideMenuList.d.ts +17 -0
  43. package/dist/types/components/Navigation/index.d.ts +10 -0
  44. package/dist/types/components/PhotoViewer/PhotoViewer.d.ts +2 -2
  45. package/dist/types/components/PhotoViewer/PhotoViewerHeader.d.ts +2 -2
  46. package/dist/types/components/Tab/index.d.ts +2 -2
  47. package/dist/types/components/Toggle/index.d.ts +2 -2
  48. package/dist/types/components/Tooltip/index.d.ts +3 -3
  49. package/dist/types/components/index.d.ts +1 -1
  50. package/dist/types/lib/composables/index.d.ts +1 -0
  51. package/dist/types/lib/composables/useDatePicker.d.ts +1 -1
  52. package/dist/types/lib/composables/useDropdown.d.ts +1 -1
  53. package/dist/types/lib/composables/useModal.d.ts +1 -1
  54. package/dist/types/lib/composables/usePhotoViewer.d.ts +1 -1
  55. package/dist/types/lib/composables/useRating.d.ts +1 -1
  56. package/dist/types/lib/composables/useSideMenu.d.ts +28 -0
  57. package/dist/types/lib/constants/components.d.ts +72 -0
  58. package/dist/types/lib/types/components.d.ts +103 -0
  59. package/examples/nextjs-example.tsx +271 -0
  60. package/implementation-guide.md +505 -0
  61. package/next.config.js +69 -0
  62. package/package.json +80 -42
  63. package/postcss.config.js +28 -0
  64. package/src/Introduction.mdx +3 -5
  65. package/src/assets/fonts/HelveticaNeue/stylesheet.css +140 -127
  66. package/src/components/Accordion/Accordion.stories.tsx +58 -45
  67. package/src/components/Accordion/Accordion.tsx +14 -4
  68. package/src/components/Accordion/scripts/accordionInteractions.ts +9 -9
  69. package/src/components/Accordion/scripts/bundle.ts +1 -1
  70. package/src/components/Accordion/scripts/index.ts +3 -3
  71. package/src/components/AtomixLogo.tsx +13 -19
  72. package/src/components/Avatar/Avatar.stories.tsx +24 -21
  73. package/src/components/Avatar/Avatar.tsx +5 -8
  74. package/src/components/Avatar/AvatarGroup.tsx +11 -11
  75. package/src/components/Avatar/index.ts +1 -1
  76. package/src/components/Avatar/scripts/index.ts +66 -71
  77. package/src/components/Badge/Badge.stories.tsx +51 -21
  78. package/src/components/Badge/Badge.tsx +14 -12
  79. package/src/components/Badge/index.ts +3 -3
  80. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +40 -40
  81. package/src/components/Breadcrumb/Breadcrumb.tsx +19 -26
  82. package/src/components/Breadcrumb/index.ts +1 -1
  83. package/src/components/Breadcrumb/scripts/breadcrumb.ts +36 -34
  84. package/src/components/Breadcrumb/scripts/index.ts +1 -1
  85. package/src/components/Breadcrumb/scripts/types.ts +9 -9
  86. package/src/components/Button/Button.stories.tsx +36 -12
  87. package/src/components/Button/Button.tsx +52 -39
  88. package/src/components/Button/index.ts +1 -1
  89. package/src/components/Button/scripts/buttonInteractions.ts +9 -9
  90. package/src/components/Button/scripts/index.ts +1 -1
  91. package/src/components/Callout/Callout.stories.tsx +207 -114
  92. package/src/components/Callout/Callout.tsx +12 -12
  93. package/src/components/Callout/index.ts +1 -1
  94. package/src/components/Callout/scripts/CalloutInteractions.ts +58 -48
  95. package/src/components/Callout/scripts/bundle.ts +2 -2
  96. package/src/components/Callout/scripts/index.ts +19 -15
  97. package/src/components/Card/Card.stories.tsx +2 -2
  98. package/src/components/Card/Card.tsx +49 -72
  99. package/src/components/Card/ElevationCard.tsx +4 -8
  100. package/src/components/Card/index.ts +1 -1
  101. package/src/components/Card/scripts/bundle.ts +7 -7
  102. package/src/components/Card/scripts/cardInteractions.ts +24 -24
  103. package/src/components/Card/scripts/index.ts +25 -26
  104. package/src/components/ColorModeToggle/ColorModeToggle.stories.tsx +6 -3
  105. package/src/components/ColorModeToggle/ColorModeToggle.tsx +12 -15
  106. package/src/components/ColorModeToggle/index.ts +1 -1
  107. package/src/components/Countdown/Countdown.stories.tsx +6 -2
  108. package/src/components/Countdown/Countdown.tsx +56 -48
  109. package/src/components/Countdown/index.ts +1 -1
  110. package/src/components/Countdown/scripts/index.ts +33 -28
  111. package/src/components/DataTable/DataTable.stories.tsx +23 -18
  112. package/src/components/DataTable/DataTable.tsx +39 -39
  113. package/src/components/DataTable/index.ts +1 -1
  114. package/src/components/DataTable/scripts/bundle.ts +8 -3
  115. package/src/components/DataTable/scripts/index.ts +182 -164
  116. package/src/components/DatePicker/DatePicker.stories.tsx +136 -148
  117. package/src/components/DatePicker/DatePicker.tsx +461 -420
  118. package/src/components/DatePicker/scripts/bundle.ts +12 -7
  119. package/src/components/DatePicker/scripts/componentInteractions.ts +76 -46
  120. package/src/components/DatePicker/scripts/index.ts +176 -156
  121. package/src/components/DatePicker/types.ts +32 -32
  122. package/src/components/DatePicker/utils.ts +41 -30
  123. package/src/components/Dropdown/Dropdown.stories.tsx +85 -55
  124. package/src/components/Dropdown/Dropdown.tsx +97 -88
  125. package/src/components/Dropdown/index.ts +5 -10
  126. package/src/components/Dropdown/scripts/bundle.ts +10 -10
  127. package/src/components/Dropdown/scripts/componentInteractions.ts +10 -2
  128. package/src/components/Dropdown/scripts/index.ts +122 -117
  129. package/src/components/EdgePanel/EdgePanel.stories.tsx +142 -58
  130. package/src/components/EdgePanel/EdgePanel.tsx +7 -13
  131. package/src/components/EdgePanel/index.ts +1 -1
  132. package/src/components/EdgePanel/scripts/bundle.ts +5 -5
  133. package/src/components/EdgePanel/scripts/edgePanelInteractions.ts +26 -26
  134. package/src/components/EdgePanel/scripts/index.ts +53 -53
  135. package/src/components/Form/Checkbox.stories.tsx +2 -2
  136. package/src/components/Form/Checkbox.tsx +13 -7
  137. package/src/components/Form/Form.stories.tsx +144 -218
  138. package/src/components/Form/Form.tsx +6 -6
  139. package/src/components/Form/FormGroup.stories.tsx +21 -38
  140. package/src/components/Form/FormGroup.tsx +18 -20
  141. package/src/components/Form/Input.stories.tsx +1 -1
  142. package/src/components/Form/Input.tsx +18 -8
  143. package/src/components/Form/Radio.stories.tsx +12 -25
  144. package/src/components/Form/Radio.tsx +11 -6
  145. package/src/components/Form/Select.stories.tsx +6 -6
  146. package/src/components/Form/Select.tsx +31 -33
  147. package/src/components/Form/Textarea.stories.tsx +7 -2
  148. package/src/components/Form/Textarea.tsx +17 -8
  149. package/src/components/Form/index.ts +1 -1
  150. package/src/components/Hero/Hero.stories.tsx +44 -42
  151. package/src/components/Hero/Hero.tsx +28 -38
  152. package/src/components/Hero/index.ts +1 -1
  153. package/src/components/Hero/scripts/bundle.ts +6 -6
  154. package/src/components/Hero/scripts/heroInteractions.ts +24 -29
  155. package/src/components/Hero/scripts/index.ts +16 -17
  156. package/src/components/Icon/Icon.tsx +16 -18
  157. package/src/components/Icon/index.ts +1 -1
  158. package/src/components/List/List.stories.tsx +1 -3
  159. package/src/components/List/List.tsx +6 -10
  160. package/src/components/List/ListGroup.tsx +1 -1
  161. package/src/components/List/index.ts +1 -1
  162. package/src/components/Messages/Messages.stories.tsx +30 -29
  163. package/src/components/Messages/Messages.tsx +60 -55
  164. package/src/components/Messages/index.ts +1 -1
  165. package/src/components/Messages/scripts/bundle.ts +1 -6
  166. package/src/components/Messages/scripts/componentInteractions.ts +32 -37
  167. package/src/components/Messages/scripts/index.ts +61 -55
  168. package/src/components/Modal/Modal.stories.tsx +77 -53
  169. package/src/components/Modal/Modal.tsx +63 -62
  170. package/src/components/Modal/index.ts +1 -1
  171. package/src/components/Modal/scripts/bundle.ts +3 -3
  172. package/src/components/Modal/scripts/index.ts +96 -84
  173. package/src/components/Modal/scripts/modalInteractions.ts +16 -14
  174. package/src/components/{Navbar → Navigation/Menu}/MegaMenu.tsx +50 -59
  175. package/src/components/Navigation/Menu/Menu.stories.tsx +340 -0
  176. package/src/components/Navigation/Menu/Menu.tsx +110 -0
  177. package/src/components/Navigation/Nav/Nav.stories.tsx +458 -0
  178. package/src/components/Navigation/Nav/Nav.tsx +50 -0
  179. package/src/components/Navigation/Nav/NavDropdown.tsx +105 -0
  180. package/src/components/Navigation/Nav/NavItem.tsx +159 -0
  181. package/src/components/{Navbar → Navigation/Navbar}/Navbar.stories.tsx +198 -104
  182. package/src/components/Navigation/Navbar/Navbar.tsx +150 -0
  183. package/src/components/Navigation/README.md +314 -0
  184. package/src/components/Navigation/SideMenu/SideMenu.README.md +494 -0
  185. package/src/components/Navigation/SideMenu/SideMenu.stories.tsx +618 -0
  186. package/src/components/Navigation/SideMenu/SideMenu.tsx +101 -0
  187. package/src/components/Navigation/SideMenu/SideMenuItem.tsx +95 -0
  188. package/src/components/Navigation/SideMenu/SideMenuList.tsx +41 -0
  189. package/src/components/Navigation/index.ts +23 -0
  190. package/src/components/Navigation/scripts/NavbarInteractions.ts +171 -0
  191. package/src/components/Navigation/scripts/SideMenu.ts +319 -0
  192. package/src/components/Navigation/scripts/SideMenuBundle.ts +69 -0
  193. package/src/components/Navigation/scripts/SideMenuInteractions.ts +250 -0
  194. package/src/components/Navigation/scripts/bundle.ts +58 -0
  195. package/src/components/Navigation/scripts/index.ts +248 -0
  196. package/src/components/Pagination/Pagination.stories.tsx +34 -33
  197. package/src/components/Pagination/Pagination.tsx +25 -35
  198. package/src/components/Pagination/index.ts +1 -1
  199. package/src/components/Pagination/scripts/index.ts +42 -37
  200. package/src/components/PhotoViewer/PhotoViewer.stories.tsx +48 -48
  201. package/src/components/PhotoViewer/PhotoViewer.tsx +29 -46
  202. package/src/components/PhotoViewer/PhotoViewerHeader.tsx +20 -26
  203. package/src/components/PhotoViewer/PhotoViewerImage.tsx +19 -17
  204. package/src/components/PhotoViewer/PhotoViewerInfo.tsx +13 -5
  205. package/src/components/PhotoViewer/PhotoViewerNavigation.tsx +5 -5
  206. package/src/components/PhotoViewer/PhotoViewerThumbnails.tsx +31 -30
  207. package/src/components/PhotoViewer/examples/ImageGallery.tsx +27 -37
  208. package/src/components/PhotoViewer/examples/SimpleGallery.tsx +19 -13
  209. package/src/components/PhotoViewer/examples/index.ts +1 -1
  210. package/src/components/PhotoViewer/index.ts +1 -1
  211. package/src/components/PhotoViewer/scripts/PhotoViewerInteractions.ts +43 -33
  212. package/src/components/PhotoViewer/scripts/bundle.ts +14 -14
  213. package/src/components/PhotoViewer/scripts/index.ts +173 -129
  214. package/src/components/Popover/Popover.stories.tsx +11 -12
  215. package/src/components/Popover/Popover.tsx +36 -36
  216. package/src/components/Popover/index.ts +1 -1
  217. package/src/components/Popover/scripts/bundle.ts +1 -1
  218. package/src/components/Popover/scripts/componentInteractions.ts +34 -46
  219. package/src/components/Popover/scripts/index.ts +64 -53
  220. package/src/components/ProductReview/ProductReview.stories.tsx +10 -8
  221. package/src/components/ProductReview/ProductReview.tsx +28 -32
  222. package/src/components/ProductReview/scripts/componentInteractions.ts +20 -20
  223. package/src/components/Progress/Progress.tsx +36 -34
  224. package/src/components/Progress/scripts/bundle.ts +7 -2
  225. package/src/components/Progress/scripts/componentInteractions.ts +29 -23
  226. package/src/components/Progress/scripts/index.ts +45 -39
  227. package/src/components/Rating/Rating.stories.tsx +3 -16
  228. package/src/components/Rating/Rating.tsx +250 -231
  229. package/src/components/Rating/scripts/bundle.ts +11 -6
  230. package/src/components/Rating/scripts/index.ts +85 -80
  231. package/src/components/Rating/scripts/ratingInteractions.ts +27 -24
  232. package/src/components/River/River.stories.tsx +70 -24
  233. package/src/components/River/River.tsx +28 -38
  234. package/src/components/River/index.ts +1 -1
  235. package/src/components/River/scripts/index.ts +11 -12
  236. package/src/components/SectionIntro/SectionIntro.stories.tsx +12 -9
  237. package/src/components/SectionIntro/SectionIntro.tsx +25 -31
  238. package/src/components/SectionIntro/scripts/componentInteractions.ts +1 -1
  239. package/src/components/SectionIntro/scripts/index.ts +30 -16
  240. package/src/components/Spinner/Spinner.stories.tsx +5 -7
  241. package/src/components/Spinner/Spinner.tsx +11 -6
  242. package/src/components/Spinner/index.ts +2 -2
  243. package/src/components/Steps/Steps.stories.tsx +44 -48
  244. package/src/components/Steps/Steps.tsx +20 -20
  245. package/src/components/Steps/index.ts +1 -1
  246. package/src/components/Steps/scripts/index.ts +9 -9
  247. package/src/components/Tab/Tab.stories.tsx +14 -6
  248. package/src/components/Tab/Tab.tsx +16 -18
  249. package/src/components/Tab/index.ts +2 -2
  250. package/src/components/Tab/scripts/index.ts +13 -13
  251. package/src/components/Testimonial/Testimonial.stories.tsx +54 -51
  252. package/src/components/Testimonial/Testimonial.tsx +18 -19
  253. package/src/components/Testimonial/index.ts +1 -1
  254. package/src/components/Testimonial/scripts/index.ts +19 -8
  255. package/src/components/Todo/Todo.stories.tsx +7 -24
  256. package/src/components/Todo/Todo.tsx +35 -46
  257. package/src/components/Todo/index.ts +1 -1
  258. package/src/components/Todo/scripts/bundle.ts +1 -1
  259. package/src/components/Todo/scripts/index.ts +99 -81
  260. package/src/components/Todo/scripts/todoInteractions.ts +12 -12
  261. package/src/components/Todo/scripts/types.ts +3 -3
  262. package/src/components/Toggle/Toggle.stories.tsx +2 -2
  263. package/src/components/Toggle/Toggle.tsx +18 -18
  264. package/src/components/Toggle/index.ts +2 -2
  265. package/src/components/Toggle/scripts/bundle.ts +7 -2
  266. package/src/components/Toggle/scripts/index.ts +14 -10
  267. package/src/components/Toggle/scripts/toggleInteractions.ts +11 -14
  268. package/src/components/Tooltip/Tooltip.stories.tsx +13 -6
  269. package/src/components/Tooltip/Tooltip.tsx +25 -15
  270. package/src/components/Tooltip/index.ts +3 -3
  271. package/src/components/Tooltip/scripts/bundle.ts +0 -1
  272. package/src/components/Tooltip/scripts/index.ts +44 -41
  273. package/src/components/Tooltip/scripts/tooltipInteractions.ts +22 -22
  274. package/src/components/Upload/Upload.stories.tsx +28 -34
  275. package/src/components/Upload/Upload.tsx +86 -71
  276. package/src/components/Upload/index.ts +1 -1
  277. package/src/components/Upload/scripts/index.ts +58 -43
  278. package/src/components/index.ts +5 -6
  279. package/src/design-tokens/BoxShadow/BoxShadow.stories.tsx +13 -10
  280. package/src/design-tokens/Colors/colors.scss +10 -7
  281. package/src/design-tokens/Colors/colors.stories.tsx +46 -59
  282. package/src/design-tokens/Spacing/Spacing.scss +7 -5
  283. package/src/design-tokens/Spacing/Spacing.stories.tsx +19 -18
  284. package/src/design-tokens/Typography/Typography.scss +88 -25
  285. package/src/design-tokens/Typography/Typography.stories.tsx +22 -25
  286. package/src/docs/implementation-guide.mdx +2 -2
  287. package/src/htmlComponentsEntry.ts +23 -23
  288. package/src/index.ts +1 -1
  289. package/src/layouts/Grid/Container.tsx +6 -10
  290. package/src/layouts/Grid/Grid.stories.tsx +72 -34
  291. package/src/layouts/Grid/Grid.tsx +6 -13
  292. package/src/layouts/Grid/GridCol.tsx +29 -26
  293. package/src/layouts/Grid/Row.tsx +6 -13
  294. package/src/layouts/MasonryGrid/MasonryGrid.stories.tsx +79 -72
  295. package/src/layouts/MasonryGrid/MasonryGrid.tsx +23 -25
  296. package/src/layouts/MasonryGrid/MasonryGridItem.tsx +4 -12
  297. package/src/layouts/index.ts +3 -4
  298. package/src/lib/composables/index.ts +3 -3
  299. package/src/lib/composables/useAccordion.ts +15 -6
  300. package/src/lib/composables/useBadge.ts +3 -3
  301. package/src/lib/composables/useBreadcrumb.ts +6 -12
  302. package/src/lib/composables/useButton.ts +3 -3
  303. package/src/lib/composables/useCallout.ts +3 -3
  304. package/src/lib/composables/useCard.ts +50 -28
  305. package/src/lib/composables/useCheckbox.ts +7 -7
  306. package/src/lib/composables/useDataTable.ts +61 -57
  307. package/src/lib/composables/useDatePicker.ts +255 -231
  308. package/src/lib/composables/useDropdown.ts +90 -75
  309. package/src/lib/composables/useEdgePanel.ts +50 -47
  310. package/src/lib/composables/useForm.ts +4 -7
  311. package/src/lib/composables/useFormGroup.ts +11 -12
  312. package/src/lib/composables/useHero.ts +36 -38
  313. package/src/lib/composables/useInput.ts +9 -10
  314. package/src/lib/composables/useMessages.ts +12 -14
  315. package/src/lib/composables/useModal.ts +37 -34
  316. package/src/lib/composables/useNavbar.ts +33 -22
  317. package/src/lib/composables/usePagination.ts +3 -10
  318. package/src/lib/composables/usePhotoViewer.ts +625 -578
  319. package/src/lib/composables/usePopover.ts +68 -62
  320. package/src/lib/composables/useProgress.ts +9 -12
  321. package/src/lib/composables/useRadio.ts +4 -4
  322. package/src/lib/composables/useRating.ts +82 -70
  323. package/src/lib/composables/useRiver.ts +28 -31
  324. package/src/lib/composables/useSelect.ts +7 -8
  325. package/src/lib/composables/useSideMenu.ts +197 -0
  326. package/src/lib/composables/useSpinner.ts +3 -3
  327. package/src/lib/composables/useTextarea.ts +8 -9
  328. package/src/lib/composables/useTodo.ts +14 -18
  329. package/src/lib/constants/components.ts +191 -118
  330. package/src/lib/constants/index.ts +1 -1
  331. package/src/lib/types/components.ts +454 -324
  332. package/src/lib/utils/dom.ts +2 -6
  333. package/src/lib/utils/icons.ts +20 -12
  334. package/src/lib/utils/index.ts +2 -2
  335. package/src/lib/utils/useForkRef.ts +1 -2
  336. package/src/styles/01-settings/_index.scss +59 -59
  337. package/src/styles/01-settings/_settings.accordion.scss +21 -21
  338. package/src/styles/01-settings/_settings.animations.scss +2 -2
  339. package/src/styles/01-settings/_settings.avatar-group.scss +14 -14
  340. package/src/styles/01-settings/_settings.avatar.scss +31 -31
  341. package/src/styles/01-settings/_settings.badge.scss +11 -11
  342. package/src/styles/01-settings/_settings.border-radius.scss +10 -9
  343. package/src/styles/01-settings/_settings.border.scss +7 -7
  344. package/src/styles/01-settings/_settings.box-shadow.scss +24 -12
  345. package/src/styles/01-settings/_settings.breadcrumb.scss +18 -18
  346. package/src/styles/01-settings/_settings.btn-group.scss +1 -1
  347. package/src/styles/01-settings/_settings.button.scss +63 -49
  348. package/src/styles/01-settings/_settings.callout.scss +27 -7
  349. package/src/styles/01-settings/_settings.card.scss +27 -30
  350. package/src/styles/01-settings/_settings.checkbox-group.scss +2 -3
  351. package/src/styles/01-settings/_settings.checkbox.scss +17 -18
  352. package/src/styles/01-settings/_settings.color-mode.scss +1 -1
  353. package/src/styles/01-settings/_settings.colors.scss +197 -214
  354. package/src/styles/01-settings/_settings.config.scss +1 -3
  355. package/src/styles/01-settings/_settings.countdown.scss +14 -14
  356. package/src/styles/01-settings/_settings.data-table.scss +6 -6
  357. package/src/styles/01-settings/_settings.datepicker.scss +40 -42
  358. package/src/styles/01-settings/_settings.dropdown.scss +30 -30
  359. package/src/styles/01-settings/_settings.edge-panel.scss +16 -16
  360. package/src/styles/01-settings/_settings.fonts.scss +14 -12
  361. package/src/styles/01-settings/_settings.form-group.scss +10 -10
  362. package/src/styles/01-settings/_settings.form.scss +3 -3
  363. package/src/styles/01-settings/_settings.grid.scss +1 -1
  364. package/src/styles/01-settings/_settings.hero.scss +23 -23
  365. package/src/styles/01-settings/_settings.input.scss +32 -32
  366. package/src/styles/01-settings/_settings.link.scss +6 -6
  367. package/src/styles/01-settings/_settings.list-group.scss +12 -12
  368. package/src/styles/01-settings/_settings.list.scss +2 -2
  369. package/src/styles/01-settings/_settings.maps.scss +183 -188
  370. package/src/styles/01-settings/_settings.masonry-grid.scss +2 -2
  371. package/src/styles/01-settings/_settings.menu.scss +35 -38
  372. package/src/styles/01-settings/_settings.messages.scss +71 -77
  373. package/src/styles/01-settings/_settings.modal.scss +24 -24
  374. package/src/styles/01-settings/_settings.nav.scss +15 -15
  375. package/src/styles/01-settings/_settings.navbar.scss +39 -12
  376. package/src/styles/01-settings/_settings.pagination.scss +21 -21
  377. package/src/styles/01-settings/_settings.photoviewer.scss +1 -1
  378. package/src/styles/01-settings/_settings.popover.scss +3 -3
  379. package/src/styles/01-settings/_settings.position.scss +2 -2
  380. package/src/styles/01-settings/_settings.progress.scss +15 -18
  381. package/src/styles/01-settings/_settings.rating.scss +7 -7
  382. package/src/styles/01-settings/_settings.river.scss +25 -25
  383. package/src/styles/01-settings/_settings.sectionintro.scss +15 -16
  384. package/src/styles/01-settings/_settings.select.scss +31 -31
  385. package/src/styles/01-settings/_settings.side-menu.scss +64 -16
  386. package/src/styles/01-settings/_settings.skeleton.scss +12 -12
  387. package/src/styles/01-settings/_settings.spacing.scss +62 -33
  388. package/src/styles/01-settings/_settings.spinner.scss +10 -10
  389. package/src/styles/01-settings/_settings.steps.scss +22 -22
  390. package/src/styles/01-settings/_settings.tabs.scss +25 -25
  391. package/src/styles/01-settings/_settings.testimonials.scss +17 -19
  392. package/src/styles/01-settings/_settings.todo.scss +1 -1
  393. package/src/styles/01-settings/_settings.toggle.scss +26 -26
  394. package/src/styles/01-settings/_settings.tooltip.scss +15 -15
  395. package/src/styles/01-settings/_settings.typography.scss +65 -48
  396. package/src/styles/01-settings/_settings.upload.scss +70 -77
  397. package/src/styles/01-settings/_settings.z-layers.scss +1 -1
  398. package/src/styles/02-tools/_index.scss +19 -19
  399. package/src/styles/02-tools/_tools.animations.scss +4 -4
  400. package/src/styles/02-tools/_tools.border-radius.scss +4 -5
  401. package/src/styles/02-tools/_tools.breakpoints.scss +33 -34
  402. package/src/styles/02-tools/_tools.button.scss +49 -25
  403. package/src/styles/02-tools/_tools.color-mode.scss +11 -11
  404. package/src/styles/02-tools/_tools.event.scss +1 -1
  405. package/src/styles/02-tools/_tools.hidden-visually.scss +1 -1
  406. package/src/styles/02-tools/_tools.hidden.scss +1 -1
  407. package/src/styles/02-tools/_tools.map-loop.scss +9 -9
  408. package/src/styles/02-tools/_tools.media-queries.scss +5 -3
  409. package/src/styles/02-tools/_tools.object-fit.scss +3 -3
  410. package/src/styles/02-tools/_tools.placeholder.scss +0 -1
  411. package/src/styles/02-tools/_tools.rem.scss +1 -1
  412. package/src/styles/02-tools/_tools.spacing.scss +8 -34
  413. package/src/styles/02-tools/_tools.to-rgb.scss +3 -3
  414. package/src/styles/02-tools/_tools.transition.scss +1 -1
  415. package/src/styles/02-tools/_tools.utility-api.scss +29 -14
  416. package/src/styles/03-generic/_generic.fonts.scss +0 -1
  417. package/src/styles/03-generic/_generic.reset.scss +13 -8
  418. package/src/styles/03-generic/_generic.root.scss +5 -5
  419. package/src/styles/03-generic/_index.scss +4 -4
  420. package/src/styles/04-elements/_elements.all.scss +2 -2
  421. package/src/styles/04-elements/_elements.body.scss +1 -2
  422. package/src/styles/04-elements/_elements.heading.scss +37 -21
  423. package/src/styles/04-elements/_elements.links.scss +0 -1
  424. package/src/styles/04-elements/_index.scss +5 -5
  425. package/src/styles/05-objects/_index.scss +3 -3
  426. package/src/styles/05-objects/_objects.container.scss +5 -4
  427. package/src/styles/05-objects/_objects.grid.scss +12 -12
  428. package/src/styles/05-objects/_objects.masonry-grid.scss +80 -74
  429. package/src/styles/06-components/_components.accordion.scss +12 -6
  430. package/src/styles/06-components/_components.avatar-group.scss +9 -8
  431. package/src/styles/06-components/_components.avatar.scss +78 -77
  432. package/src/styles/06-components/_components.badge.scss +48 -48
  433. package/src/styles/06-components/_components.breadcrumb.scss +57 -58
  434. package/src/styles/06-components/_components.btn-group.scss +22 -22
  435. package/src/styles/06-components/_components.button.scss +118 -110
  436. package/src/styles/06-components/_components.callout.scss +21 -15
  437. package/src/styles/06-components/_components.card.scss +6 -10
  438. package/src/styles/06-components/_components.checkbox-group.scss +9 -10
  439. package/src/styles/06-components/_components.checkbox.scss +10 -17
  440. package/src/styles/06-components/_components.color-mode-toggle.scss +6 -6
  441. package/src/styles/06-components/_components.countdown.scss +53 -54
  442. package/src/styles/06-components/_components.data-table.scss +40 -36
  443. package/src/styles/06-components/_components.datepicker.scss +95 -73
  444. package/src/styles/06-components/_components.dropdown.scss +15 -9
  445. package/src/styles/06-components/_components.edge-panel.scss +87 -46
  446. package/src/styles/06-components/_components.form-group.scss +5 -4
  447. package/src/styles/06-components/_components.hero.scss +128 -132
  448. package/src/styles/06-components/_components.icon.scss +16 -16
  449. package/src/styles/06-components/_components.image-gallery.scss +9 -7
  450. package/src/styles/06-components/_components.input.scss +18 -16
  451. package/src/styles/06-components/_components.list-group.scss +52 -51
  452. package/src/styles/06-components/_components.list.scss +15 -15
  453. package/src/styles/06-components/_components.menu.scss +225 -220
  454. package/src/styles/06-components/_components.messages.scss +45 -32
  455. package/src/styles/06-components/_components.modal.scss +0 -1
  456. package/src/styles/06-components/_components.nav.scss +56 -11
  457. package/src/styles/06-components/_components.navbar.scss +278 -202
  458. package/src/styles/06-components/_components.pagination.scss +7 -6
  459. package/src/styles/06-components/_components.photoviewer.scss +121 -116
  460. package/src/styles/06-components/_components.popover.scss +10 -10
  461. package/src/styles/06-components/_components.product-review.scss +3 -3
  462. package/src/styles/06-components/_components.progress.scss +32 -35
  463. package/src/styles/06-components/_components.rating.scss +9 -8
  464. package/src/styles/06-components/_components.river.scss +4 -2
  465. package/src/styles/06-components/_components.sectionintro.scss +19 -26
  466. package/src/styles/06-components/_components.select.scss +7 -8
  467. package/src/styles/06-components/_components.side-menu.scss +154 -28
  468. package/src/styles/06-components/_components.skeleton.scss +0 -1
  469. package/src/styles/06-components/_components.spinner.scss +2 -4
  470. package/src/styles/06-components/_components.steps.scss +76 -77
  471. package/src/styles/06-components/_components.tabs.scss +17 -12
  472. package/src/styles/06-components/_components.testimonials.scss +49 -52
  473. package/src/styles/06-components/_components.todo.scss +26 -26
  474. package/src/styles/06-components/_components.tooltip.scss +114 -115
  475. package/src/styles/06-components/_components.upload.scss +8 -18
  476. package/src/styles/06-components/_index.scss +48 -48
  477. package/src/styles/99-utilities/_index.scss +18 -18
  478. package/src/styles/99-utilities/_utilities.background.scss +13 -13
  479. package/src/styles/99-utilities/_utilities.border.scss +30 -30
  480. package/src/styles/99-utilities/_utilities.clearfix.scss +1 -1
  481. package/src/styles/99-utilities/_utilities.display.scss +5 -4
  482. package/src/styles/99-utilities/_utilities.flex.scss +19 -19
  483. package/src/styles/99-utilities/_utilities.link.scss +52 -35
  484. package/src/styles/99-utilities/_utilities.object-fit.scss +3 -3
  485. package/src/styles/99-utilities/_utilities.opacity.scss +6 -6
  486. package/src/styles/99-utilities/_utilities.overflow.scss +4 -4
  487. package/src/styles/99-utilities/_utilities.position.scss +8 -8
  488. package/src/styles/99-utilities/_utilities.shadow.scss +13 -13
  489. package/src/styles/99-utilities/_utilities.sizes.scss +17 -17
  490. package/src/styles/99-utilities/_utilities.spacing.scss +72 -37
  491. package/src/styles/99-utilities/_utilities.text.scss +15 -15
  492. package/src/styles/99-utilities/_utilities.visibility.scss +8 -8
  493. package/src/styles/99-utilities/_utilities.visually-hidden.scss +1 -1
  494. package/src/styles/99-utilities/_utilities.z-index.scss +2 -2
  495. package/tsconfig.json +74 -0
  496. package/webpack.config.js +463 -0
  497. package/NPM_PUBLISHING.md +0 -221
  498. package/dist/css/atomix.css.map +0 -1
  499. package/dist/js/194.js.map +0 -1
  500. package/dist/js/atomix.react.esm.js.map +0 -1
  501. package/dist/js/atomix.react.umd.js.map +0 -1
  502. package/dist/js/chunks/esm/202.ff48d27672233280e021.js.map +0 -1
  503. package/dist/js/chunks/esm/308.f873332126eba90e5c62.js.map +0 -1
  504. package/dist/js/chunks/esm/54.4db919e5e4e5cc6d7c72.js.map +0 -1
  505. package/dist/js/chunks/esm/619.afc5a718eff77fa423b5.js.map +0 -1
  506. package/dist/js/chunks/esm/690.a9e968c7497d61e56cdc.js.map +0 -1
  507. package/dist/js/chunks/esm/894.f1091a4a8758c26d29e4.js.map +0 -1
  508. package/dist/js/chunks/esm/897.561a50f7d043d42169da.js.map +0 -1
  509. package/dist/js/chunks/umd/202.dac7605cc555b6bda542.js.map +0 -1
  510. package/dist/js/chunks/umd/308.6709979849dcbdb90c9b.js.map +0 -1
  511. package/dist/js/chunks/umd/54.403470e1f7d0ef4424a7.js.map +0 -1
  512. package/dist/js/chunks/umd/619.fa05ea98c10270eb64c5.js.map +0 -1
  513. package/dist/js/chunks/umd/690.aa7054d1c53e5402c2d6.js.map +0 -1
  514. package/dist/js/chunks/umd/894.3e1eaf0a2aadf4434390.js.map +0 -1
  515. package/dist/js/chunks/umd/897.554ea37be4453698c167.js.map +0 -1
  516. package/dist/types/components/Navbar/Nav.d.ts +0 -5
  517. package/dist/types/components/Navbar/NavItem.d.ts +0 -5
  518. package/dist/types/components/Navbar/Navbar.d.ts +0 -5
  519. package/dist/types/components/Navbar/index.d.ts +0 -6
  520. package/src/components/Navbar/Menu.tsx +0 -122
  521. package/src/components/Navbar/Nav.tsx +0 -35
  522. package/src/components/Navbar/NavDropdown.tsx +0 -108
  523. package/src/components/Navbar/NavItem.tsx +0 -128
  524. package/src/components/Navbar/Navbar.tsx +0 -124
  525. package/src/components/Navbar/index.ts +0 -6
@@ -1,12 +1,12 @@
1
- @use "../01-settings/settings.photoviewer" as photoviewer;
2
- @use "../01-settings/settings.config" as config;
3
- @use "../01-settings/settings.colors" as *;
4
- @use "../01-settings/settings.border-radius" as *;
5
- @use "../01-settings/settings.box-shadow" as *;
6
- @use "../01-settings/settings.spacing" as *;
7
- @use "../01-settings/settings.typography" as *;
8
- @use "../02-tools/tools.rem" as rem;
9
- @use "../02-tools/tools.spacing" as *;
1
+ @use '../01-settings/settings.photoviewer' as photoviewer;
2
+ @use '../01-settings/settings.config' as config;
3
+ @use '../01-settings/settings.colors' as *;
4
+ @use '../01-settings/settings.border-radius' as *;
5
+ @use '../01-settings/settings.box-shadow' as *;
6
+ @use '../01-settings/settings.spacing' as *;
7
+ @use '../01-settings/settings.typography' as *;
8
+ @use '../02-tools/tools.rem' as rem;
9
+ @use '../02-tools/tools.spacing' as *;
10
10
 
11
11
  // Common mixins
12
12
  %flex-center {
@@ -16,11 +16,13 @@
16
16
  }
17
17
 
18
18
  %standard-transition {
19
- transition: all var(--#{config.$prefix}photoviewer-transition-duration) var(--#{config.$prefix}photoviewer-transition-timing);
19
+ transition: all var(--#{config.$prefix}photoviewer-transition-duration)
20
+ var(--#{config.$prefix}photoviewer-transition-timing);
20
21
  }
21
22
 
22
23
  %standard-transition {
23
- transition: all var(--#{config.$prefix}photoviewer-transition-duration) var(--#{config.$prefix}photoviewer-transition-timing);
24
+ transition: all var(--#{config.$prefix}photoviewer-transition-duration)
25
+ var(--#{config.$prefix}photoviewer-transition-timing);
24
26
  }
25
27
 
26
28
  %svg-icon {
@@ -40,16 +42,16 @@
40
42
  &::-webkit-scrollbar {
41
43
  width: 6px;
42
44
  }
43
-
45
+
44
46
  &::-webkit-scrollbar-track {
45
47
  background: transparent;
46
48
  }
47
-
49
+
48
50
  &::-webkit-scrollbar-thumb {
49
51
  background: $gray-4;
50
52
  border-radius: 3px;
51
53
  }
52
-
54
+
53
55
  &::-webkit-scrollbar-thumb:hover {
54
56
  background: $gray-5;
55
57
  }
@@ -61,7 +63,7 @@
61
63
  transform: translateY(-2px);
62
64
  box-shadow: $box-shadow-sm;
63
65
  }
64
-
66
+
65
67
  &:active:not(:disabled) {
66
68
  transform: translateY(0);
67
69
  box-shadow: $box-shadow-xs;
@@ -75,16 +77,16 @@
75
77
  object-fit: contain;
76
78
  transform-origin: center center;
77
79
  will-change: auto;
78
-
80
+
79
81
  // Enhanced image quality
80
82
  image-rendering: auto;
81
83
  image-rendering: -webkit-optimize-contrast;
82
84
  -webkit-backface-visibility: hidden;
83
85
  backface-visibility: hidden;
84
-
86
+
85
87
  // Smooth hardware-accelerated transforms
86
88
  transform: translateZ(0);
87
-
89
+
88
90
  // Prevent any touch actions on the image itself
89
91
  touch-action: none;
90
92
  -webkit-touch-callout: none;
@@ -103,26 +105,27 @@
103
105
  cursor: pointer;
104
106
  overflow: hidden;
105
107
  position: relative;
106
-
108
+
107
109
  &::after {
108
110
  content: '';
109
111
  position: absolute;
110
112
  inset: 0;
111
113
  background: rgba(0, 0, 0, 0.2);
112
114
  opacity: 1;
113
- transition: opacity var(--#{config.$prefix}photoviewer-transition-duration) var(--#{config.$prefix}photoviewer-transition-timing);
115
+ transition: opacity var(--#{config.$prefix}photoviewer-transition-duration)
116
+ var(--#{config.$prefix}photoviewer-transition-timing);
114
117
  }
115
-
118
+
116
119
  &:hover {
117
120
  transform: translateY(-2px);
118
121
  box-shadow: $box-shadow-sm;
119
122
  border-color: rgba(255, 255, 255, 0.3);
120
-
123
+
121
124
  &::after {
122
125
  opacity: 0;
123
126
  }
124
127
  }
125
-
128
+
126
129
  &.is-active {
127
130
  border-color: var(--#{config.$prefix}photoviewer-thumbnail-border);
128
131
  box-shadow: var(--#{config.$prefix}box-shadow-md);
@@ -137,7 +140,7 @@
137
140
  margin-bottom: 0.75rem;
138
141
  padding-left: 1.5rem;
139
142
  position: relative;
140
-
143
+
141
144
  &::before {
142
145
  content: '';
143
146
  position: absolute;
@@ -160,7 +163,7 @@
160
163
  font-size: $font-size-xs;
161
164
  font-weight: 500;
162
165
  transition: all 0.2s ease;
163
-
166
+
164
167
  &:hover {
165
168
  background: var(--#{config.$prefix}primary-lighter);
166
169
  color: var(--#{config.$prefix}primary-darker);
@@ -173,24 +176,24 @@
173
176
  &__action-button {
174
177
  width: calc(var(--#{config.$prefix}photoviewer-control-size-small) * #{$size-multiplier});
175
178
  height: calc(var(--#{config.$prefix}photoviewer-control-size-small) * #{$size-multiplier});
176
-
179
+
177
180
  svg {
178
181
  width: calc(20px * #{$size-multiplier});
179
182
  height: calc(20px * #{$size-multiplier});
180
183
  }
181
184
  }
182
-
185
+
183
186
  &__nav-btn,
184
187
  &__nav-button {
185
188
  width: calc(var(--#{config.$prefix}photoviewer-control-size) * #{$size-multiplier});
186
189
  height: calc(var(--#{config.$prefix}photoviewer-control-size) * #{$size-multiplier});
187
-
190
+
188
191
  svg {
189
192
  width: calc(24px * #{$size-multiplier});
190
193
  height: calc(24px * #{$size-multiplier});
191
194
  }
192
195
  }
193
-
196
+
194
197
  &__thumbnail {
195
198
  width: calc(var(--#{config.$prefix}photoviewer-thumbnail-size) * #{$size-multiplier});
196
199
  height: calc(var(--#{config.$prefix}photoviewer-thumbnail-size) * #{$size-multiplier});
@@ -201,7 +204,7 @@
201
204
  // This can be used to apply additional styling to the page when the PhotoViewer is active
202
205
  body.is-open-photoviewer {
203
206
  overflow: hidden;
204
-
207
+
205
208
  // Prevent iOS bounce scrolling
206
209
  position: fixed;
207
210
  width: 100%;
@@ -214,7 +217,7 @@ body.is-open-photoviewer {
214
217
  // Optimize for trackpad gestures on macOS
215
218
  -webkit-transform: translateZ(0);
216
219
  -webkit-backface-visibility: hidden;
217
-
220
+
218
221
  @supports (overflow: clip) {
219
222
  overflow: clip;
220
223
  }
@@ -225,7 +228,7 @@ body.is-open-photoviewer {
225
228
  body.is-open-photoviewer {
226
229
  // Additional mobile-specific styles
227
230
  -webkit-overflow-scrolling: touch;
228
-
231
+
229
232
  // Prevent address bar from showing/hiding
230
233
  height: 100vh;
231
234
  height: 100dvh; // Dynamic viewport height
@@ -301,11 +304,11 @@ body.is-open-photoviewer {
301
304
  transform: scale(1);
302
305
  transition-property: transform;
303
306
  overflow: hidden;
304
-
307
+
305
308
  .is-entering & {
306
309
  transform: scale(0.95);
307
310
  }
308
-
311
+
309
312
  .is-exiting & {
310
313
  transform: scale(0.95);
311
314
  }
@@ -320,7 +323,7 @@ body.is-open-photoviewer {
320
323
  z-index: 5;
321
324
  }
322
325
 
323
- &__counter,
326
+ &__counter,
324
327
  &__counter-badge {
325
328
  font-size: $font-size-sm;
326
329
  color: $gray-7;
@@ -337,7 +340,7 @@ body.is-open-photoviewer {
337
340
  gap: 0.75rem;
338
341
  align-items: center;
339
342
  }
340
-
343
+
341
344
  // Common button styles mixin
342
345
  %button-base {
343
346
  @extend %flex-center;
@@ -349,29 +352,29 @@ body.is-open-photoviewer {
349
352
  border-radius: var(--#{config.$prefix}photoviewer-control-border-radius);
350
353
  cursor: pointer;
351
354
  box-shadow: $box-shadow-xs;
352
-
355
+
353
356
  &:disabled {
354
357
  opacity: 0.5;
355
358
  cursor: not-allowed;
356
359
  }
357
-
360
+
358
361
  svg {
359
362
  @extend %svg-icon;
360
363
  transition: transform 0.2s ease;
361
364
  }
362
365
  }
363
-
366
+
364
367
  &__action-btn,
365
368
  &__action-button {
366
369
  @extend %button-base;
367
370
  width: var(--#{config.$prefix}photoviewer-control-size-small);
368
371
  height: var(--#{config.$prefix}photoviewer-control-size-small);
369
-
372
+
370
373
  &:hover:not(:disabled) {
371
374
  background: var(--#{config.$prefix}photoviewer-action-hover-bg);
372
375
  color: var(--#{config.$prefix}photoviewer-action-hover-color);
373
376
  }
374
-
377
+
375
378
  svg {
376
379
  width: 20px;
377
380
  height: 20px;
@@ -382,7 +385,7 @@ body.is-open-photoviewer {
382
385
  color: var(--#{config.$prefix}photoviewer-close-color);
383
386
  background: rgba(0, 0, 0, 0.3);
384
387
  margin-left: 0.5rem;
385
-
388
+
386
389
  &:hover {
387
390
  background: rgba(0, 0, 0, 0.5);
388
391
  }
@@ -394,7 +397,7 @@ body.is-open-photoviewer {
394
397
  flex: 1 1 auto;
395
398
  overflow: hidden;
396
399
  min-height: 0;
397
-
400
+
398
401
  &.is-transitioning {
399
402
  .c-photo-viewer__image-container {
400
403
  opacity: 0.7;
@@ -413,27 +416,27 @@ body.is-open-photoviewer {
413
416
  -webkit-user-select: none;
414
417
  -webkit-touch-callout: none;
415
418
  -webkit-overflow-scrolling: touch;
416
-
419
+
417
420
  // Control touch interactions - allow pan and zoom only within the container
418
421
  touch-action: pan-x pan-y pinch-zoom;
419
-
422
+
420
423
  // Optimize for smooth trackpad gestures
421
424
  transform: translateZ(0);
422
425
  -webkit-transform: translateZ(0);
423
426
  -webkit-backface-visibility: hidden;
424
427
  backface-visibility: hidden;
425
-
428
+
426
429
  // Enable smooth scaling animations for trackpad gestures
427
430
  transition: transform 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
428
-
431
+
429
432
  &.is-transitioning {
430
433
  transition: opacity 0.15s ease-out;
431
-
434
+
432
435
  .c-photo-viewer__image {
433
436
  transition: opacity 0.15s ease-out !important;
434
437
  }
435
438
  }
436
-
439
+
437
440
  // Prevent image selection and dragging
438
441
  img {
439
442
  pointer-events: none;
@@ -442,26 +445,28 @@ body.is-open-photoviewer {
442
445
  -moz-user-drag: none;
443
446
  -o-user-drag: none;
444
447
  user-drag: none;
445
-
448
+
446
449
  // Ensure touch actions are controlled
447
450
  touch-action: none;
448
451
  }
449
-
452
+
450
453
  // Loading state
451
454
  &::before {
452
455
  content: '';
453
456
  position: absolute;
454
457
  inset: 0;
455
- background: linear-gradient(90deg,
456
- transparent 0%,
457
- rgba(255, 255, 255, 0.1) 50%,
458
- transparent 100%);
458
+ background: linear-gradient(
459
+ 90deg,
460
+ transparent 0%,
461
+ rgba(255, 255, 255, 0.1) 50%,
462
+ transparent 100%
463
+ );
459
464
  animation: loading-shimmer 1.5s infinite;
460
465
  opacity: 0;
461
466
  pointer-events: none;
462
467
  transition: opacity 0.3s ease;
463
468
  }
464
-
469
+
465
470
  &.is-loading::before {
466
471
  opacity: 1;
467
472
  }
@@ -469,45 +474,45 @@ body.is-open-photoviewer {
469
474
 
470
475
  &__image {
471
476
  @extend %image-base;
472
-
477
+
473
478
  // Dynamic transitions based on state - optimized for trackpad
474
- transition:
479
+ transition:
475
480
  transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
476
481
  opacity 0.2s ease-out,
477
482
  filter 0.2s ease-out;
478
-
483
+
479
484
  // Dragging state - disable transitions for direct manipulation
480
485
  .c-photo-viewer--dragging & {
481
486
  transition: none !important;
482
487
  will-change: transform;
483
488
  }
484
-
489
+
485
490
  // Trackpad gesture state - smoother transitions for pinch zoom
486
- &[style*="scale("]:not(.c-photo-viewer--dragging) {
491
+ &[style*='scale(']:not(.c-photo-viewer--dragging) {
487
492
  transition: transform 0.1s cubic-bezier(0.23, 1, 0.32, 1);
488
493
  }
489
-
494
+
490
495
  // Loading state
491
496
  &.is-loading {
492
497
  opacity: 0.3;
493
498
  filter: blur(1px);
494
499
  }
495
-
500
+
496
501
  // Zoom state optimizations
497
- &[style*="scale(1)"] {
502
+ &[style*='scale(1)'] {
498
503
  will-change: auto;
499
504
  }
500
-
501
- &[style*="scale("]:not([style*="scale(1)"]) {
505
+
506
+ &[style*='scale(']:not([style*='scale(1)']) {
502
507
  will-change: transform;
503
508
  }
504
-
509
+
505
510
  @media (prefers-reduced-motion: reduce) {
506
511
  transition: none !important;
507
512
  animation: none !important;
508
513
  }
509
514
  }
510
-
515
+
511
516
  // Loading animation
512
517
  @keyframes loading-shimmer {
513
518
  0% {
@@ -527,25 +532,25 @@ body.is-open-photoviewer {
527
532
  width: var(--#{config.$prefix}photoviewer-control-size);
528
533
  height: var(--#{config.$prefix}photoviewer-control-size);
529
534
  z-index: 5;
530
-
535
+
531
536
  &:hover:not(:disabled) {
532
537
  background: var(--#{config.$prefix}photoviewer-action-hover-bg);
533
538
  color: var(--#{config.$prefix}photoviewer-action-hover-color);
534
539
  transform: translateY(-50%) scale(1.05);
535
540
  }
536
-
541
+
537
542
  &:active:not(:disabled) {
538
543
  transform: translateY(-50%) scale(1);
539
544
  }
540
-
545
+
541
546
  &--prev {
542
547
  left: 1rem;
543
548
  }
544
-
549
+
545
550
  &--next {
546
551
  right: 1rem;
547
552
  }
548
-
553
+
549
554
  svg {
550
555
  width: 24px;
551
556
  height: 24px;
@@ -585,7 +590,7 @@ body.is-open-photoviewer {
585
590
  object-position: center;
586
591
  border-radius: calc($border-radius-sm - 2px);
587
592
  transition-property: transform;
588
-
593
+
589
594
  .c-photo-viewer__thumbnail:hover & {
590
595
  transform: scale(1.05);
591
596
  }
@@ -615,25 +620,25 @@ body.is-open-photoviewer {
615
620
  flex-direction: row;
616
621
  gap: var(--#{config.$prefix}photoviewer-spacing);
617
622
  }
618
-
623
+
619
624
  .c-photo-viewer__thumbnails {
620
625
  flex-direction: column;
621
626
  margin-top: 0;
622
627
  max-height: 80vh;
623
628
  overflow-y: auto;
624
629
  }
625
-
630
+
626
631
  .c-photo-viewer__content {
627
632
  flex: 1;
628
633
  }
629
634
  }
630
-
635
+
631
636
  &--thumbnails-left {
632
637
  .c-photo-viewer__thumbnails {
633
638
  order: -1;
634
639
  }
635
640
  }
636
-
641
+
637
642
  &--thumbnails-right {
638
643
  .c-photo-viewer__thumbnails {
639
644
  order: 1;
@@ -657,17 +662,17 @@ body.is-open-photoviewer {
657
662
  transform: translateX(100%);
658
663
  transition-property: transform;
659
664
  }
660
-
665
+
661
666
  &--info-open {
662
667
  .c-photo-viewer__container {
663
668
  padding-right: var(--#{config.$prefix}photoviewer-info-panel-width);
664
669
  }
665
-
670
+
666
671
  .c-photo-viewer__info-panel {
667
672
  transform: translateX(0);
668
673
  }
669
674
  }
670
-
675
+
671
676
  &__info-close {
672
677
  @extend %button-base;
673
678
  position: absolute;
@@ -677,23 +682,23 @@ body.is-open-photoviewer {
677
682
  height: var(--#{config.$prefix}photoviewer-control-size-small);
678
683
  box-shadow: $box-shadow-xs;
679
684
  z-index: 2;
680
-
685
+
681
686
  &:hover {
682
687
  background: var(--#{config.$prefix}photoviewer-action-hover-bg);
683
688
  transform: translateY(-2px);
684
689
  }
685
-
690
+
686
691
  svg {
687
692
  width: 16px;
688
693
  height: 16px;
689
694
  }
690
695
  }
691
-
696
+
692
697
  &__info-content {
693
698
  margin-top: 2rem;
694
699
  padding-bottom: 2rem;
695
700
  }
696
-
701
+
697
702
  &__info-title {
698
703
  font-size: $font-size-lg;
699
704
  font-weight: 600;
@@ -701,7 +706,7 @@ body.is-open-photoviewer {
701
706
  padding-bottom: 1rem;
702
707
  color: $gray-9;
703
708
  position: relative;
704
-
709
+
705
710
  &::after {
706
711
  content: '';
707
712
  position: absolute;
@@ -713,18 +718,18 @@ body.is-open-photoviewer {
713
718
  border-radius: 2px;
714
719
  }
715
720
  }
716
-
721
+
717
722
  &__info-description {
718
723
  font-size: $font-size-base;
719
724
  line-height: 1.6;
720
725
  margin-bottom: 1.5rem;
721
726
  color: $gray-8;
722
727
  }
723
-
728
+
724
729
  &__info-meta {
725
730
  @extend %info-meta-item;
726
731
  }
727
-
732
+
728
733
  &__info-tags {
729
734
  display: flex;
730
735
  flex-wrap: wrap;
@@ -732,29 +737,29 @@ body.is-open-photoviewer {
732
737
  margin-top: 1.5rem;
733
738
  margin-bottom: 0.5rem;
734
739
  }
735
-
740
+
736
741
  &__info-tag {
737
742
  @extend %info-tag;
738
743
  }
739
-
744
+
740
745
  // Responsive styles
741
746
  @media (max-width: 992px) {
742
747
  @include responsive-control-sizes(0.9);
743
-
748
+
744
749
  &__container {
745
750
  max-width: 95vw;
746
751
  max-height: 90vh;
747
752
  }
748
-
753
+
749
754
  &__image-container {
750
755
  max-width: 90vw;
751
756
  max-height: 70vh;
752
757
  }
753
758
  }
754
-
759
+
755
760
  @media (max-width: 768px) {
756
761
  @include responsive-control-sizes(0.8);
757
-
762
+
758
763
  &__container {
759
764
  max-width: 100vw;
760
765
  max-height: 100vh;
@@ -762,40 +767,40 @@ body.is-open-photoviewer {
762
767
  padding: 0.75rem;
763
768
  border-radius: 0;
764
769
  }
765
-
770
+
766
771
  &__header {
767
772
  margin-bottom: 0.75rem;
768
773
  }
769
-
774
+
770
775
  &__actions {
771
776
  gap: 0.5rem;
772
777
  }
773
-
778
+
774
779
  &__image-container {
775
780
  max-height: 75vh;
776
781
  }
777
-
782
+
778
783
  &__nav-btn,
779
784
  &__nav-button {
780
785
  &--prev {
781
786
  left: 0.25rem;
782
787
  }
783
-
788
+
784
789
  &--next {
785
790
  right: 0.25rem;
786
791
  }
787
792
  }
788
-
793
+
789
794
  &__thumbnails {
790
795
  max-width: 100%;
791
796
  }
792
-
797
+
793
798
  &--thumbnails-left,
794
799
  &--thumbnails-right {
795
800
  .c-photo-viewer__container {
796
801
  flex-direction: column;
797
802
  }
798
-
803
+
799
804
  .c-photo-viewer__thumbnails {
800
805
  flex-direction: row;
801
806
  order: 1;
@@ -805,12 +810,12 @@ body.is-open-photoviewer {
805
810
  overflow-x: auto;
806
811
  }
807
812
  }
808
-
813
+
809
814
  &--info-open {
810
815
  .c-photo-viewer__container {
811
816
  padding-right: 0;
812
817
  }
813
-
818
+
814
819
  .c-photo-viewer__info-panel {
815
820
  width: 100%;
816
821
  height: 100%;
@@ -820,38 +825,38 @@ body.is-open-photoviewer {
820
825
  right: 0;
821
826
  transform: translateX(0);
822
827
  }
823
-
828
+
824
829
  .c-photo-viewer__info-panel {
825
830
  overflow-y: auto;
826
831
  }
827
832
  }
828
833
  }
829
-
834
+
830
835
  @media (max-width: 480px) {
831
836
  @include responsive-control-sizes(0.7);
832
-
837
+
833
838
  &__container {
834
839
  padding: 0.5rem;
835
840
  }
836
-
841
+
837
842
  &__header {
838
843
  margin-bottom: 0.5rem;
839
844
  }
840
-
845
+
841
846
  &__counter,
842
847
  &__counter-badge {
843
848
  font-size: $font-size-xs;
844
849
  padding: 0.2rem 0.5rem;
845
850
  }
846
-
851
+
847
852
  &__actions {
848
853
  gap: 0.3rem;
849
854
  }
850
-
855
+
851
856
  &__image-container {
852
857
  max-height: 65vh;
853
858
  }
854
-
859
+
855
860
  &__info-panel {
856
861
  width: 100%;
857
862
  height: 70%;
@@ -860,14 +865,14 @@ body.is-open-photoviewer {
860
865
  transform: translateY(100%);
861
866
  border-left: none;
862
867
  border-top: 1px solid $gray-3;
863
-
868
+
864
869
  &.is-open {
865
870
  transform: translateY(0);
866
871
  }
867
872
  }
868
-
873
+
869
874
  &--info-open &__info-panel {
870
875
  padding: 1rem;
871
876
  }
872
877
  }
873
- }
878
+ }