@gem-sdk/core 2.0.0-dev.896 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (396) hide show
  1. package/dist/cjs/components/AddOn.js +18 -1
  2. package/dist/cjs/components/ComponentAnimation.js +17 -0
  3. package/dist/cjs/components/ComponentToolbarPreview.js +752 -1
  4. package/dist/cjs/components/ComponentWrapper.js +61 -1
  5. package/dist/cjs/components/ComponentWrapperPreview.js +213 -1
  6. package/dist/cjs/components/Empty.js +7 -1
  7. package/dist/cjs/components/InteractionSuffix.js +42 -0
  8. package/dist/cjs/components/Render.js +75 -1
  9. package/dist/cjs/components/Render.liquid.js +313 -17
  10. package/dist/cjs/components/RenderBlock.js +54 -1
  11. package/dist/cjs/components/RenderCustomCode.js +59 -3
  12. package/dist/cjs/components/RenderPreview.js +67 -1
  13. package/dist/cjs/components/RenderSection.js +23 -1
  14. package/dist/cjs/components/ai-generator/AIContentGenerator.js +252 -1
  15. package/dist/cjs/components/ai-generator/AIGenContentLoading.js +85 -1
  16. package/dist/cjs/components/ai-generator/components/PickProduct.js +220 -1
  17. package/dist/cjs/components/ai-generator/components/ToneAndVoice.js +77 -1
  18. package/dist/cjs/components/ai-generator/hooks/useCheckingProductInside.js +47 -0
  19. package/dist/cjs/components/ai-generator/hooks/useFlipPopup.js +110 -0
  20. package/dist/cjs/components/ai-generator/hooks/useGettingGenerateRequest.js +37 -1
  21. package/dist/cjs/components/ai-generator/hooks/useListenEventGenerate.js +70 -1
  22. package/dist/cjs/components/ai-generator/icons/AIIcon.js +67 -1
  23. package/dist/cjs/components/ai-generator/icons/CloseIcon.js +19 -1
  24. package/dist/cjs/components/ai-generator/icons/DropdownIcon.js +37 -1
  25. package/dist/cjs/components/ai-generator/icons/SearchIcon.js +21 -1
  26. package/dist/cjs/components/ai-generator/icons/ShowMoreIcon.js +21 -1
  27. package/dist/cjs/components/ai-generator/icons/UpgradeIcon.js +27 -0
  28. package/dist/cjs/components/ai-generator/icons/WarningIcon.js +31 -0
  29. package/dist/cjs/components/constant.js +83 -1
  30. package/dist/cjs/components/resize/Resize.js +16 -1
  31. package/dist/cjs/components/resize/Spacing.js +260 -1
  32. package/dist/cjs/components/src/product/helpers/variant-presets.js +56 -1
  33. package/dist/cjs/components/theme-section/CreateThemeSection.js +123 -1
  34. package/dist/cjs/components/theme-section/ThemeSectionStatus.js +45 -1
  35. package/dist/cjs/components/theme-section/ThemeSectionTooltip.js +126 -1
  36. package/dist/cjs/components/toolbar/Tooltip.js +28 -1
  37. package/dist/cjs/contexts/AddonContext.js +36 -1
  38. package/dist/cjs/contexts/ArticleContext.js +39 -1
  39. package/dist/cjs/contexts/ArticleListContext.js +31 -1
  40. package/dist/cjs/contexts/BuilderComponent.js +34 -1
  41. package/dist/cjs/contexts/BuilderContext.js +39 -1
  42. package/dist/cjs/contexts/BuilderPreviewContext.js +486 -1
  43. package/dist/cjs/contexts/CartLineContext.js +29 -1
  44. package/dist/cjs/contexts/CollectionContext.js +38 -1
  45. package/dist/cjs/contexts/ModalContext.js +47 -1
  46. package/dist/cjs/contexts/PageContext.js +104 -1
  47. package/dist/cjs/contexts/ProductContext.js +177 -1
  48. package/dist/cjs/contexts/ProductListContext.js +32 -1
  49. package/dist/cjs/contexts/SectionContext.js +53 -1
  50. package/dist/cjs/contexts/ShopContext.js +107 -1
  51. package/dist/cjs/graphql/fragments/analytic.generated.js +6 -2
  52. package/dist/cjs/graphql/fragments/collection-detail.generated.js +6 -2
  53. package/dist/cjs/graphql/fragments/collection-product.generated.js +6 -2
  54. package/dist/cjs/graphql/fragments/collection.generated.js +6 -2
  55. package/dist/cjs/graphql/fragments/custom-code.generated.js +6 -2
  56. package/dist/cjs/graphql/fragments/custom-font.generated.js +6 -2
  57. package/dist/cjs/graphql/fragments/data-seo.generated.js +6 -2
  58. package/dist/cjs/graphql/fragments/media.generated.js +6 -2
  59. package/dist/cjs/graphql/fragments/preview-theme-page.generated.js +39 -0
  60. package/dist/cjs/graphql/fragments/product-little.generated.js +7 -2
  61. package/dist/cjs/graphql/fragments/product-option-value.generated.js +6 -2
  62. package/dist/cjs/graphql/fragments/product-option.generated.js +6 -2
  63. package/dist/cjs/graphql/fragments/product.generated.js +6 -2
  64. package/dist/cjs/graphql/fragments/published-custom-section.generated.js +6 -2
  65. package/dist/cjs/graphql/fragments/published-page-section.generated.js +6 -2
  66. package/dist/cjs/graphql/fragments/published-theme-page.generated.js +10 -28
  67. package/dist/cjs/graphql/fragments/published-theme-style.generated.js +6 -2
  68. package/dist/cjs/graphql/fragments/selected-option.generated.js +6 -2
  69. package/dist/cjs/graphql/fragments/variant.generated.js +6 -2
  70. package/dist/cjs/graphql/mutations/page-view-up.generated.js +8 -4
  71. package/dist/cjs/graphql/queries/articles.generated.js +61 -0
  72. package/dist/cjs/graphql/queries/blogs.generated.js +69 -0
  73. package/dist/cjs/graphql/queries/collection-detail-filter.generated.js +16 -2
  74. package/dist/cjs/graphql/queries/collection.generated.js +14 -2
  75. package/dist/cjs/graphql/queries/collections.generated.js +9 -2
  76. package/dist/cjs/graphql/queries/preview-page.generated.js +16 -8
  77. package/dist/cjs/graphql/queries/product-little-detail.generated.js +11 -2
  78. package/dist/cjs/graphql/queries/product-medias.generated.js +8 -2
  79. package/dist/cjs/graphql/queries/product-value-label.generated.js +6 -2
  80. package/dist/cjs/graphql/queries/product-variants.generated.js +10 -2
  81. package/dist/cjs/graphql/queries/products.generated.js +17 -3
  82. package/dist/cjs/graphql/queries/published-shop-metas.js +15 -0
  83. package/dist/cjs/graphql/queries/published-theme-pages.generated.js +15 -2
  84. package/dist/cjs/graphql/queries/store-property.generated.js +6 -2
  85. package/dist/cjs/graphql-app-api/queries/LibrarySaleFunnelDiscount.generated.js +6 -2
  86. package/dist/cjs/graphql-app-api/queries/LibraryTemplate.generated.js +6 -2
  87. package/dist/cjs/graphql-app-api/queries/SaleFunnelDiscounts.generated.js +6 -2
  88. package/dist/cjs/graphql-app-api/queries/ShopLibraryPage.generated.js +17 -0
  89. package/dist/cjs/graphql-app-api/queries/ThemePage.generated.js +6 -2
  90. package/dist/cjs/helpers/GlobalEvent.js +19 -1
  91. package/dist/cjs/helpers/align.js +19 -0
  92. package/dist/cjs/helpers/animations.js +222 -1
  93. package/dist/cjs/helpers/background.js +235 -1
  94. package/dist/cjs/helpers/borders.js +198 -4
  95. package/dist/cjs/helpers/carousel.js +55 -1
  96. package/dist/cjs/helpers/clone-deep.js +5 -1
  97. package/dist/cjs/helpers/cls.js +16 -1
  98. package/dist/cjs/helpers/colors.js +184 -1
  99. package/dist/cjs/helpers/compose-advance-style.js +327 -1
  100. package/dist/cjs/helpers/constant.js +23 -1
  101. package/dist/cjs/helpers/convert.js +7 -1
  102. package/dist/cjs/helpers/covert-entities-html.js +19 -1
  103. package/dist/cjs/helpers/css-variable.js +7 -1
  104. package/dist/cjs/helpers/email.js +11 -1
  105. package/dist/cjs/helpers/filter-toolbar-preview.js +14 -1
  106. package/dist/cjs/helpers/flatten-connection.js +9 -1
  107. package/dist/cjs/helpers/get-resonsive-value.js +36 -1
  108. package/dist/cjs/helpers/get-shortname.js +92 -1
  109. package/dist/cjs/helpers/icon-list.js +61 -1
  110. package/dist/cjs/helpers/interaction/index.js +134 -0
  111. package/dist/cjs/helpers/is-browser.js +9 -1
  112. package/dist/cjs/helpers/is-defined.js +7 -1
  113. package/dist/cjs/helpers/is-empty-children.js +15 -1
  114. package/dist/cjs/helpers/is-safari.js +9 -1
  115. package/dist/cjs/helpers/layout.js +59 -1
  116. package/dist/cjs/helpers/load-script.js +31 -1
  117. package/dist/cjs/helpers/loop-component.js +16 -0
  118. package/dist/cjs/helpers/make-style.js +163 -1
  119. package/dist/cjs/helpers/normalize-builder-data.js +23 -1
  120. package/dist/cjs/helpers/pascal-to-kebab-case.js +7 -0
  121. package/dist/cjs/helpers/prefetch-queries.js +78 -1
  122. package/dist/cjs/helpers/product.js +48 -1
  123. package/dist/cjs/helpers/queries/get-collection.js +226 -1
  124. package/dist/cjs/helpers/queries/get-collections.js +21 -1
  125. package/dist/cjs/helpers/queries/get-product-by-slug.js +125 -1
  126. package/dist/cjs/helpers/queries/get-product.js +154 -1
  127. package/dist/cjs/helpers/queries/get-products.js +214 -1
  128. package/dist/cjs/helpers/query.js +29 -1
  129. package/dist/cjs/helpers/radius.js +140 -6
  130. package/dist/cjs/helpers/render.js +78 -1
  131. package/dist/cjs/helpers/shadow.js +69 -1
  132. package/dist/cjs/helpers/size.js +206 -4
  133. package/dist/cjs/helpers/spacing.js +43 -1
  134. package/dist/cjs/helpers/third-party/addAppBlockId.js +20 -0
  135. package/dist/cjs/helpers/third-party/appConfig.js +234 -0
  136. package/dist/cjs/helpers/third-party/appSetting.js +661 -0
  137. package/dist/cjs/helpers/third-party/composeAppBlockId.js +11 -0
  138. package/dist/cjs/helpers/third-party/constant.js +43 -0
  139. package/dist/cjs/helpers/third-party/generateAppBlockConfigs.js +34 -0
  140. package/dist/cjs/helpers/third-party/getAppBlockConfig.js +47 -0
  141. package/dist/cjs/helpers/third-party/getAppBlockType.js +12 -0
  142. package/dist/cjs/helpers/third-party/getAppBlocks.js +30 -0
  143. package/dist/cjs/helpers/third-party/mergeBlock.js +19 -0
  144. package/dist/cjs/helpers/third-party/mergeBlockOrder.js +47 -0
  145. package/dist/cjs/helpers/third-party/removeGPAppItems.js +18 -0
  146. package/dist/cjs/helpers/tracking/fpixel.js +28 -1
  147. package/dist/cjs/helpers/tracking/gtag.js +93 -1
  148. package/dist/cjs/helpers/tracking/tiktokpixel.js +17 -1
  149. package/dist/cjs/helpers/typography.js +160 -17
  150. package/dist/cjs/helpers/variant.js +11 -1
  151. package/dist/cjs/hooks/animation/useAnimationActions.js +39 -1
  152. package/dist/cjs/hooks/animation/useAnimationConfig.js +30 -1
  153. package/dist/cjs/hooks/animation/useAnimationPreview.js +31 -1
  154. package/dist/cjs/hooks/animation/useAnimationTarget.js +122 -1
  155. package/dist/cjs/hooks/animation/useApplyAnimation.js +89 -1
  156. package/dist/cjs/hooks/articles/useArticlesQuery.js +33 -1
  157. package/dist/cjs/hooks/cart/use-add-to-cart.js +20 -1
  158. package/dist/cjs/hooks/cart/use-cart-data.js +28 -1
  159. package/dist/cjs/hooks/cart/use-cart-discount-codes-update.js +20 -1
  160. package/dist/cjs/hooks/cart/use-cart-note-update.js +20 -1
  161. package/dist/cjs/hooks/cart/use-create-cart.js +22 -1
  162. package/dist/cjs/hooks/cart/use-remove-cart-item.js +20 -1
  163. package/dist/cjs/hooks/cart/use-update-cart-item.js +20 -1
  164. package/dist/cjs/hooks/shop/use-collection-query.js +22 -1
  165. package/dist/cjs/hooks/shop/use-collections-query.js +17 -1
  166. package/dist/cjs/hooks/shop/use-product-query.js +22 -1
  167. package/dist/cjs/hooks/shop/use-products-query.js +63 -1
  168. package/dist/cjs/hooks/shop.js +126 -1
  169. package/dist/cjs/hooks/use-current-device.js +30 -1
  170. package/dist/cjs/hooks/use-lazy-video.js +15 -1
  171. package/dist/cjs/hooks/useAnimations.js +29 -1
  172. package/dist/cjs/hooks/useCartId.js +44 -1
  173. package/dist/cjs/hooks/useCartLine.js +11 -1
  174. package/dist/cjs/hooks/useCartUI.js +48 -1
  175. package/dist/cjs/hooks/useCollection.js +9 -1
  176. package/dist/cjs/hooks/useFetchHandle.js +13 -1
  177. package/dist/cjs/hooks/useFormatMoney.js +75 -1
  178. package/dist/cjs/hooks/useInitialSwatchesOptions.js +128 -1
  179. package/dist/cjs/hooks/useInteraction.js +19 -0
  180. package/dist/cjs/hooks/useIsomorphicLayoutEffect.js +10 -1
  181. package/dist/cjs/hooks/useLoadScript.js +32 -1
  182. package/dist/cjs/hooks/useMoney.js +84 -1
  183. package/dist/cjs/hooks/usePrevious.js +19 -1
  184. package/dist/cjs/hooks/useProduct.js +245 -1
  185. package/dist/cjs/hooks/useProductList.js +21 -1
  186. package/dist/cjs/hooks/useSuspenseFetch.js +27 -1
  187. package/dist/cjs/hooks/useSwatchesOptions.js +41 -1
  188. package/dist/cjs/hooks/useToolbarPostPurchase.js +89 -1
  189. package/dist/cjs/index.js +416 -1
  190. package/dist/cjs/types/animations.js +49 -1
  191. package/dist/cjs/types/appAPI.js +2 -1
  192. package/dist/cjs/types/custom.js +52 -0
  193. package/dist/cjs/types/global-style.js +15 -1
  194. package/dist/cjs/types/shop.js +2 -1
  195. package/dist/cjs/web-components/src/helpers/styles/constant.js +9 -1
  196. package/dist/esm/components/AddOn.js +14 -1
  197. package/dist/esm/components/ComponentAnimation.js +13 -0
  198. package/dist/esm/components/ComponentToolbarPreview.js +748 -1
  199. package/dist/esm/components/ComponentWrapper.js +57 -1
  200. package/dist/esm/components/ComponentWrapperPreview.js +209 -1
  201. package/dist/esm/components/Empty.js +3 -1
  202. package/dist/esm/components/InteractionSuffix.js +40 -0
  203. package/dist/esm/components/Render.js +71 -1
  204. package/dist/esm/components/Render.liquid.js +307 -17
  205. package/dist/esm/components/RenderBlock.js +50 -1
  206. package/dist/esm/components/RenderCustomCode.js +55 -3
  207. package/dist/esm/components/RenderPreview.js +63 -1
  208. package/dist/esm/components/RenderSection.js +19 -1
  209. package/dist/esm/components/ai-generator/AIContentGenerator.js +250 -1
  210. package/dist/esm/components/ai-generator/AIGenContentLoading.js +83 -1
  211. package/dist/esm/components/ai-generator/components/PickProduct.js +218 -1
  212. package/dist/esm/components/ai-generator/components/ToneAndVoice.js +75 -1
  213. package/dist/esm/components/ai-generator/hooks/useCheckingProductInside.js +45 -0
  214. package/dist/esm/components/ai-generator/hooks/useFlipPopup.js +108 -0
  215. package/dist/esm/components/ai-generator/hooks/useGettingGenerateRequest.js +35 -1
  216. package/dist/esm/components/ai-generator/hooks/useListenEventGenerate.js +68 -1
  217. package/dist/esm/components/ai-generator/icons/AIIcon.js +65 -1
  218. package/dist/esm/components/ai-generator/icons/CloseIcon.js +17 -1
  219. package/dist/esm/components/ai-generator/icons/DropdownIcon.js +34 -1
  220. package/dist/esm/components/ai-generator/icons/SearchIcon.js +19 -1
  221. package/dist/esm/components/ai-generator/icons/ShowMoreIcon.js +19 -1
  222. package/dist/esm/components/ai-generator/icons/UpgradeIcon.js +25 -0
  223. package/dist/esm/components/ai-generator/icons/WarningIcon.js +29 -0
  224. package/dist/esm/components/constant.js +76 -1
  225. package/dist/esm/components/resize/Resize.js +12 -1
  226. package/dist/esm/components/resize/Spacing.js +256 -1
  227. package/dist/esm/components/src/product/helpers/variant-presets.js +54 -1
  228. package/dist/esm/components/theme-section/CreateThemeSection.js +121 -1
  229. package/dist/esm/components/theme-section/ThemeSectionStatus.js +43 -1
  230. package/dist/esm/components/theme-section/ThemeSectionTooltip.js +124 -1
  231. package/dist/esm/components/toolbar/Tooltip.js +24 -1
  232. package/dist/esm/contexts/AddonContext.js +32 -1
  233. package/dist/esm/contexts/ArticleContext.js +36 -1
  234. package/dist/esm/contexts/ArticleListContext.js +27 -1
  235. package/dist/esm/contexts/BuilderComponent.js +31 -1
  236. package/dist/esm/contexts/BuilderContext.js +36 -1
  237. package/dist/esm/contexts/BuilderPreviewContext.js +483 -1
  238. package/dist/esm/contexts/CartLineContext.js +26 -1
  239. package/dist/esm/contexts/CollectionContext.js +35 -1
  240. package/dist/esm/contexts/ModalContext.js +44 -1
  241. package/dist/esm/contexts/PageContext.js +101 -1
  242. package/dist/esm/contexts/ProductContext.js +174 -1
  243. package/dist/esm/contexts/ProductListContext.js +28 -1
  244. package/dist/esm/contexts/SectionContext.js +49 -1
  245. package/dist/esm/contexts/ShopContext.js +104 -1
  246. package/dist/esm/graphql/fragments/analytic.generated.js +4 -2
  247. package/dist/esm/graphql/fragments/collection-detail.generated.js +4 -2
  248. package/dist/esm/graphql/fragments/collection-product.generated.js +4 -2
  249. package/dist/esm/graphql/fragments/collection.generated.js +4 -2
  250. package/dist/esm/graphql/fragments/custom-code.generated.js +4 -2
  251. package/dist/esm/graphql/fragments/custom-font.generated.js +4 -2
  252. package/dist/esm/graphql/fragments/data-seo.generated.js +4 -2
  253. package/dist/esm/graphql/fragments/media.generated.js +4 -2
  254. package/dist/esm/graphql/fragments/preview-theme-page.generated.js +37 -0
  255. package/dist/esm/graphql/fragments/product-little.generated.js +5 -2
  256. package/dist/esm/graphql/fragments/product-option-value.generated.js +4 -2
  257. package/dist/esm/graphql/fragments/product-option.generated.js +4 -2
  258. package/dist/esm/graphql/fragments/product.generated.js +4 -2
  259. package/dist/esm/graphql/fragments/published-custom-section.generated.js +4 -2
  260. package/dist/esm/graphql/fragments/published-page-section.generated.js +4 -2
  261. package/dist/esm/graphql/fragments/published-theme-page.generated.js +8 -28
  262. package/dist/esm/graphql/fragments/published-theme-style.generated.js +4 -2
  263. package/dist/esm/graphql/fragments/selected-option.generated.js +4 -2
  264. package/dist/esm/graphql/fragments/variant.generated.js +4 -2
  265. package/dist/esm/graphql/mutations/page-view-up.generated.js +6 -4
  266. package/dist/esm/graphql/queries/articles.generated.js +59 -0
  267. package/dist/esm/graphql/queries/blogs.generated.js +67 -0
  268. package/dist/esm/graphql/queries/collection-detail-filter.generated.js +22 -10
  269. package/dist/esm/graphql/queries/collection.generated.js +18 -8
  270. package/dist/esm/graphql/queries/collections.generated.js +8 -3
  271. package/dist/esm/graphql/queries/preview-page.generated.js +16 -10
  272. package/dist/esm/graphql/queries/product-little-detail.generated.js +12 -5
  273. package/dist/esm/graphql/queries/product-medias.generated.js +6 -2
  274. package/dist/esm/graphql/queries/product-value-label.generated.js +4 -2
  275. package/dist/esm/graphql/queries/product-variants.generated.js +10 -4
  276. package/dist/esm/graphql/queries/products.generated.js +20 -9
  277. package/dist/esm/graphql/queries/published-shop-metas.js +13 -0
  278. package/dist/esm/graphql/queries/published-theme-pages.generated.js +20 -9
  279. package/dist/esm/graphql/queries/store-property.generated.js +4 -2
  280. package/dist/esm/graphql-app-api/queries/LibrarySaleFunnelDiscount.generated.js +4 -2
  281. package/dist/esm/graphql-app-api/queries/LibraryTemplate.generated.js +4 -2
  282. package/dist/esm/graphql-app-api/queries/SaleFunnelDiscounts.generated.js +4 -2
  283. package/dist/esm/graphql-app-api/queries/ShopLibraryPage.generated.js +15 -0
  284. package/dist/esm/graphql-app-api/queries/ThemePage.generated.js +4 -2
  285. package/dist/esm/helpers/GlobalEvent.js +15 -1
  286. package/dist/esm/helpers/align.js +17 -0
  287. package/dist/esm/helpers/animations.js +220 -1
  288. package/dist/esm/helpers/background.js +226 -1
  289. package/dist/esm/helpers/borders.js +189 -4
  290. package/dist/esm/helpers/carousel.js +51 -1
  291. package/dist/esm/helpers/clone-deep.js +3 -1
  292. package/dist/esm/helpers/cls.js +14 -1
  293. package/dist/esm/helpers/colors.js +169 -1
  294. package/dist/esm/helpers/compose-advance-style.js +319 -1
  295. package/dist/esm/helpers/constant.js +19 -1
  296. package/dist/esm/helpers/convert.js +4 -1
  297. package/dist/esm/helpers/covert-entities-html.js +17 -1
  298. package/dist/esm/helpers/css-variable.js +5 -1
  299. package/dist/esm/helpers/email.js +6 -1
  300. package/dist/esm/helpers/filter-toolbar-preview.js +9 -1
  301. package/dist/esm/helpers/flatten-connection.js +7 -1
  302. package/dist/esm/helpers/get-resonsive-value.js +31 -1
  303. package/dist/esm/helpers/get-shortname.js +90 -1
  304. package/dist/esm/helpers/icon-list.js +58 -1
  305. package/dist/esm/helpers/interaction/index.js +132 -0
  306. package/dist/esm/helpers/is-browser.js +5 -1
  307. package/dist/esm/helpers/is-defined.js +5 -1
  308. package/dist/esm/helpers/is-empty-children.js +10 -1
  309. package/dist/esm/helpers/is-safari.js +5 -1
  310. package/dist/esm/helpers/layout.js +54 -1
  311. package/dist/esm/helpers/load-script.js +29 -1
  312. package/dist/esm/helpers/loop-component.js +14 -0
  313. package/dist/esm/helpers/make-style.js +149 -1
  314. package/dist/esm/helpers/normalize-builder-data.js +21 -1
  315. package/dist/esm/helpers/pascal-to-kebab-case.js +5 -0
  316. package/dist/esm/helpers/prefetch-queries.js +76 -1
  317. package/dist/esm/helpers/product.js +44 -1
  318. package/dist/esm/helpers/queries/get-collection.js +223 -1
  319. package/dist/esm/helpers/queries/get-collections.js +19 -1
  320. package/dist/esm/helpers/queries/get-product-by-slug.js +123 -1
  321. package/dist/esm/helpers/queries/get-product.js +150 -1
  322. package/dist/esm/helpers/queries/get-products.js +210 -1
  323. package/dist/esm/helpers/query.js +25 -1
  324. package/dist/esm/helpers/radius.js +132 -6
  325. package/dist/esm/helpers/render.js +70 -1
  326. package/dist/esm/helpers/shadow.js +63 -1
  327. package/dist/esm/helpers/size.js +192 -4
  328. package/dist/esm/helpers/spacing.js +40 -1
  329. package/dist/esm/helpers/third-party/addAppBlockId.js +18 -0
  330. package/dist/esm/helpers/third-party/appConfig.js +200 -0
  331. package/dist/esm/helpers/third-party/appSetting.js +658 -0
  332. package/dist/esm/helpers/third-party/composeAppBlockId.js +9 -0
  333. package/dist/esm/helpers/third-party/constant.js +40 -0
  334. package/dist/esm/helpers/third-party/generateAppBlockConfigs.js +32 -0
  335. package/dist/esm/helpers/third-party/getAppBlockConfig.js +45 -0
  336. package/dist/esm/helpers/third-party/getAppBlockType.js +10 -0
  337. package/dist/esm/helpers/third-party/getAppBlocks.js +28 -0
  338. package/dist/esm/helpers/third-party/mergeBlock.js +17 -0
  339. package/dist/esm/helpers/third-party/mergeBlockOrder.js +45 -0
  340. package/dist/esm/helpers/third-party/removeGPAppItems.js +15 -0
  341. package/dist/esm/helpers/tracking/fpixel.js +24 -1
  342. package/dist/esm/helpers/tracking/gtag.js +87 -1
  343. package/dist/esm/helpers/tracking/tiktokpixel.js +15 -1
  344. package/dist/esm/helpers/typography.js +149 -17
  345. package/dist/esm/helpers/variant.js +9 -1
  346. package/dist/esm/hooks/animation/useAnimationActions.js +37 -1
  347. package/dist/esm/hooks/animation/useAnimationConfig.js +28 -1
  348. package/dist/esm/hooks/animation/useAnimationPreview.js +29 -1
  349. package/dist/esm/hooks/animation/useAnimationTarget.js +120 -1
  350. package/dist/esm/hooks/animation/useApplyAnimation.js +85 -1
  351. package/dist/esm/hooks/articles/useArticlesQuery.js +30 -1
  352. package/dist/esm/hooks/cart/use-add-to-cart.js +18 -1
  353. package/dist/esm/hooks/cart/use-cart-data.js +26 -1
  354. package/dist/esm/hooks/cart/use-cart-discount-codes-update.js +18 -1
  355. package/dist/esm/hooks/cart/use-cart-note-update.js +18 -1
  356. package/dist/esm/hooks/cart/use-create-cart.js +20 -1
  357. package/dist/esm/hooks/cart/use-remove-cart-item.js +18 -1
  358. package/dist/esm/hooks/cart/use-update-cart-item.js +18 -1
  359. package/dist/esm/hooks/shop/use-collection-query.js +20 -1
  360. package/dist/esm/hooks/shop/use-collections-query.js +15 -1
  361. package/dist/esm/hooks/shop/use-product-query.js +20 -1
  362. package/dist/esm/hooks/shop/use-products-query.js +59 -1
  363. package/dist/esm/hooks/shop.js +111 -1
  364. package/dist/esm/hooks/use-current-device.js +28 -1
  365. package/dist/esm/hooks/use-lazy-video.js +13 -1
  366. package/dist/esm/hooks/useAnimations.js +27 -1
  367. package/dist/esm/hooks/useCartId.js +40 -1
  368. package/dist/esm/hooks/useCartLine.js +7 -1
  369. package/dist/esm/hooks/useCartUI.js +44 -1
  370. package/dist/esm/hooks/useCollection.js +7 -1
  371. package/dist/esm/hooks/useFetchHandle.js +11 -1
  372. package/dist/esm/hooks/useFormatMoney.js +71 -1
  373. package/dist/esm/hooks/useInitialSwatchesOptions.js +124 -1
  374. package/dist/esm/hooks/useInteraction.js +17 -0
  375. package/dist/esm/hooks/useIsomorphicLayoutEffect.js +6 -1
  376. package/dist/esm/hooks/useLoadScript.js +28 -1
  377. package/dist/esm/hooks/useMoney.js +80 -1
  378. package/dist/esm/hooks/usePrevious.js +17 -1
  379. package/dist/esm/hooks/useProduct.js +228 -1
  380. package/dist/esm/hooks/useProductList.js +16 -1
  381. package/dist/esm/hooks/useSuspenseFetch.js +23 -1
  382. package/dist/esm/hooks/useSwatchesOptions.js +37 -1
  383. package/dist/esm/hooks/useToolbarPostPurchase.js +87 -1
  384. package/dist/esm/index.js +117 -1
  385. package/dist/esm/types/animations.js +49 -1
  386. package/dist/esm/types/custom.js +52 -0
  387. package/dist/esm/types/global-style.js +12 -1
  388. package/dist/esm/web-components/src/helpers/styles/constant.js +7 -1
  389. package/dist/types/index.d.ts +23183 -17335
  390. package/package.json +5 -3
  391. package/dist/cjs/components/animation/AnimationWrapper.js +0 -1
  392. package/dist/cjs/hooks/animation/animations.js +0 -1
  393. package/dist/cjs/hooks/animation/useLivePageAnimation.js +0 -1
  394. package/dist/esm/components/animation/AnimationWrapper.js +0 -1
  395. package/dist/esm/hooks/animation/animations.js +0 -1
  396. package/dist/esm/hooks/animation/useLivePageAnimation.js +0 -1
@@ -1 +1,30 @@
1
- "use strict";var react=require("react"),useCurrentDevice=require("../use-current-device.js");const useAnimationConfig=e=>{let n=useCurrentDevice.useCurrentDevice(),t=react.useMemo(()=>e?.advanced?.animation?.[n],[n,e?.advanced?.animation]),r=react.useCallback(()=>{let{trigger:e,triggerConfig:n}=t,{animation:r,setting:i}=n[e];return{type:r,setting:i[r]}},[t]),i=t?.enabled;return{isEnabledAnimation:i,getAnimationConfig:r}};exports.useAnimationConfig=useAnimationConfig;
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var useCurrentDevice = require('../use-current-device.js');
5
+
6
+ const useAnimationConfig = (props)=>{
7
+ const currentDevice = useCurrentDevice.useCurrentDevice();
8
+ const configByDevices = react.useMemo(()=>props?.advanced?.animation?.[currentDevice], [
9
+ currentDevice,
10
+ props?.advanced?.animation
11
+ ]);
12
+ const getAnimationConfig = react.useCallback(()=>{
13
+ const { trigger, triggerConfig } = configByDevices;
14
+ const { animation, setting } = triggerConfig[trigger];
15
+ return {
16
+ type: animation,
17
+ setting: setting[animation],
18
+ reverse: trigger === "hidden"
19
+ };
20
+ }, [
21
+ configByDevices
22
+ ]);
23
+ const isEnabledAnimation = configByDevices?.enabled;
24
+ return {
25
+ isEnabledAnimation,
26
+ getAnimationConfig
27
+ };
28
+ };
29
+
30
+ exports.useAnimationConfig = useAnimationConfig;
@@ -1 +1,31 @@
1
- "use strict";var react=require("react");const useAnimationPreview=({props:e,playAnimation:i,cancelAnimation:r,setAnimationOnFinish:t,setToolbarActive:a})=>{let u=react.useCallback(u=>{let{uid:n,isCancel:s}=u.detail;if(e.uid===n){if(r(),s){a(!0);return}i(),a(!1),t(()=>{a(!0)})}},[e.uid,r,i,a,t]);return{previewAnimation:u}};exports.useAnimationPreview=useAnimationPreview;
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+
5
+ const useAnimationPreview = ({ props, playAnimation, cancelAnimation, setAnimationOnFinish, setToolbarActive })=>{
6
+ const previewAnimation = react.useCallback((e)=>{
7
+ const { uid, isCancel } = e.detail;
8
+ if (props.uid !== uid) return;
9
+ cancelAnimation();
10
+ if (isCancel) {
11
+ setToolbarActive(true);
12
+ return;
13
+ }
14
+ playAnimation();
15
+ setToolbarActive(false);
16
+ setAnimationOnFinish(()=>{
17
+ setToolbarActive(true);
18
+ });
19
+ }, [
20
+ props.uid,
21
+ cancelAnimation,
22
+ playAnimation,
23
+ setToolbarActive,
24
+ setAnimationOnFinish
25
+ ]);
26
+ return {
27
+ previewAnimation
28
+ };
29
+ };
30
+
31
+ exports.useAnimationPreview = useAnimationPreview;
@@ -1 +1,122 @@
1
- "use strict";var react=require("react"),useAnimationConfig=require("./useAnimationConfig.js");const SPACING_ACTIVE_ATTRIBUTE="data-spacing-margin-bottom-active",TOOLBAR_ACTIVE_ATTRIBUTE="data-toolbar-active",OUTLINE_ACTIVE_ATTRIBUTE="data-outline-active",TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE="data-toolbar-add-active",useAnimationTarget=t=>{let{isEnabledAnimation:e}=useAnimationConfig.useAnimationConfig(t),r=t.tag,a=t.uid,o=react.useRef(null),T=react.useRef([]),u=t=>{if(T.current)for(let e of T.current)t?(e.toolbar?.setAttribute(TOOLBAR_ACTIVE_ATTRIBUTE,"true"),e.outline?.setAttribute(OUTLINE_ACTIVE_ATTRIBUTE,"true"),e.spacing?.setAttribute(SPACING_ACTIVE_ATTRIBUTE,"true"),e.addSectionTop?.setAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE,"true"),e.addSectionBottom?.setAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE,"true")):(e.toolbar?.removeAttribute(TOOLBAR_ACTIVE_ATTRIBUTE),e.outline?.removeAttribute(OUTLINE_ACTIVE_ATTRIBUTE),e.spacing?.removeAttribute(SPACING_ACTIVE_ATTRIBUTE),e.addSectionTop?.removeAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE),e.addSectionBottom?.removeAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE))},i=t=>{let e=t.querySelector("[data-toolbar-add-top]"),r=t.querySelector("[data-toolbar-add-bottom]"),a=Array.from(t.children),o=a.find(t=>null!==t.getAttribute("data-toolbar")),T=a.find(t=>null!==t.getAttribute("data-outline"));return{sectionToolbar:o,sectionOutline:T,sectionAddTop:e,sectionAddBottom:r}},n=react.useCallback(t=>t.reduce((t,e)=>{let a=null,o=null,T=e,u=e.querySelector("[data-toolbar][data-toolbar-active]"),n=e.querySelector("[data-outline][data-outline-active]"),A=e.querySelector("[data-spacing] [data-spacing-margin-bottom]");switch(r){case"Button":case"SubmitButton":case"ProductButton":case"DynamicCheckout":T=e.querySelector(".gp-button-base");break;case"ProductProperties":T=e.querySelector("input");break;case"Icon":T=e.firstElementChild;break;case"ProductTag":T=e?.children[0]?.children[0];break;case"Section":{T=e;let{sectionOutline:t,sectionToolbar:r,sectionAddTop:A,sectionAddBottom:c}=i(T);n=t,u=r,a=A,o=c;break}default:T=e}let c={target:T,toolbar:u,outline:n,spacing:A,addSectionTop:a,addSectionBottom:o};return t.push(c),t},[]),[r]),A=react.useCallback(()=>{if(!e)return;o.current||(o.current=document.querySelectorAll(`[data-uid="${a}"]`));let t=Array.from(o.current);if(!t.length)return;let r=n(t);T.current=r},[a,n,e]);return{targetObjects:T,setToolbarActive:u,initListOfTargets:A}};exports.useAnimationTarget=useAnimationTarget;
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var useAnimationConfig = require('./useAnimationConfig.js');
5
+
6
+ const SPACING_ACTIVE_ATTRIBUTE = 'data-spacing-margin-bottom-active';
7
+ const TOOLBAR_ACTIVE_ATTRIBUTE = 'data-toolbar-active';
8
+ const OUTLINE_ACTIVE_ATTRIBUTE = 'data-outline-active';
9
+ const TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE = 'data-toolbar-add-active';
10
+ const useAnimationTarget = (props)=>{
11
+ const { isEnabledAnimation } = useAnimationConfig.useAnimationConfig(props);
12
+ const componentTag = props.tag;
13
+ const componentUid = props.uid;
14
+ const targets = react.useRef(null);
15
+ const targetObjects = react.useRef([]);
16
+ const setToolbarActive = (isActive)=>{
17
+ if (!targetObjects.current) return;
18
+ for (const item of targetObjects.current){
19
+ if (isActive) {
20
+ item.toolbar?.setAttribute(TOOLBAR_ACTIVE_ATTRIBUTE, 'true');
21
+ item.outline?.setAttribute(OUTLINE_ACTIVE_ATTRIBUTE, 'true');
22
+ item.spacing?.setAttribute(SPACING_ACTIVE_ATTRIBUTE, 'true');
23
+ item.addSectionTop?.setAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE, 'true');
24
+ item.addSectionBottom?.setAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE, 'true');
25
+ } else {
26
+ item.toolbar?.removeAttribute(TOOLBAR_ACTIVE_ATTRIBUTE);
27
+ item.outline?.removeAttribute(OUTLINE_ACTIVE_ATTRIBUTE);
28
+ item.spacing?.removeAttribute(SPACING_ACTIVE_ATTRIBUTE);
29
+ item.addSectionTop?.removeAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE);
30
+ item.addSectionBottom?.removeAttribute(TOOLBAR_ADD_SECTION_ACTIVE_ATTRIBUTE);
31
+ }
32
+ }
33
+ };
34
+ const getSectionProperties = (target)=>{
35
+ const sectionAddTop = target.querySelector('[data-toolbar-add-top]');
36
+ const sectionAddBottom = target.querySelector('[data-toolbar-add-bottom]');
37
+ const sectionChild = Array.from(target.children);
38
+ const sectionToolbar = sectionChild.find((child)=>child.getAttribute('data-toolbar') !== null);
39
+ const sectionOutline = sectionChild.find((child)=>child.getAttribute('data-outline') !== null);
40
+ return {
41
+ sectionToolbar,
42
+ sectionOutline,
43
+ sectionAddTop,
44
+ sectionAddBottom
45
+ };
46
+ };
47
+ const getUpdatedTargetObjects = react.useCallback((targets)=>{
48
+ return targets.reduce((accumulator, $rootTarget)=>{
49
+ let addSectionTop = null;
50
+ let addSectionBottom = null;
51
+ let target = $rootTarget;
52
+ let toolbar = $rootTarget.querySelector('[data-toolbar][data-toolbar-active]');
53
+ let outline = $rootTarget.querySelector('[data-outline][data-outline-active]');
54
+ const spacing = $rootTarget.querySelector('[data-spacing] [data-spacing-margin-bottom]');
55
+ switch(componentTag){
56
+ case 'Button':
57
+ case 'SubmitButton':
58
+ case 'ProductButton':
59
+ case 'DynamicCheckout':
60
+ target = $rootTarget.querySelector('.gp-button-base');
61
+ break;
62
+ case 'ProductProperties':
63
+ target = $rootTarget.querySelector('input');
64
+ break;
65
+ case 'Icon':
66
+ target = $rootTarget.firstElementChild;
67
+ break;
68
+ case 'ProductTag':
69
+ target = $rootTarget?.children[0]?.children[0];
70
+ break;
71
+ case 'Section':
72
+ {
73
+ target = $rootTarget;
74
+ const { sectionOutline, sectionToolbar, sectionAddTop, sectionAddBottom } = getSectionProperties(target);
75
+ outline = sectionOutline;
76
+ toolbar = sectionToolbar;
77
+ addSectionTop = sectionAddTop;
78
+ addSectionBottom = sectionAddBottom;
79
+ break;
80
+ }
81
+ default:
82
+ target = $rootTarget;
83
+ }
84
+ const newTargetObject = {
85
+ target,
86
+ toolbar,
87
+ outline,
88
+ spacing,
89
+ addSectionTop,
90
+ addSectionBottom
91
+ };
92
+ accumulator.push(newTargetObject);
93
+ return accumulator;
94
+ }, []);
95
+ }, [
96
+ componentTag
97
+ ]);
98
+ const initListOfTargets = react.useCallback(()=>{
99
+ if (!isEnabledAnimation) return;
100
+ if (!targets.current) {
101
+ const $storefront = document.body.querySelector('#storefront');
102
+ if ($storefront) {
103
+ targets.current = $storefront.querySelectorAll(`[data-uid="${componentUid}"]`);
104
+ }
105
+ }
106
+ const targetsArray = Array.from(targets.current || []);
107
+ if (!targetsArray.length) return;
108
+ const updatedTargetObjects = getUpdatedTargetObjects(targetsArray);
109
+ targetObjects.current = updatedTargetObjects;
110
+ }, [
111
+ componentUid,
112
+ getUpdatedTargetObjects,
113
+ isEnabledAnimation
114
+ ]);
115
+ return {
116
+ targetObjects,
117
+ setToolbarActive,
118
+ initListOfTargets
119
+ };
120
+ };
121
+
122
+ exports.useAnimationTarget = useAnimationTarget;
@@ -1 +1,89 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var react=require("react"),useAnimations=require("../useAnimations.js"),useAnimationTarget=require("./useAnimationTarget.js"),useAnimationConfig=require("./useAnimationConfig.js"),useAnimationActions=require("./useAnimationActions.js"),useAnimationPreview=require("./useAnimationPreview.js"),animations=require("../../types/animations.js");const useApplyAnimation=({props:e})=>{let{uid:i}=e,n=useAnimations.useAnimations(),{initListOfTargets:t,targetObjects:a,setToolbarActive:s}=useAnimationTarget.useAnimationTarget(e),{isEnabledAnimation:r,getAnimationConfig:o}=useAnimationConfig.useAnimationConfig(e),{setAnimation:u,cancelAnimation:m,playAnimation:A,setAnimationOnFinish:c}=useAnimationActions.useAnimationActions(),{previewAnimation:p}=useAnimationPreview.useAnimationPreview({props:e,playAnimation:A,cancelAnimation:m,setAnimationOnFinish:c,setToolbarActive:s}),v=react.useCallback(({target:e,setting:i,type:t})=>n[t](e,i),[n]),w=react.useCallback(()=>{let{type:e,setting:i}=o();if(!e||e===animations.AnimationType.None||!a.current.length){m();return}let n=a.current.map(n=>v({type:e,setting:i,target:n.target}));m(),u(n)},[o,a,m,u,v]);react.useEffect(()=>(r?(t(),w()):m(),()=>{m()}),[i,w,m,r,t]),react.useEffect(()=>(window.addEventListener("preview-animation",p),()=>{window.removeEventListener("preview-animation",p)}),[p]),react.useEffect(()=>(window.addEventListener("init-animation-target",t),()=>{window.removeEventListener("init-animation-target",t)}),[t])};exports.default=useApplyAnimation;
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var react = require('react');
6
+ var useAnimations = require('../useAnimations.js');
7
+ var useAnimationTarget = require('./useAnimationTarget.js');
8
+ var useAnimationConfig = require('./useAnimationConfig.js');
9
+ var useAnimationActions = require('./useAnimationActions.js');
10
+ var useAnimationPreview = require('./useAnimationPreview.js');
11
+ require('../../types/custom.js');
12
+ var animations = require('../../types/animations.js');
13
+
14
+ const useApplyAnimation = ({ props })=>{
15
+ const currentProps = props;
16
+ const { uid: componentUid } = currentProps;
17
+ const animation = useAnimations.useAnimations();
18
+ const { initListOfTargets, targetObjects, setToolbarActive } = useAnimationTarget.useAnimationTarget(currentProps);
19
+ const { isEnabledAnimation, getAnimationConfig } = useAnimationConfig.useAnimationConfig(currentProps);
20
+ const { setAnimation, cancelAnimation, playAnimation, setAnimationOnFinish } = useAnimationActions.useAnimationActions();
21
+ const { previewAnimation } = useAnimationPreview.useAnimationPreview({
22
+ props: currentProps,
23
+ playAnimation,
24
+ cancelAnimation,
25
+ setAnimationOnFinish,
26
+ setToolbarActive
27
+ });
28
+ const generateAnimation = react.useCallback(({ target, setting, type, reverse })=>{
29
+ return animation[type](target, setting, reverse);
30
+ }, [
31
+ animation
32
+ ]);
33
+ const initListAnimations = react.useCallback(()=>{
34
+ const { type, setting, reverse } = getAnimationConfig();
35
+ if (!type || type === animations.AnimationType.None || !targetObjects.current.length) {
36
+ cancelAnimation();
37
+ return;
38
+ }
39
+ const listAnimations = targetObjects.current.map((item)=>generateAnimation({
40
+ type,
41
+ setting,
42
+ target: item.target,
43
+ reverse
44
+ }));
45
+ cancelAnimation();
46
+ setAnimation(listAnimations);
47
+ }, [
48
+ getAnimationConfig,
49
+ targetObjects,
50
+ cancelAnimation,
51
+ setAnimation,
52
+ generateAnimation
53
+ ]);
54
+ react.useEffect(()=>{
55
+ if (isEnabledAnimation) {
56
+ initListOfTargets();
57
+ initListAnimations();
58
+ } else {
59
+ cancelAnimation();
60
+ }
61
+ return ()=>{
62
+ cancelAnimation();
63
+ };
64
+ }, [
65
+ componentUid,
66
+ initListAnimations,
67
+ cancelAnimation,
68
+ isEnabledAnimation,
69
+ initListOfTargets
70
+ ]);
71
+ react.useEffect(()=>{
72
+ window.addEventListener('preview-animation', previewAnimation);
73
+ return ()=>{
74
+ window.removeEventListener('preview-animation', previewAnimation);
75
+ };
76
+ }, [
77
+ previewAnimation
78
+ ]);
79
+ react.useEffect(()=>{
80
+ window.addEventListener('init-animation-target', initListOfTargets);
81
+ return ()=>{
82
+ window.removeEventListener('init-animation-target', initListOfTargets);
83
+ };
84
+ }, [
85
+ initListOfTargets
86
+ ]);
87
+ };
88
+
89
+ exports.default = useApplyAnimation;
@@ -1 +1,33 @@
1
- "use strict";const mock=[{baseID:"gid://shopify/OnlineStoreBlog/592066740457",id:592066740457,title:"Blog post might appear in a search engine listing",created_at:"2024-05-09T04:06:12-04:00",body_html:'<span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span>',blog_id:91970044137,author:"Dev Team",user_id:90371653865,published_at:"2024-05-09T04:06:12-04:00",updated_at:"2024-05-09T04:06:13-04:00",summary_html:"",template_suffix:"",handle:"blog-post-might-appear-in-a-search-engine-listing",tags:"vintage",admin_graphql_api_id:"gid://shopify/OnlineStoreArticle/592066740457",image:{created_at:"2024-05-09T04:06:12-04:00",alt:"",width:1073,height:719,src:"https://cdn.shopify.com/s/files/1/0692/6562/1225/articles/Screenshot_2.jpg?v=1715241973"}},{baseID:"gid://shopify/OnlineStoreBlog/592066707689",id:592066707689,title:"ar on your home page or blog.",created_at:"2024-05-09T04:05:26-04:00",body_html:'<span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span>',blog_id:91970044137,author:"Dev Team",user_id:90371653865,published_at:"2024-05-09T04:05:25-04:00",updated_at:"2024-05-09T05:35:29-04:00",summary_html:"",template_suffix:"",handle:"ar-on-your-home-page-or-blog",tags:"cotton, vintage",admin_graphql_api_id:"gid://shopify/OnlineStoreArticle/592066707689",image:{created_at:"2024-05-09T04:05:26-04:00",alt:"",width:1080,height:719,src:"https://cdn.shopify.com/s/files/1/0692/6562/1225/articles/Screenshot_1.jpg?v=1715241926"}},{baseID:"gid://shopify/OnlineStoreBlog/592066674921",id:592066674921,title:"Add a summary of the post.",created_at:"2024-05-09T04:04:44-04:00",body_html:'<span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span><span data-mce-fragment="1">Add a title and description to see how this Blog post might appear in a search engine listing</span>',blog_id:91970044137,author:"Dev Team",user_id:90371653865,published_at:"2024-05-09T04:04:44-04:00",updated_at:"2024-05-09T04:04:45-04:00",summary_html:"",template_suffix:"",handle:"add-a-summary-of-the-post",tags:"",admin_graphql_api_id:"gid://shopify/OnlineStoreArticle/592066674921",image:{created_at:"2024-05-09T04:04:44-04:00",alt:"",width:1086,height:718,src:"https://cdn.shopify.com/s/files/1/0692/6562/1225/articles/Screenshot_7.jpg?v=1715241885"}},{baseID:"gid://shopify/OnlineStoreBlog/592058777833",id:592058777833,title:"Article Page - May 7, 10:47:14",created_at:"2024-05-06T23:47:59-04:00",body_html:'<h2>\n<span>Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span>\n</h2>',blog_id:91970044137,author:"GemPages",user_id:null,published_at:"2024-05-06T23:47:59-04:00",updated_at:"2024-05-09T04:06:48-04:00",summary_html:"",template_suffix:"gp-template-512584275137135821",handle:"article-page-may-7-10-47-14",tags:"vintage",admin_graphql_api_id:"gid://shopify/OnlineStoreArticle/592058777833",image:{created_at:"2024-05-09T04:06:41-04:00",alt:"",width:578,height:585,src:"https://cdn.shopify.com/s/files/1/0692/6562/1225/articles/Screenshot_3.png?v=1715242002"}},{baseID:"gid://shopify/OnlineStoreBlog/592058679529",id:592058679529,title:"Blog about your latest products or deals",created_at:"2024-05-06T22:36:55-04:00",body_html:'<span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span><span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span>',blog_id:91970044137,author:"Dev Team",user_id:90371653865,published_at:"2024-05-06T22:36:54-04:00",updated_at:"2024-05-09T03:46:39-04:00",summary_html:'<span data-mce-fragment="1">Add a summary of the post to appear on your home page or blog.</span>',template_suffix:"gp-template-512584275137135821",handle:"blog-about-your-latest-products-or-deals",tags:"",admin_graphql_api_id:"gid://shopify/OnlineStoreArticle/592058679529",image:{created_at:"2024-05-06T22:36:55-04:00",alt:"",width:497,height:618,src:"https://cdn.shopify.com/s/files/1/0692/6562/1225/articles/Screenshot_3.jpg?v=1715049415"}}],useArticlesQuery=()=>mock,useBlogsQuery=()=>({blogs:{edges:[{node:{id:"511006979737518962",title:"News",baseID:"gid://shopify/OnlineStoreBlog/91970044137",tags:[],handle:"news",descriptionMeta:"",description:"",titleMeta:"",templateSuffix:"",platform:"SHOPIFY"}}]}});exports.useArticlesQuery=useArticlesQuery,exports.useBlogsQuery=useBlogsQuery;
1
+ 'use strict';
2
+
3
+ var articles_generated = require('../../graphql/queries/articles.generated.js');
4
+ var useFetchHandle = require('../useFetchHandle.js');
5
+ var useSWR = require('swr');
6
+ var blogs_generated = require('../../graphql/queries/blogs.generated.js');
7
+
8
+ const useArticlesQuery = (variables, options)=>{
9
+ const fetcher = useFetchHandle.useFetchHandle();
10
+ const fetchArticles = ()=>fetcher([
11
+ articles_generated.ArticlesDocument,
12
+ variables ?? {}
13
+ ]);
14
+ return useSWR(variables ? [
15
+ 'query/articles',
16
+ variables
17
+ ] : null, fetchArticles, options);
18
+ };
19
+ const useBlogsQuery = (variables, options)=>{
20
+ const fetcher = useFetchHandle.useFetchHandle();
21
+ //@ts-ignore
22
+ const fetchBlogs = ()=>fetcher([
23
+ blogs_generated.BlogsDocument,
24
+ variables ?? {}
25
+ ]);
26
+ return useSWR(variables ? [
27
+ 'query/blogs',
28
+ variables
29
+ ] : null, fetchBlogs, options);
30
+ };
31
+
32
+ exports.useArticlesQuery = useArticlesQuery;
33
+ exports.useBlogsQuery = useBlogsQuery;
@@ -1 +1,20 @@
1
- "use strict";var adapterShopify=require("@gem-sdk/adapter-shopify"),useSWR=require("swr"),useSWRMutation=require("swr/mutation"),shop=require("../shop.js");const useAddToCart=e=>{let r=shop.useStoreFront(),{mutate:s}=useSWR.useSWRConfig();return useSWRMutation("add-to-cart",(e,{arg:s})=>adapterShopify.addToCartOperation(r)(s),{...e,onSuccess:(r,t,o)=>{s("cart",r,!1),e?.onSuccess?.(r,t,o)}})};exports.useAddToCart=useAddToCart;
1
+ 'use strict';
2
+
3
+ var adapterShopify = require('@gem-sdk/adapter-shopify');
4
+ var useSWR = require('swr');
5
+ var useSWRMutation = require('swr/mutation');
6
+ var shop = require('../shop.js');
7
+
8
+ const useAddToCart = (options)=>{
9
+ const shop$1 = shop.useStoreFront();
10
+ const { mutate } = useSWR.useSWRConfig();
11
+ return useSWRMutation('add-to-cart', (_, { arg })=>adapterShopify.addToCartOperation(shop$1)(arg), {
12
+ ...options,
13
+ onSuccess: (result, key, config)=>{
14
+ mutate('cart', result, false);
15
+ options?.onSuccess?.(result, key, config);
16
+ }
17
+ });
18
+ };
19
+
20
+ exports.useAddToCart = useAddToCart;
@@ -1 +1,28 @@
1
- "use strict";var adapterShopify=require("@gem-sdk/adapter-shopify"),useSWR=require("swr"),shop=require("../shop.js"),useCartId=require("../useCartId.js");const useCartData=e=>{let{cartId:r,clearCartId:a}=useCartId.default(),t=shop.useStoreFront();return useSWR(r?"cart":null,()=>adapterShopify.getCartOperation(t)({cartId:r}),{revalidateOnMount:!0,revalidateOnFocus:!0,keepPreviousData:!1,dedupingInterval:2e3,...e,onSuccess(r,t,s){r||a(),e?.onSuccess?.(r,t,s)}})};exports.useCartData=useCartData;
1
+ 'use strict';
2
+
3
+ var adapterShopify = require('@gem-sdk/adapter-shopify');
4
+ var useSWR = require('swr');
5
+ var shop = require('../shop.js');
6
+ var useCartId = require('../useCartId.js');
7
+
8
+ const useCartData = (options)=>{
9
+ const { cartId, clearCartId } = useCartId.default();
10
+ const shop$1 = shop.useStoreFront();
11
+ return useSWR(cartId ? 'cart' : null, ()=>adapterShopify.getCartOperation(shop$1)({
12
+ cartId: cartId
13
+ }), {
14
+ revalidateOnMount: true,
15
+ revalidateOnFocus: true,
16
+ keepPreviousData: false,
17
+ dedupingInterval: 2000,
18
+ ...options,
19
+ onSuccess (data, key, config) {
20
+ if (!data) {
21
+ clearCartId();
22
+ }
23
+ options?.onSuccess?.(data, key, config);
24
+ }
25
+ });
26
+ };
27
+
28
+ exports.useCartData = useCartData;
@@ -1 +1,20 @@
1
- "use strict";var adapterShopify=require("@gem-sdk/adapter-shopify"),useSWR=require("swr"),useSWRMutation=require("swr/mutation"),shop=require("../shop.js");const useCartDiscountCodesUpdate=e=>{let s=shop.useStoreFront(),{mutate:t}=useSWR.useSWRConfig();return useSWRMutation("cart-discount-codes-update",(e,{arg:t})=>adapterShopify.cartDiscountCodesUpdateOperation(s)(t),{...e,onSuccess:(s,o,r)=>{t("cart",s,!1),e?.onSuccess?.(s,o,r)}})};exports.useCartDiscountCodesUpdate=useCartDiscountCodesUpdate;
1
+ 'use strict';
2
+
3
+ var adapterShopify = require('@gem-sdk/adapter-shopify');
4
+ var useSWR = require('swr');
5
+ var useSWRMutation = require('swr/mutation');
6
+ var shop = require('../shop.js');
7
+
8
+ const useCartDiscountCodesUpdate = (options)=>{
9
+ const shop$1 = shop.useStoreFront();
10
+ const { mutate } = useSWR.useSWRConfig();
11
+ return useSWRMutation('cart-discount-codes-update', (_, { arg })=>adapterShopify.cartDiscountCodesUpdateOperation(shop$1)(arg), {
12
+ ...options,
13
+ onSuccess: (result, key, config)=>{
14
+ mutate('cart', result, false);
15
+ options?.onSuccess?.(result, key, config);
16
+ }
17
+ });
18
+ };
19
+
20
+ exports.useCartDiscountCodesUpdate = useCartDiscountCodesUpdate;
@@ -1 +1,20 @@
1
- "use strict";var adapterShopify=require("@gem-sdk/adapter-shopify"),useSWR=require("swr"),useSWRMutation=require("swr/mutation"),shop=require("../shop.js");const useCartNoteUpdate=e=>{let t=shop.useStoreFront(),{mutate:r}=useSWR.useSWRConfig();return useSWRMutation("cart-note-update",(e,{arg:r})=>adapterShopify.cartNoteUpdateOperation(t)(r),{...e,onSuccess:(t,s,a)=>{r("cart",t,!1),e?.onSuccess?.(t,s,a)}})};exports.useCartNoteUpdate=useCartNoteUpdate;
1
+ 'use strict';
2
+
3
+ var adapterShopify = require('@gem-sdk/adapter-shopify');
4
+ var useSWR = require('swr');
5
+ var useSWRMutation = require('swr/mutation');
6
+ var shop = require('../shop.js');
7
+
8
+ const useCartNoteUpdate = (options)=>{
9
+ const shop$1 = shop.useStoreFront();
10
+ const { mutate } = useSWR.useSWRConfig();
11
+ return useSWRMutation('cart-note-update', (_, { arg })=>adapterShopify.cartNoteUpdateOperation(shop$1)(arg), {
12
+ ...options,
13
+ onSuccess: (result, key, config)=>{
14
+ mutate('cart', result, false);
15
+ options?.onSuccess?.(result, key, config);
16
+ }
17
+ });
18
+ };
19
+
20
+ exports.useCartNoteUpdate = useCartNoteUpdate;
@@ -1 +1,22 @@
1
- "use strict";var adapterShopify=require("@gem-sdk/adapter-shopify"),useSWR=require("swr"),useSWRMutation=require("swr/mutation"),shop=require("../shop.js");const useCreateCart=e=>{let r=shop.useStoreFront(),{mutate:t}=useSWR.useSWRConfig();return useSWRMutation("create-cart",(e,{arg:t})=>adapterShopify.createCartOperation(r)(t),{...e,onSuccess:(r,s,a)=>{t("cart",r,!1),e?.onSuccess?.(r,s,a)}})};exports.useCreateCart=useCreateCart;
1
+ 'use strict';
2
+
3
+ var adapterShopify = require('@gem-sdk/adapter-shopify');
4
+ var useSWR = require('swr');
5
+ var useSWRMutation = require('swr/mutation');
6
+ var shop = require('../shop.js');
7
+
8
+ const useCreateCart = (options)=>{
9
+ const shop$1 = shop.useStoreFront();
10
+ const { mutate } = useSWR.useSWRConfig();
11
+ return useSWRMutation('create-cart', (_, { arg })=>{
12
+ return adapterShopify.createCartOperation(shop$1)(arg);
13
+ }, {
14
+ ...options,
15
+ onSuccess: (result, key, config)=>{
16
+ mutate('cart', result, false);
17
+ options?.onSuccess?.(result, key, config);
18
+ }
19
+ });
20
+ };
21
+
22
+ exports.useCreateCart = useCreateCart;
@@ -1 +1,20 @@
1
- "use strict";var adapterShopify=require("@gem-sdk/adapter-shopify"),useSWR=require("swr"),useSWRMutation=require("swr/mutation"),shop=require("../shop.js");const useRemoveCartItem=e=>{let r=shop.useStoreFront(),{mutate:t}=useSWR.useSWRConfig();return useSWRMutation("remove-cart-item",(e,{arg:t})=>adapterShopify.removeCartItemOperation(r)(t),{...e,onSuccess:(r,s,o)=>{t("cart",r,!1),e?.onSuccess?.(r,s,o)}})};exports.useRemoveCartItem=useRemoveCartItem;
1
+ 'use strict';
2
+
3
+ var adapterShopify = require('@gem-sdk/adapter-shopify');
4
+ var useSWR = require('swr');
5
+ var useSWRMutation = require('swr/mutation');
6
+ var shop = require('../shop.js');
7
+
8
+ const useRemoveCartItem = (options)=>{
9
+ const shop$1 = shop.useStoreFront();
10
+ const { mutate } = useSWR.useSWRConfig();
11
+ return useSWRMutation('remove-cart-item', (_, { arg })=>adapterShopify.removeCartItemOperation(shop$1)(arg), {
12
+ ...options,
13
+ onSuccess: (result, key, config)=>{
14
+ mutate('cart', result, false);
15
+ options?.onSuccess?.(result, key, config);
16
+ }
17
+ });
18
+ };
19
+
20
+ exports.useRemoveCartItem = useRemoveCartItem;
@@ -1 +1,20 @@
1
- "use strict";var adapterShopify=require("@gem-sdk/adapter-shopify"),useSWR=require("swr"),useSWRMutation=require("swr/mutation"),shop=require("../shop.js");const useUpdateCartItem=e=>{let t=shop.useStoreFront(),{mutate:r}=useSWR.useSWRConfig();return useSWRMutation("update-cart-item",(e,{arg:r})=>adapterShopify.updateCartLineOperation(t)(r),{...e,onSuccess:(t,s,a)=>{r("cart",t,!1),e?.onSuccess?.(t,s,a)}})};exports.useUpdateCartItem=useUpdateCartItem;
1
+ 'use strict';
2
+
3
+ var adapterShopify = require('@gem-sdk/adapter-shopify');
4
+ var useSWR = require('swr');
5
+ var useSWRMutation = require('swr/mutation');
6
+ var shop = require('../shop.js');
7
+
8
+ const useUpdateCartItem = (options)=>{
9
+ const shop$1 = shop.useStoreFront();
10
+ const { mutate } = useSWR.useSWRConfig();
11
+ return useSWRMutation('update-cart-item', (_, { arg })=>adapterShopify.updateCartLineOperation(shop$1)(arg), {
12
+ ...options,
13
+ onSuccess: (result, key, config)=>{
14
+ mutate('cart', result, false);
15
+ options?.onSuccess?.(result, key, config);
16
+ }
17
+ });
18
+ };
19
+
20
+ exports.useUpdateCartItem = useUpdateCartItem;
@@ -1 +1,22 @@
1
- "use strict";var useSWR=require("swr"),getCollection=require("../../helpers/queries/get-collection.js"),shop=require("../shop.js"),useFetchHandle=require("../useFetchHandle.js"),query=require("../../helpers/query.js");const useCollectionQuery=(e,r)=>{let s=useFetchHandle.useFetchHandle(),u=shop.useIsSampleProduct(),t=shop.useIsStorefrontProduct();return useSWR(e?query.generateCollectionQueryKey({...e,isSample:u,isStorefront:t}):null,([,e])=>getCollection.getCollection(s,e),r)};exports.useCollectionQuery=useCollectionQuery;
1
+ 'use strict';
2
+
3
+ var useSWR = require('swr');
4
+ var getCollection = require('../../helpers/queries/get-collection.js');
5
+ var shop = require('../shop.js');
6
+ var useFetchHandle = require('../useFetchHandle.js');
7
+ var query = require('../../helpers/query.js');
8
+
9
+ const useCollectionQuery = (args, options)=>{
10
+ const fetcher = useFetchHandle.useFetchHandle();
11
+ const isSample = shop.useIsSampleProduct();
12
+ const isStorefront = shop.useIsStorefrontProduct();
13
+ return useSWR(args ? query.generateCollectionQueryKey({
14
+ ...args,
15
+ isSample,
16
+ isStorefront
17
+ }) : null, ([, arg])=>{
18
+ return getCollection.getCollection(fetcher, arg);
19
+ }, options);
20
+ };
21
+
22
+ exports.useCollectionQuery = useCollectionQuery;
@@ -1 +1,17 @@
1
- "use strict";var useSWR=require("swr"),getCollections=require("../../helpers/queries/get-collections.js"),useFetchHandle=require("../useFetchHandle.js");const useCollectionsQuery=(e,s)=>{let l=useFetchHandle.useFetchHandle();return useSWR(e?["query/collections",e]:null,async([,e])=>getCollections.getCollections(l,e),s)};exports.useCollectionsQuery=useCollectionsQuery;
1
+ 'use strict';
2
+
3
+ var useSWR = require('swr');
4
+ var getCollections = require('../../helpers/queries/get-collections.js');
5
+ var useFetchHandle = require('../useFetchHandle.js');
6
+
7
+ const useCollectionsQuery = (variable, options)=>{
8
+ const fetcher = useFetchHandle.useFetchHandle();
9
+ return useSWR(variable ? [
10
+ 'query/collections',
11
+ variable
12
+ ] : null, async ([, arg])=>{
13
+ return getCollections.getCollections(fetcher, arg);
14
+ }, options);
15
+ };
16
+
17
+ exports.useCollectionsQuery = useCollectionsQuery;
@@ -1 +1,22 @@
1
- "use strict";var useSWR=require("swr"),getProduct=require("../../helpers/queries/get-product.js"),shop=require("../shop.js"),useFetchHandle=require("../useFetchHandle.js"),query=require("../../helpers/query.js");const useProductQuery=(e,r,u)=>{let s=useFetchHandle.useFetchHandle(),t=shop.useIsSampleProduct(),o=shop.useIsStorefrontProduct();return useSWR(e?query.generateProductQueryKey({id:e,isSample:t,isStorefront:o}):null,async([,e])=>getProduct.getProduct(u||s,e),r)};exports.useProductQuery=useProductQuery;
1
+ 'use strict';
2
+
3
+ var useSWR = require('swr');
4
+ var getProduct = require('../../helpers/queries/get-product.js');
5
+ var shop = require('../shop.js');
6
+ var useFetchHandle = require('../useFetchHandle.js');
7
+ var query = require('../../helpers/query.js');
8
+
9
+ const useProductQuery = (productId, options, customFetcher)=>{
10
+ const fetcher = useFetchHandle.useFetchHandle();
11
+ const isSample = shop.useIsSampleProduct();
12
+ const isStorefront = shop.useIsStorefrontProduct();
13
+ return useSWR(productId ? query.generateProductQueryKey({
14
+ id: productId,
15
+ isSample,
16
+ isStorefront
17
+ }) : null, async ([, arg])=>{
18
+ return getProduct.getProduct(customFetcher || fetcher, arg);
19
+ }, options);
20
+ };
21
+
22
+ exports.useProductQuery = useProductQuery;
@@ -1 +1,63 @@
1
- "use strict";var useSWR=require("swr"),getProducts=require("../../helpers/queries/get-products.js"),query=require("../../helpers/query.js"),shop=require("../shop.js"),useFetchHandle=require("../useFetchHandle.js");const useProductsQuery=(e,u,r)=>{let t=useFetchHandle.useFetchHandle(),s=shop.useIsSampleProduct(),c=shop.useIsStorefrontProduct();return useSWR(e?query.generateProductsQueryKey({ids:e,isSample:s,isStorefront:c,defaultSelectedProductCount:r?.defaultSelectedProductCount,allStatus:r?.allStatus}):null,async([,e])=>getProducts.getProducts(r?.fetcher||t,e),u)},useListProductQuery=(e,u)=>{let r=useFetchHandle.useFetchHandle();return useSWR(e?["query/products",e]:null,async([,e])=>getProducts.getListProductByVariables(r,e),u)},useProductsQueryAll=(e,u)=>{let r=useFetchHandle.useFetchHandle();return useSWR(e?["query/products",e]:null,async([,e])=>getProducts.getProductQueryAll(r,e),u)};exports.useListProductQuery=useListProductQuery,exports.useProductsQuery=useProductsQuery,exports.useProductsQueryAll=useProductsQueryAll;
1
+ 'use strict';
2
+
3
+ var useSWR = require('swr');
4
+ var useSWRInfinite = require('swr/infinite');
5
+ var getProducts = require('../../helpers/queries/get-products.js');
6
+ var query = require('../../helpers/query.js');
7
+ var shop = require('../shop.js');
8
+ var useFetchHandle = require('../useFetchHandle.js');
9
+
10
+ const useProductsQuery = (ids, options, params)=>{
11
+ const fetcher = useFetchHandle.useFetchHandle();
12
+ const isSample = shop.useIsSampleProduct();
13
+ const isStorefront = shop.useIsStorefrontProduct();
14
+ return useSWR(ids ? query.generateProductsQueryKey({
15
+ ids,
16
+ isSample,
17
+ isStorefront,
18
+ defaultSelectedProductCount: params?.defaultSelectedProductCount,
19
+ allStatus: params?.allStatus
20
+ }) : null, async ([, arg])=>{
21
+ return getProducts.getProducts(params?.fetcher || fetcher, arg);
22
+ }, options);
23
+ };
24
+ const getKey = (variable)=>{
25
+ return (pageIndex, previousPageData)=>{
26
+ if (!variable || previousPageData && !previousPageData.products?.pageInfo?.hasNextPage) {
27
+ return null;
28
+ }
29
+ if (pageIndex === 0) {
30
+ return [
31
+ 'query/products',
32
+ variable
33
+ ];
34
+ }
35
+ return [
36
+ 'query/products',
37
+ {
38
+ ...variable,
39
+ after: previousPageData.products?.pageInfo?.endCursor
40
+ }
41
+ ];
42
+ };
43
+ };
44
+ const useListProductQuery = (variable, options)=>{
45
+ const fetcher = useFetchHandle.useFetchHandle();
46
+ const data = useSWRInfinite(getKey(variable), async ([, arg])=>{
47
+ return getProducts.getListProductByVariables(fetcher, arg);
48
+ }, options);
49
+ return data;
50
+ };
51
+ const useProductsQueryAll = (variable, options)=>{
52
+ const fetcher = useFetchHandle.useFetchHandle();
53
+ return useSWR(variable ? [
54
+ 'query/products',
55
+ variable
56
+ ] : null, async ([, arg])=>{
57
+ return getProducts.getProductQueryAll(fetcher, arg);
58
+ }, options);
59
+ };
60
+
61
+ exports.useListProductQuery = useListProductQuery;
62
+ exports.useProductsQuery = useProductsQuery;
63
+ exports.useProductsQueryAll = useProductsQueryAll;