@gem-sdk/core 1.37.5 → 2.0.0-dev.832

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 (329) hide show
  1. package/dist/cjs/components/AddOn.js +1 -18
  2. package/dist/cjs/components/ComponentToolbarPreview.js +1 -465
  3. package/dist/cjs/components/ComponentWrapper.js +1 -46
  4. package/dist/cjs/components/ComponentWrapperPreview.js +1 -136
  5. package/dist/cjs/components/Empty.js +1 -7
  6. package/dist/cjs/components/Render.js +1 -65
  7. package/dist/cjs/components/Render.liquid.js +14 -288
  8. package/dist/cjs/components/RenderBlock.js +1 -54
  9. package/dist/cjs/components/RenderCustomCode.js +3 -56
  10. package/dist/cjs/components/RenderPreview.js +1 -66
  11. package/dist/cjs/components/RenderSection.js +1 -23
  12. package/dist/cjs/components/ai-generator/AIContentGenerator.js +1 -0
  13. package/dist/cjs/components/ai-generator/AIGenContentLoading.js +1 -0
  14. package/dist/cjs/components/ai-generator/components/PickProduct.js +1 -0
  15. package/dist/cjs/components/ai-generator/components/ToneAndVoice.js +1 -0
  16. package/dist/cjs/components/ai-generator/hooks/useGettingGenerateRequest.js +1 -0
  17. package/dist/cjs/components/ai-generator/hooks/useListenEventGenerate.js +1 -0
  18. package/dist/cjs/components/ai-generator/icons/AIIcon.js +1 -0
  19. package/dist/cjs/components/ai-generator/icons/CloseIcon.js +1 -0
  20. package/dist/cjs/components/ai-generator/icons/DropdownIcon.js +1 -0
  21. package/dist/cjs/components/ai-generator/icons/ShowMoreIcon.js +1 -0
  22. package/dist/cjs/components/animation/AnimationWrapper.js +1 -0
  23. package/dist/cjs/components/constant.js +1 -54
  24. package/dist/cjs/components/resize/Resize.js +1 -16
  25. package/dist/cjs/components/resize/Spacing.js +1 -248
  26. package/dist/cjs/components/src/product/helpers/variant-presets.js +1 -56
  27. package/dist/cjs/components/theme-section/CreateThemeSection.js +1 -117
  28. package/dist/cjs/components/theme-section/ThemeSectionStatus.js +1 -36
  29. package/dist/cjs/components/theme-section/ThemeSectionTooltip.js +1 -102
  30. package/dist/cjs/components/toolbar/Tooltip.js +1 -22
  31. package/dist/cjs/contexts/AddonContext.js +1 -36
  32. package/dist/cjs/contexts/BuilderComponent.js +1 -34
  33. package/dist/cjs/contexts/BuilderContext.js +1 -35
  34. package/dist/cjs/contexts/BuilderPreviewContext.js +1 -479
  35. package/dist/cjs/contexts/CartLineContext.js +1 -29
  36. package/dist/cjs/contexts/CollectionContext.js +1 -38
  37. package/dist/cjs/contexts/ModalContext.js +1 -47
  38. package/dist/cjs/contexts/PageContext.js +1 -44
  39. package/dist/cjs/contexts/ProductContext.js +1 -156
  40. package/dist/cjs/contexts/ProductListContext.js +1 -32
  41. package/dist/cjs/contexts/SectionContext.js +1 -53
  42. package/dist/cjs/contexts/ShopContext.js +1 -80
  43. package/dist/cjs/graphql/fragments/analytic.generated.js +2 -6
  44. package/dist/cjs/graphql/fragments/collection-detail.generated.js +2 -6
  45. package/dist/cjs/graphql/fragments/collection-product.generated.js +2 -6
  46. package/dist/cjs/graphql/fragments/collection.generated.js +2 -6
  47. package/dist/cjs/graphql/fragments/custom-code.generated.js +2 -6
  48. package/dist/cjs/graphql/fragments/custom-font.generated.js +2 -6
  49. package/dist/cjs/graphql/fragments/data-seo.generated.js +2 -6
  50. package/dist/cjs/graphql/fragments/media.generated.js +2 -6
  51. package/dist/cjs/graphql/fragments/product-little.generated.js +11 -6
  52. package/dist/cjs/graphql/fragments/product-option-value.generated.js +2 -6
  53. package/dist/cjs/graphql/fragments/product-option.generated.js +2 -6
  54. package/dist/cjs/graphql/fragments/product.generated.js +11 -6
  55. package/dist/cjs/graphql/fragments/published-custom-section.generated.js +2 -6
  56. package/dist/cjs/graphql/fragments/published-page-section.generated.js +2 -6
  57. package/dist/cjs/graphql/fragments/published-theme-page.generated.js +3 -9
  58. package/dist/cjs/graphql/fragments/published-theme-style.generated.js +2 -6
  59. package/dist/cjs/graphql/fragments/selected-option.generated.js +2 -6
  60. package/dist/cjs/graphql/fragments/variant.generated.js +2 -6
  61. package/dist/cjs/graphql/mutations/page-view-up.generated.js +3 -7
  62. package/dist/cjs/graphql/queries/collection-detail-filter.generated.js +2 -16
  63. package/dist/cjs/graphql/queries/collection.generated.js +2 -14
  64. package/dist/cjs/graphql/queries/collections.generated.js +2 -9
  65. package/dist/cjs/graphql/queries/preview-page.generated.js +2 -14
  66. package/dist/cjs/graphql/queries/product-little-detail.generated.js +2 -11
  67. package/dist/cjs/graphql/queries/product-medias.generated.js +2 -8
  68. package/dist/cjs/graphql/queries/product-value-label.generated.js +2 -6
  69. package/dist/cjs/graphql/queries/product-variants.generated.js +2 -10
  70. package/dist/cjs/graphql/queries/products.generated.js +12 -17
  71. package/dist/cjs/graphql/queries/published-theme-pages.generated.js +2 -15
  72. package/dist/cjs/graphql/queries/store-property.generated.js +2 -6
  73. package/dist/cjs/graphql-app-api/queries/LibraryTemplate.generated.js +13 -0
  74. package/dist/cjs/graphql-app-api/queries/SaleFunnelDiscounts.generated.js +34 -0
  75. package/dist/cjs/graphql-app-api/queries/ThemePage.generated.js +22 -0
  76. package/dist/cjs/helpers/GlobalEvent.js +1 -19
  77. package/dist/cjs/helpers/animations.js +1 -213
  78. package/dist/cjs/helpers/background.js +1 -230
  79. package/dist/cjs/helpers/borders.js +4 -183
  80. package/dist/cjs/helpers/carousel.js +1 -58
  81. package/dist/cjs/helpers/clone-deep.js +1 -5
  82. package/dist/cjs/helpers/cls.js +1 -16
  83. package/dist/cjs/helpers/colors.js +1 -184
  84. package/dist/cjs/helpers/compose-advance-style.js +1 -268
  85. package/dist/cjs/helpers/constant.js +1 -23
  86. package/dist/cjs/helpers/convert.js +1 -7
  87. package/dist/cjs/helpers/covert-entities-html.js +1 -19
  88. package/dist/cjs/helpers/css-variable.js +1 -7
  89. package/dist/cjs/helpers/email.js +1 -11
  90. package/dist/cjs/helpers/filter-toolbar-preview.js +1 -14
  91. package/dist/cjs/helpers/flatten-connection.js +1 -9
  92. package/dist/cjs/helpers/get-resonsive-value.js +1 -36
  93. package/dist/cjs/helpers/get-shortname.js +1 -92
  94. package/dist/cjs/helpers/icon-list.js +1 -61
  95. package/dist/cjs/helpers/is-browser.js +1 -9
  96. package/dist/cjs/helpers/is-defined.js +1 -7
  97. package/dist/cjs/helpers/is-empty-children.js +1 -15
  98. package/dist/cjs/helpers/is-safari.js +1 -9
  99. package/dist/cjs/helpers/layout.js +1 -59
  100. package/dist/cjs/helpers/load-script.js +1 -31
  101. package/dist/cjs/helpers/make-style.js +1 -163
  102. package/dist/cjs/helpers/normalize-builder-data.js +1 -23
  103. package/dist/cjs/helpers/prefetch-queries.js +1 -78
  104. package/dist/cjs/helpers/product.js +1 -48
  105. package/dist/cjs/helpers/queries/get-collection.js +1 -226
  106. package/dist/cjs/helpers/queries/get-collections.js +1 -21
  107. package/dist/cjs/helpers/queries/get-product-by-slug.js +1 -125
  108. package/dist/cjs/helpers/queries/get-product.js +1 -154
  109. package/dist/cjs/helpers/queries/get-products.js +1 -163
  110. package/dist/cjs/helpers/query.js +1 -29
  111. package/dist/cjs/helpers/radius.js +6 -140
  112. package/dist/cjs/helpers/render.js +1 -76
  113. package/dist/cjs/helpers/shadow.js +1 -57
  114. package/dist/cjs/helpers/size.js +4 -183
  115. package/dist/cjs/helpers/spacing.js +1 -43
  116. package/dist/cjs/helpers/tracking/fpixel.js +1 -28
  117. package/dist/cjs/helpers/tracking/gtag.js +1 -93
  118. package/dist/cjs/helpers/tracking/tiktokpixel.js +1 -17
  119. package/dist/cjs/helpers/typography.js +17 -126
  120. package/dist/cjs/helpers/variant.js +1 -11
  121. package/dist/cjs/hooks/animation/animations.js +1 -0
  122. package/dist/cjs/hooks/animation/useAnimationActions.js +1 -39
  123. package/dist/cjs/hooks/animation/useAnimationConfig.js +1 -29
  124. package/dist/cjs/hooks/animation/useAnimationPreview.js +1 -31
  125. package/dist/cjs/hooks/animation/useAnimationTarget.js +1 -120
  126. package/dist/cjs/hooks/animation/useApplyAnimation.js +1 -87
  127. package/dist/cjs/hooks/animation/useLivePageAnimation.js +1 -0
  128. package/dist/cjs/hooks/cart/use-add-to-cart.js +1 -20
  129. package/dist/cjs/hooks/cart/use-cart-data.js +1 -28
  130. package/dist/cjs/hooks/cart/use-cart-discount-codes-update.js +1 -20
  131. package/dist/cjs/hooks/cart/use-cart-note-update.js +1 -20
  132. package/dist/cjs/hooks/cart/use-create-cart.js +1 -22
  133. package/dist/cjs/hooks/cart/use-remove-cart-item.js +1 -20
  134. package/dist/cjs/hooks/cart/use-update-cart-item.js +1 -20
  135. package/dist/cjs/hooks/shop/use-collection-query.js +1 -22
  136. package/dist/cjs/hooks/shop/use-collections-query.js +1 -17
  137. package/dist/cjs/hooks/shop/use-product-query.js +1 -22
  138. package/dist/cjs/hooks/shop/use-products-query.js +1 -23
  139. package/dist/cjs/hooks/shop.js +1 -126
  140. package/dist/cjs/hooks/use-current-device.js +1 -21
  141. package/dist/cjs/hooks/use-lazy-video.js +1 -15
  142. package/dist/cjs/hooks/useAnimations.js +1 -26
  143. package/dist/cjs/hooks/useCartId.js +1 -44
  144. package/dist/cjs/hooks/useCartLine.js +1 -11
  145. package/dist/cjs/hooks/useCartUI.js +1 -48
  146. package/dist/cjs/hooks/useCollection.js +1 -9
  147. package/dist/cjs/hooks/useFetchHandle.js +1 -13
  148. package/dist/cjs/hooks/useFormatMoney.js +1 -58
  149. package/dist/cjs/hooks/useInitialSwatchesOptions.js +1 -113
  150. package/dist/cjs/hooks/useIsomorphicLayoutEffect.js +1 -10
  151. package/dist/cjs/hooks/useLoadScript.js +1 -32
  152. package/dist/cjs/hooks/useMoney.js +1 -84
  153. package/dist/cjs/hooks/usePrevious.js +1 -19
  154. package/dist/cjs/hooks/useProduct.js +1 -206
  155. package/dist/cjs/hooks/useProductList.js +1 -21
  156. package/dist/cjs/hooks/useSuspenseFetch.js +1 -27
  157. package/dist/cjs/hooks/useSwatchesOptions.js +1 -41
  158. package/dist/cjs/hooks/useToolbarPostPurchase.js +1 -0
  159. package/dist/cjs/index.js +1 -361
  160. package/dist/cjs/types/animations.js +1 -47
  161. package/dist/cjs/types/appAPI.js +1 -0
  162. package/dist/cjs/types/global-style.js +1 -15
  163. package/dist/cjs/types/shop.js +1 -2
  164. package/dist/cjs/web-components/src/helpers/styles/constant.js +1 -9
  165. package/dist/esm/components/AddOn.js +1 -14
  166. package/dist/esm/components/ComponentToolbarPreview.js +1 -463
  167. package/dist/esm/components/ComponentWrapper.js +1 -42
  168. package/dist/esm/components/ComponentWrapperPreview.js +1 -132
  169. package/dist/esm/components/Empty.js +1 -3
  170. package/dist/esm/components/Render.js +1 -61
  171. package/dist/esm/components/Render.liquid.js +14 -282
  172. package/dist/esm/components/RenderBlock.js +1 -50
  173. package/dist/esm/components/RenderCustomCode.js +3 -52
  174. package/dist/esm/components/RenderPreview.js +1 -62
  175. package/dist/esm/components/RenderSection.js +1 -19
  176. package/dist/esm/components/ai-generator/AIContentGenerator.js +1 -0
  177. package/dist/esm/components/ai-generator/AIGenContentLoading.js +1 -0
  178. package/dist/esm/components/ai-generator/components/PickProduct.js +1 -0
  179. package/dist/esm/components/ai-generator/components/ToneAndVoice.js +1 -0
  180. package/dist/esm/components/ai-generator/hooks/useGettingGenerateRequest.js +1 -0
  181. package/dist/esm/components/ai-generator/hooks/useListenEventGenerate.js +1 -0
  182. package/dist/esm/components/ai-generator/icons/AIIcon.js +1 -0
  183. package/dist/esm/components/ai-generator/icons/CloseIcon.js +1 -0
  184. package/dist/esm/components/ai-generator/icons/DropdownIcon.js +1 -0
  185. package/dist/esm/components/ai-generator/icons/ShowMoreIcon.js +1 -0
  186. package/dist/esm/components/animation/AnimationWrapper.js +1 -0
  187. package/dist/esm/components/constant.js +1 -50
  188. package/dist/esm/components/resize/Resize.js +1 -12
  189. package/dist/esm/components/resize/Spacing.js +1 -244
  190. package/dist/esm/components/src/product/helpers/variant-presets.js +1 -54
  191. package/dist/esm/components/theme-section/CreateThemeSection.js +1 -115
  192. package/dist/esm/components/theme-section/ThemeSectionStatus.js +1 -34
  193. package/dist/esm/components/theme-section/ThemeSectionTooltip.js +1 -100
  194. package/dist/esm/components/toolbar/Tooltip.js +1 -18
  195. package/dist/esm/contexts/AddonContext.js +1 -32
  196. package/dist/esm/contexts/BuilderComponent.js +1 -31
  197. package/dist/esm/contexts/BuilderContext.js +1 -32
  198. package/dist/esm/contexts/BuilderPreviewContext.js +1 -476
  199. package/dist/esm/contexts/CartLineContext.js +1 -26
  200. package/dist/esm/contexts/CollectionContext.js +1 -35
  201. package/dist/esm/contexts/ModalContext.js +1 -44
  202. package/dist/esm/contexts/PageContext.js +1 -41
  203. package/dist/esm/contexts/ProductContext.js +1 -153
  204. package/dist/esm/contexts/ProductListContext.js +1 -28
  205. package/dist/esm/contexts/SectionContext.js +1 -49
  206. package/dist/esm/contexts/ShopContext.js +1 -77
  207. package/dist/esm/graphql/fragments/analytic.generated.js +2 -4
  208. package/dist/esm/graphql/fragments/collection-detail.generated.js +2 -4
  209. package/dist/esm/graphql/fragments/collection-product.generated.js +2 -4
  210. package/dist/esm/graphql/fragments/collection.generated.js +2 -4
  211. package/dist/esm/graphql/fragments/custom-code.generated.js +2 -4
  212. package/dist/esm/graphql/fragments/custom-font.generated.js +2 -4
  213. package/dist/esm/graphql/fragments/data-seo.generated.js +2 -4
  214. package/dist/esm/graphql/fragments/media.generated.js +2 -4
  215. package/dist/esm/graphql/fragments/product-little.generated.js +11 -4
  216. package/dist/esm/graphql/fragments/product-option-value.generated.js +2 -4
  217. package/dist/esm/graphql/fragments/product-option.generated.js +2 -4
  218. package/dist/esm/graphql/fragments/product.generated.js +11 -4
  219. package/dist/esm/graphql/fragments/published-custom-section.generated.js +2 -4
  220. package/dist/esm/graphql/fragments/published-page-section.generated.js +2 -4
  221. package/dist/esm/graphql/fragments/published-theme-page.generated.js +3 -6
  222. package/dist/esm/graphql/fragments/published-theme-style.generated.js +2 -4
  223. package/dist/esm/graphql/fragments/selected-option.generated.js +2 -4
  224. package/dist/esm/graphql/fragments/variant.generated.js +2 -4
  225. package/dist/esm/graphql/mutations/page-view-up.generated.js +3 -5
  226. package/dist/esm/graphql/queries/collection-detail-filter.generated.js +10 -22
  227. package/dist/esm/graphql/queries/collection.generated.js +8 -18
  228. package/dist/esm/graphql/queries/collections.generated.js +3 -8
  229. package/dist/esm/graphql/queries/preview-page.generated.js +8 -18
  230. package/dist/esm/graphql/queries/product-little-detail.generated.js +5 -12
  231. package/dist/esm/graphql/queries/product-medias.generated.js +2 -6
  232. package/dist/esm/graphql/queries/product-value-label.generated.js +2 -4
  233. package/dist/esm/graphql/queries/product-variants.generated.js +4 -10
  234. package/dist/esm/graphql/queries/products.generated.js +18 -20
  235. package/dist/esm/graphql/queries/published-theme-pages.generated.js +9 -20
  236. package/dist/esm/graphql/queries/store-property.generated.js +2 -4
  237. package/dist/esm/graphql-app-api/queries/LibraryTemplate.generated.js +13 -0
  238. package/dist/esm/graphql-app-api/queries/SaleFunnelDiscounts.generated.js +34 -0
  239. package/dist/esm/graphql-app-api/queries/ThemePage.generated.js +22 -0
  240. package/dist/esm/helpers/GlobalEvent.js +1 -15
  241. package/dist/esm/helpers/animations.js +1 -211
  242. package/dist/esm/helpers/background.js +1 -222
  243. package/dist/esm/helpers/borders.js +4 -175
  244. package/dist/esm/helpers/carousel.js +1 -54
  245. package/dist/esm/helpers/clone-deep.js +1 -3
  246. package/dist/esm/helpers/cls.js +1 -14
  247. package/dist/esm/helpers/colors.js +1 -169
  248. package/dist/esm/helpers/compose-advance-style.js +1 -261
  249. package/dist/esm/helpers/constant.js +1 -19
  250. package/dist/esm/helpers/convert.js +1 -4
  251. package/dist/esm/helpers/covert-entities-html.js +1 -17
  252. package/dist/esm/helpers/css-variable.js +1 -5
  253. package/dist/esm/helpers/email.js +1 -6
  254. package/dist/esm/helpers/filter-toolbar-preview.js +1 -9
  255. package/dist/esm/helpers/flatten-connection.js +1 -7
  256. package/dist/esm/helpers/get-resonsive-value.js +1 -31
  257. package/dist/esm/helpers/get-shortname.js +1 -90
  258. package/dist/esm/helpers/icon-list.js +1 -58
  259. package/dist/esm/helpers/is-browser.js +1 -5
  260. package/dist/esm/helpers/is-defined.js +1 -5
  261. package/dist/esm/helpers/is-empty-children.js +1 -10
  262. package/dist/esm/helpers/is-safari.js +1 -5
  263. package/dist/esm/helpers/layout.js +1 -54
  264. package/dist/esm/helpers/load-script.js +1 -29
  265. package/dist/esm/helpers/make-style.js +1 -149
  266. package/dist/esm/helpers/normalize-builder-data.js +1 -21
  267. package/dist/esm/helpers/prefetch-queries.js +1 -76
  268. package/dist/esm/helpers/product.js +1 -44
  269. package/dist/esm/helpers/queries/get-collection.js +1 -223
  270. package/dist/esm/helpers/queries/get-collections.js +1 -19
  271. package/dist/esm/helpers/queries/get-product-by-slug.js +1 -123
  272. package/dist/esm/helpers/queries/get-product.js +1 -150
  273. package/dist/esm/helpers/queries/get-products.js +1 -161
  274. package/dist/esm/helpers/query.js +1 -25
  275. package/dist/esm/helpers/radius.js +6 -132
  276. package/dist/esm/helpers/render.js +1 -68
  277. package/dist/esm/helpers/shadow.js +1 -52
  278. package/dist/esm/helpers/size.js +4 -171
  279. package/dist/esm/helpers/spacing.js +1 -40
  280. package/dist/esm/helpers/tracking/fpixel.js +1 -24
  281. package/dist/esm/helpers/tracking/gtag.js +1 -87
  282. package/dist/esm/helpers/tracking/tiktokpixel.js +1 -15
  283. package/dist/esm/helpers/typography.js +17 -116
  284. package/dist/esm/helpers/variant.js +1 -9
  285. package/dist/esm/hooks/animation/animations.js +1 -0
  286. package/dist/esm/hooks/animation/useAnimationActions.js +1 -37
  287. package/dist/esm/hooks/animation/useAnimationConfig.js +1 -27
  288. package/dist/esm/hooks/animation/useAnimationPreview.js +1 -29
  289. package/dist/esm/hooks/animation/useAnimationTarget.js +1 -118
  290. package/dist/esm/hooks/animation/useApplyAnimation.js +1 -83
  291. package/dist/esm/hooks/animation/useLivePageAnimation.js +1 -0
  292. package/dist/esm/hooks/cart/use-add-to-cart.js +1 -18
  293. package/dist/esm/hooks/cart/use-cart-data.js +1 -26
  294. package/dist/esm/hooks/cart/use-cart-discount-codes-update.js +1 -18
  295. package/dist/esm/hooks/cart/use-cart-note-update.js +1 -18
  296. package/dist/esm/hooks/cart/use-create-cart.js +1 -20
  297. package/dist/esm/hooks/cart/use-remove-cart-item.js +1 -18
  298. package/dist/esm/hooks/cart/use-update-cart-item.js +1 -18
  299. package/dist/esm/hooks/shop/use-collection-query.js +1 -20
  300. package/dist/esm/hooks/shop/use-collections-query.js +1 -15
  301. package/dist/esm/hooks/shop/use-product-query.js +1 -20
  302. package/dist/esm/hooks/shop/use-products-query.js +1 -21
  303. package/dist/esm/hooks/shop.js +1 -111
  304. package/dist/esm/hooks/use-current-device.js +1 -19
  305. package/dist/esm/hooks/use-lazy-video.js +1 -13
  306. package/dist/esm/hooks/useAnimations.js +1 -24
  307. package/dist/esm/hooks/useCartId.js +1 -40
  308. package/dist/esm/hooks/useCartLine.js +1 -7
  309. package/dist/esm/hooks/useCartUI.js +1 -44
  310. package/dist/esm/hooks/useCollection.js +1 -7
  311. package/dist/esm/hooks/useFetchHandle.js +1 -11
  312. package/dist/esm/hooks/useFormatMoney.js +1 -56
  313. package/dist/esm/hooks/useInitialSwatchesOptions.js +1 -109
  314. package/dist/esm/hooks/useIsomorphicLayoutEffect.js +1 -6
  315. package/dist/esm/hooks/useLoadScript.js +1 -28
  316. package/dist/esm/hooks/useMoney.js +1 -80
  317. package/dist/esm/hooks/usePrevious.js +1 -17
  318. package/dist/esm/hooks/useProduct.js +1 -192
  319. package/dist/esm/hooks/useProductList.js +1 -16
  320. package/dist/esm/hooks/useSuspenseFetch.js +1 -23
  321. package/dist/esm/hooks/useSwatchesOptions.js +1 -37
  322. package/dist/esm/hooks/useToolbarPostPurchase.js +1 -0
  323. package/dist/esm/index.js +1 -100
  324. package/dist/esm/types/animations.js +1 -47
  325. package/dist/esm/types/appAPI.js +1 -0
  326. package/dist/esm/types/global-style.js +1 -12
  327. package/dist/esm/web-components/src/helpers/styles/constant.js +1 -7
  328. package/dist/types/index.d.ts +24802 -6237
  329. package/package.json +8 -3
@@ -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 ?? []
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:"PLATFORM_CREATED_AT"};case"CREATED_AT_DESC":return{direction:"DESC",field:"PLATFORM_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_UPDATED_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:{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??[]}: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:"PLATFORM_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;