@gem-sdk/core 22.0.0-dev.52 → 22.0.0-dev.62

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 (50) hide show
  1. package/dist/cjs/components/ComponentToolbarPreview.js +1 -1
  2. package/dist/cjs/components/ComponentWrapperPreview.js +1 -1
  3. package/dist/cjs/components/InteractionSuffix.js +1 -1
  4. package/dist/cjs/components/Render.liquid.js +4 -4
  5. package/dist/cjs/components/RenderCustomCode.js +2 -2
  6. package/dist/cjs/components/resize/Spacing.js +1 -1
  7. package/dist/cjs/components/theme-section/CreateThemeSection.js +1 -1
  8. package/dist/cjs/components/theme-section/ThemeSectionTooltip.js +1 -1
  9. package/dist/cjs/components/upgrade-element/UpgradeButton.js +1 -1
  10. package/dist/cjs/components/upgrade-element/UpgradeElement.js +1 -1
  11. package/dist/cjs/contexts/ProductContext.js +1 -1
  12. package/dist/cjs/graphql-shopify/product-detail.generated.js +110 -0
  13. package/dist/cjs/graphql-shopify/product-medias.generated.js +80 -0
  14. package/dist/cjs/graphql-shopify/product-variants.generated.js +107 -0
  15. package/dist/cjs/helpers/builder-api-bridge/BridgeRequestError.js +1 -0
  16. package/dist/cjs/helpers/builder-api-bridge/contract.js +1 -0
  17. package/dist/cjs/helpers/builder-api-bridge/createBuilderApiFetcher.js +1 -0
  18. package/dist/cjs/helpers/builder-api-bridge/requestBridgeGraphql.js +1 -0
  19. package/dist/cjs/helpers/interaction/index.js +1 -1
  20. package/dist/cjs/helpers/queries/get-shopify-product.js +1 -0
  21. package/dist/cjs/hooks/useAnimations.js +1 -1
  22. package/dist/cjs/hooks/useInitialSwatchesOptions.js +1 -1
  23. package/dist/cjs/hooks/useProduct.js +1 -1
  24. package/dist/cjs/index.js +1 -1
  25. package/dist/esm/components/ComponentToolbarPreview.js +1 -1
  26. package/dist/esm/components/ComponentWrapperPreview.js +1 -1
  27. package/dist/esm/components/InteractionSuffix.js +1 -1
  28. package/dist/esm/components/Render.liquid.js +5 -5
  29. package/dist/esm/components/RenderCustomCode.js +3 -3
  30. package/dist/esm/components/resize/Spacing.js +1 -1
  31. package/dist/esm/components/theme-section/CreateThemeSection.js +1 -1
  32. package/dist/esm/components/theme-section/ThemeSectionTooltip.js +1 -1
  33. package/dist/esm/components/upgrade-element/UpgradeButton.js +1 -1
  34. package/dist/esm/components/upgrade-element/UpgradeElement.js +1 -1
  35. package/dist/esm/contexts/ProductContext.js +1 -1
  36. package/dist/esm/graphql-shopify/product-detail.generated.js +110 -0
  37. package/dist/esm/graphql-shopify/product-medias.generated.js +80 -0
  38. package/dist/esm/graphql-shopify/product-variants.generated.js +107 -0
  39. package/dist/esm/helpers/builder-api-bridge/BridgeRequestError.js +1 -0
  40. package/dist/esm/helpers/builder-api-bridge/contract.js +1 -0
  41. package/dist/esm/helpers/builder-api-bridge/createBuilderApiFetcher.js +1 -0
  42. package/dist/esm/helpers/builder-api-bridge/requestBridgeGraphql.js +1 -0
  43. package/dist/esm/helpers/interaction/index.js +1 -1
  44. package/dist/esm/helpers/queries/get-shopify-product.js +1 -0
  45. package/dist/esm/hooks/useAnimations.js +1 -1
  46. package/dist/esm/hooks/useInitialSwatchesOptions.js +1 -1
  47. package/dist/esm/hooks/useProduct.js +1 -1
  48. package/dist/esm/index.js +1 -1
  49. package/dist/types/index.d.ts +43 -1
  50. package/package.json +5 -3
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,Fragment as t}from"react/jsx-runtime";import{useI18nStore as r}from"@gem-sdk/core";import"zustand";import"react";import{usePageStore as i}from"../contexts/PageContext.js";import"react-transition-group";import"./constant.js";import"swr";import{useInteraction as p}from"../helpers/interaction/index.js";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"../graphql/queries/productsV2.generated.js";import"../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"swr/infinite";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"../hooks/useStickyStore.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";let s=({uid:s})=>{let{closeSelectOnPage:o,selectInteractionElement:a}=p(),{t:n}=r(),g=i(e=>e.interactionData?.settingType||""),l=i(e=>e.interactionData?.isSelectOnPage);return e(t,{children:l&&e("button",{className:"gp-bg-[#F4F4F4] gp-px-2 gp-h-[24px] gp-py-0.5 gp-rounded-lg gp-text-[#212121] gp-text-xs gp-font-medium gp-hidden interaction-use-custom-element",onClick:e=>{a({$target:e.target,componentUid:s,settingType:g}),o()},"data-setup-interaction":!0,children:n("TRIGGER"===g?"Set as trigger":"Set as target")})})};export{s as InteractionSuffix};
2
+ import{jsx as e,Fragment as t}from"react/jsx-runtime";import{useI18nStore as r}from"@gem-sdk/core";import"zustand";import"react";import{usePageStore as i}from"../contexts/PageContext.js";import"react-transition-group";import"./constant.js";import"swr";import{useInteraction as p}from"../helpers/interaction/index.js";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"../graphql/queries/productsV2.generated.js";import"../graphql-shopify/product-detail.generated.js";import"../graphql-shopify/product-medias.generated.js";import"../graphql-shopify/product-variants.generated.js";import"../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"swr/infinite";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"../hooks/useStickyStore.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";let s=({uid:s})=>{let{closeSelectOnPage:o,selectInteractionElement:a}=p(),{t:n}=r(),g=i(e=>e.interactionData?.settingType||""),l=i(e=>e.interactionData?.isSelectOnPage);return e(t,{children:l&&e("button",{className:"gp-bg-[#F4F4F4] gp-px-2 gp-h-[24px] gp-py-0.5 gp-rounded-lg gp-text-[#212121] gp-text-xs gp-font-medium gp-hidden interaction-use-custom-element",onClick:e=>{a({$target:e.target,componentUid:s,settingType:g}),o()},"data-setup-interaction":!0,children:n("TRIGGER"===g?"Set as trigger":"Set as target")})})};export{s as InteractionSuffix};
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- import{makeStyleResponsive as e}from"../helpers/make-style.js";import"react";import"react/jsx-runtime";import"zustand";import"swr";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"swr/infinite";import"../graphql/queries/productsV2.generated.js";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"../hooks/useStickyStore.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";import"react-transition-group";import{disableWrap as t,customRenderChildren as r}from"./constant.js";import"@gem-sdk/core";import{composeAdvanceStyle as i}from"../helpers/compose-advance-style.js";import{baseAssetURL as s,isLocalEnv as a}from"../helpers/convert.js";import"crc-32";import{RenderIf as l,template as n}from"../helpers/render.js";let d=["CarouselItem","CarouselItemV3"],o=["Text","Heading"],p=["IconListV2","IconList"],c=["IconList","ProductVariants"],u=({uid:e,builder:s,components:a,parentId:u,extraFiles:q={},pageContext:f,additionalSettings:v,...j})=>{let y=s[e],$=a[y?.tag];if(!$||!y||y?.type==="section")return{liquid:"",extraFiles:q};{let q={extraFiles:{}},k=i(y.advanced,y.tag),x="";x=t.includes(y.tag)?l(y?.childrens?.length,()=>$({builderProps:{uid:e,builderData:y},styles:y.styles,setting:y.settings,style:k,advanced:y.advanced,parentId:d.includes(y.tag)?u:null,pageContext:f,...v,...j,builderAttrs:{...j.builderAttrs},rawChildren:y.childrens.map(e=>({...s[e],uid:e,builder:s,components:a,customProps:q,pageContext:f,...v})),children:r.includes(y.tag)?"":b({uid:e,customProps:q},y.childrens.map(e=>h({uid:e,builder:s,components:a,customProps:q,parentTag:y.tag,pageContext:f,...v})))}),()=>$({builderProps:{uid:e,builderData:y},styles:y.styles,setting:y.settings,advanced:y.advanced,style:k,isText:!!o.includes(y.tag)||null,parentId:d.includes(y.tag)?u:null,pageContext:f,...j,builderAttrs:{...j.builderAttrs}})):n`<div gp-el-wrapper style="${p.includes(y.tag)?"":k}" class="${y.uid} ${y?.childrens?.length||"IconListItemHoz"!==y.tag?"":"hidden"}">
3
- ${l(y?.childrens?.length,()=>$({builderProps:{uid:e,builderData:y},styles:y.styles,setting:y.settings,advanced:{...c.includes(y.tag)?y?.advanced:{},cssClass:y?.advanced?.cssClass},pageContext:f,...v,...j,builderAttrs:{...j.builderAttrs},rawChildren:y.childrens.map(e=>({...s[e],uid:e,builder:s,components:a,customProps:q,pageContext:f,...v})),children:r.includes(y.tag)?"":b({uid:e,customProps:q},y.childrens.map(e=>h({uid:e,builder:s,components:a,customProps:q,parentTag:y.tag,pageContext:f,...v})))}),()=>$({builderProps:{uid:e,builderData:y},styles:y.styles,setting:y.settings,advanced:{...c.includes(y.tag)?y?.advanced:{},cssClass:y?.advanced?.cssClass},pageContext:f,...v,isText:!!o.includes(y.tag)||null,style:p.includes(y.tag)?k:null,...j,builderAttrs:{...j.builderAttrs}}))}
4
- </div>`;let{cssCode:w,jsCode:A}=g(y);return w&&(x+=w),A&&(x+=A),{liquid:x=m(y,x),extraFiles:q.extraFiles}}},g=e=>{let{css:t,javascript:r,rootClassName:i}=e.advanced?.editorData||{},s=t?.replaceAll(i,e.uid),a=r?.replaceAll(i,e.uid),d=l(!!t,n`
2
+ import{makeStyleResponsive as e}from"../helpers/make-style.js";import"react";import"react/jsx-runtime";import"zustand";import"swr";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"swr/infinite";import"../graphql/queries/productsV2.generated.js";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"../hooks/useStickyStore.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";import"react-transition-group";import{disableWrap as t,customRenderChildren as r}from"./constant.js";import"@gem-sdk/core";import"../graphql-shopify/product-detail.generated.js";import"../graphql-shopify/product-medias.generated.js";import"../graphql-shopify/product-variants.generated.js";import{composeAdvanceStyle as i}from"../helpers/compose-advance-style.js";import{baseAssetURL as s,isLocalEnv as a}from"../helpers/convert.js";import"crc-32";import{RenderIf as l,template as n}from"../helpers/render.js";let d=["CarouselItem","CarouselItemV3"],o=["Text","Heading"],p=["IconListV2","IconList"],c=["IconList","ProductVariants"],u=({uid:e,builder:s,components:a,parentId:u,extraFiles:q={},pageContext:f,additionalSettings:j,...y})=>{let v=s[e],$=a[v?.tag];if(!$||!v||v?.type==="section")return{liquid:"",extraFiles:q};{let q={extraFiles:{}},k=i(v.advanced,v.tag),x="";x=t.includes(v.tag)?l(v?.childrens?.length,()=>$({builderProps:{uid:e,builderData:v},styles:v.styles,setting:v.settings,style:k,advanced:v.advanced,parentId:d.includes(v.tag)?u:null,pageContext:f,...j,...y,builderAttrs:{...y.builderAttrs},rawChildren:v.childrens.map(e=>({...s[e],uid:e,builder:s,components:a,customProps:q,pageContext:f,...j})),children:r.includes(v.tag)?"":b({uid:e,customProps:q},v.childrens.map(e=>h({uid:e,builder:s,components:a,customProps:q,parentTag:v.tag,pageContext:f,...j})))}),()=>$({builderProps:{uid:e,builderData:v},styles:v.styles,setting:v.settings,advanced:v.advanced,style:k,isText:!!o.includes(v.tag)||null,parentId:d.includes(v.tag)?u:null,pageContext:f,...y,builderAttrs:{...y.builderAttrs}})):n`<div gp-el-wrapper style="${p.includes(v.tag)?"":k}" class="${v.uid} ${v?.childrens?.length||"IconListItemHoz"!==v.tag?"":"hidden"}">
3
+ ${l(v?.childrens?.length,()=>$({builderProps:{uid:e,builderData:v},styles:v.styles,setting:v.settings,advanced:{...c.includes(v.tag)?v?.advanced:{},cssClass:v?.advanced?.cssClass},pageContext:f,...j,...y,builderAttrs:{...y.builderAttrs},rawChildren:v.childrens.map(e=>({...s[e],uid:e,builder:s,components:a,customProps:q,pageContext:f,...j})),children:r.includes(v.tag)?"":b({uid:e,customProps:q},v.childrens.map(e=>h({uid:e,builder:s,components:a,customProps:q,parentTag:v.tag,pageContext:f,...j})))}),()=>$({builderProps:{uid:e,builderData:v},styles:v.styles,setting:v.settings,advanced:{...c.includes(v.tag)?v?.advanced:{},cssClass:v?.advanced?.cssClass},pageContext:f,...j,isText:!!o.includes(v.tag)||null,style:p.includes(v.tag)?k:null,...y,builderAttrs:{...y.builderAttrs}}))}
4
+ </div>`;let{cssCode:w,jsCode:A}=g(v);return w&&(x+=w),A&&(x+=A),{liquid:x=m(v,x),extraFiles:q.extraFiles}}},g=e=>{let{css:t,javascript:r,rootClassName:i}=e.advanced?.editorData||{},s=t?.replaceAll(i,e.uid),a=r?.replaceAll(i,e.uid),d=l(!!t,n`
5
5
  <style id="${`custom-css-${e?.uid}`}">
6
6
  ${s}
7
7
  </style>
@@ -11,13 +11,13 @@ import{makeStyleResponsive as e}from"../helpers/make-style.js";import"react";imp
11
11
  ${a}
12
12
  } catch(err){}
13
13
  </script>
14
- `);return{cssCode:d,jsCode:o}},m=(t,r)=>{let{advanced:i,tag:d}=t,{animation:o,op:p,hasAnimationInteraction:c,displayInitInteraction:u}=i??{},g=(e,t)=>e?.triggerConfig?.[t]?.animation??"none",m=e=>{if("desktop"===e);else if("tablet"===e)return o?.tablet??o?.desktop;else if("mobile"===e)return o?.mobile??o?.tablet??o?.desktop;return o?.desktop},h=g(m("desktop"),"appear"),b=g(m("desktop"),"hover"),q=g(m("tablet"),"appear"),f=g(m("mobile"),"appear"),v=o?.desktop?.enabled&&("none"!==h||"none"!==b)||o?.tablet?.enabled&&"none"!==q||o?.mobile?.enabled&&"none"!==f||!!c,j=o?.desktop?.enabled&&("none"!==h||"none"!==b)||o?.tablet?.enabled&&"none"!==q||o?.mobile?.enabled&&"none"!==f;if(!v)return r;let y=e=>m(e)?.enabled&&!["shake","none"].includes(g(m(e),"appear"))?"hidden":"visible",$={desktop:y("desktop"),tablet:y("tablet"),mobile:y("mobile")};return n`
14
+ `);return{cssCode:d,jsCode:o}},m=(t,r)=>{let{advanced:i,tag:d}=t,{animation:o,op:p,hasAnimationInteraction:c,displayInitInteraction:u}=i??{},g=(e,t)=>e?.triggerConfig?.[t]?.animation??"none",m=e=>{if("desktop"===e);else if("tablet"===e)return o?.tablet??o?.desktop;else if("mobile"===e)return o?.mobile??o?.tablet??o?.desktop;return o?.desktop},h=g(m("desktop"),"appear"),b=g(m("desktop"),"hover"),q=g(m("tablet"),"appear"),f=g(m("mobile"),"appear"),j=o?.desktop?.enabled&&("none"!==h||"none"!==b)||o?.tablet?.enabled&&"none"!==q||o?.mobile?.enabled&&"none"!==f||!!c,y=o?.desktop?.enabled&&("none"!==h||"none"!==b)||o?.tablet?.enabled&&"none"!==q||o?.mobile?.enabled&&"none"!==f;if(!j)return r;let v=e=>m(e)?.enabled&&!["shake","none"].includes(g(m(e),"appear"))?"hidden":"visible",$={desktop:v("desktop"),tablet:v("tablet"),mobile:v("mobile")};return n`
15
15
  <gp-animation
16
16
  gp-interaction-wrapper
17
17
  display-init="${!1===u?"hide":"show"}"
18
18
  style="${{display:"contents"}}"
19
19
  >
20
- <script gp-data type="application/json">${JSON.stringify({config:o,tag:d,opacity:p,notEnableAnimationWhenInit:!j})}</script>
20
+ <script gp-data type="application/json">${JSON.stringify({config:o,tag:d,opacity:p,notEnableAnimationWhenInit:!y})}</script>
21
21
  <div style="${{...e("v",$),display:"contents"}}">${r}</div>
22
22
  </gp-animation>
23
23
  ${l(a,'<script src="{{ \'gp-animation-v7-5.js\' | asset_url }}" defer="defer"></script>',`<script src="${s}/assets-v2/gp-animation-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
@@ -1,6 +1,6 @@
1
1
  'use client';
2
- import{jsxs as e,Fragment as r,jsx as t}from"react/jsx-runtime";import s from"next/head";import i from"next/script";import{useMemo as o}from"react";import"zustand";import"react-transition-group";import"./constant.js";import"swr";import"@gem-sdk/core";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"../graphql/queries/productsV2.generated.js";import"../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import{useEditorMode as p}from"../hooks/shop.js";import"swr/infinite";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"../hooks/useStickyStore.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";let a=({uid:a,advanced:l})=>{let m=p(),{css:n,javascript:d,rootClassName:g}=l?.editorData||{},u=n?.replaceAll(g,a),c=d?.replaceAll(g,a),h={css:`custom-css-${a}`,javascript:`custom-js-${a}`},q=o(()=>`
2
+ import{jsxs as e,Fragment as r,jsx as t}from"react/jsx-runtime";import s from"next/head";import i from"next/script";import{useMemo as p}from"react";import"zustand";import"react-transition-group";import"./constant.js";import"swr";import"@gem-sdk/core";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"../graphql/queries/productsV2.generated.js";import"../graphql-shopify/product-detail.generated.js";import"../graphql-shopify/product-medias.generated.js";import"../graphql-shopify/product-variants.generated.js";import"../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import{useEditorMode as o}from"../hooks/shop.js";import"swr/infinite";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"../hooks/useStickyStore.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";let a=({uid:a,advanced:l})=>{let m=o(),{css:d,javascript:n,rootClassName:g}=l?.editorData||{},u=d?.replaceAll(g,a),h=n?.replaceAll(g,a),c={css:`custom-css-${a}`,javascript:`custom-js-${a}`},q=p(()=>`
3
3
  try {
4
- ${c}
4
+ ${h}
5
5
  } catch(err){}
6
- `,[c]);return e(r,{children:[t(s,{children:!!n&&t("style",{id:h.css,dangerouslySetInnerHTML:{__html:u}})}),!!d&&"edit"!==m&&t(i,{id:h.javascript,dangerouslySetInnerHTML:{__html:q}})]})};export{a as default};
6
+ `,[h]);return e(r,{children:[t(s,{children:!!d&&t("style",{id:c.css,dangerouslySetInnerHTML:{__html:u}})}),!!n&&"edit"!==m&&t(i,{id:c.javascript,dangerouslySetInnerHTML:{__html:q}})]})};export{a as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import{useRef as o,useState as i,useCallback as n,useEffect as a}from"react";import"zustand";import{useBuilderPreviewStore as s}from"../../contexts/BuilderPreviewContext.js";import{DEVICES as l}from"../../constants/device.js";import"react-transition-group";import"../constant.js";import"swr";import"@gem-sdk/core";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import{usePageType as u}from"../../hooks/shop.js";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";function p(p){let c=s(e=>e.isThemeSectionEditor),m=u(),g=o(null),h=o(null),v=o(null),b=o(!1),f=o(0),q=o(0),w=o(null),[j,y]=i(0),[E,S]=i(!1),L=o(null),C=e=>{let t=e.clientY,r=Math.ceil(t-f.current),o=q.current||0,i=o+r>=0?`${o+r}px`:"0px";return{newValue:i}},x=e=>{if(g.current&&h.current){let{newValue:t}=C(e);h.current.style.height=t,g.current.style.top=t;let r=g.current.closest("[data-toolbar-wrap]");r&&(r.style.marginBottom=t,U(t))}},T=()=>{z()},k=()=>{v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{b.current=!0;let e=new CustomEvent("editor:toolbar:resize-spacing",{bubbles:!0,detail:{value:!0}});window.dispatchEvent(e),document.addEventListener("mousemove",x),document.addEventListener("mouseup",T)},100)},z=()=>{v.current&&clearTimeout(v.current),b.current=!1;let e=new CustomEvent("editor:toolbar:resize-spacing",{bubbles:!0,detail:{value:!1}});if(window.dispatchEvent(e),g.current){let e=getComputedStyle(g.current),t=e.top,r=new CustomEvent("editor:toolbar:change-margin-bottom",{bubbles:!0,detail:{componentUid:p.uid,marginBottom:t}});window.dispatchEvent(r)}let t=g.current?.closest("[data-toolbar-wrap]");t&&(t.style.marginBottom=""),document.removeEventListener("mousemove",x),document.removeEventListener("mouseup",T)},A=(e,t)=>{let r=e.children.length;if(r)for(let o=0;o<r;o++){let r=e.children[o];if(r){let e=r.getAttribute(t);if(e)return r}}},B=e=>{let t=e.getAttribute("data-component-tag");return"Row"===t||"Product"===t},P=n(e=>{let t=g.current?.closest("[data-toolbar-wrap]");if(!t)return;let r=A(t,"data-toolbar");if(!r)return;let o=r.getAttribute("data-toolbar-active");if(!o)return;let i=getComputedStyle(t),n=A(t,"data-spacing"),a=n?.querySelector("[data-spacing-margin-bottom]")||null;if(a&&h.current&&g.current){let r=i.marginBottom;if(e&&U(r),0>parseFloat(r)&&(r="0"),h.current.style.height=r,g.current.style.top=r,a.setAttribute("data-spacing-margin-bottom-active","true"),B(t))h.current.style.left="0";else{let e=i.paddingLeft,t=`-${e}`,r=`translate(${t}, -100%)`;h.current.style.left=t,g.current.style.transform=r}}},[]),U=e=>{let t=parseFloat(e);y(t),S(!0),L.current&&clearTimeout(L.current),L.current=setTimeout(()=>{S(!1)},2e3);let r=t<=28&&t>=0?t/2+16:t>28?0:16;w.current&&(w.current.style.transform=`translateY(${r}px)`)},$=d(p.advanced?.["spacing-setting"]);a(()=>{let e=F($,p.advanced?.["spacing-setting"]);P(e)},[$,p.advanced,P]);let F=(e,t)=>l.some(r=>JSON.stringify(e?.[r]?.margin?.bottom)!==JSON.stringify(t?.[r]?.margin?.bottom)),M=n(()=>{P()},[P]);return a(()=>(window.addEventListener("editor:toolbar:update-margin-bottom",()=>P),window.addEventListener("editor:toolbar:update-padding-left",()=>P),window.addEventListener("resize",M),()=>{window.removeEventListener("editor:toolbar:update-margin-bottom",()=>P),window.removeEventListener("editor:toolbar:update-padding-left",()=>P),window.removeEventListener("resize",M)}),[M,P]),e(t,{children:"Section"!==p.tag&&"POST_PURCHASE"!==m&&e("div",{"data-spacing":!0,"data-spacing-theme-section":c,className:"gp-absolute gp-w-full gp-bottom-0",children:r("div",{"data-spacing-margin-bottom":!0,children:[r("div",{"data-spacing-margin-bottom-bg":!0,ref:h,children:[e("div",{"data-spacing-margin-bottom-value":!0}),e("div",{"data-active":E,"data-value-number":!0,ref:w,children:j})]}),e("div",{ref:g,"data-spacing-margin-bottom-drag":!0,onMouseDown:e=>{if(g.current){let t=getComputedStyle(g.current);f.current=e.clientY,q.current=parseFloat(t.top),k()}},onMouseUp:()=>{z()},role:"presentation"})]})})})}let d=e=>{let t=o();return a(()=>{t.current=e},[e]),t.current};export{p as default};
2
+ import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import{useRef as o,useState as i,useCallback as a,useEffect as n}from"react";import"zustand";import{useBuilderPreviewStore as s}from"../../contexts/BuilderPreviewContext.js";import{DEVICES as l}from"../../constants/device.js";import"react-transition-group";import"../constant.js";import"swr";import"@gem-sdk/core";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../graphql-shopify/product-detail.generated.js";import"../../graphql-shopify/product-medias.generated.js";import"../../graphql-shopify/product-variants.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import{usePageType as p}from"../../hooks/shop.js";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";function d(d){let m=s(e=>e.isThemeSectionEditor),c=p(),g=o(null),h=o(null),v=o(null),b=o(!1),f=o(0),q=o(0),w=o(null),[j,y]=i(0),[E,S]=i(!1),L=o(null),C=e=>{let t=e.clientY,r=Math.ceil(t-f.current),o=q.current||0,i=o+r>=0?`${o+r}px`:"0px";return{newValue:i}},x=e=>{if(g.current&&h.current){let{newValue:t}=C(e);h.current.style.height=t,g.current.style.top=t;let r=g.current.closest("[data-toolbar-wrap]");r&&(r.style.marginBottom=t,U(t))}},T=()=>{z()},k=()=>{v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{b.current=!0;let e=new CustomEvent("editor:toolbar:resize-spacing",{bubbles:!0,detail:{value:!0}});window.dispatchEvent(e),document.addEventListener("mousemove",x),document.addEventListener("mouseup",T)},100)},z=()=>{v.current&&clearTimeout(v.current),b.current=!1;let e=new CustomEvent("editor:toolbar:resize-spacing",{bubbles:!0,detail:{value:!1}});if(window.dispatchEvent(e),g.current){let e=getComputedStyle(g.current),t=e.top,r=new CustomEvent("editor:toolbar:change-margin-bottom",{bubbles:!0,detail:{componentUid:d.uid,marginBottom:t}});window.dispatchEvent(r)}let t=g.current?.closest("[data-toolbar-wrap]");t&&(t.style.marginBottom=""),document.removeEventListener("mousemove",x),document.removeEventListener("mouseup",T)},A=(e,t)=>{let r=e.children.length;if(r)for(let o=0;o<r;o++){let r=e.children[o];if(r){let e=r.getAttribute(t);if(e)return r}}},B=e=>{let t=e.getAttribute("data-component-tag");return"Row"===t||"Product"===t},P=a(e=>{let t=g.current?.closest("[data-toolbar-wrap]");if(!t)return;let r=A(t,"data-toolbar");if(!r)return;let o=r.getAttribute("data-toolbar-active");if(!o)return;let i=getComputedStyle(t),a=A(t,"data-spacing"),n=a?.querySelector("[data-spacing-margin-bottom]")||null;if(n&&h.current&&g.current){let r=i.marginBottom;if(e&&U(r),0>parseFloat(r)&&(r="0"),h.current.style.height=r,g.current.style.top=r,n.setAttribute("data-spacing-margin-bottom-active","true"),B(t))h.current.style.left="0";else{let e=i.paddingLeft,t=`-${e}`,r=`translate(${t}, -100%)`;h.current.style.left=t,g.current.style.transform=r}}},[]),U=e=>{let t=parseFloat(e);y(t),S(!0),L.current&&clearTimeout(L.current),L.current=setTimeout(()=>{S(!1)},2e3);let r=t<=28&&t>=0?t/2+16:t>28?0:16;w.current&&(w.current.style.transform=`translateY(${r}px)`)},$=u(d.advanced?.["spacing-setting"]);n(()=>{let e=F($,d.advanced?.["spacing-setting"]);P(e)},[$,d.advanced,P]);let F=(e,t)=>l.some(r=>JSON.stringify(e?.[r]?.margin?.bottom)!==JSON.stringify(t?.[r]?.margin?.bottom)),M=a(()=>{P()},[P]);return n(()=>(window.addEventListener("editor:toolbar:update-margin-bottom",()=>P),window.addEventListener("editor:toolbar:update-padding-left",()=>P),window.addEventListener("resize",M),()=>{window.removeEventListener("editor:toolbar:update-margin-bottom",()=>P),window.removeEventListener("editor:toolbar:update-padding-left",()=>P),window.removeEventListener("resize",M)}),[M,P]),e(t,{children:"Section"!==d.tag&&"POST_PURCHASE"!==c&&e("div",{"data-spacing":!0,"data-spacing-theme-section":m,className:"gp-absolute gp-w-full gp-bottom-0",children:r("div",{"data-spacing-margin-bottom":!0,children:[r("div",{"data-spacing-margin-bottom-bg":!0,ref:h,children:[e("div",{"data-spacing-margin-bottom-value":!0}),e("div",{"data-active":E,"data-value-number":!0,ref:w,children:j})]}),e("div",{ref:g,"data-spacing-margin-bottom-drag":!0,onMouseDown:e=>{if(g.current){let t=getComputedStyle(g.current);f.current=e.clientY,q.current=parseFloat(t.top),k()}},onMouseUp:()=>{z()},role:"presentation"})]})})})}let u=e=>{let t=o();return n(()=>{t.current=e},[e]),t.current};export{d as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import{useRef as i,useState as o}from"react";import{ThemeSectionTooltip as a}from"./ThemeSectionTooltip.js";import"zustand";import{useI18nStore as s}from"../../contexts/I18nContext.js";import"../constant.js";import{useShopStore as p}from"../../contexts/ShopContext.js";import"@gem-sdk/core";import"swr";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";let n=["starter","trial","trial2022"],l=({...l})=>{let{t:m}=s(),d=p(e=>e.plan),c=p(e=>e.createThemeSectionCount),u=p(e=>e.limitCreateThemeSection),h=n.includes(d??""),g=h||u?.isLimit,q=g||void 0===c||c<1,j=i(),[C,v]=o(!1),b=(e,t)=>{e.preventDefault(),e.stopPropagation(),t?.disabled||(g?w():f(),j.current&&clearTimeout(j.current),v(!1))},w=()=>{let e=new CustomEvent("editor:toolbar:upgrade",{bubbles:!0});window.dispatchEvent(e)},f=()=>{let e=new CustomEvent("editor:toolbar:create-theme-section",{bubbles:!0,detail:{componentUid:l.uid}});window.dispatchEvent(e)};return e(t,{children:r(a,{isFreeLimit:h,limitCreateThemeSection:u,isShow:C,isRender:q,onActions:b,onMouseEnter:()=>{q&&(j.current&&clearTimeout(j.current),j.current=setTimeout(()=>{v(!0)},600))},onMouseLeave:()=>{q&&(j.current&&clearTimeout(j.current),v(!1))},children:[q&&e("div",{"data-toolbar-create-theme-section":!0,children:"You can create reusable sections"}),e("div",{"data-toolbar-active-create-theme-section-wrapper":!0,children:r("div",{"data-toolbar-active-create-theme-section":!0,onClick:e=>b(e,{disabled:!!g}),"aria-hidden":"true",children:[r("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[e("path",{d:"M1 2C1 1.44772 1.44772 1 2 1H6C6.55228 1 7 1.44772 7 2V6C7 6.55228 6.55228 7 6 7H2C1.44772 7 1 6.55228 1 6V2Z",fill:"#F9F9F9"}),e("path",{d:"M9 10C9 9.44772 9.44772 9 10 9H14C14.5523 9 15 9.44772 15 10V14C15 14.5523 14.5523 15 14 15H10C9.44772 15 9 14.5523 9 14V10Z",fill:"#F9F9F9"}),e("path",{d:"M2 9C1.44772 9 1 9.44772 1 10V14C1 14.5523 1.44772 15 2 15H6C6.55228 15 7 14.5523 7 14V10C7 9.44772 6.55228 9 6 9H2Z",fill:"#F9F9F9"})]}),e("p",{children:m("Create Theme Section")})]})})]})})};export{l as CreateThemeSection};
2
+ import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import{useRef as i,useState as o}from"react";import{ThemeSectionTooltip as a}from"./ThemeSectionTooltip.js";import"zustand";import{useI18nStore as s}from"../../contexts/I18nContext.js";import"../constant.js";import{useShopStore as p}from"../../contexts/ShopContext.js";import"@gem-sdk/core";import"swr";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../graphql-shopify/product-detail.generated.js";import"../../graphql-shopify/product-medias.generated.js";import"../../graphql-shopify/product-variants.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";let n=["starter","trial","trial2022"],l=({...l})=>{let{t:d}=s(),m=p(e=>e.plan),c=p(e=>e.createThemeSectionCount),h=p(e=>e.limitCreateThemeSection),u=n.includes(m??""),g=u||h?.isLimit,q=g||void 0===c||c<1,j=i(),[C,v]=o(!1),b=(e,t)=>{e.preventDefault(),e.stopPropagation(),t?.disabled||(g?f():w(),j.current&&clearTimeout(j.current),v(!1))},f=()=>{let e=new CustomEvent("editor:toolbar:upgrade",{bubbles:!0});window.dispatchEvent(e)},w=()=>{let e=new CustomEvent("editor:toolbar:create-theme-section",{bubbles:!0,detail:{componentUid:l.uid}});window.dispatchEvent(e)};return e(t,{children:r(a,{isFreeLimit:u,limitCreateThemeSection:h,isShow:C,isRender:q,onActions:b,onMouseEnter:()=>{q&&(j.current&&clearTimeout(j.current),j.current=setTimeout(()=>{v(!0)},600))},onMouseLeave:()=>{q&&(j.current&&clearTimeout(j.current),v(!1))},children:[q&&e("div",{"data-toolbar-create-theme-section":!0,children:"You can create reusable sections"}),e("div",{"data-toolbar-active-create-theme-section-wrapper":!0,children:r("div",{"data-toolbar-active-create-theme-section":!0,onClick:e=>b(e,{disabled:!!g}),"aria-hidden":"true",children:[r("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[e("path",{d:"M1 2C1 1.44772 1.44772 1 2 1H6C6.55228 1 7 1.44772 7 2V6C7 6.55228 6.55228 7 6 7H2C1.44772 7 1 6.55228 1 6V2Z",fill:"#F9F9F9"}),e("path",{d:"M9 10C9 9.44772 9.44772 9 10 9H14C14.5523 9 15 9.44772 15 10V14C15 14.5523 14.5523 15 14 15H10C9.44772 15 9 14.5523 9 14V10Z",fill:"#F9F9F9"}),e("path",{d:"M2 9C1.44772 9 1 9.44772 1 10V14C1 14.5523 1.44772 15 2 15H6C6.55228 15 7 14.5523 7 14V10C7 9.44772 6.55228 9 6 9H2Z",fill:"#F9F9F9"})]}),e("p",{children:d("Create Theme Section")})]})})]})})};export{l as CreateThemeSection};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as t,jsxs as i}from"react/jsx-runtime";import{useRef as o}from"react";import{Transition as r}from"react-transition-group";import"zustand";import{useI18nStore as s}from"../../contexts/I18nContext.js";import{cls as a}from"../../helpers/cls.js";import"../constant.js";import"swr";import"@gem-sdk/core";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";let n={transition:"opacity 350ms ease-out",opacity:0},l={entering:{opacity:1},entered:{opacity:1},exiting:{opacity:0},exited:{opacity:0},unmounted:{opacity:0}},p=({isShow:p,isFreeLimit:m,isRender:c,children:d,limitCreateThemeSection:h,onMouseEnter:u,onMouseLeave:g,onActions:q})=>{let{t:_}=s(),y=o(null),j=m?_("Upgrade to create Theme Section"):_("Create Theme Section"),b=()=>{window.open("https://help.gempages.net/articles/theme-section","_blank")};return e(t,{children:i("div",{className:"theme-section-tooltip-wrapper",onMouseEnter:u,onMouseLeave:g,children:[d,c&&e(r,{in:p,timeout:350,nodeRef:y,unmountOnExit:!0,children:o=>e("div",{className:"theme-section-tooltip",ref:y,style:{...n,...l[o]},children:h?.isLimit&&!m?i("div",{className:"theme-section-tooltip__body theme-section-tooltip__body-limit",children:[e("div",{className:"theme-section-tooltip__body-title theme-section-tooltip__body-limit__title",children:_("Upgrade plan")}),i("div",{className:"theme-section-tooltip__body-desc theme-section-tooltip__body-limit__desc",children:[_("You’ve reached the maximum number of theme sections on your plan")," (",h.total,"/",h.limit,")"]}),e("button",{onClick:e=>q(e),children:_("Upgrade plan to create more")})]}):i(t,{children:[e("div",{className:"theme-section-tooltip__image",children:e("img",{src:"https://ucarecdn.com/6a9f408a-aa8c-434a-890b-81067a14aceb/-/format/auto/-/preview/1920x1920/-/quality/lighter/theme-section-illustration.png",alt:""})}),i("div",{className:"theme-section-tooltip__body",children:[e("div",{className:"theme-section-tooltip__body-title",children:_("Create once, use everywhere with Theme Section")}),e("div",{className:"theme-section-tooltip__body-desc",children:_("A global section that can be used on all your GemPages & Shopify pages.")})]}),i("div",{className:a("theme-section-tooltip__action",{"theme-section-tooltip__action-limit":m}),children:[e("button",{onClick:e=>q(e),children:_(j)}),m&&e("div",{onClick:b,"aria-hidden":!0,className:"theme-section-tooltip__action-learn-more",children:_("Learn more about Theme Section")})]})]})})})]})})};export{p as ThemeSectionTooltip};
1
+ import{jsx as e,Fragment as t,jsxs as i}from"react/jsx-runtime";import{useRef as o}from"react";import{Transition as r}from"react-transition-group";import"zustand";import{useI18nStore as s}from"../../contexts/I18nContext.js";import{cls as a}from"../../helpers/cls.js";import"../constant.js";import"swr";import"@gem-sdk/core";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../graphql-shopify/product-detail.generated.js";import"../../graphql-shopify/product-medias.generated.js";import"../../graphql-shopify/product-variants.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";let p={transition:"opacity 350ms ease-out",opacity:0},n={entering:{opacity:1},entered:{opacity:1},exiting:{opacity:0},exited:{opacity:0},unmounted:{opacity:0}},l=({isShow:l,isFreeLimit:m,isRender:c,children:d,limitCreateThemeSection:h,onMouseEnter:g,onMouseLeave:u,onActions:q})=>{let{t:y}=s(),_=o(null),j=m?y("Upgrade to create Theme Section"):y("Create Theme Section"),b=()=>{window.open("https://help.gempages.net/articles/theme-section","_blank")};return e(t,{children:i("div",{className:"theme-section-tooltip-wrapper",onMouseEnter:g,onMouseLeave:u,children:[d,c&&e(r,{in:l,timeout:350,nodeRef:_,unmountOnExit:!0,children:o=>e("div",{className:"theme-section-tooltip",ref:_,style:{...p,...n[o]},children:h?.isLimit&&!m?i("div",{className:"theme-section-tooltip__body theme-section-tooltip__body-limit",children:[e("div",{className:"theme-section-tooltip__body-title theme-section-tooltip__body-limit__title",children:y("Upgrade plan")}),i("div",{className:"theme-section-tooltip__body-desc theme-section-tooltip__body-limit__desc",children:[y("You’ve reached the maximum number of theme sections on your plan")," (",h.total,"/",h.limit,")"]}),e("button",{onClick:e=>q(e),children:y("Upgrade plan to create more")})]}):i(t,{children:[e("div",{className:"theme-section-tooltip__image",children:e("img",{src:"https://ucarecdn.com/6a9f408a-aa8c-434a-890b-81067a14aceb/-/format/auto/-/preview/1920x1920/-/quality/lighter/theme-section-illustration.png",alt:""})}),i("div",{className:"theme-section-tooltip__body",children:[e("div",{className:"theme-section-tooltip__body-title",children:y("Create once, use everywhere with Theme Section")}),e("div",{className:"theme-section-tooltip__body-desc",children:y("A global section that can be used on all your GemPages & Shopify pages.")})]}),i("div",{className:a("theme-section-tooltip__action",{"theme-section-tooltip__action-limit":m}),children:[e("button",{onClick:e=>q(e),children:y(j)}),m&&e("div",{onClick:b,"aria-hidden":!0,className:"theme-section-tooltip__action-learn-more",children:y("Learn more about Theme Section")})]})]})})})]})})};export{l as ThemeSectionTooltip};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as r}from"react/jsx-runtime";import"react";import"zustand";import{useI18nStore as t}from"../../contexts/I18nContext.js";import{cls as p}from"../../helpers/cls.js";import"react-transition-group";import"../constant.js";import"swr";import"@gem-sdk/core";import{CheckMarkIcon as s,LoadingIcon as i,CircleUpIcon as o}from"./icons.js";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";let a=({isLoading:a,isUpdated:l,onUpgrade:n})=>{let{t:g}=t(),d={old:{icon:r(o,{}),label:g("Update"),className:"gp-relative",showDot:!0},loading:{icon:r(i,{}),label:"",className:"gp-animate-spin gp-ease-in-out gp-px-6",showDot:!1},updated:{icon:r(s,{}),label:g("Updated"),className:"",showDot:!1}},m=d[a?"loading":l?"updated":"old"];return e("button",{disabled:a,"data-toolbar-upgrade-element":"true",className:p("gp-flex gp-gap-[6px] gp-items-center gp-font-medium disabled:gp-opacity-60 disabled:gp-cursor-not-allowed",{"gp-pointer-events-none":l}),onClick:n,children:[r("div",{className:`gp-shrink-0 gp-overflow-hidden ${m.className}`,children:m.icon}),m.showDot&&r("div",{className:"gp-absolute gp-left-[10px] gp-top-[-2px] gp-size-4 gp-overflow-hidden",children:r("div",{className:"gp-absolute gp-inset-1/4 gp-rounded-full gp-bg-[#3C67FF]"})}),m.label&&r("span",{className:"gp-text-[12px] gp-leading-5 gp-text-[#F9F9F9] gp-whitespace-nowrap",children:m.label})]})};export{a as default};
1
+ import{jsxs as e,jsx as r}from"react/jsx-runtime";import"react";import"zustand";import{useI18nStore as t}from"../../contexts/I18nContext.js";import{cls as p}from"../../helpers/cls.js";import"react-transition-group";import"../constant.js";import"swr";import"@gem-sdk/core";import{CheckMarkIcon as s,LoadingIcon as i,CircleUpIcon as a}from"./icons.js";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../graphql-shopify/product-detail.generated.js";import"../../graphql-shopify/product-medias.generated.js";import"../../graphql-shopify/product-variants.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";let o=({isLoading:o,isUpdated:l,onUpgrade:g})=>{let{t:d}=t(),n={old:{icon:r(a,{}),label:d("Update"),className:"gp-relative",showDot:!0},loading:{icon:r(i,{}),label:"",className:"gp-animate-spin gp-ease-in-out gp-px-6",showDot:!1},updated:{icon:r(s,{}),label:d("Updated"),className:"",showDot:!1}},m=n[o?"loading":l?"updated":"old"];return e("button",{disabled:o,"data-toolbar-upgrade-element":"true",className:p("gp-flex gp-gap-[6px] gp-items-center gp-font-medium disabled:gp-opacity-60 disabled:gp-cursor-not-allowed",{"gp-pointer-events-none":l}),onClick:g,children:[r("div",{className:`gp-shrink-0 gp-overflow-hidden ${m.className}`,children:m.icon}),m.showDot&&r("div",{className:"gp-absolute gp-left-[10px] gp-top-[-2px] gp-size-4 gp-overflow-hidden",children:r("div",{className:"gp-absolute gp-inset-1/4 gp-rounded-full gp-bg-[#3C67FF]"})}),m.label&&r("span",{className:"gp-text-[12px] gp-leading-5 gp-text-[#F9F9F9] gp-whitespace-nowrap",children:m.label})]})};export{o as default};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useMemo as r,useCallback as t}from"react";import"zustand";import{usePageStore as o}from"../../contexts/PageContext.js";import"react-transition-group";import"../constant.js";import"swr";import"@gem-sdk/core";import i from"./UpgradeButton.js";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import{usePageType as s}from"../../hooks/shop.js";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";let p=["THEME_SECTION"],a=({tag:a,uid:l})=>{let m=o(e=>e.oldElements),n=o(e=>e.updatedElements),d=o(e=>e.updatingElements),g=s(),u=r(()=>!p.some(e=>e.includes(g)),[g]),q=r(()=>!!l&&(m?.some(e=>e.uid===l)??!1),[m,l]),h=r(()=>n?.some(e=>e.uid===l),[n,l]),c=r(()=>d?.some(e=>e.uid===l),[d,l]),j=t(e=>{h||(e.preventDefault(),e.stopPropagation(),window.dispatchEvent(new CustomEvent("editor:toolbar:upgrade-old-element",{bubbles:!0,detail:{componentUid:l,fromTag:a}})))},[h,a,l]);return a&&l&&u&&(q||h)?e(i,{isLoading:c,isUpdated:h,onUpgrade:j}):null};export{a as default};
1
+ import{jsx as e}from"react/jsx-runtime";import{useMemo as r,useCallback as t}from"react";import"zustand";import{usePageStore as o}from"../../contexts/PageContext.js";import"react-transition-group";import"../constant.js";import"swr";import"@gem-sdk/core";import i from"./UpgradeButton.js";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../graphql-shopify/product-detail.generated.js";import"../../graphql-shopify/product-medias.generated.js";import"../../graphql-shopify/product-variants.generated.js";import"../../helpers/convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import{usePageType as s}from"../../hooks/shop.js";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";let p=["THEME_SECTION"],a=({tag:a,uid:l})=>{let m=o(e=>e.oldElements),d=o(e=>e.updatedElements),n=o(e=>e.updatingElements),g=s(),u=r(()=>!p.some(e=>e.includes(g)),[g]),h=r(()=>!!l&&(m?.some(e=>e.uid===l)??!1),[m,l]),q=r(()=>d?.some(e=>e.uid===l),[d,l]),c=r(()=>n?.some(e=>e.uid===l),[n,l]),j=t(e=>{q||(e.preventDefault(),e.stopPropagation(),window.dispatchEvent(new CustomEvent("editor:toolbar:upgrade-old-element",{bubbles:!0,detail:{componentUid:l,fromTag:a}})))},[q,a,l]);return a&&l&&u&&(h||q)?e(i,{isLoading:c,isUpdated:q,onUpgrade:j}):null};export{a as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,Fragment as t}from"react/jsx-runtime";import{useId as r,useMemo as i,useContext as s,createContext as o}from"react";import{useStore as p,createStore as a}from"zustand";import"swr";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"swr/infinite";import"../graphql/queries/productsV2.generated.js";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"../hooks/useStickyStore.js";import{checkInStock as l}from"../helpers/variant.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";import"react-transition-group";import"../components/constant.js";import"@gem-sdk/core";import{flattenConnection as n}from"../helpers/flatten-connection.js";import"../helpers/convert.js";import"crc-32";let d=o(null),u=e=>a((t,r)=>({...e,updateProperty:(e,r)=>{t(t=>({properties:t.properties?.map(t=>t.key===e?{...t,...r}:t)}))},setUseProductCompareAtPrice:e=>{t({useProductCompareAtPrice:e})},setShouldRequireUploadMessage:e=>{t({shouldRequireUploadMessage:e})},setRequireUpload:e=>{t({requireUpload:e})},addProperty:e=>{let i=r().properties;i?.some(t=>t.key===e.key)||t(t=>({properties:[...t.properties??[],e]}))},removeProperty:e=>{t(t=>({properties:t.properties?.filter(t=>t.key!==e)}))},setQuantity:e=>{t({quantity:e>0?e:1})},setProductFeaturedImage:e=>{t({featuredImageGlobal:e})},incrementQuantity:()=>{t(e=>{let t=e.quantity??1;return{quantity:t+1}})},decrementQuantity:()=>{t(e=>{let t=e.quantity??1;return{quantity:t>2?t-1:1}})},setSelectedOption:(e,r)=>{t(t=>e&&r?{selectedOptions:{...t?.selectedOptions,[e]:r}}:t)},forceSelectedOption:e=>{t(t=>({selectedOptions:{...t?.selectedOptions,...e}}))},updateIsSubmit:e=>{t({isSubmit:e})},setHasUpdatePriceFollowQuantity:e=>{t({updatePrice:e})},setHasPreSelected:e=>{t({hasPreSelected:e})},setIsChangeSelectedOption:e=>{t({isChangeSelectedOption:e})},setSubscriptionSellingType:e=>{t({subscriptionSellingType:e})},setSelectedSellingPlan:e=>{t({selectedSellingPlan:e})}})),m=({children:s,product:o,initialVariantId:p,initialVariantBaseId:a,quantity:m=1,isSyncProduct:c,hasPreSelected:g,uid:q})=>{let h=r(),j=i(()=>{let e,t={};if(o){let r=n(o.variants),i=r[0],s=r.find(e=>l(e)),d=r.find(e=>e?.id===p||e?.baseID===a)??s??i;t=d?.selectedOptions?.reduce((e,t)=>t.name?{...e,[t.name]:t.value}:e,{}),e=o.medias?.edges.find(e=>e.node?.id===d?.mediaId)?.node??o.featuredImage}return u({product:o,quantity:m,selectedOptions:t,uiqueId:h,featuredImageGlobal:e,isSyncProduct:c,hasPreSelected:g,uid:q})},[o,m,h,c,g,p,q]);return e(d.Provider,{value:j,children:e(t,{children:s})})},c=(e,t)=>{let r=s(d);if(!r)throw Error("Element of product must be used inside a Product");return p(r,e,t)};export{m as ProductProvider,c as useProductStore};
2
+ import{jsx as e,Fragment as t}from"react/jsx-runtime";import{useId as r,useMemo as i,useContext as s,createContext as o}from"react";import{useStore as p,createStore as a}from"zustand";import"swr";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"swr/infinite";import"../graphql/queries/productsV2.generated.js";import"vanilla-lazyload";import"../hooks/useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"../hooks/useStickyStore.js";import{checkInStock as l}from"../helpers/variant.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";import"react-transition-group";import"../components/constant.js";import"@gem-sdk/core";import{flattenConnection as n}from"../helpers/flatten-connection.js";import"../graphql-shopify/product-detail.generated.js";import"../graphql-shopify/product-medias.generated.js";import"../graphql-shopify/product-variants.generated.js";import"../helpers/convert.js";import"crc-32";let d=o(null),u=e=>a((t,r)=>({...e,updateProperty:(e,r)=>{t(t=>({properties:t.properties?.map(t=>t.key===e?{...t,...r}:t)}))},setUseProductCompareAtPrice:e=>{t({useProductCompareAtPrice:e})},setShouldRequireUploadMessage:e=>{t({shouldRequireUploadMessage:e})},setRequireUpload:e=>{t({requireUpload:e})},addProperty:e=>{let i=r().properties;i?.some(t=>t.key===e.key)||t(t=>({properties:[...t.properties??[],e]}))},removeProperty:e=>{t(t=>({properties:t.properties?.filter(t=>t.key!==e)}))},setQuantity:e=>{t({quantity:e>0?e:1})},setProductFeaturedImage:e=>{t({featuredImageGlobal:e})},incrementQuantity:()=>{t(e=>{let t=e.quantity??1;return{quantity:t+1}})},decrementQuantity:()=>{t(e=>{let t=e.quantity??1;return{quantity:t>2?t-1:1}})},setSelectedOption:(e,r)=>{t(t=>e&&r?{selectedOptions:{...t?.selectedOptions,[e]:r}}:t)},forceSelectedOption:e=>{t(t=>({selectedOptions:{...t?.selectedOptions,...e}}))},updateIsSubmit:e=>{t({isSubmit:e})},setHasUpdatePriceFollowQuantity:e=>{t({updatePrice:e})},setHasPreSelected:e=>{t({hasPreSelected:e})},setIsChangeSelectedOption:e=>{t({isChangeSelectedOption:e})},setSubscriptionSellingType:e=>{t({subscriptionSellingType:e})},setSelectedSellingPlan:e=>{t({selectedSellingPlan:e})}})),m=({children:s,product:o,initialVariantId:p,initialVariantBaseId:a,quantity:m=1,isSyncProduct:c,hasPreSelected:g,uid:q})=>{let h=r(),j=i(()=>{let e,t={};if(o){let r=n(o.variants),i=r[0],s=r.find(e=>l(e)),d=r.find(e=>e?.id===p||e?.baseID===a)??s??i;t=d?.selectedOptions?.reduce((e,t)=>t.name?{...e,[t.name]:t.value}:e,{}),e=o.medias?.edges.find(e=>e.node?.id===d?.mediaId)?.node??o.featuredImage}return u({product:o,quantity:m,selectedOptions:t,uiqueId:h,featuredImageGlobal:e,isSyncProduct:c,hasPreSelected:g,uid:q})},[o,m,h,c,g,p,q]);return e(d.Provider,{value:j,children:e(t,{children:s})})},c=(e,t)=>{let r=s(d);if(!r)throw Error("Element of product must be used inside a Product");return p(r,e,t)};export{m as ProductProvider,c as useProductStore};
@@ -0,0 +1,110 @@
1
+ function e(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class t extends String{toString(){return this.value}constructor(t,i){super(t),e(this,"__apiType",void 0),e(this,"value",void 0),e(this,"__meta__",void 0),this.value=t,this.__meta__=i}}let i=new t(`
2
+ query ShopifyProductDetail($first: Int = 1, $after: String, $query: String, $sortKey: ProductSortKeys = ID, $reverse: Boolean = false, $firstOption: Int = 3, $firstCollection: Int = 20, $afterCollection: String) {
3
+ product: products(
4
+ first: $first
5
+ after: $after
6
+ query: $query
7
+ sortKey: $sortKey
8
+ reverse: $reverse
9
+ ) {
10
+ edges {
11
+ cursor
12
+ node {
13
+ id
14
+ handle
15
+ title
16
+ description
17
+ descriptionHtml
18
+ vendor
19
+ tags
20
+ createdAt
21
+ featuredMedia {
22
+ id
23
+ alt
24
+ mediaContentType
25
+ status
26
+ preview {
27
+ image {
28
+ id
29
+ url
30
+ width
31
+ height
32
+ altText
33
+ }
34
+ }
35
+ ... on MediaImage {
36
+ mimeType
37
+ image {
38
+ id
39
+ url
40
+ width
41
+ height
42
+ altText
43
+ }
44
+ }
45
+ ... on Video {
46
+ duration
47
+ filename
48
+ sources {
49
+ url
50
+ format
51
+ mimeType
52
+ width
53
+ height
54
+ }
55
+ }
56
+ ... on ExternalVideo {
57
+ host
58
+ embedUrl
59
+ originUrl
60
+ }
61
+ ... on Model3d {
62
+ filename
63
+ sources {
64
+ url
65
+ format
66
+ mimeType
67
+ }
68
+ }
69
+ }
70
+ options(first: $firstOption) {
71
+ id
72
+ name
73
+ position
74
+ optionValues {
75
+ id
76
+ name
77
+ hasVariants
78
+ swatch {
79
+ color
80
+ image {
81
+ id
82
+ image {
83
+ url
84
+ width
85
+ height
86
+ altText
87
+ }
88
+ }
89
+ }
90
+ }
91
+ }
92
+ collections(first: $firstCollection, after: $afterCollection) {
93
+ edges {
94
+ cursor
95
+ node {
96
+ id
97
+ handle
98
+ title
99
+ }
100
+ }
101
+ pageInfo {
102
+ hasNextPage
103
+ endCursor
104
+ }
105
+ }
106
+ }
107
+ }
108
+ }
109
+ }
110
+ `);export{i as ShopifyProductDetailDocument,t as TypedDocumentString};
@@ -0,0 +1,80 @@
1
+ function e(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}class r extends String{toString(){return this.value}constructor(r,t){super(r),e(this,"__apiType",void 0),e(this,"value",void 0),e(this,"__meta__",void 0),this.value=r,this.__meta__=t}}let t=new r(`
2
+ query ShopifyProductMedias($first: Int = 1, $after: String, $query: String, $sortKey: ProductSortKeys = ID, $reverse: Boolean = false, $firstMedia: Int = 50, $afterMedia: String, $sortKeyMedia: ProductMediaSortKeys = POSITION, $reverseMedia: Boolean = false) {
3
+ medias: products(
4
+ first: $first
5
+ after: $after
6
+ query: $query
7
+ sortKey: $sortKey
8
+ reverse: $reverse
9
+ ) {
10
+ edges {
11
+ node {
12
+ id
13
+ media(
14
+ first: $firstMedia
15
+ after: $afterMedia
16
+ sortKey: $sortKeyMedia
17
+ reverse: $reverseMedia
18
+ ) {
19
+ edges {
20
+ cursor
21
+ node {
22
+ id
23
+ alt
24
+ mediaContentType
25
+ status
26
+ preview {
27
+ image {
28
+ id
29
+ url
30
+ width
31
+ height
32
+ altText
33
+ }
34
+ }
35
+ ... on MediaImage {
36
+ mimeType
37
+ image {
38
+ id
39
+ url
40
+ width
41
+ height
42
+ altText
43
+ }
44
+ }
45
+ ... on Video {
46
+ duration
47
+ filename
48
+ sources {
49
+ url
50
+ format
51
+ mimeType
52
+ width
53
+ height
54
+ }
55
+ }
56
+ ... on ExternalVideo {
57
+ host
58
+ embedUrl
59
+ originUrl
60
+ }
61
+ ... on Model3d {
62
+ filename
63
+ sources {
64
+ url
65
+ format
66
+ mimeType
67
+ }
68
+ }
69
+ }
70
+ }
71
+ pageInfo {
72
+ hasNextPage
73
+ endCursor
74
+ }
75
+ }
76
+ }
77
+ }
78
+ }
79
+ }
80
+ `);export{t as ShopifyProductMediasDocument,r as TypedDocumentString};
@@ -0,0 +1,107 @@
1
+ function e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class t extends String{toString(){return this.value}constructor(t,r){super(t),e(this,"__apiType",void 0),e(this,"value",void 0),e(this,"__meta__",void 0),this.value=t,this.__meta__=r}}let r=new t(`
2
+ query ShopifyProductVariants($first: Int = 50, $after: String, $query: String, $sortKey: ProductVariantSortKeys = POSITION, $reverse: Boolean = false) {
3
+ variants: productVariants(
4
+ first: $first
5
+ after: $after
6
+ query: $query
7
+ sortKey: $sortKey
8
+ reverse: $reverse
9
+ ) {
10
+ edges {
11
+ cursor
12
+ node {
13
+ id
14
+ title
15
+ sku
16
+ barcode
17
+ position
18
+ price
19
+ compareAtPrice
20
+ inventoryPolicy
21
+ inventoryQuantity
22
+ selectedOptions {
23
+ name
24
+ value
25
+ }
26
+ inventoryItem {
27
+ id
28
+ sku
29
+ tracked
30
+ requiresShipping
31
+ unitCost {
32
+ amount
33
+ currencyCode
34
+ }
35
+ measurement {
36
+ id
37
+ weight {
38
+ unit
39
+ value
40
+ }
41
+ }
42
+ }
43
+ image {
44
+ id
45
+ url
46
+ width
47
+ height
48
+ altText
49
+ }
50
+ media(first: 1) {
51
+ nodes {
52
+ id
53
+ alt
54
+ mediaContentType
55
+ status
56
+ preview {
57
+ image {
58
+ id
59
+ url
60
+ width
61
+ height
62
+ altText
63
+ }
64
+ }
65
+ ... on MediaImage {
66
+ mimeType
67
+ image {
68
+ id
69
+ url
70
+ width
71
+ height
72
+ altText
73
+ }
74
+ }
75
+ ... on Video {
76
+ duration
77
+ sources {
78
+ url
79
+ format
80
+ mimeType
81
+ width
82
+ height
83
+ }
84
+ }
85
+ ... on ExternalVideo {
86
+ host
87
+ embedUrl
88
+ originUrl
89
+ }
90
+ ... on Model3d {
91
+ sources {
92
+ url
93
+ format
94
+ mimeType
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ }
101
+ pageInfo {
102
+ hasNextPage
103
+ endCursor
104
+ }
105
+ }
106
+ }
107
+ `);export{r as ShopifyProductVariantsDocument,t as TypedDocumentString};
@@ -0,0 +1 @@
1
+ function e(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}class r extends Error{get code(){return this.bridge.code}constructor(r,t,i){super(t.message),e(this,"bridge",void 0),e(this,"partialData",void 0),e(this,"requestId",void 0),this.name="BridgeRequestError",this.requestId=r,this.bridge=t,this.partialData=i}}export{r as BridgeRequestError};
@@ -0,0 +1 @@
1
+ let e=1,r={request:"editor:api:graphql:request",response:"editor:api:graphql:response",readyRequest:"editor:api:graphql:ready-request",ready:"editor:api:graphql:ready"};export{r as API_EVENTS,e as BRIDGE_VERSION};
@@ -0,0 +1 @@
1
+ import{BridgeRequestError as e}from"./BridgeRequestError.js";import{requestBridgeGraphql as r}from"./requestBridgeGraphql.js";let t=()=>t=>{let i;let[o,a,s]=t;if(void 0!==s){if("string"!=typeof s)return Promise.reject(new e("invalid-request",{code:"INVALID_REQUEST",message:"operationName must be a string."}));i=s}return r({api:"app",query:o,variables:a,operationName:i})};export{t as createBuilderApiFetcher};
@@ -0,0 +1 @@
1
+ let e;import{BridgeRequestError as r}from"./BridgeRequestError.js";import{API_EVENTS as t,BRIDGE_VERSION as o}from"./contract.js";let n=new Map,i=new Map,s=r=>{e||(e=r,r.addEventListener(t.response,f),r.addEventListener(t.ready,p))},a=e=>{let r=n.delete(e.requestId)||i.delete(e.requestId);return!!r},d=(e,r)=>{a(e)&&e.resolve(r)},l=(e,t,o)=>{a(e)&&e.reject(new r(e.requestId,t,o))},u=r=>{let o=e;o&&!r.sent&&(i.set(r.requestId,r),o.dispatchEvent(new CustomEvent(t.request,{detail:r.detail})),r.sent=!0)};function p(r){let t=e;if(t&&r.detail?.version===o)for(let e of[...n.values()])n.delete(e.requestId)&&u(e)}function f(e){let r=e.detail;if(!r||"object"!=typeof r||r.version!==o||"string"!=typeof r.requestId)return;let t=i.get(r.requestId);if(!t||"boolean"!=typeof r.ok||!Object.prototype.hasOwnProperty.call(r,"data"))return;if(r.ok){d(t,r.data);return}let n=r.data;"string"==typeof n?.error?.code&&"string"==typeof n.error.message&&l(t,n.error,n.partialData)}let c=(e,r)=>{if(null===e||"object"!=typeof e)throw Error("The bridge request must be an object.");let{api:t,query:n,variables:i,operationName:s}=e;if("app"!==t)throw Error("The bridge request must target the app API.");if("string"!=typeof n||0===n.length)throw Error("The bridge request requires a nonempty query string.");if(void 0!==s&&("string"!=typeof s||!s))throw Error("operationName must be a nonempty string when supplied.");if(void 0!==i&&(null===i||"object"!=typeof i||Array.isArray(i)))throw Error("Query variables must be an object when supplied.");let a={version:o,requestId:r,api:t,query:n};return void 0!==s&&(a.operationName=s),void 0!==i&&(a.variables=i),a},w=()=>"function"==typeof window.crypto?.randomUUID?window.crypto.randomUUID():`bridge-${Date.now()}-${Math.random().toString(36).slice(2)}`;function y(e){let i;if("undefined"==typeof window)return Promise.reject(new r("server",{code:"BRIDGE_UNAVAILABLE",message:"The editor bridge requires a browser."}));let a=window,d=w();try{i=c(e,d)}catch(e){return Promise.reject(new r(d,{code:"INVALID_REQUEST",message:e instanceof Error?e.message:"The bridge request is invalid."}))}let l=a.bridgeReady;return new Promise((e,r)=>{let p={requestId:d,detail:i,resolve:r=>e(r),reject:r,sent:!1};s(a),l?u(p):(n.set(d,p),a.dispatchEvent(new CustomEvent(t.readyRequest,{detail:{version:o}})))})}export{y as requestBridgeGraphql};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{useRef as e,useMemo as t,useCallback as r}from"react";import"react/jsx-runtime";import"zustand";import{usePageStore as i}from"../../contexts/PageContext.js";import"react-transition-group";import"../../components/constant.js";import"swr";import"@gem-sdk/core";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";let n=()=>{let n=e(),a=i(e=>e.setInteractionIsSelectOnPage),o=i(e=>e.sidebarMode),s=i(e=>e.interactionData?.selectType),p=i(e=>e.interactionData);function l(e,t){return!(e instanceof Document)&&e?.matches(t)?e:e?.querySelector(t)}let c=(e,t,r)=>{let i=e=>{let t=e.detail;r&&r(t)};return e.addEventListener(t,i),()=>e.removeEventListener(t,i)},d=t(()=>"interaction"===o&&(!p?.isSelectOnPage||"PAGE"===s),[o,p?.isSelectOnPage,s]),u=t(()=>p?.isSelectOnPage,[p?.isSelectOnPage]),g=r(e=>{if(window.interactionLoaded){e();return}window.addEventListener("gp:flow-actions-loaded",()=>{e()})},[]);return{onListener:({event:e,selector:t,elementRef:r},i)=>{let a=l(r?.current||n.current||document,t);if(a)return c(a,e,i)},trigger:({event:e,data:t,selector:r,element:i})=>{let n=i||document.body?.querySelector(r);if(!n)return;let a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:{data:t}});n.dispatchEvent(a)},saveToElementInteractionData:(e,t,r)=>{if(!e)return;let i=e.getAttribute("gp-data-interaction"),n=JSON.parse(i||"{}");e.setAttribute("gp-data-interaction",JSON.stringify({...n,[t]:r}))},closeSelectOnPage:()=>{a(!1);let e=new CustomEvent("editor:interaction:change-select-on-page",{bubbles:!0,detail:!1});window.dispatchEvent(e)},ref:n,findElementIncludingSelf:l,getInteractionPreviousData:(e,t)=>{let r=e.getAttribute("gp-data-interaction"),i=JSON.parse(r||"{}");return{previousData:i[t],interactionDataJson:i}},changeSelectMode:e=>{let t=new CustomEvent("editor:interaction:change-select-mode",{bubbles:!0,detail:e});window.dispatchEvent(t)},selectInteractionElement:({componentUid:e,settingType:t,$target:r})=>{let i=new CustomEvent("editor:interaction:select-element",{bubbles:!0,detail:{componentUid:e,settingType:t,$target:r}});window.dispatchEvent(i)},isInteractionMode:d,isSelectOnPage:u,interactionListenerLoaded:g}};export{n as useInteraction};
2
+ import{useRef as e,useMemo as t,useCallback as r}from"react";import"react/jsx-runtime";import"zustand";import{usePageStore as i}from"../../contexts/PageContext.js";import"react-transition-group";import"../../components/constant.js";import"swr";import"@gem-sdk/core";import"../../graphql/queries/collection-detail-filter.generated.js";import"../../graphql/queries/collection.generated.js";import"../../graphql/queries/collections.generated.js";import"../../graphql/queries/published-theme-pages.generated.js";import"../../graphql/queries/store-property.generated.js";import"../../graphql/queries/preview-page.generated.js";import"../../graphql/queries/published-shop-metas.generated.js";import"../../graphql/queries/shop-shopify.generated.js";import"../../graphql/queries/articles.generated.js";import"../../graphql/queries/blogs.generated.js";import"../../graphql/queries/products-with-selling-plans.generated.js";import"../../graphql/queries/product-variant-with-selling-plans.generated.js";import"../../graphql/queries/product-variants.generated.js";import"../../graphql/queries/product-little-detail.generated.js";import"../../graphql/queries/product-medias.generated.js";import"../../graphql/queries/productsV2.generated.js";import"../../graphql-shopify/product-detail.generated.js";import"../../graphql-shopify/product-medias.generated.js";import"../../graphql-shopify/product-variants.generated.js";import"../convert.js";import"crc-32";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"swr/infinite";import"vanilla-lazyload";import"../../hooks/useCartUI.js";import"../../graphql/queries/product-value-label.generated.js";import"../../hooks/useStickyStore.js";import"../../types/builder.js";import"../../types/custom.js";import"../../types/animations.js";let a=()=>{let a=e(),n=i(e=>e.setInteractionIsSelectOnPage),o=i(e=>e.sidebarMode),s=i(e=>e.interactionData?.selectType),p=i(e=>e.interactionData);function l(e,t){return!(e instanceof Document)&&e?.matches(t)?e:e?.querySelector(t)}let d=(e,t,r)=>{let i=e=>{let t=e.detail;r&&r(t)};return e.addEventListener(t,i),()=>e.removeEventListener(t,i)},c=t(()=>"interaction"===o&&(!p?.isSelectOnPage||"PAGE"===s),[o,p?.isSelectOnPage,s]),g=t(()=>p?.isSelectOnPage,[p?.isSelectOnPage]),u=r(e=>{if(window.interactionLoaded){e();return}window.addEventListener("gp:flow-actions-loaded",()=>{e()})},[]);return{onListener:({event:e,selector:t,elementRef:r},i)=>{let n=l(r?.current||a.current||document,t);if(n)return d(n,e,i)},trigger:({event:e,data:t,selector:r,element:i})=>{let a=i||document.body?.querySelector(r);if(!a)return;let n=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:{data:t}});a.dispatchEvent(n)},saveToElementInteractionData:(e,t,r)=>{if(!e)return;let i=e.getAttribute("gp-data-interaction"),a=JSON.parse(i||"{}");e.setAttribute("gp-data-interaction",JSON.stringify({...a,[t]:r}))},closeSelectOnPage:()=>{n(!1);let e=new CustomEvent("editor:interaction:change-select-on-page",{bubbles:!0,detail:!1});window.dispatchEvent(e)},ref:a,findElementIncludingSelf:l,getInteractionPreviousData:(e,t)=>{let r=e.getAttribute("gp-data-interaction"),i=JSON.parse(r||"{}");return{previousData:i[t],interactionDataJson:i}},changeSelectMode:e=>{let t=new CustomEvent("editor:interaction:change-select-mode",{bubbles:!0,detail:e});window.dispatchEvent(t)},selectInteractionElement:({componentUid:e,settingType:t,$target:r})=>{let i=new CustomEvent("editor:interaction:select-element",{bubbles:!0,detail:{componentUid:e,settingType:t,$target:r}});window.dispatchEvent(i)},isInteractionMode:c,isSelectOnPage:g,interactionListenerLoaded:u}};export{a as useInteraction};
@@ -0,0 +1 @@
1
+ import{ShopifyProductDetailDocument as e}from"../../graphql-shopify/product-detail.generated.js";import{ShopifyProductMediasDocument as t}from"../../graphql-shopify/product-medias.generated.js";import{ShopifyProductVariantsDocument as i}from"../../graphql-shopify/product-variants.generated.js";let r=e=>e.slice(e.lastIndexOf("/")+1),d=async(d,{id:o}={})=>{let n=!o||"latest"===o.toLowerCase();if(!n&&!/^(?:gid:\/\/shopify\/Product\/)?\d+$/.test(o))throw Error("Invalid Shopify product ID");let s={first:1,query:n?"status:active":`id:${r(o)}`,sortKey:"CREATED_AT",reverse:!0},p=await d([e.toString(),s]),u=p.product?.edges?.[0]?.node;if(!u)throw Error("Product not found");let[c,m]=await Promise.all([a(async e=>{let t=await d([i.toString(),{first:50,query:`product_id:${r(u.id)}`,after:e,sortKey:"POSITION",reverse:!1}]);return t.variants}),a(async e=>{let i=await d([t.toString(),{first:1,query:`id:${r(u.id)}`,afterMedia:e,sortKeyMedia:"POSITION",reverseMedia:!1}]);return i.medias?.edges?.[0]?.node?.media})]);return l({product:u,variants:c,medias:m})},a=async(e,t)=>{let i=[],r=new Set,d=async t=>{if(!t)return i;i.push(...t.edges);let{hasNextPage:a,endCursor:o}=t.pageInfo;return!a||!o||r.has(o)?i:(r.add(o),d(await e(o)))};try{return await d(t??await e())}catch(e){if(0===i.length)throw e;return i}},o=(e,t)=>({id:r(e.id??t),baseID:e.id??t,contentType:"IMAGE",src:e.url,previewImage:e.url,width:e.width??void 0,height:e.height??void 0,alt:e.altText??void 0}),n=e=>{let t=e.preview?.image,i="image"in e?e.image:void 0,d="sources"in e?e.sources.find(e=>"mp4"===e.format.toLowerCase())??e.sources[0]:void 0;return{id:r(e.id),baseID:e.id,contentType:e.mediaContentType,src:i?.url??("embedUrl"in e?e.embedUrl:d?.url),previewImage:t?.url??i?.url,width:i?.width??(d&&"width"in d&&"number"==typeof d.width?d.width:t?.width)??void 0,height:i?.height??(d&&"height"in d&&"number"==typeof d.height?d.height:t?.height)??void 0,alt:e.alt??i?.altText??t?.altText??void 0}},s=e=>{let t=e.media.nodes[0],i=t?n(t):e.image?o(e.image,e.id):void 0;return{id:r(e.id),baseID:e.id,title:e.title,barcode:e.barcode??void 0,sku:e.sku??void 0,price:String(e.price),salePrice:null==e.compareAtPrice?void 0:String(e.compareAtPrice),costPrice:e.inventoryItem.unitCost?.amount,inventoryPolicy:e.inventoryPolicy,inventoryQuantity:e.inventoryQuantity??void 0,manageInventory:e.inventoryItem.tracked,isDigital:!e.inventoryItem.requiresShipping,weight:e.inventoryItem.measurement.weight?.value,platform:"SHOPIFY",selectedOptions:e.selectedOptions.map(({name:e,value:t})=>({name:e,value:t})),mediaId:i?.id??"",media:i}},l=({product:e,variants:t,medias:i})=>({id:r(e.id),baseID:e.id,title:e.title,handle:e.handle,description:e.description,descriptionHtml:e.descriptionHtml,createdAt:e.createdAt,vendor:e.vendor,tags:e.tags,isSample:!1,sku:t[0]?.node.sku??void 0,featuredImage:e.featuredMedia?n(e.featuredMedia):void 0,options:e.options.map(e=>({id:e.id,name:e.name,values:e.optionValues.map(e=>({id:r(e.id),baseID:e.id,label:e.name}))})),variants:{edges:t.map(({cursor:e,node:t})=>({cursor:e,node:s(t)}))},medias:{edges:i.map(({cursor:e,node:t})=>({cursor:e,node:n(t)}))},collections:{edges:e.collections.edges.map(({node:e})=>({node:{id:e.id,handle:e.handle,title:e.title}}))}});export{d as getShopifyProduct};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{animations as e}from"../helpers/animations.js";import"react";import"react/jsx-runtime";import"zustand";import"swr";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"swr/infinite";import"../graphql/queries/productsV2.generated.js";import"vanilla-lazyload";import"./useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"./useStickyStore.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";import"react-transition-group";import"../components/constant.js";import"@gem-sdk/core";import"../helpers/convert.js";import"crc-32";let r=()=>{let{zoom:r,shake:t,fade:i,slide:s}=e();return{zoom:r,shake:t,fade:i,slide:s}};export{r as useAnimations};
2
+ import{animations as e}from"../helpers/animations.js";import"react";import"react/jsx-runtime";import"zustand";import"swr";import"../graphql/queries/articles.generated.js";import"../graphql/queries/blogs.generated.js";import"@gem-sdk/adapter-shopify";import"swr/mutation";import"../graphql/queries/collection-detail-filter.generated.js";import"../graphql/queries/collection.generated.js";import"../graphql/queries/collections.generated.js";import"../graphql/queries/published-theme-pages.generated.js";import"../graphql/queries/store-property.generated.js";import"../graphql/queries/preview-page.generated.js";import"../graphql/queries/published-shop-metas.generated.js";import"../graphql/queries/shop-shopify.generated.js";import"../graphql/queries/products-with-selling-plans.generated.js";import"../graphql/queries/product-variant-with-selling-plans.generated.js";import"../graphql/queries/product-variants.generated.js";import"../graphql/queries/product-little-detail.generated.js";import"../graphql/queries/product-medias.generated.js";import"swr/infinite";import"../graphql/queries/productsV2.generated.js";import"vanilla-lazyload";import"./useCartUI.js";import"../graphql/queries/product-value-label.generated.js";import"./useStickyStore.js";import"../types/builder.js";import"../types/custom.js";import"../types/animations.js";import"react-transition-group";import"../components/constant.js";import"@gem-sdk/core";import"../graphql-shopify/product-detail.generated.js";import"../graphql-shopify/product-medias.generated.js";import"../graphql-shopify/product-variants.generated.js";import"../helpers/convert.js";import"crc-32";let r=()=>{let{zoom:r,shake:t,fade:i,slide:p}=e();return{zoom:r,shake:t,fade:i,slide:p}};export{r as useAnimations};