@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,476 +1 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useMemo, useContext, createContext, Suspense, Fragment } from 'react';
3
- import { useStore, createStore } from 'zustand';
4
- import { cloneDeep } from '../helpers/clone-deep.js';
5
- import { normalizeBuilderData } from '../helpers/normalize-builder-data.js';
6
-
7
- function moveByIndex(input, from, to) {
8
- const elm = input.splice(from, 1)[0];
9
- if (elm !== undefined) {
10
- input.splice(to, 0, elm);
11
- }
12
- }
13
- function removeByKey(id, data) {
14
- const item = data[id];
15
- if (item) {
16
- delete data[id];
17
- if (item.type !== 'section') {
18
- item.childrens?.map((child)=>removeByKey(child, data));
19
- }
20
- }
21
- }
22
- const BuilderPreviewContext = /*#__PURE__*/ createContext(null);
23
- const root = {
24
- uid: 'ROOT',
25
- tag: 'Root',
26
- label: 'Root',
27
- childrens: []
28
- };
29
- const createBuilderPreviewProvider = (args, isThemeSectionEditor)=>createStore((set, get)=>({
30
- state: args,
31
- loaded: false,
32
- isThemeSectionEditor: !!isThemeSectionEditor,
33
- dynamicProduct: null,
34
- dynamicCollection: null,
35
- addItem: (args)=>{
36
- const { position, data } = args;
37
- const state = get().state;
38
- const dateModified = Date.now();
39
- if (args.type === 'section') {
40
- if (!Array.isArray(data)) {
41
- const sectionId = data.uid;
42
- // Section only add to ROOT
43
- const ROOT = state.ROOT;
44
- if (!ROOT.childrens) {
45
- ROOT.childrens = [
46
- sectionId
47
- ];
48
- } else {
49
- ROOT.childrens.splice(position ?? 0, 0, sectionId);
50
- }
51
- ROOT.dateModified = dateModified;
52
- set({
53
- state: {
54
- ...state,
55
- [sectionId]: {
56
- uid: sectionId,
57
- type: 'section',
58
- label: data.label
59
- },
60
- ROOT: cloneDeep(ROOT)
61
- }
62
- });
63
- }
64
- } else {
65
- const { id, data } = args;
66
- const parent = id ? state[id] ?? state.ROOT : state.ROOT;
67
- // Can't add item to section
68
- if (parent.type === 'section') return;
69
- if (Array.isArray(data)) {
70
- const childrens = data.map((v)=>v.uid);
71
- const newState = data.reduceRight((prev, current)=>{
72
- const item = normalizeBuilderData(current);
73
- return {
74
- ...prev,
75
- ...item
76
- };
77
- }, {});
78
- parent.dateModified = dateModified;
79
- parent.childrens = parent.childrens ?? [];
80
- parent.childrens.splice(position ?? 0, 0, ...childrens);
81
- set({
82
- state: {
83
- ...state,
84
- ...newState,
85
- [parent.uid]: cloneDeep(parent)
86
- }
87
- });
88
- } else {
89
- const item = normalizeBuilderData(data);
90
- parent.dateModified = dateModified;
91
- parent.childrens = parent.childrens ?? [];
92
- parent.childrens.splice(position ?? 0, 0, data.uid);
93
- set({
94
- state: {
95
- ...state,
96
- ...item,
97
- [parent.uid]: cloneDeep(parent)
98
- }
99
- });
100
- }
101
- }
102
- },
103
- changeItemProp: (id, data, group)=>{
104
- if (!group || ![
105
- 'setting',
106
- 'style',
107
- 'advanced'
108
- ].includes(group)) return;
109
- const state = get().state;
110
- const item = state[id];
111
- // Ignore section
112
- if (item?.type === 'section') return;
113
- if (item) {
114
- const dateModified = Date.now();
115
- item.dateModified = dateModified;
116
- switch(group){
117
- case 'setting':
118
- set({
119
- state: {
120
- ...state,
121
- [id]: {
122
- ...item,
123
- settings: {
124
- ...item.settings,
125
- ...data
126
- }
127
- }
128
- }
129
- });
130
- break;
131
- case 'style':
132
- set({
133
- state: {
134
- ...state,
135
- [id]: {
136
- ...item,
137
- styles: {
138
- ...item.styles,
139
- ...data
140
- }
141
- }
142
- }
143
- });
144
- break;
145
- case 'advanced':
146
- set({
147
- state: {
148
- ...state,
149
- [id]: {
150
- ...item,
151
- advanced: {
152
- ...item.advanced,
153
- ...data
154
- }
155
- }
156
- }
157
- });
158
- break;
159
- }
160
- }
161
- },
162
- forceChangeItemProp: (id, data, group)=>{
163
- if (!group || ![
164
- 'setting',
165
- 'style',
166
- 'advanced'
167
- ].includes(group)) return;
168
- const state = get().state;
169
- const item = state[id];
170
- // Ignore section
171
- if (item?.type === 'section') return;
172
- if (item) {
173
- const dateModified = Date.now();
174
- item.dateModified = dateModified;
175
- switch(group){
176
- case 'setting':
177
- set({
178
- state: {
179
- ...state,
180
- [id]: {
181
- ...item,
182
- settings: data
183
- }
184
- }
185
- });
186
- break;
187
- case 'style':
188
- set({
189
- state: {
190
- ...state,
191
- [id]: {
192
- ...item,
193
- styles: data
194
- }
195
- }
196
- });
197
- break;
198
- case 'advanced':
199
- set({
200
- state: {
201
- ...state,
202
- [id]: {
203
- ...item,
204
- advanced: data
205
- }
206
- }
207
- });
208
- break;
209
- }
210
- }
211
- },
212
- changeItemPropByKey: ({ id, key, data, group })=>{
213
- if (!group || ![
214
- 'setting',
215
- 'style',
216
- 'advanced'
217
- ].includes(group)) return;
218
- const state = get().state;
219
- const item = state[id];
220
- // Ignore section
221
- if (item?.type === 'section') return;
222
- if (item) {
223
- const itemSetting = {
224
- style: item.styles ?? {},
225
- advanced: item.advanced ?? {},
226
- setting: item.settings ?? {}
227
- };
228
- if (data === undefined) {
229
- console.warn('Data is undefined');
230
- delete itemSetting[group][key];
231
- } else {
232
- itemSetting[group][key] = data;
233
- }
234
- set({
235
- state: {
236
- ...state,
237
- [id]: {
238
- ...item,
239
- settings: {
240
- ...itemSetting.setting
241
- },
242
- styles: {
243
- ...itemSetting.style
244
- },
245
- advanced: {
246
- ...itemSetting.advanced
247
- }
248
- }
249
- }
250
- });
251
- }
252
- },
253
- getItem: (id)=>{
254
- return get().state[id];
255
- },
256
- removeItem: (id)=>{
257
- if (id === 'ROOT') {
258
- set({
259
- state: {
260
- ROOT: root
261
- }
262
- });
263
- } else {
264
- const state = get().state;
265
- removeByKey(id, state);
266
- // Get parent node by id
267
- const parent = Object.entries(state).find(([, value])=>value.type !== 'section' && value.childrens?.includes(id));
268
- if (parent) {
269
- const dateModified = Date.now();
270
- const [parentId, parentValue] = parent;
271
- if (parentValue.type === 'section') return;
272
- parentValue.childrens = parentValue.childrens?.filter((child)=>child !== id);
273
- parentValue.dateModified = dateModified;
274
- set({
275
- state: {
276
- ...state,
277
- [parentId]: cloneDeep(parentValue)
278
- }
279
- });
280
- }
281
- }
282
- },
283
- moveItem: (id, toId, position)=>{
284
- const state = get().state;
285
- const item = state[id];
286
- const moveTo = state[toId];
287
- // Ignore section
288
- if (!item || !moveTo || moveTo.type === 'section') return;
289
- if (item.type === 'section') {
290
- // Section only add to ROOT
291
- const ROOT = state.ROOT;
292
- if (!ROOT.childrens) return;
293
- const currentIndex = ROOT.childrens.findIndex((uid)=>uid === id);
294
- moveByIndex(ROOT.childrens, currentIndex, position ?? 0);
295
- set({
296
- state: {
297
- ...state,
298
- ROOT: cloneDeep(ROOT)
299
- }
300
- });
301
- } else {
302
- const parent = Object.entries(state).find(([, value])=>value.type !== 'section' && value.childrens?.includes(id));
303
- if (item && parent) {
304
- const dateModified = Date.now();
305
- const [, parentItem] = parent;
306
- // Ignore section
307
- if (parentItem.type === 'section') return;
308
- parentItem.dateModified = dateModified;
309
- if (toId === parentItem.uid && parentItem.childrens) {
310
- // Move item to the same parent
311
- const currentIndex = parentItem.childrens.findIndex((uid)=>uid === id);
312
- if (parentItem.childrens && currentIndex !== position) {
313
- moveByIndex(parentItem.childrens, currentIndex, position ?? 0);
314
- set({
315
- state: {
316
- ...state,
317
- [parentItem.uid]: cloneDeep(parentItem)
318
- }
319
- });
320
- }
321
- } else {
322
- // Move item to another parent
323
- // Remove item from parent node
324
- parentItem.childrens = parentItem.childrens?.filter((uid)=>uid !== id);
325
- if (moveTo) {
326
- moveTo.dateModified = dateModified;
327
- moveTo.childrens = moveTo.childrens ?? [];
328
- moveTo.childrens.splice(position ?? 0, 0, item.uid);
329
- set({
330
- state: {
331
- ...state,
332
- [moveTo.uid]: cloneDeep(moveTo),
333
- [parentItem.uid]: cloneDeep(parentItem)
334
- }
335
- });
336
- }
337
- }
338
- }
339
- }
340
- },
341
- forceChangeState: (data)=>{
342
- set({
343
- state: data,
344
- loaded: true
345
- });
346
- },
347
- initState: (data)=>{
348
- if (Array.isArray(data)) {
349
- const childrens = data.map((v)=>v.uid);
350
- const newState = data.reduceRight((prev, current)=>{
351
- const item = normalizeBuilderData(current);
352
- return {
353
- ...prev,
354
- ...item
355
- };
356
- }, {});
357
- set({
358
- loaded: true,
359
- state: {
360
- ROOT: {
361
- ...root,
362
- childrens
363
- },
364
- ...newState
365
- }
366
- });
367
- } else {
368
- const newState = normalizeBuilderData(data);
369
- set({
370
- loaded: true,
371
- state: {
372
- ROOT: {
373
- ...root,
374
- childrens: [
375
- data.uid
376
- ]
377
- },
378
- ...newState
379
- }
380
- });
381
- }
382
- },
383
- addSection: (data, position)=>{
384
- const state = get().state;
385
- const ROOT = state.ROOT;
386
- if (!ROOT.childrens) ROOT.childrens = [];
387
- ROOT.childrens.splice(position ?? 0, 0, data.uid);
388
- set({
389
- state: {
390
- ...state,
391
- ROOT: cloneDeep(ROOT)
392
- }
393
- });
394
- },
395
- getParents: (id, limit)=>{
396
- const state = get().state;
397
- const parents = [];
398
- let index = 0;
399
- let currentId = id;
400
- // eslint-disable-next-line no-constant-condition
401
- while(true){
402
- if (limit && index >= limit) break;
403
- const parent = Object.entries(state).find(([, value])=>value.type !== 'section' && value.childrens?.includes(currentId));
404
- if (!parent) break;
405
- const [, parentItem] = parent;
406
- if (!parentItem) break;
407
- parents.push(parentItem);
408
- currentId = parentItem.uid;
409
- index++;
410
- }
411
- return parents;
412
- },
413
- updateItemName: (id, name)=>{
414
- const state = get().state;
415
- const item = state[id];
416
- if (item) {
417
- item.name = name;
418
- set({
419
- state: {
420
- ...state,
421
- [id]: cloneDeep(item)
422
- }
423
- });
424
- }
425
- },
426
- updateItemAttribute: (id, value, attr)=>{
427
- if (!attr || ![
428
- 'label',
429
- 'customLabel'
430
- ].includes(attr)) return;
431
- const state = get().state;
432
- const item = state[id];
433
- // Ignore section
434
- if (item?.type === 'section') return;
435
- if (item) {
436
- const dateModified = Date.now();
437
- item.dateModified = dateModified;
438
- const updatedItem = {
439
- ...item,
440
- [attr]: value
441
- };
442
- set({
443
- state: {
444
- ...state,
445
- [id]: updatedItem
446
- }
447
- });
448
- }
449
- }
450
- }));
451
- const BuilderPreviewProvider = ({ children, state, isThemeSectionEditor, lazy, ...passProps })=>{
452
- const Component = lazy ? Suspense : Fragment;
453
- const value = useMemo(()=>{
454
- return createBuilderPreviewProvider(state, isThemeSectionEditor);
455
- }, [
456
- state,
457
- isThemeSectionEditor
458
- ]);
459
- return /*#__PURE__*/ jsx(Component, {
460
- children: /*#__PURE__*/ jsx(BuilderPreviewContext.Provider, {
461
- ...passProps,
462
- value: value,
463
- children: children
464
- })
465
- });
466
- };
467
- // export const useBuilderPreviewStore = useStore;
468
- const useBuilderPreviewStore = (selector, equalityFn)=>{
469
- const store = useContext(BuilderPreviewContext);
470
- if (!store) {
471
- throw new Error('useBuilderPreviewStore must be used within a BuilderPreviewProvider');
472
- }
473
- return useStore(store, selector, equalityFn);
474
- };
475
-
476
- export { BuilderPreviewProvider, useBuilderPreviewStore };
1
+ import{jsx as e}from"react/jsx-runtime";import{useMemo as t,useContext as i,createContext as d,Suspense as r,Fragment as s}from"react";import{useStore as l,createStore as n}from"zustand";import{cloneDeep as a}from"../helpers/clone-deep.js";import{normalizeBuilderData as c}from"../helpers/normalize-builder-data.js";function moveByIndex(e,t,i){let d=e.splice(t,1)[0];void 0!==d&&e.splice(i,0,d)}function removeByKey(e,t){let i=t[e];i&&(delete t[e],"section"!==i.type&&i.childrens?.map(e=>removeByKey(e,t)))}let BuilderPreviewContext=d(null),root={uid:"ROOT",tag:"Root",label:"Root",childrens:[]},createBuilderPreviewProvider=(e,t)=>n((i,d)=>({state:e,loaded:!1,isThemeSectionEditor:!!t,dynamicProduct:null,dynamicCollection:null,addItem:e=>{let{position:t,data:r}=e,s=d().state,l=Date.now();if("section"===e.type){if(!Array.isArray(r)){let e=r.uid,d=s.ROOT;d.childrens?d.childrens.splice(t??0,0,e):d.childrens=[e],d.dateModified=l,i({state:{...s,[e]:{uid:e,type:"section",label:r.label},ROOT:a(d)}})}}else{let{id:d,data:r}=e,n=d?s[d]??s.ROOT:s.ROOT;if("section"===n.type)return;if(Array.isArray(r)){let e=r.map(e=>e.uid),d=r.reduceRight((e,t)=>{let i=c(t);return{...e,...i}},{});n.dateModified=l,n.childrens=n.childrens??[],n.childrens.splice(t??0,0,...e),i({state:{...s,...d,[n.uid]:a(n)}})}else{let e=c(r);n.dateModified=l,n.childrens=n.childrens??[],n.childrens.splice(t??0,0,r.uid),i({state:{...s,...e,[n.uid]:a(n)}})}}},changeItemProp:(e,t,r)=>{if(!r||!["setting","style","advanced"].includes(r))return;let s=d().state,l=s[e];if(l?.type!=="section"&&l){let d=Date.now();switch(l.dateModified=d,r){case"setting":i({state:{...s,[e]:{...l,settings:{...l.settings,...t}}}});break;case"style":i({state:{...s,[e]:{...l,styles:{...l.styles,...t}}}});break;case"advanced":i({state:{...s,[e]:{...l,advanced:{...l.advanced,...t}}}})}}},forceChangeItemProp:(e,t,r)=>{if(!r||!["setting","style","advanced"].includes(r))return;let s=d().state,l=s[e];if(l?.type!=="section"&&l){let d=Date.now();switch(l.dateModified=d,r){case"setting":i({state:{...s,[e]:{...l,settings:t}}});break;case"style":i({state:{...s,[e]:{...l,styles:t}}});break;case"advanced":i({state:{...s,[e]:{...l,advanced:t}}})}}},changeItemPropByKey:({id:e,key:t,data:r,group:s})=>{if(!s||!["setting","style","advanced"].includes(s))return;let l=d().state,n=l[e];if(n?.type!=="section"&&n){let d={style:n.styles??{},advanced:n.advanced??{},setting:n.settings??{}};void 0===r?(console.warn("Data is undefined"),delete d[s][t]):d[s][t]=r,i({state:{...l,[e]:{...n,settings:{...d.setting},styles:{...d.style},advanced:{...d.advanced}}}})}},getItem:e=>d().state[e],removeItem:e=>{if("ROOT"===e)i({state:{ROOT:root}});else{let t=d().state;removeByKey(e,t);let r=Object.entries(t).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(r){let d=Date.now(),[s,l]=r;if("section"===l.type)return;l.childrens=l.childrens?.filter(t=>t!==e),l.dateModified=d,i({state:{...t,[s]:a(l)}})}}},moveItem:(e,t,r)=>{let s=d().state,l=s[e],n=s[t];if(l&&n&&"section"!==n.type){if("section"===l.type){let t=s.ROOT;if(!t.childrens)return;let d=t.childrens.findIndex(t=>t===e);moveByIndex(t.childrens,d,r??0),i({state:{...s,ROOT:a(t)}})}else{let d=Object.entries(s).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(l&&d){let c=Date.now(),[,o]=d;if("section"===o.type)return;if(o.dateModified=c,t===o.uid&&o.childrens){let t=o.childrens.findIndex(t=>t===e);o.childrens&&t!==r&&(moveByIndex(o.childrens,t,r??0),i({state:{...s,[o.uid]:a(o)}}))}else o.childrens=o.childrens?.filter(t=>t!==e),n&&(n.dateModified=c,n.childrens=n.childrens??[],n.childrens.splice(r??0,0,l.uid),i({state:{...s,[n.uid]:a(n),[o.uid]:a(o)}}))}}}},forceChangeState:e=>{i({state:e,loaded:!0})},initState:e=>{if(Array.isArray(e)){let t=e.map(e=>e.uid),d=e.reduceRight((e,t)=>{let i=c(t);return{...e,...i}},{});i({loaded:!0,state:{ROOT:{...root,childrens:t},...d}})}else{let t=c(e);i({loaded:!0,state:{ROOT:{...root,childrens:[e.uid]},...t}})}},addSection:(e,t)=>{let r=d().state,s=r.ROOT;s.childrens||(s.childrens=[]),s.childrens.splice(t??0,0,e.uid),i({state:{...r,ROOT:a(s)}})},getParents:(e,t)=>{let i=d().state,r=[],s=0,l=e;for(;!t||!(s>=t);){let e=Object.entries(i).find(([,e])=>"section"!==e.type&&e.childrens?.includes(l));if(!e)break;let[,t]=e;if(!t)break;r.push(t),l=t.uid,s++}return r},updateItemName:(e,t)=>{let r=d().state,s=r[e];s&&(s.name=t,i({state:{...r,[e]:a(s)}}))},updateItemAttribute:(e,t,r)=>{if(!r||!["label","customLabel"].includes(r))return;let s=d().state,l=s[e];if(l?.type!=="section"&&l){let d=Date.now();l.dateModified=d;let n={...l,[r]:t};i({state:{...s,[e]:n}})}}})),BuilderPreviewProvider=({children:i,state:d,isThemeSectionEditor:l,lazy:n,...a})=>{let c=n?r:s,o=t(()=>createBuilderPreviewProvider(d,l),[d,l]);return e(c,{children:e(BuilderPreviewContext.Provider,{...a,value:o,children:i})})},useBuilderPreviewStore=(e,t)=>{let d=i(BuilderPreviewContext);if(!d)throw Error("useBuilderPreviewStore must be used within a BuilderPreviewProvider");return l(d,e,t)};export{BuilderPreviewProvider,useBuilderPreviewStore};
@@ -1,26 +1 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useStore, createStore } from 'zustand';
3
- import { useContext, createContext } from 'react';
4
-
5
- const CartLineContext = /*#__PURE__*/ createContext(null);
6
- const createCartLineStore = (data)=>createStore(()=>({
7
- ...data
8
- }));
9
- const CartLineProvider = ({ children, line })=>{
10
- return /*#__PURE__*/ jsx(CartLineContext.Provider, {
11
- value: createCartLineStore({
12
- line
13
- }),
14
- children: children
15
- }, `${line.id}-${line.quantity}`);
16
- };
17
- // export const useCartLineStore = useStore;
18
- const useCartLineStore = (selector, equalityFn)=>{
19
- const store = useContext(CartLineContext);
20
- if (!store) {
21
- throw new Error('useCartLineStore must be used within a CartLineProvider');
22
- }
23
- return useStore(store, selector, equalityFn);
24
- };
25
-
26
- export { CartLineProvider, useCartLineStore };
1
+ import{jsx as r}from"react/jsx-runtime";import{useStore as e,createStore as t}from"zustand";import{useContext as i,createContext as n}from"react";let CartLineContext=n(null),createCartLineStore=r=>t(()=>({...r})),CartLineProvider=({children:e,line:t})=>r(CartLineContext.Provider,{value:createCartLineStore({line:t}),children:e},`${t.id}-${t.quantity}`),useCartLineStore=(r,t)=>{let n=i(CartLineContext);if(!n)throw Error("useCartLineStore must be used within a CartLineProvider");return e(n,r,t)};export{CartLineProvider,useCartLineStore};
@@ -1,35 +1 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useMemo, useContext, createContext } from 'react';
3
- import { useStore, createStore } from 'zustand';
4
-
5
- const CollectionContext = /*#__PURE__*/ createContext(null);
6
- const createCollectionProvider = (data)=>createStore((set)=>({
7
- ...data,
8
- changeCollectionStore: ({ collection })=>{
9
- set({
10
- collection: collection
11
- });
12
- }
13
- }));
14
- const CollectionProvider = ({ collection, children })=>{
15
- const store = useMemo(()=>{
16
- return createCollectionProvider({
17
- collection
18
- });
19
- }, [
20
- collection
21
- ]);
22
- return /*#__PURE__*/ jsx(CollectionContext.Provider, {
23
- value: store,
24
- children: children
25
- }, collection?.id);
26
- };
27
- const useCollectionStore = (selector, equalityFn)=>{
28
- const store = useContext(CollectionContext);
29
- if (!store) {
30
- throw new Error('useCollectionStore must be used within a useCollectionStore');
31
- }
32
- return useStore(store, selector, equalityFn);
33
- };
34
-
35
- export { CollectionProvider, useCollectionStore };
1
+ import{jsx as e}from"react/jsx-runtime";import{useMemo as o,useContext as t,createContext as r}from"react";import{useStore as l,createStore as i}from"zustand";let CollectionContext=r(null),createCollectionProvider=e=>i(o=>({...e,changeCollectionStore:({collection:e})=>{o({collection:e})}})),CollectionProvider=({collection:t,children:r})=>{let l=o(()=>createCollectionProvider({collection:t}),[t]);return e(CollectionContext.Provider,{value:l,children:r},t?.id)},useCollectionStore=(e,o)=>{let r=t(CollectionContext);if(!r)throw Error("useCollectionStore must be used within a useCollectionStore");return l(r,e,o)};export{CollectionProvider,useCollectionStore};
@@ -1,44 +1 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useContext, createContext } from 'react';
3
- import { useStore, createStore } from 'zustand';
4
-
5
- const ModalContext = /*#__PURE__*/ createContext(null);
6
- const createModalProvider = (data)=>createStore((set)=>({
7
- activeId: data,
8
- setModalActive: (id)=>{
9
- window?.parent?.postMessage?.(JSON.stringify({
10
- type: 'active-element',
11
- uid: id
12
- }), '*');
13
- set({
14
- activeId: id
15
- });
16
- },
17
- clearModal: ()=>{
18
- window?.parent?.postMessage?.(JSON.stringify({
19
- type: 'active-element',
20
- uid: null
21
- }), '*');
22
- set({
23
- activeId: undefined
24
- });
25
- }
26
- }));
27
- const ModalProvider = ({ children, activeId, ...passProps })=>{
28
- const store = createModalProvider(activeId);
29
- return /*#__PURE__*/ jsx(ModalContext.Provider, {
30
- ...passProps,
31
- value: store,
32
- children: children
33
- });
34
- };
35
- // export const useBuilderStore = useStore;
36
- const useModalStore = (selector, equalityFn)=>{
37
- const store = useContext(ModalContext);
38
- if (!store) {
39
- throw new Error('useModalStore must be used within a ModalProvider');
40
- }
41
- return useStore(store, selector, equalityFn);
42
- };
43
-
44
- export { ModalProvider, useModalStore };
1
+ import{jsx as e}from"react/jsx-runtime";import{useContext as t,createContext as r}from"react";import{useStore as o,createStore as a}from"zustand";let ModalContext=r(null),createModalProvider=e=>a(t=>({activeId:e,setModalActive:e=>{window?.parent?.postMessage?.(JSON.stringify({type:"active-element",uid:e}),"*"),t({activeId:e})},clearModal:()=>{window?.parent?.postMessage?.(JSON.stringify({type:"active-element",uid:null}),"*"),t({activeId:void 0})}})),ModalProvider=({children:t,activeId:r,...o})=>{let a=createModalProvider(r);return e(ModalContext.Provider,{...o,value:a,children:t})},useModalStore=(e,r)=>{let a=t(ModalContext);if(!a)throw Error("useModalStore must be used within a ModalProvider");return o(a,e,r)};export{ModalProvider,useModalStore};
@@ -1,41 +1 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useMemo, useContext, createContext } from 'react';
3
- import { useStore, createStore } from 'zustand';
4
-
5
- const PageContext = /*#__PURE__*/ createContext(null);
6
- const createPageStoreProvider = (data)=>createStore((set)=>({
7
- ...data,
8
- setDynamicProduct: (data)=>{
9
- set({
10
- dynamicProduct: data
11
- });
12
- },
13
- setDynamicCollection: (data)=>{
14
- set({
15
- dynamicCollection: data
16
- });
17
- }
18
- }));
19
- const PageProvider = ({ children, dynamicProduct, dynamicCollection, ...passProps })=>{
20
- const store = useMemo(()=>createPageStoreProvider({
21
- dynamicProduct,
22
- dynamicCollection
23
- }), [
24
- dynamicProduct,
25
- dynamicCollection
26
- ]);
27
- return /*#__PURE__*/ jsx(PageContext.Provider, {
28
- ...passProps,
29
- value: store,
30
- children: children
31
- });
32
- };
33
- const usePageStore = (selector, equalityFn)=>{
34
- const store = useContext(PageContext);
35
- if (!store) {
36
- throw new Error('usePageStore must be used within a PageProvider');
37
- }
38
- return useStore(store, selector, equalityFn);
39
- };
40
-
41
- export { PageProvider, usePageStore };
1
+ import{jsx as e}from"react/jsx-runtime";import{useMemo as r,useContext as t,createContext as o}from"react";import{useStore as a,createStore as P}from"zustand";let PageContext=o(null),createPageStoreProvider=e=>P(r=>({...e,setDynamicProduct:e=>{r({dynamicProduct:e})},setDynamicCollection:e=>{r({dynamicCollection:e})},setPostPurchaseProductOffers:e=>{r({productOffers:e})},setSalePageProductId:e=>{r({salePageProductId:e})},setPublicStoreFrontData:e=>{r({publicStoreFrontData:e})}})),PageProvider=({children:t,dynamicProduct:o,dynamicCollection:a,productOffers:P,publicStoreFrontData:i,...c})=>{let u=r(()=>createPageStoreProvider({dynamicProduct:o,dynamicCollection:a,productOffers:P,publicStoreFrontData:i}),[o,a,P,i]);return e(PageContext.Provider,{...c,value:u,children:t})},usePageStore=(e,r)=>{let o=t(PageContext);if(!o)throw Error("usePageStore must be used within a PageProvider");return a(o,e,r)};export{PageProvider,usePageStore};