@dmsi/wedgekit-react 0.0.1277 → 1.0.1

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 (645) hide show
  1. package/README.md +4 -32
  2. package/dist/classNames.d.ts +41 -0
  3. package/dist/classNames.d.ts.map +1 -0
  4. package/dist/components/AccessCard.d.ts +14 -0
  5. package/dist/components/AccessCard.d.ts.map +1 -0
  6. package/dist/components/AccessCardGroup.d.ts +15 -0
  7. package/dist/components/AccessCardGroup.d.ts.map +1 -0
  8. package/dist/components/AccessChangerTabItem.d.ts +11 -0
  9. package/dist/components/AccessChangerTabItem.d.ts.map +1 -0
  10. package/dist/components/Accordion.d.ts +15 -0
  11. package/dist/components/Accordion.d.ts.map +1 -0
  12. package/dist/components/Alert.d.ts +13 -0
  13. package/dist/components/Alert.d.ts.map +1 -0
  14. package/dist/components/Breadcrumbs.d.ts +19 -0
  15. package/dist/components/Breadcrumbs.d.ts.map +1 -0
  16. package/dist/components/Button.d.ts +46 -0
  17. package/dist/components/Button.d.ts.map +1 -0
  18. package/dist/components/CalendarRange.d.ts +28 -0
  19. package/dist/components/CalendarRange.d.ts.map +1 -0
  20. package/dist/components/Caption.d.ts +15 -0
  21. package/dist/components/Caption.d.ts.map +1 -0
  22. package/dist/components/Card.d.ts +28 -0
  23. package/dist/components/Card.d.ts.map +1 -0
  24. package/dist/components/Checkbox.d.ts +12 -0
  25. package/dist/components/Checkbox.d.ts.map +1 -0
  26. package/dist/components/CompactImagesPreview.d.ts +25 -0
  27. package/dist/components/CompactImagesPreview.d.ts.map +1 -0
  28. package/dist/components/ContentTab.d.ts +12 -0
  29. package/dist/components/ContentTab.d.ts.map +1 -0
  30. package/dist/components/ContentTabs.d.ts +23 -0
  31. package/dist/components/ContentTabs.d.ts.map +1 -0
  32. package/dist/components/DMSiLogo.d.ts +2 -0
  33. package/dist/components/DMSiLogo.d.ts.map +1 -0
  34. package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.d.ts +8 -0
  35. package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.d.ts.map +1 -0
  36. package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.d.ts +9 -0
  37. package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.d.ts.map +1 -0
  38. package/dist/components/DataGrid/PinnedColumns.d.ts +26 -0
  39. package/dist/components/DataGrid/PinnedColumns.d.ts.map +1 -0
  40. package/dist/components/DataGrid/TableBody/LoadingCell.d.ts +7 -0
  41. package/dist/components/DataGrid/TableBody/LoadingCell.d.ts.map +1 -0
  42. package/dist/components/DataGrid/TableBody/TableBodyRow.d.ts +22 -0
  43. package/dist/components/DataGrid/TableBody/TableBodyRow.d.ts.map +1 -0
  44. package/dist/components/DataGrid/TableBody/index.d.ts +26 -0
  45. package/dist/components/DataGrid/TableBody/index.d.ts.map +1 -0
  46. package/dist/components/DataGrid/index.d.ts +5 -0
  47. package/dist/components/DataGrid/index.d.ts.map +1 -0
  48. package/dist/components/DataGrid/types.d.ts +74 -0
  49. package/dist/components/DataGrid/types.d.ts.map +1 -0
  50. package/dist/components/DataGrid/utils.d.ts +3 -0
  51. package/dist/components/DataGrid/utils.d.ts.map +1 -0
  52. package/dist/components/DataGridCell.d.ts +46 -0
  53. package/dist/components/DataGridCell.d.ts.map +1 -0
  54. package/dist/components/DataTable.d.ts +36 -0
  55. package/dist/components/DataTable.d.ts.map +1 -0
  56. package/dist/components/DateInput.d.ts +38 -0
  57. package/dist/components/DateInput.d.ts.map +1 -0
  58. package/dist/components/DateRangeInput.d.ts +36 -0
  59. package/dist/components/DateRangeInput.d.ts.map +1 -0
  60. package/dist/components/DebugJson.d.ts +5 -0
  61. package/dist/components/DebugJson.d.ts.map +1 -0
  62. package/dist/components/Display.d.ts +14 -0
  63. package/dist/components/Display.d.ts.map +1 -0
  64. package/dist/components/EditingContext.d.ts +14 -0
  65. package/dist/components/EditingContext.d.ts.map +1 -0
  66. package/dist/components/EmblaCarousel/ArrowButtons.d.ts +9 -0
  67. package/dist/components/EmblaCarousel/ArrowButtons.d.ts.map +1 -0
  68. package/dist/components/EmblaCarousel/SelectedSnapDisplay.d.ts +7 -0
  69. package/dist/components/EmblaCarousel/SelectedSnapDisplay.d.ts.map +1 -0
  70. package/dist/components/EmblaCarousel/index.d.ts +20 -0
  71. package/dist/components/EmblaCarousel/index.d.ts.map +1 -0
  72. package/dist/components/EmblaCarousel/usePrevNextButtons.d.ts +10 -0
  73. package/dist/components/EmblaCarousel/usePrevNextButtons.d.ts.map +1 -0
  74. package/dist/components/EmblaCarousel/useSelectedSnapDisplay.d.ts +8 -0
  75. package/dist/components/EmblaCarousel/useSelectedSnapDisplay.d.ts.map +1 -0
  76. package/dist/components/EmptyCartIcon.d.ts +2 -0
  77. package/dist/components/EmptyCartIcon.d.ts.map +1 -0
  78. package/dist/components/FilterGroup.d.ts +29 -0
  79. package/dist/components/FilterGroup.d.ts.map +1 -0
  80. package/dist/components/FullViewportBox.d.ts +6 -0
  81. package/dist/components/FullViewportBox.d.ts.map +1 -0
  82. package/dist/components/Grid.d.ts +22 -0
  83. package/dist/components/Grid.d.ts.map +1 -0
  84. package/dist/components/Heading.d.ts +15 -0
  85. package/dist/components/Heading.d.ts.map +1 -0
  86. package/dist/components/HorizontalDivider.d.ts +8 -0
  87. package/dist/components/HorizontalDivider.d.ts.map +1 -0
  88. package/dist/components/Icon.d.ts +11 -0
  89. package/dist/components/Icon.d.ts.map +1 -0
  90. package/dist/components/ImagePlaceholder.d.ts +3 -0
  91. package/dist/components/ImagePlaceholder.d.ts.map +1 -0
  92. package/dist/components/Input.d.ts +50 -0
  93. package/dist/components/Input.d.ts.map +1 -0
  94. package/dist/components/InputGroup.d.ts +12 -0
  95. package/dist/components/InputGroup.d.ts.map +1 -0
  96. package/dist/components/Label.d.ts +10 -0
  97. package/dist/components/Label.d.ts.map +1 -0
  98. package/dist/components/Link.d.ts +16 -0
  99. package/dist/components/Link.d.ts.map +1 -0
  100. package/dist/components/List.d.ts +7 -0
  101. package/dist/components/List.d.ts.map +1 -0
  102. package/dist/components/ListGroup.d.ts +26 -0
  103. package/dist/components/ListGroup.d.ts.map +1 -0
  104. package/dist/components/LiveChatComponent.d.ts +17 -0
  105. package/dist/components/LiveChatComponent.d.ts.map +1 -0
  106. package/dist/components/LoadingScrim.d.ts +14 -0
  107. package/dist/components/LoadingScrim.d.ts.map +1 -0
  108. package/dist/components/LogoAgilityTopBar.d.ts +2 -0
  109. package/dist/components/LogoAgilityTopBar.d.ts.map +1 -0
  110. package/dist/components/LogoDMSiTopBar.d.ts +2 -0
  111. package/dist/components/LogoDMSiTopBar.d.ts.map +1 -0
  112. package/dist/components/LogoMillworkTopBar.d.ts +2 -0
  113. package/dist/components/LogoMillworkTopBar.d.ts.map +1 -0
  114. package/dist/components/MainBar.d.ts +14 -0
  115. package/dist/components/MainBar.d.ts.map +1 -0
  116. package/dist/components/MaxViewportBox.d.ts +6 -0
  117. package/dist/components/MaxViewportBox.d.ts.map +1 -0
  118. package/dist/components/Menu.d.ts +23 -0
  119. package/dist/components/Menu.d.ts.map +1 -0
  120. package/dist/components/MenuOption.d.ts +65 -0
  121. package/dist/components/MenuOption.d.ts.map +1 -0
  122. package/dist/components/MobileDataGrid/ColumnList.d.ts +13 -0
  123. package/dist/components/MobileDataGrid/ColumnList.d.ts.map +1 -0
  124. package/dist/components/MobileDataGrid/ColumnSelector/index.d.ts +2 -0
  125. package/dist/components/MobileDataGrid/ColumnSelector/index.d.ts.map +1 -0
  126. package/dist/components/MobileDataGrid/GridContextProvider/GridContext.d.ts +24 -0
  127. package/dist/components/MobileDataGrid/GridContextProvider/GridContext.d.ts.map +1 -0
  128. package/dist/components/MobileDataGrid/GridContextProvider/index.d.ts +15 -0
  129. package/dist/components/MobileDataGrid/GridContextProvider/index.d.ts.map +1 -0
  130. package/dist/components/MobileDataGrid/GridContextProvider/useGridContext.d.ts +3 -0
  131. package/dist/components/MobileDataGrid/GridContextProvider/useGridContext.d.ts.map +1 -0
  132. package/dist/components/MobileDataGrid/MobileDataGridCard/MobileDataGridColumn.d.ts +6 -0
  133. package/dist/components/MobileDataGrid/MobileDataGridCard/MobileDataGridColumn.d.ts.map +1 -0
  134. package/dist/components/MobileDataGrid/MobileDataGridCard/index.d.ts +10 -0
  135. package/dist/components/MobileDataGrid/MobileDataGridCard/index.d.ts.map +1 -0
  136. package/dist/components/MobileDataGrid/MobileDataGridHeader.d.ts +7 -0
  137. package/dist/components/MobileDataGrid/MobileDataGridHeader.d.ts.map +1 -0
  138. package/dist/components/MobileDataGrid/RowDetailModalProvider/ModalContent.d.ts +2 -0
  139. package/dist/components/MobileDataGrid/RowDetailModalProvider/ModalContent.d.ts.map +1 -0
  140. package/dist/components/MobileDataGrid/RowDetailModalProvider/index.d.ts +2 -0
  141. package/dist/components/MobileDataGrid/RowDetailModalProvider/index.d.ts.map +1 -0
  142. package/dist/components/MobileDataGrid/dataGridReducer.d.ts +21 -0
  143. package/dist/components/MobileDataGrid/dataGridReducer.d.ts.map +1 -0
  144. package/dist/components/MobileDataGrid/index.d.ts +26 -0
  145. package/dist/components/MobileDataGrid/index.d.ts.map +1 -0
  146. package/dist/components/MobileDataGrid/types.d.ts +4 -0
  147. package/dist/components/MobileDataGrid/types.d.ts.map +1 -0
  148. package/dist/components/MobileNavMenu.d.ts +36 -0
  149. package/dist/components/MobileNavMenu.d.ts.map +1 -0
  150. package/dist/components/Modal.d.ts +30 -0
  151. package/dist/components/Modal.d.ts.map +1 -0
  152. package/dist/components/ModalButtons.d.ts +13 -0
  153. package/dist/components/ModalButtons.d.ts.map +1 -0
  154. package/dist/components/ModalContent.d.ts +7 -0
  155. package/dist/components/ModalContent.d.ts.map +1 -0
  156. package/dist/components/ModalHeader.d.ts +17 -0
  157. package/dist/components/ModalHeader.d.ts.map +1 -0
  158. package/dist/components/ModalScrim.d.ts +13 -0
  159. package/dist/components/ModalScrim.d.ts.map +1 -0
  160. package/dist/components/NavigationTab.d.ts +13 -0
  161. package/dist/components/NavigationTab.d.ts.map +1 -0
  162. package/dist/components/NavigationTabs.d.ts +18 -0
  163. package/dist/components/NavigationTabs.d.ts.map +1 -0
  164. package/dist/components/NestedMenu.d.ts +35 -0
  165. package/dist/components/NestedMenu.d.ts.map +1 -0
  166. package/dist/components/Notification.d.ts +17 -0
  167. package/dist/components/Notification.d.ts.map +1 -0
  168. package/dist/components/OptionPill.d.ts +14 -0
  169. package/dist/components/OptionPill.d.ts.map +1 -0
  170. package/dist/components/OrderCheckIcon.d.ts +5 -0
  171. package/dist/components/OrderCheckIcon.d.ts.map +1 -0
  172. package/dist/components/PDFViewer/DownloadIcon.d.ts +7 -0
  173. package/dist/components/PDFViewer/DownloadIcon.d.ts.map +1 -0
  174. package/dist/components/PDFViewer/PDFElement.d.ts +7 -0
  175. package/dist/components/PDFViewer/PDFElement.d.ts.map +1 -0
  176. package/dist/components/PDFViewer/PDFNavigation.d.ts +12 -0
  177. package/dist/components/PDFViewer/PDFNavigation.d.ts.map +1 -0
  178. package/dist/components/PDFViewer/PDFPage.d.ts +7 -0
  179. package/dist/components/PDFViewer/PDFPage.d.ts.map +1 -0
  180. package/dist/components/PDFViewer/index.d.ts +20 -0
  181. package/dist/components/PDFViewer/index.d.ts.map +1 -0
  182. package/dist/components/Pagination.d.ts +14 -0
  183. package/dist/components/Pagination.d.ts.map +1 -0
  184. package/dist/components/Paragraph.d.ts +10 -0
  185. package/dist/components/Paragraph.d.ts.map +1 -0
  186. package/dist/components/Password.d.ts +4 -0
  187. package/dist/components/Password.d.ts.map +1 -0
  188. package/dist/components/ProductImagePreview/CarouselPagination.d.ts +9 -0
  189. package/dist/components/ProductImagePreview/CarouselPagination.d.ts.map +1 -0
  190. package/dist/components/ProductImagePreview/MobileImageCarousel.d.ts +11 -0
  191. package/dist/components/ProductImagePreview/MobileImageCarousel.d.ts.map +1 -0
  192. package/dist/components/ProductImagePreview/ProductPrimaryImage.d.ts +22 -0
  193. package/dist/components/ProductImagePreview/ProductPrimaryImage.d.ts.map +1 -0
  194. package/dist/components/ProductImagePreview/Thumbnail.d.ts +11 -0
  195. package/dist/components/ProductImagePreview/Thumbnail.d.ts.map +1 -0
  196. package/dist/components/ProductImagePreview/ZoomWindow.d.ts +22 -0
  197. package/dist/components/ProductImagePreview/ZoomWindow.d.ts.map +1 -0
  198. package/dist/components/ProductImagePreview/index.d.ts +23 -0
  199. package/dist/components/ProductImagePreview/index.d.ts.map +1 -0
  200. package/dist/components/ProductImagePreview/useProductImagePreview.d.ts +42 -0
  201. package/dist/components/ProductImagePreview/useProductImagePreview.d.ts.map +1 -0
  202. package/dist/components/ProjectBar.d.ts +12 -0
  203. package/dist/components/ProjectBar.d.ts.map +1 -0
  204. package/dist/components/Radio.d.ts +10 -0
  205. package/dist/components/Radio.d.ts.map +1 -0
  206. package/dist/components/Search.d.ts +20 -0
  207. package/dist/components/Search.d.ts.map +1 -0
  208. package/dist/components/SearchResultImage/index.d.ts +9 -0
  209. package/dist/components/SearchResultImage/index.d.ts.map +1 -0
  210. package/dist/components/Select.d.ts +22 -0
  211. package/dist/components/Select.d.ts.map +1 -0
  212. package/dist/components/SideMenu.d.ts +9 -0
  213. package/dist/components/SideMenu.d.ts.map +1 -0
  214. package/dist/components/SideMenuGroup.d.ts +11 -0
  215. package/dist/components/SideMenuGroup.d.ts.map +1 -0
  216. package/dist/components/SideMenuItem.d.ts +15 -0
  217. package/dist/components/SideMenuItem.d.ts.map +1 -0
  218. package/dist/components/SimpleTable.d.ts +11 -0
  219. package/dist/components/SimpleTable.d.ts.map +1 -0
  220. package/dist/components/SkeletonParagraph.d.ts +16 -0
  221. package/dist/components/SkeletonParagraph.d.ts.map +1 -0
  222. package/dist/components/Spinner.d.ts +7 -0
  223. package/dist/components/Spinner.d.ts.map +1 -0
  224. package/dist/components/Stack.d.ts +64 -0
  225. package/dist/components/Stack.d.ts.map +1 -0
  226. package/dist/components/StatusPill.d.ts +10 -0
  227. package/dist/components/StatusPill.d.ts.map +1 -0
  228. package/dist/components/Stepper.d.ts +26 -0
  229. package/dist/components/Stepper.d.ts.map +1 -0
  230. package/dist/components/Subheader.d.ts +10 -0
  231. package/dist/components/Subheader.d.ts.map +1 -0
  232. package/dist/components/Surface.d.ts +9 -0
  233. package/dist/components/Surface.d.ts.map +1 -0
  234. package/dist/components/Swatch.d.ts +13 -0
  235. package/dist/components/Swatch.d.ts.map +1 -0
  236. package/dist/components/Textarea.d.ts +12 -0
  237. package/dist/components/Textarea.d.ts.map +1 -0
  238. package/dist/components/Theme.d.ts +8 -0
  239. package/dist/components/Theme.d.ts.map +1 -0
  240. package/dist/components/Time.d.ts +13 -0
  241. package/dist/components/Time.d.ts.map +1 -0
  242. package/dist/components/Toast.d.ts +20 -0
  243. package/dist/components/Toast.d.ts.map +1 -0
  244. package/dist/components/Tooltip.d.ts +13 -0
  245. package/dist/components/Tooltip.d.ts.map +1 -0
  246. package/dist/components/TopBar.d.ts +20 -0
  247. package/dist/components/TopBar.d.ts.map +1 -0
  248. package/dist/components/Upload.d.ts +10 -0
  249. package/dist/components/Upload.d.ts.map +1 -0
  250. package/dist/components/WorldpayIframe.d.ts +5 -0
  251. package/dist/components/WorldpayIframe.d.ts.map +1 -0
  252. package/dist/hooks/index.d.ts +9 -0
  253. package/dist/hooks/index.d.ts.map +1 -0
  254. package/dist/hooks/useEditCell.d.ts +9 -0
  255. package/dist/hooks/useEditCell.d.ts.map +1 -0
  256. package/dist/hooks/useInfiniteScroll.d.ts +9 -0
  257. package/dist/hooks/useInfiniteScroll.d.ts.map +1 -0
  258. package/dist/hooks/useKeydown.d.ts +4 -0
  259. package/dist/hooks/useKeydown.d.ts.map +1 -0
  260. package/dist/hooks/useMatchesMedia.d.ts +3 -0
  261. package/dist/hooks/useMatchesMedia.d.ts.map +1 -0
  262. package/dist/hooks/useMenuSystem.d.ts +44 -0
  263. package/dist/hooks/useMenuSystem.d.ts.map +1 -0
  264. package/dist/hooks/useMounted.d.ts +2 -0
  265. package/dist/hooks/useMounted.d.ts.map +1 -0
  266. package/dist/hooks/useTableLayout/computeColumns.d.ts +49 -0
  267. package/dist/hooks/useTableLayout/computeColumns.d.ts.map +1 -0
  268. package/dist/hooks/useTableLayout/index.d.ts +3 -0
  269. package/dist/hooks/useTableLayout/index.d.ts.map +1 -0
  270. package/dist/hooks/useTableLayout/storage.d.ts +41 -0
  271. package/dist/hooks/useTableLayout/storage.d.ts.map +1 -0
  272. package/dist/hooks/useTableLayout/types.d.ts +56 -0
  273. package/dist/hooks/useTableLayout/types.d.ts.map +1 -0
  274. package/dist/hooks/useTableLayout/useTableLayout.d.ts +23 -0
  275. package/dist/hooks/useTableLayout/useTableLayout.d.ts.map +1 -0
  276. package/dist/index.d.ts +94 -0
  277. package/dist/index.d.ts.map +1 -0
  278. package/dist/index.js +52866 -0
  279. package/dist/lib/design-system.d.ts +3 -0
  280. package/dist/lib/design-system.d.ts.map +1 -0
  281. package/dist/lib/loadFonts.d.ts +2 -0
  282. package/dist/lib/loadFonts.d.ts.map +1 -0
  283. package/dist/pdf-l6QfMa5e.js +17649 -0
  284. package/dist/styles.css +1 -0
  285. package/dist/types.d.ts +33 -0
  286. package/dist/types.d.ts.map +1 -0
  287. package/dist/utils/date-patch-dashes.d.ts +17 -0
  288. package/dist/utils/date-patch-dashes.d.ts.map +1 -0
  289. package/dist/utils/date.d.ts +60 -0
  290. package/dist/utils/date.d.ts.map +1 -0
  291. package/dist/utils/formatting.d.ts +36 -0
  292. package/dist/utils/formatting.d.ts.map +1 -0
  293. package/dist/utils/index.d.ts +6 -0
  294. package/dist/utils/index.d.ts.map +1 -0
  295. package/dist/utils/mergeObjectArrays.d.ts +12 -0
  296. package/dist/utils/mergeObjectArrays.d.ts.map +1 -0
  297. package/dist/utils.d.ts +3 -0
  298. package/dist/utils.d.ts.map +1 -0
  299. package/package.json +17 -83
  300. package/dist/chunk-3DJWSTPS.js +0 -134
  301. package/dist/chunk-3JUIYULW.js +0 -231
  302. package/dist/chunk-3PIDINTF.js +0 -52
  303. package/dist/chunk-3UPUZBP5.js +0 -149
  304. package/dist/chunk-3V5OMIYB.js +0 -2376
  305. package/dist/chunk-4FUZDLWX.js +0 -112
  306. package/dist/chunk-4RJKB7LC.js +0 -14
  307. package/dist/chunk-4UGMSWWA.js +0 -57
  308. package/dist/chunk-5IFPG6TS.js +0 -17
  309. package/dist/chunk-5N32SQ3R.js +0 -99
  310. package/dist/chunk-5UH6QUFB.js +0 -38
  311. package/dist/chunk-6YUQCRMX.js +0 -32
  312. package/dist/chunk-75USUR3I.js +0 -27
  313. package/dist/chunk-7IPESTQS.js +0 -93
  314. package/dist/chunk-7MBRCM3M.js +0 -66
  315. package/dist/chunk-7WDYXRMW.js +0 -110
  316. package/dist/chunk-7YA3TF73.js +0 -32
  317. package/dist/chunk-7Z3WINQ3.js +0 -59
  318. package/dist/chunk-7ZJIGTFN.js +0 -78
  319. package/dist/chunk-AJ5M6MVX.js +0 -7
  320. package/dist/chunk-AT4AWD6B.js +0 -44
  321. package/dist/chunk-BQNPOGD5.js +0 -105
  322. package/dist/chunk-BWPNXY7T.js +0 -78
  323. package/dist/chunk-CIYLALYO.js +0 -72
  324. package/dist/chunk-DNNX5EYX.js +0 -274
  325. package/dist/chunk-E3FOCECQ.js +0 -61
  326. package/dist/chunk-E7LGUC2B.js +0 -35
  327. package/dist/chunk-EWGHVZL5.js +0 -27
  328. package/dist/chunk-F4VE3THQ.js +0 -71
  329. package/dist/chunk-FXXRXLOL.js +0 -329
  330. package/dist/chunk-G242RHWI.js +0 -139
  331. package/dist/chunk-GOGNV5TF.js +0 -68
  332. package/dist/chunk-GYT5CL7R.js +0 -159
  333. package/dist/chunk-H36XCZ3O.js +0 -140
  334. package/dist/chunk-H5SHC4XZ.js +0 -586
  335. package/dist/chunk-HRPW6VXG.js +0 -110
  336. package/dist/chunk-J3HNYUSG.js +0 -34
  337. package/dist/chunk-J4IMVWT5.js +0 -183
  338. package/dist/chunk-JYECZBCJ.js +0 -154
  339. package/dist/chunk-K6RPFIMB.js +0 -77
  340. package/dist/chunk-KBIEWFQS.js +0 -27
  341. package/dist/chunk-KESCXOG3.js +0 -82
  342. package/dist/chunk-MBZ55T2D.js +0 -51
  343. package/dist/chunk-MVDGHWKO.js +0 -238
  344. package/dist/chunk-NAWP246H.js +0 -65
  345. package/dist/chunk-NKUETCDA.js +0 -44
  346. package/dist/chunk-NSZTJ5R4.js +0 -38
  347. package/dist/chunk-NT26ZKSI.js +0 -82
  348. package/dist/chunk-NW75QACN.js +0 -91
  349. package/dist/chunk-OM7QLLI2.js +0 -277
  350. package/dist/chunk-ORMEWXMH.js +0 -37
  351. package/dist/chunk-PE3EZP56.js +0 -373
  352. package/dist/chunk-QBIEU25R.js +0 -61
  353. package/dist/chunk-QG6NWMGA.js +0 -138
  354. package/dist/chunk-QVWYTQKL.js +0 -29
  355. package/dist/chunk-QW4AJ5FK.js +0 -483
  356. package/dist/chunk-RN465M4S.js +0 -142
  357. package/dist/chunk-SATCWGO7.js +0 -166
  358. package/dist/chunk-SBRRNFOP.js +0 -33
  359. package/dist/chunk-SJZNVG4N.js +0 -47
  360. package/dist/chunk-TBZ243DS.js +0 -173
  361. package/dist/chunk-UARCWLMD.js +0 -66
  362. package/dist/chunk-UFX5XIJL.js +0 -178
  363. package/dist/chunk-UZHBKSXJ.js +0 -87
  364. package/dist/chunk-VEEZ7VRJ.js +0 -137
  365. package/dist/chunk-VJVY6NPF.js +0 -32
  366. package/dist/chunk-VUKYIERA.js +0 -89
  367. package/dist/chunk-VXWSAIB5.js +0 -26
  368. package/dist/chunk-W5NXOJ4L.js +0 -104
  369. package/dist/chunk-WVGXD7HT.js +0 -19
  370. package/dist/chunk-WVUIIBRR.js +0 -51
  371. package/dist/chunk-X7BKBBIH.js +0 -114
  372. package/dist/chunk-XB2S2QMB.js +0 -67
  373. package/dist/chunk-Y5GD2FJA.js +0 -32
  374. package/dist/chunk-YKEPPS2I.js +0 -192
  375. package/dist/chunk-YULGJORA.js +0 -259
  376. package/dist/chunk-Z2HPSFEQ.js +0 -14
  377. package/dist/chunk-Z5YP2GI6.js +0 -142
  378. package/dist/chunk-ZRFXUER3.js +0 -468
  379. package/dist/components/AccessCard.cjs +0 -661
  380. package/dist/components/AccessCard.js +0 -13
  381. package/dist/components/AccessCardGroup.cjs +0 -365
  382. package/dist/components/AccessCardGroup.js +0 -11
  383. package/dist/components/AccessChangerTabItem.cjs +0 -352
  384. package/dist/components/AccessChangerTabItem.js +0 -75
  385. package/dist/components/Accordion.cjs +0 -680
  386. package/dist/components/Accordion.js +0 -13
  387. package/dist/components/Alert.cjs +0 -850
  388. package/dist/components/Alert.js +0 -14
  389. package/dist/components/Breadcrumbs.cjs +0 -456
  390. package/dist/components/Breadcrumbs.js +0 -125
  391. package/dist/components/Button.cjs +0 -401
  392. package/dist/components/Button.js +0 -9
  393. package/dist/components/CalendarRange.cjs +0 -6576
  394. package/dist/components/CalendarRange.css +0 -5549
  395. package/dist/components/CalendarRange.js +0 -78
  396. package/dist/components/Caption.cjs +0 -365
  397. package/dist/components/Caption.js +0 -9
  398. package/dist/components/Card.cjs +0 -128
  399. package/dist/components/Card.js +0 -7
  400. package/dist/components/Checkbox.cjs +0 -421
  401. package/dist/components/Checkbox.js +0 -11
  402. package/dist/components/CompactImagesPreview.cjs +0 -604
  403. package/dist/components/CompactImagesPreview.js +0 -14
  404. package/dist/components/ContentTab.cjs +0 -483
  405. package/dist/components/ContentTab.js +0 -11
  406. package/dist/components/ContentTabs.cjs +0 -599
  407. package/dist/components/ContentTabs.js +0 -125
  408. package/dist/components/DMSiLogo.cjs +0 -97
  409. package/dist/components/DMSiLogo.js +0 -60
  410. package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.cjs +0 -6565
  411. package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.css +0 -5549
  412. package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.js +0 -74
  413. package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.cjs +0 -6565
  414. package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.css +0 -5549
  415. package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.js +0 -74
  416. package/dist/components/DataGrid/PinnedColumns.cjs +0 -6565
  417. package/dist/components/DataGrid/PinnedColumns.css +0 -5549
  418. package/dist/components/DataGrid/PinnedColumns.js +0 -74
  419. package/dist/components/DataGrid/TableBody/LoadingCell.cjs +0 -6567
  420. package/dist/components/DataGrid/TableBody/LoadingCell.css +0 -5549
  421. package/dist/components/DataGrid/TableBody/LoadingCell.js +0 -74
  422. package/dist/components/DataGrid/TableBody/TableBodyRow.cjs +0 -6567
  423. package/dist/components/DataGrid/TableBody/TableBodyRow.css +0 -5549
  424. package/dist/components/DataGrid/TableBody/TableBodyRow.js +0 -74
  425. package/dist/components/DataGrid/TableBody/index.cjs +0 -6567
  426. package/dist/components/DataGrid/TableBody/index.css +0 -5549
  427. package/dist/components/DataGrid/TableBody/index.js +0 -74
  428. package/dist/components/DataGrid/index.cjs +0 -6570
  429. package/dist/components/DataGrid/index.css +0 -5549
  430. package/dist/components/DataGrid/index.js +0 -77
  431. package/dist/components/DataGrid/utils.cjs +0 -6565
  432. package/dist/components/DataGrid/utils.css +0 -5549
  433. package/dist/components/DataGrid/utils.js +0 -74
  434. package/dist/components/DataGridCell.cjs +0 -2538
  435. package/dist/components/DataGridCell.js +0 -30
  436. package/dist/components/DataTable.cjs +0 -847
  437. package/dist/components/DataTable.js +0 -775
  438. package/dist/components/DateInput.cjs +0 -6567
  439. package/dist/components/DateInput.css +0 -5549
  440. package/dist/components/DateInput.js +0 -74
  441. package/dist/components/DateRangeInput.cjs +0 -7158
  442. package/dist/components/DateRangeInput.css +0 -5549
  443. package/dist/components/DateRangeInput.js +0 -652
  444. package/dist/components/DebugJson.cjs +0 -58
  445. package/dist/components/DebugJson.js +0 -35
  446. package/dist/components/Display.cjs +0 -263
  447. package/dist/components/Display.js +0 -12
  448. package/dist/components/EditingContext.cjs +0 -86
  449. package/dist/components/EditingContext.js +0 -12
  450. package/dist/components/EmblaCarousel/ArrowButtons.cjs +0 -151
  451. package/dist/components/EmblaCarousel/ArrowButtons.js +0 -9
  452. package/dist/components/EmblaCarousel/SelectedSnapDisplay.cjs +0 -38
  453. package/dist/components/EmblaCarousel/SelectedSnapDisplay.js +0 -7
  454. package/dist/components/EmblaCarousel/index.cjs +0 -420
  455. package/dist/components/EmblaCarousel/index.js +0 -12
  456. package/dist/components/EmptyCartIcon.cjs +0 -51
  457. package/dist/components/EmptyCartIcon.js +0 -7
  458. package/dist/components/FilterGroup.cjs +0 -1808
  459. package/dist/components/FilterGroup.js +0 -267
  460. package/dist/components/FooterBar.cjs +0 -64
  461. package/dist/components/FooterBar.js +0 -31
  462. package/dist/components/FullViewportBox.cjs +0 -60
  463. package/dist/components/FullViewportBox.js +0 -27
  464. package/dist/components/Grid.cjs +0 -135
  465. package/dist/components/Grid.js +0 -7
  466. package/dist/components/Heading.cjs +0 -267
  467. package/dist/components/Heading.js +0 -14
  468. package/dist/components/HorizontalDivider.cjs +0 -82
  469. package/dist/components/HorizontalDivider.js +0 -26
  470. package/dist/components/Icon.cjs +0 -101
  471. package/dist/components/Icon.js +0 -7
  472. package/dist/components/ImagePlaceholder.cjs +0 -65
  473. package/dist/components/ImagePlaceholder.js +0 -7
  474. package/dist/components/Input.cjs +0 -930
  475. package/dist/components/Input.js +0 -23
  476. package/dist/components/InputGroup.cjs +0 -307
  477. package/dist/components/InputGroup.js +0 -68
  478. package/dist/components/Label.cjs +0 -252
  479. package/dist/components/Label.js +0 -8
  480. package/dist/components/Link.cjs +0 -304
  481. package/dist/components/Link.js +0 -8
  482. package/dist/components/List.cjs +0 -39
  483. package/dist/components/List.js +0 -16
  484. package/dist/components/ListGroup.cjs +0 -568
  485. package/dist/components/ListGroup.js +0 -11
  486. package/dist/components/LiveChatComponent.cjs +0 -63
  487. package/dist/components/LiveChatComponent.js +0 -40
  488. package/dist/components/LoadingScrim.cjs +0 -90
  489. package/dist/components/LoadingScrim.js +0 -28
  490. package/dist/components/LogoAgilityTopBar.cjs +0 -133
  491. package/dist/components/LogoAgilityTopBar.js +0 -96
  492. package/dist/components/LogoDMSiTopBar.cjs +0 -97
  493. package/dist/components/LogoDMSiTopBar.js +0 -7
  494. package/dist/components/LogoMillworkTopBar.cjs +0 -239
  495. package/dist/components/LogoMillworkTopBar.js +0 -202
  496. package/dist/components/MainBar.cjs +0 -234
  497. package/dist/components/MainBar.js +0 -66
  498. package/dist/components/MaxViewportBox.cjs +0 -45
  499. package/dist/components/MaxViewportBox.js +0 -22
  500. package/dist/components/Menu.cjs +0 -505
  501. package/dist/components/Menu.js +0 -14
  502. package/dist/components/MenuOption.cjs +0 -695
  503. package/dist/components/MenuOption.js +0 -18
  504. package/dist/components/MobileDataGrid/ColumnList.cjs +0 -991
  505. package/dist/components/MobileDataGrid/ColumnList.css +0 -5549
  506. package/dist/components/MobileDataGrid/ColumnList.js +0 -20
  507. package/dist/components/MobileDataGrid/ColumnSelector/index.cjs +0 -6675
  508. package/dist/components/MobileDataGrid/ColumnSelector/index.css +0 -5549
  509. package/dist/components/MobileDataGrid/ColumnSelector/index.js +0 -74
  510. package/dist/components/MobileDataGrid/GridContextProvider/GridContext.cjs +0 -31
  511. package/dist/components/MobileDataGrid/GridContextProvider/GridContext.js +0 -7
  512. package/dist/components/MobileDataGrid/GridContextProvider/index.cjs +0 -186
  513. package/dist/components/MobileDataGrid/GridContextProvider/index.js +0 -8
  514. package/dist/components/MobileDataGrid/MobileDataGridCard/MobileDataGridColumn.cjs +0 -333
  515. package/dist/components/MobileDataGrid/MobileDataGridCard/MobileDataGridColumn.js +0 -12
  516. package/dist/components/MobileDataGrid/MobileDataGridCard/index.cjs +0 -907
  517. package/dist/components/MobileDataGrid/MobileDataGridCard/index.js +0 -19
  518. package/dist/components/MobileDataGrid/MobileDataGridHeader.cjs +0 -6985
  519. package/dist/components/MobileDataGrid/MobileDataGridHeader.css +0 -5549
  520. package/dist/components/MobileDataGrid/MobileDataGridHeader.js +0 -74
  521. package/dist/components/MobileDataGrid/RowDetailModalProvider/ModalContent.cjs +0 -620
  522. package/dist/components/MobileDataGrid/RowDetailModalProvider/ModalContent.js +0 -16
  523. package/dist/components/MobileDataGrid/RowDetailModalProvider/index.cjs +0 -1457
  524. package/dist/components/MobileDataGrid/RowDetailModalProvider/index.js +0 -29
  525. package/dist/components/MobileDataGrid/index.cjs +0 -7496
  526. package/dist/components/MobileDataGrid/index.css +0 -5549
  527. package/dist/components/MobileDataGrid/index.js +0 -74
  528. package/dist/components/Modal.cjs +0 -995
  529. package/dist/components/Modal.js +0 -23
  530. package/dist/components/ModalButtons.cjs +0 -491
  531. package/dist/components/ModalButtons.js +0 -11
  532. package/dist/components/ModalContent.cjs +0 -204
  533. package/dist/components/ModalContent.js +0 -8
  534. package/dist/components/ModalHeader.cjs +0 -563
  535. package/dist/components/ModalHeader.js +0 -12
  536. package/dist/components/ModalScrim.cjs +0 -69
  537. package/dist/components/ModalScrim.js +0 -7
  538. package/dist/components/NavigationTab.cjs +0 -522
  539. package/dist/components/NavigationTab.js +0 -11
  540. package/dist/components/NavigationTabs.cjs +0 -572
  541. package/dist/components/NavigationTabs.js +0 -61
  542. package/dist/components/NestedMenu.cjs +0 -1275
  543. package/dist/components/NestedMenu.js +0 -164
  544. package/dist/components/Notification.cjs +0 -871
  545. package/dist/components/Notification.js +0 -126
  546. package/dist/components/OptionPill.cjs +0 -597
  547. package/dist/components/OptionPill.js +0 -12
  548. package/dist/components/OrderCheckIcon.cjs +0 -85
  549. package/dist/components/OrderCheckIcon.js +0 -7
  550. package/dist/components/PDFViewer/DownloadIcon.cjs +0 -618
  551. package/dist/components/PDFViewer/DownloadIcon.js +0 -17
  552. package/dist/components/PDFViewer/PDFElement.cjs +0 -571
  553. package/dist/components/PDFViewer/PDFElement.js +0 -11
  554. package/dist/components/PDFViewer/PDFNavigation.cjs +0 -828
  555. package/dist/components/PDFViewer/PDFNavigation.js +0 -14
  556. package/dist/components/PDFViewer/PDFPage.cjs +0 -56
  557. package/dist/components/PDFViewer/PDFPage.js +0 -7
  558. package/dist/components/PDFViewer/index.cjs +0 -1941
  559. package/dist/components/PDFViewer/index.js +0 -182
  560. package/dist/components/Pagination.cjs +0 -436
  561. package/dist/components/Pagination.js +0 -10
  562. package/dist/components/Paragraph.cjs +0 -261
  563. package/dist/components/Paragraph.js +0 -8
  564. package/dist/components/Password.cjs +0 -1130
  565. package/dist/components/Password.js +0 -75
  566. package/dist/components/ProductImagePreview/CarouselPagination.cjs +0 -75
  567. package/dist/components/ProductImagePreview/CarouselPagination.js +0 -7
  568. package/dist/components/ProductImagePreview/MobileImageCarousel.cjs +0 -216
  569. package/dist/components/ProductImagePreview/MobileImageCarousel.js +0 -7
  570. package/dist/components/ProductImagePreview/ProductPrimaryImage.cjs +0 -214
  571. package/dist/components/ProductImagePreview/ProductPrimaryImage.js +0 -7
  572. package/dist/components/ProductImagePreview/Thumbnail.cjs +0 -112
  573. package/dist/components/ProductImagePreview/Thumbnail.js +0 -8
  574. package/dist/components/ProductImagePreview/ZoomWindow.cjs +0 -198
  575. package/dist/components/ProductImagePreview/ZoomWindow.js +0 -8
  576. package/dist/components/ProductImagePreview/index.cjs +0 -1447
  577. package/dist/components/ProductImagePreview/index.js +0 -22
  578. package/dist/components/ProjectBar.cjs +0 -279
  579. package/dist/components/ProjectBar.js +0 -71
  580. package/dist/components/Radio.cjs +0 -386
  581. package/dist/components/Radio.js +0 -10
  582. package/dist/components/Search.cjs +0 -1040
  583. package/dist/components/Search.js +0 -14
  584. package/dist/components/SearchResultImage/index.cjs +0 -92
  585. package/dist/components/SearchResultImage/index.js +0 -8
  586. package/dist/components/Select.cjs +0 -1019
  587. package/dist/components/Select.js +0 -14
  588. package/dist/components/SideMenu.cjs +0 -61
  589. package/dist/components/SideMenu.js +0 -28
  590. package/dist/components/SideMenuGroup.cjs +0 -593
  591. package/dist/components/SideMenuGroup.js +0 -97
  592. package/dist/components/SideMenuItem.cjs +0 -568
  593. package/dist/components/SideMenuItem.js +0 -95
  594. package/dist/components/SimpleTable.cjs +0 -547
  595. package/dist/components/SimpleTable.js +0 -10
  596. package/dist/components/SkeletonParagraph.cjs +0 -51
  597. package/dist/components/SkeletonParagraph.js +0 -7
  598. package/dist/components/Spinner.cjs +0 -57
  599. package/dist/components/Spinner.js +0 -7
  600. package/dist/components/Stack.cjs +0 -434
  601. package/dist/components/Stack.js +0 -8
  602. package/dist/components/StatusPill.cjs +0 -303
  603. package/dist/components/StatusPill.js +0 -64
  604. package/dist/components/Stepper.cjs +0 -1485
  605. package/dist/components/Stepper.js +0 -239
  606. package/dist/components/Subheader.cjs +0 -255
  607. package/dist/components/Subheader.js +0 -8
  608. package/dist/components/Surface.cjs +0 -101
  609. package/dist/components/Surface.js +0 -7
  610. package/dist/components/Swatch.cjs +0 -2089
  611. package/dist/components/Swatch.js +0 -1513
  612. package/dist/components/Textarea.cjs +0 -330
  613. package/dist/components/Textarea.js +0 -136
  614. package/dist/components/Theme.cjs +0 -51
  615. package/dist/components/Theme.js +0 -7
  616. package/dist/components/Time.cjs +0 -1518
  617. package/dist/components/Time.js +0 -373
  618. package/dist/components/Toast.cjs +0 -764
  619. package/dist/components/Toast.js +0 -243
  620. package/dist/components/Tooltip.cjs +0 -337
  621. package/dist/components/Tooltip.js +0 -14
  622. package/dist/components/TopBar.cjs +0 -392
  623. package/dist/components/TopBar.js +0 -148
  624. package/dist/components/Upload.cjs +0 -823
  625. package/dist/components/Upload.js +0 -132
  626. package/dist/components/WorldpayIframe.cjs +0 -45
  627. package/dist/components/WorldpayIframe.js +0 -22
  628. package/dist/components/index.cjs +0 -9461
  629. package/dist/components/index.css +0 -5549
  630. package/dist/components/index.js +0 -174
  631. package/dist/components/useMenuSystem.cjs +0 -442
  632. package/dist/components/useMenuSystem.js +0 -15
  633. package/dist/components/useMounted.cjs +0 -39
  634. package/dist/components/useMounted.js +0 -8
  635. package/dist/fonts.css +0 -21
  636. package/dist/hooks/index.cjs +0 -523
  637. package/dist/hooks/index.js +0 -22
  638. package/dist/icons-light[FILL]-PPZXOLWS.woff2 +0 -0
  639. package/dist/icons-normal[FILL]-PPZXOLWS.woff2 +0 -0
  640. package/dist/index.css +0 -5527
  641. package/dist/open-sans-55T6A4JE.woff2 +0 -0
  642. package/dist/types.cjs +0 -18
  643. package/dist/types.js +0 -0
  644. package/dist/utils/index.cjs +0 -264
  645. package/dist/utils/index.js +0 -43
@@ -1,1447 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __defProps = Object.defineProperties;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
- var __getOwnPropNames = Object.getOwnPropertyNames;
8
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
- var __getProtoOf = Object.getPrototypeOf;
10
- var __hasOwnProp = Object.prototype.hasOwnProperty;
11
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
- var __spreadValues = (a, b) => {
14
- for (var prop in b || (b = {}))
15
- if (__hasOwnProp.call(b, prop))
16
- __defNormalProp(a, prop, b[prop]);
17
- if (__getOwnPropSymbols)
18
- for (var prop of __getOwnPropSymbols(b)) {
19
- if (__propIsEnum.call(b, prop))
20
- __defNormalProp(a, prop, b[prop]);
21
- }
22
- return a;
23
- };
24
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
- var __objRest = (source, exclude) => {
26
- var target = {};
27
- for (var prop in source)
28
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
29
- target[prop] = source[prop];
30
- if (source != null && __getOwnPropSymbols)
31
- for (var prop of __getOwnPropSymbols(source)) {
32
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
33
- target[prop] = source[prop];
34
- }
35
- return target;
36
- };
37
- var __export = (target, all) => {
38
- for (var name in all)
39
- __defProp(target, name, { get: all[name], enumerable: true });
40
- };
41
- var __copyProps = (to, from, except, desc) => {
42
- if (from && typeof from === "object" || typeof from === "function") {
43
- for (let key of __getOwnPropNames(from))
44
- if (!__hasOwnProp.call(to, key) && key !== except)
45
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
46
- }
47
- return to;
48
- };
49
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
50
- // If the importer is in node compatibility mode or this is not an ESM
51
- // file that has been converted to a CommonJS file using a Babel-
52
- // compatible transform (i.e. "__esModule" has not been set), then set
53
- // "default" to the CommonJS "module.exports" for node compatibility.
54
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
55
- mod
56
- ));
57
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
58
-
59
- // src/components/ProductImagePreview/index.tsx
60
- var ProductImagePreview_exports = {};
61
- __export(ProductImagePreview_exports, {
62
- ProductImagePreview: () => ProductImagePreview
63
- });
64
- module.exports = __toCommonJS(ProductImagePreview_exports);
65
-
66
- // src/components/ProductImagePreview/Thumbnail.tsx
67
- var import_react2 = require("react");
68
-
69
- // src/components/ImagePlaceholder.tsx
70
- var import_react = require("react");
71
- var import_jsx_runtime = require("react/jsx-runtime");
72
- function ImagePlaceholder(props) {
73
- const clipId = (0, import_react.useId)();
74
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
75
- "svg",
76
- __spreadProps(__spreadValues({
77
- xmlns: "http://www.w3.org/2000/svg",
78
- width: 242,
79
- height: 243,
80
- fill: "none"
81
- }, props), {
82
- children: [
83
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("g", { clipPath: `url(#${clipId})`, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("rect", { width: props.width, height: props.width, fill: "#F7F7F7", rx: 2 }) }),
84
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("clipPath", { id: clipId, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("rect", { width: props.width, height: props.width, fill: "#fff", rx: 2 }) }) })
85
- ]
86
- })
87
- );
88
- }
89
-
90
- // src/components/ProductImagePreview/Thumbnail.tsx
91
- var import_jsx_runtime2 = require("react/jsx-runtime");
92
- function Thumbnail({
93
- width,
94
- height,
95
- src,
96
- alt,
97
- isActive,
98
- onClick,
99
- isPlaceholder = false,
100
- onImageError
101
- }) {
102
- const [imageError, setImageError] = (0, import_react2.useState)(false);
103
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
104
- "button",
105
- {
106
- type: "button",
107
- onClick,
108
- className: [
109
- "cursor-pointer relative overflow-hidden rounded aspect-square w-full",
110
- // base radius, square when no explicit size
111
- "focus:outline-none",
112
- isActive && !isPlaceholder && "ring-[3px] ring-offset-1 ring-border-action-normal ring-offset-white opacity-70"
113
- ].join(" "),
114
- style: { maxWidth: width, maxHeight: height, aspectRatio: "1 / 1" },
115
- "aria-pressed": isActive && !isPlaceholder ? "true" : "false",
116
- children: isPlaceholder ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ImagePlaceholder, { width: 115, height: 115 }) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
117
- "img",
118
- {
119
- src: imageError ? "/placeholder.svg" : src,
120
- alt,
121
- className: "object-contain w-full h-full select-none",
122
- draggable: false,
123
- loading: "lazy",
124
- onError: () => {
125
- onImageError == null ? void 0 : onImageError(src);
126
- setImageError(true);
127
- }
128
- }
129
- )
130
- }
131
- );
132
- }
133
-
134
- // src/components/Stack.tsx
135
- var import_clsx2 = __toESM(require("clsx"), 1);
136
-
137
- // src/classNames.ts
138
- var import_clsx = __toESM(require("clsx"), 1);
139
- var typography = {
140
- display1: (0, import_clsx.default)(
141
- "font-sans font-semibold",
142
- "text-display-1-mobile desktop:text-display-1-desktop compact:text-display-1-desktop-compact",
143
- "leading-display-1-mobile desktop:leading-display-1-desktop"
144
- ),
145
- display2: (0, import_clsx.default)(
146
- "font-sans font-bold",
147
- "text-display-2-mobile desktop:text-display-2-desktop compact:text-display-2-desktop-compact",
148
- "leading-display-2-mobile desktop:leading-display-2-desktop"
149
- ),
150
- heading1: (0, import_clsx.default)(
151
- "font-sans font-semibold",
152
- "text-heading-1-mobile desktop:text-heading-1-desktop compact:text-heading-1-desktop-compact",
153
- "leading-heading-1-mobile desktop:leading-heading-1-desktop"
154
- ),
155
- heading2: (0, import_clsx.default)(
156
- "font-sans font-normal",
157
- "text-heading-2-mobile desktop:text-heading-2-desktop compact:text-heading-2-desktop-compact",
158
- "leading-heading-2-mobile desktop:leading-heading-2-desktop"
159
- ),
160
- heading3: (0, import_clsx.default)(
161
- "font-sans font-semibold",
162
- "text-heading-3-mobile desktop:text-heading-3-desktop compact:text-heading-3-desktop-compact",
163
- "leading-heading-3-mobile desktop:leading-heading-3-desktop"
164
- ),
165
- subheader: (0, import_clsx.default)(
166
- "font-sans font-semibold",
167
- "text-subheader-mobile desktop:text-subheader-desktop compact:text-subheader-desktop-compact",
168
- "leading-subheader-mobile desktop:leading-subheader-desktop"
169
- ),
170
- link: (0, import_clsx.default)(
171
- "font-sans font-normal",
172
- "text-link-mobile desktop:text-link-desktop compact:text-link-desktop-compact",
173
- "leading-link-mobile desktop:leading-link-desktop"
174
- ),
175
- buttonLabel: (0, import_clsx.default)(
176
- "font-sans font-semibold",
177
- "text-label-mobile desktop:text-label-desktop compact:text-label-desktop-compact",
178
- "leading-label-mobile desktop:leading-label-desktop"
179
- ),
180
- label: (0, import_clsx.default)(
181
- "font-sans font-semibold",
182
- "text-label-mobile desktop:text-label-desktop compact:text-label-desktop-compact",
183
- "leading-label-mobile desktop:leading-label-desktop"
184
- ),
185
- paragraph: (0, import_clsx.default)(
186
- "font-sans font-normal",
187
- "text-paragraph-mobile desktop:text-paragraph-desktop compact:text-paragraph-desktop-compact",
188
- "leading-paragraph-mobile desktop:leading-paragraph-desktop"
189
- ),
190
- caption: (0, import_clsx.default)(
191
- "font-sans font-normal",
192
- "text-caption-mobile desktop:text-caption-desktop compact:text-caption-desktop-compact",
193
- "leading-caption-mobile desktop:leading-caption-desktop"
194
- ),
195
- breadcrumb: (0, import_clsx.default)(
196
- "font-sans font-normal",
197
- "text-paragraph-mobile desktop:text-paragraph-desktop compact:text-paragraph-desktop-compact",
198
- "leading-mobile-breadcrumb desktop:leading-desktop-breadcrumb"
199
- )
200
- };
201
- var baseTransition = (0, import_clsx.default)(
202
- "transition-colors duration-100 ease-in-out"
203
- );
204
- var componentGap = (0, import_clsx.default)(
205
- "gap-mobile-component-gap desktop:gap-desktop-component-gap compact:gap-desktop-compact-component-gap"
206
- );
207
- var paddingUsingComponentGap = (0, import_clsx.default)(
208
- "p-mobile-component-gap desktop:p-desktop-component-gap compact:p-desktop-compact-component-gap"
209
- );
210
- var paddingXUsingLayoutGroupGap = (0, import_clsx.default)(
211
- "px-mobile-layout-group-gap desktop:px-desktop-layout-group-gap compact:px-desktop-compact-layout-group-gap"
212
- );
213
- var paddingYUsingLayoutGroupGap = (0, import_clsx.default)(
214
- "py-mobile-layout-group-gap desktop:py-desktop-layout-group-gap compact:py-desktop-compact-layout-group-gap"
215
- );
216
- var componentPadding = (0, import_clsx.default)(
217
- "p-mobile-component-padding desktop:p-desktop-component-padding compact:p-desktop-compact-component-padding"
218
- );
219
- var componentPaddingBottom = (0, import_clsx.default)(
220
- "pb-mobile-component-padding desktop:pb-desktop-component-padding compact:pb-desktop-compact-component-padding"
221
- );
222
- var componentPaddingX = (0, import_clsx.default)(
223
- "px-mobile-component-padding desktop:px-desktop-component-padding compact:px-desktop-compact-component-padding"
224
- );
225
- var componentPaddingY = (0, import_clsx.default)(
226
- "py-mobile-component-padding desktop:py-desktop-component-padding compact:py-desktop-compact-component-padding"
227
- );
228
- var componentPaddingXUsingComponentGap = (0, import_clsx.default)(
229
- "px-mobile-component-gap desktop:px-desktop-component-gap compact:px-desktop-compact-component-gap"
230
- );
231
- var componentPaddingYUsingComponentGap = (0, import_clsx.default)(
232
- "py-mobile-component-gap desktop:py-desktop-component-gap compact:py-desktop-compact-component-gap"
233
- );
234
- var componentPaddingYUsingComponentGap2xMobile = (0, import_clsx.default)(
235
- "py-[calc(var(--spacing-mobile-component-gap)_+_8px)] desktop:py-desktop-component-gap compact:py-desktop-compact-component-gap"
236
- );
237
- var componentPaddingMinusBorder = (0, import_clsx.default)(
238
- "p-[calc(var(--spacing-mobile-component-padding)_-_1px)] desktop:p-[calc(var(--spacing-desktop-component-padding)_-_1px)] compact:p-[calc(var(--spacing-desktop-compact-component-padding)_-_1px)]"
239
- );
240
- var componentPaddingMinus2pxBorder = (0, import_clsx.default)(
241
- "p-[calc(var(--spacing-mobile-component-padding)_-_2px)] desktop:p-[calc(var(--spacing-desktop-component-padding)_-_2px)] compact:p-[calc(var(--spacing-desktop-compact-component-padding)_-_2px)]"
242
- );
243
- var componentPaddingMinusBorderDesktop = (0, import_clsx.default)(
244
- "p-[calc(var(--spacing-desktop-component-padding)_-_1px)]"
245
- );
246
- var layoutPaddding = (0, import_clsx.default)(
247
- "p-mobile-layout-padding desktop:p-desktop-layout-padding compact:p-desktop-compact-layout-padding"
248
- );
249
- var layoutPaddingBottom = (0, import_clsx.default)(
250
- "pb-mobile-layout-padding desktop:pb-desktop-layout-padding compact:pb-desktop-compact-layout-padding"
251
- );
252
- var layoutPaddingY = (0, import_clsx.default)(
253
- "py-mobile-layout-padding desktop:py-desktop-layout-padding compact:py-desktop-compact-layout-padding"
254
- );
255
- var layoutPaddingX = (0, import_clsx.default)(
256
- "px-mobile-layout-padding desktop:px-desktop-layout-padding compact:px-desktop-compact-layout-padding"
257
- );
258
- var containerPaddingX = (0, import_clsx.default)(
259
- "px-mobile-container-padding desktop:px-desktop-container-padding compact:px-desktop-compact-container-padding"
260
- );
261
- var containerPaddingY = (0, import_clsx.default)(
262
- "py-mobile-container-padding desktop:py-desktop-container-padding compact:py-desktop-compact-container-padding"
263
- );
264
- var layoutGroupGapPaddingY = (0, import_clsx.default)(
265
- "py-mobile-layout-group-gap desktop:py-desktop-layout-group-gap compact:py-desktop-compact-layout-group-gap"
266
- );
267
- var layoutGroupGap = (0, import_clsx.default)(
268
- "gap-mobile-layout-group-gap desktop:gap-desktop-layout-group-gap compact:gap-desktop-compact-layout-group-gap"
269
- );
270
- var layoutGap = (0, import_clsx.default)(
271
- "gap-mobile-layout-gap desktop:gap-desktop-layout-gap compact:gap-desktop-compact-layout-gap"
272
- );
273
- var gapUsingContainerPadding = (0, import_clsx.default)(
274
- "gap-mobile-container-padding desktop:gap-desktop-container-padding compact:gap-desktop-compact-container-padding"
275
- );
276
-
277
- // src/components/Stack.tsx
278
- var import_jsx_runtime3 = require("react/jsx-runtime");
279
- var getFlexClassNames = ({ items, justify, grow }) => (0, import_clsx2.default)(
280
- "flex",
281
- items === "start" && "items-start",
282
- grow && "grow",
283
- items === "start" && "items-start",
284
- items === "center" && "items-center",
285
- items === "end" && "items-end",
286
- items === "start-center" && "items-start desktop:items-center",
287
- justify === "start" && "justify-start",
288
- justify === "center" && "justify-center",
289
- justify === "end" && "justify-end",
290
- justify === "end" && "justify-end",
291
- justify === "between" && "justify-between",
292
- justify === "around" && "justify-around"
293
- );
294
- var useGapClassNames = (sizing) => {
295
- return (0, import_clsx2.default)(
296
- sizing === "layout-group" && "gap-mobile-layout-group-gap desktop:gap-desktop-layout-group-gap compact:gap-compact-layout-group-gap",
297
- sizing === "layout" && "gap-mobile-layout-gap desktop:gap-desktop-layout-gap compact:gap-compact-layout-gap",
298
- sizing === "container" && "gap-mobile-container-gap desktop:gap-desktop-container-gap compact:gap-compact-container-gap",
299
- sizing === "component" && "gap-mobile-component-gap desktop:gap-desktop-component-gap compact:gap-compact-component-gap"
300
- );
301
- };
302
- var Stack = (_a) => {
303
- var _b = _a, {
304
- children,
305
- items,
306
- justify,
307
- grow,
308
- padding,
309
- paddingX,
310
- paddingY,
311
- paddingBottom,
312
- paddingTop,
313
- paddingLeft,
314
- paddingRight,
315
- margin,
316
- marginX,
317
- marginY,
318
- horizontal,
319
- horizontalMobile,
320
- elevation = 0,
321
- rounded,
322
- centered,
323
- width,
324
- minHeight,
325
- maxWidth,
326
- minWidth,
327
- height,
328
- maxHeight,
329
- borderColor,
330
- borderTopColor,
331
- borderRightColor,
332
- borderBottomColor,
333
- borderLeftColor,
334
- backgroundColor,
335
- sizing = "none",
336
- overflowY = "inherit",
337
- overflowX = "inherit",
338
- flexShrink,
339
- flexGrow,
340
- position,
341
- top,
342
- left,
343
- id,
344
- noGap,
345
- marginTop,
346
- marginBottom,
347
- testid,
348
- bottom,
349
- zIndex,
350
- flexWrap,
351
- className,
352
- unclipEdges
353
- } = _b, props = __objRest(_b, [
354
- "children",
355
- "items",
356
- "justify",
357
- "grow",
358
- "padding",
359
- "paddingX",
360
- "paddingY",
361
- "paddingBottom",
362
- "paddingTop",
363
- "paddingLeft",
364
- "paddingRight",
365
- "margin",
366
- "marginX",
367
- "marginY",
368
- "horizontal",
369
- "horizontalMobile",
370
- "elevation",
371
- "rounded",
372
- "centered",
373
- "width",
374
- "minHeight",
375
- "maxWidth",
376
- "minWidth",
377
- "height",
378
- "maxHeight",
379
- "borderColor",
380
- "borderTopColor",
381
- "borderRightColor",
382
- "borderBottomColor",
383
- "borderLeftColor",
384
- "backgroundColor",
385
- "sizing",
386
- "overflowY",
387
- "overflowX",
388
- "flexShrink",
389
- "flexGrow",
390
- "position",
391
- "top",
392
- "left",
393
- "id",
394
- "noGap",
395
- "marginTop",
396
- "marginBottom",
397
- "testid",
398
- "bottom",
399
- "zIndex",
400
- "flexWrap",
401
- "className",
402
- "unclipEdges"
403
- ]);
404
- var _a2, _b2, _c, _d, _e, _f, _g;
405
- const flexClassNames = getFlexClassNames({ items, justify, grow });
406
- const gapClassNames = useGapClassNames(sizing);
407
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
408
- "div",
409
- __spreadProps(__spreadValues({
410
- id,
411
- "data-testid": testid
412
- }, props), {
413
- style: __spreadValues({
414
- height: height === "screen" ? "100vh" : height === "full" ? "100%" : height === void 0 ? void 0 : height === "fit" ? "fit-content" : typeof height === "string" && isNaN(+height) ? height : `${height}px`,
415
- maxHeight: maxHeight !== void 0 ? isNaN(+maxHeight) ? maxHeight : `${maxHeight}px` : (_a2 = props.style) == null ? void 0 : _a2.maxHeight,
416
- maxWidth: maxWidth !== void 0 ? isNaN(+maxWidth) ? maxWidth : `${maxWidth}px` : (_b2 = props.style) == null ? void 0 : _b2.maxWidth,
417
- minHeight: minHeight !== void 0 ? isNaN(+minHeight) ? minHeight : `${minHeight}px` : (_c = props.style) == null ? void 0 : _c.minHeight,
418
- width: width !== void 0 && typeof width === "number" ? `${width}px` : void 0,
419
- minWidth: minWidth !== void 0 ? `${minWidth}px` : void 0,
420
- border: borderColor ? `1px solid var(--color-${borderColor})` : void 0,
421
- borderTop: borderTopColor ? `1px solid var(--color-${borderTopColor})` : void 0,
422
- borderRight: borderRightColor ? `1px solid var(--color-${borderRightColor})` : void 0,
423
- borderBottom: borderBottomColor ? `1px solid var(--color-${borderBottomColor})` : void 0,
424
- borderLeft: borderLeftColor ? `1px solid var(--color-${borderLeftColor})` : void 0,
425
- backgroundColor: backgroundColor ? `var(--color-${backgroundColor})` : void 0,
426
- flexGrow: flexGrow !== void 0 ? flexGrow : void 0,
427
- flexShrink: flexShrink !== void 0 ? flexShrink : void 0,
428
- position: position !== void 0 ? position : void 0,
429
- top: top !== void 0 ? `${top}px` : void 0,
430
- bottom: bottom !== void 0 ? `${bottom}px` : void 0,
431
- left: left !== void 0 ? `${left}px` : void 0,
432
- borderBlock: (_d = props.style) == null ? void 0 : _d.borderBlock,
433
- marginInline: (_e = props.style) == null ? void 0 : _e.marginInline,
434
- zIndex: zIndex !== void 0 ? zIndex : void 0,
435
- flexWrap,
436
- paddingInline: (_f = props.style) == null ? void 0 : _f.paddingInline,
437
- gap: (_g = props.style) == null ? void 0 : _g.gap
438
- }, props.style),
439
- className: (0, import_clsx2.default)(
440
- "scrollbar-thin",
441
- "max-w-screen",
442
- width !== "fit" && "w-full",
443
- width === "full" && "w-full",
444
- width === "max" && "w-max",
445
- centered && "mx-auto",
446
- overflowY == "auto" && "overflow-y-auto",
447
- overflowY == "hidden" && "overflow-y-hidden",
448
- overflowY == "scroll" && "overflow-y-scroll",
449
- overflowX == "auto" && "overflow-x-auto",
450
- overflowX == "hidden" && "overflow-x-hidden",
451
- overflowX == "scroll" && "overflow-x-scroll",
452
- padding && sizing === "container" && "p-mobile-container-padding desktop:p-desktop-container-padding compact:p-desktop-compact-container-padding",
453
- padding && sizing === "layout" && "p-mobile-layout-padding desktop:p-desktop-layout-padding compact:p-desktop-compact-layout-padding",
454
- padding && sizing === "layout-group" && "p-mobile-layout-group-padding desktop:p-desktop-layout-group-padding compact:p-desktop-compact-layout-group-padding",
455
- padding && sizing === "component" && "p-mobile-component-padding desktop:p-desktop-component-padding compact:p-desktop-compact-component-padding",
456
- paddingX && sizing === "container" && "px-mobile-container-padding desktop:px-desktop-container-padding compact:px-desktop-compact-container-padding",
457
- paddingX && sizing === "layout" && "px-mobile-layout-padding desktop:px-desktop-layout-padding compact:px-desktop-compact-layout-padding",
458
- paddingX && sizing === "layout-group" && "px-mobile-layout-group-padding desktop:px-desktop-layout-group-padding compact:px-desktop-compact-layout-group-padding",
459
- paddingX && sizing === "component" && "px-mobile-component-padding desktop:px-desktop-component-padding compact:px-desktop-compact-component-padding",
460
- paddingY && sizing === "container" && "py-mobile-container-padding desktop:py-desktop-container-padding compact:py-desktop-compact-container-padding",
461
- paddingY && sizing === "layout" && "py-mobile-layout-padding desktop:py-desktop-layout-padding compact:py-desktop-compact-layout-padding",
462
- paddingY && sizing === "layout-group" && paddingYUsingLayoutGroupGap,
463
- paddingY && sizing === "component" && "py-mobile-component-padding desktop:py-desktop-component-padding compact:py-desktop-compact-component-padding",
464
- paddingBottom && sizing === "container" && "pb-mobile-container-padding desktop:pb-desktop-container-padding compact:pb-desktop-compact-container-padding",
465
- paddingBottom && sizing === "layout" && "pb-mobile-layout-padding desktop:pb-desktop-layout-padding compact:pb-desktop-compact-layout-padding",
466
- paddingBottom && sizing === "layout-group" && "pb-mobile-layout-group-padding desktop:pb-desktop-layout-group-padding compact:pb-desktop-compact-layout-group-padding",
467
- paddingBottom && sizing === "component" && "pb-mobile-component-padding desktop:pb-desktop-component-padding compact:pb-desktop-compact-component-padding",
468
- paddingTop && sizing === "container" && "pt-mobile-container-padding desktop:pt-desktop-container-padding compact:pt-desktop-compact-container-padding",
469
- paddingTop && sizing === "layout" && "pt-mobile-layout-padding desktop:pt-desktop-layout-padding compact:pt-desktop-compact-layout-padding",
470
- paddingTop && sizing === "layout-group" && "pt-mobile-layout-group-padding desktop:pt-desktop-layout-group-padding compact:pt-desktop-compact-layout-group-padding",
471
- paddingTop && sizing === "component" && "pt-mobile-component-padding desktop:pt-desktop-component-padding compact:pt-desktop-compact-component-padding",
472
- paddingLeft && sizing === "container" && "pl-mobile-container-padding desktop:pl-desktop-container-padding compact:pl-desktop-compact-container-padding",
473
- paddingLeft && sizing === "layout" && "pl-mobile-layout-padding desktop:pl-desktop-layout-padding compact:pl-desktop-compact-layout-padding",
474
- paddingLeft && sizing === "layout-group" && "pl-mobile-layout-group-padding desktop:pl-desktop-layout-group-padding compact:pl-desktop-compact-layout-group-padding",
475
- paddingLeft && sizing === "component" && "pl-mobile-component-padding desktop:pl-desktop-component-padding compact:pl-desktop-compact-component-padding",
476
- paddingRight && sizing === "container" && "pr-mobile-container-padding desktop:pr-desktop-container-padding compact:pr-desktop-compact-container-padding",
477
- paddingRight && sizing === "layout" && "pr-mobile-layout-padding desktop:pr-desktop-layout-padding compact:pr-desktop-compact-layout-padding",
478
- paddingRight && sizing === "layout-group" && "pr-mobile-layout-group-padding desktop:pr-desktop-layout-group-padding compact:pr-desktop-compact-layout-group-padding",
479
- paddingRight && sizing === "component" && "pr-mobile-component-padding desktop:pr-desktop-component-padding compact:pr-desktop-compact-component-padding",
480
- margin && sizing === "container" && "m-mobile-container-padding desktop:m-desktop-container-padding compact:m-compact-container-padding",
481
- marginX && sizing === "container" && "mx-mobile-container-padding desktop:mx-desktop-container-padding compact:mx-compact-container-padding",
482
- marginTop && sizing === "container" && "mt-mobile-container-padding desktop:mt-desktop-container-padding compact:mt-compact-container-padding",
483
- marginBottom && sizing === "container" && "mb-mobile-container-padding desktop:mb-desktop-container-padding compact:mb-compact-container-padding",
484
- marginY && sizing === "container" && "my-mobile-container-padding desktop:my-desktop-container-padding compact:my-compact-container-padding",
485
- horizontal ? "desktop:flex-row" : "desktop:flex-col",
486
- horizontalMobile ? "flex-row" : "flex-col",
487
- flexClassNames,
488
- !noGap && gapClassNames,
489
- elevation === 0 && "shadow-none",
490
- elevation === 2 && "shadow-2",
491
- elevation === 4 && "shadow-4",
492
- elevation === 16 && "shadow-16",
493
- rounded && "rounded",
494
- unclipEdges && "-m-0.75 p-1",
495
- className
496
- ),
497
- children
498
- })
499
- );
500
- };
501
-
502
- // src/components/Grid.tsx
503
- var import_clsx3 = __toESM(require("clsx"), 1);
504
- var import_jsx_runtime4 = require("react/jsx-runtime");
505
- var GAP_BY_SIZING = {
506
- none: "gap-0",
507
- "layout-group": "gap-mobile-layout-group-gap desktop:gap-desktop-layout-group-gap compact:gap-compact-layout-group-gap",
508
- layout: "gap-mobile-layout-gap desktop:gap-desktop-layout-gap compact:gap-compact-layout-gap",
509
- container: "gap-mobile-container-gap desktop:gap-desktop-container-gap compact:gap-compact-container-gap",
510
- component: "gap-mobile-component-gap desktop:gap-desktop-component-gap compact:gap-compact-component-gap"
511
- };
512
- var PADDING_BY_SIZING = {
513
- none: "p-0",
514
- container: "p-mobile-container-padding desktop:p-desktop-container-padding compact:p-desktop-compact-container-padding",
515
- layout: "p-mobile-layout-padding desktop:p-desktop-layout-padding compact:p-desktop-compact-layout-padding",
516
- "layout-group": "p-mobile-layout-group-padding desktop:p-desktop-layout-group-padding compact:p-desktop-compact-layout-group-padding",
517
- component: "p-mobile-component-padding desktop:p-desktop-component-padding compact:p-desktop-compact-component-padding"
518
- };
519
- var buildColumnClasses = (base, responsive) => {
520
- const classes = [`grid-cols-${base}`];
521
- if (responsive) {
522
- Object.entries(responsive).forEach(([bp, value]) => {
523
- if (value && value > 0) classes.push(`${bp}:grid-cols-${value}`);
524
- });
525
- }
526
- return classes.join(" ");
527
- };
528
- var Grid = (_a) => {
529
- var _b = _a, {
530
- children,
531
- sizing = "container",
532
- padding,
533
- columns,
534
- responsive,
535
- id,
536
- testid,
537
- style,
538
- className
539
- } = _b, rest = __objRest(_b, [
540
- "children",
541
- "sizing",
542
- "padding",
543
- "columns",
544
- "responsive",
545
- "id",
546
- "testid",
547
- "style",
548
- "className"
549
- ]);
550
- var _a2, _b2;
551
- const columnClasses = buildColumnClasses(columns, responsive);
552
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
553
- "div",
554
- __spreadProps(__spreadValues({
555
- id,
556
- "data-testid": testid,
557
- style
558
- }, rest), {
559
- className: (0, import_clsx3.default)(
560
- "w-full grid",
561
- (_a2 = GAP_BY_SIZING[sizing]) != null ? _a2 : GAP_BY_SIZING.container,
562
- padding && ((_b2 = PADDING_BY_SIZING[sizing]) != null ? _b2 : PADDING_BY_SIZING.container),
563
- columnClasses,
564
- className
565
- ),
566
- children
567
- })
568
- );
569
- };
570
-
571
- // src/components/ProductImagePreview/ProductPrimaryImage.tsx
572
- var import_react3 = require("react");
573
- var import_jsx_runtime5 = require("react/jsx-runtime");
574
- var placeholderImageUri = "/placeholder.svg";
575
- function ProductPrimaryImage({
576
- image,
577
- width,
578
- height,
579
- zoomEnabled = false,
580
- zoomLensSize = 140,
581
- scrollToZoomEnabled = false,
582
- className = "",
583
- isPlaceholder = false,
584
- onImageError,
585
- onZoomPositionChange,
586
- onScrollZoom
587
- }) {
588
- const containerRef = (0, import_react3.useRef)(null);
589
- const lastPointRef = (0, import_react3.useRef)(null);
590
- const rafRef = (0, import_react3.useRef)(null);
591
- const [active, setActive] = (0, import_react3.useState)(false);
592
- const [, forceRerender] = (0, import_react3.useState)(0);
593
- const imageSrc = (0, import_react3.useMemo)(() => image == null ? void 0 : image.src, [image == null ? void 0 : image.src]);
594
- const schedule = () => {
595
- if (rafRef.current != null) return;
596
- rafRef.current = requestAnimationFrame(() => {
597
- rafRef.current = null;
598
- forceRerender((n) => n + 1);
599
- });
600
- };
601
- const handlePointerEnter = (0, import_react3.useCallback)(() => {
602
- if (!zoomEnabled) return;
603
- setActive(true);
604
- const el = containerRef.current;
605
- if (el) {
606
- const r = el.getBoundingClientRect();
607
- const pt2 = lastPointRef.current;
608
- onZoomPositionChange == null ? void 0 : onZoomPositionChange(
609
- pt2 ? __spreadProps(__spreadValues({}, pt2), { w: r.width, h: r.height, lensSize: zoomLensSize }) : null,
610
- true
611
- );
612
- }
613
- }, [zoomEnabled, onZoomPositionChange, zoomLensSize]);
614
- const handlePointerLeave = (0, import_react3.useCallback)(() => {
615
- if (!zoomEnabled) return;
616
- setActive(false);
617
- lastPointRef.current = null;
618
- onZoomPositionChange == null ? void 0 : onZoomPositionChange(null, false);
619
- }, [zoomEnabled, onZoomPositionChange]);
620
- const handlePointerMove = (0, import_react3.useCallback)(
621
- (e) => {
622
- if (isPlaceholder) return;
623
- if (!zoomEnabled || !active) return;
624
- if (e.pointerType === "touch") return;
625
- const el = containerRef.current;
626
- if (!el) return;
627
- const rect = el.getBoundingClientRect();
628
- const rawX = (e.clientX - rect.left) / rect.width;
629
- const rawY = (e.clientY - rect.top) / rect.height;
630
- const size = zoomLensSize != null ? zoomLensSize : 140;
631
- const left = Math.max(
632
- 0,
633
- Math.min(rect.width - size, rawX * rect.width - size / 2)
634
- );
635
- const top = Math.max(
636
- 0,
637
- Math.min(rect.height - size, rawY * rect.height - size / 2)
638
- );
639
- const centerXNorm = (left + size / 2) / rect.width;
640
- const centerYNorm = (top + size / 2) / rect.height;
641
- lastPointRef.current = {
642
- x: centerXNorm,
643
- y: centerYNorm
644
- };
645
- schedule();
646
- onZoomPositionChange == null ? void 0 : onZoomPositionChange(
647
- lastPointRef.current ? __spreadProps(__spreadValues({}, lastPointRef.current), {
648
- w: rect.width,
649
- h: rect.height,
650
- lensSize: zoomLensSize
651
- }) : null,
652
- true
653
- );
654
- },
655
- [isPlaceholder, zoomEnabled, active, zoomLensSize, onZoomPositionChange]
656
- );
657
- (0, import_react3.useEffect)(() => {
658
- const container = containerRef.current;
659
- if (!container || !scrollToZoomEnabled) return;
660
- const handleNativeWheel = (e) => {
661
- e.preventDefault();
662
- e.stopPropagation();
663
- if (!zoomEnabled || !active) return;
664
- const delta = e.deltaY > 0 ? -0.2 : 0.2;
665
- onScrollZoom == null ? void 0 : onScrollZoom(delta);
666
- };
667
- container.addEventListener("wheel", handleNativeWheel, { passive: false });
668
- return () => {
669
- container.removeEventListener("wheel", handleNativeWheel);
670
- };
671
- }, [scrollToZoomEnabled, zoomEnabled, active, onScrollZoom]);
672
- const handleImgError = (0, import_react3.useCallback)(
673
- (e) => {
674
- onImageError == null ? void 0 : onImageError(imageSrc);
675
- if (!placeholderImageUri) return;
676
- const img = e.currentTarget;
677
- if (img.src === placeholderImageUri) return;
678
- img.src = placeholderImageUri;
679
- },
680
- [imageSrc, onImageError]
681
- );
682
- const pt = lastPointRef.current;
683
- let lensStyle;
684
- if (pt && active && zoomEnabled) {
685
- const size = zoomLensSize;
686
- const leftRaw = pt.x * width - size / 2;
687
- const topRaw = pt.y * height - size / 2;
688
- lensStyle = {
689
- width: size,
690
- height: size,
691
- left: Math.max(0, Math.min(width - size, leftRaw)),
692
- top: Math.max(0, Math.min(height - size, topRaw))
693
- };
694
- }
695
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
696
- "div",
697
- {
698
- ref: containerRef,
699
- className: [
700
- "relative overflow-hidden bg-white rounded flex items-center justify-center select-none",
701
- zoomEnabled ? "cursor-crosshair" : "",
702
- className
703
- ].join(" "),
704
- onPointerEnter: handlePointerEnter,
705
- onPointerLeave: handlePointerLeave,
706
- onPointerMove: handlePointerMove,
707
- children: [
708
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
709
- "img",
710
- {
711
- src: imageSrc != null ? imageSrc : placeholderImageUri,
712
- alt: (image == null ? void 0 : image.alt) || "Product image",
713
- style: {
714
- maxWidth: width,
715
- maxHeight: height,
716
- minWidth: width,
717
- minHeight: height,
718
- aspectRatio: "1 / 1",
719
- objectFit: "contain",
720
- userSelect: "none"
721
- },
722
- draggable: false,
723
- loading: "lazy",
724
- onError: handleImgError
725
- },
726
- imageSrc
727
- ),
728
- zoomEnabled && active && lensStyle && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
729
- "div",
730
- {
731
- "aria-hidden": true,
732
- className: "absolute pointer-events-none border border-white/70 shadow-[0_0_0_1px_rgba(0,0,0,0.15)] rounded-md bg-white/10 backdrop-blur-[1px]",
733
- style: lensStyle
734
- }
735
- )
736
- ]
737
- }
738
- );
739
- }
740
-
741
- // src/components/ProductImagePreview/ZoomWindow.tsx
742
- var import_react4 = require("react");
743
-
744
- // src/components/Surface.tsx
745
- var import_clsx4 = __toESM(require("clsx"), 1);
746
- var import_jsx_runtime6 = require("react/jsx-runtime");
747
- var Surface = (_a) => {
748
- var _b = _a, {
749
- children,
750
- className,
751
- elevation = 0,
752
- id
753
- } = _b, props = __objRest(_b, [
754
- "children",
755
- "className",
756
- "elevation",
757
- "id"
758
- ]);
759
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
760
- "div",
761
- __spreadProps(__spreadValues({
762
- id,
763
- className: (0, import_clsx4.default)(
764
- "rounded-base",
765
- {
766
- "shadow-2": elevation === 2,
767
- "shadow-4": elevation === 4,
768
- "shadow-16": elevation === 16
769
- },
770
- className
771
- )
772
- }, props), {
773
- children
774
- })
775
- );
776
- };
777
- Surface.displayName = "Surface";
778
-
779
- // src/components/ProductImagePreview/ZoomWindow.tsx
780
- var import_jsx_runtime7 = require("react/jsx-runtime");
781
- function ZoomWindow({
782
- image,
783
- width,
784
- height,
785
- pointer,
786
- active,
787
- zoomFactor = 2,
788
- scaleFactor = 2,
789
- primaryImagePosition,
790
- offset = 10,
791
- className = ""
792
- }) {
793
- const imageSrc = (0, import_react4.useMemo)(() => image == null ? void 0 : image.src, [image == null ? void 0 : image.src]);
794
- if (!image || !active || !pointer) return null;
795
- const zoomWindowSize = pointer.lensSize * scaleFactor;
796
- const baseW = pointer.w || width;
797
- const baseH = pointer.h || height;
798
- const scaledW = baseW * zoomFactor;
799
- const scaledH = baseH * zoomFactor;
800
- const centerX = pointer.x * baseW * zoomFactor;
801
- const centerY = pointer.y * baseH * zoomFactor;
802
- const imageOffsetX = zoomWindowSize / 2 - centerX;
803
- const imageOffsetY = zoomWindowSize / 2 - centerY;
804
- const calculatePosition = () => {
805
- if (!primaryImagePosition) {
806
- return {
807
- position: "fixed",
808
- zIndex: 999,
809
- top: "50%",
810
- left: "50%",
811
- transform: "translate(-50%, -50%)"
812
- };
813
- }
814
- const lensLeft = primaryImagePosition.left + pointer.x * primaryImagePosition.width - pointer.lensSize / 2;
815
- const lensTop = primaryImagePosition.top + pointer.y * primaryImagePosition.height - pointer.lensSize / 2;
816
- let left = lensLeft + pointer.lensSize + offset;
817
- let top = lensTop;
818
- const { innerWidth, innerHeight } = window;
819
- if (left + zoomWindowSize > innerWidth) {
820
- left = lensLeft - zoomWindowSize - offset;
821
- }
822
- if (top + zoomWindowSize > innerHeight) {
823
- top = lensTop + pointer.lensSize - zoomWindowSize;
824
- }
825
- if (top < 0) {
826
- top = lensTop;
827
- }
828
- if (left < 0) {
829
- left = lensLeft + pointer.lensSize + offset;
830
- }
831
- return {
832
- position: "fixed",
833
- zIndex: 999,
834
- left,
835
- top
836
- };
837
- };
838
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
839
- Surface,
840
- {
841
- elevation: 16,
842
- className,
843
- style: __spreadValues({
844
- width: zoomWindowSize,
845
- height: zoomWindowSize,
846
- position: "fixed",
847
- zIndex: 999,
848
- overflow: "hidden",
849
- pointerEvents: "none",
850
- userSelect: "none"
851
- }, calculatePosition()),
852
- "aria-hidden": true,
853
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
854
- "img",
855
- {
856
- src: imageSrc,
857
- alt: "",
858
- className: "pointer-events-none select-none max-w-none object-cover",
859
- style: {
860
- width: scaledW,
861
- height: scaledH,
862
- transform: `translate(${imageOffsetX}px, ${imageOffsetY}px)`
863
- },
864
- draggable: false,
865
- loading: "lazy"
866
- },
867
- imageSrc
868
- )
869
- }
870
- );
871
- }
872
-
873
- // src/components/ProductImagePreview/CarouselPagination.tsx
874
- var import_clsx5 = require("clsx");
875
- var import_jsx_runtime8 = require("react/jsx-runtime");
876
- function CarouselPagination({
877
- images,
878
- currentIndex,
879
- onSelect,
880
- className
881
- }) {
882
- if (!(images == null ? void 0 : images.length)) return null;
883
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
884
- "div",
885
- {
886
- className: (0, import_clsx5.clsx)(
887
- "flex items-center justify-center w-full px-4 md:hidden",
888
- className
889
- ),
890
- "aria-label": "Image navigation",
891
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
892
- "div",
893
- {
894
- className: "grid gap-2 place-items-center",
895
- style: {
896
- gridTemplateColumns: `repeat(${Math.min(images.length, 8)}, 1fr)`
897
- },
898
- role: "tablist",
899
- children: images.map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
900
- "button",
901
- {
902
- type: "button",
903
- onClick: () => onSelect(index),
904
- className: (0, import_clsx5.clsx)(
905
- "w-4 h-4 transition-all duration-200 focus:outline-none",
906
- index === currentIndex ? "ring-2 ring-brand-400" : "ring ring-neutral-300"
907
- ),
908
- "aria-label": `Go to image ${index + 1}`,
909
- role: "tab",
910
- "aria-selected": index === currentIndex,
911
- tabIndex: index === currentIndex ? 0 : -1
912
- },
913
- index
914
- ))
915
- }
916
- )
917
- }
918
- );
919
- }
920
-
921
- // src/components/ProductImagePreview/MobileImageCarousel.tsx
922
- var import_react5 = require("react");
923
- var import_jsx_runtime9 = require("react/jsx-runtime");
924
- function MobileImageCarousel({
925
- images,
926
- currentIndex,
927
- width = 483,
928
- height = 483,
929
- onChangeIndex,
930
- onImageError,
931
- className = ""
932
- }) {
933
- const containerRef = (0, import_react5.useRef)(null);
934
- const [isDragging, setIsDragging] = (0, import_react5.useState)(false);
935
- const [startX, setStartX] = (0, import_react5.useState)(0);
936
- const [currentTranslate, setCurrentTranslate] = (0, import_react5.useState)(0);
937
- const [prevTranslate, setPrevTranslate] = (0, import_react5.useState)(0);
938
- const [containerWidth, setContainerWidth] = (0, import_react5.useState)(width);
939
- const imageSize = Math.min(containerWidth * 0.6, height * 0.6);
940
- const gap = 16;
941
- const getTranslateX = (0, import_react5.useCallback)(
942
- (index) => {
943
- const containerCenter = containerWidth / 2;
944
- const imageCenter = imageSize / 2;
945
- const totalOffset = index * (imageSize + gap);
946
- return containerCenter - imageCenter - totalOffset;
947
- },
948
- [containerWidth, imageSize, gap]
949
- );
950
- (0, import_react5.useEffect)(() => {
951
- const translateX = getTranslateX(currentIndex);
952
- setCurrentTranslate(translateX);
953
- setPrevTranslate(translateX);
954
- }, [currentIndex, getTranslateX]);
955
- (0, import_react5.useEffect)(() => {
956
- const updateContainerWidth = () => {
957
- if (containerRef.current) {
958
- const rect = containerRef.current.getBoundingClientRect();
959
- setContainerWidth(rect.width);
960
- }
961
- };
962
- updateContainerWidth();
963
- const resizeObserver = new ResizeObserver(updateContainerWidth);
964
- if (containerRef.current) {
965
- resizeObserver.observe(containerRef.current);
966
- }
967
- return () => resizeObserver.disconnect();
968
- }, []);
969
- const handleStart = (0, import_react5.useCallback)((clientX) => {
970
- setIsDragging(true);
971
- setStartX(clientX);
972
- }, []);
973
- const handleMove = (0, import_react5.useCallback)(
974
- (clientX) => {
975
- if (!isDragging) return;
976
- const currentPosition = clientX;
977
- const diff = currentPosition - startX;
978
- setCurrentTranslate(prevTranslate + diff);
979
- },
980
- [isDragging, startX, prevTranslate]
981
- );
982
- const handleEnd = (0, import_react5.useCallback)(() => {
983
- if (!isDragging) return;
984
- setIsDragging(false);
985
- const moved = currentTranslate - prevTranslate;
986
- const threshold = imageSize / 3;
987
- let newIndex = currentIndex;
988
- if (moved > threshold && currentIndex > 0) {
989
- newIndex = currentIndex - 1;
990
- } else if (moved < -threshold && currentIndex < images.length - 1) {
991
- newIndex = currentIndex + 1;
992
- }
993
- if (newIndex !== currentIndex) {
994
- onChangeIndex(newIndex);
995
- } else {
996
- setCurrentTranslate(prevTranslate);
997
- }
998
- }, [
999
- isDragging,
1000
- currentTranslate,
1001
- prevTranslate,
1002
- currentIndex,
1003
- imageSize,
1004
- images.length,
1005
- onChangeIndex
1006
- ]);
1007
- const handleMouseDown = (e) => {
1008
- e.preventDefault();
1009
- handleStart(e.clientX);
1010
- };
1011
- const handleMouseMove = (e) => {
1012
- e.preventDefault();
1013
- handleMove(e.clientX);
1014
- };
1015
- const handleMouseUp = () => {
1016
- handleEnd();
1017
- };
1018
- const handleMouseLeave = () => {
1019
- handleEnd();
1020
- };
1021
- const handleTouchStart = (e) => {
1022
- handleStart(e.touches[0].clientX);
1023
- };
1024
- const handleTouchMove = (e) => {
1025
- handleMove(e.touches[0].clientX);
1026
- };
1027
- const handleTouchEnd = () => {
1028
- handleEnd();
1029
- };
1030
- const handleImageClick = (0, import_react5.useCallback)(
1031
- (index) => {
1032
- if (!isDragging && index !== currentIndex) {
1033
- onChangeIndex(index);
1034
- }
1035
- },
1036
- [isDragging, currentIndex, onChangeIndex]
1037
- );
1038
- if (!images.length) return null;
1039
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: `md:hidden w-full ${className}`, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1040
- "div",
1041
- {
1042
- ref: containerRef,
1043
- className: "relative overflow-hidden cursor-grab active:cursor-grabbing select-none w-full",
1044
- style: {
1045
- height: imageSize
1046
- },
1047
- onMouseDown: handleMouseDown,
1048
- onMouseMove: handleMouseMove,
1049
- onMouseUp: handleMouseUp,
1050
- onMouseLeave: handleMouseLeave,
1051
- onTouchStart: handleTouchStart,
1052
- onTouchMove: handleTouchMove,
1053
- onTouchEnd: handleTouchEnd,
1054
- children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1055
- "div",
1056
- {
1057
- className: "flex items-center",
1058
- style: {
1059
- transform: `translateX(${currentTranslate}px)`,
1060
- transition: isDragging ? "none" : "transform 0.3s ease-out",
1061
- gap: `${gap}px`
1062
- },
1063
- children: images.map((image, index) => {
1064
- const isActive = index === currentIndex;
1065
- const distance = Math.abs(index - currentIndex);
1066
- const shouldRender = distance <= 2;
1067
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1068
- "div",
1069
- {
1070
- className: "flex-shrink-0 transition-opacity duration-300",
1071
- style: {
1072
- width: imageSize,
1073
- height: imageSize,
1074
- opacity: isActive ? 1 : Math.max(0.3, 1 - distance * 0.3)
1075
- },
1076
- onClick: () => handleImageClick(index),
1077
- children: shouldRender ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1078
- "img",
1079
- {
1080
- src: image.src,
1081
- alt: image.alt || `Product image ${index + 1}`,
1082
- className: "w-full h-full object-contain",
1083
- draggable: false,
1084
- loading: distance <= 1 ? "eager" : "lazy",
1085
- onError: () => onImageError == null ? void 0 : onImageError(image.src),
1086
- style: {
1087
- aspectRatio: "1 / 1"
1088
- }
1089
- }
1090
- ) : /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1091
- "div",
1092
- {
1093
- className: "w-full h-full bg-neutral-100 rounded-md border border-gray-200",
1094
- style: {
1095
- aspectRatio: "1 / 1"
1096
- },
1097
- "aria-hidden": "true"
1098
- }
1099
- )
1100
- },
1101
- image.src + index
1102
- );
1103
- })
1104
- }
1105
- )
1106
- }
1107
- ) });
1108
- }
1109
-
1110
- // src/hooks/useKeydown.ts
1111
- var import_react6 = require("react");
1112
-
1113
- // src/hooks/useInfiniteScroll.tsx
1114
- var import_react7 = require("react");
1115
-
1116
- // src/hooks/useMatchesMedia.ts
1117
- var import_react8 = require("react");
1118
- var useMatchesMedia = (query) => {
1119
- const [matches, setMatches] = (0, import_react8.useState)();
1120
- (0, import_react8.useLayoutEffect)(() => {
1121
- const mediaQueryList = window.matchMedia(query);
1122
- const listener = () => setMatches(mediaQueryList.matches);
1123
- listener();
1124
- mediaQueryList.addEventListener("change", listener);
1125
- return () => mediaQueryList.removeEventListener("change", listener);
1126
- }, [query]);
1127
- return matches;
1128
- };
1129
- var useMatchesMobile = () => useMatchesMedia("(width < 48rem)");
1130
-
1131
- // src/hooks/useTableLayout/useTableLayout.ts
1132
- var import_react9 = require("react");
1133
-
1134
- // src/utils/index.ts
1135
- var LocalStoragePrefixVersion = `dmsi-acc-v1.1.5`;
1136
-
1137
- // src/hooks/useTableLayout/storage.ts
1138
- var STORAGE_PREFIX = `${LocalStoragePrefixVersion}-tablePrefs`;
1139
- var LEGACY_STORAGE_PREFIX = `${LocalStoragePrefixVersion}-tableLayout`;
1140
-
1141
- // src/hooks/useEditCell.tsx
1142
- var import_react10 = require("react");
1143
-
1144
- // src/components/ProductImagePreview/useProductImagePreview.ts
1145
- var import_react11 = require("react");
1146
- function useProductImagePreview(props) {
1147
- const {
1148
- images,
1149
- currentIndex,
1150
- zoomEnabled = false,
1151
- zoomFactor = 2,
1152
- scrollToZoomEnabled = false,
1153
- onChangeIndex,
1154
- isMobile = false
1155
- } = props;
1156
- const hasImages = !!(images == null ? void 0 : images.length);
1157
- const safeIndex = hasImages && currentIndex >= 0 && currentIndex < images.length ? currentIndex : 0;
1158
- const active = (0, import_react11.useMemo)(() => {
1159
- return hasImages ? images[safeIndex] : void 0;
1160
- }, [hasImages, images, safeIndex]);
1161
- const [zoomPoint, setZoomPoint] = (0, import_react11.useState)(null);
1162
- const [zoomActive, setZoomActive] = (0, import_react11.useState)(false);
1163
- const [currentZoomFactor, setCurrentZoomFactor] = (0, import_react11.useState)(zoomFactor);
1164
- const [primaryImagePosition, setPrimaryImagePosition] = (0, import_react11.useState)(null);
1165
- const primaryImageRef = (0, import_react11.useRef)(null);
1166
- const cleanupRef = (0, import_react11.useRef)(null);
1167
- const effectiveZoomEnabled = zoomEnabled && !isMobile;
1168
- const effectiveScrollToZoomEnabled = scrollToZoomEnabled && !isMobile;
1169
- (0, import_react11.useEffect)(() => {
1170
- if (!effectiveZoomEnabled) return;
1171
- const setupTracking = () => {
1172
- const element = primaryImageRef.current;
1173
- if (!element) return;
1174
- const updatePosition = () => {
1175
- if (element) {
1176
- setPrimaryImagePosition(element.getBoundingClientRect());
1177
- }
1178
- };
1179
- updatePosition();
1180
- const resizeObserver = new ResizeObserver(updatePosition);
1181
- resizeObserver.observe(element);
1182
- window.addEventListener("scroll", updatePosition);
1183
- window.addEventListener("resize", updatePosition);
1184
- cleanupRef.current = () => {
1185
- resizeObserver.disconnect();
1186
- window.removeEventListener("scroll", updatePosition);
1187
- window.removeEventListener("resize", updatePosition);
1188
- };
1189
- };
1190
- if (primaryImageRef.current) {
1191
- setupTracking();
1192
- } else {
1193
- const frameId = requestAnimationFrame(setupTracking);
1194
- return () => cancelAnimationFrame(frameId);
1195
- }
1196
- return () => {
1197
- if (cleanupRef.current) {
1198
- cleanupRef.current();
1199
- cleanupRef.current = null;
1200
- }
1201
- };
1202
- }, [effectiveZoomEnabled]);
1203
- const handleSelect = (0, import_react11.useCallback)(
1204
- (idx) => {
1205
- if (idx === safeIndex) return;
1206
- onChangeIndex(idx);
1207
- },
1208
- [safeIndex, onChangeIndex]
1209
- );
1210
- const handleNext = (0, import_react11.useCallback)(() => {
1211
- if (!hasImages) return;
1212
- const nextIndex = (safeIndex + 1) % images.length;
1213
- onChangeIndex(nextIndex);
1214
- }, [hasImages, safeIndex, images.length, onChangeIndex]);
1215
- const handlePrevious = (0, import_react11.useCallback)(() => {
1216
- if (!hasImages) return;
1217
- const previousIndex = safeIndex === 0 ? images.length - 1 : safeIndex - 1;
1218
- onChangeIndex(previousIndex);
1219
- }, [hasImages, safeIndex, images.length, onChangeIndex]);
1220
- const handleZoomPositionChange = (0, import_react11.useCallback)(
1221
- (p, active2) => {
1222
- if (isMobile) return;
1223
- setZoomPoint(p);
1224
- setZoomActive(active2);
1225
- },
1226
- [isMobile]
1227
- );
1228
- const handleScrollZoom = (0, import_react11.useCallback)(
1229
- (delta) => {
1230
- if (!effectiveScrollToZoomEnabled) return;
1231
- const newZoomFactor = Math.max(1, Math.min(5, currentZoomFactor + delta));
1232
- setCurrentZoomFactor(newZoomFactor);
1233
- },
1234
- [effectiveScrollToZoomEnabled, currentZoomFactor]
1235
- );
1236
- (0, import_react11.useEffect)(() => {
1237
- setCurrentZoomFactor(zoomFactor);
1238
- }, [zoomFactor]);
1239
- return {
1240
- // State
1241
- zoomPoint,
1242
- zoomActive,
1243
- currentZoomFactor,
1244
- primaryImagePosition,
1245
- hasImages,
1246
- safeIndex,
1247
- active,
1248
- // Refs
1249
- primaryImageRef,
1250
- // Handlers
1251
- handleSelect,
1252
- handleZoomPositionChange,
1253
- handleScrollZoom,
1254
- handleNext,
1255
- handlePrevious
1256
- };
1257
- }
1258
-
1259
- // src/components/ProductImagePreview/index.tsx
1260
- var import_react12 = require("react");
1261
- var import_jsx_runtime10 = require("react/jsx-runtime");
1262
- var placeholderImageUri2 = "/placeholder.svg";
1263
- function hasValidImageSource(src) {
1264
- const normalizedSrc = src == null ? void 0 : src.trim();
1265
- return !!normalizedSrc && normalizedSrc !== placeholderImageUri2 && !normalizedSrc.endsWith("/placeholder.svg") && !normalizedSrc.includes("/placeholder.svg?");
1266
- }
1267
- function ProductImagePreview(props) {
1268
- const {
1269
- width = 483,
1270
- height = 483,
1271
- thumbsPerRow = 4,
1272
- zoomEnabled = false,
1273
- scrollToZoomEnabled = false,
1274
- images,
1275
- currentIndex,
1276
- onChangeIndex,
1277
- zoomLensSize,
1278
- zoomFactor = 2,
1279
- zoomWindowScaleFactor = 2.5,
1280
- zoomWindowOffset = 10,
1281
- testid
1282
- } = props;
1283
- const [failedImageSources, setFailedImageSources] = (0, import_react12.useState)([]);
1284
- const imageSourceKey = (0, import_react12.useMemo)(
1285
- () => images.map((image) => image.src).join("|"),
1286
- [images]
1287
- );
1288
- const validImages = (0, import_react12.useMemo)(
1289
- () => images.filter(
1290
- (image) => hasValidImageSource(image.src) && failedImageSources.indexOf(image.src) === -1
1291
- ),
1292
- [failedImageSources, images]
1293
- );
1294
- const handleImageError = (0, import_react12.useCallback)((src) => {
1295
- if (!src) return;
1296
- setFailedImageSources(
1297
- (previousSources) => previousSources.indexOf(src) >= 0 ? previousSources : [...previousSources, src]
1298
- );
1299
- }, []);
1300
- (0, import_react12.useEffect)(() => {
1301
- setFailedImageSources([]);
1302
- }, [imageSourceKey]);
1303
- const isMobile = useMatchesMobile();
1304
- const {
1305
- zoomPoint,
1306
- zoomActive,
1307
- currentZoomFactor,
1308
- primaryImagePosition,
1309
- safeIndex,
1310
- active,
1311
- primaryImageRef,
1312
- handleSelect,
1313
- handleZoomPositionChange,
1314
- handleScrollZoom
1315
- } = useProductImagePreview({
1316
- images: validImages,
1317
- currentIndex,
1318
- zoomEnabled,
1319
- zoomFactor,
1320
- scrollToZoomEnabled,
1321
- onChangeIndex,
1322
- isMobile
1323
- });
1324
- if (typeof isMobile === "undefined") return null;
1325
- if (isMobile && !validImages.length)
1326
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1327
- "img",
1328
- {
1329
- src: placeholderImageUri2,
1330
- alt: "Placeholder Image",
1331
- draggable: false,
1332
- loading: "eager",
1333
- style: {
1334
- aspectRatio: "1 / 1",
1335
- objectFit: "cover",
1336
- height: "100%",
1337
- width: "100%"
1338
- }
1339
- }
1340
- );
1341
- const effectiveZoomEnabled = zoomEnabled && !isMobile;
1342
- const showDesktopThumbnails = validImages.length > 1;
1343
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
1344
- Stack,
1345
- {
1346
- sizing: "layout-group",
1347
- style: { width, position: "relative" },
1348
- testid,
1349
- children: [
1350
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex gap-4 items-start", children: [
1351
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { ref: primaryImageRef, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1352
- ProductPrimaryImage,
1353
- {
1354
- image: active,
1355
- width,
1356
- height,
1357
- zoomEnabled: effectiveZoomEnabled,
1358
- zoomLensSize,
1359
- scrollToZoomEnabled: scrollToZoomEnabled && !isMobile,
1360
- onZoomPositionChange: handleZoomPositionChange,
1361
- onScrollZoom: handleScrollZoom,
1362
- isPlaceholder: validImages.length === 0,
1363
- onImageError: handleImageError
1364
- }
1365
- ) }),
1366
- effectiveZoomEnabled && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1367
- ZoomWindow,
1368
- {
1369
- image: active,
1370
- width,
1371
- height,
1372
- pointer: zoomPoint,
1373
- active: zoomActive,
1374
- zoomFactor: currentZoomFactor,
1375
- scaleFactor: zoomWindowScaleFactor,
1376
- primaryImagePosition,
1377
- offset: zoomWindowOffset
1378
- }
1379
- )
1380
- ] }) }),
1381
- isMobile && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1382
- MobileImageCarousel,
1383
- {
1384
- images: validImages,
1385
- currentIndex: safeIndex,
1386
- width,
1387
- height,
1388
- onChangeIndex: handleSelect,
1389
- onImageError: handleImageError
1390
- }
1391
- ),
1392
- showDesktopThumbnails && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "hidden md:block", children: validImages.length <= 3 ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1393
- "div",
1394
- {
1395
- className: "flex justify-center gap-4",
1396
- style: { width: "100%", maxWidth: width },
1397
- "aria-label": "Product image thumbnails",
1398
- children: validImages.map((img, i) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { style: { maxWidth: "115px" }, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1399
- Thumbnail,
1400
- {
1401
- src: img.src,
1402
- alt: img.alt || `Thumbnail ${i + 1}`,
1403
- isActive: i === safeIndex,
1404
- onClick: () => handleSelect(i),
1405
- onImageError: handleImageError
1406
- }
1407
- ) }, img.src + i))
1408
- }
1409
- ) : /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1410
- Grid,
1411
- {
1412
- sizing: "layout-group",
1413
- "aria-label": "Product image thumbnails",
1414
- style: {
1415
- width: "100%",
1416
- maxWidth: width
1417
- },
1418
- columns: thumbsPerRow > 12 ? 12 : thumbsPerRow < 1 ? 1 : thumbsPerRow,
1419
- children: validImages.map((img, i) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1420
- Thumbnail,
1421
- {
1422
- src: img.src,
1423
- alt: img.alt || `Thumbnail ${i + 1}`,
1424
- isActive: i === safeIndex,
1425
- onClick: () => handleSelect(i),
1426
- onImageError: handleImageError
1427
- },
1428
- img.src + i
1429
- ))
1430
- }
1431
- ) }),
1432
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1433
- CarouselPagination,
1434
- {
1435
- images: validImages,
1436
- currentIndex: safeIndex,
1437
- onSelect: handleSelect
1438
- }
1439
- )
1440
- ]
1441
- }
1442
- );
1443
- }
1444
- // Annotate the CommonJS export names for ESM import in node:
1445
- 0 && (module.exports = {
1446
- ProductImagePreview
1447
- });