@gem-sdk/core 1.58.0-dev.18 → 1.58.0-dev.25

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 (174) hide show
  1. package/dist/cjs/components/AddOn.js +1 -0
  2. package/dist/cjs/components/ComponentAnimation.js +1 -0
  3. package/dist/cjs/components/ComponentToolbarPreview.js +1 -0
  4. package/dist/cjs/components/ComponentWrapper.js +1 -0
  5. package/dist/cjs/components/ComponentWrapperPreview.js +1 -0
  6. package/dist/cjs/components/Empty.js +1 -0
  7. package/dist/cjs/components/InteractionSuffix.js +1 -0
  8. package/dist/cjs/components/Render.js +1 -0
  9. package/dist/cjs/components/RenderBlock.js +1 -0
  10. package/dist/cjs/components/RenderCustomCode.js +1 -0
  11. package/dist/cjs/components/RenderPreview.js +1 -0
  12. package/dist/cjs/components/RenderSection.js +1 -0
  13. package/dist/cjs/components/ai-generator/AIContentGenerator.js +1 -0
  14. package/dist/cjs/components/ai-generator/AIGenContentLoading.js +1 -0
  15. package/dist/cjs/components/ai-generator/components/PickProduct.js +1 -0
  16. package/dist/cjs/components/ai-generator/components/ToneAndVoice.js +1 -0
  17. package/dist/cjs/components/ai-generator/icons/AIIcon.js +1 -0
  18. package/dist/cjs/components/ai-generator/icons/CloseIcon.js +1 -0
  19. package/dist/cjs/components/ai-generator/icons/DropdownIcon.js +1 -0
  20. package/dist/cjs/components/ai-generator/icons/SearchIcon.js +1 -0
  21. package/dist/cjs/components/ai-generator/icons/ShowMoreIcon.js +1 -0
  22. package/dist/cjs/components/ai-generator/icons/UpgradeIcon.js +1 -0
  23. package/dist/cjs/components/ai-generator/icons/WarningIcon.js +1 -0
  24. package/dist/cjs/components/resize/Resize.js +1 -0
  25. package/dist/cjs/components/resize/Spacing.js +1 -0
  26. package/dist/cjs/components/theme-section/CreateThemeSection.js +1 -0
  27. package/dist/cjs/components/theme-section/ThemeSectionStatus.js +1 -0
  28. package/dist/cjs/components/theme-section/ThemeSectionTooltip.js +1 -0
  29. package/dist/cjs/components/toolbar/Tooltip.js +1 -0
  30. package/dist/cjs/contexts/AddonContext.js +1 -0
  31. package/dist/cjs/contexts/ArticleContext.js +1 -0
  32. package/dist/cjs/contexts/ArticleListContext.js +1 -0
  33. package/dist/cjs/contexts/BuilderComponent.js +1 -0
  34. package/dist/cjs/contexts/BuilderContext.js +1 -0
  35. package/dist/cjs/contexts/BuilderPreviewContext.js +1 -0
  36. package/dist/cjs/contexts/CartLineContext.js +1 -0
  37. package/dist/cjs/contexts/CollectionContext.js +1 -0
  38. package/dist/cjs/contexts/ModalContext.js +1 -0
  39. package/dist/cjs/contexts/PageContext.js +1 -0
  40. package/dist/cjs/contexts/ProductContext.js +1 -0
  41. package/dist/cjs/contexts/ProductListContext.js +1 -0
  42. package/dist/cjs/contexts/SectionContext.js +1 -0
  43. package/dist/cjs/contexts/ShopContext.js +1 -0
  44. package/dist/cjs/helpers/filter-toolbar-preview.js +1 -0
  45. package/dist/cjs/helpers/interaction/index.js +1 -0
  46. package/dist/cjs/helpers/is-empty-children.js +1 -0
  47. package/dist/cjs/hooks/animation/useAnimationActions.js +1 -0
  48. package/dist/cjs/hooks/animation/useAnimationConfig.js +1 -0
  49. package/dist/cjs/hooks/animation/useAnimationPreview.js +1 -0
  50. package/dist/cjs/hooks/animation/useAnimationTarget.js +1 -0
  51. package/dist/cjs/hooks/animation/useApplyAnimation.js +1 -0
  52. package/dist/cjs/hooks/articles/useArticlesQuery.js +1 -0
  53. package/dist/cjs/hooks/cart/use-add-to-cart.js +1 -0
  54. package/dist/cjs/hooks/cart/use-cart-data.js +1 -0
  55. package/dist/cjs/hooks/cart/use-cart-discount-codes-update.js +1 -0
  56. package/dist/cjs/hooks/cart/use-cart-note-update.js +1 -0
  57. package/dist/cjs/hooks/cart/use-create-cart.js +1 -0
  58. package/dist/cjs/hooks/cart/use-remove-cart-item.js +1 -0
  59. package/dist/cjs/hooks/cart/use-update-cart-item.js +1 -0
  60. package/dist/cjs/hooks/shop/use-collection-query.js +1 -0
  61. package/dist/cjs/hooks/shop/use-collections-query.js +1 -0
  62. package/dist/cjs/hooks/shop/use-product-query.js +1 -0
  63. package/dist/cjs/hooks/shop/use-products-query.js +1 -0
  64. package/dist/cjs/hooks/shop/useShopifyLink.js +47 -0
  65. package/dist/cjs/hooks/shop.js +1 -0
  66. package/dist/cjs/hooks/use-current-device.js +1 -0
  67. package/dist/cjs/hooks/use-lazy-video.js +1 -0
  68. package/dist/cjs/hooks/useAnimations.js +1 -0
  69. package/dist/cjs/hooks/useCartId.js +1 -0
  70. package/dist/cjs/hooks/useCartLine.js +1 -0
  71. package/dist/cjs/hooks/useCartUI.js +1 -0
  72. package/dist/cjs/hooks/useCollection.js +1 -0
  73. package/dist/cjs/hooks/useFetchHandle.js +1 -0
  74. package/dist/cjs/hooks/useFormatMoney.js +1 -0
  75. package/dist/cjs/hooks/useInitialSwatchesOptions.js +1 -0
  76. package/dist/cjs/hooks/useInteraction.js +1 -0
  77. package/dist/cjs/hooks/useIsomorphicLayoutEffect.js +1 -0
  78. package/dist/cjs/hooks/useLoadScript.js +1 -0
  79. package/dist/cjs/hooks/useMoney.js +1 -0
  80. package/dist/cjs/hooks/usePrevious.js +1 -0
  81. package/dist/cjs/hooks/useProduct.js +18 -0
  82. package/dist/cjs/hooks/useProductList.js +1 -0
  83. package/dist/cjs/hooks/useSuspenseFetch.js +1 -0
  84. package/dist/cjs/hooks/useSwatchesOptions.js +1 -0
  85. package/dist/cjs/hooks/useToolbarPostPurchase.js +1 -0
  86. package/dist/cjs/index.js +1 -0
  87. package/dist/esm/components/AddOn.js +1 -0
  88. package/dist/esm/components/ComponentAnimation.js +1 -0
  89. package/dist/esm/components/ComponentToolbarPreview.js +1 -0
  90. package/dist/esm/components/ComponentWrapper.js +1 -0
  91. package/dist/esm/components/ComponentWrapperPreview.js +1 -0
  92. package/dist/esm/components/Empty.js +1 -0
  93. package/dist/esm/components/InteractionSuffix.js +1 -0
  94. package/dist/esm/components/Render.js +1 -0
  95. package/dist/esm/components/RenderBlock.js +1 -0
  96. package/dist/esm/components/RenderCustomCode.js +1 -0
  97. package/dist/esm/components/RenderPreview.js +1 -0
  98. package/dist/esm/components/RenderSection.js +1 -0
  99. package/dist/esm/components/ai-generator/AIContentGenerator.js +1 -0
  100. package/dist/esm/components/ai-generator/AIGenContentLoading.js +1 -0
  101. package/dist/esm/components/ai-generator/components/PickProduct.js +1 -0
  102. package/dist/esm/components/ai-generator/components/ToneAndVoice.js +1 -0
  103. package/dist/esm/components/ai-generator/icons/AIIcon.js +1 -0
  104. package/dist/esm/components/ai-generator/icons/CloseIcon.js +1 -0
  105. package/dist/esm/components/ai-generator/icons/DropdownIcon.js +1 -0
  106. package/dist/esm/components/ai-generator/icons/SearchIcon.js +1 -0
  107. package/dist/esm/components/ai-generator/icons/ShowMoreIcon.js +1 -0
  108. package/dist/esm/components/ai-generator/icons/UpgradeIcon.js +1 -0
  109. package/dist/esm/components/ai-generator/icons/WarningIcon.js +1 -0
  110. package/dist/esm/components/resize/Resize.js +1 -0
  111. package/dist/esm/components/resize/Spacing.js +1 -0
  112. package/dist/esm/components/theme-section/CreateThemeSection.js +1 -0
  113. package/dist/esm/components/theme-section/ThemeSectionStatus.js +1 -0
  114. package/dist/esm/components/theme-section/ThemeSectionTooltip.js +1 -0
  115. package/dist/esm/components/toolbar/Tooltip.js +1 -0
  116. package/dist/esm/contexts/AddonContext.js +1 -0
  117. package/dist/esm/contexts/ArticleContext.js +1 -0
  118. package/dist/esm/contexts/ArticleListContext.js +1 -0
  119. package/dist/esm/contexts/BuilderComponent.js +1 -0
  120. package/dist/esm/contexts/BuilderContext.js +1 -0
  121. package/dist/esm/contexts/BuilderPreviewContext.js +1 -0
  122. package/dist/esm/contexts/CartLineContext.js +1 -0
  123. package/dist/esm/contexts/CollectionContext.js +1 -0
  124. package/dist/esm/contexts/ModalContext.js +1 -0
  125. package/dist/esm/contexts/PageContext.js +1 -0
  126. package/dist/esm/contexts/ProductContext.js +1 -0
  127. package/dist/esm/contexts/ProductListContext.js +1 -0
  128. package/dist/esm/contexts/SectionContext.js +1 -0
  129. package/dist/esm/contexts/ShopContext.js +1 -0
  130. package/dist/esm/helpers/filter-toolbar-preview.js +1 -0
  131. package/dist/esm/helpers/interaction/index.js +1 -0
  132. package/dist/esm/helpers/is-empty-children.js +1 -0
  133. package/dist/esm/hooks/animation/useAnimationActions.js +1 -0
  134. package/dist/esm/hooks/animation/useAnimationConfig.js +1 -0
  135. package/dist/esm/hooks/animation/useAnimationPreview.js +1 -0
  136. package/dist/esm/hooks/animation/useAnimationTarget.js +1 -0
  137. package/dist/esm/hooks/animation/useApplyAnimation.js +1 -0
  138. package/dist/esm/hooks/articles/useArticlesQuery.js +1 -0
  139. package/dist/esm/hooks/cart/use-add-to-cart.js +1 -0
  140. package/dist/esm/hooks/cart/use-cart-data.js +1 -0
  141. package/dist/esm/hooks/cart/use-cart-discount-codes-update.js +1 -0
  142. package/dist/esm/hooks/cart/use-cart-note-update.js +1 -0
  143. package/dist/esm/hooks/cart/use-create-cart.js +1 -0
  144. package/dist/esm/hooks/cart/use-remove-cart-item.js +1 -0
  145. package/dist/esm/hooks/cart/use-update-cart-item.js +1 -0
  146. package/dist/esm/hooks/shop/use-collection-query.js +1 -0
  147. package/dist/esm/hooks/shop/use-collections-query.js +1 -0
  148. package/dist/esm/hooks/shop/use-product-query.js +1 -0
  149. package/dist/esm/hooks/shop/use-products-query.js +1 -0
  150. package/dist/esm/hooks/shop/useShopifyLink.js +45 -0
  151. package/dist/esm/hooks/shop.js +1 -0
  152. package/dist/esm/hooks/use-current-device.js +1 -0
  153. package/dist/esm/hooks/use-lazy-video.js +1 -0
  154. package/dist/esm/hooks/useAnimations.js +1 -0
  155. package/dist/esm/hooks/useCartId.js +1 -0
  156. package/dist/esm/hooks/useCartLine.js +1 -0
  157. package/dist/esm/hooks/useCartUI.js +1 -0
  158. package/dist/esm/hooks/useCollection.js +1 -0
  159. package/dist/esm/hooks/useFetchHandle.js +1 -0
  160. package/dist/esm/hooks/useFormatMoney.js +1 -0
  161. package/dist/esm/hooks/useInitialSwatchesOptions.js +1 -0
  162. package/dist/esm/hooks/useInteraction.js +1 -0
  163. package/dist/esm/hooks/useIsomorphicLayoutEffect.js +1 -0
  164. package/dist/esm/hooks/useLoadScript.js +1 -0
  165. package/dist/esm/hooks/useMoney.js +1 -0
  166. package/dist/esm/hooks/usePrevious.js +1 -0
  167. package/dist/esm/hooks/useProduct.js +18 -1
  168. package/dist/esm/hooks/useProductList.js +1 -0
  169. package/dist/esm/hooks/useSuspenseFetch.js +1 -0
  170. package/dist/esm/hooks/useSwatchesOptions.js +1 -0
  171. package/dist/esm/hooks/useToolbarPostPurchase.js +1 -0
  172. package/dist/esm/index.js +1 -1
  173. package/dist/types/index.d.ts +6 -1
  174. package/package.json +2 -2
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var react = require('react');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var react = require('react');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var react = require('react');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var react = require('react');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var react = require('react');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var articles_generated = require('../../graphql/queries/articles.generated.js');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var adapterShopify = require('@gem-sdk/adapter-shopify');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var adapterShopify = require('@gem-sdk/adapter-shopify');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var adapterShopify = require('@gem-sdk/adapter-shopify');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var adapterShopify = require('@gem-sdk/adapter-shopify');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var adapterShopify = require('@gem-sdk/adapter-shopify');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var adapterShopify = require('@gem-sdk/adapter-shopify');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var adapterShopify = require('@gem-sdk/adapter-shopify');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var useSWR = require('swr');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var useSWR = require('swr');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var useSWR = require('swr');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var useSWR = require('swr');
@@ -0,0 +1,47 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var react = require('react');
5
+ var ShopContext = require('../../contexts/ShopContext.js');
6
+
7
+ const useShopifyLink = ({ productId, articleId })=>{
8
+ const storefrontUrl = ShopContext.useShopStore((s)=>s.storefrontUrl);
9
+ //
10
+ // const productId = useMemo(() => {
11
+ // const ele = document.querySelector(`[data-uid="${parentProductUid}"]`);
12
+ // return ele?.getAttribute('data-product-id');
13
+ // }, [parentProductUid]);
14
+ const shopName = react.useMemo(()=>{
15
+ const pattern = /^(?:https?:\/\/)?([^/]+)\.myshopify\.com/;
16
+ if (storefrontUrl) {
17
+ return storefrontUrl.match(pattern)?.[1];
18
+ }
19
+ return '';
20
+ }, [
21
+ storefrontUrl
22
+ ]);
23
+ const linkShopDefault = react.useMemo(()=>{
24
+ return `https://admin.shopify.com/store/${shopName}`;
25
+ }, [
26
+ shopName
27
+ ]);
28
+ const linkEditProduct = react.useMemo(()=>{
29
+ return productId ? `${linkShopDefault}/products/${productId}` : '';
30
+ }, [
31
+ linkShopDefault,
32
+ productId
33
+ ]);
34
+ const linkEditArticle = react.useMemo(()=>{
35
+ return articleId ? `${linkShopDefault}/articles/${articleId}` : '';
36
+ }, [
37
+ articleId,
38
+ linkShopDefault
39
+ ]);
40
+ return {
41
+ linkShopDefault,
42
+ linkEditProduct,
43
+ linkEditArticle
44
+ };
45
+ };
46
+
47
+ exports.useShopifyLink = useShopifyLink;
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var react = require('react');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var react = require('react');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var react = require('react');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var animations = require('../helpers/animations.js');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var CollectionContext = require('../contexts/CollectionContext.js');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var useSWR = require('swr');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var shop = require('./shop.js');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var PageContext = require('../contexts/PageContext.js');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var react = require('react');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var react = require('react');
@@ -12,6 +13,7 @@ require('swr/infinite');
12
13
  require('vanilla-lazyload');
13
14
  require('./useCartUI.js');
14
15
  var variant = require('../helpers/variant.js');
16
+ var useShopifyLink = require('./shop/useShopifyLink.js');
15
17
  require('react-transition-group');
16
18
  require('@gem-sdk/core');
17
19
  require('classnames');
@@ -43,6 +45,21 @@ const useProductBundleDiscount = ()=>{
43
45
  seUseProductCompareAtPrice
44
46
  };
45
47
  };
48
+ const useProductShopifyEditLink = ()=>{
49
+ const product = ProductContext.useProductStore((s)=>s.product);
50
+ const productId = product?.baseID?.replace('gid://shopify/Product/', '');
51
+ const { linkEditProduct } = useShopifyLink.useShopifyLink({
52
+ productId
53
+ });
54
+ const redirectProductShopifyLink = ()=>{
55
+ if (!linkEditProduct) return;
56
+ window.open(linkEditProduct, '_blank');
57
+ };
58
+ return {
59
+ linkEditProduct,
60
+ redirectProductShopifyLink
61
+ };
62
+ };
46
63
  const useQuantity = ()=>{
47
64
  const quantity = ProductContext.useProductStore((s)=>s.quantity);
48
65
  const hasUpdatePrice = ProductContext.useProductStore((s)=>s.updatePrice);
@@ -237,6 +254,7 @@ exports.useProduct = useProduct;
237
254
  exports.useProductBundleDiscount = useProductBundleDiscount;
238
255
  exports.useProductOfferDiscount = useProductOfferDiscount;
239
256
  exports.useProductProperties = useProductProperties;
257
+ exports.useProductShopifyEditLink = useProductShopifyEditLink;
240
258
  exports.useQuantity = useQuantity;
241
259
  exports.useSelectedOption = useSelectedOption;
242
260
  exports.useUniqProductID = useUniqProductID;
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var ProductListContext = require('../contexts/ProductListContext.js');
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  var constant = require('../components/constant.js');
package/dist/cjs/index.js CHANGED
@@ -358,6 +358,7 @@ exports.useProduct = useProduct.useProduct;
358
358
  exports.useProductBundleDiscount = useProduct.useProductBundleDiscount;
359
359
  exports.useProductOfferDiscount = useProduct.useProductOfferDiscount;
360
360
  exports.useProductProperties = useProduct.useProductProperties;
361
+ exports.useProductShopifyEditLink = useProduct.useProductShopifyEditLink;
361
362
  exports.useQuantity = useProduct.useQuantity;
362
363
  exports.useSelectedOption = useProduct.useSelectedOption;
363
364
  exports.useUniqProductID = useProduct.useUniqProductID;
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
  import { useAddon } from '../contexts/AddonContext.js';
3
4
  import { usePluginEnable } from '../hooks/shop.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx, Fragment } from 'react/jsx-runtime';
2
3
  import { memo } from 'react';
3
4
  import useApplyAnimation from '../hooks/animation/useApplyAnimation.js';