@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,78 +1 @@
1
- 'use strict';
2
-
3
- var useSWR = require('swr');
4
- var getCollection = require('./queries/get-collection.js');
5
- var getProduct = require('./queries/get-product.js');
6
- var getProducts = require('./queries/get-products.js');
7
- var query = require('./query.js');
8
-
9
- const prefetchQueries = (input, options)=>{
10
- const queries = [];
11
- Object.keys(input).forEach((key)=>{
12
- const item = input[key];
13
- let data = undefined;
14
- switch(item.tag){
15
- case 'Product':
16
- {
17
- if (item.settings?.isAuto) break;
18
- const variables = {
19
- id: item.settings?.productSetting?.productId ?? 'latest',
20
- isSample: options?.isSample,
21
- isStorefront: options?.isStorefront
22
- };
23
- data = {
24
- key: useSWR.unstable_serialize(query.generateProductQueryKey(variables)),
25
- func: getProduct.getProduct,
26
- variables
27
- };
28
- break;
29
- }
30
- case 'ProductList':
31
- {
32
- const productSetting = item.settings?.productSetting;
33
- if (productSetting?.productSrc === 'Collection') {
34
- const variables = {
35
- id: productSetting?.collectionId ?? 'latest',
36
- numberOfProducts: item.settings?.numberOfProducts ?? 4,
37
- orderBy: item.settings?.orderBy,
38
- isSample: options?.isSample,
39
- isStorefront: options?.isStorefront
40
- };
41
- data = {
42
- key: useSWR.unstable_serialize(query.generateCollectionQueryKey(variables)),
43
- func: getCollection.getCollection,
44
- variables
45
- };
46
- } else {
47
- const variables = {
48
- ids: [
49
- ...productSetting?.productIds ?? []
50
- ].sort(),
51
- isSample: options?.isSample,
52
- isStorefront: options?.isStorefront
53
- };
54
- data = {
55
- key: useSWR.unstable_serialize(query.generateProductsQueryKey(variables)),
56
- func: getProducts.getProducts,
57
- variables
58
- };
59
- }
60
- break;
61
- }
62
- }
63
- if (data) {
64
- queries.push(data);
65
- }
66
- });
67
- return queries.reduce((accumulator, current)=>{
68
- if (!accumulator.some((x)=>x.key === current.key)) {
69
- return [
70
- ...accumulator,
71
- current
72
- ];
73
- }
74
- return accumulator;
75
- }, []);
76
- };
77
-
78
- exports.prefetchQueries = prefetchQueries;
1
+ "use strict";var useSWR=require("swr"),getCollection=require("./queries/get-collection.js"),getProduct=require("./queries/get-product.js"),getProducts=require("./queries/get-products.js"),query=require("./query.js");const prefetchQueries=(e,t)=>{let r=[];return Object.keys(e).forEach(s=>{let u;let o=e[s];switch(o.tag){case"Product":{if(o.settings?.isAuto)break;let e={id:o.settings?.productSetting?.productId??"latest",isSample:t?.isSample,isStorefront:t?.isStorefront};u={key:useSWR.unstable_serialize(query.generateProductQueryKey(e)),func:getProduct.getProduct,variables:e};break}case"ProductList":{let e=o.settings?.productSetting;if(e?.productSrc==="Collection"){let r={id:e?.collectionId??"latest",numberOfProducts:o.settings?.numberOfProducts??4,orderBy:o.settings?.orderBy,isSample:t?.isSample,isStorefront:t?.isStorefront};u={key:useSWR.unstable_serialize(query.generateCollectionQueryKey(r)),func:getCollection.getCollection,variables:r}}else{let r={ids:[...e?.productIds??[]].sort(),isSample:t?.isSample,isStorefront:t?.isStorefront};u={key:useSWR.unstable_serialize(query.generateProductsQueryKey(r)),func:getProducts.getProducts,variables:r}}}}u&&r.push(u)}),r.reduce((e,t)=>e.some(e=>e.key===t.key)?e:[...e,t],[])};exports.prefetchQueries=prefetchQueries;
@@ -1,48 +1 @@
1
- 'use strict';
2
-
3
- var variant = require('./variant.js');
4
-
5
- function getSelectedVariant(variants, choices, variantId) {
6
- /**
7
- * Ensure the user has selected all the required options, not just some.
8
- */ if (!variants || !variants.length || !choices || variants[0]?.selectedOptions.length !== Object.keys(choices).length) {
9
- return;
10
- }
11
- if (variantId) {
12
- return variants.find((variant)=>variant?.id === variantId);
13
- }
14
- return variants.find((variant)=>{
15
- return Object.entries(choices).every(([name, value])=>{
16
- return variant?.selectedOptions.some((option)=>option.name === name && option.value === value);
17
- });
18
- });
19
- }
20
- function parseSelectedOption(options) {
21
- if (!options || options && options.length === 0) {
22
- return;
23
- }
24
- return options.reduce((acc, { name, value })=>{
25
- if (name && value) {
26
- return {
27
- ...acc,
28
- [name]: value
29
- };
30
- }
31
- return acc;
32
- }, {});
33
- }
34
- function checkAvailableVariantInStock(variants, optionId, optionValue) {
35
- return variants ? variants.some((item)=>{
36
- if (item) {
37
- const { selectedOptions } = item;
38
- const opt = selectedOptions?.some((option)=>option?.name === optionId && option.value === optionValue);
39
- const isInStock = variant.checkInStock(item);
40
- return opt && isInStock;
41
- }
42
- return false;
43
- }) : false;
44
- }
45
-
46
- exports.checkAvailableVariantInStock = checkAvailableVariantInStock;
47
- exports.getSelectedVariant = getSelectedVariant;
48
- exports.parseSelectedOption = parseSelectedOption;
1
+ "use strict";var variant=require("./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(e,t,n){return!!e&&e.some(e=>{if(e){let{selectedOptions:a}=e,r=a?.some(e=>e?.name===t&&e.value===n),i=variant.checkInStock(e);return r&&i}return!1})}exports.checkAvailableVariantInStock=checkAvailableVariantInStock,exports.getSelectedVariant=getSelectedVariant,exports.parseSelectedOption=parseSelectedOption;
@@ -1,226 +1 @@
1
- 'use strict';
2
-
3
- var collectionDetailFilter_generated = require('../../graphql/queries/collection-detail-filter.generated.js');
4
- var productVariants_generated = require('../../graphql/queries/product-variants.generated.js');
5
- var isDefined = require('../is-defined.js');
6
-
7
- const PRODUCT_PER_PAGE = 8; // number of products per page
8
- function productSortedByOrder(key) {
9
- switch(key){
10
- case 'TITLE_ASC':
11
- return {
12
- direction: 'ASC',
13
- field: 'TITLE'
14
- };
15
- case 'TITLE_DESC':
16
- return {
17
- direction: 'DESC',
18
- field: 'TITLE'
19
- };
20
- case 'CREATED_AT_ASC':
21
- return {
22
- direction: 'ASC',
23
- field: 'CREATED_AT'
24
- };
25
- case 'CREATED_AT_DESC':
26
- return {
27
- direction: 'DESC',
28
- field: 'CREATED_AT'
29
- };
30
- case 'none':
31
- default:
32
- return {
33
- direction: 'ASC',
34
- field: 'TITLE'
35
- };
36
- }
37
- }
38
- const getCollection = async (fetcher, arg)=>{
39
- const collections = await loopFetchCollection(fetcher, arg);
40
- if (!collections) {
41
- throw new Error('collections not found');
42
- }
43
- // merge product collection variant
44
- const mergeProducts = await mergeProductCollectionVariant(fetcher, collections, arg.isSample);
45
- return mergeProducts;
46
- };
47
- const fetchCollection = async (fetcher, variables)=>{
48
- return fetcher([
49
- collectionDetailFilter_generated.CollectionDetailFilterDocument,
50
- variables
51
- ]);
52
- };
53
- const calculateFirstProduct = (numberOfProducts, currentPage, productsPerPage)=>{
54
- const remainingProducts = numberOfProducts - productsPerPage * currentPage;
55
- if (numberOfProducts < productsPerPage) return numberOfProducts;
56
- return remainingProducts > 0 ? productsPerPage : productsPerPage + remainingProducts;
57
- };
58
- const chunkArray = (array, size)=>{
59
- const chunked_arr = [];
60
- let index = 0;
61
- while(index < array.length){
62
- chunked_arr.push(array.slice(index, size + index));
63
- index += size;
64
- }
65
- return chunked_arr;
66
- };
67
- const loopFetchCollection = async (fetcher, arg)=>{
68
- let variables; // variables of collection query
69
- let productAfterFetcher; // product after of collection query
70
- let dataCollection; // data of collection query
71
- let hasNextPage; //
72
- let firstCollection;
73
- let currentPage = 1;
74
- if (arg.numberOfProducts) {
75
- const pages = Math.ceil(arg.numberOfProducts / PRODUCT_PER_PAGE);
76
- while(currentPage <= pages && hasNextPage !== false){
77
- variables = {
78
- firstVariant: 1,
79
- firstMedia: 30,
80
- orderBy: {
81
- field: 'PLATFORM_CREATED_AT',
82
- direction: 'DESC'
83
- },
84
- orderByMedia: {
85
- field: 'POSITION',
86
- direction: 'ASC'
87
- },
88
- firstProduct: calculateFirstProduct(arg.numberOfProducts, currentPage, PRODUCT_PER_PAGE),
89
- ...!arg.id || arg.id.toLowerCase() === 'latest' ? {
90
- where: {
91
- hasCollectionProducts: true,
92
- isSample: arg.isSample
93
- }
94
- } : {
95
- where: {
96
- baseID: arg.id
97
- }
98
- },
99
- orderByProduct: productSortedByOrder(arg.orderBy),
100
- whereProduct: {
101
- status: 'ACTIVE',
102
- ...arg.isStorefront && {
103
- isStorefront: arg.isStorefront
104
- },
105
- isSample: arg.isSample
106
- },
107
- ...productAfterFetcher ? {
108
- productsAfter: productAfterFetcher
109
- } : undefined
110
- };
111
- const pageData = await fetchCollection(fetcher, variables);
112
- productAfterFetcher = pageData?.collections?.edges?.[0]?.node?.products?.pageInfo?.endCursor;
113
- if (currentPage === 1) {
114
- dataCollection = pageData; // set data of first page
115
- firstCollection = dataCollection?.collections?.edges?.[0];
116
- } else if (firstCollection?.node?.products && pageData?.collections?.edges?.[0]?.node?.products?.edges) {
117
- // concat new values to the old ones
118
- firstCollection.node.products = {
119
- pageInfo: pageData?.collections?.edges?.[0]?.node?.products?.pageInfo,
120
- edges: firstCollection.node?.products?.edges.concat(pageData?.collections?.edges?.[0]?.node?.products?.edges)
121
- };
122
- }
123
- currentPage++;
124
- // hasNextPage = false if there is no more pages then break the loop
125
- if (!firstCollection?.node?.products?.pageInfo?.hasNextPage) {
126
- hasNextPage = false;
127
- break;
128
- }
129
- }
130
- return dataCollection;
131
- }
132
- };
133
- const mergeProductCollectionVariant = async (fetcher, collection, isSample)=>{
134
- const node = collection?.collections?.edges?.[0]?.node;
135
- if (!node) return collection;
136
- const productList = node?.products?.edges;
137
- const listBaseId = productList?.map((product)=>product?.node?.baseID).filter(isDefined.isDefined);
138
- const ProductListWithVariants = await fetchVariantsByBaseIds(fetcher, {
139
- ids: listBaseId,
140
- isSample
141
- });
142
- // mapping variant to product list in collections
143
- const newProductList = productList?.map((product)=>{
144
- const productVariants = ProductListWithVariants?.variants?.edges?.filter((productV)=>productV?.node?.id === product?.node?.id);
145
- return {
146
- ...product,
147
- node: product.node ? {
148
- ...product.node,
149
- variants: product.node?.variants ? {
150
- ...product.node?.variants,
151
- edges: productVariants?.[0]?.node?.variants?.edges ?? product.node?.variants.edges ?? []
152
- } : undefined
153
- } : undefined
154
- };
155
- }) ?? [];
156
- const newCollection = {
157
- ...collection,
158
- collections: {
159
- edges: [
160
- {
161
- node: {
162
- ...node,
163
- products: {
164
- edges: newProductList
165
- }
166
- },
167
- cursor: undefined
168
- }
169
- ]
170
- }
171
- };
172
- return newCollection;
173
- };
174
- const fetchVariantsByBaseIds = async (fetcher, { ids, isSample, isStorefront })=>{
175
- const chunkedIds = chunkArray(ids ?? [], 8);
176
- const defaultEdges = [];
177
- const query = async (variables)=>{
178
- try {
179
- return await fetcher([
180
- productVariants_generated.ProductVariantsDocument,
181
- {
182
- ...variables,
183
- orderByVariant: {
184
- field: 'POSITION',
185
- direction: 'ASC'
186
- }
187
- }
188
- ]);
189
- } catch {
190
- return {};
191
- }
192
- };
193
- const promises = chunkedIds.map((chunkedId)=>{
194
- const variables = {
195
- firstVariant: 100,
196
- first: chunkedId.length,
197
- orderBy: {
198
- field: 'TITLE',
199
- direction: 'ASC'
200
- },
201
- where: {
202
- status: 'ACTIVE',
203
- isSample,
204
- ...isStorefront && {
205
- isStorefront
206
- },
207
- ...chunkedId.length && {
208
- baseIDIn: chunkedId.sort()
209
- }
210
- }
211
- };
212
- return query(variables);
213
- });
214
- const responses = await Promise.all(promises);
215
- const edges = responses?.reduce((acc, response)=>{
216
- return acc.concat(response?.variants?.edges ?? []);
217
- }, defaultEdges);
218
- return {
219
- variants: {
220
- edges
221
- }
222
- };
223
- };
224
-
225
- exports.calculateFirstProduct = calculateFirstProduct;
226
- exports.getCollection = getCollection;
1
+ "use strict";var collectionDetailFilter_generated=require("../../graphql/queries/collection-detail-filter.generated.js"),productVariants_generated=require("../../graphql/queries/product-variants.generated.js"),isDefined=require("../is-defined.js");const PRODUCT_PER_PAGE=8;function productSortedByOrder(e){switch(e){case"TITLE_ASC":case"none":default:return{direction:"ASC",field:"TITLE"};case"TITLE_DESC":return{direction:"DESC",field:"TITLE"};case"CREATED_AT_ASC":return{direction:"ASC",field:"CREATED_AT"};case"CREATED_AT_DESC":return{direction:"DESC",field:"CREATED_AT"}}}const getCollection=async(e,t)=>{let r=await loopFetchCollection(e,t);if(!r)throw Error("collections not found");let o=await mergeProductCollectionVariant(e,r,t.isSample);return o},fetchCollection=async(e,t)=>e([collectionDetailFilter_generated.CollectionDetailFilterDocument,t]),calculateFirstProduct=(e,t,r)=>{let o=e-r*t;return e<r?e:o>0?r:r+o},chunkArray=(e,t)=>{let r=[],o=0;for(;o<e.length;)r.push(e.slice(o,t+o)),o+=t;return r},loopFetchCollection=async(e,t)=>{let r,o,i,n,d;let s=1;if(t.numberOfProducts){let a=Math.ceil(t.numberOfProducts/8);for(;s<=a&&!1!==n;){r={firstVariant:1,firstMedia:30,orderBy:{field:"PLATFORM_CREATED_AT",direction:"DESC"},orderByMedia:{field:"POSITION",direction:"ASC"},firstProduct:calculateFirstProduct(t.numberOfProducts,s,8),...t.id&&"latest"!==t.id.toLowerCase()?{where:{baseID:t.id}}:{where:{hasCollectionProducts:!0,isSample:t.isSample}},orderByProduct:productSortedByOrder(t.orderBy),whereProduct:{status:"ACTIVE",...t.isStorefront&&{isStorefront:t.isStorefront},isSample:t.isSample},...o?{productsAfter:o}:void 0};let a=await fetchCollection(e,r);if(o=a?.collections?.edges?.[0]?.node?.products?.pageInfo?.endCursor,1===s?(i=a,d=i?.collections?.edges?.[0]):d?.node?.products&&a?.collections?.edges?.[0]?.node?.products?.edges&&(d.node.products={pageInfo:a?.collections?.edges?.[0]?.node?.products?.pageInfo,edges:d.node?.products?.edges.concat(a?.collections?.edges?.[0]?.node?.products?.edges)}),s++,!d?.node?.products?.pageInfo?.hasNextPage){n=!1;break}}return i}},mergeProductCollectionVariant=async(e,t,r)=>{let o=t?.collections?.edges?.[0]?.node;if(!o)return t;let i=o?.products?.edges,n=i?.map(e=>e?.node?.baseID).filter(isDefined.isDefined),d=await fetchVariantsByBaseIds(e,{ids:n,isSample:r}),s=i?.map(e=>{let t=d?.variants?.edges?.filter(t=>t?.node?.id===e?.node?.id);return{...e,node:e.node?{...e.node,variants:e.node?.variants?{...e.node?.variants,edges:t?.[0]?.node?.variants?.edges??e.node?.variants.edges??[]}:void 0}:void 0}})??[],a={...t,collections:{edges:[{node:{...o,products:{edges:s}},cursor:void 0}]}};return a},fetchVariantsByBaseIds=async(e,{ids:t,isSample:r,isStorefront:o})=>{let i=chunkArray(t??[],8),n=[],d=async t=>{try{return await e([productVariants_generated.ProductVariantsDocument,{...t,orderByVariant:{field:"POSITION",direction:"ASC"}}])}catch{return{}}},s=i.map(e=>{let t={firstVariant:100,first:e.length,orderBy:{field:"TITLE",direction:"ASC"},where:{status:"ACTIVE",isSample:r,...o&&{isStorefront:o},...e.length&&{baseIDIn:e.sort()}}};return d(t)}),a=await Promise.all(s),c=a?.reduce((e,t)=>e.concat(t?.variants?.edges??[]),n);return{variants:{edges:c}}};exports.calculateFirstProduct=calculateFirstProduct,exports.getCollection=getCollection;
@@ -1,21 +1 @@
1
- 'use strict';
2
-
3
- var collections_generated = require('../../graphql/queries/collections.generated.js');
4
-
5
- const getCollections = async (fetcher, variable)=>{
6
- const collections = await fetchCollections(fetcher, variable ?? {});
7
- if (!collections) {
8
- throw new Error('Collection not found');
9
- }
10
- return {
11
- ...collections
12
- };
13
- };
14
- const fetchCollections = async (fetcher, variables)=>{
15
- return fetcher([
16
- collections_generated.CollectionsDocument,
17
- variables
18
- ]);
19
- };
20
-
21
- exports.getCollections = getCollections;
1
+ "use strict";var collections_generated=require("../../graphql/queries/collections.generated.js");const getCollections=async(e,t)=>{let o=await fetchCollections(e,t??{});if(!o)throw Error("Collection not found");return{...o}},fetchCollections=async(e,t)=>e([collections_generated.CollectionsDocument,t]);exports.getCollections=getCollections;
@@ -1,125 +1 @@
1
- 'use strict';
2
-
3
- var productLittleDetail_generated = require('../../graphql/queries/product-little-detail.generated.js');
4
- var productMedias_generated = require('../../graphql/queries/product-medias.generated.js');
5
- var productVariants_generated = require('../../graphql/queries/product-variants.generated.js');
6
-
7
- const getProductBySlug = async (fetcher, slug)=>{
8
- const [product, variants, medias] = await Promise.all([
9
- fetchProduct(fetcher, slug),
10
- fetchVariants(fetcher, slug),
11
- fetchMedias(fetcher, slug)
12
- ]);
13
- if (!product) {
14
- throw new Error('Product not found');
15
- }
16
- return {
17
- ...product,
18
- variants: {
19
- edges: variants
20
- },
21
- medias: {
22
- edges: medias
23
- }
24
- };
25
- };
26
- const orderBy = {
27
- field: 'PLATFORM_UPDATED_AT',
28
- direction: 'DESC'
29
- };
30
- const fetchProduct = async (fetcher, handle, isStorefront)=>{
31
- const variables = {
32
- orderBy,
33
- where: {
34
- status: 'ACTIVE',
35
- handle,
36
- ...isStorefront && {
37
- isStorefront
38
- }
39
- }
40
- };
41
- const response = await fetcher([
42
- productLittleDetail_generated.ProductLittleDetailDocument,
43
- variables
44
- ]);
45
- return response.product?.edges?.[0]?.node;
46
- };
47
- const fetchVariants = async (fetcher, handle, isStorefront)=>{
48
- const initVariables = {
49
- orderBy,
50
- orderByVariant: {
51
- field: 'POSITION',
52
- direction: 'ASC'
53
- },
54
- where: {
55
- status: 'ACTIVE',
56
- handle,
57
- ...isStorefront && {
58
- isStorefront
59
- }
60
- }
61
- };
62
- const query = async (variables, olds)=>{
63
- try {
64
- const response = await fetcher([
65
- productVariants_generated.ProductVariantsDocument,
66
- variables
67
- ]);
68
- const product = response.variants?.edges?.[0];
69
- const items = olds?.concat(product?.node?.variants?.edges ?? []);
70
- if (product?.node?.variants?.pageInfo?.hasNextPage) {
71
- return query({
72
- ...variables,
73
- afterVariant: product?.node?.variants?.pageInfo.endCursor
74
- }, items);
75
- }
76
- return items ?? [];
77
- } catch {
78
- return olds ?? [];
79
- }
80
- };
81
- return query(initVariables, []);
82
- };
83
- const fetchMedias = async (fetcher, handle, isStorefront)=>{
84
- const initVariables = {
85
- orderBy,
86
- where: {
87
- status: 'ACTIVE',
88
- handle,
89
- ...isStorefront && {
90
- isStorefront
91
- }
92
- },
93
- orderByMedia: {
94
- field: 'POSITION',
95
- direction: 'ASC'
96
- }
97
- };
98
- const query = async (variables)=>{
99
- try {
100
- const response = await fetcher([
101
- productMedias_generated.ProductMediasDocument,
102
- variables
103
- ]);
104
- const product = response.medias?.edges?.[0];
105
- const items = product?.node?.medias?.edges ?? [];
106
- if (product?.node?.medias?.pageInfo?.hasNextPage) {
107
- try {
108
- const newData = await query({
109
- ...variables,
110
- afterMedia: product?.node?.medias?.pageInfo.endCursor
111
- });
112
- return items.concat(newData);
113
- } catch {
114
- return items;
115
- }
116
- }
117
- return items;
118
- } catch {
119
- return [];
120
- }
121
- };
122
- return query(initVariables);
123
- };
124
-
125
- exports.getProductBySlug = getProductBySlug;
1
+ "use strict";var productLittleDetail_generated=require("../../graphql/queries/product-little-detail.generated.js"),productMedias_generated=require("../../graphql/queries/product-medias.generated.js"),productVariants_generated=require("../../graphql/queries/product-variants.generated.js");const getProductBySlug=async(e,t)=>{let[r,a,d]=await Promise.all([fetchProduct(e,t),fetchVariants(e,t),fetchMedias(e,t)]);if(!r)throw Error("Product not found");return{...r,variants:{edges:a},medias:{edges:d}}},orderBy={field:"PLATFORM_UPDATED_AT",direction:"DESC"},fetchProduct=async(e,t,r)=>{let a={orderBy,where:{status:"ACTIVE",handle:t,...r&&{isStorefront:r}}},d=await e([productLittleDetail_generated.ProductLittleDetailDocument,a]);return d.product?.edges?.[0]?.node},fetchVariants=async(e,t,r)=>{let a={orderBy,orderByVariant:{field:"POSITION",direction:"ASC"},where:{status:"ACTIVE",handle:t,...r&&{isStorefront:r}}},d=async(t,r)=>{try{let a=await e([productVariants_generated.ProductVariantsDocument,t]),n=a.variants?.edges?.[0],i=r?.concat(n?.node?.variants?.edges??[]);if(n?.node?.variants?.pageInfo?.hasNextPage)return d({...t,afterVariant:n?.node?.variants?.pageInfo.endCursor},i);return i??[]}catch{return r??[]}};return d(a,[])},fetchMedias=async(e,t,r)=>{let a={orderBy,where:{status:"ACTIVE",handle:t,...r&&{isStorefront:r}},orderByMedia:{field:"POSITION",direction:"ASC"}},d=async t=>{try{let r=await e([productMedias_generated.ProductMediasDocument,t]),a=r.medias?.edges?.[0],n=a?.node?.medias?.edges??[];if(a?.node?.medias?.pageInfo?.hasNextPage)try{let e=await d({...t,afterMedia:a?.node?.medias?.pageInfo.endCursor});return n.concat(e)}catch{}return n}catch{return[]}};return d(a)};exports.getProductBySlug=getProductBySlug;
@@ -1,154 +1 @@
1
- 'use strict';
2
-
3
- var productLittleDetail_generated = require('../../graphql/queries/product-little-detail.generated.js');
4
- var productMedias_generated = require('../../graphql/queries/product-medias.generated.js');
5
- var productVariants_generated = require('../../graphql/queries/product-variants.generated.js');
6
-
7
- const getProduct = async (fetcher, { id, isSample, isStorefront })=>{
8
- const [product, variants, medias] = await Promise.all([
9
- fetchProduct(fetcher, {
10
- id,
11
- isSample,
12
- isStorefront
13
- }),
14
- fetchVariants(fetcher, {
15
- id,
16
- isSample,
17
- isStorefront
18
- }),
19
- fetchMedias(fetcher, {
20
- id,
21
- isSample,
22
- isStorefront
23
- })
24
- ]);
25
- if (!product) {
26
- throw new Error('Product not found');
27
- }
28
- return {
29
- ...product,
30
- variants: {
31
- edges: variants
32
- },
33
- medias: {
34
- edges: medias
35
- }
36
- };
37
- };
38
- const orderBy = {
39
- field: 'CREATED_AT',
40
- direction: 'DESC'
41
- };
42
- const fetchProduct = async (fetcher, { id, isSample, isStorefront })=>{
43
- const variables = {
44
- orderBy,
45
- where: {
46
- isSample,
47
- ...isStorefront && {
48
- isStorefront
49
- },
50
- ...(!id || id && id.toLowerCase() == 'latest') && {
51
- status: 'ACTIVE'
52
- },
53
- ...id && id.toLowerCase() !== 'latest' && {
54
- baseID: id
55
- }
56
- }
57
- };
58
- const response = await fetcher([
59
- productLittleDetail_generated.ProductLittleDetailDocument,
60
- variables
61
- ]);
62
- return response.product?.edges?.[0]?.node;
63
- };
64
- const fetchVariants = async (fetcher, { id, isSample, isStorefront })=>{
65
- const initVariables = {
66
- orderBy,
67
- where: {
68
- isSample,
69
- ...isStorefront && {
70
- isStorefront
71
- },
72
- ...(!id || id && id.toLowerCase() == 'latest') && {
73
- status: 'ACTIVE'
74
- },
75
- ...id && id.toLowerCase() !== 'latest' && {
76
- baseID: id
77
- }
78
- },
79
- orderByVariant: {
80
- field: 'POSITION',
81
- direction: 'ASC'
82
- }
83
- };
84
- const query = async (variables, olds)=>{
85
- try {
86
- const response = await fetcher([
87
- productVariants_generated.ProductVariantsDocument,
88
- variables
89
- ]);
90
- const product = response.variants?.edges?.[0];
91
- const items = olds?.concat(product?.node?.variants?.edges ?? []);
92
- if (product?.node?.variants?.pageInfo?.hasNextPage) {
93
- return query({
94
- ...variables,
95
- afterVariant: product?.node?.variants?.pageInfo.endCursor
96
- }, items);
97
- }
98
- return items ?? [];
99
- } catch {
100
- return olds ?? [];
101
- }
102
- };
103
- return query(initVariables, []);
104
- };
105
- const fetchMedias = async (fetcher, { id, isSample, isStorefront })=>{
106
- const initVariables = {
107
- orderBy,
108
- where: {
109
- isSample,
110
- ...isStorefront && {
111
- isStorefront
112
- },
113
- ...(!id || id && id.toLowerCase() == 'latest') && {
114
- status: 'ACTIVE'
115
- },
116
- ...id && id.toLowerCase() !== 'latest' && {
117
- baseID: id
118
- }
119
- },
120
- orderByMedia: {
121
- field: 'POSITION',
122
- direction: 'ASC'
123
- }
124
- };
125
- const query = async (variables)=>{
126
- try {
127
- const response = await fetcher([
128
- productMedias_generated.ProductMediasDocument,
129
- variables
130
- ]);
131
- const product = response.medias?.edges?.[0];
132
- const items = product?.node?.medias?.edges ?? [];
133
- if (product?.node?.medias?.pageInfo?.hasNextPage) {
134
- try {
135
- const newData = await query({
136
- ...variables,
137
- afterMedia: product?.node?.medias?.pageInfo.endCursor
138
- });
139
- return items.concat(newData);
140
- } catch {
141
- return items;
142
- }
143
- }
144
- return items;
145
- } catch {
146
- return [];
147
- }
148
- };
149
- return query(initVariables);
150
- };
151
-
152
- exports.fetchMedias = fetchMedias;
153
- exports.fetchVariants = fetchVariants;
154
- exports.getProduct = getProduct;
1
+ "use strict";var productLittleDetail_generated=require("../../graphql/queries/product-little-detail.generated.js"),productMedias_generated=require("../../graphql/queries/product-medias.generated.js"),productVariants_generated=require("../../graphql/queries/product-variants.generated.js");const getProduct=async(e,{id:t,isSample:r,isStorefront:a})=>{let[s,d,o]=await Promise.all([fetchProduct(e,{id:t,isSample:r,isStorefront:a}),fetchVariants(e,{id:t,isSample:r,isStorefront:a}),fetchMedias(e,{id:t,isSample:r,isStorefront:a})]);if(!s)throw Error("Product not found");return{...s,variants:{edges:d},medias:{edges:o}}},orderBy={field:"CREATED_AT",direction:"DESC"},fetchProduct=async(e,{id:t,isSample:r,isStorefront:a})=>{let s={orderBy,where:{isSample:r,...a&&{isStorefront:a},...(!t||t&&"latest"==t.toLowerCase())&&{status:"ACTIVE"},...t&&"latest"!==t.toLowerCase()&&{baseID:t}}},d=await e([productLittleDetail_generated.ProductLittleDetailDocument,s]);return d.product?.edges?.[0]?.node},fetchVariants=async(e,{id:t,isSample:r,isStorefront:a})=>{let s={orderBy,where:{isSample:r,...a&&{isStorefront:a},...(!t||t&&"latest"==t.toLowerCase())&&{status:"ACTIVE"},...t&&"latest"!==t.toLowerCase()&&{baseID:t}},orderByVariant:{field:"POSITION",direction:"ASC"}},d=async(t,r)=>{try{let a=await e([productVariants_generated.ProductVariantsDocument,t]),s=a.variants?.edges?.[0],o=r?.concat(s?.node?.variants?.edges??[]);if(s?.node?.variants?.pageInfo?.hasNextPage)return d({...t,afterVariant:s?.node?.variants?.pageInfo.endCursor},o);return o??[]}catch{return r??[]}};return d(s,[])},fetchMedias=async(e,{id:t,isSample:r,isStorefront:a})=>{let s={orderBy,where:{isSample:r,...a&&{isStorefront:a},...(!t||t&&"latest"==t.toLowerCase())&&{status:"ACTIVE"},...t&&"latest"!==t.toLowerCase()&&{baseID:t}},orderByMedia:{field:"POSITION",direction:"ASC"}},d=async t=>{try{let r=await e([productMedias_generated.ProductMediasDocument,t]),a=r.medias?.edges?.[0],s=a?.node?.medias?.edges??[];if(a?.node?.medias?.pageInfo?.hasNextPage)try{let e=await d({...t,afterMedia:a?.node?.medias?.pageInfo.endCursor});return s.concat(e)}catch{}return s}catch{return[]}};return d(s)};exports.fetchMedias=fetchMedias,exports.fetchVariants=fetchVariants,exports.getProduct=getProduct;