@gem-sdk/core 1.38.0 → 2.0.0-dev.834

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 (331) hide show
  1. package/dist/cjs/components/AddOn.js +1 -18
  2. package/dist/cjs/components/ComponentToolbarPreview.js +1 -465
  3. package/dist/cjs/components/ComponentWrapper.js +1 -46
  4. package/dist/cjs/components/ComponentWrapperPreview.js +1 -136
  5. package/dist/cjs/components/Empty.js +1 -7
  6. package/dist/cjs/components/Render.js +1 -65
  7. package/dist/cjs/components/Render.liquid.js +14 -288
  8. package/dist/cjs/components/RenderBlock.js +1 -54
  9. package/dist/cjs/components/RenderCustomCode.js +3 -56
  10. package/dist/cjs/components/RenderPreview.js +1 -66
  11. package/dist/cjs/components/RenderSection.js +1 -23
  12. package/dist/cjs/components/ai-generator/AIContentGenerator.js +1 -0
  13. package/dist/cjs/components/ai-generator/AIGenContentLoading.js +1 -0
  14. package/dist/cjs/components/ai-generator/components/PickProduct.js +1 -0
  15. package/dist/cjs/components/ai-generator/components/ToneAndVoice.js +1 -0
  16. package/dist/cjs/components/ai-generator/hooks/useGettingGenerateRequest.js +1 -0
  17. package/dist/cjs/components/ai-generator/hooks/useListenEventGenerate.js +1 -0
  18. package/dist/cjs/components/ai-generator/icons/AIIcon.js +1 -0
  19. package/dist/cjs/components/ai-generator/icons/CloseIcon.js +1 -0
  20. package/dist/cjs/components/ai-generator/icons/DropdownIcon.js +1 -0
  21. package/dist/cjs/components/ai-generator/icons/ShowMoreIcon.js +1 -0
  22. package/dist/cjs/components/animation/AnimationWrapper.js +1 -0
  23. package/dist/cjs/components/constant.js +1 -54
  24. package/dist/cjs/components/resize/Resize.js +1 -16
  25. package/dist/cjs/components/resize/Spacing.js +1 -248
  26. package/dist/cjs/components/src/product/helpers/variant-presets.js +1 -56
  27. package/dist/cjs/components/theme-section/CreateThemeSection.js +1 -117
  28. package/dist/cjs/components/theme-section/ThemeSectionStatus.js +1 -36
  29. package/dist/cjs/components/theme-section/ThemeSectionTooltip.js +1 -102
  30. package/dist/cjs/components/toolbar/Tooltip.js +1 -22
  31. package/dist/cjs/contexts/AddonContext.js +1 -36
  32. package/dist/cjs/contexts/BuilderComponent.js +1 -34
  33. package/dist/cjs/contexts/BuilderContext.js +1 -35
  34. package/dist/cjs/contexts/BuilderPreviewContext.js +1 -479
  35. package/dist/cjs/contexts/CartLineContext.js +1 -29
  36. package/dist/cjs/contexts/CollectionContext.js +1 -38
  37. package/dist/cjs/contexts/ModalContext.js +1 -47
  38. package/dist/cjs/contexts/PageContext.js +1 -44
  39. package/dist/cjs/contexts/ProductContext.js +1 -156
  40. package/dist/cjs/contexts/ProductListContext.js +1 -32
  41. package/dist/cjs/contexts/SectionContext.js +1 -53
  42. package/dist/cjs/contexts/ShopContext.js +1 -80
  43. package/dist/cjs/graphql/fragments/analytic.generated.js +2 -6
  44. package/dist/cjs/graphql/fragments/collection-detail.generated.js +2 -6
  45. package/dist/cjs/graphql/fragments/collection-product.generated.js +2 -6
  46. package/dist/cjs/graphql/fragments/collection.generated.js +2 -6
  47. package/dist/cjs/graphql/fragments/custom-code.generated.js +2 -6
  48. package/dist/cjs/graphql/fragments/custom-font.generated.js +2 -6
  49. package/dist/cjs/graphql/fragments/data-seo.generated.js +2 -6
  50. package/dist/cjs/graphql/fragments/media.generated.js +2 -6
  51. package/dist/cjs/graphql/fragments/product-little.generated.js +11 -6
  52. package/dist/cjs/graphql/fragments/product-option-value.generated.js +2 -6
  53. package/dist/cjs/graphql/fragments/product-option.generated.js +2 -6
  54. package/dist/cjs/graphql/fragments/product.generated.js +11 -6
  55. package/dist/cjs/graphql/fragments/published-custom-section.generated.js +2 -6
  56. package/dist/cjs/graphql/fragments/published-page-section.generated.js +2 -6
  57. package/dist/cjs/graphql/fragments/published-theme-page.generated.js +3 -9
  58. package/dist/cjs/graphql/fragments/published-theme-style.generated.js +2 -6
  59. package/dist/cjs/graphql/fragments/selected-option.generated.js +2 -6
  60. package/dist/cjs/graphql/fragments/variant.generated.js +2 -6
  61. package/dist/cjs/graphql/mutations/page-view-up.generated.js +3 -7
  62. package/dist/cjs/graphql/queries/collection-detail-filter.generated.js +2 -16
  63. package/dist/cjs/graphql/queries/collection.generated.js +2 -14
  64. package/dist/cjs/graphql/queries/collections.generated.js +2 -9
  65. package/dist/cjs/graphql/queries/preview-page.generated.js +2 -14
  66. package/dist/cjs/graphql/queries/product-little-detail.generated.js +2 -11
  67. package/dist/cjs/graphql/queries/product-medias.generated.js +2 -8
  68. package/dist/cjs/graphql/queries/product-value-label.generated.js +2 -6
  69. package/dist/cjs/graphql/queries/product-variants.generated.js +2 -10
  70. package/dist/cjs/graphql/queries/products.generated.js +12 -17
  71. package/dist/cjs/graphql/queries/published-theme-pages.generated.js +2 -15
  72. package/dist/cjs/graphql/queries/store-property.generated.js +2 -6
  73. package/dist/cjs/graphql-app-api/queries/LibrarySaleFunnelDiscount.generated.js +21 -0
  74. package/dist/cjs/graphql-app-api/queries/LibraryTemplate.generated.js +13 -0
  75. package/dist/cjs/graphql-app-api/queries/SaleFunnelDiscounts.generated.js +34 -0
  76. package/dist/cjs/graphql-app-api/queries/ThemePage.generated.js +22 -0
  77. package/dist/cjs/helpers/GlobalEvent.js +1 -19
  78. package/dist/cjs/helpers/animations.js +1 -213
  79. package/dist/cjs/helpers/background.js +1 -230
  80. package/dist/cjs/helpers/borders.js +4 -183
  81. package/dist/cjs/helpers/carousel.js +1 -58
  82. package/dist/cjs/helpers/clone-deep.js +1 -5
  83. package/dist/cjs/helpers/cls.js +1 -16
  84. package/dist/cjs/helpers/colors.js +1 -184
  85. package/dist/cjs/helpers/compose-advance-style.js +1 -268
  86. package/dist/cjs/helpers/constant.js +1 -23
  87. package/dist/cjs/helpers/convert.js +1 -7
  88. package/dist/cjs/helpers/covert-entities-html.js +1 -19
  89. package/dist/cjs/helpers/css-variable.js +1 -7
  90. package/dist/cjs/helpers/email.js +1 -11
  91. package/dist/cjs/helpers/filter-toolbar-preview.js +1 -14
  92. package/dist/cjs/helpers/flatten-connection.js +1 -9
  93. package/dist/cjs/helpers/get-resonsive-value.js +1 -36
  94. package/dist/cjs/helpers/get-shortname.js +1 -92
  95. package/dist/cjs/helpers/icon-list.js +1 -61
  96. package/dist/cjs/helpers/is-browser.js +1 -9
  97. package/dist/cjs/helpers/is-defined.js +1 -7
  98. package/dist/cjs/helpers/is-empty-children.js +1 -15
  99. package/dist/cjs/helpers/is-safari.js +1 -9
  100. package/dist/cjs/helpers/layout.js +1 -59
  101. package/dist/cjs/helpers/load-script.js +1 -31
  102. package/dist/cjs/helpers/make-style.js +1 -163
  103. package/dist/cjs/helpers/normalize-builder-data.js +1 -23
  104. package/dist/cjs/helpers/prefetch-queries.js +1 -78
  105. package/dist/cjs/helpers/product.js +1 -48
  106. package/dist/cjs/helpers/queries/get-collection.js +1 -226
  107. package/dist/cjs/helpers/queries/get-collections.js +1 -21
  108. package/dist/cjs/helpers/queries/get-product-by-slug.js +1 -125
  109. package/dist/cjs/helpers/queries/get-product.js +1 -154
  110. package/dist/cjs/helpers/queries/get-products.js +1 -163
  111. package/dist/cjs/helpers/query.js +1 -29
  112. package/dist/cjs/helpers/radius.js +6 -140
  113. package/dist/cjs/helpers/render.js +1 -76
  114. package/dist/cjs/helpers/shadow.js +1 -57
  115. package/dist/cjs/helpers/size.js +4 -183
  116. package/dist/cjs/helpers/spacing.js +1 -43
  117. package/dist/cjs/helpers/tracking/fpixel.js +1 -28
  118. package/dist/cjs/helpers/tracking/gtag.js +1 -93
  119. package/dist/cjs/helpers/tracking/tiktokpixel.js +1 -17
  120. package/dist/cjs/helpers/typography.js +17 -126
  121. package/dist/cjs/helpers/variant.js +1 -11
  122. package/dist/cjs/hooks/animation/animations.js +1 -0
  123. package/dist/cjs/hooks/animation/useAnimationActions.js +1 -39
  124. package/dist/cjs/hooks/animation/useAnimationConfig.js +1 -29
  125. package/dist/cjs/hooks/animation/useAnimationPreview.js +1 -31
  126. package/dist/cjs/hooks/animation/useAnimationTarget.js +1 -120
  127. package/dist/cjs/hooks/animation/useApplyAnimation.js +1 -87
  128. package/dist/cjs/hooks/animation/useLivePageAnimation.js +1 -0
  129. package/dist/cjs/hooks/cart/use-add-to-cart.js +1 -20
  130. package/dist/cjs/hooks/cart/use-cart-data.js +1 -28
  131. package/dist/cjs/hooks/cart/use-cart-discount-codes-update.js +1 -20
  132. package/dist/cjs/hooks/cart/use-cart-note-update.js +1 -20
  133. package/dist/cjs/hooks/cart/use-create-cart.js +1 -22
  134. package/dist/cjs/hooks/cart/use-remove-cart-item.js +1 -20
  135. package/dist/cjs/hooks/cart/use-update-cart-item.js +1 -20
  136. package/dist/cjs/hooks/shop/use-collection-query.js +1 -22
  137. package/dist/cjs/hooks/shop/use-collections-query.js +1 -17
  138. package/dist/cjs/hooks/shop/use-product-query.js +1 -22
  139. package/dist/cjs/hooks/shop/use-products-query.js +1 -23
  140. package/dist/cjs/hooks/shop.js +1 -126
  141. package/dist/cjs/hooks/use-current-device.js +1 -21
  142. package/dist/cjs/hooks/use-lazy-video.js +1 -15
  143. package/dist/cjs/hooks/useAnimations.js +1 -26
  144. package/dist/cjs/hooks/useCartId.js +1 -44
  145. package/dist/cjs/hooks/useCartLine.js +1 -11
  146. package/dist/cjs/hooks/useCartUI.js +1 -48
  147. package/dist/cjs/hooks/useCollection.js +1 -9
  148. package/dist/cjs/hooks/useFetchHandle.js +1 -13
  149. package/dist/cjs/hooks/useFormatMoney.js +1 -58
  150. package/dist/cjs/hooks/useInitialSwatchesOptions.js +1 -113
  151. package/dist/cjs/hooks/useIsomorphicLayoutEffect.js +1 -10
  152. package/dist/cjs/hooks/useLoadScript.js +1 -32
  153. package/dist/cjs/hooks/useMoney.js +1 -84
  154. package/dist/cjs/hooks/usePrevious.js +1 -19
  155. package/dist/cjs/hooks/useProduct.js +1 -206
  156. package/dist/cjs/hooks/useProductList.js +1 -21
  157. package/dist/cjs/hooks/useSuspenseFetch.js +1 -27
  158. package/dist/cjs/hooks/useSwatchesOptions.js +1 -41
  159. package/dist/cjs/hooks/useToolbarPostPurchase.js +1 -0
  160. package/dist/cjs/index.js +1 -361
  161. package/dist/cjs/types/animations.js +1 -47
  162. package/dist/cjs/types/appAPI.js +1 -0
  163. package/dist/cjs/types/global-style.js +1 -15
  164. package/dist/cjs/types/shop.js +1 -2
  165. package/dist/cjs/web-components/src/helpers/styles/constant.js +1 -9
  166. package/dist/esm/components/AddOn.js +1 -14
  167. package/dist/esm/components/ComponentToolbarPreview.js +1 -463
  168. package/dist/esm/components/ComponentWrapper.js +1 -42
  169. package/dist/esm/components/ComponentWrapperPreview.js +1 -132
  170. package/dist/esm/components/Empty.js +1 -3
  171. package/dist/esm/components/Render.js +1 -61
  172. package/dist/esm/components/Render.liquid.js +14 -282
  173. package/dist/esm/components/RenderBlock.js +1 -50
  174. package/dist/esm/components/RenderCustomCode.js +3 -52
  175. package/dist/esm/components/RenderPreview.js +1 -62
  176. package/dist/esm/components/RenderSection.js +1 -19
  177. package/dist/esm/components/ai-generator/AIContentGenerator.js +1 -0
  178. package/dist/esm/components/ai-generator/AIGenContentLoading.js +1 -0
  179. package/dist/esm/components/ai-generator/components/PickProduct.js +1 -0
  180. package/dist/esm/components/ai-generator/components/ToneAndVoice.js +1 -0
  181. package/dist/esm/components/ai-generator/hooks/useGettingGenerateRequest.js +1 -0
  182. package/dist/esm/components/ai-generator/hooks/useListenEventGenerate.js +1 -0
  183. package/dist/esm/components/ai-generator/icons/AIIcon.js +1 -0
  184. package/dist/esm/components/ai-generator/icons/CloseIcon.js +1 -0
  185. package/dist/esm/components/ai-generator/icons/DropdownIcon.js +1 -0
  186. package/dist/esm/components/ai-generator/icons/ShowMoreIcon.js +1 -0
  187. package/dist/esm/components/animation/AnimationWrapper.js +1 -0
  188. package/dist/esm/components/constant.js +1 -50
  189. package/dist/esm/components/resize/Resize.js +1 -12
  190. package/dist/esm/components/resize/Spacing.js +1 -244
  191. package/dist/esm/components/src/product/helpers/variant-presets.js +1 -54
  192. package/dist/esm/components/theme-section/CreateThemeSection.js +1 -115
  193. package/dist/esm/components/theme-section/ThemeSectionStatus.js +1 -34
  194. package/dist/esm/components/theme-section/ThemeSectionTooltip.js +1 -100
  195. package/dist/esm/components/toolbar/Tooltip.js +1 -18
  196. package/dist/esm/contexts/AddonContext.js +1 -32
  197. package/dist/esm/contexts/BuilderComponent.js +1 -31
  198. package/dist/esm/contexts/BuilderContext.js +1 -32
  199. package/dist/esm/contexts/BuilderPreviewContext.js +1 -476
  200. package/dist/esm/contexts/CartLineContext.js +1 -26
  201. package/dist/esm/contexts/CollectionContext.js +1 -35
  202. package/dist/esm/contexts/ModalContext.js +1 -44
  203. package/dist/esm/contexts/PageContext.js +1 -41
  204. package/dist/esm/contexts/ProductContext.js +1 -153
  205. package/dist/esm/contexts/ProductListContext.js +1 -28
  206. package/dist/esm/contexts/SectionContext.js +1 -49
  207. package/dist/esm/contexts/ShopContext.js +1 -77
  208. package/dist/esm/graphql/fragments/analytic.generated.js +2 -4
  209. package/dist/esm/graphql/fragments/collection-detail.generated.js +2 -4
  210. package/dist/esm/graphql/fragments/collection-product.generated.js +2 -4
  211. package/dist/esm/graphql/fragments/collection.generated.js +2 -4
  212. package/dist/esm/graphql/fragments/custom-code.generated.js +2 -4
  213. package/dist/esm/graphql/fragments/custom-font.generated.js +2 -4
  214. package/dist/esm/graphql/fragments/data-seo.generated.js +2 -4
  215. package/dist/esm/graphql/fragments/media.generated.js +2 -4
  216. package/dist/esm/graphql/fragments/product-little.generated.js +11 -4
  217. package/dist/esm/graphql/fragments/product-option-value.generated.js +2 -4
  218. package/dist/esm/graphql/fragments/product-option.generated.js +2 -4
  219. package/dist/esm/graphql/fragments/product.generated.js +11 -4
  220. package/dist/esm/graphql/fragments/published-custom-section.generated.js +2 -4
  221. package/dist/esm/graphql/fragments/published-page-section.generated.js +2 -4
  222. package/dist/esm/graphql/fragments/published-theme-page.generated.js +3 -6
  223. package/dist/esm/graphql/fragments/published-theme-style.generated.js +2 -4
  224. package/dist/esm/graphql/fragments/selected-option.generated.js +2 -4
  225. package/dist/esm/graphql/fragments/variant.generated.js +2 -4
  226. package/dist/esm/graphql/mutations/page-view-up.generated.js +3 -5
  227. package/dist/esm/graphql/queries/collection-detail-filter.generated.js +10 -22
  228. package/dist/esm/graphql/queries/collection.generated.js +8 -18
  229. package/dist/esm/graphql/queries/collections.generated.js +3 -8
  230. package/dist/esm/graphql/queries/preview-page.generated.js +8 -18
  231. package/dist/esm/graphql/queries/product-little-detail.generated.js +5 -12
  232. package/dist/esm/graphql/queries/product-medias.generated.js +2 -6
  233. package/dist/esm/graphql/queries/product-value-label.generated.js +2 -4
  234. package/dist/esm/graphql/queries/product-variants.generated.js +4 -10
  235. package/dist/esm/graphql/queries/products.generated.js +18 -20
  236. package/dist/esm/graphql/queries/published-theme-pages.generated.js +9 -20
  237. package/dist/esm/graphql/queries/store-property.generated.js +2 -4
  238. package/dist/esm/graphql-app-api/queries/LibrarySaleFunnelDiscount.generated.js +21 -0
  239. package/dist/esm/graphql-app-api/queries/LibraryTemplate.generated.js +13 -0
  240. package/dist/esm/graphql-app-api/queries/SaleFunnelDiscounts.generated.js +34 -0
  241. package/dist/esm/graphql-app-api/queries/ThemePage.generated.js +22 -0
  242. package/dist/esm/helpers/GlobalEvent.js +1 -15
  243. package/dist/esm/helpers/animations.js +1 -211
  244. package/dist/esm/helpers/background.js +1 -222
  245. package/dist/esm/helpers/borders.js +4 -175
  246. package/dist/esm/helpers/carousel.js +1 -54
  247. package/dist/esm/helpers/clone-deep.js +1 -3
  248. package/dist/esm/helpers/cls.js +1 -14
  249. package/dist/esm/helpers/colors.js +1 -169
  250. package/dist/esm/helpers/compose-advance-style.js +1 -261
  251. package/dist/esm/helpers/constant.js +1 -19
  252. package/dist/esm/helpers/convert.js +1 -4
  253. package/dist/esm/helpers/covert-entities-html.js +1 -17
  254. package/dist/esm/helpers/css-variable.js +1 -5
  255. package/dist/esm/helpers/email.js +1 -6
  256. package/dist/esm/helpers/filter-toolbar-preview.js +1 -9
  257. package/dist/esm/helpers/flatten-connection.js +1 -7
  258. package/dist/esm/helpers/get-resonsive-value.js +1 -31
  259. package/dist/esm/helpers/get-shortname.js +1 -90
  260. package/dist/esm/helpers/icon-list.js +1 -58
  261. package/dist/esm/helpers/is-browser.js +1 -5
  262. package/dist/esm/helpers/is-defined.js +1 -5
  263. package/dist/esm/helpers/is-empty-children.js +1 -10
  264. package/dist/esm/helpers/is-safari.js +1 -5
  265. package/dist/esm/helpers/layout.js +1 -54
  266. package/dist/esm/helpers/load-script.js +1 -29
  267. package/dist/esm/helpers/make-style.js +1 -149
  268. package/dist/esm/helpers/normalize-builder-data.js +1 -21
  269. package/dist/esm/helpers/prefetch-queries.js +1 -76
  270. package/dist/esm/helpers/product.js +1 -44
  271. package/dist/esm/helpers/queries/get-collection.js +1 -223
  272. package/dist/esm/helpers/queries/get-collections.js +1 -19
  273. package/dist/esm/helpers/queries/get-product-by-slug.js +1 -123
  274. package/dist/esm/helpers/queries/get-product.js +1 -150
  275. package/dist/esm/helpers/queries/get-products.js +1 -161
  276. package/dist/esm/helpers/query.js +1 -25
  277. package/dist/esm/helpers/radius.js +6 -132
  278. package/dist/esm/helpers/render.js +1 -68
  279. package/dist/esm/helpers/shadow.js +1 -52
  280. package/dist/esm/helpers/size.js +4 -171
  281. package/dist/esm/helpers/spacing.js +1 -40
  282. package/dist/esm/helpers/tracking/fpixel.js +1 -24
  283. package/dist/esm/helpers/tracking/gtag.js +1 -87
  284. package/dist/esm/helpers/tracking/tiktokpixel.js +1 -15
  285. package/dist/esm/helpers/typography.js +17 -116
  286. package/dist/esm/helpers/variant.js +1 -9
  287. package/dist/esm/hooks/animation/animations.js +1 -0
  288. package/dist/esm/hooks/animation/useAnimationActions.js +1 -37
  289. package/dist/esm/hooks/animation/useAnimationConfig.js +1 -27
  290. package/dist/esm/hooks/animation/useAnimationPreview.js +1 -29
  291. package/dist/esm/hooks/animation/useAnimationTarget.js +1 -118
  292. package/dist/esm/hooks/animation/useApplyAnimation.js +1 -83
  293. package/dist/esm/hooks/animation/useLivePageAnimation.js +1 -0
  294. package/dist/esm/hooks/cart/use-add-to-cart.js +1 -18
  295. package/dist/esm/hooks/cart/use-cart-data.js +1 -26
  296. package/dist/esm/hooks/cart/use-cart-discount-codes-update.js +1 -18
  297. package/dist/esm/hooks/cart/use-cart-note-update.js +1 -18
  298. package/dist/esm/hooks/cart/use-create-cart.js +1 -20
  299. package/dist/esm/hooks/cart/use-remove-cart-item.js +1 -18
  300. package/dist/esm/hooks/cart/use-update-cart-item.js +1 -18
  301. package/dist/esm/hooks/shop/use-collection-query.js +1 -20
  302. package/dist/esm/hooks/shop/use-collections-query.js +1 -15
  303. package/dist/esm/hooks/shop/use-product-query.js +1 -20
  304. package/dist/esm/hooks/shop/use-products-query.js +1 -21
  305. package/dist/esm/hooks/shop.js +1 -111
  306. package/dist/esm/hooks/use-current-device.js +1 -19
  307. package/dist/esm/hooks/use-lazy-video.js +1 -13
  308. package/dist/esm/hooks/useAnimations.js +1 -24
  309. package/dist/esm/hooks/useCartId.js +1 -40
  310. package/dist/esm/hooks/useCartLine.js +1 -7
  311. package/dist/esm/hooks/useCartUI.js +1 -44
  312. package/dist/esm/hooks/useCollection.js +1 -7
  313. package/dist/esm/hooks/useFetchHandle.js +1 -11
  314. package/dist/esm/hooks/useFormatMoney.js +1 -56
  315. package/dist/esm/hooks/useInitialSwatchesOptions.js +1 -109
  316. package/dist/esm/hooks/useIsomorphicLayoutEffect.js +1 -6
  317. package/dist/esm/hooks/useLoadScript.js +1 -28
  318. package/dist/esm/hooks/useMoney.js +1 -80
  319. package/dist/esm/hooks/usePrevious.js +1 -17
  320. package/dist/esm/hooks/useProduct.js +1 -192
  321. package/dist/esm/hooks/useProductList.js +1 -16
  322. package/dist/esm/hooks/useSuspenseFetch.js +1 -23
  323. package/dist/esm/hooks/useSwatchesOptions.js +1 -37
  324. package/dist/esm/hooks/useToolbarPostPurchase.js +1 -0
  325. package/dist/esm/index.js +1 -100
  326. package/dist/esm/types/animations.js +1 -47
  327. package/dist/esm/types/appAPI.js +1 -0
  328. package/dist/esm/types/global-style.js +1 -12
  329. package/dist/esm/web-components/src/helpers/styles/constant.js +1 -7
  330. package/dist/types/index.d.ts +25970 -6309
  331. package/package.json +8 -3
@@ -1,120 +1 @@
1
- 'use strict';
2
-
3
- var react = require('react');
4
- var useAnimationConfig = require('./useAnimationConfig.js');
5
-
6
- const SPACING_ACTIVE_ATTRIBUTE = 'data-spacing';
7
- const TOOLBAR_ACTIVE_ATTRIBUTE = 'data-toolbar-active';
8
- const OUTLINE_ACTIVE_ATTRIBUTE = 'data-outline-active';
9
- const TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE = 'data-toolbar-add-active';
10
- const useAnimationTarget = (props)=>{
11
- const { isEnabledAnimation } = useAnimationConfig.useAnimationConfig(props);
12
- const componentTag = props.tag;
13
- const componentUid = props.uid;
14
- const targets = react.useRef(null);
15
- const targetObjects = react.useRef([]);
16
- const setToolbarActive = (isActive)=>{
17
- if (!targetObjects.current) return;
18
- for (const item of targetObjects.current){
19
- if (isActive) {
20
- item.toolbar?.setAttribute(TOOLBAR_ACTIVE_ATTRIBUTE, 'true');
21
- item.outline?.setAttribute(OUTLINE_ACTIVE_ATTRIBUTE, 'true');
22
- item.spacing?.setAttribute(SPACING_ACTIVE_ATTRIBUTE, 'true');
23
- item.addSectionTop?.setAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE, 'true');
24
- item.addSectionBottom?.setAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE, 'true');
25
- } else {
26
- item.toolbar?.removeAttribute(TOOLBAR_ACTIVE_ATTRIBUTE);
27
- item.outline?.removeAttribute(OUTLINE_ACTIVE_ATTRIBUTE);
28
- item.spacing?.removeAttribute(SPACING_ACTIVE_ATTRIBUTE);
29
- item.addSectionTop?.removeAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE);
30
- item.addSectionBottom?.removeAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE);
31
- }
32
- }
33
- };
34
- const getSectionProperties = (target)=>{
35
- const sectionAddTop = target.querySelector('[data-toolbar-add-top]');
36
- const sectionAddBottom = target.querySelector('[data-toolbar-add-bottom]');
37
- const sectionChild = Array.from(target.children);
38
- const sectionToolbar = sectionChild.find((child)=>child.getAttribute('data-toolbar') !== null);
39
- const sectionOutline = sectionChild.find((child)=>child.getAttribute('data-outline') !== null);
40
- return {
41
- sectionToolbar,
42
- sectionOutline,
43
- sectionAddTop,
44
- sectionAddBottom
45
- };
46
- };
47
- const getUpdatedTargetObjects = react.useCallback((targets)=>{
48
- return targets.reduce((accumulator, $rootTarget)=>{
49
- let addSectionTop = null;
50
- let addSectionBottom = null;
51
- let target = $rootTarget;
52
- let toolbar = $rootTarget.querySelector('[data-toolbar][data-toolbar-active]');
53
- let outline = $rootTarget.querySelector('[data-outline][data-outline-active]');
54
- const targetChild = Array.from(target.children);
55
- const spacing = targetChild.find((child)=>child.getAttribute('data-spacing') !== null);
56
- switch(componentTag){
57
- case 'Button':
58
- case 'SubmitButton':
59
- case 'ProductButton':
60
- case 'DynamicCheckout':
61
- target = $rootTarget.querySelector('.gp-button-base');
62
- break;
63
- case 'ProductProperties':
64
- target = $rootTarget.querySelector('input');
65
- break;
66
- case 'Icon':
67
- target = $rootTarget.firstElementChild;
68
- break;
69
- case 'ProductTag':
70
- target = $rootTarget?.children[0]?.children[0];
71
- break;
72
- case 'Section':
73
- {
74
- target = $rootTarget;
75
- const { sectionOutline, sectionToolbar, sectionAddTop, sectionAddBottom } = getSectionProperties(target);
76
- outline = sectionOutline;
77
- toolbar = sectionToolbar;
78
- addSectionTop = sectionAddTop;
79
- addSectionBottom = sectionAddBottom;
80
- break;
81
- }
82
- default:
83
- target = $rootTarget;
84
- }
85
- const newTargetObject = {
86
- target,
87
- toolbar,
88
- outline,
89
- spacing,
90
- addSectionTop,
91
- addSectionBottom
92
- };
93
- accumulator.push(newTargetObject);
94
- return accumulator;
95
- }, []);
96
- }, [
97
- componentTag
98
- ]);
99
- const initListOfTargets = react.useCallback(()=>{
100
- if (!isEnabledAnimation) return;
101
- if (!targets.current) {
102
- targets.current = document.querySelectorAll(`[data-uid="${componentUid}"]`);
103
- }
104
- const targetsArray = Array.from(targets.current);
105
- if (!targetsArray.length) return;
106
- const updatedTargetObjects = getUpdatedTargetObjects(targetsArray);
107
- targetObjects.current = updatedTargetObjects;
108
- }, [
109
- componentUid,
110
- getUpdatedTargetObjects,
111
- isEnabledAnimation
112
- ]);
113
- return {
114
- targetObjects,
115
- setToolbarActive,
116
- initListOfTargets
117
- };
118
- };
119
-
120
- exports.useAnimationTarget = useAnimationTarget;
1
+ "use strict";var react=require("react"),useAnimationConfig=require("./useAnimationConfig.js");const SPACING_ACTIVE_ATTRIBUTE="data-spacing-margin-bottom-active",TOOLBAR_ACTIVE_ATTRIBUTE="data-toolbar-active",OUTLINE_ACTIVE_ATTRIBUTE="data-outline-active",TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE="data-toolbar-add-active",useAnimationTarget=t=>{let{isEnabledAnimation:e}=useAnimationConfig.useAnimationConfig(t),r=t.tag,a=t.uid,o=react.useRef(null),u=react.useRef([]),T=t=>{if(u.current)for(let e of u.current)t?(e.toolbar?.setAttribute(TOOLBAR_ACTIVE_ATTRIBUTE,"true"),e.outline?.setAttribute(OUTLINE_ACTIVE_ATTRIBUTE,"true"),e.spacing?.setAttribute(SPACING_ACTIVE_ATTRIBUTE,"true"),e.addSectionTop?.setAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE,"true"),e.addSectionBottom?.setAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE,"true")):(e.toolbar?.removeAttribute(TOOLBAR_ACTIVE_ATTRIBUTE),e.outline?.removeAttribute(OUTLINE_ACTIVE_ATTRIBUTE),e.spacing?.removeAttribute(SPACING_ACTIVE_ATTRIBUTE),e.addSectionTop?.removeAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE),e.addSectionBottom?.removeAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE))},i=t=>{let e=t.querySelector("[data-toolbar-add-top]"),r=t.querySelector("[data-toolbar-add-bottom]"),a=Array.from(t.children),o=a.find(t=>null!==t.getAttribute("data-toolbar")),u=a.find(t=>null!==t.getAttribute("data-outline"));return{sectionToolbar:o,sectionOutline:u,sectionAddTop:e,sectionAddBottom:r}},n=react.useCallback(t=>t.reduce((t,e)=>{let a=null,o=null,u=e,T=e.querySelector("[data-toolbar][data-toolbar-active]"),n=e.querySelector("[data-outline][data-outline-active]"),A=Array.from(u.children),c=A.find(t=>{let e=t.getAttribute("data-spacing");return null!==e&&t.querySelector("[data-spacing-margin-bottom")});switch(r){case"Button":case"SubmitButton":case"ProductButton":case"DynamicCheckout":u=e.querySelector(".gp-button-base");break;case"ProductProperties":u=e.querySelector("input");break;case"Icon":u=e.firstElementChild;break;case"ProductTag":u=e?.children[0]?.children[0];break;case"Section":{u=e;let{sectionOutline:t,sectionToolbar:r,sectionAddTop:A,sectionAddBottom:c}=i(u);n=t,T=r,a=A,o=c;break}default:u=e}let l={target:u,toolbar:T,outline:n,spacing:c,addSectionTop:a,addSectionBottom:o};return t.push(l),t},[]),[r]),A=react.useCallback(()=>{if(!e)return;o.current||(o.current=document.querySelectorAll(`[data-uid="${a}"]`));let t=Array.from(o.current);if(!t.length)return;let r=n(t);u.current=r},[a,n,e]);return{targetObjects:u,setToolbarActive:T,initListOfTargets:A}};exports.useAnimationTarget=useAnimationTarget;
@@ -1,87 +1 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var react = require('react');
6
- var useAnimations = require('../useAnimations.js');
7
- var useAnimationTarget = require('./useAnimationTarget.js');
8
- var useAnimationConfig = require('./useAnimationConfig.js');
9
- var useAnimationActions = require('./useAnimationActions.js');
10
- var useAnimationPreview = require('./useAnimationPreview.js');
11
- var animations = require('../../types/animations.js');
12
-
13
- const useApplyAnimation = ({ props })=>{
14
- const currentProps = props;
15
- const { uid: componentUid } = currentProps;
16
- const animation = useAnimations.useAnimations();
17
- const { initListOfTargets, targetObjects, setToolbarActive } = useAnimationTarget.useAnimationTarget(currentProps);
18
- const { isEnabledAnimation, getAnimationConfig } = useAnimationConfig.useAnimationConfig(currentProps);
19
- const { setAnimation, cancelAnimation, playAnimation, setAnimationOnFinish } = useAnimationActions.useAnimationActions();
20
- const { previewAnimation } = useAnimationPreview.useAnimationPreview({
21
- props: currentProps,
22
- playAnimation,
23
- cancelAnimation,
24
- setAnimationOnFinish,
25
- setToolbarActive
26
- });
27
- const generateAnimation = react.useCallback(({ target, setting, type })=>{
28
- return animation[type](target, setting);
29
- }, [
30
- animation
31
- ]);
32
- const initListAnimations = react.useCallback(()=>{
33
- const { type, setting } = getAnimationConfig();
34
- if (!type || type === animations.AnimationType.None || !targetObjects.current.length) {
35
- cancelAnimation();
36
- return;
37
- }
38
- const listAnimations = targetObjects.current.map((item)=>generateAnimation({
39
- type,
40
- setting,
41
- target: item.target
42
- }));
43
- cancelAnimation();
44
- setAnimation(listAnimations);
45
- }, [
46
- getAnimationConfig,
47
- targetObjects,
48
- cancelAnimation,
49
- setAnimation,
50
- generateAnimation
51
- ]);
52
- react.useEffect(()=>{
53
- if (isEnabledAnimation) {
54
- initListOfTargets();
55
- initListAnimations();
56
- } else {
57
- cancelAnimation();
58
- }
59
- return ()=>{
60
- cancelAnimation();
61
- };
62
- }, [
63
- componentUid,
64
- initListAnimations,
65
- cancelAnimation,
66
- isEnabledAnimation,
67
- initListOfTargets
68
- ]);
69
- react.useEffect(()=>{
70
- window.addEventListener('preview-animation', previewAnimation);
71
- return ()=>{
72
- window.removeEventListener('preview-animation', previewAnimation);
73
- };
74
- }, [
75
- previewAnimation
76
- ]);
77
- react.useEffect(()=>{
78
- window.addEventListener('init-animation-target', initListOfTargets);
79
- return ()=>{
80
- window.removeEventListener('init-animation-target', initListOfTargets);
81
- };
82
- }, [
83
- initListOfTargets
84
- ]);
85
- };
86
-
87
- exports.default = useApplyAnimation;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var react=require("react"),useAnimations=require("../useAnimations.js"),useAnimationTarget=require("./useAnimationTarget.js"),useAnimationConfig=require("./useAnimationConfig.js"),useAnimationActions=require("./useAnimationActions.js"),useAnimationPreview=require("./useAnimationPreview.js"),animations=require("../../types/animations.js");const useApplyAnimation=({props:e})=>{let{uid:i}=e,n=useAnimations.useAnimations(),{initListOfTargets:t,targetObjects:a,setToolbarActive:s}=useAnimationTarget.useAnimationTarget(e),{isEnabledAnimation:r,getAnimationConfig:o}=useAnimationConfig.useAnimationConfig(e),{setAnimation:u,cancelAnimation:m,playAnimation:A,setAnimationOnFinish:c}=useAnimationActions.useAnimationActions(),{previewAnimation:p}=useAnimationPreview.useAnimationPreview({props:e,playAnimation:A,cancelAnimation:m,setAnimationOnFinish:c,setToolbarActive:s}),v=react.useCallback(({target:e,setting:i,type:t})=>n[t](e,i),[n]),w=react.useCallback(()=>{let{type:e,setting:i}=o();if(!e||e===animations.AnimationType.None||!a.current.length){m();return}let n=a.current.map(n=>v({type:e,setting:i,target:n.target}));m(),u(n)},[o,a,m,u,v]);react.useEffect(()=>(r?(t(),w()):m(),()=>{m()}),[i,w,m,r,t]),react.useEffect(()=>(window.addEventListener("preview-animation",p),()=>{window.removeEventListener("preview-animation",p)}),[p]),react.useEffect(()=>(window.addEventListener("init-animation-target",t),()=>{window.removeEventListener("init-animation-target",t)}),[t])};exports.default=useApplyAnimation;
@@ -0,0 +1 @@
1
+ "use strict";var react=require("react"),animations=require("./animations.js");const TAGS_SELECTOR={Button:".gp-button-base",ProductButton:".gp-button-base",Sticky:"gp-sticky",Dialog:"div[role=dialog]",Icon:"div div",ProductTag:"div div div",Product:"product-form form div"},useLivePageAnimation=(e,r,t)=>{let n=animations.animations(),[c,u]=react.useState(!1),a=react.useRef(void 0),i=react.useRef(void 0),o=react.useRef(null),l=react.useRef("none"),s=react.useRef("none"),d=react.useRef(null),b=react.useRef(null),p=react.useRef(null),m=react.useRef("animation-wrapper-"),f=react.useCallback(e=>{d.current&&(d.current.playbackRate=e??1,d.current.play())},[d]),v=react.useCallback(e=>{b.current&&(b.current.playbackRate=e??1,b.current.play())},[b]),g=react.useCallback(()=>{e.current&&(e.current.style.opacity="1"),o.current&&(o.current.style.opacity="1")},[e]),k=react.useCallback(()=>{e.current&&(e.current.style.opacity="1"),o.current&&(o.current.style.opacity="0")},[e]),C=react.useCallback(e=>{e&&e.stopPropagation(),"shake"!==l.current&&k(),d.current&&(b.current?.cancel(),f(),d.current.finished.then(()=>{o.current&&g()}),o.current&&a?.current?.unobserve(o.current))},[k,f,g]),y=react.useCallback(()=>{g(),d.current&&d.current.cancel()},[g,d]),R=react.useCallback(e=>{e&&e.stopPropagation(),b.current&&(y(),v())},[b,y,v]),h=react.useCallback(()=>{if(b.current){if("zoom"===s.current){if(v(-1),!c)return;b.current.finished.then(()=>{clearTimeout(i.current),i.current=setTimeout(()=>{C()},100)});return}b.current.cancel(),c&&C()}},[v,c,C]),E=react.useCallback(()=>{if("desktop"===p.current);else if("tablet"===p.current)return r?.tablet??r?.desktop;else if("mobile"===p.current)return r?.mobile??r?.tablet??r?.desktop;return r?.desktop},[r?.desktop,r?.mobile,r?.tablet]),L=(e,r)=>e?.triggerConfig?.[r]?.animation??"none",S=react.useCallback(e=>{if("none"===l.current)return;let r=e?.triggerConfig?.appear?.setting?.[l.current];u(r.loop),d.current=n?.[l.current]?.(o.current,r)},[n]),P=react.useCallback(e=>{if("none"===s.current)return;let r=e?.triggerConfig?.hover?.setting?.[s.current];b.current=n?.[s.current]?.(o.current,r)},[n]),T=react.useCallback(()=>{d.current&&(d.current=null,o.current&&a.current?.unobserve(o.current)),b&&(b.current=null,o.current&&(o.current.removeEventListener("mouseenter",R),o.current.removeEventListener("mouseleave",h)))},[h,R]),A=react.useCallback(e=>{if(T(),o.current){if(!e?.enabled){g();return}l.current=L(e,"appear"),s.current=L(e,"hover"),"none"===l.current&&g(),"none"!==s.current&&"desktop"===p.current&&(P(e),o.current.addEventListener("mouseenter",R),o.current.addEventListener("mouseleave",h)),"none"!==l.current?(S(e),a.current=new IntersectionObserver(e=>{e.forEach(e=>{e.intersectionRatio>.1&&C()})},{root:null,rootMargin:"0px",threshold:[.1]}),a.current.observe(o.current)):g()}},[h,S,P,C,R,g,T]),w=react.useCallback(()=>{let e=document.querySelector("html");if(!o.current||!e)return;let r=new ResizeObserver(([e])=>{let r;let t=e?.target.getBoundingClientRect().width??0;r=t>=1024?"desktop":t>=768?"tablet":"mobile",p.current!==r&&(p.current=r,A(E()))});return r.observe(e),()=>r.disconnect()},[E,A]);return react.useEffect(()=>{setTimeout(()=>{if(r&&e.current)return m.current=`animation-wrapper-${Math.random().toString(36).substr(2,5)}`,e.current.setAttribute("data-animationid",m.current),o.current=document.querySelector(`[data-animationid='${m.current}'] ${TAGS_SELECTOR?.[t]??""}`),w()},100)},[w,r,t,e]),{initAnimation:A}};exports.useLivePageAnimation=useLivePageAnimation;
@@ -1,20 +1 @@
1
- 'use strict';
2
-
3
- var adapterShopify = require('@gem-sdk/adapter-shopify');
4
- var useSWR = require('swr');
5
- var useSWRMutation = require('swr/mutation');
6
- var shop = require('../shop.js');
7
-
8
- const useAddToCart = (options)=>{
9
- const shop$1 = shop.useStoreFront();
10
- const { mutate } = useSWR.useSWRConfig();
11
- return useSWRMutation('add-to-cart', (_, { arg })=>adapterShopify.addToCartOperation(shop$1)(arg), {
12
- ...options,
13
- onSuccess: (result, key, config)=>{
14
- mutate('cart', result, false);
15
- options?.onSuccess?.(result, key, config);
16
- }
17
- });
18
- };
19
-
20
- exports.useAddToCart = useAddToCart;
1
+ "use strict";var adapterShopify=require("@gem-sdk/adapter-shopify"),useSWR=require("swr"),useSWRMutation=require("swr/mutation"),shop=require("../shop.js");const useAddToCart=e=>{let r=shop.useStoreFront(),{mutate:s}=useSWR.useSWRConfig();return useSWRMutation("add-to-cart",(e,{arg:s})=>adapterShopify.addToCartOperation(r)(s),{...e,onSuccess:(r,t,o)=>{s("cart",r,!1),e?.onSuccess?.(r,t,o)}})};exports.useAddToCart=useAddToCart;
@@ -1,28 +1 @@
1
- 'use strict';
2
-
3
- var adapterShopify = require('@gem-sdk/adapter-shopify');
4
- var useSWR = require('swr');
5
- var shop = require('../shop.js');
6
- var useCartId = require('../useCartId.js');
7
-
8
- const useCartData = (options)=>{
9
- const { cartId, clearCartId } = useCartId.default();
10
- const shop$1 = shop.useStoreFront();
11
- return useSWR(cartId ? 'cart' : null, ()=>adapterShopify.getCartOperation(shop$1)({
12
- cartId: cartId
13
- }), {
14
- revalidateOnMount: true,
15
- revalidateOnFocus: true,
16
- keepPreviousData: false,
17
- dedupingInterval: 2000,
18
- ...options,
19
- onSuccess (data, key, config) {
20
- if (!data) {
21
- clearCartId();
22
- }
23
- options?.onSuccess?.(data, key, config);
24
- }
25
- });
26
- };
27
-
28
- exports.useCartData = useCartData;
1
+ "use strict";var adapterShopify=require("@gem-sdk/adapter-shopify"),useSWR=require("swr"),shop=require("../shop.js"),useCartId=require("../useCartId.js");const useCartData=e=>{let{cartId:r,clearCartId:a}=useCartId.default(),t=shop.useStoreFront();return useSWR(r?"cart":null,()=>adapterShopify.getCartOperation(t)({cartId:r}),{revalidateOnMount:!0,revalidateOnFocus:!0,keepPreviousData:!1,dedupingInterval:2e3,...e,onSuccess(r,t,s){r||a(),e?.onSuccess?.(r,t,s)}})};exports.useCartData=useCartData;
@@ -1,20 +1 @@
1
- 'use strict';
2
-
3
- var adapterShopify = require('@gem-sdk/adapter-shopify');
4
- var useSWR = require('swr');
5
- var useSWRMutation = require('swr/mutation');
6
- var shop = require('../shop.js');
7
-
8
- const useCartDiscountCodesUpdate = (options)=>{
9
- const shop$1 = shop.useStoreFront();
10
- const { mutate } = useSWR.useSWRConfig();
11
- return useSWRMutation('cart-discount-codes-update', (_, { arg })=>adapterShopify.cartDiscountCodesUpdateOperation(shop$1)(arg), {
12
- ...options,
13
- onSuccess: (result, key, config)=>{
14
- mutate('cart', result, false);
15
- options?.onSuccess?.(result, key, config);
16
- }
17
- });
18
- };
19
-
20
- exports.useCartDiscountCodesUpdate = useCartDiscountCodesUpdate;
1
+ "use strict";var adapterShopify=require("@gem-sdk/adapter-shopify"),useSWR=require("swr"),useSWRMutation=require("swr/mutation"),shop=require("../shop.js");const useCartDiscountCodesUpdate=e=>{let s=shop.useStoreFront(),{mutate:t}=useSWR.useSWRConfig();return useSWRMutation("cart-discount-codes-update",(e,{arg:t})=>adapterShopify.cartDiscountCodesUpdateOperation(s)(t),{...e,onSuccess:(s,o,r)=>{t("cart",s,!1),e?.onSuccess?.(s,o,r)}})};exports.useCartDiscountCodesUpdate=useCartDiscountCodesUpdate;
@@ -1,20 +1 @@
1
- 'use strict';
2
-
3
- var adapterShopify = require('@gem-sdk/adapter-shopify');
4
- var useSWR = require('swr');
5
- var useSWRMutation = require('swr/mutation');
6
- var shop = require('../shop.js');
7
-
8
- const useCartNoteUpdate = (options)=>{
9
- const shop$1 = shop.useStoreFront();
10
- const { mutate } = useSWR.useSWRConfig();
11
- return useSWRMutation('cart-note-update', (_, { arg })=>adapterShopify.cartNoteUpdateOperation(shop$1)(arg), {
12
- ...options,
13
- onSuccess: (result, key, config)=>{
14
- mutate('cart', result, false);
15
- options?.onSuccess?.(result, key, config);
16
- }
17
- });
18
- };
19
-
20
- exports.useCartNoteUpdate = useCartNoteUpdate;
1
+ "use strict";var adapterShopify=require("@gem-sdk/adapter-shopify"),useSWR=require("swr"),useSWRMutation=require("swr/mutation"),shop=require("../shop.js");const useCartNoteUpdate=e=>{let t=shop.useStoreFront(),{mutate:r}=useSWR.useSWRConfig();return useSWRMutation("cart-note-update",(e,{arg:r})=>adapterShopify.cartNoteUpdateOperation(t)(r),{...e,onSuccess:(t,s,a)=>{r("cart",t,!1),e?.onSuccess?.(t,s,a)}})};exports.useCartNoteUpdate=useCartNoteUpdate;
@@ -1,22 +1 @@
1
- 'use strict';
2
-
3
- var adapterShopify = require('@gem-sdk/adapter-shopify');
4
- var useSWR = require('swr');
5
- var useSWRMutation = require('swr/mutation');
6
- var shop = require('../shop.js');
7
-
8
- const useCreateCart = (options)=>{
9
- const shop$1 = shop.useStoreFront();
10
- const { mutate } = useSWR.useSWRConfig();
11
- return useSWRMutation('create-cart', (_, { arg })=>{
12
- return adapterShopify.createCartOperation(shop$1)(arg);
13
- }, {
14
- ...options,
15
- onSuccess: (result, key, config)=>{
16
- mutate('cart', result, false);
17
- options?.onSuccess?.(result, key, config);
18
- }
19
- });
20
- };
21
-
22
- exports.useCreateCart = useCreateCart;
1
+ "use strict";var adapterShopify=require("@gem-sdk/adapter-shopify"),useSWR=require("swr"),useSWRMutation=require("swr/mutation"),shop=require("../shop.js");const useCreateCart=e=>{let r=shop.useStoreFront(),{mutate:t}=useSWR.useSWRConfig();return useSWRMutation("create-cart",(e,{arg:t})=>adapterShopify.createCartOperation(r)(t),{...e,onSuccess:(r,s,a)=>{t("cart",r,!1),e?.onSuccess?.(r,s,a)}})};exports.useCreateCart=useCreateCart;
@@ -1,20 +1 @@
1
- 'use strict';
2
-
3
- var adapterShopify = require('@gem-sdk/adapter-shopify');
4
- var useSWR = require('swr');
5
- var useSWRMutation = require('swr/mutation');
6
- var shop = require('../shop.js');
7
-
8
- const useRemoveCartItem = (options)=>{
9
- const shop$1 = shop.useStoreFront();
10
- const { mutate } = useSWR.useSWRConfig();
11
- return useSWRMutation('remove-cart-item', (_, { arg })=>adapterShopify.removeCartItemOperation(shop$1)(arg), {
12
- ...options,
13
- onSuccess: (result, key, config)=>{
14
- mutate('cart', result, false);
15
- options?.onSuccess?.(result, key, config);
16
- }
17
- });
18
- };
19
-
20
- exports.useRemoveCartItem = useRemoveCartItem;
1
+ "use strict";var adapterShopify=require("@gem-sdk/adapter-shopify"),useSWR=require("swr"),useSWRMutation=require("swr/mutation"),shop=require("../shop.js");const useRemoveCartItem=e=>{let r=shop.useStoreFront(),{mutate:t}=useSWR.useSWRConfig();return useSWRMutation("remove-cart-item",(e,{arg:t})=>adapterShopify.removeCartItemOperation(r)(t),{...e,onSuccess:(r,s,o)=>{t("cart",r,!1),e?.onSuccess?.(r,s,o)}})};exports.useRemoveCartItem=useRemoveCartItem;
@@ -1,20 +1 @@
1
- 'use strict';
2
-
3
- var adapterShopify = require('@gem-sdk/adapter-shopify');
4
- var useSWR = require('swr');
5
- var useSWRMutation = require('swr/mutation');
6
- var shop = require('../shop.js');
7
-
8
- const useUpdateCartItem = (options)=>{
9
- const shop$1 = shop.useStoreFront();
10
- const { mutate } = useSWR.useSWRConfig();
11
- return useSWRMutation('update-cart-item', (_, { arg })=>adapterShopify.updateCartLineOperation(shop$1)(arg), {
12
- ...options,
13
- onSuccess: (result, key, config)=>{
14
- mutate('cart', result, false);
15
- options?.onSuccess?.(result, key, config);
16
- }
17
- });
18
- };
19
-
20
- exports.useUpdateCartItem = useUpdateCartItem;
1
+ "use strict";var adapterShopify=require("@gem-sdk/adapter-shopify"),useSWR=require("swr"),useSWRMutation=require("swr/mutation"),shop=require("../shop.js");const useUpdateCartItem=e=>{let t=shop.useStoreFront(),{mutate:r}=useSWR.useSWRConfig();return useSWRMutation("update-cart-item",(e,{arg:r})=>adapterShopify.updateCartLineOperation(t)(r),{...e,onSuccess:(t,s,a)=>{r("cart",t,!1),e?.onSuccess?.(t,s,a)}})};exports.useUpdateCartItem=useUpdateCartItem;
@@ -1,22 +1 @@
1
- 'use strict';
2
-
3
- var useSWR = require('swr');
4
- var getCollection = require('../../helpers/queries/get-collection.js');
5
- var shop = require('../shop.js');
6
- var useFetchHandle = require('../useFetchHandle.js');
7
- var query = require('../../helpers/query.js');
8
-
9
- const useCollectionQuery = (args, options)=>{
10
- const fetcher = useFetchHandle.useFetchHandle();
11
- const isSample = shop.useIsSampleProduct();
12
- const isStorefront = shop.useIsStorefrontProduct();
13
- return useSWR(args ? query.generateCollectionQueryKey({
14
- ...args,
15
- isSample,
16
- isStorefront
17
- }) : null, ([, arg])=>{
18
- return getCollection.getCollection(fetcher, arg);
19
- }, options);
20
- };
21
-
22
- exports.useCollectionQuery = useCollectionQuery;
1
+ "use strict";var useSWR=require("swr"),getCollection=require("../../helpers/queries/get-collection.js"),shop=require("../shop.js"),useFetchHandle=require("../useFetchHandle.js"),query=require("../../helpers/query.js");const useCollectionQuery=(e,r)=>{let s=useFetchHandle.useFetchHandle(),u=shop.useIsSampleProduct(),t=shop.useIsStorefrontProduct();return useSWR(e?query.generateCollectionQueryKey({...e,isSample:u,isStorefront:t}):null,([,e])=>getCollection.getCollection(s,e),r)};exports.useCollectionQuery=useCollectionQuery;
@@ -1,17 +1 @@
1
- 'use strict';
2
-
3
- var useSWR = require('swr');
4
- var getCollections = require('../../helpers/queries/get-collections.js');
5
- var useFetchHandle = require('../useFetchHandle.js');
6
-
7
- const useCollectionsQuery = (variable, options)=>{
8
- const fetcher = useFetchHandle.useFetchHandle();
9
- return useSWR(variable ? [
10
- 'query/collections',
11
- variable
12
- ] : null, async ([, arg])=>{
13
- return getCollections.getCollections(fetcher, arg);
14
- }, options);
15
- };
16
-
17
- exports.useCollectionsQuery = useCollectionsQuery;
1
+ "use strict";var useSWR=require("swr"),getCollections=require("../../helpers/queries/get-collections.js"),useFetchHandle=require("../useFetchHandle.js");const useCollectionsQuery=(e,s)=>{let l=useFetchHandle.useFetchHandle();return useSWR(e?["query/collections",e]:null,async([,e])=>getCollections.getCollections(l,e),s)};exports.useCollectionsQuery=useCollectionsQuery;
@@ -1,22 +1 @@
1
- 'use strict';
2
-
3
- var useSWR = require('swr');
4
- var getProduct = require('../../helpers/queries/get-product.js');
5
- var shop = require('../shop.js');
6
- var useFetchHandle = require('../useFetchHandle.js');
7
- var query = require('../../helpers/query.js');
8
-
9
- const useProductQuery = (productId, options)=>{
10
- const fetcher = useFetchHandle.useFetchHandle();
11
- const isSample = shop.useIsSampleProduct();
12
- const isStorefront = shop.useIsStorefrontProduct();
13
- return useSWR(productId ? query.generateProductQueryKey({
14
- id: productId,
15
- isSample,
16
- isStorefront
17
- }) : null, async ([, arg])=>{
18
- return getProduct.getProduct(fetcher, arg);
19
- }, options);
20
- };
21
-
22
- exports.useProductQuery = useProductQuery;
1
+ "use strict";var useSWR=require("swr"),getProduct=require("../../helpers/queries/get-product.js"),shop=require("../shop.js"),useFetchHandle=require("../useFetchHandle.js"),query=require("../../helpers/query.js");const useProductQuery=(e,r)=>{let u=useFetchHandle.useFetchHandle(),s=shop.useIsSampleProduct(),t=shop.useIsStorefrontProduct();return useSWR(e?query.generateProductQueryKey({id:e,isSample:s,isStorefront:t}):null,async([,e])=>getProduct.getProduct(u,e),r)};exports.useProductQuery=useProductQuery;
@@ -1,23 +1 @@
1
- 'use strict';
2
-
3
- var useSWR = require('swr');
4
- var getProducts = require('../../helpers/queries/get-products.js');
5
- var query = require('../../helpers/query.js');
6
- var shop = require('../shop.js');
7
- var useFetchHandle = require('../useFetchHandle.js');
8
-
9
- const useProductsQuery = (ids, options, defaultSelectedProductCount)=>{
10
- const fetcher = useFetchHandle.useFetchHandle();
11
- const isSample = shop.useIsSampleProduct();
12
- const isStorefront = shop.useIsStorefrontProduct();
13
- return useSWR(ids ? query.generateProductsQueryKey({
14
- ids,
15
- isSample,
16
- isStorefront,
17
- defaultSelectedProductCount
18
- }) : null, async ([, arg])=>{
19
- return getProducts.getProducts(fetcher, arg);
20
- }, options);
21
- };
22
-
23
- exports.useProductsQuery = useProductsQuery;
1
+ "use strict";var useSWR=require("swr"),getProducts=require("../../helpers/queries/get-products.js"),query=require("../../helpers/query.js"),shop=require("../shop.js"),useFetchHandle=require("../useFetchHandle.js");const useProductsQuery=(e,u,r)=>{let t=useFetchHandle.useFetchHandle(),s=shop.useIsSampleProduct(),c=shop.useIsStorefrontProduct();return useSWR(e?query.generateProductsQueryKey({ids:e,isSample:s,isStorefront:!r?.fetcher&&c,defaultSelectedProductCount:r?.defaultSelectedProductCount,allStatus:r?.allStatus}):null,async([,e])=>getProducts.getProducts(r?.fetcher||t,e),u)},useProductsQueryAll=(e,u)=>{let r=useFetchHandle.useFetchHandle();return useSWR(e?["query/products",e]:null,async([,e])=>getProducts.getProductQueryAll(r,e),u)};exports.useProductsQuery=useProductsQuery,exports.useProductsQueryAll=useProductsQueryAll;
@@ -1,126 +1 @@
1
- 'use strict';
2
-
3
- var react = require('react');
4
- var useSWR = require('swr');
5
- var ShopContext = require('../contexts/ShopContext.js');
6
-
7
- const useLocale = ()=>{
8
- const locale = ShopContext.useShopStore((state)=>state.locale);
9
- const changeLocale = ShopContext.useShopStore((state)=>state.changeLocale);
10
- return react.useMemo(()=>({
11
- locale,
12
- changeLocale
13
- }), [
14
- locale,
15
- changeLocale
16
- ]);
17
- };
18
- const useCurrency = ()=>{
19
- const currency = ShopContext.useShopStore((state)=>state.currency);
20
- const changeCurrency = ShopContext.useShopStore((state)=>state.changeCurrency);
21
- return react.useMemo(()=>({
22
- currency,
23
- changeCurrency
24
- }), [
25
- currency,
26
- changeCurrency
27
- ]);
28
- };
29
- const useMoneyFormat = ()=>{
30
- const moneyFormat = ShopContext.useShopStore((state)=>state.moneyFormat);
31
- const moneyWithCurrencyFormat = ShopContext.useShopStore((state)=>state.moneyWithCurrencyFormat);
32
- return react.useMemo(()=>({
33
- moneyFormat,
34
- moneyWithCurrencyFormat
35
- }), [
36
- moneyFormat,
37
- moneyWithCurrencyFormat
38
- ]);
39
- };
40
- const useSwatches = ()=>{
41
- const swatches = ShopContext.useShopStore((state)=>state.swatches);
42
- const changeSwatches = ShopContext.useShopStore((state)=>state.changeSwatches);
43
- return react.useMemo(()=>({
44
- swatches,
45
- changeSwatches
46
- }), [
47
- swatches,
48
- changeSwatches
49
- ]);
50
- };
51
- const usePageType = ()=>{
52
- const pageType = ShopContext.useShopStore((state)=>state.pageType);
53
- return react.useMemo(()=>pageType || 'STATIC', [
54
- pageType
55
- ]);
56
- };
57
- const useStoreFront = ()=>{
58
- const provider = ShopContext.useShopStore((state)=>state.provider);
59
- const storefrontToken = ShopContext.useShopStore((state)=>state.storefrontToken);
60
- const storefrontUrl = ShopContext.useShopStore((state)=>state.storefrontUrl);
61
- return {
62
- provider,
63
- storefrontToken,
64
- storefrontUrl
65
- };
66
- };
67
- const usePluginEnable = ()=>{
68
- return ShopContext.useShopStore((state)=>state.plugins);
69
- };
70
- const useEditorMode = ()=>{
71
- return ShopContext.useShopStore((state)=>state.mode);
72
- };
73
- const useMobileOnly = ()=>{
74
- return ShopContext.useShopStore((state)=>state.mobileOnly);
75
- };
76
- const useMatchMutate = ()=>{
77
- const { cache, mutate } = useSWR.useSWRConfig();
78
- return (matcher, opts)=>{
79
- if (!(cache instanceof Map)) {
80
- throw new Error('matchMutate requires the cache provider to be a Map instance');
81
- }
82
- const keys = [];
83
- cache.forEach((_, key)=>{
84
- if (matcher.test(key)) {
85
- keys.push(key);
86
- }
87
- });
88
- const mutations = keys.map((key)=>{
89
- const cacheData = cache.get(key);
90
- return mutate(key, cacheData?.data, opts);
91
- });
92
- return Promise.all(mutations);
93
- };
94
- };
95
- function useConnectedShopify() {
96
- const { storefrontToken } = useStoreFront();
97
- return !!storefrontToken;
98
- }
99
- function useIsSampleProduct() {
100
- const { storefrontToken } = useStoreFront();
101
- const isStorefront = ShopContext.useShopStore((state)=>state.isStorefront);
102
- return isStorefront && !storefrontToken;
103
- }
104
- function useIsStorefrontProduct() {
105
- return ShopContext.useShopStore((state)=>state.isStorefront);
106
- }
107
- function useCheckoutUrl(url) {
108
- const { storefrontToken } = useStoreFront();
109
- if (!url) return undefined;
110
- return storefrontToken ? `${url}?access_token=${storefrontToken}` : url;
111
- }
112
-
113
- exports.useCheckoutUrl = useCheckoutUrl;
114
- exports.useConnectedShopify = useConnectedShopify;
115
- exports.useCurrency = useCurrency;
116
- exports.useEditorMode = useEditorMode;
117
- exports.useIsSampleProduct = useIsSampleProduct;
118
- exports.useIsStorefrontProduct = useIsStorefrontProduct;
119
- exports.useLocale = useLocale;
120
- exports.useMatchMutate = useMatchMutate;
121
- exports.useMobileOnly = useMobileOnly;
122
- exports.useMoneyFormat = useMoneyFormat;
123
- exports.usePageType = usePageType;
124
- exports.usePluginEnable = usePluginEnable;
125
- exports.useStoreFront = useStoreFront;
126
- exports.useSwatches = useSwatches;
1
+ "use strict";var react=require("react"),useSWR=require("swr"),ShopContext=require("../contexts/ShopContext.js");const useLocale=()=>{let e=ShopContext.useShopStore(e=>e.locale),t=ShopContext.useShopStore(e=>e.changeLocale);return react.useMemo(()=>({locale:e,changeLocale:t}),[e,t])},useCurrency=()=>{let e=ShopContext.useShopStore(e=>e.currency),t=ShopContext.useShopStore(e=>e.changeCurrency);return react.useMemo(()=>({currency:e,changeCurrency:t}),[e,t])},useMoneyFormat=()=>{let e=ShopContext.useShopStore(e=>e.moneyFormat),t=ShopContext.useShopStore(e=>e.moneyWithCurrencyFormat);return react.useMemo(()=>({moneyFormat:e,moneyWithCurrencyFormat:t}),[e,t])},useSwatches=()=>{let e=ShopContext.useShopStore(e=>e.swatches),t=ShopContext.useShopStore(e=>e.changeSwatches);return react.useMemo(()=>({swatches:e,changeSwatches:t}),[e,t])},usePageType=()=>{let e=ShopContext.useShopStore(e=>e.pageType);return react.useMemo(()=>e||"STATIC",[e])},useStoreFront=()=>{let e=ShopContext.useShopStore(e=>e.provider),t=ShopContext.useShopStore(e=>e.storefrontToken),o=ShopContext.useShopStore(e=>e.storefrontUrl);return{provider:e,storefrontToken:t,storefrontUrl:o}},usePluginEnable=()=>ShopContext.useShopStore(e=>e.plugins),useEditorMode=()=>ShopContext.useShopStore(e=>e.mode),useMobileOnly=()=>ShopContext.useShopStore(e=>e.mobileOnly),useMatchMutate=()=>{let{cache:e,mutate:t}=useSWR.useSWRConfig();return(o,r)=>{if(!(e instanceof Map))throw Error("matchMutate requires the cache provider to be a Map instance");let u=[];e.forEach((e,t)=>{o.test(t)&&u.push(t)});let s=u.map(o=>{let u=e.get(o);return t(o,u?.data,r)});return Promise.all(s)}};function useConnectedShopify(){let{storefrontToken:e}=useStoreFront();return!!e}function useIsSampleProduct(){let{storefrontToken:e}=useStoreFront(),t=ShopContext.useShopStore(e=>e.isStorefront);return t&&!e}function useIsStorefrontProduct(){return ShopContext.useShopStore(e=>e.isStorefront)}function useCheckoutUrl(e){let{storefrontToken:t}=useStoreFront();if(e)return t?`${e}?access_token=${t}`:e}exports.useCheckoutUrl=useCheckoutUrl,exports.useConnectedShopify=useConnectedShopify,exports.useCurrency=useCurrency,exports.useEditorMode=useEditorMode,exports.useIsSampleProduct=useIsSampleProduct,exports.useIsStorefrontProduct=useIsStorefrontProduct,exports.useLocale=useLocale,exports.useMatchMutate=useMatchMutate,exports.useMobileOnly=useMobileOnly,exports.useMoneyFormat=useMoneyFormat,exports.usePageType=usePageType,exports.usePluginEnable=usePluginEnable,exports.useStoreFront=useStoreFront,exports.useSwatches=useSwatches;
@@ -1,21 +1 @@
1
- 'use strict';
2
-
3
- var react = require('react');
4
-
5
- function subscribe(callback) {
6
- window.addEventListener('resize', callback);
7
- return ()=>window.removeEventListener('resize', callback);
8
- }
9
- const useCurrentDevice = ()=>{
10
- return react.useSyncExternalStore(subscribe, ()=>{
11
- if (window.innerWidth < 768) {
12
- return 'mobile';
13
- } else if (window.innerWidth >= 768 && window.innerWidth < 1024) {
14
- return 'tablet';
15
- } else {
16
- return 'desktop';
17
- }
18
- }, ()=>'desktop');
19
- };
20
-
21
- exports.useCurrentDevice = useCurrentDevice;
1
+ "use strict";var react=require("react");function subscribe(e){return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}const useCurrentDevice=()=>react.useSyncExternalStore(subscribe,()=>window.innerWidth<768?"mobile":window.innerWidth>=768&&window.innerWidth<1024?"tablet":"desktop",()=>"desktop");exports.useCurrentDevice=useCurrentDevice;