@gem-sdk/core 3.0.0-pre-production.15 → 3.0.6

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 +2 -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 +2 -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,132 +1,2 @@
1
- import { useRef, useMemo, useCallback } from 'react';
2
- import 'react/jsx-runtime';
3
- import 'zustand';
4
- import { usePageStore } from '../../contexts/PageContext.js';
5
- import 'react-transition-group';
6
- import '@gem-sdk/core';
7
- import 'swr';
8
- import 'swr/infinite';
9
- import 'classnames';
10
- import 'dayjs';
11
- import '../convert.js';
12
- import '@gem-sdk/adapter-shopify';
13
- import 'swr/mutation';
14
- import 'vanilla-lazyload';
15
- import '../../hooks/useCartUI.js';
16
-
17
- const useInteraction = ()=>{
18
- const ref = useRef();
19
- const setInteractionIsSelectOnPage = usePageStore((s)=>s.setInteractionIsSelectOnPage);
20
- const sidebarMode = usePageStore((s)=>s.sidebarMode);
21
- const selectType = usePageStore((s)=>s.interactionData?.selectType);
22
- const interactionData = usePageStore((s)=>s.interactionData);
23
- function findElementIncludingSelf(element, selector) {
24
- if (!(element instanceof Document) && element?.matches(selector)) {
25
- return element;
26
- } else {
27
- return element?.querySelector(selector);
28
- }
29
- }
30
- const handleOnListener = (element, event, callback)=>{
31
- const eventListener = (e)=>{
32
- const customEvent = e;
33
- const params = customEvent.detail;
34
- if (callback) callback(params);
35
- };
36
- element.addEventListener(event, eventListener);
37
- return ()=>element.removeEventListener(event, eventListener);
38
- };
39
- const onListener = ({ event, selector, elementRef }, callback)=>{
40
- const element = findElementIncludingSelf(elementRef?.current || ref.current || document, selector);
41
- if (!element) return;
42
- return handleOnListener(element, event, callback);
43
- };
44
- const trigger = ({ event, data, selector, element: elementParam })=>{
45
- const element = elementParam || document.body?.querySelector(selector);
46
- if (!element) return;
47
- const eventDispatch = new CustomEvent(event, {
48
- bubbles: false,
49
- cancelable: true,
50
- detail: {
51
- data
52
- }
53
- });
54
- element.dispatchEvent(eventDispatch);
55
- };
56
- const saveToElementInteractionData = (element, key, value)=>{
57
- const interactionData = element.getAttribute('gp-data-interaction');
58
- const interactionDataJson = JSON.parse(interactionData || '{}');
59
- element.setAttribute('gp-data-interaction', JSON.stringify({
60
- ...interactionDataJson,
61
- [key]: value
62
- }));
63
- };
64
- const getInteractionPreviousData = (element, key)=>{
65
- const interactionData = element.getAttribute('gp-data-interaction');
66
- const interactionDataJson = JSON.parse(interactionData || '{}');
67
- return {
68
- previousData: interactionDataJson[key],
69
- interactionDataJson
70
- };
71
- };
72
- const closeSelectOnPage = ()=>{
73
- setInteractionIsSelectOnPage(false);
74
- const event = new CustomEvent('editor:interaction:change-select-on-page', {
75
- bubbles: true,
76
- detail: false
77
- });
78
- window.dispatchEvent(event);
79
- };
80
- const changeSelectMode = (mode)=>{
81
- const event = new CustomEvent('editor:interaction:change-select-mode', {
82
- bubbles: true,
83
- detail: mode
84
- });
85
- window.dispatchEvent(event);
86
- };
87
- const selectInteractionElement = ({ componentUid, settingType, $target })=>{
88
- const event = new CustomEvent('editor:interaction:select-element', {
89
- bubbles: true,
90
- detail: {
91
- componentUid,
92
- settingType,
93
- $target
94
- }
95
- });
96
- window.dispatchEvent(event);
97
- };
98
- const isInteractionMode = useMemo(()=>sidebarMode === 'interaction' && (!interactionData?.isSelectOnPage || selectType === 'PAGE'), [
99
- sidebarMode,
100
- interactionData?.isSelectOnPage,
101
- selectType
102
- ]);
103
- const isSelectOnPage = useMemo(()=>interactionData?.isSelectOnPage, [
104
- interactionData?.isSelectOnPage
105
- ]);
106
- const interactionListenerLoaded = useCallback((callback)=>{
107
- //@ts-ignore
108
- if (window.interactionLoaded) {
109
- callback();
110
- return;
111
- }
112
- window.addEventListener('gp:flow-actions-loaded', ()=>{
113
- callback();
114
- });
115
- }, []);
116
- return {
117
- onListener,
118
- trigger,
119
- saveToElementInteractionData,
120
- closeSelectOnPage,
121
- ref,
122
- findElementIncludingSelf,
123
- getInteractionPreviousData,
124
- changeSelectMode,
125
- selectInteractionElement,
126
- isInteractionMode,
127
- isSelectOnPage,
128
- interactionListenerLoaded
129
- };
130
- };
131
-
132
- export { useInteraction };
1
+ 'use client';
2
+ import{useRef as t,useMemo as e,useCallback as n}from"react";import"react/jsx-runtime";import"zustand";import{usePageStore as i}from"../../contexts/PageContext.js";import"react-transition-group";import"@gem-sdk/core";import"swr";import"swr/infinite";import"classnames";import"dayjs";import"../convert.js";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../hooks/useStickyStore.js";let useInteraction=()=>{let r=t(),o=i(t=>t.setInteractionIsSelectOnPage),a=i(t=>t.sidebarMode),s=i(t=>t.interactionData?.selectType),c=i(t=>t.interactionData);function l(t,e){return!(t instanceof Document)&&t?.matches(e)?t:t?.querySelector(e)}let d=(t,e,n)=>{let i=t=>{let e=t.detail;n&&n(e)};return t.addEventListener(e,i),()=>t.removeEventListener(e,i)},u=({event:t,selector:e,elementRef:n},i)=>{let o=l(n?.current||r.current||document,e);if(o)return d(o,t,i)},m=({event:t,data:e,selector:n,element:i})=>{let r=i||document.body?.querySelector(n);if(!r)return;let o=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:{data:e}});r.dispatchEvent(o)},p=(t,e,n)=>{if(!t)return;let i=t.getAttribute("gp-data-interaction"),r=JSON.parse(i||"{}");t.setAttribute("gp-data-interaction",JSON.stringify({...r,[e]:n}))},g=(t,e)=>{let n=t.getAttribute("gp-data-interaction"),i=JSON.parse(n||"{}");return{previousData:i[e],interactionDataJson:i}},b=()=>{o(!1);let t=new CustomEvent("editor:interaction:change-select-on-page",{bubbles:!0,detail:!1});window.dispatchEvent(t)},w=t=>{let e=new CustomEvent("editor:interaction:change-select-mode",{bubbles:!0,detail:t});window.dispatchEvent(e)},v=({componentUid:t,settingType:e,$target:n})=>{let i=new CustomEvent("editor:interaction:select-element",{bubbles:!0,detail:{componentUid:t,settingType:e,$target:n}});window.dispatchEvent(i)},f=e(()=>"interaction"===a&&(!c?.isSelectOnPage||"PAGE"===s),[a,c?.isSelectOnPage,s]),E=e(()=>c?.isSelectOnPage,[c?.isSelectOnPage]),S=n(t=>{if(window.interactionLoaded){t();return}window.addEventListener("gp:flow-actions-loaded",()=>{t()})},[]);return{onListener:u,trigger:m,saveToElementInteractionData:p,closeSelectOnPage:b,ref:r,findElementIncludingSelf:l,getInteractionPreviousData:g,changeSelectMode:w,selectInteractionElement:v,isInteractionMode:f,isSelectOnPage:E,interactionListenerLoaded:S}};export{useInteraction};
@@ -1,5 +1 @@
1
- function isBrowser() {
2
- return typeof window !== 'undefined';
3
- }
4
-
5
- export { isBrowser as default };
1
+ function isBrowser(){return"undefined"!=typeof window}export{isBrowser as default};
@@ -1,5 +1 @@
1
- function isDefined(argument) {
2
- return argument !== undefined;
3
- }
4
-
5
- export { isDefined };
1
+ function isDefined(e){return void 0!==e}export{isDefined};
@@ -1,10 +1,2 @@
1
- import { Children } from 'react';
2
- import ComponentToolbarPreview from '../components/ComponentToolbarPreview.js';
3
-
4
- const isEmptyChildren = (children)=>{
5
- let arrChild = Children.toArray(children);
6
- arrChild = arrChild.filter((child)=>child?.type != ComponentToolbarPreview);
7
- return Children.count(arrChild) < 1 || !children;
8
- };
9
-
10
- export { isEmptyChildren as default, isEmptyChildren };
1
+ 'use client';
2
+ import{Children as t}from"react";import r from"../components/ComponentToolbarPreview.js";let isEmptyChildren=e=>{let o=t.toArray(e);return o=o.filter(t=>t?.type!=r),1>t.count(o)||!e};export{isEmptyChildren as default,isEmptyChildren};
@@ -1,5 +1 @@
1
- function isSafari() {
2
- return navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1;
3
- }
4
-
5
- export { isSafari as default };
1
+ function isSafari(){return"undefined"!=typeof window&&!!window.navigator&&-1!==window.navigator.userAgent.indexOf("Safari")&&-1===window.navigator.userAgent.indexOf("Chrome")}export{isSafari as default};
@@ -1,70 +1 @@
1
- import { devicesMapping } from './constant.js';
2
- import { getResponsiveValueByScreen, getResponsiveValue } from './get-resonsive-value.js';
3
-
4
- const gridToArrayRegex = // eslint-disable-next-line regexp/no-super-linear-backtracking
5
- /[^\s()]+(?:\([^\s()]+(?:\([^()]+\))?(?:, *[^\s()]+(?:\([^()]+\))?)*\))?/g; // Regex convert css grid to array
6
- const optionLayoutStyle = (column)=>{
7
- if (!column) return {};
8
- const style = {};
9
- for (const [key, value] of Object.entries(column)){
10
- Object.assign(style, {
11
- [`--gtc${devicesMapping?.[key]}`]: `repeat(${parseFloat(value + '') || 1}, minmax(0, 1fr))`
12
- });
13
- }
14
- return style;
15
- };
16
- const composeGridLayout = (layout)=>{
17
- const display = getResponsiveValue(layout, 'display');
18
- const desktop = (getResponsiveValueByScreen(display, 'desktop') === 'fit' ? layout?.desktop?.cols?.map(()=>`minmax(0, auto)`) : layout?.desktop?.cols?.map((col)=>`minmax(0, ${col}fr)`))?.join(' ');
19
- const tablet = (getResponsiveValueByScreen(display, 'tablet') === 'fit' ? layout?.tablet?.cols?.map(()=>`minmax(0, auto)`) : layout?.tablet?.cols?.map((col)=>`minmax(0, ${col}fr)`))?.join(' ');
20
- const mobile = (getResponsiveValueByScreen(display, 'mobile') === 'fit' ? layout?.mobile?.cols?.map(()=>`minmax(0, auto)`) : layout?.mobile?.cols?.map((col)=>`minmax(0, ${col}fr)`))?.join(' ');
21
- return {
22
- [`--gtc`]: desktop,
23
- [`--gtc-tablet`]: tablet,
24
- [`--gtc-mobile`]: mobile
25
- };
26
- };
27
- const gridToArray = (layout)=>{
28
- return layout ? layout.match(gridToArrayRegex) ?? [] : [];
29
- };
30
- const convertOldLayout = (layout)=>{
31
- const desktopCol = gridToArray(layout?.desktop).length;
32
- const tabletCol = gridToArray(layout?.tablet).length;
33
- const mobileCol = gridToArray(layout?.mobile).length;
34
- return {
35
- desktop: {
36
- cols: desktopCol ? Array.from({
37
- length: desktopCol
38
- }, ()=>12 / desktopCol) : undefined,
39
- display: 'fill'
40
- },
41
- tablet: {
42
- cols: tabletCol ? Array.from({
43
- length: tabletCol
44
- }, ()=>12 / tabletCol) : undefined
45
- },
46
- mobile: {
47
- cols: mobileCol ? Array.from({
48
- length: mobileCol
49
- }, ()=>12 / mobileCol) : undefined
50
- }
51
- };
52
- };
53
- const getLayoutClasses = (layout)=>{
54
- const breakpoints = [
55
- 'desktop',
56
- 'tablet',
57
- 'mobile'
58
- ];
59
- return breakpoints.reduce((classes, bp)=>{
60
- const prefix = bp === 'desktop' ? '' : `${bp}:`;
61
- const layoutValue = layout?.[bp];
62
- if (layoutValue) {
63
- classes[`${prefix}gp-flex-col`] = layoutValue === 'vertical';
64
- classes[`${prefix}gp-flex-row`] = layoutValue === 'horizontal';
65
- }
66
- return classes;
67
- }, {});
68
- };
69
-
70
- export { composeGridLayout, convertOldLayout, getLayoutClasses, gridToArrayRegex, optionLayoutStyle };
1
+ import{DEVICES as t}from"../constants/device.js";import{devicesMapping as o}from"./constant.js";import{getResponsiveValueByScreen as e,getResponsiveValue as r}from"./get-resonsive-value.js";let gridToArrayRegex=/[^\s()]+(?:\([^\s()]+(?:\([^()]+\))?(?:, *[^\s()]+(?:\([^()]+\))?)*\))?/g,optionLayoutStyle=t=>{if(!t)return{};let e={};for(let[r,a]of Object.entries(t))Object.assign(e,{[`--gtc${o?.[r]}`]:`repeat(${parseFloat(a+"")||1}, minmax(0, 1fr))`});return e},composeGridLayout=t=>{let o=r(t,"display"),a=("fit"===e(o,"desktop")?t?.desktop?.cols?.map(()=>"minmax(0, auto)"):t?.desktop?.cols?.map(t=>`minmax(0, ${t}fr)`))?.join(" "),l=("fit"===e(o,"tablet")?t?.tablet?.cols?.map(()=>"minmax(0, auto)"):t?.tablet?.cols?.map(t=>`minmax(0, ${t}fr)`))?.join(" "),i=("fit"===e(o,"mobile")?t?.mobile?.cols?.map(()=>"minmax(0, auto)"):t?.mobile?.cols?.map(t=>`minmax(0, ${t}fr)`))?.join(" ");return{"--gtc":a,"--gtc-tablet":l,"--gtc-mobile":i}},gridToArray=t=>t?t.match(gridToArrayRegex)??[]:[],convertOldLayout=t=>{let o=gridToArray(t?.desktop).length,e=gridToArray(t?.tablet).length,r=gridToArray(t?.mobile).length;return{desktop:{cols:o?Array.from({length:o},()=>12/o):void 0,display:"fill"},tablet:{cols:e?Array.from({length:e},()=>12/e):void 0},mobile:{cols:r?Array.from({length:r},()=>12/r):void 0}}},getLayoutClasses=o=>t.reduce((t,e)=>{let r="desktop"===e?"":`${e}:`,a=o?.[e];return a&&(t[`${r}gp-flex-col`]="vertical"===a,t[`${r}gp-flex-row`]="horizontal"===a),t},{});export{composeGridLayout,convertOldLayout,getLayoutClasses,gridToArrayRegex,optionLayoutStyle};
@@ -1,29 +1 @@
1
- const SCRIPTS_LOADED = {};
2
- function loadScript(src, options) {
3
- const isScriptLoaded = SCRIPTS_LOADED[src];
4
- if (isScriptLoaded) {
5
- return isScriptLoaded;
6
- }
7
- const promise = new Promise((resolve, reject)=>{
8
- const script = document.createElement('script');
9
- if (options?.module) {
10
- script.type = 'module';
11
- }
12
- script.src = src;
13
- script.onload = ()=>{
14
- resolve(true);
15
- };
16
- script.onerror = ()=>{
17
- reject(false);
18
- };
19
- if (options?.in === 'head') {
20
- document.head.appendChild(script);
21
- } else {
22
- document.body.appendChild(script);
23
- }
24
- });
25
- SCRIPTS_LOADED[src] = promise;
26
- return promise;
27
- }
28
-
29
- export { loadScript };
1
+ let SCRIPTS_LOADED={};function loadScript(e,t){let d=SCRIPTS_LOADED[e];if(d)return d;let o=new Promise((d,o)=>{let n=document.createElement("script");t?.module&&(n.type="module"),n.src=e,n.onload=()=>{d(!0)},n.onerror=()=>{o(!1)},t?.in==="head"?document.head.appendChild(n):document.body.appendChild(n)});return SCRIPTS_LOADED[e]=o,o}export{loadScript};
@@ -1,14 +1 @@
1
- function loopComponent(component, callback) {
2
- if (component) {
3
- callback(component);
4
- }
5
- if (component?.childrens?.length) {
6
- // eslint-disable-next-line
7
- for(let i = 0; i < component.childrens.length; i++){
8
- const children = component.childrens[i];
9
- loopComponent(children, callback);
10
- }
11
- }
12
- }
13
-
14
- export { loopComponent };
1
+ function loopComponent(o,n){if(o&&n(o),o?.childrens?.length)for(let e=0;e<o.childrens.length;e++){let l=o.childrens[e];loopComponent(l,n)}}export{loopComponent};
@@ -1,149 +1 @@
1
- import { getResponsiveValueByScreen } from './get-resonsive-value.js';
2
-
3
- const removeNullUndefined = (obj)=>Object.entries(obj).reduce((a, [k, v])=>{
4
- if (v === null || v === undefined) return a;
5
- return {
6
- ...a,
7
- [k]: v
8
- };
9
- }, {});
10
- const makeStyleKey = (name)=>{
11
- return [
12
- name,
13
- `hvr-${name}`,
14
- `focus-${name}`,
15
- `${name}-tablet`,
16
- `hvr-${name}-tablet`,
17
- `focus-${name}-tablet`,
18
- `${name}-mobile`,
19
- `hvr-${name}-mobile`,
20
- `focus-${name}-mobile`
21
- ].map((key)=>`--${key}`);
22
- };
23
- const makeStyle = (style)=>{
24
- return removeNullUndefined(Object.fromEntries(Object.entries(style).map(([key, value])=>[
25
- `--${key}`,
26
- value
27
- ])));
28
- };
29
- const makeStyleState = (name, value)=>{
30
- if (!value) return {};
31
- return {
32
- [`--${name}`]: value?.normal,
33
- [`--hvr-${name}`]: value?.hover,
34
- [`--focus-${name}`]: value?.focus
35
- };
36
- };
37
- const makeStyleResponsiveState = (name, value)=>{
38
- if (!value) return {};
39
- return {
40
- [`--${name}`]: value?.desktop?.normal,
41
- [`--hvr-${name}`]: value?.desktop?.hover,
42
- [`--focus-${name}`]: value?.desktop?.focus,
43
- [`--${name}-tablet`]: value?.tablet?.normal,
44
- [`--hvr-${name}-tablet`]: value?.tablet?.hover,
45
- [`--focus-${name}-tablet`]: value?.tablet?.focus,
46
- [`--${name}-mobile`]: value?.mobile?.normal,
47
- [`--hvr-${name}-mobile`]: value?.mobile?.hover,
48
- [`--focus-${name}-mobile`]: value?.mobile?.focus
49
- };
50
- };
51
- const makeStyleResponsive = (name, value, unit)=>{
52
- return {
53
- [`--${name}`]: unit ? `${value?.desktop}${unit}` : value?.desktop,
54
- [`--${name}-tablet`]: unit ? `${value?.tablet}${unit}` : value?.tablet,
55
- [`--${name}-mobile`]: unit ? `${value?.mobile}${unit}` : value?.mobile
56
- };
57
- };
58
- const makeStyleResponsiveByScreen = (name, value, unit)=>{
59
- return {
60
- [`--${name}`]: unit ? `${getResponsiveValueByScreen(value, 'desktop')}${unit}` : getResponsiveValueByScreen(value, 'desktop'),
61
- [`--${name}-tablet`]: unit ? `${getResponsiveValueByScreen(value, 'tablet')}${unit}` : getResponsiveValueByScreen(value, 'tablet'),
62
- [`--${name}-mobile`]: unit ? `${getResponsiveValueByScreen(value, 'mobile')}${unit}` : getResponsiveValueByScreen(value, 'mobile')
63
- };
64
- };
65
- const makeWidth = (widthValue, fullWidthValue)=>{
66
- const getVal = (deviceValue, widthValue, fullWidthValue)=>{
67
- const widthVal = getResponsiveValueByScreen(widthValue, deviceValue);
68
- const fullWidthVal = fullWidthValue?.[deviceValue] === undefined ? fullWidthValue?.['desktop'] : fullWidthValue?.[deviceValue];
69
- if (fullWidthVal) {
70
- return '100%';
71
- } else if (fullWidthVal === false) {
72
- return widthVal ?? widthVal;
73
- } else {
74
- return widthVal || 'auto';
75
- }
76
- };
77
- return {
78
- desktop: getVal('desktop', widthValue, fullWidthValue),
79
- tablet: getVal('tablet', widthValue, fullWidthValue),
80
- mobile: getVal('mobile', widthValue, fullWidthValue)
81
- };
82
- };
83
- const makeGlobalSizeWidthResponsive = (globalSize)=>{
84
- return {
85
- '--w': globalSize?.desktop?.width,
86
- '--w-tablet': globalSize?.tablet?.width,
87
- '--w-mobile': globalSize?.mobile?.width
88
- };
89
- };
90
- const makeGlobalSizeHeightResponsive = (globalSize)=>{
91
- return {
92
- '--h': globalSize?.desktop?.height,
93
- '--h-tablet': globalSize?.tablet?.height,
94
- '--h-mobile': globalSize?.mobile?.height
95
- };
96
- };
97
- const makeHeight = (heighValue, autoHeight)=>{
98
- const getVal = (deviceValue, heighValue, autoHeight)=>{
99
- const heightVal = heighValue?.[deviceValue];
100
- const isAuto = autoHeight?.[deviceValue];
101
- if (isAuto) {
102
- return 'auto';
103
- } else if (isAuto === false) {
104
- return heightVal ?? heightVal;
105
- } else {
106
- return heightVal;
107
- }
108
- };
109
- return {
110
- desktop: getVal('desktop', heighValue, autoHeight),
111
- tablet: getVal('tablet', heighValue, autoHeight),
112
- mobile: getVal('mobile', heighValue, autoHeight)
113
- };
114
- };
115
- const makeAspectRatio = (aspectRatio, aspectWidth, aspectHeight)=>{
116
- let result = {};
117
- const DEVICES = [
118
- 'desktop',
119
- 'mobile',
120
- 'tablet'
121
- ];
122
- DEVICES.forEach((device)=>{
123
- const aspectRatioDevice = getResponsiveValueByScreen(aspectRatio, device);
124
- if (aspectRatioDevice !== 'none') {
125
- result = {
126
- ...result,
127
- [device]: aspectRatioDevice !== 'custom' ? aspectRatioDevice : `${getResponsiveValueByScreen(aspectWidth, 'desktop')}/${getResponsiveValueByScreen(aspectHeight, 'desktop')}`
128
- };
129
- }
130
- });
131
- return result;
132
- };
133
- const makeLineClamp = (lineClampValue, hasLineClampValue)=>{
134
- const getVal = (deviceValue, lineClampValue, hasLineClampValue)=>{
135
- const lineClamp = getResponsiveValueByScreen(lineClampValue, deviceValue);
136
- const hasLineClamp = getResponsiveValueByScreen(hasLineClampValue, deviceValue);
137
- if (hasLineClamp || hasLineClamp === undefined) {
138
- return lineClamp;
139
- }
140
- return 'unset';
141
- };
142
- return {
143
- desktop: getVal('desktop', lineClampValue, hasLineClampValue),
144
- tablet: getVal('tablet', lineClampValue, hasLineClampValue),
145
- mobile: getVal('mobile', lineClampValue, hasLineClampValue)
146
- };
147
- };
148
-
149
- export { makeAspectRatio, makeGlobalSizeHeightResponsive, makeGlobalSizeWidthResponsive, makeHeight, makeLineClamp, makeStyle, makeStyleKey, makeStyleResponsive, makeStyleResponsiveByScreen, makeStyleResponsiveState, makeStyleState, makeWidth, removeNullUndefined };
1
+ import{getResponsiveValueByScreen as e}from"./get-resonsive-value.js";let removeNullUndefined=e=>Object.entries(e).reduce((e,[t,o])=>null==o?e:{...e,[t]:o},{}),makeStyleKey=e=>[e,`hvr-${e}`,`focus-${e}`,`${e}-tablet`,`hvr-${e}-tablet`,`focus-${e}-tablet`,`${e}-mobile`,`hvr-${e}-mobile`,`focus-${e}-mobile`].map(e=>`--${e}`),makeStyle=e=>removeNullUndefined(Object.fromEntries(Object.entries(e).map(([e,t])=>[`--${e}`,t]))),makeStyleState=(e,t)=>t?{[`--${e}`]:t?.normal,[`--hvr-${e}`]:t?.hover,[`--focus-${e}`]:t?.focus}:{},makeStyleResponsiveState=(e,t)=>t?{[`--${e}`]:t?.desktop?.normal,[`--hvr-${e}`]:t?.desktop?.hover,[`--focus-${e}`]:t?.desktop?.focus,[`--${e}-tablet`]:t?.tablet?.normal,[`--hvr-${e}-tablet`]:t?.tablet?.hover,[`--focus-${e}-tablet`]:t?.tablet?.focus,[`--${e}-mobile`]:t?.mobile?.normal,[`--hvr-${e}-mobile`]:t?.mobile?.hover,[`--focus-${e}-mobile`]:t?.mobile?.focus}:{},makeStyleResponsive=(e,t,o)=>({[`--${e}`]:o?`${t?.desktop}${o}`:t?.desktop,[`--${e}-tablet`]:o?`${t?.tablet}${o}`:t?.tablet,[`--${e}-mobile`]:o?`${t?.mobile}${o}`:t?.mobile}),makeStyleResponsiveByScreen=(t,o,l)=>({[`--${t}`]:l?`${e(o,"desktop")}${l}`:e(o,"desktop"),[`--${t}-tablet`]:l?`${e(o,"tablet")}${l}`:e(o,"tablet"),[`--${t}-mobile`]:l?`${e(o,"mobile")}${l}`:e(o,"mobile")}),makeWidth=(t,o)=>{let l=(t,o,l)=>{let i=e(o,t),a=l?.[t]===void 0?l?.desktop:l?.[t];return a?"100%":!1===a?i??i:i||"auto"};return{desktop:l("desktop",t,o),tablet:l("tablet",t,o),mobile:l("mobile",t,o)}},makeGlobalSizeWidthResponsive=e=>({"--w":e?.desktop?.width,"--w-tablet":e?.tablet?.width,"--w-mobile":e?.mobile?.width}),makeGlobalSizeHeightResponsive=e=>({"--h":e?.desktop?.height,"--h-tablet":e?.tablet?.height,"--h-mobile":e?.mobile?.height}),makeHeight=(e,t)=>{let o=(e,t,o)=>{let l=t?.[e],i=o?.[e];return i?"auto":!1===i?l??l:l};return{desktop:o("desktop",e,t),tablet:o("tablet",e,t),mobile:o("mobile",e,t)}},makeAspectRatio=(t,o,l)=>{let i={},a=["desktop","mobile","tablet"];return a.forEach(a=>{let s=e(t,a);"none"!==s&&(i={...i,[a]:"custom"!==s?s:`${e(o,"desktop")}/${e(l,"desktop")}`})}),i},makeLineClamp=(t,o)=>{let l=(t,o,l)=>{let i=e(o,t),a=e(l,t);return 0===i?"0":a||void 0===a?i:"unset"};return{desktop:l("desktop",t,o),tablet:l("tablet",t,o),mobile:l("mobile",t,o)}},getResponsiveWidthValue=(e,t,o)=>o?`${t?.[e]}${o}`:t?.[e]==="default"?"1200px":t?.[e],makeStyleResponsiveWidth=(e,t)=>({"--w":getResponsiveWidthValue("desktop",e,t),"--w-tablet":getResponsiveWidthValue("tablet",e,t),"--w-mobile":getResponsiveWidthValue("mobile",e,t)}),getResponsiveWidthValueWithoutAuto=(e,t,o)=>{if(o)return`${t?.[e]}${o}`;switch(t?.[e]){case"default":return"1200px";case"Auto":return"100%";default:return t?.[e]}},makeStyleResponsiveWidthWithoutAuto=(e,t)=>({"--w":getResponsiveWidthValueWithoutAuto("desktop",e,t),"--w-tablet":getResponsiveWidthValueWithoutAuto("tablet",e,t),"--w-mobile":getResponsiveWidthValueWithoutAuto("mobile",e,t)});export{makeAspectRatio,makeGlobalSizeHeightResponsive,makeGlobalSizeWidthResponsive,makeHeight,makeLineClamp,makeStyle,makeStyleKey,makeStyleResponsive,makeStyleResponsiveByScreen,makeStyleResponsiveState,makeStyleResponsiveWidth,makeStyleResponsiveWidthWithoutAuto,makeStyleState,makeWidth,removeNullUndefined};
@@ -1,21 +1 @@
1
- function normalizeBuilderData(data) {
2
- const result = {};
3
- function compose(data, res = {}) {
4
- const childrens = data.childrens;
5
- const items = childrens?.map((child)=>child.uid) ?? [];
6
- res[data.uid] = {
7
- ...data,
8
- childrens: items,
9
- type: 'component'
10
- };
11
- if (childrens) {
12
- childrens.map((child)=>compose(child, res));
13
- }
14
- }
15
- compose(data, result);
16
- return {
17
- ...result
18
- };
19
- }
20
-
21
- export { normalizeBuilderData };
1
+ function normalizeBuilderData(e){let n={};return!function e(n,i={}){let t=n.childrens,r=t?.map(e=>e.uid)??[];i[n.uid]={...n,childrens:r,type:"component"},t&&t.map(n=>e(n,i))}(e,n),{...n}}export{normalizeBuilderData};
@@ -1,5 +1 @@
1
- const pascalToKebab = (pascalCaseString)=>{
2
- return pascalCaseString.replace(/[A-Z]/g, (match, offset)=>(offset ? '-' : '') + match.toLowerCase());
3
- };
4
-
5
- export { pascalToKebab };
1
+ let pascalToKebab=a=>a.replace(/[A-Z]/g,(a,e)=>(e?"-":"")+a.toLowerCase());export{pascalToKebab};
@@ -1,76 +1 @@
1
- import { unstable_serialize } from 'swr';
2
- import { getCollection } from './queries/get-collection.js';
3
- import { getProduct } from './queries/get-product.js';
4
- import { getProducts } from './queries/get-products.js';
5
- import { generateCollectionQueryKey, generateProductsQueryKey, generateProductQueryKey } from './query.js';
6
-
7
- const prefetchQueries = (input, options)=>{
8
- const queries = [];
9
- Object.keys(input).forEach((key)=>{
10
- const item = input[key];
11
- let data = undefined;
12
- switch(item.tag){
13
- case 'Product':
14
- {
15
- if (item.settings?.isAuto) break;
16
- const variables = {
17
- id: item.settings?.productSetting?.productId ?? 'latest',
18
- isSample: options?.isSample,
19
- isStorefront: options?.isStorefront
20
- };
21
- data = {
22
- key: unstable_serialize(generateProductQueryKey(variables)),
23
- func: getProduct,
24
- variables
25
- };
26
- break;
27
- }
28
- case 'ProductList':
29
- {
30
- const productSetting = item.settings?.productSetting;
31
- if (productSetting?.productSrc === 'Collection') {
32
- const variables = {
33
- id: productSetting?.collectionId ?? 'latest',
34
- numberOfProducts: item.settings?.numberOfProducts ?? 4,
35
- orderBy: item.settings?.orderBy,
36
- isSample: options?.isSample,
37
- isStorefront: options?.isStorefront
38
- };
39
- data = {
40
- key: unstable_serialize(generateCollectionQueryKey(variables)),
41
- func: getCollection,
42
- variables
43
- };
44
- } else {
45
- const variables = {
46
- ids: [
47
- ...productSetting?.productIds ?? []
48
- ].sort(),
49
- isSample: options?.isSample,
50
- isStorefront: options?.isStorefront
51
- };
52
- data = {
53
- key: unstable_serialize(generateProductsQueryKey(variables)),
54
- func: getProducts,
55
- variables
56
- };
57
- }
58
- break;
59
- }
60
- }
61
- if (data) {
62
- queries.push(data);
63
- }
64
- });
65
- return queries.reduce((accumulator, current)=>{
66
- if (!accumulator.some((x)=>x.key === current.key)) {
67
- return [
68
- ...accumulator,
69
- current
70
- ];
71
- }
72
- return accumulator;
73
- }, []);
74
- };
75
-
76
- export { prefetchQueries };
1
+ import{unstable_serialize as e}from"swr";import{getCollection as t}from"./queries/get-collection.js";import{getProduct as r}from"./queries/get-product.js";import{getProducts as s}from"./queries/get-products.js";import{generateCollectionQueryKey as o,generateProductsQueryKey as i,generateProductQueryKey as c}from"./query.js";let prefetchQueries=(u,l)=>{let n=[];return Object.keys(u).forEach(p=>{let f;let d=u[p];switch(d.tag){case"Product":{if(d.settings?.isAuto)break;let t={id:d.settings?.productSetting?.productId??"latest",isSample:l?.isSample,isStorefront:l?.isStorefront};f={key:e(c(t)),func:r,variables:t};break}case"ProductList":{let r=d.settings?.productSetting;if(r?.productSrc==="Collection"){let s={id:r?.collectionId??"latest",numberOfProducts:d.settings?.numberOfProducts??4,orderBy:d.settings?.orderBy,isSample:l?.isSample,isStorefront:l?.isStorefront};f={key:e(o(s)),func:t,variables:s}}else{let t={ids:[...r?.productIds??[]].sort(),isSample:l?.isSample,isStorefront:l?.isStorefront};f={key:e(i(t)),func:s,variables:t}}}}f&&n.push(f)}),n.reduce((e,t)=>e.some(e=>e.key===t.key)?e:[...e,t],[])};export{prefetchQueries};
@@ -1,44 +1 @@
1
- import { checkInStock } from './variant.js';
2
-
3
- function getSelectedVariant(variants, choices, variantId) {
4
- /**
5
- * Ensure the user has selected all the required options, not just some.
6
- */ if (!variants || !variants.length || !choices || variants[0]?.selectedOptions.length !== Object.keys(choices).length) {
7
- return;
8
- }
9
- if (variantId) {
10
- return variants.find((variant)=>variant?.id === variantId);
11
- }
12
- return variants.find((variant)=>{
13
- return Object.entries(choices).every(([name, value])=>{
14
- return variant?.selectedOptions.some((option)=>option.name === name && option.value === value);
15
- });
16
- });
17
- }
18
- function parseSelectedOption(options) {
19
- if (!options || options && options.length === 0) {
20
- return;
21
- }
22
- return options.reduce((acc, { name, value })=>{
23
- if (name && value) {
24
- return {
25
- ...acc,
26
- [name]: value
27
- };
28
- }
29
- return acc;
30
- }, {});
31
- }
32
- function checkAvailableVariantInStock(variants, optionId, optionValue) {
33
- return variants ? variants.some((item)=>{
34
- if (item) {
35
- const { selectedOptions } = item;
36
- const opt = selectedOptions?.some((option)=>option?.name === optionId && option.value === optionValue);
37
- const isInStock = checkInStock(item);
38
- return opt && isInStock;
39
- }
40
- return false;
41
- }) : false;
42
- }
43
-
44
- export { checkAvailableVariantInStock, getSelectedVariant, parseSelectedOption };
1
+ import{checkInStock as e}from"./variant.js";function getSelectedVariant(e,t,n){return e&&e.length&&t&&e[0]?.selectedOptions.length===Object.keys(t).length?n?e.find(e=>e?.id===n):e.find(e=>Object.entries(t).every(([t,n])=>e?.selectedOptions.some(e=>e.name===t&&e.value===n))):void 0}function parseSelectedOption(e){if(e&&(!e||0!==e.length))return e.reduce((e,{name:t,value:n})=>t&&n?{...e,[t]:n}:e,{})}function checkAvailableVariantInStock(t,n,r){return!!t&&t.some(t=>{if(t){let{selectedOptions:i}=t,a=i?.some(e=>e?.name===n&&e.value===r),c=e(t);return a&&c}return!1})}export{checkAvailableVariantInStock,getSelectedVariant,parseSelectedOption};