@gem-sdk/core 12.0.0-staging.50 → 12.0.0-staging.52

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 (70) hide show
  1. package/dist/cjs/components/Render.liquid.js +1 -1
  2. package/dist/cjs/components/RenderCustomCode.js +1 -1
  3. package/dist/cjs/components/ai-generator/AIContentGenerator.js +1 -1
  4. package/dist/cjs/components/ai-generator/components/PickProduct.js +1 -1
  5. package/dist/cjs/components/ai-generator/components/ToneAndVoice.js +1 -1
  6. package/dist/cjs/components/constant.js +1 -1
  7. package/dist/cjs/components/resize/Spacing.js +1 -1
  8. package/dist/cjs/components/theme-section/ThemeSectionTooltip.js +1 -2
  9. package/dist/cjs/contexts/PageContext.js +1 -1
  10. package/dist/cjs/contexts/ProductContext.js +1 -1
  11. package/dist/cjs/graphql/fragments/media.generated.js +1 -0
  12. package/dist/cjs/graphql/fragments/preview-theme-page.generated.js +0 -4
  13. package/dist/cjs/graphql/fragments/product-little.generated.js +1 -1
  14. package/dist/cjs/graphql/fragments/product-variants-with-selling-plans-select.generated.js +42 -0
  15. package/dist/cjs/graphql/fragments/published-theme-page.generated.js +11 -2
  16. package/dist/cjs/graphql/queries/product-value-label.generated.js +4 -6
  17. package/dist/cjs/graphql/queries/product-variant-with-selling-plans.generated.js +25 -0
  18. package/dist/cjs/graphql/queries/products-with-selling-plans.generated.js +82 -0
  19. package/dist/cjs/graphql/queries/products.generated.js +6 -0
  20. package/dist/cjs/graphql/queries/productsV2.generated.js +5 -5
  21. package/dist/cjs/graphql/queries/published-theme-pages.generated.js +5 -2
  22. package/dist/cjs/graphql-app-api/queries/ThemePageMeta.generated.js +30 -0
  23. package/dist/cjs/helpers/background.js +1 -1
  24. package/dist/cjs/helpers/interaction/index.js +1 -1
  25. package/dist/cjs/helpers/liquid.js +1 -0
  26. package/dist/cjs/helpers/queries/get-products.js +1 -1
  27. package/dist/cjs/helpers/queries/getProductOffers.js +1 -0
  28. package/dist/cjs/hooks/animation/animations.js +0 -1
  29. package/dist/cjs/hooks/shop/use-products-query.js +0 -1
  30. package/dist/cjs/hooks/shop/useProductOffersQuery.js +2 -0
  31. package/dist/cjs/hooks/useAnimations.js +1 -1
  32. package/dist/cjs/hooks/useInitialSwatchesOptions.js +1 -2
  33. package/dist/cjs/hooks/useProduct.js +1 -1
  34. package/dist/cjs/index.js +1 -1
  35. package/dist/esm/components/Render.liquid.js +1 -1
  36. package/dist/esm/components/RenderCustomCode.js +1 -1
  37. package/dist/esm/components/ai-generator/AIContentGenerator.js +1 -1
  38. package/dist/esm/components/ai-generator/components/PickProduct.js +1 -1
  39. package/dist/esm/components/ai-generator/components/ToneAndVoice.js +1 -1
  40. package/dist/esm/components/constant.js +1 -1
  41. package/dist/esm/components/resize/Spacing.js +1 -1
  42. package/dist/esm/components/theme-section/ThemeSectionTooltip.js +1 -2
  43. package/dist/esm/contexts/PageContext.js +1 -1
  44. package/dist/esm/contexts/ProductContext.js +1 -1
  45. package/dist/esm/graphql/fragments/media.generated.js +1 -0
  46. package/dist/esm/graphql/fragments/preview-theme-page.generated.js +0 -4
  47. package/dist/esm/graphql/fragments/product-little.generated.js +1 -1
  48. package/dist/esm/graphql/fragments/product-variants-with-selling-plans-select.generated.js +42 -0
  49. package/dist/esm/graphql/fragments/published-theme-page.generated.js +11 -2
  50. package/dist/esm/graphql/queries/product-value-label.generated.js +4 -6
  51. package/dist/esm/graphql/queries/product-variant-with-selling-plans.generated.js +25 -0
  52. package/dist/esm/graphql/queries/products-with-selling-plans.generated.js +82 -0
  53. package/dist/esm/graphql/queries/products.generated.js +6 -0
  54. package/dist/esm/graphql/queries/productsV2.generated.js +5 -5
  55. package/dist/esm/graphql/queries/published-theme-pages.generated.js +5 -2
  56. package/dist/esm/graphql-app-api/queries/ThemePageMeta.generated.js +30 -0
  57. package/dist/esm/helpers/background.js +1 -1
  58. package/dist/esm/helpers/interaction/index.js +1 -1
  59. package/dist/esm/helpers/liquid.js +1 -0
  60. package/dist/esm/helpers/queries/get-products.js +1 -1
  61. package/dist/esm/helpers/queries/getProductOffers.js +1 -0
  62. package/dist/esm/hooks/animation/animations.js +0 -1
  63. package/dist/esm/hooks/shop/use-products-query.js +0 -1
  64. package/dist/esm/hooks/shop/useProductOffersQuery.js +2 -0
  65. package/dist/esm/hooks/useAnimations.js +1 -1
  66. package/dist/esm/hooks/useInitialSwatchesOptions.js +1 -2
  67. package/dist/esm/hooks/useProduct.js +1 -1
  68. package/dist/esm/index.js +1 -1
  69. package/dist/types/index.d.ts +12128 -1841
  70. package/package.json +10 -10
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var makeStyle=require("../helpers/make-style.js");require("react"),require("react/jsx-runtime"),require("zustand"),require("swr"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("swr/infinite"),require("vanilla-lazyload"),require("../hooks/useCartUI.js"),require("../hooks/useStickyStore.js"),require("../types/builder.js"),require("../types/custom.js"),require("../types/animations.js"),require("react-transition-group"),require("@gem-sdk/core");var constant=require("./constant.js");require("classnames"),require("dayjs");var composeAdvanceStyle=require("../helpers/compose-advance-style.js"),convert=require("../helpers/convert.js");require("crc-32");var render=require("../helpers/render.js");const componentsRenderWithParentId=["CarouselItem","CarouselItemV3"],componentTexts=["Text","Heading"],componentIconList=["IconListV2","IconList"],componentUsingAdvanced=["IconList","ProductVariants"],Render=({uid:e,builder:t,components:r,parentId:n,extraFiles:s={},pageContext:i,additionalSettings:d,...a})=>{let l=t[e],o=r[l?.tag];if(!o||!l||l?.type==="section")return{liquid:"",extraFiles:s};{let s={extraFiles:{}},c=composeAdvanceStyle.composeAdvanceStyle(l.advanced,l.tag),p="";p=constant.disableWrap.includes(l.tag)?render.RenderIf(l?.childrens?.length,()=>o({builderProps:{uid:e,builderData:l},styles:l.styles,setting:l.settings,style:c,advanced:l.advanced,parentId:componentsRenderWithParentId.includes(l.tag)?n:null,pageContext:i,...d,...a,builderAttrs:{...a.builderAttrs},rawChildren:l.childrens.map(e=>({...t[e],uid:e,builder:t,components:r,customProps:s,pageContext:i,...d})),children:constant.customRenderChildren.includes(l.tag)?"":WrapRenderChildren({uid:e,customProps:s},l.childrens.map(e=>RenderChildren({uid:e,builder:t,components:r,customProps:s,parentTag:l.tag,pageContext:i,...d})))}),()=>o({builderProps:{uid:e,builderData:l},styles:l.styles,setting:l.settings,advanced:l.advanced,style:c,isText:!!componentTexts.includes(l.tag)||null,parentId:componentsRenderWithParentId.includes(l.tag)?n:null,pageContext:i,...a,builderAttrs:{...a.builderAttrs}})):render.template`<div gp-el-wrapper style="${componentIconList.includes(l.tag)?"":c}" class="${l.uid} ${l?.childrens?.length||"IconListItemHoz"!==l.tag?"":"hidden"}">
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var makeStyle=require("../helpers/make-style.js");require("react"),require("react/jsx-runtime"),require("zustand"),require("swr"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("swr/infinite"),require("vanilla-lazyload"),require("../hooks/useCartUI.js"),require("../hooks/useStickyStore.js"),require("../types/builder.js"),require("../types/custom.js"),require("../types/animations.js"),require("react-transition-group");var constant=require("./constant.js");require("classnames"),require("dayjs"),require("@gem-sdk/core");var composeAdvanceStyle=require("../helpers/compose-advance-style.js"),convert=require("../helpers/convert.js");require("crc-32");var render=require("../helpers/render.js");const componentsRenderWithParentId=["CarouselItem","CarouselItemV3"],componentTexts=["Text","Heading"],componentIconList=["IconListV2","IconList"],componentUsingAdvanced=["IconList","ProductVariants"],Render=({uid:e,builder:t,components:r,parentId:n,extraFiles:s={},pageContext:i,additionalSettings:d,...a})=>{let l=t[e],o=r[l?.tag];if(!o||!l||l?.type==="section")return{liquid:"",extraFiles:s};{let s={extraFiles:{}},c=composeAdvanceStyle.composeAdvanceStyle(l.advanced,l.tag),p="";p=constant.disableWrap.includes(l.tag)?render.RenderIf(l?.childrens?.length,()=>o({builderProps:{uid:e,builderData:l},styles:l.styles,setting:l.settings,style:c,advanced:l.advanced,parentId:componentsRenderWithParentId.includes(l.tag)?n:null,pageContext:i,...d,...a,builderAttrs:{...a.builderAttrs},rawChildren:l.childrens.map(e=>({...t[e],uid:e,builder:t,components:r,customProps:s,pageContext:i,...d})),children:constant.customRenderChildren.includes(l.tag)?"":WrapRenderChildren({uid:e,customProps:s},l.childrens.map(e=>RenderChildren({uid:e,builder:t,components:r,customProps:s,parentTag:l.tag,pageContext:i,...d})))}),()=>o({builderProps:{uid:e,builderData:l},styles:l.styles,setting:l.settings,advanced:l.advanced,style:c,isText:!!componentTexts.includes(l.tag)||null,parentId:componentsRenderWithParentId.includes(l.tag)?n:null,pageContext:i,...a,builderAttrs:{...a.builderAttrs}})):render.template`<div gp-el-wrapper style="${componentIconList.includes(l.tag)?"":c}" class="${l.uid} ${l?.childrens?.length||"IconListItemHoz"!==l.tag?"":"hidden"}">
3
3
  ${render.RenderIf(l?.childrens?.length,()=>o({builderProps:{uid:e,builderData:l},styles:l.styles,setting:l.settings,advanced:{...componentUsingAdvanced.includes(l.tag)?l?.advanced:{},cssClass:l?.advanced?.cssClass},pageContext:i,...d,...a,builderAttrs:{...a.builderAttrs},rawChildren:l.childrens.map(e=>({...t[e],uid:e,builder:t,components:r,customProps:s,pageContext:i,...d})),children:constant.customRenderChildren.includes(l.tag)?"":WrapRenderChildren({uid:e,customProps:s},l.childrens.map(e=>RenderChildren({uid:e,builder:t,components:r,customProps:s,parentTag:l.tag,pageContext:i,...d})))}),()=>o({builderProps:{uid:e,builderData:l},styles:l.styles,setting:l.settings,advanced:{...componentUsingAdvanced.includes(l.tag)?l?.advanced:{},cssClass:l?.advanced?.cssClass},pageContext:i,...d,isText:!!componentTexts.includes(l.tag)||null,style:componentIconList.includes(l.tag)?c:null,...a,builderAttrs:{...a.builderAttrs}}))}
4
4
  </div>`;let{cssCode:u,jsCode:m}=RenderCustomCode(l);return u&&(p+=u),m&&(p+=m),{liquid:p=appendAnimation(l,p),extraFiles:s.extraFiles}}},RenderCustomCode=e=>{let{css:t,javascript:r,rootClassName:n}=e.advanced?.editorData||{},s=t?.replaceAll(n,e.uid),i=r?.replaceAll(n,e.uid),d=render.RenderIf(!!t,render.template`
5
5
  <style id="${`custom-css-${e?.uid}`}">
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),Head=require("next/head"),Script=require("next/script"),react=require("react");require("zustand"),require("react-transition-group"),require("@gem-sdk/core"),require("swr"),require("swr/infinite");var shop=require("../hooks/shop.js");require("classnames"),require("dayjs"),require("../helpers/convert.js"),require("crc-32"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("vanilla-lazyload"),require("../hooks/useCartUI.js"),require("../hooks/useStickyStore.js"),require("../types/builder.js"),require("../types/custom.js"),require("../types/animations.js");const RenderCustomCode=({uid:e,advanced:r})=>{let s=shop.useEditorMode(),{css:t,javascript:i,rootClassName:u}=r?.editorData||{},a=t?.replaceAll(u,e),o=i?.replaceAll(u,e),n={css:`custom-css-${e}`,javascript:`custom-js-${e}`},c=react.useMemo(()=>`
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),Head=require("next/head"),Script=require("next/script"),react=require("react");require("zustand"),require("react-transition-group"),require("swr"),require("swr/infinite");var shop=require("../hooks/shop.js");require("classnames"),require("dayjs"),require("@gem-sdk/core"),require("../helpers/convert.js"),require("crc-32"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("vanilla-lazyload"),require("../hooks/useCartUI.js"),require("../hooks/useStickyStore.js"),require("../types/builder.js"),require("../types/custom.js"),require("../types/animations.js");const RenderCustomCode=({uid:e,advanced:r})=>{let s=shop.useEditorMode(),{css:t,javascript:i,rootClassName:u}=r?.editorData||{},a=t?.replaceAll(u,e),o=i?.replaceAll(u,e),n={css:`custom-css-${e}`,javascript:`custom-js-${e}`},c=react.useMemo(()=>`
3
3
  try {
4
4
  ${o}
5
5
  } catch(err){}
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";var jsxRuntime=require("react/jsx-runtime"),react=require("react"),AIIcon=require("./icons/AIIcon.js"),CloseIcon=require("./icons/CloseIcon.js"),ShowMoreIcon=require("./icons/ShowMoreIcon.js"),WarningIcon=require("./icons/WarningIcon.js"),UpgradeIcon=require("./icons/UpgradeIcon.js"),PickProduct=require("./components/PickProduct.js"),ToneAndVoice=require("./components/ToneAndVoice.js"),classNames=require("classnames"),useListenEventGenerate=require("./hooks/useListenEventGenerate.js"),useGettingGenerateRequest=require("./hooks/useGettingGenerateRequest.js"),useFlipPopup=require("./hooks/useFlipPopup.js"),useCheckingProductInside=require("./hooks/useCheckingProductInside.js");require("zustand");var I18nContext=require("../../contexts/I18nContext.js");require("react-transition-group"),require("@gem-sdk/core");var ShopContext=require("../../contexts/ShopContext.js"),dayjs=require("dayjs");require("swr"),require("../../helpers/convert.js"),require("crc-32"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("swr/infinite"),require("vanilla-lazyload"),require("../../hooks/useCartUI.js"),require("../../hooks/useStickyStore.js"),require("../../types/builder.js"),require("../../types/custom.js"),require("../../types/animations.js");const AIContentGenerator=({...e})=>{let[t,s]=react.useState(!1),[n,r]=react.useState(!1),i=react.useRef(null),o=react.useRef(null),a=react.useRef(null),u=react.useRef(null),p=dayjs().add(1,"month").startOf("month").format("DD MMM"),{t:g}=I18nContext.useI18nStore(),{popupPositionX:c,popupPositionY:l,isValidating:d,bodyMaxHeight:x}=useFlipPopup.useFlipPopup(t,{genTool:i,genPopup:o,genPopupHeader:a,genButtonWrapper:u}),{isGenerating:m,onGenerate:j,onOpenProductElementSettings:h,goToPricing:f}=useListenEventGenerate.useListenEventGenerate({uid:e.uid,tag:String(e.tag)}),{getRequestBody:I,prompt:R,changeProductName:b,changePrompt:v,changeTone:q}=useGettingGenerateRequest.useGettingGenerateRequest(),{productElement:C,checkSectionHasProduct:w}=useCheckingProductInside.useCheckingProductInside(i),N=ShopContext.useShopStore(e=>e.generateContentLimitation),k=()=>{s(!t)},A=()=>{s(!1)},y=e=>{v(e.target.value)},G=react.useCallback(t=>{let s=t.detail;if(s?.componentUid!==e.uid){A();return}w()},[e.uid,w]),S=()=>{r(!n)},P=()=>{let e=I();j(e),A()},E=()=>{h(C.uid??"")};return react.useEffect(()=>{m||A()},[m]),react.useEffect(()=>{if(C.productId){r(!1);return}r(!0)},[C]),react.useEffect(()=>(window.addEventListener("editor:active-component",G),()=>{window.removeEventListener("editor:active-component",G)}),[G]),jsxRuntime.jsxs("div",{className:"gp-gen-content-toolbar-wrapper gp-relative",ref:i,children:[jsxRuntime.jsx("div",{className:"gp-gen-content-btn gp-border-r gp-pr-1 gp-mr-1",children:jsxRuntime.jsxs("button",{className:classNames({"gp-toolbar-ai-active":t},"gp-p-1 gp-text-xs gp-flex gp-gap-1 gp-items-center gp-rounded-md hover:gp-bg-[#3B3B3B] gp-font-medium"),onClick:k,children:[jsxRuntime.jsx(AIIcon.AIIcon,{}),g("AI Content")]})}),jsxRuntime.jsxs("div",{className:classNames({"gp-hidden":!t,"gp-right-0":"Section"===e.tag||"right"===c,"gp-left-0":"left"===c&&"Section"!==e.tag,"gp-top-8":"top"===l,"gp-bottom-8":"bottom"===l,"!gp-visible":!d},"gp-absolute gp-invisible gp-rounded-lg gp-bg-[#151515] gp-w-[312px] !gp-max-w-[312px] !gp-cursor-default"),ref:o,children:[jsxRuntime.jsxs("div",{className:"gp-flex gp-items-center gp-justify-between gp-px-4 gp-py-[10px]",ref:a,children:[jsxRuntime.jsx("span",{className:"gp-font-medium gp-text-sm",children:g("Write with GemAI")}),jsxRuntime.jsx("button",{className:"gp-p-2 gp-cursor-pointer hover:gp-bg-[#3B3B3B] gp-rounded-md",onClick:A,children:jsxRuntime.jsx(CloseIcon.CloseIcon,{})})]}),jsxRuntime.jsx("div",{className:classNames({"gp-overflow-auto":null!==x},"gp-pt-2 gp-text-left gp-px-4 scrollbar:gp-w-1 scrollbar-thumb:gp-bg-[#999] scrollbar-thumb:gp-rounded-xl"),style:{maxHeight:null!==x?`${x}px`:"auto"},children:N?.isAllow?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"gp-mb-4",children:jsxRuntime.jsx("span",{className:"gp-text-xs",children:g("What would you like to describe here?")})}),jsxRuntime.jsx("div",{className:"gp-mb-4 gp-flex",children:jsxRuntime.jsx("textarea",{className:"gp-p-2 gp-bg-[#333333] gp-rounded-lg gp-w-full gp-text-xs gp-text-white placeholder:gp-text-[#AAAAAA] gp-resize-none focus-visible:gp-outline-none",placeholder:g("e.g: generate feature benefits"),rows:4,value:R,onChange:y})}),jsxRuntime.jsxs("div",{className:classNames({"gp-hidden":!n},"gp-mb-4 gp-gap-4 gp-flex gp-flex-col"),children:[jsxRuntime.jsx(ToneAndVoice.ToneAndVoice,{changeToneAndVoice:q}),jsxRuntime.jsx(PickProduct.PickProduct,{changeProductName:b,openProductSetting:E,productId:C.productId})]}),jsxRuntime.jsx("div",{children:jsxRuntime.jsxs("button",{className:"gp-flex gp-justify-center gp-items-center gp-w-full gp-bg-[#333333] gp-py-2 gp-rounded-lg gp-gap-2 gp-text-xs gp-font-medium",onClick:S,children:[g("Show more"),jsxRuntime.jsx("span",{className:classNames({"gp-rotate-180":n}),children:jsxRuntime.jsx(ShowMoreIcon.ShowMoreIcon,{})})]})})]}):jsxRuntime.jsxs("div",{className:"gp-flex gp-gap-2 gp-p-3 gp-rounded-xl gp-bg-[#FDB913] gp-bg-opacity-20",children:[jsxRuntime.jsx("div",{className:"gp-flex-none gp-w-7 gp-h-7 gp-rounded-lg gp-bg-[#FFB800] gp-flex gp-justify-center gp-items-center",children:jsxRuntime.jsx(WarningIcon.WarningIcon,{})}),jsxRuntime.jsxs("p",{className:"gp-text-xs gp-whitespace-normal",children:[g("You've reached {maxGenerateCount}/{maxGenerateCount} rewrites of your AI generative this month.",{maxGenerateCount:N?.maxGenerateCount}),jsxRuntime.jsx("br",{}),g("Resets on {nextMonth}.",{nextMonth:p})]})]})}),jsxRuntime.jsx("div",{className:"gp-p-4",ref:u,children:N?.isAllow?jsxRuntime.jsx("button",{className:"gp-rounded-lg gp-w-full gp-text-xs gp-font-medium gp-bg-gradient-to-tl gp-from-[#3C38E1] gp-to-[#874CFD] gp-py-2",onClick:P,children:g(m?"Generating...":"Generate")}):jsxRuntime.jsxs("button",{className:"gp-flex gp-items-center gp-gap-2 gp-justify-center gp-rounded-lg gp-w-full gp-text-xs gp-font-medium gp-bg-gradient-to-tl gp-from-[#3C38E1] gp-to-[#874CFD] gp-py-2",onClick:f,children:[jsxRuntime.jsx(UpgradeIcon.UpgradeIcon,{}),N?.nextQuota?g("Upgrade to generate {nextQuota} rewrites",{nextQuota:N?.nextQuota}):g("You have reached limit this month")]})})]})]})};exports.AIContentGenerator=AIContentGenerator;
2
+ "use strict";var jsxRuntime=require("react/jsx-runtime"),react=require("react"),AIIcon=require("./icons/AIIcon.js"),CloseIcon=require("./icons/CloseIcon.js"),ShowMoreIcon=require("./icons/ShowMoreIcon.js"),WarningIcon=require("./icons/WarningIcon.js"),UpgradeIcon=require("./icons/UpgradeIcon.js"),PickProduct=require("./components/PickProduct.js"),ToneAndVoice=require("./components/ToneAndVoice.js"),classNames=require("classnames"),useListenEventGenerate=require("./hooks/useListenEventGenerate.js"),useGettingGenerateRequest=require("./hooks/useGettingGenerateRequest.js"),useFlipPopup=require("./hooks/useFlipPopup.js"),useCheckingProductInside=require("./hooks/useCheckingProductInside.js");require("zustand");var I18nContext=require("../../contexts/I18nContext.js");require("react-transition-group");var ShopContext=require("../../contexts/ShopContext.js"),dayjs=require("dayjs");require("@gem-sdk/core"),require("swr"),require("../../helpers/convert.js"),require("crc-32"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("swr/infinite"),require("vanilla-lazyload"),require("../../hooks/useCartUI.js"),require("../../hooks/useStickyStore.js"),require("../../types/builder.js"),require("../../types/custom.js"),require("../../types/animations.js");const AIContentGenerator=({...e})=>{let[t,s]=react.useState(!1),[n,r]=react.useState(!1),i=react.useRef(null),o=react.useRef(null),a=react.useRef(null),u=react.useRef(null),p=dayjs().add(1,"month").startOf("month").format("DD MMM"),{t:g}=I18nContext.useI18nStore(),{popupPositionX:c,popupPositionY:l,isValidating:d,bodyMaxHeight:x}=useFlipPopup.useFlipPopup(t,{genTool:i,genPopup:o,genPopupHeader:a,genButtonWrapper:u}),{isGenerating:m,onGenerate:j,onOpenProductElementSettings:h,goToPricing:f}=useListenEventGenerate.useListenEventGenerate({uid:e.uid,tag:String(e.tag)}),{getRequestBody:I,prompt:R,changeProductName:b,changePrompt:v,changeTone:q}=useGettingGenerateRequest.useGettingGenerateRequest(),{productElement:C,checkSectionHasProduct:w}=useCheckingProductInside.useCheckingProductInside(i),N=ShopContext.useShopStore(e=>e.generateContentLimitation),k=()=>{s(!t)},A=()=>{s(!1)},y=e=>{v(e.target.value)},G=react.useCallback(t=>{let s=t.detail;if(s?.componentUid!==e.uid){A();return}w()},[e.uid,w]),S=()=>{r(!n)},P=()=>{let e=I();j(e),A()},E=()=>{h(C.uid??"")};return react.useEffect(()=>{m||A()},[m]),react.useEffect(()=>{if(C.productId){r(!1);return}r(!0)},[C]),react.useEffect(()=>(window.addEventListener("editor:active-component",G),()=>{window.removeEventListener("editor:active-component",G)}),[G]),jsxRuntime.jsxs("div",{className:"gp-gen-content-toolbar-wrapper gp-relative",ref:i,children:[jsxRuntime.jsx("div",{className:"gp-gen-content-btn gp-border-r gp-pr-1 gp-mr-1",children:jsxRuntime.jsxs("button",{className:classNames({"gp-toolbar-ai-active":t},"gp-p-1 gp-text-xs gp-flex gp-gap-1 gp-items-center gp-rounded-md hover:gp-bg-[#3B3B3B] gp-font-medium"),onClick:k,children:[jsxRuntime.jsx(AIIcon.AIIcon,{}),g("AI Content")]})}),jsxRuntime.jsxs("div",{className:classNames({"gp-hidden":!t,"gp-right-0":"Section"===e.tag||"right"===c,"gp-left-0":"left"===c&&"Section"!==e.tag,"gp-top-8":"top"===l,"gp-bottom-8":"bottom"===l,"!gp-visible":!d},"gp-absolute gp-invisible gp-rounded-lg gp-bg-[#151515] gp-w-[312px] !gp-max-w-[312px] !gp-cursor-default"),ref:o,children:[jsxRuntime.jsxs("div",{className:"gp-flex gp-items-center gp-justify-between gp-px-4 gp-py-[10px]",ref:a,children:[jsxRuntime.jsx("span",{className:"gp-font-medium gp-text-sm",children:g("Write with GemAI")}),jsxRuntime.jsx("button",{className:"gp-p-2 gp-cursor-pointer hover:gp-bg-[#3B3B3B] gp-rounded-md",onClick:A,children:jsxRuntime.jsx(CloseIcon.CloseIcon,{})})]}),jsxRuntime.jsx("div",{className:classNames({"gp-overflow-auto":null!==x},"gp-pt-2 gp-text-left gp-px-4 scrollbar:gp-w-1 scrollbar-thumb:gp-bg-[#999] scrollbar-thumb:gp-rounded-xl"),style:{maxHeight:null!==x?`${x}px`:"auto"},children:N?.isAllow?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"gp-mb-4",children:jsxRuntime.jsx("span",{className:"gp-text-xs",children:g("What would you like to describe here?")})}),jsxRuntime.jsx("div",{className:"gp-mb-4 gp-flex",children:jsxRuntime.jsx("textarea",{className:"gp-p-2 gp-bg-[#333333] gp-rounded-lg gp-w-full gp-text-xs gp-text-white placeholder:gp-text-[#AAAAAA] gp-resize-none focus-visible:gp-outline-none",placeholder:g("e.g: generate feature benefits"),rows:4,value:R,onChange:y})}),jsxRuntime.jsxs("div",{className:classNames({"gp-hidden":!n},"gp-mb-4 gp-gap-4 gp-flex gp-flex-col"),children:[jsxRuntime.jsx(ToneAndVoice.ToneAndVoice,{changeToneAndVoice:q}),jsxRuntime.jsx(PickProduct.PickProduct,{changeProductName:b,openProductSetting:E,productId:C.productId})]}),jsxRuntime.jsx("div",{children:jsxRuntime.jsxs("button",{className:"gp-flex gp-justify-center gp-items-center gp-w-full gp-bg-[#333333] gp-py-2 gp-rounded-lg gp-gap-2 gp-text-xs gp-font-medium",onClick:S,children:[g("Show more"),jsxRuntime.jsx("span",{className:classNames({"gp-rotate-180":n}),children:jsxRuntime.jsx(ShowMoreIcon.ShowMoreIcon,{})})]})})]}):jsxRuntime.jsxs("div",{className:"gp-flex gp-gap-2 gp-p-3 gp-rounded-xl gp-bg-[#FDB913] gp-bg-opacity-20",children:[jsxRuntime.jsx("div",{className:"gp-flex-none gp-w-7 gp-h-7 gp-rounded-lg gp-bg-[#FFB800] gp-flex gp-justify-center gp-items-center",children:jsxRuntime.jsx(WarningIcon.WarningIcon,{})}),jsxRuntime.jsxs("p",{className:"gp-text-xs gp-whitespace-normal",children:[g("You've reached {maxGenerateCount}/{maxGenerateCount} rewrites of your AI generative this month.",{maxGenerateCount:N?.maxGenerateCount}),jsxRuntime.jsx("br",{}),g("Resets on {nextMonth}.",{nextMonth:p})]})]})}),jsxRuntime.jsx("div",{className:"gp-p-4",ref:u,children:N?.isAllow?jsxRuntime.jsx("button",{className:"gp-rounded-lg gp-w-full gp-text-xs gp-font-medium gp-bg-gradient-to-tl gp-from-[#3C38E1] gp-to-[#874CFD] gp-py-2",onClick:P,children:g(m?"Generating...":"Generate")}):jsxRuntime.jsxs("button",{className:"gp-flex gp-items-center gp-gap-2 gp-justify-center gp-rounded-lg gp-w-full gp-text-xs gp-font-medium gp-bg-gradient-to-tl gp-from-[#3C38E1] gp-to-[#874CFD] gp-py-2",onClick:f,children:[jsxRuntime.jsx(UpgradeIcon.UpgradeIcon,{}),N?.nextQuota?g("Upgrade to generate {nextQuota} rewrites",{nextQuota:N?.nextQuota}):g("You have reached limit this month")]})})]})]})};exports.AIContentGenerator=AIContentGenerator;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";var jsxRuntime=require("react/jsx-runtime"),react=require("react"),SearchIcon=require("../icons/SearchIcon.js"),useProductsQuery=require("../../../hooks/shop/use-products-query.js"),classNames=require("classnames");require("zustand");var I18nContext=require("../../../contexts/I18nContext.js");require("react-transition-group"),require("@gem-sdk/core"),require("swr"),require("dayjs"),require("../../../helpers/convert.js"),require("crc-32"),require("@gem-sdk/adapter-shopify"),require("swr/mutation");var useProductQuery=require("../../../hooks/shop/use-product-query.js");require("vanilla-lazyload"),require("../../../hooks/useCartUI.js"),require("../../../hooks/useStickyStore.js"),require("../../../types/builder.js"),require("../../../types/custom.js"),require("../../../types/animations.js");const PickProduct=e=>{let{t}=I18nContext.useI18nStore(),[s,r]=react.useState(e.productId?void 0:{first:8}),{data:u,isLoading:a,isValidating:i,size:c,setSize:n}=useProductsQuery.useListProductQuery(s,{revalidateFirstPage:!1}),{data:p}=useProductQuery.useProductQuery(e.productId),[o,l]=react.useState(),[g,d]=react.useState(!1),m=react.useRef(null),x=react.useRef(null),j=()=>{e.productId||d(!g)},h=e=>{l(e),d(!1)},f=e=>{m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{let t=e.target.value??"";if(t){r({first:8,where:{titleContainsFold:t}});return}r({first:8})},200)},b=()=>{e.openProductSetting()},q=e=>{let t=e.target;t.scrollHeight-t.scrollTop===t.clientHeight&&(x.current&&clearTimeout(x.current),x.current=setTimeout(()=>{n(c+1)},50))},R=react.useMemo(()=>u?.reduce((e,t)=>[...e,...t.products?.edges??[]],[])??[],[u]);react.useEffect(()=>{if(R.length&&!o&&!e.productId){let e=R[0]?.node;e&&l({id:e?.id,name:e?.title,image:e.featuredImage?.src})}},[R,o,e.productId]),react.useEffect(()=>{o&&o.name&&e.changeProductName(o.name)},[o,e]),react.useEffect(()=>{p&&l({id:p.id,name:p.title,image:p.featuredImage?.src})},[p]);let v="https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif";return jsxRuntime.jsxs("div",{className:"gp-flex gp-flex-col gp-gap-2",children:[jsxRuntime.jsx("p",{className:"gp-py-2 gp-text-xs",children:t("Product")}),jsxRuntime.jsxs("div",{className:"gp-relative",children:[!a||o?jsxRuntime.jsxs("button",{className:classNames({"gp-cursor-default":e.productId},"gp-flex gp-gap-2 gp-items-center gp-w-full gp-p-2 gp-rounded-lg gp-bg-[#333333] gp-text-xs"),onClick:j,children:[jsxRuntime.jsx("img",{className:"gp-rounded-lg gp-w-10 gp-h-10",src:o?.image||v,alt:"product_image"}),jsxRuntime.jsx("span",{className:"gp-truncate gp-max-w-[210px]",children:o?.name})]}):jsxRuntime.jsx("div",{children:jsxRuntime.jsxs("span",{className:"gp-text-xs",children:[t("Getting products"),"..."]})}),e.productId&&jsxRuntime.jsx("div",{className:"gp-mt-2 gp-text-xs",children:jsxRuntime.jsxs("p",{children:[t("You can manage it in")," ",jsxRuntime.jsx("button",{className:"gp-text-[#8AA4FF] gp-cursor-pointer hover:gp-underline",onClick:b,children:t("Product element")})]})}),g&&jsxRuntime.jsxs("div",{className:"gp-absolute gp-w-full gp-top-16 gp-left-0 gp-rounded-lg gp-bg-[#333333] gp-p-2 gp-flex gp-flex-col gp-gap-2 gp-z-10",children:[jsxRuntime.jsxs("div",{className:"gp-flex gp-items-center gp-gap-2 gp-p-2",children:[jsxRuntime.jsx(SearchIcon.SearchIcon,{}),jsxRuntime.jsx("input",{className:"gp-bg-transparent gp-w-full focus-visible:!gp-outline-none gp-text-xs",placeholder:t("Search product")+"...",onChange:f})]}),jsxRuntime.jsxs("div",{className:"gp-max-h-[168px] gp-overflow-auto scrollbar:gp-w-1 scrollbar-thumb:gp-bg-[#999] scrollbar-thumb:gp-rounded-xl",onScroll:q,children:[R?.map(e=>jsxRuntime.jsxs("button",{className:"gp-flex gp-p-2 hover:gp-bg-[#3B3B3B] gp-rounded-lg gp-cursor-pointer gp-gap-2 gp-items-center",onClick:()=>{h({id:e.node?.id,name:e.node?.title,image:e.node?.featuredImage?.src})},children:[jsxRuntime.jsx("img",{className:"gp-rounded-lg gp-w-10 gp-h-10",src:e.node?.featuredImage?.src||v,alt:"product_image"}),jsxRuntime.jsx("span",{className:"gp-truncate gp-max-w-[210px] gp-text-xs",children:e.node?.title})]},e.node?.id)),a||i&&jsxRuntime.jsx("div",{className:"gp-p-2",children:jsxRuntime.jsxs("span",{className:"gp-text-xs",children:[t("Getting products"),"..."]})})]})]})]})]})};exports.PickProduct=PickProduct;
2
+ "use strict";var jsxRuntime=require("react/jsx-runtime"),react=require("react"),SearchIcon=require("../icons/SearchIcon.js"),useProductsQuery=require("../../../hooks/shop/use-products-query.js"),classNames=require("classnames");require("zustand");var I18nContext=require("../../../contexts/I18nContext.js");require("react-transition-group"),require("swr"),require("dayjs"),require("@gem-sdk/core"),require("../../../helpers/convert.js"),require("crc-32"),require("@gem-sdk/adapter-shopify"),require("swr/mutation");var useProductQuery=require("../../../hooks/shop/use-product-query.js");require("vanilla-lazyload"),require("../../../hooks/useCartUI.js"),require("../../../hooks/useStickyStore.js"),require("../../../types/builder.js"),require("../../../types/custom.js"),require("../../../types/animations.js");const PickProduct=e=>{let{t}=I18nContext.useI18nStore(),[s,r]=react.useState(e.productId?void 0:{first:8}),{data:u,isLoading:a,isValidating:i,size:c,setSize:n}=useProductsQuery.useListProductQuery(s,{revalidateFirstPage:!1}),{data:p}=useProductQuery.useProductQuery(e.productId),[o,l]=react.useState(),[g,d]=react.useState(!1),m=react.useRef(null),x=react.useRef(null),j=()=>{e.productId||d(!g)},h=e=>{l(e),d(!1)},f=e=>{m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{let t=e.target.value??"";if(t){r({first:8,where:{titleContainsFold:t}});return}r({first:8})},200)},b=()=>{e.openProductSetting()},q=e=>{let t=e.target;t.scrollHeight-t.scrollTop===t.clientHeight&&(x.current&&clearTimeout(x.current),x.current=setTimeout(()=>{n(c+1)},50))},R=react.useMemo(()=>u?.reduce((e,t)=>[...e,...t.products?.edges??[]],[])??[],[u]);react.useEffect(()=>{if(R.length&&!o&&!e.productId){let e=R[0]?.node;e&&l({id:e?.id,name:e?.title,image:e.featuredImage?.src})}},[R,o,e.productId]),react.useEffect(()=>{o&&o.name&&e.changeProductName(o.name)},[o,e]),react.useEffect(()=>{p&&l({id:p.id,name:p.title,image:p.featuredImage?.src})},[p]);let v="https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif";return jsxRuntime.jsxs("div",{className:"gp-flex gp-flex-col gp-gap-2",children:[jsxRuntime.jsx("p",{className:"gp-py-2 gp-text-xs",children:t("Product")}),jsxRuntime.jsxs("div",{className:"gp-relative",children:[!a||o?jsxRuntime.jsxs("button",{className:classNames({"gp-cursor-default":e.productId},"gp-flex gp-gap-2 gp-items-center gp-w-full gp-p-2 gp-rounded-lg gp-bg-[#333333] gp-text-xs"),onClick:j,children:[jsxRuntime.jsx("img",{className:"gp-rounded-lg gp-w-10 gp-h-10",src:o?.image||v,alt:"product_image"}),jsxRuntime.jsx("span",{className:"gp-truncate gp-max-w-[210px]",children:o?.name})]}):jsxRuntime.jsx("div",{children:jsxRuntime.jsxs("span",{className:"gp-text-xs",children:[t("Getting products"),"..."]})}),e.productId&&jsxRuntime.jsx("div",{className:"gp-mt-2 gp-text-xs",children:jsxRuntime.jsxs("p",{children:[t("You can manage it in")," ",jsxRuntime.jsx("button",{className:"gp-text-[#8AA4FF] gp-cursor-pointer hover:gp-underline",onClick:b,children:t("Product element")})]})}),g&&jsxRuntime.jsxs("div",{className:"gp-absolute gp-w-full gp-top-16 gp-left-0 gp-rounded-lg gp-bg-[#333333] gp-p-2 gp-flex gp-flex-col gp-gap-2 gp-z-10",children:[jsxRuntime.jsxs("div",{className:"gp-flex gp-items-center gp-gap-2 gp-p-2",children:[jsxRuntime.jsx(SearchIcon.SearchIcon,{}),jsxRuntime.jsx("input",{className:"gp-bg-transparent gp-w-full focus-visible:!gp-outline-none gp-text-xs",placeholder:t("Search product")+"...",onChange:f})]}),jsxRuntime.jsxs("div",{className:"gp-max-h-[168px] gp-overflow-auto scrollbar:gp-w-1 scrollbar-thumb:gp-bg-[#999] scrollbar-thumb:gp-rounded-xl",onScroll:q,children:[R?.map(e=>jsxRuntime.jsxs("button",{className:"gp-flex gp-p-2 hover:gp-bg-[#3B3B3B] gp-rounded-lg gp-cursor-pointer gp-gap-2 gp-items-center",onClick:()=>{h({id:e.node?.id,name:e.node?.title,image:e.node?.featuredImage?.src})},children:[jsxRuntime.jsx("img",{className:"gp-rounded-lg gp-w-10 gp-h-10",src:e.node?.featuredImage?.src||v,alt:"product_image"}),jsxRuntime.jsx("span",{className:"gp-truncate gp-max-w-[210px] gp-text-xs",children:e.node?.title})]},e.node?.id)),a||i&&jsxRuntime.jsx("div",{className:"gp-p-2",children:jsxRuntime.jsxs("span",{className:"gp-text-xs",children:[t("Getting products"),"..."]})})]})]})]})]})};exports.PickProduct=PickProduct;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";var jsxRuntime=require("react/jsx-runtime"),react=require("react"),DropdownIcon=require("../icons/DropdownIcon.js"),classNames=require("classnames");require("zustand");var I18nContext=require("../../../contexts/I18nContext.js");require("react-transition-group"),require("@gem-sdk/core"),require("swr"),require("swr/infinite"),require("dayjs"),require("../../../helpers/convert.js"),require("crc-32"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("vanilla-lazyload"),require("../../../hooks/useCartUI.js"),require("../../../hooks/useStickyStore.js"),require("../../../types/builder.js"),require("../../../types/custom.js"),require("../../../types/animations.js");const ToneAndVoice=e=>{let{t:s}=I18nContext.useI18nStore(),r=[{label:s("Persuasive"),value:"Persuasive"},{label:s("Friendly"),value:"Friendly"},{label:s("Professional"),value:"Professional"},{label:s("Casual"),value:"Casual"}],[i,n]=react.useState(r[0]),[a,t]=react.useState(!1),l=()=>{t(!a)},u=e=>{n(e),t(!1)};return react.useEffect(()=>{i&&e.changeToneAndVoice(i.value)},[i,e]),jsxRuntime.jsx("div",{children:jsxRuntime.jsxs("div",{className:"gp-flex gp-flex-col gp-gap-2",children:[jsxRuntime.jsx("p",{className:"gp-py-2 gp-text-xs",children:s("Tone and Voice")}),jsxRuntime.jsxs("div",{className:"gp-relative",children:[jsxRuntime.jsxs("button",{className:"gp-flex gp-justify-between gp-items-center gp-w-full gp-p-2 gp-rounded-lg gp-bg-[#333333] gp-text-xs",onClick:l,children:[i?.label,jsxRuntime.jsx(DropdownIcon.DropdownIcon,{})]}),a?jsxRuntime.jsx("div",{className:"gp-absolute gp-w-full gp-top-10 gp-left-0 gp-rounded-lg gp-bg-[#333333] gp-p-2 gp-flex gp-flex-col gp-gap-2 gp-z-10",children:r.map(e=>jsxRuntime.jsxs("button",{className:"gp-flex gp-p-2 hover:gp-bg-[#3B3B3B] gp-rounded-lg gp-cursor-pointer gp-gap-3 gp-items-center",onClick:()=>u(e),children:[jsxRuntime.jsx("div",{className:classNames({"gp-invisible":i?.value!==e.value}),children:jsxRuntime.jsx(DropdownIcon.TickIcon,{})}),jsxRuntime.jsx("span",{className:"gp-text-xs",children:e.label})]},e.value))}):null]})]})})};exports.ToneAndVoice=ToneAndVoice;
2
+ "use strict";var jsxRuntime=require("react/jsx-runtime"),react=require("react"),DropdownIcon=require("../icons/DropdownIcon.js"),classNames=require("classnames");require("zustand");var I18nContext=require("../../../contexts/I18nContext.js");require("react-transition-group"),require("swr"),require("swr/infinite"),require("dayjs"),require("@gem-sdk/core"),require("../../../helpers/convert.js"),require("crc-32"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("vanilla-lazyload"),require("../../../hooks/useCartUI.js"),require("../../../hooks/useStickyStore.js"),require("../../../types/builder.js"),require("../../../types/custom.js"),require("../../../types/animations.js");const ToneAndVoice=e=>{let{t:s}=I18nContext.useI18nStore(),r=[{label:s("Persuasive"),value:"Persuasive"},{label:s("Friendly"),value:"Friendly"},{label:s("Professional"),value:"Professional"},{label:s("Casual"),value:"Casual"}],[i,n]=react.useState(r[0]),[a,t]=react.useState(!1),l=()=>{t(!a)},u=e=>{n(e),t(!1)};return react.useEffect(()=>{i&&e.changeToneAndVoice(i.value)},[i,e]),jsxRuntime.jsx("div",{children:jsxRuntime.jsxs("div",{className:"gp-flex gp-flex-col gp-gap-2",children:[jsxRuntime.jsx("p",{className:"gp-py-2 gp-text-xs",children:s("Tone and Voice")}),jsxRuntime.jsxs("div",{className:"gp-relative",children:[jsxRuntime.jsxs("button",{className:"gp-flex gp-justify-between gp-items-center gp-w-full gp-p-2 gp-rounded-lg gp-bg-[#333333] gp-text-xs",onClick:l,children:[i?.label,jsxRuntime.jsx(DropdownIcon.DropdownIcon,{})]}),a?jsxRuntime.jsx("div",{className:"gp-absolute gp-w-full gp-top-10 gp-left-0 gp-rounded-lg gp-bg-[#333333] gp-p-2 gp-flex gp-flex-col gp-gap-2 gp-z-10",children:r.map(e=>jsxRuntime.jsxs("button",{className:"gp-flex gp-p-2 hover:gp-bg-[#3B3B3B] gp-rounded-lg gp-cursor-pointer gp-gap-3 gp-items-center",onClick:()=>u(e),children:[jsxRuntime.jsx("div",{className:classNames({"gp-invisible":i?.value!==e.value}),children:jsxRuntime.jsx(DropdownIcon.TickIcon,{})}),jsxRuntime.jsx("span",{className:"gp-text-xs",children:e.label})]},e.value))}):null]})]})})};exports.ToneAndVoice=ToneAndVoice;
@@ -1 +1 @@
1
- "use strict";const disableWrap=["Col","CollectionBanner","Row","Section","Image","Text","Button","ProductButton","Cart","Tabs","TabItem","Carousel","CarouselItem","CarouselV3","CarouselItemV3","ShopPayButton","AccordionItem","Video","Header","HeroBanner","Icon","HTMLCode","IconListHoz","IconListItem","CSSCode","FormEmail","FormDropdown","SubmitButton","Dialog","TextField","FormTextarea","ProductPrice","Product","ProductList","ProductListV3","ProductImages","ProductImagesV2","ProductImagesV3","PostPurchaseProductImages","Sticky","Heading","EstimateDate","ProductBadge","Marquee","MarqueeItem","Newsletter","ContactForm","ArticleList"],customRenderChildren=["Accordion","AccordionItem","Row","IconList","Tabs","Marquee","MarqueeItem"],excludeApplyStyle=["IconListV2","IconList","ProductBadge"],postPurchaseRequiredElements=["PostPurchaseProductOffer","PostPurchaseProductTitle","PostPurchaseProductPrice","PostPurchaseAcceptButton","PostPurchaseButton","PostPurchaseCalloutBox","PostPurchaseProductImages","PostPurchaseCalloutText"],postPurchaseWrapElements=["Row","Section","PostPurchaseCalloutBox","PostPurchaseProductOffer"],ableGenerateContentElements=["Section"];exports.ableGenerateContentElements=ableGenerateContentElements,exports.customRenderChildren=customRenderChildren,exports.disableWrap=disableWrap,exports.excludeApplyStyle=excludeApplyStyle,exports.postPurchaseRequiredElements=postPurchaseRequiredElements,exports.postPurchaseWrapElements=postPurchaseWrapElements;
1
+ "use strict";const disableWrap=["Col","CollectionBanner","Row","Section","Image","Text","Button","ProductButton","Cart","Tabs","TabItem","Carousel","CarouselItem","CarouselV3","CarouselItemV3","ShopPayButton","AccordionItem","Video","Header","HeroBanner","Icon","HTMLCode","IconListHoz","IconListItem","CSSCode","FormEmail","FormDropdown","SubmitButton","Dialog","TextField","FormTextarea","ProductPrice","Product","ProductList","ProductListV3","ProductImages","ProductImagesV2","ProductImagesV3","PostPurchaseProductImages","Sticky","Heading","EstimateDate","ProductBadge","Marquee","MarqueeItem","Newsletter","ContactForm","ArticleList","PostPurchaseProductSubscription","PostPurchaseBuyerConsent"],customRenderChildren=["Accordion","AccordionItem","Row","IconList","Tabs","Marquee","MarqueeItem"],excludeApplyStyle=["IconListV2","IconList","ProductBadge"],postPurchaseRequiredElements=["PostPurchaseProductOffer","PostPurchaseProductTitle","PostPurchaseProductPrice","PostPurchaseAcceptButton","PostPurchaseButton","PostPurchaseCalloutBox","PostPurchaseProductImages","PostPurchaseCalloutText"],postPurchaseWrapElements=["Row","Section","PostPurchaseCalloutBox","PostPurchaseProductOffer"],ableGenerateContentElements=["Section"];exports.ableGenerateContentElements=ableGenerateContentElements,exports.customRenderChildren=customRenderChildren,exports.disableWrap=disableWrap,exports.excludeApplyStyle=excludeApplyStyle,exports.postPurchaseRequiredElements=postPurchaseRequiredElements,exports.postPurchaseWrapElements=postPurchaseWrapElements;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),react=require("react");require("zustand");var BuilderPreviewContext=require("../../contexts/BuilderPreviewContext.js"),device=require("../../constants/device.js");require("react-transition-group"),require("@gem-sdk/core"),require("swr"),require("swr/infinite");var shop=require("../../hooks/shop.js");function Spacing(e){let t=BuilderPreviewContext.useBuilderPreviewStore(e=>e.isThemeSectionEditor),r=shop.usePageType(),n=react.useRef(null),i=react.useRef(null),a=react.useRef(null),s=react.useRef(!1),u=react.useRef(0),o=react.useRef(0),c=react.useRef(null),[l,d]=react.useState(0),[m,p]=react.useState(!1),g=react.useRef(null),v=e=>{let t=e.clientY,r=Math.ceil(t-u.current),n=o.current||0,i=n+r>=0?`${n+r}px`:"0px";return{newValue:i}},f=e=>{if(n.current&&i.current){let{newValue:t}=v(e);i.current.style.height=t,n.current.style.top=t;let r=n.current.closest("[data-toolbar-wrap]");r&&(r.style.marginBottom=t,q(t))}},b=()=>{j()},w=()=>{a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{s.current=!0;let e=new CustomEvent("editor:toolbar:resize-spacing",{bubbles:!0,detail:{value:!0}});window.dispatchEvent(e),document.addEventListener("mousemove",f),document.addEventListener("mouseup",b)},100)},j=()=>{a.current&&clearTimeout(a.current),s.current=!1;let t=new CustomEvent("editor:toolbar:resize-spacing",{bubbles:!0,detail:{value:!1}});if(window.dispatchEvent(t),n.current){let t=getComputedStyle(n.current),r=t.top,i=new CustomEvent("editor:toolbar:change-margin-bottom",{bubbles:!0,detail:{componentUid:e.uid,marginBottom:r}});window.dispatchEvent(i)}let r=n.current?.closest("[data-toolbar-wrap]");r&&(r.style.marginBottom=""),document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",b)},h=(e,t)=>{let r=e.children.length;if(r)for(let n=0;n<r;n++){let r=e.children[n];if(r){let e=r.getAttribute(t);if(e)return r}}},x=e=>{let t=e.getAttribute("data-component-tag");return"Row"===t||"Product"===t},y=react.useCallback(e=>{let t=n.current?.closest("[data-toolbar-wrap]");if(!t)return;let r=h(t,"data-toolbar");if(!r)return;let a=r.getAttribute("data-toolbar-active");if(!a)return;let s=getComputedStyle(t),u=h(t,"data-spacing"),o=u?.querySelector("[data-spacing-margin-bottom]")||null;if(o&&i.current&&n.current){let r=s.marginBottom;if(e&&q(r),0>parseFloat(r)&&(r="0"),i.current.style.height=r,n.current.style.top=r,o.setAttribute("data-spacing-margin-bottom-active","true"),x(t))i.current.style.left="0";else{let e=s.paddingLeft,t=`-${e}`,r=`translate(${t}, -100%)`;i.current.style.left=t,n.current.style.transform=r}}},[]),q=e=>{let t=parseFloat(e);d(t),p(!0),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{p(!1)},2e3);let r=t<=28&&t>=0?t/2+16:t>28?0:16;c.current&&(c.current.style.transform=`translateY(${r}px)`)},E=usePrevious(e.advanced?.["spacing-setting"]);react.useEffect(()=>{let t=R(E,e.advanced?.["spacing-setting"]);y(t)},[E,e.advanced,y]);let R=(e,t)=>device.DEVICES.some(r=>JSON.stringify(e?.[r]?.margin?.bottom)!==JSON.stringify(t?.[r]?.margin?.bottom)),S=react.useCallback(()=>{y()},[y]);return react.useEffect(()=>(window.addEventListener("editor:toolbar:update-margin-bottom",()=>y),window.addEventListener("editor:toolbar:update-padding-left",()=>y),window.addEventListener("resize",S),()=>{window.removeEventListener("editor:toolbar:update-margin-bottom",()=>y),window.removeEventListener("editor:toolbar:update-padding-left",()=>y),window.removeEventListener("resize",S)}),[S,y]),jsxRuntime.jsx(jsxRuntime.Fragment,{children:"Section"!==e.tag&&"POST_PURCHASE"!==r&&jsxRuntime.jsx("div",{"data-spacing":!0,"data-spacing-theme-section":t,className:"gp-absolute gp-w-full gp-bottom-0",children:jsxRuntime.jsxs("div",{"data-spacing-margin-bottom":!0,children:[jsxRuntime.jsxs("div",{"data-spacing-margin-bottom-bg":!0,ref:i,children:[jsxRuntime.jsx("div",{"data-spacing-margin-bottom-value":!0}),jsxRuntime.jsx("div",{"data-active":m,"data-value-number":!0,ref:c,children:l})]}),jsxRuntime.jsx("div",{ref:n,"data-spacing-margin-bottom-drag":!0,onMouseDown:e=>{if(n.current){let t=getComputedStyle(n.current);u.current=e.clientY,o.current=parseFloat(t.top),w()}},onMouseUp:()=>{j()},role:"presentation"})]})})})}require("classnames"),require("dayjs"),require("../../helpers/convert.js"),require("crc-32"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("vanilla-lazyload"),require("../../hooks/useCartUI.js"),require("../../hooks/useStickyStore.js"),require("../../types/builder.js"),require("../../types/custom.js"),require("../../types/animations.js");const usePrevious=e=>{let t=react.useRef();return react.useEffect(()=>{t.current=e},[e]),t.current};exports.default=Spacing;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),react=require("react");require("zustand");var BuilderPreviewContext=require("../../contexts/BuilderPreviewContext.js"),device=require("../../constants/device.js");require("react-transition-group"),require("swr"),require("swr/infinite");var shop=require("../../hooks/shop.js");function Spacing(e){let t=BuilderPreviewContext.useBuilderPreviewStore(e=>e.isThemeSectionEditor),r=shop.usePageType(),n=react.useRef(null),i=react.useRef(null),a=react.useRef(null),s=react.useRef(!1),u=react.useRef(0),o=react.useRef(0),c=react.useRef(null),[l,d]=react.useState(0),[m,p]=react.useState(!1),g=react.useRef(null),v=e=>{let t=e.clientY,r=Math.ceil(t-u.current),n=o.current||0,i=n+r>=0?`${n+r}px`:"0px";return{newValue:i}},f=e=>{if(n.current&&i.current){let{newValue:t}=v(e);i.current.style.height=t,n.current.style.top=t;let r=n.current.closest("[data-toolbar-wrap]");r&&(r.style.marginBottom=t,q(t))}},b=()=>{j()},w=()=>{a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{s.current=!0;let e=new CustomEvent("editor:toolbar:resize-spacing",{bubbles:!0,detail:{value:!0}});window.dispatchEvent(e),document.addEventListener("mousemove",f),document.addEventListener("mouseup",b)},100)},j=()=>{a.current&&clearTimeout(a.current),s.current=!1;let t=new CustomEvent("editor:toolbar:resize-spacing",{bubbles:!0,detail:{value:!1}});if(window.dispatchEvent(t),n.current){let t=getComputedStyle(n.current),r=t.top,i=new CustomEvent("editor:toolbar:change-margin-bottom",{bubbles:!0,detail:{componentUid:e.uid,marginBottom:r}});window.dispatchEvent(i)}let r=n.current?.closest("[data-toolbar-wrap]");r&&(r.style.marginBottom=""),document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",b)},h=(e,t)=>{let r=e.children.length;if(r)for(let n=0;n<r;n++){let r=e.children[n];if(r){let e=r.getAttribute(t);if(e)return r}}},x=e=>{let t=e.getAttribute("data-component-tag");return"Row"===t||"Product"===t},y=react.useCallback(e=>{let t=n.current?.closest("[data-toolbar-wrap]");if(!t)return;let r=h(t,"data-toolbar");if(!r)return;let a=r.getAttribute("data-toolbar-active");if(!a)return;let s=getComputedStyle(t),u=h(t,"data-spacing"),o=u?.querySelector("[data-spacing-margin-bottom]")||null;if(o&&i.current&&n.current){let r=s.marginBottom;if(e&&q(r),0>parseFloat(r)&&(r="0"),i.current.style.height=r,n.current.style.top=r,o.setAttribute("data-spacing-margin-bottom-active","true"),x(t))i.current.style.left="0";else{let e=s.paddingLeft,t=`-${e}`,r=`translate(${t}, -100%)`;i.current.style.left=t,n.current.style.transform=r}}},[]),q=e=>{let t=parseFloat(e);d(t),p(!0),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{p(!1)},2e3);let r=t<=28&&t>=0?t/2+16:t>28?0:16;c.current&&(c.current.style.transform=`translateY(${r}px)`)},E=usePrevious(e.advanced?.["spacing-setting"]);react.useEffect(()=>{let t=R(E,e.advanced?.["spacing-setting"]);y(t)},[E,e.advanced,y]);let R=(e,t)=>device.DEVICES.some(r=>JSON.stringify(e?.[r]?.margin?.bottom)!==JSON.stringify(t?.[r]?.margin?.bottom)),S=react.useCallback(()=>{y()},[y]);return react.useEffect(()=>(window.addEventListener("editor:toolbar:update-margin-bottom",()=>y),window.addEventListener("editor:toolbar:update-padding-left",()=>y),window.addEventListener("resize",S),()=>{window.removeEventListener("editor:toolbar:update-margin-bottom",()=>y),window.removeEventListener("editor:toolbar:update-padding-left",()=>y),window.removeEventListener("resize",S)}),[S,y]),jsxRuntime.jsx(jsxRuntime.Fragment,{children:"Section"!==e.tag&&"POST_PURCHASE"!==r&&jsxRuntime.jsx("div",{"data-spacing":!0,"data-spacing-theme-section":t,className:"gp-absolute gp-w-full gp-bottom-0",children:jsxRuntime.jsxs("div",{"data-spacing-margin-bottom":!0,children:[jsxRuntime.jsxs("div",{"data-spacing-margin-bottom-bg":!0,ref:i,children:[jsxRuntime.jsx("div",{"data-spacing-margin-bottom-value":!0}),jsxRuntime.jsx("div",{"data-active":m,"data-value-number":!0,ref:c,children:l})]}),jsxRuntime.jsx("div",{ref:n,"data-spacing-margin-bottom-drag":!0,onMouseDown:e=>{if(n.current){let t=getComputedStyle(n.current);u.current=e.clientY,o.current=parseFloat(t.top),w()}},onMouseUp:()=>{j()},role:"presentation"})]})})})}require("classnames"),require("dayjs"),require("@gem-sdk/core"),require("../../helpers/convert.js"),require("crc-32"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("vanilla-lazyload"),require("../../hooks/useCartUI.js"),require("../../hooks/useStickyStore.js"),require("../../types/builder.js"),require("../../types/custom.js"),require("../../types/animations.js");const usePrevious=e=>{let t=react.useRef();return react.useEffect(()=>{t.current=e},[e]),t.current};exports.default=Spacing;
@@ -1,2 +1 @@
1
- 'use client';
2
- "use strict";var jsxRuntime=require("react/jsx-runtime"),react=require("react"),reactTransitionGroup=require("react-transition-group"),core=require("@gem-sdk/core");const TRANSITION_DURATION=350,defaultStyles={transition:"opacity 350ms ease-out",opacity:0},transitions={entering:{opacity:1},entered:{opacity:1},exiting:{opacity:0},exited:{opacity:0},unmounted:{opacity:0}},ThemeSectionTooltip=({isShow:e,isFreeLimit:t,isRender:i,children:o,limitCreateThemeSection:s,onMouseEnter:n,onMouseLeave:a,onActions:c})=>{let{t:r}=core.useI18nStore(),m=react.useRef(null),l=t?"Upgrade to create Theme Section":"Create Theme Section",u=()=>{window.open("https://help.gempages.net/articles/theme-section","_blank")};return jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsxs("div",{className:"theme-section-tooltip-wrapper",onMouseEnter:n,onMouseLeave:a,children:[o,i&&jsxRuntime.jsx(reactTransitionGroup.Transition,{in:e,timeout:350,nodeRef:m,unmountOnExit:!0,children:e=>jsxRuntime.jsx("div",{className:"theme-section-tooltip",ref:m,style:{...defaultStyles,...transitions[e]},children:s?.isLimit&&!t?jsxRuntime.jsxs("div",{className:"theme-section-tooltip__body theme-section-tooltip__body-limit",children:[jsxRuntime.jsx("div",{className:"theme-section-tooltip__body-title theme-section-tooltip__body-limit__title",children:"Upgrade plan"}),jsxRuntime.jsxs("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 (",s.total,"/",s.limit,")"]}),jsxRuntime.jsx("button",{onClick:e=>c(e),children:"Upgrade plan to create more"})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"theme-section-tooltip__image",children:jsxRuntime.jsx("img",{src:"https://ucarecdn.com/6a9f408a-aa8c-434a-890b-81067a14aceb/-/format/auto/-/preview/1920x1920/-/quality/lighter/theme-section-illustration.png",alt:""})}),jsxRuntime.jsxs("div",{className:"theme-section-tooltip__body",children:[jsxRuntime.jsx("div",{className:"theme-section-tooltip__body-title",children:"Create once, use everywhere with Theme Section"}),jsxRuntime.jsx("div",{className:"theme-section-tooltip__body-desc",children:"A global section that can be used on all your GemPages & Shopify pages."})]}),jsxRuntime.jsxs("div",{className:core.cls("theme-section-tooltip__action",{"theme-section-tooltip__action-limit":t}),children:[jsxRuntime.jsx("button",{onClick:e=>c(e),children:r(l)}),t&&jsxRuntime.jsx("div",{onClick:u,"aria-hidden":!0,className:"theme-section-tooltip__action-learn-more",children:"Learn more about Theme Section"})]})]})})})]})})};exports.ThemeSectionTooltip=ThemeSectionTooltip;
1
+ "use strict";var jsxRuntime=require("react/jsx-runtime"),react=require("react"),reactTransitionGroup=require("react-transition-group");require("zustand");var I18nContext=require("../../contexts/I18nContext.js"),cls=require("../../helpers/cls.js");require("swr"),require("swr/infinite"),require("classnames"),require("dayjs"),require("@gem-sdk/core"),require("../../helpers/convert.js"),require("crc-32"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("vanilla-lazyload"),require("../../hooks/useCartUI.js"),require("../../hooks/useStickyStore.js"),require("../../types/builder.js"),require("../../types/custom.js"),require("../../types/animations.js");const TRANSITION_DURATION=350,defaultStyles={transition:"opacity 350ms ease-out",opacity:0},transitions={entering:{opacity:1},entered:{opacity:1},exiting:{opacity:0},exited:{opacity:0},unmounted:{opacity:0}},ThemeSectionTooltip=({isShow:e,isFreeLimit:t,isRender:i,children:s,limitCreateThemeSection:o,onMouseEnter:n,onMouseLeave:r,onActions:a})=>{let{t:c}=I18nContext.useI18nStore(),l=react.useRef(null),m=t?"Upgrade to create Theme Section":"Create Theme Section",u=()=>{window.open("https://help.gempages.net/articles/theme-section","_blank")};return jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsxs("div",{className:"theme-section-tooltip-wrapper",onMouseEnter:n,onMouseLeave:r,children:[s,i&&jsxRuntime.jsx(reactTransitionGroup.Transition,{in:e,timeout:350,nodeRef:l,unmountOnExit:!0,children:e=>jsxRuntime.jsx("div",{className:"theme-section-tooltip",ref:l,style:{...defaultStyles,...transitions[e]},children:o?.isLimit&&!t?jsxRuntime.jsxs("div",{className:"theme-section-tooltip__body theme-section-tooltip__body-limit",children:[jsxRuntime.jsx("div",{className:"theme-section-tooltip__body-title theme-section-tooltip__body-limit__title",children:"Upgrade plan"}),jsxRuntime.jsxs("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 (",o.total,"/",o.limit,")"]}),jsxRuntime.jsx("button",{onClick:e=>a(e),children:"Upgrade plan to create more"})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"theme-section-tooltip__image",children:jsxRuntime.jsx("img",{src:"https://ucarecdn.com/6a9f408a-aa8c-434a-890b-81067a14aceb/-/format/auto/-/preview/1920x1920/-/quality/lighter/theme-section-illustration.png",alt:""})}),jsxRuntime.jsxs("div",{className:"theme-section-tooltip__body",children:[jsxRuntime.jsx("div",{className:"theme-section-tooltip__body-title",children:"Create once, use everywhere with Theme Section"}),jsxRuntime.jsx("div",{className:"theme-section-tooltip__body-desc",children:"A global section that can be used on all your GemPages & Shopify pages."})]}),jsxRuntime.jsxs("div",{className:cls.cls("theme-section-tooltip__action",{"theme-section-tooltip__action-limit":t}),children:[jsxRuntime.jsx("button",{onClick:e=>a(e),children:c(m)}),t&&jsxRuntime.jsx("div",{onClick:u,"aria-hidden":!0,className:"theme-section-tooltip__action-learn-more",children:"Learn more about Theme Section"})]})]})})})]})})};exports.ThemeSectionTooltip=ThemeSectionTooltip;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";var jsxRuntime=require("react/jsx-runtime"),react=require("react"),zustand=require("zustand");const PageContext=react.createContext(null),createPageStoreProvider=e=>zustand.createStore(t=>({...e,setAssignedProductIds:e=>{t({assignedProductIds:e})},setIsApplyAllProducts:e=>{t({isApplyAllProducts:e})},setDynamicProduct:e=>{t({dynamicProduct:e})},setDynamicCollection:e=>{t({dynamicCollection:e})},setPostPurchaseProductOffers:e=>{t({productOffers:e})},setDynamicDiscountOffer:e=>{t({dynamicDiscountOffer:e})},setSalePageProductId:e=>{t({salePageProductId:e})},setPublicStoreFrontData:e=>{t({publicStoreFrontData:e})},setInteractionIsSelectOnPage:e=>{t(t=>({interactionData:{...t.interactionData,isSelectOnPage:e}}))},setInteractionItem:e=>{t(t=>({interactionData:{...t.interactionData,item:e,isSelectOnPage:t.interactionData?.isSelectOnPage||!1}}))},setInteractionSelectType:e=>{t(t=>({interactionData:{...t.interactionData,selectType:e}}))},setInteractionSettingType:e=>{t(t=>({interactionData:{...t.interactionData,settingType:e}}))},setSidebarMode:e=>{t(()=>({sidebarMode:e}))}})),PageProvider=({children:e,dynamicProduct:t,dynamicCollection:r,productOffers:a,dynamicDiscountOffer:n,publicStoreFrontData:i,assignedProductIds:o,isApplyAllProducts:s,...c})=>{let u=react.useMemo(()=>createPageStoreProvider({dynamicProduct:t,dynamicCollection:r,productOffers:a,assignedProductIds:o,isApplyAllProducts:s,dynamicDiscountOffer:n,publicStoreFrontData:i,interactionData:{selectType:"ELEMENT"}}),[t,r,a,n,i,o,s]);return jsxRuntime.jsx(PageContext.Provider,{...c,value:u,children:e})},usePageStore=(e,t)=>{let r=react.useContext(PageContext);if(!r)throw Error("usePageStore must be used within a PageProvider");return zustand.useStore(r,e,t)};exports.PageProvider=PageProvider,exports.usePageStore=usePageStore;
2
+ "use strict";var jsxRuntime=require("react/jsx-runtime"),react=require("react"),zustand=require("zustand");const PageContext=react.createContext(null),createPageStoreProvider=e=>zustand.createStore((t,r)=>({...e,setAssignedProductIds:e=>{t({assignedProductIds:e})},setIsApplyAllProducts:e=>{t({isApplyAllProducts:e})},setDynamicProduct:e=>{t({dynamicProduct:e})},setDynamicCollection:e=>{t({dynamicCollection:e})},setPostPurchaseProductOffers:e=>{t({productOffers:e})},setDynamicDiscountOffer:e=>{t({dynamicDiscountOffer:e})},setSalePageProductId:e=>{t({salePageProductId:e})},setPublicStoreFrontData:e=>{t({publicStoreFrontData:e})},setInteractionIsSelectOnPage:e=>{t(t=>({interactionData:{...t.interactionData,isSelectOnPage:e}}))},setInteractionItem:e=>{t(t=>({interactionData:{...t.interactionData,item:e,isSelectOnPage:t.interactionData?.isSelectOnPage||!1}}))},setInteractionSelectType:e=>{t(t=>({interactionData:{...t.interactionData,selectType:e}}))},setInteractionSettingType:e=>{t(t=>({interactionData:{...t.interactionData,settingType:e}}))},setSidebarMode:e=>{t(()=>({sidebarMode:e}))},setSellingPlanMeta:e=>{t({sellingPlanMeta:e})},setBuyerConsentChecked:e=>{t({buyerConsentChecked:e})},getBuyerConsentChecked:()=>r().buyerConsentChecked,setSubscriptionVisible:e=>{t({subscriptionVisible:e})},getSubscriptionVisible:()=>r().subscriptionVisible})),PageProvider=({children:e,dynamicProduct:t,dynamicCollection:r,productOffers:a,dynamicDiscountOffer:i,publicStoreFrontData:n,assignedProductIds:s,isApplyAllProducts:o,sellingPlanMeta:c,buyerConsentChecked:u,...d})=>{let P=react.useMemo(()=>createPageStoreProvider({dynamicProduct:t,dynamicCollection:r,productOffers:a,assignedProductIds:s,isApplyAllProducts:o,dynamicDiscountOffer:i,publicStoreFrontData:n,interactionData:{selectType:"ELEMENT"},sellingPlanMeta:c,buyerConsentChecked:u}),[t,r,a,i,n,s,o,c,u]);return jsxRuntime.jsx(PageContext.Provider,{...d,value:P,children:e})},usePageStore=(e,t)=>{let r=react.useContext(PageContext);if(!r)throw Error("usePageStore must be used within a PageProvider");return zustand.useStore(r,e,t)};exports.PageProvider=PageProvider,exports.usePageStore=usePageStore;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";var jsxRuntime=require("react/jsx-runtime"),react=require("react"),zustand=require("zustand");require("swr"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("swr/infinite"),require("vanilla-lazyload"),require("../hooks/useCartUI.js"),require("../hooks/useStickyStore.js");var variant=require("../helpers/variant.js");require("../types/builder.js"),require("../types/custom.js"),require("../types/animations.js"),require("react-transition-group"),require("@gem-sdk/core"),require("classnames"),require("dayjs");var flattenConnection=require("../helpers/flatten-connection.js");require("../helpers/convert.js"),require("crc-32");const ProductContext=react.createContext(null),createProductStoreProvider=e=>zustand.createStore((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})}})),ProductProvider=({children:e,product:t,initialVariantId:r,initialVariantBaseId:i,quantity:s=1,isSyncProduct:o,hasPreSelected:u})=>{let a=react.useId(),n=react.useMemo(()=>{let e,n={};if(t){let s=flattenConnection.flattenConnection(t.variants),o=s[0],u=s.find(e=>variant.checkInStock(e)),a=s.find(e=>e?.id===r||e?.baseID===i)??u??o;n=a?.selectedOptions?.reduce((e,t)=>t.name?{...e,[t.name]:t.value}:e,{}),e=t.medias?.edges.find(e=>e.node?.id===a?.mediaId)?.node??t.featuredImage}return createProductStoreProvider({product:t,quantity:s,selectedOptions:n,uiqueId:a,featuredImageGlobal:e,isSyncProduct:o,hasPreSelected:u})},[t,s,a,o,u,r]);return jsxRuntime.jsx(ProductContext.Provider,{value:n,children:jsxRuntime.jsx(jsxRuntime.Fragment,{children:e})})},useProductStore=(e,t)=>{let r=react.useContext(ProductContext);if(!r)throw Error("Element of product must be used inside a Product");return zustand.useStore(r,e,t)};exports.ProductProvider=ProductProvider,exports.useProductStore=useProductStore;
2
+ "use strict";var jsxRuntime=require("react/jsx-runtime"),react=require("react"),zustand=require("zustand");require("swr"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("swr/infinite"),require("vanilla-lazyload"),require("../hooks/useCartUI.js"),require("../hooks/useStickyStore.js");var variant=require("../helpers/variant.js");require("../types/builder.js"),require("../types/custom.js"),require("../types/animations.js"),require("react-transition-group"),require("classnames"),require("dayjs"),require("@gem-sdk/core");var flattenConnection=require("../helpers/flatten-connection.js");require("../helpers/convert.js"),require("crc-32");const ProductContext=react.createContext(null),createProductStoreProvider=e=>zustand.createStore((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})}})),ProductProvider=({children:e,product:t,initialVariantId:r,initialVariantBaseId:i,quantity:s=1,isSyncProduct:o,hasPreSelected:u,uid:n})=>{let a=react.useId(),d=react.useMemo(()=>{let e,d={};if(t){let s=flattenConnection.flattenConnection(t.variants),o=s[0],u=s.find(e=>variant.checkInStock(e)),n=s.find(e=>e?.id===r||e?.baseID===i)??u??o;d=n?.selectedOptions?.reduce((e,t)=>t.name?{...e,[t.name]:t.value}:e,{}),e=t.medias?.edges.find(e=>e.node?.id===n?.mediaId)?.node??t.featuredImage}return createProductStoreProvider({product:t,quantity:s,selectedOptions:d,uiqueId:a,featuredImageGlobal:e,isSyncProduct:o,hasPreSelected:u,uid:n})},[t,s,a,o,u,r,n]);return jsxRuntime.jsx(ProductContext.Provider,{value:d,children:jsxRuntime.jsx(jsxRuntime.Fragment,{children:e})})},useProductStore=(e,t)=>{let r=react.useContext(ProductContext);if(!r)throw Error("Element of product must be used inside a Product");return zustand.useStore(r,e,t)};exports.ProductProvider=ProductProvider,exports.useProductStore=useProductStore;
@@ -1,6 +1,7 @@
1
1
  "use strict";const MediaSelect=`
2
2
  fragment MediaSelect on Media {
3
3
  id
4
+ baseID
4
5
  contentType
5
6
  previewImage
6
7
  src
@@ -31,9 +31,5 @@
31
31
  id
32
32
  value
33
33
  }
34
- metafields {
35
- key
36
- value
37
- }
38
34
  }
39
35
  `;exports.PreviewThemePageSelect=PreviewThemePageSelect;
@@ -2,9 +2,9 @@
2
2
  fragment ProductLittleSelect on Product {
3
3
  id
4
4
  title
5
+ createdAt
5
6
  description
6
7
  descriptionHtml
7
- createdAt
8
8
  handle
9
9
  averageRating
10
10
  isStorefront
@@ -0,0 +1,42 @@
1
+ "use strict";const ProductVariantsWithSellingPlansSelect=`
2
+ fragment ProductVariantsWithSellingPlansSelect on ProductVariant {
3
+ id
4
+ title
5
+ barcode
6
+ baseID
7
+ costPrice
8
+ height
9
+ inventoryPolicy
10
+ inventoryQuantity
11
+ inventoryStatus
12
+ isDigital
13
+ length
14
+ lowInventoryAmount
15
+ manageInventory
16
+ mediaId
17
+ platform
18
+ price
19
+ salePrice
20
+ sku
21
+ soldIndividually
22
+ weight
23
+ width
24
+ selectedOptions {
25
+ ...SelectedOptionSelect
26
+ }
27
+ media {
28
+ ...MediaSelect
29
+ }
30
+ sellingPlanGroups {
31
+ id
32
+ appID
33
+ sellingPlans {
34
+ id
35
+ name
36
+ baseID
37
+ pricingPolicies
38
+ updatedAt
39
+ }
40
+ }
41
+ }
42
+ `;exports.ProductVariantsWithSellingPlansSelect=ProductVariantsWithSellingPlansSelect;
@@ -5,15 +5,24 @@
5
5
  handle
6
6
  isMobile
7
7
  sectionPosition
8
+ pageSections {
9
+ ...PublishedPageSectionSelect
10
+ }
8
11
  themePageCustomSections {
9
12
  ...PublishedCustomSectionSelect
10
13
  }
11
- pageSections {
12
- ...PublishedPageSectionSelect
14
+ themePageDataSEO {
15
+ ...DataSEOSelect
13
16
  }
14
17
  pageStyle {
15
18
  ...PublishedThemeStyleSelect
16
19
  }
20
+ themePageAnalytic {
21
+ ...AnalyticSelect
22
+ }
23
+ themePageCustomCode {
24
+ ...CustomCodeSelect
25
+ }
17
26
  themePageCustomFonts {
18
27
  ...CustomFontSelect
19
28
  }
@@ -1,7 +1,5 @@
1
1
  "use strict";const ProductOptionNameDocument=`
2
- query productOptionName($limit: Int, $offset: Int) {
3
- productOptionName(
4
- limit: $limit,
5
- offset: $offset
6
- )
7
- }`;exports.ProductOptionNameDocument=ProductOptionNameDocument;
2
+ query productOptionName($limit: Int, $offset: Int) {
3
+ productOptionName(limit: $limit, offset: $offset)
4
+ }
5
+ `;exports.ProductOptionNameDocument=ProductOptionNameDocument;
@@ -0,0 +1,25 @@
1
+ "use strict";var productVariantsWithSellingPlansSelect_generated=require("../fragments/product-variants-with-selling-plans-select.generated.js"),selectedOption_generated=require("../fragments/selected-option.generated.js"),media_generated=require("../fragments/media.generated.js");const ProductVariantsWithSellingPlansDocument=`
2
+ query ProductVariantsWithSellingPlans($firstVariant: Int = 50, $afterVariant: Cursor, $orderBy: ProductOrder, $orderByVariant: ProductVariantOrder, $where: ProductWhereInput, $first: Int = 1) {
3
+ variants: products(first: $first, orderBy: $orderBy, where: $where) {
4
+ edges {
5
+ node {
6
+ id
7
+ variants(first: $firstVariant, after: $afterVariant, orderBy: $orderByVariant) {
8
+ edges {
9
+ cursor
10
+ node {
11
+ ...ProductVariantsWithSellingPlansSelect
12
+ }
13
+ }
14
+ pageInfo {
15
+ hasNextPage
16
+ endCursor
17
+ }
18
+ }
19
+ }
20
+ }
21
+ }
22
+ }
23
+ ${productVariantsWithSellingPlansSelect_generated.ProductVariantsWithSellingPlansSelect}
24
+ ${selectedOption_generated.SelectedOptionSelect}
25
+ ${media_generated.MediaSelect}`;exports.ProductVariantsWithSellingPlansDocument=ProductVariantsWithSellingPlansDocument;
@@ -0,0 +1,82 @@
1
+ "use strict";var productOption_generated=require("../fragments/product-option.generated.js"),productOptionValue_generated=require("../fragments/product-option-value.generated.js"),media_generated=require("../fragments/media.generated.js"),productVariantsWithSellingPlansSelect_generated=require("../fragments/product-variants-with-selling-plans-select.generated.js"),selectedOption_generated=require("../fragments/selected-option.generated.js");const ProductWithSellingPlansSelectFragment=`
2
+ fragment ProductWithSellingPlansSelectFragment on ProductEdge {
3
+ cursor
4
+ node {
5
+ id
6
+ title
7
+ createdAt
8
+ description
9
+ descriptionHtml
10
+ handle
11
+ averageRating
12
+ isStorefront
13
+ isSample
14
+ baseID
15
+ sku
16
+ requiresSellingPlan
17
+ options {
18
+ ...ProductOptionSelect
19
+ }
20
+ vendor
21
+ featuredImage {
22
+ ...MediaSelect
23
+ }
24
+ collections {
25
+ edges {
26
+ node {
27
+ id
28
+ title
29
+ }
30
+ }
31
+ }
32
+ tags
33
+ sellingPlanGroups {
34
+ appID
35
+ baseID
36
+ id
37
+ name
38
+ }
39
+ medias(first: $firstMedia, after: $afterMedia, orderBy: $orderByMedia) {
40
+ edges {
41
+ cursor
42
+ node {
43
+ ...MediaSelect
44
+ }
45
+ }
46
+ pageInfo {
47
+ endCursor
48
+ hasNextPage
49
+ }
50
+ }
51
+ variants(first: $firstVariant, after: $afterVariant) {
52
+ edges {
53
+ cursor
54
+ node {
55
+ ...ProductVariantsWithSellingPlansSelect
56
+ }
57
+ }
58
+ pageInfo {
59
+ hasNextPage
60
+ endCursor
61
+ }
62
+ }
63
+ }
64
+ }
65
+ `,ProductsWithSellingPlansDocument=`
66
+ query ProductsWithSellingPlans($first: Int, $where: ProductWhereInput, $firstMedia: Int, $orderBy: ProductOrder, $after: Cursor, $firstVariant: Int, $afterVariant: Cursor, $afterMedia: Cursor, $orderByMedia: MediaOrder) {
67
+ products(first: $first, where: $where, orderBy: $orderBy, after: $after) {
68
+ edges {
69
+ ...ProductWithSellingPlansSelectFragment
70
+ }
71
+ pageInfo {
72
+ endCursor
73
+ hasNextPage
74
+ }
75
+ }
76
+ }
77
+ ${ProductWithSellingPlansSelectFragment}
78
+ ${productOption_generated.ProductOptionSelect}
79
+ ${productOptionValue_generated.ProductOptionValueSelect}
80
+ ${media_generated.MediaSelect}
81
+ ${productVariantsWithSellingPlansSelect_generated.ProductVariantsWithSellingPlansSelect}
82
+ ${selectedOption_generated.SelectedOptionSelect}`;exports.ProductWithSellingPlansSelectFragment=ProductWithSellingPlansSelectFragment,exports.ProductsWithSellingPlansDocument=ProductsWithSellingPlansDocument;
@@ -4,6 +4,12 @@
4
4
  node {
5
5
  ...ProductSelect
6
6
  tags
7
+ sellingPlanGroups {
8
+ appID
9
+ baseID
10
+ id
11
+ name
12
+ }
7
13
  collections {
8
14
  edges {
9
15
  node {
@@ -1,5 +1,5 @@
1
- "use strict";var product_generated=require("../fragments/product.generated.js"),productLittle_generated=require("../fragments/product-little.generated.js"),productOption_generated=require("../fragments/product-option.generated.js"),productOptionValue_generated=require("../fragments/product-option-value.generated.js"),media_generated=require("../fragments/media.generated.js"),variant_generated=require("../fragments/variant.generated.js"),selectedOption_generated=require("../fragments/selected-option.generated.js");const ProductsEdgeDetail=`
2
- fragment ProductsEdgeDetail on ProductEdge {
1
+ "use strict";var product_generated=require("../fragments/product.generated.js"),productLittle_generated=require("../fragments/product-little.generated.js"),productOption_generated=require("../fragments/product-option.generated.js"),productOptionValue_generated=require("../fragments/product-option-value.generated.js"),media_generated=require("../fragments/media.generated.js"),variant_generated=require("../fragments/variant.generated.js"),selectedOption_generated=require("../fragments/selected-option.generated.js");const ProductsEdgeDetailV2=`
2
+ fragment ProductsEdgeDetailV2 on ProductEdge {
3
3
  cursor
4
4
  node {
5
5
  ...ProductSelect
@@ -18,15 +18,15 @@
18
18
  query productsV2($first: Int, $where: ProductWhereInput, $firstMedia: Int, $orderBy: ProductOrder, $after: Cursor, $firstVariant: Int, $afterVariant: Cursor, $afterMedia: Cursor, $orderByMedia: MediaOrder) {
19
19
  products(first: $first, where: $where, orderBy: $orderBy, after: $after) {
20
20
  edges {
21
- ...ProductsEdgeDetail
21
+ ...ProductsEdgeDetailV2
22
22
  }
23
23
  }
24
24
  }
25
- ${ProductsEdgeDetail}
25
+ ${ProductsEdgeDetailV2}
26
26
  ${product_generated.ProductSelect}
27
27
  ${productLittle_generated.ProductLittleSelect}
28
28
  ${productOption_generated.ProductOptionSelect}
29
29
  ${productOptionValue_generated.ProductOptionValueSelect}
30
30
  ${media_generated.MediaSelect}
31
31
  ${variant_generated.VariantSelect}
32
- ${selectedOption_generated.SelectedOptionSelect}`;exports.ProductsEdgeDetail=ProductsEdgeDetail,exports.ProductsV2Document=ProductsV2Document;
32
+ ${selectedOption_generated.SelectedOptionSelect}`;exports.ProductsEdgeDetailV2=ProductsEdgeDetailV2,exports.ProductsV2Document=ProductsV2Document;
@@ -1,11 +1,14 @@
1
- "use strict";var publishedThemePage_generated=require("../fragments/published-theme-page.generated.js"),publishedCustomSection_generated=require("../fragments/published-custom-section.generated.js"),publishedPageSection_generated=require("../fragments/published-page-section.generated.js"),publishedThemeStyle_generated=require("../fragments/published-theme-style.generated.js"),customFont_generated=require("../fragments/custom-font.generated.js");const PublishedThemePagesDocument=`
1
+ "use strict";var publishedThemePage_generated=require("../fragments/published-theme-page.generated.js"),publishedPageSection_generated=require("../fragments/published-page-section.generated.js"),publishedCustomSection_generated=require("../fragments/published-custom-section.generated.js"),dataSeo_generated=require("../fragments/data-seo.generated.js"),publishedThemeStyle_generated=require("../fragments/published-theme-style.generated.js"),analytic_generated=require("../fragments/analytic.generated.js"),customCode_generated=require("../fragments/custom-code.generated.js"),customFont_generated=require("../fragments/custom-font.generated.js");const PublishedThemePagesDocument=`
2
2
  query publishedThemePages($slug: String, $slugType: PublishedThemePageType!) {
3
3
  publishedThemePages(slug: $slug, slugType: $slugType) {
4
4
  ...PublishedThemePageSelect
5
5
  }
6
6
  }
7
7
  ${publishedThemePage_generated.PublishedThemePageSelect}
8
- ${publishedCustomSection_generated.PublishedCustomSectionSelect}
9
8
  ${publishedPageSection_generated.PublishedPageSectionSelect}
9
+ ${publishedCustomSection_generated.PublishedCustomSectionSelect}
10
+ ${dataSeo_generated.DataSeoSelect}
10
11
  ${publishedThemeStyle_generated.PublishedThemeStyleSelect}
12
+ ${analytic_generated.AnalyticSelect}
13
+ ${customCode_generated.CustomCodeSelect}
11
14
  ${customFont_generated.CustomFontSelect}`;exports.PublishedThemePagesDocument=PublishedThemePagesDocument;
@@ -0,0 +1,30 @@
1
+ "use strict";const ThemePageMetaDocument=`
2
+ query themePageMeta($after: Cursor, $before: Cursor, $first: Int, $last: Int, $themePageID: ID!, $where: ThemePageMetaWhereInput) {
3
+ themePageMeta(
4
+ after: $after
5
+ before: $before
6
+ first: $first
7
+ last: $last
8
+ themePageID: $themePageID
9
+ where: $where
10
+ ) {
11
+ edges {
12
+ cursor
13
+ node {
14
+ createdAt
15
+ id
16
+ key
17
+ updatedAt
18
+ value
19
+ }
20
+ }
21
+ pageInfo {
22
+ endCursor
23
+ hasNextPage
24
+ hasPreviousPage
25
+ startCursor
26
+ }
27
+ totalCount
28
+ }
29
+ }
30
+ `;exports.ThemePageMetaDocument=ThemePageMetaDocument;
@@ -1 +1 @@
1
- "use strict";var constant=require("./constant.js"),colors=require("./colors.js"),makeStyle=require("./make-style.js"),getResonsiveValue=require("./get-resonsive-value.js"),device=require("../constants/device.js");const isEmptyBg=e=>e?.videoHtml5===void 0&&e?.video===void 0&&!e?.videoType,getBgVideoByDevice=(e,t="desktop")=>{let g=e?.[t];if(isEmptyBg(g)&&"desktop"!==t){let t=e?.tablet;g=isEmptyBg(t)?e?.desktop:t}return g},getStyleBackgroundByDevice=(e,t)=>e?{...t?.ignoreBackgroundColor?{}:{...getStyleBgColor(e)},...t?.ignoreBackgroundImage?{}:{...getStyleBgImage(e,t)},...t?.ignoreBackgroundImageProperties?{}:{...getStyleBgPosition(e),...getStyleBgSize(e),...getStyleBgRepeat(e)},...t?.ignoreBgAttachment?{}:getStyleBgAttachment(e)}:{},getStyleBgColor=e=>{let t={desktop:getBgColorByDevice(e,"desktop"),tablet:getBgColorByDevice(e,"tablet"),mobile:getBgColorByDevice(e,"mobile")};return makeStyle.makeStyleResponsive("bgc",t)},getBgColorByDevice=(e,t)=>getColor(e?.[t]?.color),getColor=e=>e?colors.isColor(e?.toString())?e:`var(--g-c-${e})`:void 0,getStyleBgImage=(e,t)=>{let g={desktop:getBgImageByDevice(e,"desktop",t),tablet:getBgImageByDevice(e,"tablet",t),mobile:getBgImageByDevice(e,"mobile",t)};return makeStyle.makeStyleResponsive("bgi",g)},getBgImageByDevice=(e,t,g)=>{let o=e?.[t]?.type==="video";if(o)return;if(e?.[t]?.type==="color")return"url()";let i=e?.[t]?.image?.backupFileKey,r=e?.[t]?.image?.storage,l=e?.[t]?.image?.src,a=i,s=l?.match(/\/files\/([^\/]+\.(jpg|jpeg|gif|png|webp|svg))/)?.[1];return(i&&s&&s!=i&&(a=s),"FILE_CONTENT"===r&&g?.liquid&&a&&(l=`{{ "${a.replace(".jpeg",".jpg")}" | file_url }}`),("THEME"===r||!r)&&g?.liquid&&a&&(l=`{{ "${a}" | asset_url }}`),"string"==typeof l&&l)?`url(${l})`:void 0!==l?"none":void 0},getStyleBgPosition=e=>{let t={desktop:getBgPositionByDevice(e,"desktop"),tablet:getBgPositionByDevice(e,"tablet"),mobile:getBgPositionByDevice(e,"mobile")};return makeStyle.makeStyleResponsive("bgp",t)},getBgPositionByDevice=(e,t)=>{let g=e?.[t]?.position;return g&&`${g.x}% ${g.y}%`},getStyleBgSize=e=>{let t={desktop:getBgSizeByDevice(e,"desktop"),tablet:getBgSizeByDevice(e,"tablet"),mobile:getBgSizeByDevice(e,"mobile")};return makeStyle.makeStyleResponsive("bgs",t)},getBgSizeByDevice=(e,t)=>e?.[t]?.size,getStyleBgRepeat=e=>{let t={desktop:getBgRepeatByDevice(e,"desktop"),tablet:getBgRepeatByDevice(e,"tablet"),mobile:getBgRepeatByDevice(e,"mobile")};return makeStyle.makeStyleResponsive("bgr",t)},getBgRepeatByDevice=(e,t)=>e?.[t]?.repeat,getStyleBgAttachment=e=>{let t={desktop:getBgAttachmentByDevice(e,"desktop"),tablet:getBgAttachmentByDevice(e,"tablet"),mobile:getBgAttachmentByDevice(e,"mobile")};return makeStyle.makeStyleResponsive("bga",t)},getBgAttachmentByDevice=(e,t)=>e?.[t]?.attachment,composeBackgroundCss=e=>`${e?`background-color: ${colors.getSingleColorVariable(e)};`:void 0}`,makeFixedBgAttachment=e=>{if(!e)return;e.tablet=e.tablet?e.tablet:e.desktop,e.mobile=e.mobile?e.mobile:e.tablet;let t={desktop:getBgAttachmentByDevice(e,"desktop"),tablet:getBgAttachmentByDevice(e,"tablet"),mobile:getBgAttachmentByDevice(e,"mobile")},g={desktop:{...makeFixedBgAttachmentByDevice("desktop",t.desktop)},tablet:{...makeFixedBgAttachmentByDevice("tablet",t.tablet)},mobile:{...makeFixedBgAttachmentByDevice("mobile",t.mobile)}};return{wrapper:{...g.desktop?.wrapper,...g.tablet?.wrapper,...g.mobile?.wrapper},content:{...g.desktop?.content,...g.tablet?.content,...g.mobile?.content}}},makeFixedBgAttachmentByDevice=(e,t)=>{let g=constant.devicesMapping[e]??"";return"fixed"===t?{wrapper:{[`--pos${g}`]:"absolute",[`--top${g}`]:"0",[`--left${g}`]:"0",[`--w${g}`]:"100%",[`--h${g}`]:"100%"},content:{[`--pos${g}`]:"fixed",[`--w${g}`]:"100vw",[`--h${g}`]:"100vh",[`--bga${g}`]:"unset"}}:{wrapper:{[`--pos${g}`]:"absolute"},content:{[`--w${g}`]:"100%",[`--h${g}`]:"100%",[`--pos${g}`]:"absolute",[`--bga${g}`]:t}}},getGradientBgrStyleForButton=e=>{if(!e)return;let t={};for(let g of Object.keys(e)){let o=e[g];if(!o?.startsWith(GRADIENT_BGR_KEY))continue;let i="normal"===g?"--bgi":"--hvr-bgi";t[i]=o}return t},GRADIENT_BGR_KEY="linear-gradient",getCombinedBackgroundImage=e=>{if(!e)return;let{color:t,image:g}=e,o=g?.src&&g?.src?.trim()!=="",i=t?.includes(GRADIENT_BGR_KEY);return o&&i?`url('${g?.src}'), ${t}`:o?`url('${g?.src}')`:i?t:void 0},getGradientImageBgrStyleByDevice=e=>{if(!e)return;let t={};return device.DEVICES.forEach(g=>{let o=e[g];if(!o)return;let i="desktop"!==g?`-${g}`:"";o.color&&Object.assign(t,{[`--bgc${i}`]:o.color});let r=getCombinedBackgroundImage(o);r&&Object.assign(t,{[`--bgi${i}`]:r})}),t},getGradientBgrStyleByDevice=(e,t)=>{if(!e)return;let g={};return device.DEVICES.forEach(o=>{if(e[o]?.color?.includes(GRADIENT_BGR_KEY)){let i=`${getBgImageByDevice(e,o)||"url()"}, ${e[o]?.color}`;Object.assign(g,{[`--bgc${"desktop"!==o?"-"+o:""}`]:e[o]?.color,[`--bgi${"desktop"!==o?"-"+o:""}`]:t?.[o]?i:`${e[o]?.color}`})}}),g},getBgByDevice=e=>{let{backgroundColor:t,backgroundImage:g}=e;if(!t&&!g)return;let o={desktop:getResonsiveValue.getResponsiveValueByScreen(g,"desktop"),tablet:getResonsiveValue.getResponsiveValueByScreen(g,"tablet"),mobile:getResonsiveValue.getResponsiveValueByScreen(g,"mobile")},i={};return device.DEVICES.forEach(e=>{let r=getResonsiveValue.getResponsiveValueByScreen(t,e),l=g?getBgImageByDevice(o,e):void 0;r?.includes(GRADIENT_BGR_KEY)?Object.assign(i,{[`--bgi${"desktop"!==e?"-"+e:""}`]:r}):Object.assign(i,{[`--bgc${"desktop"!==e?"-"+e:""}`]:r,[`--bgi${"desktop"!==e?"-"+e:""}`]:"none"}),l&&"none"!==l&&Object.assign(i,{[`--bgi${"desktop"!==e?"-"+e:""}`]:l})}),{...i,...getStyleBgPosition(g),...getStyleBgSize(g),...getStyleBgRepeat(g),...getStyleBgAttachment(g)}};exports.GRADIENT_BGR_KEY=GRADIENT_BGR_KEY,exports.composeBackgroundCss=composeBackgroundCss,exports.getBgByDevice=getBgByDevice,exports.getBgImageByDevice=getBgImageByDevice,exports.getBgVideoByDevice=getBgVideoByDevice,exports.getColor=getColor,exports.getCombinedBackgroundImage=getCombinedBackgroundImage,exports.getGradientBgrStyleByDevice=getGradientBgrStyleByDevice,exports.getGradientBgrStyleForButton=getGradientBgrStyleForButton,exports.getGradientImageBgrStyleByDevice=getGradientImageBgrStyleByDevice,exports.getStyleBackgroundByDevice=getStyleBackgroundByDevice,exports.getStyleBgColor=getStyleBgColor,exports.makeFixedBgAttachment=makeFixedBgAttachment;
1
+ "use strict";var constant=require("./constant.js"),colors=require("./colors.js"),makeStyle=require("./make-style.js"),getResonsiveValue=require("./get-resonsive-value.js"),device=require("../constants/device.js"),liquid=require("./liquid.js");const isEmptyBg=e=>e?.videoHtml5===void 0&&e?.video===void 0&&!e?.videoType,getBgVideoByDevice=(e,t="desktop")=>{let g=e?.[t];if(isEmptyBg(g)&&"desktop"!==t){let t=e?.tablet;g=isEmptyBg(t)?e?.desktop:t}return g},getStyleBackgroundByDevice=(e,t)=>e?{...t?.ignoreBackgroundColor?{}:{...getStyleBgColor(e)},...t?.ignoreBackgroundImage?{}:{...getStyleBgImage(e,t)},...t?.ignoreBackgroundImageProperties?{}:{...getStyleBgPosition(e),...getStyleBgSize(e),...getStyleBgRepeat(e)},...t?.ignoreBgAttachment?{}:getStyleBgAttachment(e)}:{},getStyleBgColor=e=>{let t={desktop:getBgColorByDevice(e,"desktop"),tablet:getBgColorByDevice(e,"tablet"),mobile:getBgColorByDevice(e,"mobile")};return makeStyle.makeStyleResponsive("bgc",t)},getBgColorByDevice=(e,t)=>getColor(e?.[t]?.color),getColor=e=>e?colors.isColor(e?.toString())?e:`var(--g-c-${e})`:void 0,getStyleBgImage=(e,t)=>{let g={desktop:getBgImageByDevice(e,"desktop",t),tablet:getBgImageByDevice(e,"tablet",t),mobile:getBgImageByDevice(e,"mobile",t)};return makeStyle.makeStyleResponsive("bgi",g)},getBgImageByDevice=(e,t,g)=>{let o=e?.[t]?.type==="video";if(o)return;if(e?.[t]?.type==="color")return"url()";let i=e?.[t]?.image?.backupFileKey,r=e?.[t]?.image?.storage,l=e?.[t]?.image?.src,a=liquid.hasTranslatedLiquid(l)?"":i,s=l?.match(/\/files\/([^\/]+\.(jpg|jpeg|gif|png|webp|svg))/)?.[1];return(a&&s&&s!=i&&(a=s),"FILE_CONTENT"===r&&g?.liquid&&a&&(l=`{{ "${a.replace(".jpeg",".jpg")}" | file_url }}`),("THEME"===r||!r)&&g?.liquid&&a&&(l=`{{ "${a}" | asset_url }}`),"string"==typeof l&&l)?`url(${l})`:void 0!==l?"none":void 0},getStyleBgPosition=e=>{let t={desktop:getBgPositionByDevice(e,"desktop"),tablet:getBgPositionByDevice(e,"tablet"),mobile:getBgPositionByDevice(e,"mobile")};return makeStyle.makeStyleResponsive("bgp",t)},getBgPositionByDevice=(e,t)=>{let g=e?.[t]?.position;return g&&`${g.x}% ${g.y}%`},getStyleBgSize=e=>{let t={desktop:getBgSizeByDevice(e,"desktop"),tablet:getBgSizeByDevice(e,"tablet"),mobile:getBgSizeByDevice(e,"mobile")};return makeStyle.makeStyleResponsive("bgs",t)},getBgSizeByDevice=(e,t)=>e?.[t]?.size,getStyleBgRepeat=e=>{let t={desktop:getBgRepeatByDevice(e,"desktop"),tablet:getBgRepeatByDevice(e,"tablet"),mobile:getBgRepeatByDevice(e,"mobile")};return makeStyle.makeStyleResponsive("bgr",t)},getBgRepeatByDevice=(e,t)=>e?.[t]?.repeat,getStyleBgAttachment=e=>{let t={desktop:getBgAttachmentByDevice(e,"desktop"),tablet:getBgAttachmentByDevice(e,"tablet"),mobile:getBgAttachmentByDevice(e,"mobile")};return makeStyle.makeStyleResponsive("bga",t)},getBgAttachmentByDevice=(e,t)=>e?.[t]?.attachment,composeBackgroundCss=e=>`${e?`background-color: ${colors.getSingleColorVariable(e)};`:void 0}`,makeFixedBgAttachment=e=>{if(!e)return;e.tablet=e.tablet?e.tablet:e.desktop,e.mobile=e.mobile?e.mobile:e.tablet;let t={desktop:getBgAttachmentByDevice(e,"desktop"),tablet:getBgAttachmentByDevice(e,"tablet"),mobile:getBgAttachmentByDevice(e,"mobile")},g={desktop:{...makeFixedBgAttachmentByDevice("desktop",t.desktop)},tablet:{...makeFixedBgAttachmentByDevice("tablet",t.tablet)},mobile:{...makeFixedBgAttachmentByDevice("mobile",t.mobile)}};return{wrapper:{...g.desktop?.wrapper,...g.tablet?.wrapper,...g.mobile?.wrapper},content:{...g.desktop?.content,...g.tablet?.content,...g.mobile?.content}}},makeFixedBgAttachmentByDevice=(e,t)=>{let g=constant.devicesMapping[e]??"";return"fixed"===t?{wrapper:{[`--pos${g}`]:"absolute",[`--top${g}`]:"0",[`--left${g}`]:"0",[`--w${g}`]:"100%",[`--h${g}`]:"100%"},content:{[`--pos${g}`]:"fixed",[`--w${g}`]:"100vw",[`--h${g}`]:"100vh",[`--bga${g}`]:"unset"}}:{wrapper:{[`--pos${g}`]:"absolute"},content:{[`--w${g}`]:"100%",[`--h${g}`]:"100%",[`--pos${g}`]:"absolute",[`--bga${g}`]:t}}},getGradientBgrStyleForButton=e=>{if(!e)return;let t={};for(let g of Object.keys(e)){let o=e[g];if(!o?.startsWith(GRADIENT_BGR_KEY))continue;let i="normal"===g?"--bgi":"--hvr-bgi";t[i]=o}return t},GRADIENT_BGR_KEY="linear-gradient",getCombinedBackgroundImage=e=>{if(!e)return;let{color:t,image:g}=e,o=g?.src&&g?.src?.trim()!=="",i=t?.includes(GRADIENT_BGR_KEY);return o&&i?`url('${g?.src}'), ${t}`:o?`url('${g?.src}')`:i?t:void 0},getGradientImageBgrStyleByDevice=e=>{if(!e)return;let t={};return device.DEVICES.forEach(g=>{let o=e[g];if(!o)return;let i="desktop"!==g?`-${g}`:"";o.color&&Object.assign(t,{[`--bgc${i}`]:o.color});let r=getCombinedBackgroundImage(o);r&&Object.assign(t,{[`--bgi${i}`]:r})}),t},getGradientBgrStyleByDevice=(e,t)=>{if(!e)return;let g={};return device.DEVICES.forEach(o=>{if(e[o]?.color?.includes(GRADIENT_BGR_KEY)){let i=`${getBgImageByDevice(e,o)||"url()"}, ${e[o]?.color}`;Object.assign(g,{[`--bgc${"desktop"!==o?"-"+o:""}`]:e[o]?.color,[`--bgi${"desktop"!==o?"-"+o:""}`]:t?.[o]?i:`${e[o]?.color}`})}}),g},getBgByDevice=e=>{let{backgroundColor:t,backgroundImage:g}=e;if(!t&&!g)return;let o={desktop:getResonsiveValue.getResponsiveValueByScreen(g,"desktop"),tablet:getResonsiveValue.getResponsiveValueByScreen(g,"tablet"),mobile:getResonsiveValue.getResponsiveValueByScreen(g,"mobile")},i={};return device.DEVICES.forEach(e=>{let r=getResonsiveValue.getResponsiveValueByScreen(t,e),l=g?getBgImageByDevice(o,e):void 0;r?.includes(GRADIENT_BGR_KEY)?Object.assign(i,{[`--bgi${"desktop"!==e?"-"+e:""}`]:r}):Object.assign(i,{[`--bgc${"desktop"!==e?"-"+e:""}`]:r,[`--bgi${"desktop"!==e?"-"+e:""}`]:"none"}),l&&"none"!==l&&Object.assign(i,{[`--bgi${"desktop"!==e?"-"+e:""}`]:l})}),{...i,...getStyleBgPosition(g),...getStyleBgSize(g),...getStyleBgRepeat(g),...getStyleBgAttachment(g)}};exports.GRADIENT_BGR_KEY=GRADIENT_BGR_KEY,exports.composeBackgroundCss=composeBackgroundCss,exports.getBgByDevice=getBgByDevice,exports.getBgImageByDevice=getBgImageByDevice,exports.getBgVideoByDevice=getBgVideoByDevice,exports.getColor=getColor,exports.getCombinedBackgroundImage=getCombinedBackgroundImage,exports.getGradientBgrStyleByDevice=getGradientBgrStyleByDevice,exports.getGradientBgrStyleForButton=getGradientBgrStyleForButton,exports.getGradientImageBgrStyleByDevice=getGradientImageBgrStyleByDevice,exports.getStyleBackgroundByDevice=getStyleBackgroundByDevice,exports.getStyleBgColor=getStyleBgColor,exports.makeFixedBgAttachment=makeFixedBgAttachment;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";var react=require("react");require("react/jsx-runtime"),require("zustand");var PageContext=require("../../contexts/PageContext.js");require("react-transition-group"),require("@gem-sdk/core"),require("swr"),require("swr/infinite"),require("classnames"),require("dayjs"),require("../convert.js"),require("crc-32"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("vanilla-lazyload"),require("../../hooks/useCartUI.js"),require("../../hooks/useStickyStore.js"),require("../../types/builder.js"),require("../../types/custom.js"),require("../../types/animations.js");const useInteraction=()=>{let e=react.useRef(),t=PageContext.usePageStore(e=>e.setInteractionIsSelectOnPage),r=PageContext.usePageStore(e=>e.sidebarMode),n=PageContext.usePageStore(e=>e.interactionData?.selectType),i=PageContext.usePageStore(e=>e.interactionData);function a(e,t){return!(e instanceof Document)&&e?.matches(t)?e:e?.querySelector(t)}let s=(e,t,r)=>{let n=e=>{let t=e.detail;r&&r(t)};return e.addEventListener(t,n),()=>e.removeEventListener(t,n)},o=({event:t,selector:r,elementRef:n},i)=>{let o=a(n?.current||e.current||document,r);if(o)return s(o,t,i)},u=({event:e,data:t,selector:r,element:n})=>{let i=n||document.body?.querySelector(r);if(!i)return;let a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:{data:t}});i.dispatchEvent(a)},c=(e,t,r)=>{if(!e)return;let n=e.getAttribute("gp-data-interaction"),i=JSON.parse(n||"{}");e.setAttribute("gp-data-interaction",JSON.stringify({...i,[t]:r}))},l=(e,t)=>{let r=e.getAttribute("gp-data-interaction"),n=JSON.parse(r||"{}");return{previousData:n[t],interactionDataJson:n}},d=()=>{t(!1);let e=new CustomEvent("editor:interaction:change-select-on-page",{bubbles:!0,detail:!1});window.dispatchEvent(e)},g=e=>{let t=new CustomEvent("editor:interaction:change-select-mode",{bubbles:!0,detail:e});window.dispatchEvent(t)},q=({componentUid:e,settingType:t,$target:r})=>{let n=new CustomEvent("editor:interaction:select-element",{bubbles:!0,detail:{componentUid:e,settingType:t,$target:r}});window.dispatchEvent(n)},m=react.useMemo(()=>"interaction"===r&&(!i?.isSelectOnPage||"PAGE"===n),[r,i?.isSelectOnPage,n]),b=react.useMemo(()=>i?.isSelectOnPage,[i?.isSelectOnPage]),p=react.useCallback(e=>{if(window.interactionLoaded){e();return}window.addEventListener("gp:flow-actions-loaded",()=>{e()})},[]);return{onListener:o,trigger:u,saveToElementInteractionData:c,closeSelectOnPage:d,ref:e,findElementIncludingSelf:a,getInteractionPreviousData:l,changeSelectMode:g,selectInteractionElement:q,isInteractionMode:m,isSelectOnPage:b,interactionListenerLoaded:p}};exports.useInteraction=useInteraction;
2
+ "use strict";var react=require("react");require("react/jsx-runtime"),require("zustand");var PageContext=require("../../contexts/PageContext.js");require("react-transition-group"),require("swr"),require("swr/infinite"),require("classnames"),require("dayjs"),require("@gem-sdk/core"),require("../convert.js"),require("crc-32"),require("@gem-sdk/adapter-shopify"),require("swr/mutation"),require("vanilla-lazyload"),require("../../hooks/useCartUI.js"),require("../../hooks/useStickyStore.js"),require("../../types/builder.js"),require("../../types/custom.js"),require("../../types/animations.js");const useInteraction=()=>{let e=react.useRef(),t=PageContext.usePageStore(e=>e.setInteractionIsSelectOnPage),r=PageContext.usePageStore(e=>e.sidebarMode),n=PageContext.usePageStore(e=>e.interactionData?.selectType),i=PageContext.usePageStore(e=>e.interactionData);function a(e,t){return!(e instanceof Document)&&e?.matches(t)?e:e?.querySelector(t)}let s=(e,t,r)=>{let n=e=>{let t=e.detail;r&&r(t)};return e.addEventListener(t,n),()=>e.removeEventListener(t,n)},o=({event:t,selector:r,elementRef:n},i)=>{let o=a(n?.current||e.current||document,r);if(o)return s(o,t,i)},u=({event:e,data:t,selector:r,element:n})=>{let i=n||document.body?.querySelector(r);if(!i)return;let a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:{data:t}});i.dispatchEvent(a)},c=(e,t,r)=>{if(!e)return;let n=e.getAttribute("gp-data-interaction"),i=JSON.parse(n||"{}");e.setAttribute("gp-data-interaction",JSON.stringify({...i,[t]:r}))},l=(e,t)=>{let r=e.getAttribute("gp-data-interaction"),n=JSON.parse(r||"{}");return{previousData:n[t],interactionDataJson:n}},d=()=>{t(!1);let e=new CustomEvent("editor:interaction:change-select-on-page",{bubbles:!0,detail:!1});window.dispatchEvent(e)},g=e=>{let t=new CustomEvent("editor:interaction:change-select-mode",{bubbles:!0,detail:e});window.dispatchEvent(t)},q=({componentUid:e,settingType:t,$target:r})=>{let n=new CustomEvent("editor:interaction:select-element",{bubbles:!0,detail:{componentUid:e,settingType:t,$target:r}});window.dispatchEvent(n)},m=react.useMemo(()=>"interaction"===r&&(!i?.isSelectOnPage||"PAGE"===n),[r,i?.isSelectOnPage,n]),b=react.useMemo(()=>i?.isSelectOnPage,[i?.isSelectOnPage]),p=react.useCallback(e=>{if(window.interactionLoaded){e();return}window.addEventListener("gp:flow-actions-loaded",()=>{e()})},[]);return{onListener:o,trigger:u,saveToElementInteractionData:c,closeSelectOnPage:d,ref:e,findElementIncludingSelf:a,getInteractionPreviousData:l,changeSelectMode:g,selectInteractionElement:q,isInteractionMode:m,isSelectOnPage:b,interactionListenerLoaded:p}};exports.useInteraction=useInteraction;
@@ -0,0 +1 @@
1
+ "use strict";const hasTranslatedLiquid=s=>!!(s&&s.includes("{{ section.settings."));exports.hasTranslatedLiquid=hasTranslatedLiquid;
@@ -1 +1 @@
1
- "use strict";var productsV2_generated=require("../../graphql/queries/productsV2.generated.js"),getProduct=require("./get-product.js");const getProducts=async(e,{ids:t,isSample:r,isStorefront:d,defaultSelectedProductCount:s,allStatus:a})=>{let i=await loopFetchProducts(e,{ids:t,isSample:r,isStorefront:d,defaultSelectedProductCount:s,allStatus:a});if(!i)throw Error("Product not found");let[o,c]=await Promise.all([mergeVariantsToProducts({fetcher:e,products:i,isSample:r,isStorefront:d}),mergeMediasToProducts({fetcher:e,products:i,isSample:r,isStorefront:d})]);return{...i,products:{...i.products,edges:i.products?.edges.map(e=>{let t=c.find(t=>t.productId===e.node?.baseID),r=o.find(t=>t.productId===e.node?.baseID);return e.node?{...e,node:{...e.node,variants:{...e.node?.variants,edges:r?.items??[]},medias:{...e.node?.medias,edges:t?.items??[]}}}:e})??[]}}},getProductQueryAll=async(e,t)=>{let r=t?.limit||4;delete t.limit;let d={first:r,firstMedia:1,firstVariant:1,orderBy:{field:"PLATFORM_CREATED_AT",direction:"DESC"},orderByMedia:{field:"POSITION",direction:"ASC"},where:{status:"ACTIVE",...t}},s=await fetchProducts(e,d);return s},getListProductByVariables=async(e,t)=>{let r={first:t.first||8,firstMedia:1,firstVariant:1,orderBy:{field:"PLATFORM_CREATED_AT",direction:"DESC"},orderByMedia:{field:"POSITION",direction:"ASC"},where:{status:"ACTIVE",...t.where},after:t.after},d=await fetchProducts(e,r);return d},fetchProducts=async(e,t)=>e([productsV2_generated.ProductsV2Document,t]),MAX_NUMBER_PRODUCTS=20,loopFetchProducts=async(e,{ids:t,isSample:r,isStorefront:d,defaultSelectedProductCount:s,allStatus:a})=>{let i=s||4,o=(t?.length==0?i:t?.length)??i,c=a?{}:{status:"ACTIVE"},u={first:o||20,firstMedia:1,firstVariant:1,orderBy:{field:"PLATFORM_CREATED_AT",direction:"DESC"},orderByMedia:{field:"POSITION",direction:"ASC"},where:{...c,isSample:r,...d&&{isStorefront:d},...t?.length?{baseIDIn:t}:{}}},n=await fetchProducts(e,u);return n},mergeVariantsToProducts=async({fetcher:e,products:t,isSample:r,isStorefront:d})=>{let s=await Promise.all(t?.products?.edges?.map(async t=>{let s=await getProduct.fetchVariants(e,{id:t?.node?.baseID,isSample:r,isStorefront:d});return{productId:t?.node?.baseID,items:s}})??[]);return s},mergeMediasToProducts=async({fetcher:e,products:t,isSample:r,isStorefront:d})=>{let s=await Promise.all(t?.products?.edges?.map(async t=>{let s=await getProduct.fetchMedias(e,{id:t?.node?.baseID,isSample:r,isStorefront:d});return{productId:t?.node?.baseID,items:s}})??[]);return s};exports.getListProductByVariables=getListProductByVariables,exports.getProductQueryAll=getProductQueryAll,exports.getProducts=getProducts;
1
+ "use strict";var productsV2_generated=require("../../graphql/queries/productsV2.generated.js"),getProduct=require("./get-product.js");const getProducts=async(e,{ids:t,isSample:r,isStorefront:d,defaultSelectedProductCount:s,allStatus:a})=>{let o=await loopFetchProducts(e,{ids:t,isSample:r,isStorefront:d,defaultSelectedProductCount:s,allStatus:a});if(!o)throw Error("Product not found");let[i,c]=await Promise.all([mergeVariantsToProducts({fetcher:e,products:o,isSample:r,isStorefront:d}),mergeMediasToProducts({fetcher:e,products:o,isSample:r,isStorefront:d})]);return{...o,products:{...o.products,edges:o.products?.edges.map(e=>{let t=c.find(t=>t.productId===e.node?.baseID),r=i.find(t=>t.productId===e.node?.baseID);return e.node?{...e,node:{...e.node,variants:{...e.node?.variants,edges:r?.items??[]},medias:{...e.node?.medias,edges:t?.items??[]}}}:e})??[]}}},getProductQueryAll=async(e,t)=>{let r={first:t.first||4,firstMedia:1,firstVariant:1,orderBy:{field:"PLATFORM_CREATED_AT",direction:"DESC"},orderByMedia:{field:"POSITION",direction:"ASC"},where:{status:"ACTIVE",...t}},d=await fetchProducts(e,r);return d},getListProductByVariables=async(e,t)=>{let r={first:t.first||8,firstMedia:1,firstVariant:1,orderBy:{field:"PLATFORM_CREATED_AT",direction:"DESC"},orderByMedia:{field:"POSITION",direction:"ASC"},where:{status:"ACTIVE",...t.where},after:t.after},d=await fetchProducts(e,r);return d},fetchProducts=async(e,t)=>e([productsV2_generated.ProductsV2Document,t]),MAX_NUMBER_PRODUCTS=20,loopFetchProducts=async(e,{ids:t,isSample:r,isStorefront:d,defaultSelectedProductCount:s,allStatus:a})=>{let o=s||4,i=(t?.length==0?o:t?.length)??o,c=a?{}:{status:"ACTIVE"},u={first:i||20,firstMedia:1,firstVariant:1,orderBy:{field:"PLATFORM_CREATED_AT",direction:"DESC"},orderByMedia:{field:"POSITION",direction:"ASC"},where:{...c,isSample:r,...d&&{isStorefront:d},...t?.length?{baseIDIn:t}:{}}},n=await fetchProducts(e,u);return n},mergeVariantsToProducts=async({fetcher:e,products:t,isSample:r,isStorefront:d})=>{let s=await Promise.all(t?.products?.edges?.map(async t=>{let s=await getProduct.fetchVariants(e,{id:t?.node?.baseID,isSample:r,isStorefront:d});return{productId:t?.node?.baseID,items:s}})??[]);return s},mergeMediasToProducts=async({fetcher:e,products:t,isSample:r,isStorefront:d})=>{let s=await Promise.all(t?.products?.edges?.map(async t=>{let s=await getProduct.fetchMedias(e,{id:t?.node?.baseID,isSample:r,isStorefront:d});return{productId:t?.node?.baseID,items:s}})??[]);return s};exports.getListProductByVariables=getListProductByVariables,exports.getProductQueryAll=getProductQueryAll,exports.getProducts=getProducts;