@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
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
3
  import { memo, useState, useMemo, useCallback, useEffect } from 'react';
3
4
  import 'zustand';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
3
  import { isValidElement } from 'react';
3
4
  import { composeAdvanceStyle } from '../helpers/compose-advance-style.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
3
  import { memo, useEffect, isValidElement } from 'react';
3
4
  import { composeAdvanceStyle } from '../helpers/compose-advance-style.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  const Empty = ()=>null;
2
3
 
3
4
  export { Empty as default };
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx, Fragment } from 'react/jsx-runtime';
2
3
  import 'zustand';
3
4
  import 'react';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
3
  import { memo, useMemo } from 'react';
3
4
  import { ErrorBoundary } from 'react-error-boundary';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx, jsxs } from 'react/jsx-runtime';
2
3
  import { memo } from 'react';
3
4
  import { ErrorBoundary } from 'react-error-boundary';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
3
  import Head from 'next/head';
3
4
  import Script from 'next/script';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx, jsxs } from 'react/jsx-runtime';
2
3
  import { memo } from 'react';
3
4
  import { ErrorBoundary } from 'react-error-boundary';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
  import { memo } from 'react';
3
4
  import { BuilderProvider } from '../contexts/BuilderContext.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
3
  import { useState, useRef, useCallback, useEffect } from 'react';
3
4
  import { AIIcon } from './icons/AIIcon.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsxs, jsx } from 'react/jsx-runtime';
2
3
  import { useState, useRef, useCallback, useEffect } from 'react';
3
4
  import { AIIcon } from './icons/AIIcon.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsxs, jsx } from 'react/jsx-runtime';
2
3
  import { useState, useRef, useMemo, useEffect } from 'react';
3
4
  import { SearchIcon } from '../icons/SearchIcon.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx, jsxs } from 'react/jsx-runtime';
2
3
  import { useState, useEffect } from 'react';
3
4
  import { DropdownIcon, TickIcon } from '../icons/DropdownIcon.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsxs, jsx } from 'react/jsx-runtime';
2
3
 
3
4
  const AIIcon = ()=>{
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
 
3
4
  const CloseIcon = ()=>{
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
 
3
4
  const DropdownIcon = ()=>{
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
 
3
4
  const SearchIcon = ()=>{
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
 
3
4
  const ShowMoreIcon = ()=>{
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsxs, jsx } from 'react/jsx-runtime';
2
3
 
3
4
  const UpgradeIcon = ()=>{
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsxs, jsx } from 'react/jsx-runtime';
2
3
 
3
4
  const WarningIcon = ()=>{
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx, Fragment } from 'react/jsx-runtime';
2
3
  import Spacing from './Spacing.js';
3
4
 
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
3
  import { useRef, useState, useCallback, useEffect } from 'react';
3
4
  import 'zustand';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
3
  import { useRef, useState } from 'react';
3
4
  import { ThemeSectionTooltip } from './ThemeSectionTooltip.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
3
 
3
4
  const getStatusMessage = (status)=>{
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
3
  import { useRef } from 'react';
3
4
  import { Transition } from 'react-transition-group';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsxs, jsx } from 'react/jsx-runtime';
2
3
 
3
4
  function Tooltip({ children, enable, text = 'Tooltip Text', position = 'right', width, ...props }) {
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
  import { useContext, useMemo, createContext } from 'react';
3
4
  import Empty from '../components/Empty.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx, Fragment } from 'react/jsx-runtime';
2
3
  import { useStore, createStore } from 'zustand';
3
4
  import { useId, useMemo, useContext, createContext } from 'react';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
  import { useContext, createContext } from 'react';
3
4
  import { useStore, createStore } from 'zustand';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
  import { useStore, createStore } from 'zustand';
3
4
  import { useContext, createContext } from 'react';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
  import { useContext, createContext, Suspense, Fragment } from 'react';
3
4
  import { useStore, createStore } from 'zustand';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
  import { useMemo, useContext, createContext, Suspense, Fragment } from 'react';
3
4
  import { useStore, createStore } from 'zustand';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
  import { useStore, createStore } from 'zustand';
3
4
  import { useContext, createContext } from 'react';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
  import { useMemo, useContext, createContext } from 'react';
3
4
  import { useStore, createStore } from 'zustand';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
  import { useContext, createContext } from 'react';
3
4
  import { useStore, createStore } from 'zustand';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
  import { useMemo, useContext, createContext } from 'react';
3
4
  import { useStore, createStore } from 'zustand';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx, Fragment } from 'react/jsx-runtime';
2
3
  import { useId, useMemo, useContext, createContext } from 'react';
3
4
  import { useStore, createStore } from 'zustand';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
  import { useContext, createContext } from 'react';
3
4
  import { useStore, createStore } from 'zustand';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
  import { useStore, createStore } from 'zustand';
3
4
  import { useContext, createContext } from 'react';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
  import { SWRConfig } from 'swr';
3
4
  import { useStore, createStore } from 'zustand';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { Children } from 'react';
2
3
  import ComponentToolbarPreview from '../components/ComponentToolbarPreview.js';
3
4
 
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useRef, useMemo, useCallback } from 'react';
2
3
  import 'react/jsx-runtime';
3
4
  import 'zustand';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { Children } from 'react';
2
3
  import ComponentToolbarPreview from '../components/ComponentToolbarPreview.js';
3
4
 
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useRef, useCallback } from 'react';
2
3
 
3
4
  const useAnimationActions = ()=>{
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useMemo, useCallback } from 'react';
2
3
  import { useCurrentDevice } from '../use-current-device.js';
3
4
 
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useCallback } from 'react';
2
3
 
3
4
  const useAnimationPreview = ({ props, playAnimation, cancelAnimation, setAnimationOnFinish, setToolbarActive })=>{
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useRef, useCallback } from 'react';
2
3
  import { useAnimationConfig } from './useAnimationConfig.js';
3
4
 
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useCallback, useEffect } from 'react';
2
3
  import { useAnimations } from '../useAnimations.js';
3
4
  import { useAnimationTarget } from './useAnimationTarget.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { ArticlesDocument } from '../../graphql/queries/articles.generated.js';
2
3
  import { useFetchHandle } from '../useFetchHandle.js';
3
4
  import useSWR from 'swr';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { addToCartOperation } from '@gem-sdk/adapter-shopify';
2
3
  import { useSWRConfig } from 'swr';
3
4
  import useSWRMutation from 'swr/mutation';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { getCartOperation } from '@gem-sdk/adapter-shopify';
2
3
  import useSWR from 'swr';
3
4
  import { useStoreFront } from '../shop.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { cartDiscountCodesUpdateOperation } from '@gem-sdk/adapter-shopify';
2
3
  import { useSWRConfig } from 'swr';
3
4
  import useSWRMutation from 'swr/mutation';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { cartNoteUpdateOperation } from '@gem-sdk/adapter-shopify';
2
3
  import { useSWRConfig } from 'swr';
3
4
  import useSWRMutation from 'swr/mutation';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { createCartOperation } from '@gem-sdk/adapter-shopify';
2
3
  import { useSWRConfig } from 'swr';
3
4
  import useSWRMutation from 'swr/mutation';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { removeCartItemOperation } from '@gem-sdk/adapter-shopify';
2
3
  import { useSWRConfig } from 'swr';
3
4
  import useSWRMutation from 'swr/mutation';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { updateCartLineOperation } from '@gem-sdk/adapter-shopify';
2
3
  import { useSWRConfig } from 'swr';
3
4
  import useSWRMutation from 'swr/mutation';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import useSWR from 'swr';
2
3
  import { getCollection } from '../../helpers/queries/get-collection.js';
3
4
  import { useIsSampleProduct, useIsStorefrontProduct } from '../shop.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import useSWR from 'swr';
2
3
  import { getCollections } from '../../helpers/queries/get-collections.js';
3
4
  import { useFetchHandle } from '../useFetchHandle.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import useSWR from 'swr';
2
3
  import { getProduct } from '../../helpers/queries/get-product.js';
3
4
  import { useIsSampleProduct, useIsStorefrontProduct } from '../shop.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import useSWR from 'swr';
2
3
  import useSWRInfinite from 'swr/infinite';
3
4
  import { getProducts, getProductQueryAll, getListProductByVariables } from '../../helpers/queries/get-products.js';
@@ -0,0 +1,45 @@
1
+ 'use client';
2
+ import { useMemo } from 'react';
3
+ import { useShopStore } from '../../contexts/ShopContext.js';
4
+
5
+ const useShopifyLink = ({ productId, articleId })=>{
6
+ const storefrontUrl = useShopStore((s)=>s.storefrontUrl);
7
+ //
8
+ // const productId = useMemo(() => {
9
+ // const ele = document.querySelector(`[data-uid="${parentProductUid}"]`);
10
+ // return ele?.getAttribute('data-product-id');
11
+ // }, [parentProductUid]);
12
+ const shopName = useMemo(()=>{
13
+ const pattern = /^(?:https?:\/\/)?([^/]+)\.myshopify\.com/;
14
+ if (storefrontUrl) {
15
+ return storefrontUrl.match(pattern)?.[1];
16
+ }
17
+ return '';
18
+ }, [
19
+ storefrontUrl
20
+ ]);
21
+ const linkShopDefault = useMemo(()=>{
22
+ return `https://admin.shopify.com/store/${shopName}`;
23
+ }, [
24
+ shopName
25
+ ]);
26
+ const linkEditProduct = useMemo(()=>{
27
+ return productId ? `${linkShopDefault}/products/${productId}` : '';
28
+ }, [
29
+ linkShopDefault,
30
+ productId
31
+ ]);
32
+ const linkEditArticle = useMemo(()=>{
33
+ return articleId ? `${linkShopDefault}/articles/${articleId}` : '';
34
+ }, [
35
+ articleId,
36
+ linkShopDefault
37
+ ]);
38
+ return {
39
+ linkShopDefault,
40
+ linkEditProduct,
41
+ linkEditArticle
42
+ };
43
+ };
44
+
45
+ export { useShopifyLink };
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useMemo } from 'react';
2
3
  import { useSWRConfig } from 'swr';
3
4
  import { useShopStore } from '../contexts/ShopContext.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useSyncExternalStore } from 'react';
2
3
 
3
4
  // Hàm debounce với TypeScript
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useEffect } from 'react';
2
3
  import LazyLoad from 'vanilla-lazyload';
3
4
 
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { animations } from '../helpers/animations.js';
2
3
  import 'react';
3
4
  import 'react/jsx-runtime';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useSyncExternalStore, useCallback, useMemo } from 'react';
2
3
 
3
4
  const cartKey = 'cart-id';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useCartLineStore } from '../contexts/CartLineContext.js';
2
3
 
3
4
  const useCartLine = ()=>{
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useCallback } from 'react';
2
3
  import { create } from 'zustand';
3
4
  import { usePluginEnable } from './shop.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useCollectionStore } from '../contexts/CollectionContext.js';
2
3
 
3
4
  const useCollection = ()=>{
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useSWRConfig } from 'swr';
2
3
 
3
4
  const useFetchHandle = ()=>{
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useMoneyFormat } from './shop.js';
2
3
 
3
4
  const shopifyPriceRounding = (amount, precision)=>{
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import useSWR from 'swr';
2
3
  import { ProductOptionNameDocument } from '../graphql/queries/product-value-label.generated.js';
3
4
  import { colorPreset } from '../components/src/product/helpers/variant-presets.js';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { usePageStore } from '../contexts/PageContext.js';
2
3
 
3
4
  const useInteraction = ()=>{
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useLayoutEffect } from 'react';
2
3
 
3
4
  // const isBrowser = typeof window !== 'undefined';
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useState, useEffect } from 'react';
2
3
  import { loadScript } from '../helpers/load-script.js';
3
4
 
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useMemo } from 'react';
2
3
  import { useLocale, useCurrency } from './shop.js';
3
4
 
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useRef, useEffect } from 'react';
2
3
 
3
4
  const usePrevious = (value)=>{
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useCallback, useEffect, useMemo } from 'react';
2
3
  import { useProductStore } from '../contexts/ProductContext.js';
3
4
  import 'react/jsx-runtime';
@@ -10,6 +11,7 @@ import 'swr/infinite';
10
11
  import 'vanilla-lazyload';
11
12
  import './useCartUI.js';
12
13
  import { checkInStock } from '../helpers/variant.js';
14
+ import { useShopifyLink } from './shop/useShopifyLink.js';
13
15
  import 'react-transition-group';
14
16
  import '@gem-sdk/core';
15
17
  import 'classnames';
@@ -41,6 +43,21 @@ const useProductBundleDiscount = ()=>{
41
43
  seUseProductCompareAtPrice
42
44
  };
43
45
  };
46
+ const useProductShopifyEditLink = ()=>{
47
+ const product = useProductStore((s)=>s.product);
48
+ const productId = product?.baseID?.replace('gid://shopify/Product/', '');
49
+ const { linkEditProduct } = useShopifyLink({
50
+ productId
51
+ });
52
+ const redirectProductShopifyLink = ()=>{
53
+ if (!linkEditProduct) return;
54
+ window.open(linkEditProduct, '_blank');
55
+ };
56
+ return {
57
+ linkEditProduct,
58
+ redirectProductShopifyLink
59
+ };
60
+ };
44
61
  const useQuantity = ()=>{
45
62
  const quantity = useProductStore((s)=>s.quantity);
46
63
  const hasUpdatePrice = useProductStore((s)=>s.updatePrice);
@@ -225,4 +242,4 @@ const useProductOfferDiscount = ()=>{
225
242
  return currentDiscount || 0;
226
243
  };
227
244
 
228
- export { useCheckAvailableVariantInStock, useCurrentVariant, useCurrentVariantInStock, useFeaturedImageGlobal, useHasPreSelected, useIsSyncProduct, useProduct, useProductBundleDiscount, useProductOfferDiscount, useProductProperties, useQuantity, useSelectedOption, useUniqProductID, useVariant, useVariantOutStock, useVariants };
245
+ export { useCheckAvailableVariantInStock, useCurrentVariant, useCurrentVariantInStock, useFeaturedImageGlobal, useHasPreSelected, useIsSyncProduct, useProduct, useProductBundleDiscount, useProductOfferDiscount, useProductProperties, useProductShopifyEditLink, useQuantity, useSelectedOption, useUniqProductID, useVariant, useVariantOutStock, useVariants };
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useProductListStore } from '../contexts/ProductListContext.js';
2
3
 
3
4
  const useProductList = ()=>{
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  const cache = new Map();
2
3
  const useSuspenseFetch = (key, promise)=>{
3
4
  const value = cache.get(key) || {
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useSwatches } from './shop.js';
2
3
 
3
4
  const initialSwatchOptionValue = {
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { postPurchaseRequiredElements, postPurchaseWrapElements } from '../components/constant.js';
2
3
  import { useShopStore } from '../contexts/ShopContext.js';
3
4
 
package/dist/esm/index.js CHANGED
@@ -98,7 +98,7 @@ export { default as useIsomorphicLayoutEffect } from './hooks/useIsomorphicLayou
98
98
  export { default as useLoadScript } from './hooks/useLoadScript.js';
99
99
  export { default as useMoney } from './hooks/useMoney.js';
100
100
  export { usePrevious } from './hooks/usePrevious.js';
101
- export { useCheckAvailableVariantInStock, useCurrentVariant, useCurrentVariantInStock, useFeaturedImageGlobal, useHasPreSelected, useIsSyncProduct, useProduct, useProductBundleDiscount, useProductOfferDiscount, useProductProperties, useQuantity, useSelectedOption, useUniqProductID, useVariant, useVariantOutStock, useVariants } from './hooks/useProduct.js';
101
+ export { useCheckAvailableVariantInStock, useCurrentVariant, useCurrentVariantInStock, useFeaturedImageGlobal, useHasPreSelected, useIsSyncProduct, useProduct, useProductBundleDiscount, useProductOfferDiscount, useProductProperties, useProductShopifyEditLink, useQuantity, useSelectedOption, useUniqProductID, useVariant, useVariantOutStock, useVariants } from './hooks/useProduct.js';
102
102
  export { useProductList, useProductListProducts, useProductListSettings, useProductListStyles } from './hooks/useProductList.js';
103
103
  export { default as useSuspenseFetch } from './hooks/useSuspenseFetch.js';
104
104
  export { default as useSwatchesOptions } from './hooks/useSwatchesOptions.js';