@gem-sdk/core 3.0.0-pre-production.14 → 3.0.0

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 (413) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/AddOn.js +2 -18
  3. package/dist/cjs/components/ComponentAnimation.js +2 -17
  4. package/dist/cjs/components/ComponentToolbarPreview.js +2 -752
  5. package/dist/cjs/components/ComponentWrapper.js +2 -61
  6. package/dist/cjs/components/ComponentWrapperPreview.js +2 -213
  7. package/dist/cjs/components/Empty.js +2 -7
  8. package/dist/cjs/components/InteractionSuffix.js +2 -42
  9. package/dist/cjs/components/Render.js +2 -75
  10. package/dist/cjs/components/Render.liquid.js +16 -307
  11. package/dist/cjs/components/RenderBlock.js +2 -54
  12. package/dist/cjs/components/RenderCustomCode.js +4 -59
  13. package/dist/cjs/components/RenderPreview.js +2 -67
  14. package/dist/cjs/components/RenderSection.js +2 -23
  15. package/dist/cjs/components/ai-generator/AIContentGenerator.js +2 -252
  16. package/dist/cjs/components/ai-generator/AIGenContentLoading.js +2 -85
  17. package/dist/cjs/components/ai-generator/components/PickProduct.js +2 -220
  18. package/dist/cjs/components/ai-generator/components/ToneAndVoice.js +2 -77
  19. package/dist/cjs/components/ai-generator/hooks/useCheckingProductInside.js +1 -47
  20. package/dist/cjs/components/ai-generator/hooks/useFlipPopup.js +1 -110
  21. package/dist/cjs/components/ai-generator/hooks/useGettingGenerateRequest.js +1 -37
  22. package/dist/cjs/components/ai-generator/hooks/useListenEventGenerate.js +1 -70
  23. package/dist/cjs/components/ai-generator/icons/AIIcon.js +2 -67
  24. package/dist/cjs/components/ai-generator/icons/CloseIcon.js +2 -19
  25. package/dist/cjs/components/ai-generator/icons/DropdownIcon.js +2 -37
  26. package/dist/cjs/components/ai-generator/icons/SearchIcon.js +2 -21
  27. package/dist/cjs/components/ai-generator/icons/ShowMoreIcon.js +2 -21
  28. package/dist/cjs/components/ai-generator/icons/UpgradeIcon.js +2 -27
  29. package/dist/cjs/components/ai-generator/icons/WarningIcon.js +2 -31
  30. package/dist/cjs/components/constant.js +1 -82
  31. package/dist/cjs/components/resize/Resize.js +2 -16
  32. package/dist/cjs/components/resize/Spacing.js +2 -260
  33. package/dist/cjs/components/src/product/helpers/variant-presets.js +1 -56
  34. package/dist/cjs/components/theme-section/CreateThemeSection.js +2 -123
  35. package/dist/cjs/components/theme-section/ThemeSectionStatus.js +2 -45
  36. package/dist/cjs/components/theme-section/ThemeSectionTooltip.js +2 -126
  37. package/dist/cjs/components/toolbar/Tooltip.js +2 -28
  38. package/dist/cjs/constants/device.js +1 -0
  39. package/dist/cjs/contexts/AddonContext.js +2 -36
  40. package/dist/cjs/contexts/ArticleContext.js +2 -39
  41. package/dist/cjs/contexts/ArticleListContext.js +2 -31
  42. package/dist/cjs/contexts/BuilderComponent.js +2 -34
  43. package/dist/cjs/contexts/BuilderContext.js +2 -39
  44. package/dist/cjs/contexts/BuilderPreviewContext.js +2 -482
  45. package/dist/cjs/contexts/CartLineContext.js +2 -29
  46. package/dist/cjs/contexts/CollectionContext.js +2 -38
  47. package/dist/cjs/contexts/I18nContext.js +2 -0
  48. package/dist/cjs/contexts/ModalContext.js +2 -47
  49. package/dist/cjs/contexts/PageContext.js +2 -111
  50. package/dist/cjs/contexts/ProductContext.js +2 -182
  51. package/dist/cjs/contexts/ProductListContext.js +2 -32
  52. package/dist/cjs/contexts/SectionContext.js +2 -53
  53. package/dist/cjs/contexts/ShopContext.js +2 -107
  54. package/dist/cjs/graphql/fragments/analytic.generated.js +2 -6
  55. package/dist/cjs/graphql/fragments/collection-detail.generated.js +2 -6
  56. package/dist/cjs/graphql/fragments/collection-product.generated.js +2 -6
  57. package/dist/cjs/graphql/fragments/collection.generated.js +2 -6
  58. package/dist/cjs/graphql/fragments/custom-code.generated.js +2 -6
  59. package/dist/cjs/graphql/fragments/custom-font.generated.js +7 -7
  60. package/dist/cjs/graphql/fragments/data-seo.generated.js +2 -6
  61. package/dist/cjs/graphql/fragments/media.generated.js +2 -6
  62. package/dist/cjs/graphql/fragments/preview-theme-page.generated.js +6 -6
  63. package/dist/cjs/graphql/fragments/product-little.generated.js +2 -6
  64. package/dist/cjs/graphql/fragments/product-option-value.generated.js +2 -6
  65. package/dist/cjs/graphql/fragments/product-option.generated.js +2 -6
  66. package/dist/cjs/graphql/fragments/product.generated.js +2 -6
  67. package/dist/cjs/graphql/fragments/published-custom-section.generated.js +2 -6
  68. package/dist/cjs/graphql/fragments/published-page-section.generated.js +2 -6
  69. package/dist/cjs/graphql/fragments/published-theme-page.generated.js +4 -18
  70. package/dist/cjs/graphql/fragments/published-theme-style.generated.js +2 -6
  71. package/dist/cjs/graphql/fragments/selected-option.generated.js +2 -6
  72. package/dist/cjs/graphql/fragments/variant.generated.js +2 -6
  73. package/dist/cjs/graphql/mutations/page-view-up.generated.js +2 -6
  74. package/dist/cjs/graphql/queries/articles.generated.js +2 -6
  75. package/dist/cjs/graphql/queries/blogs.generated.js +3 -6
  76. package/dist/cjs/graphql/queries/collection-detail-filter.generated.js +2 -16
  77. package/dist/cjs/graphql/queries/collection.generated.js +2 -14
  78. package/dist/cjs/graphql/queries/collections.generated.js +2 -9
  79. package/dist/cjs/graphql/queries/preview-page.generated.js +2 -12
  80. package/dist/cjs/graphql/queries/product-little-detail.generated.js +2 -11
  81. package/dist/cjs/graphql/queries/product-medias.generated.js +2 -8
  82. package/dist/cjs/graphql/queries/product-value-label.generated.js +2 -6
  83. package/dist/cjs/graphql/queries/product-variants.generated.js +3 -11
  84. package/dist/cjs/graphql/queries/products.generated.js +3 -17
  85. package/dist/cjs/graphql/queries/{published-shop-metas.js → published-shop-metas.generated.js} +2 -6
  86. package/dist/cjs/graphql/queries/published-theme-pages.generated.js +3 -19
  87. package/dist/cjs/graphql/queries/shop-shopify.generated.js +2 -6
  88. package/dist/cjs/graphql/queries/store-property.generated.js +2 -6
  89. package/dist/cjs/graphql-app-api/queries/LibrarySaleFunnelDiscount.generated.js +2 -6
  90. package/dist/cjs/graphql-app-api/queries/LibraryTemplate.generated.js +2 -6
  91. package/dist/cjs/graphql-app-api/queries/SaleFunnelDiscounts.generated.js +2 -6
  92. package/dist/cjs/graphql-app-api/queries/SaleFunnelOffer.generated.js +2 -6
  93. package/dist/cjs/graphql-app-api/queries/ShopLibraryPage.generated.js +2 -6
  94. package/dist/cjs/graphql-app-api/queries/ThemePage.generated.js +2 -6
  95. package/dist/cjs/helpers/GlobalEvent.js +1 -19
  96. package/dist/cjs/helpers/align.js +1 -37
  97. package/dist/cjs/helpers/animations.js +1 -222
  98. package/dist/cjs/helpers/background.js +1 -236
  99. package/dist/cjs/helpers/backgroundImage.js +1 -0
  100. package/dist/cjs/helpers/borders.js +4 -198
  101. package/dist/cjs/helpers/carousel.js +1 -55
  102. package/dist/cjs/helpers/clone-deep.js +1 -5
  103. package/dist/cjs/helpers/cls.js +1 -16
  104. package/dist/cjs/helpers/colors.js +1 -184
  105. package/dist/cjs/helpers/compose-advance-style.js +1 -323
  106. package/dist/cjs/helpers/composeClasses.js +1 -0
  107. package/dist/cjs/helpers/const.js +1 -0
  108. package/dist/cjs/helpers/constant.js +1 -23
  109. package/dist/cjs/helpers/convert.js +1 -7
  110. package/dist/cjs/helpers/covert-entities-html.js +1 -19
  111. package/dist/cjs/helpers/css-variable.js +1 -7
  112. package/dist/cjs/helpers/email.js +1 -11
  113. package/dist/cjs/helpers/filter-styles.js +1 -0
  114. package/dist/cjs/helpers/filter-toolbar-preview.js +2 -14
  115. package/dist/cjs/helpers/flatten-connection.js +1 -9
  116. package/dist/cjs/helpers/get-resonsive-value.js +1 -36
  117. package/dist/cjs/helpers/get-shortname.js +1 -92
  118. package/dist/cjs/helpers/icon-list.js +1 -61
  119. package/dist/cjs/helpers/interaction/index.js +2 -134
  120. package/dist/cjs/helpers/is-browser.js +1 -9
  121. package/dist/cjs/helpers/is-defined.js +1 -7
  122. package/dist/cjs/helpers/is-empty-children.js +2 -15
  123. package/dist/cjs/helpers/is-safari.js +1 -9
  124. package/dist/cjs/helpers/layout.js +1 -76
  125. package/dist/cjs/helpers/load-script.js +1 -31
  126. package/dist/cjs/helpers/loop-component.js +1 -16
  127. package/dist/cjs/helpers/make-style.js +1 -163
  128. package/dist/cjs/helpers/normalize-builder-data.js +1 -23
  129. package/dist/cjs/helpers/pascal-to-kebab-case.js +1 -7
  130. package/dist/cjs/helpers/prefetch-queries.js +1 -78
  131. package/dist/cjs/helpers/product.js +1 -48
  132. package/dist/cjs/helpers/queries/get-collection.js +1 -226
  133. package/dist/cjs/helpers/queries/get-collections.js +1 -21
  134. package/dist/cjs/helpers/queries/get-product-by-slug.js +1 -125
  135. package/dist/cjs/helpers/queries/get-product.js +1 -154
  136. package/dist/cjs/helpers/queries/get-products.js +1 -214
  137. package/dist/cjs/helpers/query.js +1 -29
  138. package/dist/cjs/helpers/radius.js +6 -140
  139. package/dist/cjs/helpers/render.js +1 -91
  140. package/dist/cjs/helpers/shadow.js +1 -69
  141. package/dist/cjs/helpers/size.js +4 -228
  142. package/dist/cjs/helpers/spacing.js +1 -43
  143. package/dist/cjs/helpers/third-party/addAppBlockId.js +1 -20
  144. package/dist/cjs/helpers/third-party/appConfig.js +1 -416
  145. package/dist/cjs/helpers/third-party/appSetting.js +1 -1324
  146. package/dist/cjs/helpers/third-party/composeAppBlockId.js +1 -11
  147. package/dist/cjs/helpers/third-party/constant.js +1 -69
  148. package/dist/cjs/helpers/third-party/generateAppBlockConfigs.js +1 -34
  149. package/dist/cjs/helpers/third-party/getAppBlockConfig.js +1 -55
  150. package/dist/cjs/helpers/third-party/getAppBlockType.js +1 -12
  151. package/dist/cjs/helpers/third-party/getAppBlocks.js +1 -30
  152. package/dist/cjs/helpers/third-party/mergeBlock.js +1 -19
  153. package/dist/cjs/helpers/third-party/mergeBlockOrder.js +1 -47
  154. package/dist/cjs/helpers/third-party/removeGPAppItems.js +1 -18
  155. package/dist/cjs/helpers/tracking/fpixel.js +1 -28
  156. package/dist/cjs/helpers/tracking/gtag.js +1 -93
  157. package/dist/cjs/helpers/tracking/tiktokpixel.js +1 -17
  158. package/dist/cjs/helpers/typography.js +19 -160
  159. package/dist/cjs/helpers/variant.js +1 -11
  160. package/dist/cjs/hooks/animation/useAnimationActions.js +2 -39
  161. package/dist/cjs/hooks/animation/useAnimationConfig.js +2 -30
  162. package/dist/cjs/hooks/animation/useAnimationPreview.js +2 -31
  163. package/dist/cjs/hooks/animation/useAnimationTarget.js +2 -122
  164. package/dist/cjs/hooks/animation/useApplyAnimation.js +2 -89
  165. package/dist/cjs/hooks/articles/useArticlesQuery.js +2 -33
  166. package/dist/cjs/hooks/cart/use-add-to-cart.js +2 -20
  167. package/dist/cjs/hooks/cart/use-cart-data.js +2 -28
  168. package/dist/cjs/hooks/cart/use-cart-discount-codes-update.js +2 -20
  169. package/dist/cjs/hooks/cart/use-cart-note-update.js +2 -20
  170. package/dist/cjs/hooks/cart/use-create-cart.js +2 -22
  171. package/dist/cjs/hooks/cart/use-remove-cart-item.js +2 -20
  172. package/dist/cjs/hooks/cart/use-update-cart-item.js +2 -20
  173. package/dist/cjs/hooks/shop/use-collection-query.js +2 -22
  174. package/dist/cjs/hooks/shop/use-collections-query.js +2 -17
  175. package/dist/cjs/hooks/shop/use-product-query.js +2 -22
  176. package/dist/cjs/hooks/shop/use-products-query.js +2 -63
  177. package/dist/cjs/hooks/shop/useShopifyLink.js +2 -0
  178. package/dist/cjs/hooks/shop.js +2 -135
  179. package/dist/cjs/hooks/use-current-device.js +2 -30
  180. package/dist/cjs/hooks/use-lazy-video.js +2 -15
  181. package/dist/cjs/hooks/useAnimations.js +2 -29
  182. package/dist/cjs/hooks/useCartId.js +2 -44
  183. package/dist/cjs/hooks/useCartLine.js +2 -11
  184. package/dist/cjs/hooks/useCartUI.js +2 -48
  185. package/dist/cjs/hooks/useCollection.js +2 -9
  186. package/dist/cjs/hooks/useFetchHandle.js +2 -13
  187. package/dist/cjs/hooks/useFormatMoney.js +2 -75
  188. package/dist/cjs/hooks/useI18n.js +2 -0
  189. package/dist/cjs/hooks/useInitialSwatchesOptions.js +2 -127
  190. package/dist/cjs/hooks/useInteraction.js +2 -19
  191. package/dist/cjs/hooks/useIsomorphicLayoutEffect.js +2 -10
  192. package/dist/cjs/hooks/useLoadScript.js +2 -32
  193. package/dist/cjs/hooks/useMoney.js +2 -84
  194. package/dist/cjs/hooks/usePrevious.js +2 -19
  195. package/dist/cjs/hooks/useProduct.js +2 -250
  196. package/dist/cjs/hooks/useProductList.js +2 -21
  197. package/dist/cjs/hooks/useStickyStore.js +1 -0
  198. package/dist/cjs/hooks/useSuspenseFetch.js +2 -27
  199. package/dist/cjs/hooks/useSwatchesOptions.js +2 -41
  200. package/dist/cjs/hooks/useToolbarPostPurchase.js +2 -89
  201. package/dist/cjs/index.js +1 -425
  202. package/dist/cjs/types/animations.js +1 -49
  203. package/dist/cjs/types/appAPI.js +1 -2
  204. package/dist/cjs/types/custom.js +1 -52
  205. package/dist/cjs/types/global-style.js +1 -15
  206. package/dist/cjs/types/shop.js +1 -2
  207. package/dist/esm/components/AddOn.js +2 -14
  208. package/dist/esm/components/ComponentAnimation.js +2 -13
  209. package/dist/esm/components/ComponentToolbarPreview.js +2 -748
  210. package/dist/esm/components/ComponentWrapper.js +2 -57
  211. package/dist/esm/components/ComponentWrapperPreview.js +2 -209
  212. package/dist/esm/components/Empty.js +2 -3
  213. package/dist/esm/components/InteractionSuffix.js +2 -40
  214. package/dist/esm/components/Render.js +2 -71
  215. package/dist/esm/components/Render.liquid.js +16 -301
  216. package/dist/esm/components/RenderBlock.js +2 -50
  217. package/dist/esm/components/RenderCustomCode.js +4 -55
  218. package/dist/esm/components/RenderPreview.js +2 -63
  219. package/dist/esm/components/RenderSection.js +2 -19
  220. package/dist/esm/components/ai-generator/AIContentGenerator.js +2 -250
  221. package/dist/esm/components/ai-generator/AIGenContentLoading.js +2 -83
  222. package/dist/esm/components/ai-generator/components/PickProduct.js +2 -218
  223. package/dist/esm/components/ai-generator/components/ToneAndVoice.js +2 -75
  224. package/dist/esm/components/ai-generator/hooks/useCheckingProductInside.js +1 -45
  225. package/dist/esm/components/ai-generator/hooks/useFlipPopup.js +1 -108
  226. package/dist/esm/components/ai-generator/hooks/useGettingGenerateRequest.js +1 -35
  227. package/dist/esm/components/ai-generator/hooks/useListenEventGenerate.js +1 -68
  228. package/dist/esm/components/ai-generator/icons/AIIcon.js +2 -65
  229. package/dist/esm/components/ai-generator/icons/CloseIcon.js +2 -17
  230. package/dist/esm/components/ai-generator/icons/DropdownIcon.js +2 -34
  231. package/dist/esm/components/ai-generator/icons/SearchIcon.js +2 -19
  232. package/dist/esm/components/ai-generator/icons/ShowMoreIcon.js +2 -19
  233. package/dist/esm/components/ai-generator/icons/UpgradeIcon.js +2 -25
  234. package/dist/esm/components/ai-generator/icons/WarningIcon.js +2 -29
  235. package/dist/esm/components/constant.js +1 -75
  236. package/dist/esm/components/resize/Resize.js +2 -12
  237. package/dist/esm/components/resize/Spacing.js +2 -256
  238. package/dist/esm/components/src/product/helpers/variant-presets.js +1 -54
  239. package/dist/esm/components/theme-section/CreateThemeSection.js +2 -121
  240. package/dist/esm/components/theme-section/ThemeSectionStatus.js +2 -43
  241. package/dist/esm/components/theme-section/ThemeSectionTooltip.js +2 -124
  242. package/dist/esm/components/toolbar/Tooltip.js +2 -24
  243. package/dist/esm/constants/device.js +1 -0
  244. package/dist/esm/contexts/AddonContext.js +2 -32
  245. package/dist/esm/contexts/ArticleContext.js +2 -36
  246. package/dist/esm/contexts/ArticleListContext.js +2 -27
  247. package/dist/esm/contexts/BuilderComponent.js +2 -31
  248. package/dist/esm/contexts/BuilderContext.js +2 -36
  249. package/dist/esm/contexts/BuilderPreviewContext.js +2 -479
  250. package/dist/esm/contexts/CartLineContext.js +2 -26
  251. package/dist/esm/contexts/CollectionContext.js +2 -35
  252. package/dist/esm/contexts/I18nContext.js +2 -0
  253. package/dist/esm/contexts/ModalContext.js +2 -44
  254. package/dist/esm/contexts/PageContext.js +2 -108
  255. package/dist/esm/contexts/ProductContext.js +2 -179
  256. package/dist/esm/contexts/ProductListContext.js +2 -28
  257. package/dist/esm/contexts/SectionContext.js +2 -49
  258. package/dist/esm/contexts/ShopContext.js +2 -104
  259. package/dist/esm/graphql/fragments/analytic.generated.js +2 -4
  260. package/dist/esm/graphql/fragments/collection-detail.generated.js +2 -4
  261. package/dist/esm/graphql/fragments/collection-product.generated.js +2 -4
  262. package/dist/esm/graphql/fragments/collection.generated.js +2 -4
  263. package/dist/esm/graphql/fragments/custom-code.generated.js +2 -4
  264. package/dist/esm/graphql/fragments/custom-font.generated.js +7 -5
  265. package/dist/esm/graphql/fragments/data-seo.generated.js +2 -4
  266. package/dist/esm/graphql/fragments/media.generated.js +2 -4
  267. package/dist/esm/graphql/fragments/preview-theme-page.generated.js +6 -4
  268. package/dist/esm/graphql/fragments/product-little.generated.js +2 -4
  269. package/dist/esm/graphql/fragments/product-option-value.generated.js +2 -4
  270. package/dist/esm/graphql/fragments/product-option.generated.js +2 -4
  271. package/dist/esm/graphql/fragments/product.generated.js +2 -4
  272. package/dist/esm/graphql/fragments/published-custom-section.generated.js +2 -4
  273. package/dist/esm/graphql/fragments/published-page-section.generated.js +2 -4
  274. package/dist/esm/graphql/fragments/published-theme-page.generated.js +4 -16
  275. package/dist/esm/graphql/fragments/published-theme-style.generated.js +2 -4
  276. package/dist/esm/graphql/fragments/selected-option.generated.js +2 -4
  277. package/dist/esm/graphql/fragments/variant.generated.js +2 -4
  278. package/dist/esm/graphql/mutations/page-view-up.generated.js +2 -4
  279. package/dist/esm/graphql/queries/articles.generated.js +2 -4
  280. package/dist/esm/graphql/queries/blogs.generated.js +3 -4
  281. package/dist/esm/graphql/queries/collection-detail-filter.generated.js +10 -22
  282. package/dist/esm/graphql/queries/collection.generated.js +8 -18
  283. package/dist/esm/graphql/queries/collections.generated.js +3 -8
  284. package/dist/esm/graphql/queries/preview-page.generated.js +6 -14
  285. package/dist/esm/graphql/queries/product-little-detail.generated.js +5 -12
  286. package/dist/esm/graphql/queries/product-medias.generated.js +2 -6
  287. package/dist/esm/graphql/queries/product-value-label.generated.js +2 -4
  288. package/dist/esm/graphql/queries/product-variants.generated.js +5 -11
  289. package/dist/esm/graphql/queries/products.generated.js +9 -20
  290. package/dist/esm/graphql/queries/{published-shop-metas.js → published-shop-metas.generated.js} +2 -4
  291. package/dist/esm/graphql/queries/published-theme-pages.generated.js +6 -20
  292. package/dist/esm/graphql/queries/shop-shopify.generated.js +2 -4
  293. package/dist/esm/graphql/queries/store-property.generated.js +2 -4
  294. package/dist/esm/graphql-app-api/queries/LibrarySaleFunnelDiscount.generated.js +2 -4
  295. package/dist/esm/graphql-app-api/queries/LibraryTemplate.generated.js +2 -4
  296. package/dist/esm/graphql-app-api/queries/SaleFunnelDiscounts.generated.js +2 -4
  297. package/dist/esm/graphql-app-api/queries/SaleFunnelOffer.generated.js +2 -4
  298. package/dist/esm/graphql-app-api/queries/ShopLibraryPage.generated.js +2 -4
  299. package/dist/esm/graphql-app-api/queries/ThemePage.generated.js +2 -4
  300. package/dist/esm/helpers/GlobalEvent.js +1 -15
  301. package/dist/esm/helpers/align.js +1 -34
  302. package/dist/esm/helpers/animations.js +1 -220
  303. package/dist/esm/helpers/background.js +1 -227
  304. package/dist/esm/helpers/backgroundImage.js +1 -0
  305. package/dist/esm/helpers/borders.js +4 -189
  306. package/dist/esm/helpers/carousel.js +1 -51
  307. package/dist/esm/helpers/clone-deep.js +1 -3
  308. package/dist/esm/helpers/cls.js +1 -14
  309. package/dist/esm/helpers/colors.js +1 -169
  310. package/dist/esm/helpers/compose-advance-style.js +1 -315
  311. package/dist/esm/helpers/composeClasses.js +1 -0
  312. package/dist/esm/helpers/const.js +1 -0
  313. package/dist/esm/helpers/constant.js +1 -19
  314. package/dist/esm/helpers/convert.js +1 -4
  315. package/dist/esm/helpers/covert-entities-html.js +1 -17
  316. package/dist/esm/helpers/css-variable.js +1 -5
  317. package/dist/esm/helpers/email.js +1 -6
  318. package/dist/esm/helpers/filter-styles.js +1 -0
  319. package/dist/esm/helpers/filter-toolbar-preview.js +2 -9
  320. package/dist/esm/helpers/flatten-connection.js +1 -7
  321. package/dist/esm/helpers/get-resonsive-value.js +1 -31
  322. package/dist/esm/helpers/get-shortname.js +1 -90
  323. package/dist/esm/helpers/icon-list.js +1 -58
  324. package/dist/esm/helpers/interaction/index.js +2 -132
  325. package/dist/esm/helpers/is-browser.js +1 -5
  326. package/dist/esm/helpers/is-defined.js +1 -5
  327. package/dist/esm/helpers/is-empty-children.js +2 -10
  328. package/dist/esm/helpers/is-safari.js +1 -5
  329. package/dist/esm/helpers/layout.js +1 -70
  330. package/dist/esm/helpers/load-script.js +1 -29
  331. package/dist/esm/helpers/loop-component.js +1 -14
  332. package/dist/esm/helpers/make-style.js +1 -149
  333. package/dist/esm/helpers/normalize-builder-data.js +1 -21
  334. package/dist/esm/helpers/pascal-to-kebab-case.js +1 -5
  335. package/dist/esm/helpers/prefetch-queries.js +1 -76
  336. package/dist/esm/helpers/product.js +1 -44
  337. package/dist/esm/helpers/queries/get-collection.js +1 -223
  338. package/dist/esm/helpers/queries/get-collections.js +1 -19
  339. package/dist/esm/helpers/queries/get-product-by-slug.js +1 -123
  340. package/dist/esm/helpers/queries/get-product.js +1 -150
  341. package/dist/esm/helpers/queries/get-products.js +1 -210
  342. package/dist/esm/helpers/query.js +1 -25
  343. package/dist/esm/helpers/radius.js +6 -132
  344. package/dist/esm/helpers/render.js +1 -82
  345. package/dist/esm/helpers/shadow.js +1 -63
  346. package/dist/esm/helpers/size.js +4 -213
  347. package/dist/esm/helpers/spacing.js +1 -40
  348. package/dist/esm/helpers/third-party/addAppBlockId.js +1 -18
  349. package/dist/esm/helpers/third-party/appConfig.js +1 -356
  350. package/dist/esm/helpers/third-party/appSetting.js +1 -1321
  351. package/dist/esm/helpers/third-party/composeAppBlockId.js +1 -9
  352. package/dist/esm/helpers/third-party/constant.js +1 -66
  353. package/dist/esm/helpers/third-party/generateAppBlockConfigs.js +1 -32
  354. package/dist/esm/helpers/third-party/getAppBlockConfig.js +1 -53
  355. package/dist/esm/helpers/third-party/getAppBlockType.js +1 -10
  356. package/dist/esm/helpers/third-party/getAppBlocks.js +1 -28
  357. package/dist/esm/helpers/third-party/mergeBlock.js +1 -17
  358. package/dist/esm/helpers/third-party/mergeBlockOrder.js +1 -45
  359. package/dist/esm/helpers/third-party/removeGPAppItems.js +1 -15
  360. package/dist/esm/helpers/tracking/fpixel.js +1 -24
  361. package/dist/esm/helpers/tracking/gtag.js +1 -87
  362. package/dist/esm/helpers/tracking/tiktokpixel.js +1 -15
  363. package/dist/esm/helpers/typography.js +19 -149
  364. package/dist/esm/helpers/variant.js +1 -9
  365. package/dist/esm/hooks/animation/useAnimationActions.js +2 -37
  366. package/dist/esm/hooks/animation/useAnimationConfig.js +2 -28
  367. package/dist/esm/hooks/animation/useAnimationPreview.js +2 -29
  368. package/dist/esm/hooks/animation/useAnimationTarget.js +2 -120
  369. package/dist/esm/hooks/animation/useApplyAnimation.js +2 -85
  370. package/dist/esm/hooks/articles/useArticlesQuery.js +2 -30
  371. package/dist/esm/hooks/cart/use-add-to-cart.js +2 -18
  372. package/dist/esm/hooks/cart/use-cart-data.js +2 -26
  373. package/dist/esm/hooks/cart/use-cart-discount-codes-update.js +2 -18
  374. package/dist/esm/hooks/cart/use-cart-note-update.js +2 -18
  375. package/dist/esm/hooks/cart/use-create-cart.js +2 -20
  376. package/dist/esm/hooks/cart/use-remove-cart-item.js +2 -18
  377. package/dist/esm/hooks/cart/use-update-cart-item.js +2 -18
  378. package/dist/esm/hooks/shop/use-collection-query.js +2 -20
  379. package/dist/esm/hooks/shop/use-collections-query.js +2 -15
  380. package/dist/esm/hooks/shop/use-product-query.js +2 -20
  381. package/dist/esm/hooks/shop/use-products-query.js +2 -59
  382. package/dist/esm/hooks/shop/useShopifyLink.js +2 -0
  383. package/dist/esm/hooks/shop.js +2 -119
  384. package/dist/esm/hooks/use-current-device.js +2 -28
  385. package/dist/esm/hooks/use-lazy-video.js +2 -13
  386. package/dist/esm/hooks/useAnimations.js +2 -27
  387. package/dist/esm/hooks/useCartId.js +2 -40
  388. package/dist/esm/hooks/useCartLine.js +2 -7
  389. package/dist/esm/hooks/useCartUI.js +2 -44
  390. package/dist/esm/hooks/useCollection.js +2 -7
  391. package/dist/esm/hooks/useFetchHandle.js +2 -11
  392. package/dist/esm/hooks/useFormatMoney.js +2 -71
  393. package/dist/esm/hooks/useI18n.js +2 -0
  394. package/dist/esm/hooks/useInitialSwatchesOptions.js +2 -123
  395. package/dist/esm/hooks/useInteraction.js +2 -17
  396. package/dist/esm/hooks/useIsomorphicLayoutEffect.js +2 -6
  397. package/dist/esm/hooks/useLoadScript.js +2 -28
  398. package/dist/esm/hooks/useMoney.js +2 -80
  399. package/dist/esm/hooks/usePrevious.js +2 -17
  400. package/dist/esm/hooks/useProduct.js +2 -233
  401. package/dist/esm/hooks/useProductList.js +2 -16
  402. package/dist/esm/hooks/useStickyStore.js +1 -0
  403. package/dist/esm/hooks/useSuspenseFetch.js +2 -23
  404. package/dist/esm/hooks/useSwatchesOptions.js +2 -37
  405. package/dist/esm/hooks/useToolbarPostPurchase.js +2 -87
  406. package/dist/esm/index.js +1 -119
  407. package/dist/esm/types/animations.js +1 -49
  408. package/dist/esm/types/custom.js +1 -52
  409. package/dist/esm/types/global-style.js +1 -12
  410. package/dist/types/index.d.ts +12025 -8969
  411. package/package.json +6 -6
  412. package/dist/cjs/web-components/src/helpers/styles/constant.js +0 -9
  413. package/dist/esm/web-components/src/helpers/styles/constant.js +0 -7
@@ -1,479 +1,2 @@
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, pageName, isThemeSectionEditor)=>createStore((set, get)=>({
30
- state: args,
31
- loaded: false,
32
- isThemeSectionEditor: !!isThemeSectionEditor,
33
- pageName: pageName,
34
- dynamicProduct: null,
35
- dynamicCollection: null,
36
- addItem: (args)=>{
37
- const { position, data } = args;
38
- const state = get().state;
39
- const dateModified = Date.now();
40
- if (args.type === 'section') {
41
- if (!Array.isArray(data)) {
42
- const sectionId = data.uid;
43
- // Section only add to ROOT
44
- const ROOT = state.ROOT;
45
- if (!ROOT.childrens) {
46
- ROOT.childrens = [
47
- sectionId
48
- ];
49
- } else {
50
- ROOT.childrens.splice(position ?? 0, 0, sectionId);
51
- }
52
- ROOT.dateModified = dateModified;
53
- set({
54
- state: {
55
- ...state,
56
- [sectionId]: {
57
- uid: sectionId,
58
- type: 'section',
59
- label: data.label
60
- },
61
- ROOT: cloneDeep(ROOT)
62
- }
63
- });
64
- }
65
- } else {
66
- const { id, data } = args;
67
- const parent = id ? state[id] ?? state.ROOT : state.ROOT;
68
- // Can't add item to section
69
- if (parent.type === 'section') return;
70
- if (Array.isArray(data)) {
71
- const childrens = data.map((v)=>v.uid);
72
- const newState = data.reduceRight((prev, current)=>{
73
- const item = normalizeBuilderData(current);
74
- return {
75
- ...prev,
76
- ...item
77
- };
78
- }, {});
79
- parent.dateModified = dateModified;
80
- parent.childrens = parent.childrens ?? [];
81
- parent.childrens.splice(position ?? 0, 0, ...childrens);
82
- set({
83
- state: {
84
- ...state,
85
- ...newState,
86
- [parent.uid]: cloneDeep(parent)
87
- }
88
- });
89
- } else {
90
- const item = normalizeBuilderData(data);
91
- parent.dateModified = dateModified;
92
- parent.childrens = parent.childrens ?? [];
93
- parent.childrens.splice(position ?? 0, 0, data.uid);
94
- set({
95
- state: {
96
- ...state,
97
- ...item,
98
- [parent.uid]: cloneDeep(parent)
99
- }
100
- });
101
- }
102
- }
103
- },
104
- changeItemProp: (id, data, group)=>{
105
- if (!group || ![
106
- 'setting',
107
- 'style',
108
- 'advanced'
109
- ].includes(group)) return;
110
- const state = get().state;
111
- const item = state[id];
112
- // Ignore section
113
- if (item?.type === 'section') return;
114
- if (item) {
115
- const dateModified = Date.now();
116
- item.dateModified = dateModified;
117
- switch(group){
118
- case 'setting':
119
- set({
120
- state: {
121
- ...state,
122
- [id]: {
123
- ...item,
124
- settings: {
125
- ...item.settings,
126
- ...data
127
- }
128
- }
129
- }
130
- });
131
- break;
132
- case 'style':
133
- set({
134
- state: {
135
- ...state,
136
- [id]: {
137
- ...item,
138
- styles: {
139
- ...item.styles,
140
- ...data
141
- }
142
- }
143
- }
144
- });
145
- break;
146
- case 'advanced':
147
- set({
148
- state: {
149
- ...state,
150
- [id]: {
151
- ...item,
152
- advanced: {
153
- ...item.advanced,
154
- ...data
155
- }
156
- }
157
- }
158
- });
159
- break;
160
- }
161
- }
162
- },
163
- forceChangeItemProp: (id, data, group)=>{
164
- if (!group || ![
165
- 'setting',
166
- 'style',
167
- 'advanced'
168
- ].includes(group)) return;
169
- const state = get().state;
170
- const item = state[id];
171
- // Ignore section
172
- if (item?.type === 'section') return;
173
- if (item) {
174
- const dateModified = Date.now();
175
- item.dateModified = dateModified;
176
- switch(group){
177
- case 'setting':
178
- set({
179
- state: {
180
- ...state,
181
- [id]: {
182
- ...item,
183
- settings: data
184
- }
185
- }
186
- });
187
- break;
188
- case 'style':
189
- set({
190
- state: {
191
- ...state,
192
- [id]: {
193
- ...item,
194
- styles: data
195
- }
196
- }
197
- });
198
- break;
199
- case 'advanced':
200
- set({
201
- state: {
202
- ...state,
203
- [id]: {
204
- ...item,
205
- advanced: data
206
- }
207
- }
208
- });
209
- break;
210
- }
211
- }
212
- },
213
- changeItemPropByKey: ({ id, key, data, group })=>{
214
- if (!group || ![
215
- 'setting',
216
- 'style',
217
- 'advanced'
218
- ].includes(group)) return;
219
- const state = get().state;
220
- const item = state[id];
221
- // Ignore section
222
- if (item?.type === 'section') return;
223
- if (item) {
224
- const itemSetting = {
225
- style: item.styles ?? {},
226
- advanced: item.advanced ?? {},
227
- setting: item.settings ?? {}
228
- };
229
- if (data === undefined) {
230
- console.warn('Data is undefined');
231
- delete itemSetting[group][key];
232
- } else {
233
- itemSetting[group][key] = data;
234
- }
235
- set({
236
- state: {
237
- ...state,
238
- [id]: {
239
- ...item,
240
- settings: {
241
- ...itemSetting.setting
242
- },
243
- styles: {
244
- ...itemSetting.style
245
- },
246
- advanced: {
247
- ...itemSetting.advanced
248
- }
249
- }
250
- }
251
- });
252
- }
253
- },
254
- getItem: (id)=>{
255
- return get().state[id];
256
- },
257
- removeItem: (id)=>{
258
- if (id === 'ROOT') {
259
- set({
260
- state: {
261
- ROOT: root
262
- }
263
- });
264
- } else {
265
- const state = get().state;
266
- removeByKey(id, state);
267
- // Get parent node by id
268
- const parent = Object.entries(state).find(([, value])=>value.type !== 'section' && value.childrens?.includes(id));
269
- if (parent) {
270
- const dateModified = Date.now();
271
- const [parentId, parentValue] = parent;
272
- if (parentValue.type === 'section') return;
273
- parentValue.childrens = parentValue.childrens?.filter((child)=>child !== id);
274
- parentValue.dateModified = dateModified;
275
- set({
276
- state: {
277
- ...state,
278
- [parentId]: cloneDeep(parentValue)
279
- }
280
- });
281
- }
282
- }
283
- },
284
- moveItem: (id, toId, position)=>{
285
- const state = get().state;
286
- const item = state[id];
287
- const moveTo = state[toId];
288
- // Ignore section
289
- if (!item || !moveTo || moveTo.type === 'section') return;
290
- if (item.type === 'section') {
291
- // Section only add to ROOT
292
- const ROOT = state.ROOT;
293
- if (!ROOT.childrens) return;
294
- const currentIndex = ROOT.childrens.findIndex((uid)=>uid === id);
295
- moveByIndex(ROOT.childrens, currentIndex, position ?? 0);
296
- set({
297
- state: {
298
- ...state,
299
- ROOT: cloneDeep(ROOT)
300
- }
301
- });
302
- } else {
303
- const parent = Object.entries(state).find(([, value])=>value.type !== 'section' && value.childrens?.includes(id));
304
- if (item && parent) {
305
- const dateModified = Date.now();
306
- const [, parentItem] = parent;
307
- // Ignore section
308
- if (parentItem.type === 'section') return;
309
- parentItem.dateModified = dateModified;
310
- if (toId === parentItem.uid && parentItem.childrens) {
311
- // Move item to the same parent
312
- const currentIndex = parentItem.childrens.findIndex((uid)=>uid === id);
313
- if (parentItem.childrens && currentIndex !== position) {
314
- moveByIndex(parentItem.childrens, currentIndex, position ?? 0);
315
- set({
316
- state: {
317
- ...state,
318
- [parentItem.uid]: cloneDeep(parentItem)
319
- }
320
- });
321
- }
322
- } else {
323
- // Move item to another parent
324
- // Remove item from parent node
325
- parentItem.childrens = parentItem.childrens?.filter((uid)=>uid !== id);
326
- if (moveTo) {
327
- moveTo.dateModified = dateModified;
328
- moveTo.childrens = moveTo.childrens ?? [];
329
- moveTo.childrens.splice(position ?? 0, 0, item.uid);
330
- set({
331
- state: {
332
- ...state,
333
- [moveTo.uid]: cloneDeep(moveTo),
334
- [parentItem.uid]: cloneDeep(parentItem)
335
- }
336
- });
337
- }
338
- }
339
- }
340
- }
341
- },
342
- forceChangeState: (data)=>{
343
- set({
344
- state: data,
345
- loaded: true
346
- });
347
- },
348
- initState: (data)=>{
349
- if (Array.isArray(data)) {
350
- const childrens = data.map((v)=>v.uid);
351
- const newState = data.reduceRight((prev, current)=>{
352
- const item = normalizeBuilderData(current);
353
- return {
354
- ...prev,
355
- ...item
356
- };
357
- }, {});
358
- set({
359
- loaded: true,
360
- state: {
361
- ROOT: {
362
- ...root,
363
- childrens
364
- },
365
- ...newState
366
- }
367
- });
368
- } else {
369
- const newState = normalizeBuilderData(data);
370
- set({
371
- loaded: true,
372
- state: {
373
- ROOT: {
374
- ...root,
375
- childrens: [
376
- data.uid
377
- ]
378
- },
379
- ...newState
380
- }
381
- });
382
- }
383
- },
384
- addSection: (data, position)=>{
385
- const state = get().state;
386
- const ROOT = state.ROOT;
387
- if (!ROOT.childrens) ROOT.childrens = [];
388
- ROOT.childrens.splice(position ?? 0, 0, data.uid);
389
- set({
390
- state: {
391
- ...state,
392
- ROOT: cloneDeep(ROOT)
393
- }
394
- });
395
- },
396
- getParents: (id, limit)=>{
397
- const state = get().state;
398
- const parents = [];
399
- let index = 0;
400
- let currentId = id;
401
- // eslint-disable-next-line no-constant-condition
402
- while(true){
403
- if (limit && index >= limit) break;
404
- const parent = Object.entries(state).find(([, value])=>value.type !== 'section' && value.childrens?.includes(currentId));
405
- if (!parent) break;
406
- const [, parentItem] = parent;
407
- if (!parentItem) break;
408
- parents.push(parentItem);
409
- currentId = parentItem.uid;
410
- index++;
411
- }
412
- return parents;
413
- },
414
- updateItemName: (id, name)=>{
415
- const state = get().state;
416
- const item = state[id];
417
- if (item) {
418
- item.name = name;
419
- set({
420
- state: {
421
- ...state,
422
- [id]: cloneDeep(item)
423
- }
424
- });
425
- }
426
- },
427
- updateItemAttribute: (id, value, attr)=>{
428
- if (!attr || ![
429
- 'label',
430
- 'customLabel',
431
- 'isShopifyVisibility'
432
- ].includes(attr)) return;
433
- const state = get().state;
434
- const item = state[id];
435
- if (item) {
436
- if (item.type !== 'section') {
437
- const dateModified = Date.now();
438
- item.dateModified = dateModified;
439
- }
440
- const updatedItem = {
441
- ...item,
442
- [attr]: value
443
- };
444
- set({
445
- state: {
446
- ...state,
447
- [id]: updatedItem
448
- }
449
- });
450
- }
451
- }
452
- }));
453
- const BuilderPreviewProvider = ({ children, state, isThemeSectionEditor, pageName, lazy, ...passProps })=>{
454
- const Component = lazy ? Suspense : Fragment;
455
- const value = useMemo(()=>{
456
- return createBuilderPreviewProvider(state, pageName, isThemeSectionEditor);
457
- }, [
458
- state,
459
- isThemeSectionEditor,
460
- pageName
461
- ]);
462
- return /*#__PURE__*/ jsx(Component, {
463
- children: /*#__PURE__*/ jsx(BuilderPreviewContext.Provider, {
464
- ...passProps,
465
- value: value,
466
- children: children
467
- })
468
- });
469
- };
470
- // export const useBuilderPreviewStore = useStore;
471
- const useBuilderPreviewStore = (selector, equalityFn)=>{
472
- const store = useContext(BuilderPreviewContext);
473
- if (!store) {
474
- throw new Error('useBuilderPreviewStore must be used within a BuilderPreviewProvider');
475
- }
476
- return useStore(store, selector, equalityFn);
477
- };
478
-
479
- export { BuilderPreviewProvider, useBuilderPreviewStore };
1
+ 'use client';
2
+ import{jsx as e}from"react/jsx-runtime";import{useMemo as t,useContext as i,createContext as s,Suspense as d,Fragment as r}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 s=e.splice(t,1)[0];void 0!==s&&e.splice(i,0,s)}function removeByKey(e,t){let i=t[e];i&&(delete t[e],"section"!==i.type&&i.childrens?.map(e=>removeByKey(e,t)))}let BuilderPreviewContext=s(null),root={uid:"ROOT",tag:"Root",label:"Root",childrens:[]},createBuilderPreviewProvider=(e,t,i)=>n((s,d)=>({state:e,loaded:!1,isThemeSectionEditor:!!i,pageName:t,dynamicProduct:null,dynamicCollection:null,addItem:e=>{let{position:t,data:i}=e,r=d().state,l=Date.now();if("section"===e.type){if(!Array.isArray(i)){let e=i.uid,d=r.ROOT;d.childrens?d.childrens.splice(t??0,0,e):d.childrens=[e],d.dateModified=l,s({state:{...r,[e]:{uid:e,type:"section",label:i.label},ROOT:a(d)}})}}else{let{id:i,data:d}=e,n=i?r[i]??r.ROOT:r.ROOT;if("section"===n.type)return;if(Array.isArray(d)){let e=d.map(e=>e.uid),i=d.reduceRight((e,t)=>{let i=c(t);return{...e,...i}},{});n.dateModified=l,n.childrens=n.childrens??[],n.childrens.splice(t??0,0,...e),s({state:{...r,...i,[n.uid]:a(n)}})}else{let e=c(d);n.dateModified=l,n.childrens=n.childrens??[],n.childrens.splice(t??0,0,d.uid),s({state:{...r,...e,[n.uid]:a(n)}})}}},changeItemProp:(e,t,i)=>{if(!i||!["setting","style","advanced"].includes(i))return;let r=d().state,l=r[e];if(l?.type!=="section"&&l){let d=Date.now();switch(l.dateModified=d,i){case"setting":s({state:{...r,[e]:{...l,settings:{...l.settings,...t}}}});break;case"style":s({state:{...r,[e]:{...l,styles:{...l.styles,...t}}}});break;case"advanced":s({state:{...r,[e]:{...l,advanced:{...l.advanced,...t}}}})}}},forceChangeItemProp:(e,t,i)=>{if(!i||!["setting","style","advanced"].includes(i))return;let r=d().state,l=r[e];if(l?.type!=="section"&&l){let d=Date.now();switch(l.dateModified=d,i){case"setting":s({state:{...r,[e]:{...l,settings:t}}});break;case"style":s({state:{...r,[e]:{...l,styles:t}}});break;case"advanced":s({state:{...r,[e]:{...l,advanced:t}}})}}},changeItemPropByKey:({id:e,key:t,data:i,group:r})=>{if(!r||!["setting","style","advanced"].includes(r))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===i?(console.warn("Data is undefined"),delete d[r][t]):d[r][t]=i,s({state:{...l,[e]:{...n,settings:{...d.setting},styles:{...d.style},advanced:{...d.advanced}}}})}},getItem:e=>d().state[e],getState:()=>d().state,removeItem:e=>{if("ROOT"===e)s({state:{ROOT:root}});else{let t=d().state;removeByKey(e,t);let i=Object.entries(t).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(i){let d=Date.now(),[r,l]=i;if("section"===l.type)return;l.childrens=l.childrens?.filter(t=>t!==e),l.dateModified=d,s({state:{...t,[r]:a(l)}})}}},moveItem:(e,t,i)=>{let r=d().state,l=r[e],n=r[t];if(l&&n&&"section"!==n.type){if("section"===l.type){let t=r.ROOT;if(!t.childrens)return;let d=t.childrens.findIndex(t=>t===e);moveByIndex(t.childrens,d,i??0),s({state:{...r,ROOT:a(t)}})}else{let d=Object.entries(r).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!==i&&(moveByIndex(o.childrens,t,i??0),s({state:{...r,[o.uid]:a(o)}}))}else o.childrens=o.childrens?.filter(t=>t!==e),n&&(n.dateModified=c,n.childrens=n.childrens??[],n.childrens.splice(i??0,0,l.uid),s({state:{...r,[n.uid]:a(n),[o.uid]:a(o)}}))}}}},forceChangeState:e=>{s({state:e,loaded:!0})},initState:e=>{if(Array.isArray(e)){let t=e.map(e=>e.uid),i=e.reduceRight((e,t)=>{let i=c(t);return{...e,...i}},{});s({loaded:!0,state:{ROOT:{...root,childrens:t},...i}})}else{let t=c(e);s({loaded:!0,state:{ROOT:{...root,childrens:[e.uid]},...t}})}},addSection:(e,t)=>{let i=d().state,r=i.ROOT;r.childrens||(r.childrens=[]),r.childrens.splice(t??0,0,e.uid),s({state:{...i,ROOT:a(r)}})},getParents:(e,t)=>{let i=d().state,s=[],r=0,l=e;for(;!t||!(r>=t);){let e=Object.entries(i).find(([,e])=>"section"!==e.type&&e.childrens?.includes(l));if(!e)break;let[,t]=e;if(!t)break;s.push(t),l=t.uid,r++}return s},updateItemName:(e,t)=>{let i=d().state,r=i[e];r&&(r.name=t,s({state:{...i,[e]:a(r)}}))},updateItemAttribute:(e,t,i)=>{if(!i||!["label","customLabel","isShopifyVisibility"].includes(i))return;let r=d().state,l=r[e];if(l){if("section"!==l.type){let e=Date.now();l.dateModified=e}let d={...l,[i]:t};s({state:{...r,[e]:d}})}}})),BuilderPreviewProvider=({children:i,state:s,isThemeSectionEditor:l,pageName:n,lazy:a,...c})=>{let o=a?d:r,u=t(()=>createBuilderPreviewProvider(s,n,l),[s,l,n]);return e(o,{children:e(BuilderPreviewContext.Provider,{...c,value:u,children:i})})},useBuilderPreviewStore=(e,t)=>{let s=i(BuilderPreviewContext);if(!s)throw Error("useBuilderPreviewStore must be used within a BuilderPreviewProvider");return l(s,e,t)};export{BuilderPreviewProvider,useBuilderPreviewStore};
@@ -1,26 +1,2 @@
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
+ 'use client';
2
+ 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,2 @@
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
+ 'use client';
2
+ 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};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{jsx as r,Fragment as e}from"react/jsx-runtime";import{useStore as t,createStore as o}from"zustand";import{useMemo as n,useContext as i,createContext as d}from"react";let I18nContext=d(null),createI18nStoreProvider=r=>o(()=>({...r})),I18nProvider=({children:t,t:o})=>{let i=n(()=>createI18nStoreProvider({t:o}),[o]);return r(I18nContext.Provider,{value:i,children:r(e,{children:t})})},useI18nStore=()=>{let r=i(I18nContext);if(!r)throw Error("useI18nStore must be used inside a I18nProvider");return t(r)};export{I18nProvider,useI18nStore};
@@ -1,44 +1,2 @@
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, postMessage)=>{
9
- postMessage && 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
+ 'use client';
2
+ 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,r)=>{r&&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};