@gem-sdk/components 4.0.0-staging.1175 → 4.0.0-staging.1177

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 (41) hide show
  1. package/dist/cjs/article/components/ArticleTag.js +1 -1
  2. package/dist/cjs/article/hooks/useArticleLink.js +1 -1
  3. package/dist/cjs/breadcrumb/hooks/useBreadcrumb.js +1 -1
  4. package/dist/cjs/collection/components/collection-banner/CollectionBanner.js +1 -1
  5. package/dist/cjs/collection/components/collection-title/CollectionTitle.js +1 -1
  6. package/dist/cjs/hero-banner/components/HeroBanner.js +1 -1
  7. package/dist/cjs/image-comparison/components/CompareImage.js +1 -1
  8. package/dist/cjs/image-comparison/hooks/useCompareImage.js +1 -1
  9. package/dist/cjs/link/common/helpers.js +1 -1
  10. package/dist/cjs/link/components/CustomLink.js +1 -1
  11. package/dist/cjs/link/components/Link.js +1 -1
  12. package/dist/cjs/link/components/ProductLink.js +1 -1
  13. package/dist/cjs/product/components/product-button/hooks/useAddToCart.js +1 -1
  14. package/dist/cjs/product/components/product-images-v2/components/child/ProductFeaturedImageOnly.js +1 -1
  15. package/dist/cjs/product/components/product-list/ProductList.js +1 -1
  16. package/dist/cjs/product/components/product-title/ProductTitle.js +1 -1
  17. package/dist/cjs/product/components/product-wrap/hook/useProductSetting.js +1 -1
  18. package/dist/cjs/text/common/classes.js +1 -1
  19. package/dist/cjs/text/components/Text.js +1 -1
  20. package/dist/cjs/third-party/components/ThirdPartyPreview.js +1 -1
  21. package/dist/esm/article/components/ArticleTag.js +1 -1
  22. package/dist/esm/article/hooks/useArticleLink.js +1 -1
  23. package/dist/esm/breadcrumb/hooks/useBreadcrumb.js +1 -1
  24. package/dist/esm/collection/components/collection-banner/CollectionBanner.js +1 -1
  25. package/dist/esm/collection/components/collection-title/CollectionTitle.js +1 -1
  26. package/dist/esm/hero-banner/components/HeroBanner.js +1 -1
  27. package/dist/esm/image-comparison/components/CompareImage.js +1 -1
  28. package/dist/esm/image-comparison/hooks/useCompareImage.js +1 -1
  29. package/dist/esm/link/common/helpers.js +1 -1
  30. package/dist/esm/link/components/CustomLink.js +1 -1
  31. package/dist/esm/link/components/Link.js +1 -1
  32. package/dist/esm/link/components/ProductLink.js +1 -1
  33. package/dist/esm/product/components/product-button/hooks/useAddToCart.js +1 -1
  34. package/dist/esm/product/components/product-images-v2/components/child/ProductFeaturedImageOnly.js +1 -1
  35. package/dist/esm/product/components/product-list/ProductList.js +1 -1
  36. package/dist/esm/product/components/product-title/ProductTitle.js +1 -1
  37. package/dist/esm/product/components/product-wrap/hook/useProductSetting.js +1 -1
  38. package/dist/esm/text/common/classes.js +1 -1
  39. package/dist/esm/text/components/Text.js +1 -1
  40. package/dist/esm/third-party/components/ThirdPartyPreview.js +1 -1
  41. package/package.json +2 -2
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),Text=require("../../text/components/Text.js"),core=require("@gem-sdk/core");const ArticleTag=({setting:e,builderProps:t,styles:r})=>{let i=core.useArticleStore(e=>e.article),s=i?.tags?.map(e=>e?.name).join(", ");return jsxRuntime.jsx("div",{id:`shopify-text-element-${t?.uid}`,"data-article-id":i?.baseID?.replace("gid://shopify/OnlineStoreArticle/",""),children:i?.tags?.length?jsxRuntime.jsx(Text.default,{builderProps:t,styles:r,setting:{...e,text:s,excludeFlex:!0}}):jsxRuntime.jsx("div",{children:jsxRuntime.jsx("p",{className:"gp-bg-light-100 gp-border-dashed gp-border-[1px] gp-border-text-light-100 gp-text-text-light-500 gp-rounded-lg gp-px-2 gp-py-1 gp-text-12 gp-leading-5",children:"No article tag"})})})};exports.default=ArticleTag;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),Text=require("../../text/components/Text.js"),core=require("@gem-sdk/core");const ArticleTag=({setting:e,builderProps:t,styles:r})=>{let i=core.useArticleStore(e=>e.article),{isPreviewSharePageMode:s}=core.useRenderMode(),l=i?.tags?.map(e=>e?.name).join(", "),d=s?null:jsxRuntime.jsx("div",{children:jsxRuntime.jsx("p",{className:"gp-bg-light-100 gp-border-dashed gp-border-[1px] gp-border-text-light-100 gp-text-text-light-500 gp-rounded-lg gp-px-2 gp-py-1 gp-text-12 gp-leading-5",children:"No article tag"})});return jsxRuntime.jsx("div",{id:`shopify-text-element-${t?.uid}`,"data-article-id":i?.baseID?.replace("gid://shopify/OnlineStoreArticle/",""),children:i?.tags?.length?jsxRuntime.jsx(Text.default,{builderProps:t,styles:r,setting:{...e,text:l,excludeFlex:!0}}):d})};exports.default=ArticleTag;
@@ -1 +1 @@
1
- "use strict";var core=require("@gem-sdk/core"),helpers=require("../../link/common/helpers.js"),React=require("react");const useArticleLink=()=>{let e=core.useArticleStore(e=>e.article),r=core.useShopStore(e=>e.storefrontUrl),t=e?.handle?helpers.urlJoin("blogs",e?.blog?.handle??"",e.handle):"#",o=React.useMemo(()=>{if(!r)return"#";let o=new URL(r);return e?`${o.protocol}//${o.host}/${t}`:"#"},[r,e,t]);return{shopifyArticleLink:o}};exports.useArticleLink=useArticleLink;
1
+ "use strict";var core=require("@gem-sdk/core"),helpers=require("../../link/common/helpers.js"),React=require("react");const useArticleLink=()=>{let e=core.useArticleStore(e=>e.article),r=core.useShopStore(e=>e.storefrontUrl),{isPreviewSharePageMode:t}=core.useRenderMode(),o=e?.handle?helpers.urlJoin("blogs",e?.blog?.handle??"",e.handle):"#",s=React.useMemo(()=>{if(t)return"javascript:void(0)";if(!r)return"#";let s=new URL(r);return e?`${s.protocol}//${s.host}/${o}`:"#"},[r,e,o,t]);return{shopifyArticleLink:s}};exports.useArticleLink=useArticleLink;
@@ -1 +1 @@
1
- "use strict";var React=require("react");const useBreadcrumb=()=>{let[e,t]=React.useState(),[a,i]=React.useState(),[r,d]=React.useState();React.useEffect(()=>{let e=parent.document.querySelector(".iframe");e&&(t(e.getAttribute("data-page-name")??void 0),i(e.getAttribute("data-assigned-product-title")??void 0),d(e.getAttribute("data-assigned-collection-title")??void 0))},[]),React.useEffect(()=>{let e=e=>{t(e.detail?.pageName??void 0)},a=e=>{i(e.detail?.assignedProductTitle??void 0)},r=e=>{d(e.detail?.assignedCollectionTitle??void 0)};return window.addEventListener("change-page-name",e),window.addEventListener("change-product-assigned",a),window.addEventListener("change-collection-assigned",r),()=>{window.removeEventListener("change-page-name",e),window.removeEventListener("change-product-assigned",a),window.removeEventListener("change-collection-assigned",r)}},[]);let n=React.useMemo(()=>[{pageType:"GP_PRODUCT",listBreadcrumb:["Home",a??"Product Title"]},{pageType:"GP_COLLECTION",listBreadcrumb:["Home",r??"Collection Title"]},{pageType:"GP_ARTICLE",listBreadcrumb:["Home","Blog","Article Title"]},{pageType:"GP_STATIC",listBreadcrumb:["Home",e??"Landing Page Title"]},{pageType:"GP_INDEX",listBreadcrumb:["Home"]},{pageType:"THEME_SECTION",listBreadcrumb:["Home","Page Title"]}],[r,a,e]),c=window.location.search,o=React.useMemo(()=>new URLSearchParams(c).get("pageType"),[c]),s=React.useMemo(()=>n.find(e=>e.pageType===o)?.listBreadcrumb||[],[n,o]);return{currentBreadcrumb:s}};exports.useBreadcrumb=useBreadcrumb;
1
+ "use strict";var React=require("react"),core=require("@gem-sdk/core");const useBreadcrumb=()=>{let[e,t]=React.useState(),[a,i]=React.useState(),[r,o]=React.useState(),d=core.usePageType();React.useEffect(()=>{let e=parent.document.querySelector(".iframe");e||(e=document.querySelector("#storefront")),e&&(t(e.getAttribute("data-page-name")??void 0),i(e.getAttribute("data-assigned-product-title")??void 0),o(e.getAttribute("data-assigned-collection-title")??void 0))},[]),React.useEffect(()=>{let e=e=>{t(e.detail?.pageName??void 0)},a=e=>{i(e.detail?.assignedProductTitle??void 0)},r=e=>{o(e.detail?.assignedCollectionTitle??void 0)};return window.addEventListener("change-page-name",e),window.addEventListener("change-product-assigned",a),window.addEventListener("change-collection-assigned",r),()=>{window.removeEventListener("change-page-name",e),window.removeEventListener("change-product-assigned",a),window.removeEventListener("change-collection-assigned",r)}},[]);let n=React.useMemo(()=>[{pageType:"GP_PRODUCT",listBreadcrumb:["Home",a??"Product Title"]},{pageType:"GP_COLLECTION",listBreadcrumb:["Home",r??"Collection Title"]},{pageType:"GP_ARTICLE",listBreadcrumb:["Home","Blog","Article Title"]},{pageType:"GP_STATIC",listBreadcrumb:["Home",e??"Landing Page Title"]},{pageType:"GP_INDEX",listBreadcrumb:["Home"]},{pageType:"THEME_SECTION",listBreadcrumb:["Home","Page Title"]}],[r,a,e]),c="undefined"!=typeof window?window.location.search:"",s=React.useMemo(()=>new URLSearchParams(c).get("pageType"),[c]),u=React.useMemo(()=>s||d,[s,d]),l=React.useMemo(()=>n.find(e=>e.pageType===u)?.listBreadcrumb||[],[n,u]);return{currentBreadcrumb:l}};exports.useBreadcrumb=useBreadcrumb;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core");require("react");var Row=require("../../../grid/components/row/Row.js"),system=require("@gem-sdk/system"),classes=require("./common/classes.js"),styles=require("./common/styles.js"),helpers=require("./common/helpers.js"),Link=require("../../../link/components/Link.js");const CollectionBanner=({builderAttrs:e,builderProps:s,setting:t,style:r,children:l,advanced:a})=>{let n=core.useCollection(),i=core.useEditorMode(),{link:o,layout:c,width:m,verticalGutter:u,verticalAlign:y,horizontalAlign:d}=t??{};helpers.updateBackroundImageSrc({setting:t,collectionSrc:n?.collectionMedia?.src});let g=system.createClass({...classes.getClassContainerBanner({builderProps:s,setting:t,advanced:a})}),j=system.createClass({...classes.getClassContainerBackgoundImage({setting:t})}),C=system.createClass({...classes.getClassOverlayBanner({setting:t})}),k=system.createClass({...classes.getClassLinkBanner()}),x=system.createStyle({...styles.getDimension({setting:t,style:r})}),p=system.createStyle({...styles.getStyleOverlay({setting:t})}),q=system.createStyle({...styles.getStyleContainerBackgoundImage({setting:t,hasCollectionImage:!1})});return jsxRuntime.jsxs("div",{...e,className:g,style:x,children:[jsxRuntime.jsx("div",{"aria-label":"Background Image",role:"banner",className:j,style:q}),jsxRuntime.jsx("div",{"aria-label":"Overlay",role:"banner",className:C,style:p}),system.If(!!o?.link&&"edit"!==i,jsxRuntime.jsx(Link.default,{setting:{href:o?.link,target:o?.target},className:k})),jsxRuntime.jsx(Row.default,{setting:{layout:c,horizontalAlign:d,verticalAlign:y},styles:{verticalGutter:u,width:m,fullWidth:{desktop:!1,tablet:!1,mobile:!1}},style:r,children:l})]})};exports.default=CollectionBanner;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),Row=require("../../../grid/components/row/Row.js"),system=require("@gem-sdk/system"),classes=require("./common/classes.js"),styles=require("./common/styles.js"),helpers=require("./common/helpers.js"),Link=require("../../../link/components/Link.js");const CollectionBanner=({builderAttrs:e,builderProps:s,setting:t,style:l,children:r,advanced:a})=>{let n=core.useCollection(),{isPreviewSharePageMode:i,isEditMode:o}=core.useRenderMode(),{link:c,layout:m,width:u,verticalGutter:y,verticalAlign:d,horizontalAlign:g}=t??{};helpers.updateBackroundImageSrc({setting:t,collectionSrc:n?.collectionMedia?.src});let j=system.createClass({...classes.getClassContainerBanner({builderProps:s,setting:t,advanced:a})}),C=system.createClass({...classes.getClassContainerBackgoundImage({setting:t})}),k=system.createClass({...classes.getClassOverlayBanner({setting:t})}),x=system.createClass({...classes.getClassLinkBanner()}),p=system.createStyle({...styles.getDimension({setting:t,style:l})}),R=system.createStyle({...styles.getStyleOverlay({setting:t})}),B=system.createStyle({...styles.getStyleContainerBackgoundImage({setting:t,hasCollectionImage:!1})}),h=!!c?.link&&!o&&!i;return jsxRuntime.jsxs("div",{...e,className:j,style:p,children:[jsxRuntime.jsx("div",{"aria-label":"Background Image",role:"banner",className:C,style:B}),jsxRuntime.jsx("div",{"aria-label":"Overlay",role:"banner",className:k,style:R}),system.If(h,jsxRuntime.jsx(Link.default,{setting:{href:c?.link,target:c?.target},className:x})),jsxRuntime.jsx(Row.default,{setting:{layout:m,horizontalAlign:g,verticalAlign:d},styles:{verticalGutter:y,width:u,fullWidth:{desktop:!1,tablet:!1,mobile:!1}},style:l,children:r})]})};exports.default=CollectionBanner;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),Text=require("../../../text/components/Text.js");const CollectionTitle=({setting:e,advanced:t})=>{console.log("\uD83D\uDE80 ~ advanced:",t);let l=core.useCollection();return jsxRuntime.jsx(Text.default,{styles:e,setting:{...e,text:l?.title??"Collection title",excludeFlex:!0},advanced:t})};exports.default=CollectionTitle;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),Text=require("../../../text/components/Text.js");const CollectionTitle=({setting:e,advanced:t})=>{let l=core.useCollection();return jsxRuntime.jsx(Text.default,{styles:e,setting:{...e,text:l?.title??"Collection title",excludeFlex:!0},advanced:t})};exports.default=CollectionTitle;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),HeroBannerItem=require("./HeroBannerItem.js"),attrs=require("../common/attrs.js"),styles=require("../common/styles.js"),classes=require("../common/classes.js"),system=require("@gem-sdk/system"),core=require("@gem-sdk/core"),helpers=require("../common/helpers.js"),useHeroBanner=require("../hooks/useHeroBanner.js");const HeroBanner=e=>{let{builderAttrs:s,builderProps:r,setting:t,styles:a,style:n,children:o,advanced:i,enableLazyLoadImage:l=!0}=e,u=core.useEditorMode(),{enableLink:m}=t??{},c=helpers.getBannerLink(t),{cssClass:d}=i??{},y=core.useCurrentDevice(),{elementRef:j,transform:g,onMouseEnterParallax:h,onMouseLeaveParallax:x,dataVideo:B,bgRef:C,isShowVideoHtml5:H,openLinkBanner:f,layoutResponsive:q}=useHeroBanner.useHeroBanner(a,t,y),v=!!c?.link&&m&&"edit"!==u,k=system.createAttr({...attrs.getAttr({uid:r?.uid||""})}),p=system.createAttr({...attrs.getAttrLink()}),R=system.createStyle({...styles.getStyle(a,t,n)}),I=system.createClass({...classes.getClasses({setting:t,builderProps:r,advancedCssClass:d})}),L=system.createClass({...classes.getLinkClasses()}),b=()=>jsxRuntime.jsx(HeroBannerItem.default,{setting:t,styles:a,children:o,rawChildren:e.rawChildren,builderProps:r,enableLazyLoadImage:l,elementRef:j,transform:g,dataVideo:B,layoutResponsive:q,bgRef:C,isShowVideoHtml5:H});return jsxRuntime.jsxs("div",{...s,...k,className:I,style:R,onMouseEnter:h,onMouseLeave:x,children:[system.If(!v,b()),system.If(v,jsxRuntime.jsx("div",{...p,"aria-hidden":"true",onClick:f,className:L,children:b()})),core.filterToolbarPreview(o,!0)]})};exports.default=HeroBanner;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),HeroBannerItem=require("./HeroBannerItem.js"),attrs=require("../common/attrs.js"),styles=require("../common/styles.js"),classes=require("../common/classes.js"),system=require("@gem-sdk/system"),core=require("@gem-sdk/core"),helpers=require("../common/helpers.js"),useHeroBanner=require("../hooks/useHeroBanner.js");const HeroBanner=e=>{let{builderAttrs:s,builderProps:r,setting:t,styles:n,style:a,children:o,advanced:i,enableLazyLoadImage:l=!0}=e,{isEditMode:u,isPreviewSharePageMode:m}=core.useRenderMode(),{enableLink:c}=t??{},d=helpers.getBannerLink(t),{cssClass:y}=i??{},j=core.useCurrentDevice(),{elementRef:g,transform:h,onMouseEnterParallax:x,onMouseLeaveParallax:B,dataVideo:C,bgRef:H,isShowVideoHtml5:f,openLinkBanner:q,layoutResponsive:v}=useHeroBanner.useHeroBanner(n,t,j),k=!!d?.link&&c&&!u&&!m,p=system.createAttr({...attrs.getAttr({uid:r?.uid||""})}),R=system.createAttr({...attrs.getAttrLink()}),I=system.createStyle({...styles.getStyle(n,t,a)}),L=system.createClass({...classes.getClasses({setting:t,builderProps:r,advancedCssClass:y})}),b=system.createClass({...classes.getLinkClasses()}),w=()=>jsxRuntime.jsx(HeroBannerItem.default,{setting:t,styles:n,children:o,rawChildren:e.rawChildren,builderProps:r,enableLazyLoadImage:l,elementRef:g,transform:h,dataVideo:C,layoutResponsive:v,bgRef:H,isShowVideoHtml5:f});return jsxRuntime.jsxs("div",{...s,...p,className:L,style:I,onMouseEnter:x,onMouseLeave:B,children:[system.If(!k,w()),system.If(k,jsxRuntime.jsx("div",{...R,"aria-hidden":"true",onClick:q,className:b,children:w()})),core.filterToolbarPreview(o,!0)]})};exports.default=HeroBanner;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),system=require("@gem-sdk/system");require("react");var styles=require("../common/styles.js"),attrs=require("../common/attrs.js"),classes=require("../common/classes.js"),Label=require("./Label.js"),SlideHandle=require("./SlideHandle.js"),helpers=require("../common/helpers.js"),useCompareImage=require("../hooks/useCompareImage.js");const CompareImage=e=>{let{leftImage:t,rightImage:s,builderData:l,preload:a,advanced:r}=e,{hover:i,styles:y,handle:m,handleSize:c,leftImageAlt:n,leftImageTitle:d,leftImageLabel:g,rightImageAlt:o,rightImageTitle:h,rightImageLabel:S,sliderLineWidth:u,sliderLineColor:p,componentUid:j,tempImage:R,aspectRatio:C,isHorizontal:x,hasLeftLabel:f,hasRightLabel:I,getLeftImageSrc:L,getRightImageSrc:b}=helpers.getData(e),w=L(),A=b(),{ref:q,mode:H,isInstant:v,sliderRef:W,containerRef:P,leftImageRef:O,rightImageRef:k,sliderPosition:$,containerWidth:_,containerHeight:z,allImagesLoaded:D,setLeftImgLoaded:M,setRightImgLoaded:N}=useCompareImage.useCompareImage({props:e,aspectRatio:C}),U=helpers.getReactStyles({handleSize:c,isHorizontal:x,containerWidth:_,containerHeight:z,sliderPosition:$}),B=system.createStyleReact({...styles.getOuterWrapperStyles(y)}),E=system.createStyleReact({...styles.getWrapperWidth({width:y?.width,leftImageWidth:t?.width,rightImageWidth:s?.width})}),F=system.createStyleReact({...styles.getContainerStyles({aspectRatio:C,builderData:l,allImagesLoaded:D})}),G=system.createStyleReact({...styles.getLazyPlaceholderStyle(C)}),J=system.createStyleReact({...styles.getImageStyles({type:"right",props:e}),...U.rightImageClip}),K=system.createStyleReact({...styles.getImageStyles({type:"left",props:e}),...U.leftImageClip}),Q=system.createStyleReact({...styles.getLabelStyles({styles:y,type:"left",isHorizontal:x})}),T=system.createStyleReact({...styles.getLabelStyles({styles:y,type:"right",isHorizontal:x})}),V=system.createStyleReact({...styles.getArrowStyles({type:"left"})}),X=system.createStyleReact({...styles.getArrowStyles({type:"right"})}),Y=system.createStyleReact({...styles.getLineStyles({isHorizontal:x,sliderLineColor:p,sliderLineWidth:u})}),Z=system.createStyleReact({...styles.getHandleStyles({handleSize:c,isHorizontal:x,sliderLineColor:p,sliderLineWidth:u})}),ee=system.createStyleReact({...styles.getHandleCustomStyles()}),et=system.createStyleReact({...styles.getSliderStyles({hover:i,handleSize:c,isHorizontal:x}),...U.sliderPosition}),es=system.createClass({...classes.getOuterWrapperClasses(r?.cssClass)}),el=system.createClass({...classes.getLabelClasses(y)}),ea=system.createClass({...classes.getLabelContainerClasses()}),er=system.createAttr({...attrs.getImageReactAttrs({testId:"right-image",src:A,title:h,width:s?.width,height:s?.height,priority:a||"edit"===H||v})}),ei=system.createAttr({...attrs.getImageReactAttrs({testId:"left-image",src:w,title:d,width:t?.width,height:t?.height,priority:a||"edit"===H||v})}),ey=attrs.getLabelAttrs({componentUid:j,positionId:"left",label:g??""}),em=attrs.getLabelAttrs({componentUid:j,positionId:"right",label:S??""}),ec=system.createAttr({...attrs.getImagePlaceholderAttrs({width:R?.width,height:R?.height})}),en=()=>jsxRuntime.jsx("img",{alt:"",...ec,style:G}),ed=()=>jsxRuntime.jsx("img",{alt:o,ref:k,...er,style:J,onLoad:()=>N(!0)}),eg=()=>jsxRuntime.jsx("img",{alt:n,ref:O,...ei,style:K,onLoad:()=>M(!0)}),eo=()=>jsxRuntime.jsx(SlideHandle.default,{customHandle:m,componentUid:j,lineStyles:Y,sliderStyles:et,handleStyles:Z,customHandleStyles:ee,leftArrowStyles:V,rightArrowStyles:X,sliderRef:W}),eh=()=>jsxRuntime.jsx(Label.default,{...ey,styles:y,childrenClass:el,childrenStyle:Q,containerClass:ea,containerStyle:U?.leftLabelContainer??{}}),eS=()=>jsxRuntime.jsx(Label.default,{...em,styles:y,childrenClass:el,childrenStyle:T,containerClass:ea,containerStyle:U?.rightLabelContainer??{}});return jsxRuntime.jsx("div",{"data-id":j,className:es,style:B,children:jsxRuntime.jsx("div",{id:`img-comparison-wrapper-${j}`,style:E,ref:q,children:jsxRuntime.jsxs("div",{id:`img-comparison-container-${j}`,ref:P,"data-testid":"container",style:F,children:[en(),ed(),eg(),eo(),system.If(f,eh()),system.If(I,eS())]})})})};exports.default=CompareImage;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),system=require("@gem-sdk/system");require("react");var styles=require("../common/styles.js"),attrs=require("../common/attrs.js"),classes=require("../common/classes.js"),Label=require("./Label.js"),SlideHandle=require("./SlideHandle.js"),helpers=require("../common/helpers.js"),useCompareImage=require("../hooks/useCompareImage.js");const CompareImage=e=>{let{leftImage:t,rightImage:s,builderData:l,advanced:a}=e,{hover:r,styles:i,handle:y,handleSize:m,leftImageAlt:c,leftImageTitle:n,leftImageLabel:g,rightImageAlt:d,rightImageTitle:o,rightImageLabel:h,sliderLineWidth:S,sliderLineColor:u,componentUid:p,tempImage:j,aspectRatio:R,isHorizontal:C,hasLeftLabel:x,hasRightLabel:f,getLeftImageSrc:I,getRightImageSrc:L}=helpers.getData(e),b=I(),w=L(),{ref:A,priority:q,sliderRef:H,containerRef:v,leftImageRef:W,rightImageRef:P,sliderPosition:O,containerWidth:k,containerHeight:$,allImagesLoaded:_,setLeftImgLoaded:z,setRightImgLoaded:D}=useCompareImage.useCompareImage({props:e,aspectRatio:R}),M=helpers.getReactStyles({handleSize:m,isHorizontal:C,containerWidth:k,containerHeight:$,sliderPosition:O}),N=system.createStyleReact({...styles.getOuterWrapperStyles(i)}),U=system.createStyleReact({...styles.getWrapperWidth({width:i?.width,leftImageWidth:t?.width,rightImageWidth:s?.width})}),B=system.createStyleReact({...styles.getContainerStyles({aspectRatio:R,builderData:l,allImagesLoaded:_})}),E=system.createStyleReact({...styles.getLazyPlaceholderStyle(R)}),F=system.createStyleReact({...styles.getImageStyles({type:"right",props:e}),...M.rightImageClip}),G=system.createStyleReact({...styles.getImageStyles({type:"left",props:e}),...M.leftImageClip}),J=system.createStyleReact({...styles.getLabelStyles({styles:i,type:"left",isHorizontal:C})}),K=system.createStyleReact({...styles.getLabelStyles({styles:i,type:"right",isHorizontal:C})}),Q=system.createStyleReact({...styles.getArrowStyles({type:"left"})}),T=system.createStyleReact({...styles.getArrowStyles({type:"right"})}),V=system.createStyleReact({...styles.getLineStyles({isHorizontal:C,sliderLineColor:u,sliderLineWidth:S})}),X=system.createStyleReact({...styles.getHandleStyles({handleSize:m,isHorizontal:C,sliderLineColor:u,sliderLineWidth:S})}),Y=system.createStyleReact({...styles.getHandleCustomStyles()}),Z=system.createStyleReact({...styles.getSliderStyles({hover:r,handleSize:m,isHorizontal:C}),...M.sliderPosition}),ee=system.createClass({...classes.getOuterWrapperClasses(a?.cssClass)}),et=system.createClass({...classes.getLabelClasses(i)}),es=system.createClass({...classes.getLabelContainerClasses()}),el=system.createAttr({...attrs.getImageReactAttrs({testId:"right-image",src:w,title:o,width:s?.width,height:s?.height,priority:q})}),ea=system.createAttr({...attrs.getImageReactAttrs({testId:"left-image",src:b,title:n,width:t?.width,height:t?.height,priority:q})}),er=attrs.getLabelAttrs({componentUid:p,positionId:"left",label:g??""}),ei=attrs.getLabelAttrs({componentUid:p,positionId:"right",label:h??""}),ey=system.createAttr({...attrs.getImagePlaceholderAttrs({width:j?.width,height:j?.height})}),em=()=>jsxRuntime.jsx("img",{alt:"",...ey,style:E}),ec=()=>jsxRuntime.jsx("img",{alt:d,ref:P,...el,style:F,onLoad:()=>D(!0)}),en=()=>jsxRuntime.jsx("img",{alt:c,ref:W,...ea,style:G,onLoad:()=>z(!0)}),eg=()=>jsxRuntime.jsx(SlideHandle.default,{customHandle:y,componentUid:p,lineStyles:V,sliderStyles:Z,handleStyles:X,customHandleStyles:Y,leftArrowStyles:Q,rightArrowStyles:T,sliderRef:H}),ed=()=>jsxRuntime.jsx(Label.default,{...er,styles:i,childrenClass:et,childrenStyle:J,containerClass:es,containerStyle:M?.leftLabelContainer??{}}),eo=()=>jsxRuntime.jsx(Label.default,{...ei,styles:i,childrenClass:et,childrenStyle:K,containerClass:es,containerStyle:M?.rightLabelContainer??{}});return jsxRuntime.jsx("div",{"data-id":p,className:ee,style:N,children:jsxRuntime.jsx("div",{id:`img-comparison-wrapper-${p}`,style:U,ref:A,children:jsxRuntime.jsxs("div",{id:`img-comparison-container-${p}`,ref:v,"data-testid":"container",style:B,children:[em(),ec(),en(),eg(),system.If(x,ed()),system.If(f,eo())]})})})};exports.default=CompareImage;
@@ -1 +1 @@
1
- "use strict";var core=require("@gem-sdk/core"),React=require("react");const useCompareImage=({props:e,aspectRatio:t})=>{let{styles:n,leftImage:o,rightImage:r,hover:u=!1,vertical:s=!1,sliderLineWidth:c=2,sliderPositionPercentage:a=.5,onSliderPositionChange:i}=e,m=!s,d=core.useEditorMode(),v="STATIC"===core.usePageType(),[l,R]=React.useState(a),[f,g]=React.useState(0),[p,E]=React.useState(0),[w,h]=React.useState(!1),[L,b]=React.useState(!1),C=React.useRef(null),S=React.useRef(null),I=React.useRef(null),M=React.useRef(null),{onListener:B,saveToElementInteractionData:O}=core.useInteraction(),T=React.useRef(null),X=React.useMemo(()=>t,[o,r,n?.aspectRatio,n?.customAspectRadio]);React.useEffect(()=>{let t=`[data-id="${e?.componentUid}"]`;B({event:"gp:change-ratio-original",selector:t,elementRef:T},e=>{let{data:t,isRollback:n,uniqueStorageKey:o}=e||{};if(!n||void 0!==t){if(n){R(Number(t));return}O(T.current,o,l),R(Number(t)/100)}})},[B,e?.componentUid,O,l]);let Y=React.useMemo(()=>c/2+21,[c]),q=React.useMemo(()=>(m?f-c/2:p-c/2)-21,[m,f,c,p]);React.useEffect(()=>{let e=C.current;if(!e)return;let t=new ResizeObserver(([e])=>{let t=e?.target.getBoundingClientRect().width??0;g(t)});return t.observe(e),()=>t.disconnect()},[]),React.useEffect(()=>{let e=M?.current?.complete;return e&&h(!0),()=>{h(!1)}},[o]),React.useEffect(()=>{let e=I?.current?.complete;return e&&b(!0),()=>{b(!1)}},[r]);let A=L&&w;return React.useEffect(()=>{let e=m?a*f:a*p;e<Y?R(m?Y/f:Y/p):e>q?R(m?q/f:q/p):R(a)},[p,f,m,q,Y,a]),React.useEffect(()=>{let e=e=>{let t=e||window.event;if(t.stopPropagation(),t.button&&0!==t.button)return;let n="touches"in t?t?.touches?.[0]?.pageX??0:t.pageX,o="touches"in t?t?.touches?.[0]?.pageY??0:t.pageY,r=n-window.pageXOffset,u=o-window.pageYOffset,s=I.current?.getBoundingClientRect(),c=m?r-(s?.left??0):u-(s?.top??0);c<Y&&(c=Y),c>q&&(c=q),m?R(c/f):R(c/p),i&&(m?i(c/f):i(c/p))},t=t=>{t.preventDefault(),e(t),t.button&&0!==t.button||(window.addEventListener("mousemove",e),r.addEventListener("touchmove",e))},n=()=>{window.removeEventListener("mousemove",e),r.removeEventListener("touchmove",e)},o=C.current,r=S.current;if(A&&o&&r){r.addEventListener("touchstart",t),r.addEventListener("touchend",n),u?(o.addEventListener("mousemove",e),o.addEventListener("mouseleave",n)):(o.addEventListener("mousedown",t),window.addEventListener("mouseup",n));let s=M.current?.getBoundingClientRect(),c=I.current?.getBoundingClientRect(),a=(s?.height??0)/(s?.width??1),i=(c?.height??0)/(c?.width??1),m=Math.min(a,i),d=f*m;E(d)}return()=>{o&&r&&(r.removeEventListener("touchstart",t),r.removeEventListener("touchend",n),o.removeEventListener("mousemove",e),o.removeEventListener("mouseleave",n),o.removeEventListener("mousedown",t),window.removeEventListener("mouseup",n),window.removeEventListener("mousemove",e),r.removeEventListener("touchmove",e))}},[u,q,Y,m,X,f,p,A,c,n?.aspectRatio,i]),{ref:T,mode:d,isInstant:v,sliderRef:S,containerRef:C,leftImageRef:M,rightImageRef:I,sliderPosition:l,containerWidth:f,containerHeight:p,allImagesLoaded:A,setLeftImgLoaded:h,setRightImgLoaded:b}};exports.useCompareImage=useCompareImage;
1
+ "use strict";var core=require("@gem-sdk/core"),React=require("react");const useCompareImage=({props:e,aspectRatio:t})=>{let{styles:n,leftImage:o,rightImage:r,hover:u=!1,vertical:s=!1,sliderLineWidth:c=2,sliderPositionPercentage:a=.5,onSliderPositionChange:i,preload:m}=e,d=!s,{isPreviewSharePageMode:v,isEditMode:l}=core.useRenderMode(),R="STATIC"===core.usePageType(),[f,g]=React.useState(a),[p,E]=React.useState(0),[w,h]=React.useState(0),[L,b]=React.useState(!1),[C,S]=React.useState(!1),I=React.useRef(null),M=React.useRef(null),B=React.useRef(null),O=React.useRef(null),{onListener:T,saveToElementInteractionData:X}=core.useInteraction(),Y=React.useRef(null),q=React.useMemo(()=>t,[o,r,n?.aspectRatio,n?.customAspectRadio]);React.useEffect(()=>{let t=`[data-id="${e?.componentUid}"]`;T({event:"gp:change-ratio-original",selector:t,elementRef:Y},e=>{let{data:t,isRollback:n,uniqueStorageKey:o}=e||{};if(!n||void 0!==t){if(n){g(Number(t));return}X(Y.current,o,f),g(Number(t)/100)}})},[T,e?.componentUid,X,f]);let A=React.useMemo(()=>c/2+21,[c]),N=React.useMemo(()=>(d?p-c/2:w-c/2)-21,[d,p,c,w]),P=m||l||v||R;React.useEffect(()=>{let e=I.current;if(!e)return;let t=new ResizeObserver(([e])=>{let t=e?.target.getBoundingClientRect().width??0;E(t)});return t.observe(e),()=>t.disconnect()},[]),React.useEffect(()=>{let e=O?.current?.complete;return e&&b(!0),()=>{b(!1)}},[o]),React.useEffect(()=>{let e=B?.current?.complete;return e&&S(!0),()=>{S(!1)}},[r]);let U=C&&L;return React.useEffect(()=>{let e=d?a*p:a*w;e<A?g(d?A/p:A/w):e>N?g(d?N/p:N/w):g(a)},[w,p,d,N,A,a]),React.useEffect(()=>{let e=e=>{let t=e||window.event;if(t.stopPropagation(),t.button&&0!==t.button)return;let n="touches"in t?t?.touches?.[0]?.pageX??0:t.pageX,o="touches"in t?t?.touches?.[0]?.pageY??0:t.pageY,r=n-window.pageXOffset,u=o-window.pageYOffset,s=B.current?.getBoundingClientRect(),c=d?r-(s?.left??0):u-(s?.top??0);c<A&&(c=A),c>N&&(c=N),d?g(c/p):g(c/w),i&&(d?i(c/p):i(c/w))},t=t=>{t.preventDefault(),e(t),t.button&&0!==t.button||(window.addEventListener("mousemove",e),r.addEventListener("touchmove",e))},n=()=>{window.removeEventListener("mousemove",e),r.removeEventListener("touchmove",e)},o=I.current,r=M.current;if(U&&o&&r){r.addEventListener("touchstart",t),r.addEventListener("touchend",n),u?(o.addEventListener("mousemove",e),o.addEventListener("mouseleave",n)):(o.addEventListener("mousedown",t),window.addEventListener("mouseup",n));let s=O.current?.getBoundingClientRect(),c=B.current?.getBoundingClientRect(),a=(s?.height??0)/(s?.width??1),i=(c?.height??0)/(c?.width??1),m=Math.min(a,i),d=p*m;h(d)}return()=>{o&&r&&(r.removeEventListener("touchstart",t),r.removeEventListener("touchend",n),o.removeEventListener("mousemove",e),o.removeEventListener("mouseleave",n),o.removeEventListener("mousedown",t),window.removeEventListener("mouseup",n),window.removeEventListener("mousemove",e),r.removeEventListener("touchmove",e))}},[u,N,A,d,q,p,w,U,c,n?.aspectRatio,i]),{ref:Y,priority:P,sliderRef:M,containerRef:I,leftImageRef:O,rightImageRef:B,sliderPosition:f,containerWidth:p,containerHeight:w,allImagesLoaded:U,setLeftImgLoaded:b,setRightImgLoaded:S}};exports.useCompareImage=useCompareImage;
@@ -1 +1 @@
1
- "use strict";function normalize(e){let r=[];if(0===e.length)return"";if("string"!=typeof e[0])throw TypeError("Url must be a string. Received "+e[0]);e[0].match(/^[^/:]+:\/*$/)&&e.length>1&&(e[0]=e.shift()+e[0]),e[0].match(/^file:\/\/\//)?e[0]=e[0].replace(/^([^/:]+):\/*/,"$1:///"):e[0]=e[0].replace(/^([^/:]+):\/*/,"$1://");for(let t=0;t<e.length;t++){let l=e[t];if("string"!=typeof l)throw TypeError("Url must be a string. Received "+l);""!==l&&(t>0&&(l=l.replace(/^\/+/,"")),l=t<e.length-1?l.replace(/\/+$/,""):l.replace(/\/+$/,"/"),r.push(l))}let t=r.join("/");t=t.replace(/\/(\?|&|#[^!])/g,"$1");let l=t.split("?");return l.shift()+(l.length>0?"?":"")+l.join("&")}function urlJoin(...e){let r=Array.from(Array.isArray(e[0])?e[0]:e);return normalize(r)}exports.urlJoin=urlJoin;
1
+ "use strict";function normalize(e){let r=[];if(0===e.length)return"";if("string"!=typeof e[0])throw TypeError("Url must be a string. Received "+e[0]);e[0].match(/^[^/:]+:\/*$/)&&e.length>1&&(e[0]=e.shift()+e[0]),e[0].match(/^file:\/\/\//)?e[0]=e[0].replace(/^([^/:]+):\/*/,"$1:///"):e[0]=e[0].replace(/^([^/:]+):\/*/,"$1://");for(let t=0;t<e.length;t++){let i=e[t];if("string"!=typeof i)throw TypeError("Url must be a string. Received "+i);""!==i&&(t>0&&(i=i.replace(/^\/+/,"")),i=t<e.length-1?i.replace(/\/+$/,""):i.replace(/\/+$/,"/"),r.push(i))}let t=r.join("/");t=t.replace(/\/(\?|&|#[^!])/g,"$1");let i=t.split("?");return i.shift()+(i.length>0?"?":"")+i.join("&")}function urlJoin(...e){let r=Array.from(Array.isArray(e[0])?e[0]:e);return normalize(r)}function isExternalLink(e){return!!e&&/^(https?:\/\/|\/\/|\/)/i.test(e)}exports.isExternalLink=isExternalLink,exports.urlJoin=urlJoin;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),Link=require("next/link");const CustomLink=({children:e,...t})=>jsxRuntime.jsx(Link,{title:t?.title,"data-id":t?.dataId,...t,children:e});exports.default=CustomLink;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),Link=require("next/link"),core=require("@gem-sdk/core");const CustomLink=({children:e,dataId:r,...t})=>{let{isPreviewSharePageMode:i}=core.useRenderMode(),n={title:t.title,"data-id":r};return i?jsxRuntime.jsx("a",{...n,...t,href:t.href?.toString()??"javascript:void(0)",children:e}):jsxRuntime.jsx(Link,{...n,...t,children:e})};exports.default=CustomLink;
@@ -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"),CustomLink=require("./CustomLink.js"),ProductLink=require("./ProductLink.js");const Link=({setting:e,className:t,style:r,children:u,title:i,dataId:o})=>{let a=React.useMemo(()=>e?.type==="product"?ProductLink.default:CustomLink.default,[e?.type]),l={};return a==CustomLink.default&&(l.title=i),jsxRuntime.jsx(a,{...l,"data-id":o,target:e?.target,rel:e?.noFollow?"nofollow":void 0,"aria-label":e?.label,href:e?.href,className:t,style:r,children:u})};exports.default=Link;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),React=require("react"),CustomLink=require("./CustomLink.js"),ProductLink=require("./ProductLink.js"),core=require("@gem-sdk/core"),helpers=require("../common/helpers.js");const Link=({setting:e,className:r,style:t,children:i,title:o,dataId:s})=>{let{isPreviewSharePageMode:u}=core.useRenderMode(),l=React.useMemo(()=>e?.type==="product"?ProductLink.default:CustomLink.default,[e?.type]),a={};l==CustomLink.default&&(a.title=o);let n=u&&helpers.isExternalLink(e?.href)?"javascript:void(0)":e?.href;return jsxRuntime.jsx(l,{...a,"data-id":s,target:e?.target,rel:e?.noFollow?"nofollow":void 0,"aria-label":e?.label,href:n,className:r,style:t,children:i})};exports.default=Link;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core");const ProductLink=({children:e,...r})=>{let t=core.useProduct();return jsxRuntime.jsx("a",{title:t?.title,href:t?`/products/${t.handle}`:"#",...r,children:core.isEmptyChildren(e)?t?t.title:null:e})};exports.default=ProductLink;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core");const ProductLink=({children:e,...r})=>{let t=core.useProduct(),{isPreviewSharePageMode:o}=core.useRenderMode();console.log("\uD83D\uDE80 ~ ProductLink ~ isPreviewSharePageMode:",o);let i=o?"javascript:void(0)":t?`/products/${t.handle}`:"#";return jsxRuntime.jsx("a",{title:t?.title,href:i,...r,children:core.isEmptyChildren(e)?t?t.title:null:e})};exports.default=ProductLink;
@@ -1 +1 @@
1
- "use strict";var core=require("@gem-sdk/core"),React=require("react"),tracking=require("../../../helpers/tracking.js"),useDispatchAfterSubmitEvent=require("./useDispatchAfterSubmitEvent.js"),useCartMessage=require("./useCartMessage.js"),useCartOperations=require("./useCartOperations.js");const useBtnAddToCart=({styles:e,setting:r,builderProps:t})=>{let s=React.useRef(null),u=core.useEditorMode(),a=core.useProduct(),{currency:i}=core.useCurrency(),{quantity:c}=core.useQuantity(),n=core.useProductProperties(),o=core.useCurrentVariant(),{hasPreSelected:d}=core.useHasPreSelected(),l=core.useStickyStore(e=>e.setStickyVisible),b=core.useProductStore(e=>e.updateIsSubmit),C=useDispatchAfterSubmitEvent.useDispatchAfterSubmitEvent(t?.uid),{showMessage:v,notiComponent:g}=useCartMessage.useCartMessage(e,r),{handleSuccess:p,handleError:f,cartId:k}=useCartOperations.useCartOperations(r,v,C),{isMutating:S,trigger:I}=core.useCreateCart({onSuccess:p,onError:f}),{isMutating:m,trigger:D}=core.useAddToCart({onSuccess:p,onError:f});React.useEffect(()=>{let e=new IntersectionObserver(e=>{let r=e[0];l(r?.isIntersecting)},{threshold:.1}),r=s.current;return s.current&&e.observe(s.current),()=>{r&&e.unobserve(r)}},[l]);let E=React.useCallback(()=>{if(!o?.baseID||!c||!a?.baseID||void 0!==d&&!d||"edit"===u)return;let e=n?.some(e=>e.required&&!e.value);if(b(!0),e)return;let t=n?.filter(e=>!!e.value)?.map(e=>({key:e.key,value:e.value}));tracking.addToCartTracking({quantity:c,currency:i,id:a?.baseID,name:a?.title,brand:a?.vendor,sku:o.sku,price:o?.price,variant:o.title});let s={quantity:c,attributes:t,variantId:o.baseID};r?.actionEffect!=="buy-now"&&k?D({cartId:k,lines:[s]}):I({items:[s]})},[u,k,i,c,n,d,a?.title,a?.vendor,a?.baseID,o?.sku,o?.price,o?.title,o?.baseID,r?.actionEffect,I,D,b]),A=core.useCurrentVariantInStock(),h=S||m,q=o?r?.outOfStockLabel:"Unavailable";return{addToCartRef:s,isLoading:h,isInStock:A,notiComponent:g,outOfStockLabel:q,addToCart:E}};exports.useBtnAddToCart=useBtnAddToCart;
1
+ "use strict";var core=require("@gem-sdk/core"),React=require("react"),tracking=require("../../../helpers/tracking.js"),useDispatchAfterSubmitEvent=require("./useDispatchAfterSubmitEvent.js"),useCartMessage=require("./useCartMessage.js"),useCartOperations=require("./useCartOperations.js");const useBtnAddToCart=({styles:e,setting:r,builderProps:t})=>{let s=React.useRef(null),{isEditMode:u,isPreviewSharePageMode:a}=core.useRenderMode(),i=core.useProduct(),{currency:c}=core.useCurrency(),{quantity:n}=core.useQuantity(),o=core.useProductProperties(),l=core.useCurrentVariant(),{hasPreSelected:d}=core.useHasPreSelected(),b=core.useStickyStore(e=>e.setStickyVisible),C=core.useProductStore(e=>e.updateIsSubmit),v=useDispatchAfterSubmitEvent.useDispatchAfterSubmitEvent(t?.uid),{showMessage:g,notiComponent:p}=useCartMessage.useCartMessage(e,r),{handleSuccess:f,handleError:k,cartId:S}=useCartOperations.useCartOperations(r,g,v),{isMutating:I,trigger:m}=core.useCreateCart({onSuccess:f,onError:k}),{isMutating:D,trigger:E}=core.useAddToCart({onSuccess:f,onError:k});React.useEffect(()=>{let e=new IntersectionObserver(e=>{let r=e[0];b(r?.isIntersecting)},{threshold:.1}),r=s.current;return s.current&&e.observe(s.current),()=>{r&&e.unobserve(r)}},[b]);let A=React.useCallback(()=>{if(!l?.baseID||!n||!i?.baseID||void 0!==d&&!d||u||a)return;let e=o?.some(e=>e.required&&!e.value);if(C(!0),e)return;let t=o?.filter(e=>!!e.value)?.map(e=>({key:e.key,value:e.value}));tracking.addToCartTracking({quantity:n,currency:c,id:i?.baseID,name:i?.title,brand:i?.vendor,sku:l.sku,price:l?.price,variant:l.title});let s={quantity:n,attributes:t,variantId:l.baseID};r?.actionEffect!=="buy-now"&&S?E({cartId:S,lines:[s]}):m({items:[s]})},[u,a,S,c,n,o,d,i?.title,i?.vendor,i?.baseID,l?.sku,l?.price,l?.title,l?.baseID,r?.actionEffect,m,E,C]),h=core.useCurrentVariantInStock(),q=I||D,y=l?r?.outOfStockLabel:"Unavailable";return{addToCartRef:s,isLoading:q,isInStock:h,notiComponent:p,outOfStockLabel:y,addToCart:A}};exports.useBtnAddToCart=useBtnAddToCart;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),React=require("react"),NextImage=require("../../../../../image/components/NextImage.js"),MediaIcon=require("./MediaIcon.js"),productFeaturedImage=require("../../common/productFeaturedImage.js"),ProductFeatureVideo=require("./ProductFeatureVideo.js");const defaultImage={src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:480,height:480,alt:"no image",contentType:"IMAGE"},ProductFeaturedImageOnly=({image:e,imageShowWhenHover:t,setting:r,aspectRatio:o})=>{let a=core.useProduct(),c=core.useCurrentDevice(),s=core.useShopStore(e=>e.storefrontUrl),i=core.useEditorMode(),u=React.useMemo(()=>"none"!==core.getResponsiveValueByScreen(r.ftClickOpenLightBox,c),[c,r.ftClickOpenLightBox]),n=React.useMemo(()=>"edit"!==i&&["VIDEO","EXTERNAL_VIDEO"].includes(e?.contentType||"")&&!u,[i,e?.contentType,u]),d=React.useMemo(()=>e?{...e,src:n?e.src:productFeaturedImage.isFeatureMedia(e?.contentType)?e?.previewImage:e.src}:defaultImage,[e,n]),m=React.useMemo(()=>{if(!s)return"#";let e=new URL(s);return a?`${e.protocol}//${e.host}/products/${a.handle}`:"#"},[s,a]),l=e=>"product-link"===core.getResponsiveValueByScreen(r.ftClickOpenLightBox,c)?jsxRuntime.jsx("a",{title:a?.title,href:m,className:"gp-w-full",children:e}):e,g=React.useMemo(()=>r?.hoverEffect!=="none"&&!productFeaturedImage.isFeatureMedia(d?.contentType),[d?.contentType,r?.hoverEffect]),h=React.useMemo(()=>r?.hoverEffect=="zoom"&&r?.zoomType=="glasses"&&!productFeaturedImage.isFeatureMedia(d?.contentType),[d?.contentType,r?.hoverEffect,r?.zoomType]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:l(jsxRuntime.jsx(jsxRuntime.Fragment,{children:n?jsxRuntime.jsx(ProductFeatureVideo.default,{type:d?.contentType,url:d.src??"",aspectRatio:o}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(NextImage.default,{draggable:"false",src:d.src,width:d?.width,height:d?.height,alt:d?.alt,setting:{aspectRatio:o,layout:r?.ftLayout},priority:r?.preload,className:"featured-image-only",style:{width:"100%",height:"100%",cursor:"pointer"}}),jsxRuntime.jsx(MediaIcon.default,{contentType:d?.contentType??""}),g&&jsxRuntime.jsx(NextImage.default,{draggable:"false",src:r?.hoverEffect==="other"?t?.src:d.src,width:r?.hoverEffect==="other"?t?.width:d.width,height:r?.hoverEffect==="other"?t?.height:d.height,alt:r?.hoverEffect==="other"?t?.alt:d.alt,setting:{layout:r.ftLayout,aspectRatio:o},style:{width:"100%",height:"100%"},className:core.cls("hover-image featured-image-only !gp-max-w-none",productFeaturedImage.getZoomImageClass()),priority:r?.preload}),h&&jsxRuntime.jsx("div",{className:core.cls(productFeaturedImage.getZoomLenClass(),"room-len"),style:{...core.makeStyle({bgi:`url("${d?.src}")`})}})]})}))})};var ProductFeaturedImageOnly$1=React.memo(ProductFeaturedImageOnly);exports.default=ProductFeaturedImageOnly$1;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),React=require("react"),NextImage=require("../../../../../image/components/NextImage.js"),MediaIcon=require("./MediaIcon.js"),productFeaturedImage=require("../../common/productFeaturedImage.js"),ProductFeatureVideo=require("./ProductFeatureVideo.js");const defaultImage={src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:480,height:480,alt:"no image",contentType:"IMAGE"},ProductFeaturedImageOnly=({image:e,imageShowWhenHover:t,setting:r,aspectRatio:o})=>{let a=core.useProduct(),c=core.useCurrentDevice(),s=core.useShopStore(e=>e.storefrontUrl),{isEditMode:i,isPreviewSharePageMode:u}=core.useRenderMode(),n=React.useMemo(()=>"none"!==core.getResponsiveValueByScreen(r.ftClickOpenLightBox,c),[c,r.ftClickOpenLightBox]),d=React.useMemo(()=>!i&&["VIDEO","EXTERNAL_VIDEO"].includes(e?.contentType||"")&&!n,[i,e?.contentType,n]),m=React.useMemo(()=>e?{...e,src:d?e.src:productFeaturedImage.isFeatureMedia(e?.contentType)?e?.previewImage:e.src}:defaultImage,[e,d]),l=React.useMemo(()=>{if(u)return"javascript:void(0)";if(!s)return"#";let e=new URL(s);return a?`${e.protocol}//${e.host}/products/${a.handle}`:"#"},[s,a,u]),g=e=>"product-link"===core.getResponsiveValueByScreen(r.ftClickOpenLightBox,c)?jsxRuntime.jsx("a",{title:a?.title,href:l,className:"gp-w-full",children:e}):e,h=React.useMemo(()=>r?.hoverEffect!=="none"&&!productFeaturedImage.isFeatureMedia(m?.contentType),[m?.contentType,r?.hoverEffect]),p=React.useMemo(()=>r?.hoverEffect=="zoom"&&r?.zoomType=="glasses"&&!productFeaturedImage.isFeatureMedia(m?.contentType),[m?.contentType,r?.hoverEffect,r?.zoomType]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:g(jsxRuntime.jsx(jsxRuntime.Fragment,{children:d?jsxRuntime.jsx(ProductFeatureVideo.default,{type:m?.contentType,url:m.src??"",aspectRatio:o}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(NextImage.default,{draggable:"false",src:m.src,width:m?.width,height:m?.height,alt:m?.alt,setting:{aspectRatio:o,layout:r?.ftLayout},priority:r?.preload,className:"featured-image-only",style:{width:"100%",height:"100%",cursor:"pointer"}}),jsxRuntime.jsx(MediaIcon.default,{contentType:m?.contentType??""}),h&&jsxRuntime.jsx(NextImage.default,{draggable:"false",src:r?.hoverEffect==="other"?t?.src:m.src,width:r?.hoverEffect==="other"?t?.width:m.width,height:r?.hoverEffect==="other"?t?.height:m.height,alt:r?.hoverEffect==="other"?t?.alt:m.alt,setting:{layout:r.ftLayout,aspectRatio:o},style:{width:"100%",height:"100%"},className:core.cls("hover-image featured-image-only !gp-max-w-none",productFeaturedImage.getZoomImageClass()),priority:r?.preload}),p&&jsxRuntime.jsx("div",{className:core.cls(productFeaturedImage.getZoomLenClass(),"room-len"),style:{...core.makeStyle({bgi:`url("${m?.src}")`})}})]})}))})};var ProductFeaturedImageOnly$1=React.memo(ProductFeaturedImageOnly);exports.default=ProductFeaturedImageOnly$1;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),dynamic=require("next/dynamic"),Loading=require("../../../common/components/Loading.js"),React=require("react"),core=require("@gem-sdk/core"),SalePageProductListWarning=require("../SalePageProductListWarning.js"),Head=require("next/head"),ProductListGridLayout=require("./ProductListGridLayout.js"),ProductListCarouselLayout=require("./ProductListCarouselLayout.js"),styles=require("./common/styles.js"),system=require("@gem-sdk/system"),classes=require("./common/classes.js"),helpers=require("./common/helpers.js"),helpers$1=require("../../../dialog/common/helpers.js");const ProductNotFound=dynamic(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:Loading.default}),ProductList=e=>{let{children:t,styles:r,builderProps:o,setting:s,builderAttrs:d}=e,{isRelatedProduct:i,productSetting:a}=helpers.getData(e),l=a.relatedTag&&a.relatedTag[0],c=core.useEditorMode(),u=core.useCurrentDevice(),n=core.usePageType(),m=core.usePageStore(e=>e.dynamicProduct),g=core.usePageStore(e=>e.dynamicCollection),[h,P]=React.useState(1),[j,x]=React.useState(!0),[p,f]=React.useState(),[y,R]=React.useState(!1),v="GP_FUNNEL_PAGE"===n,b="GP_COLLECTION"==n;b&&(a.productSrc="DynamicCollection",a.collectionId=g?.collectionId??"latest");let T=a?.productSrc??"Collection",I=m?.productId&&m?.productId!==a.relatedProductId?m?.productId:a.relatedProductId,{data:k}=core.useProductQuery(i&&I?I:void 0),L=a.relatedTag&&"tags"===a.relatedTag[0]&&(!k?.tags||k?.tags.length===0),S=a.relatedTag&&"collection"===a.relatedTag[0]&&(!k?.collections?.edges||k?.collections.edges.length===0),C=a.relatedTag&&"vendor"===a.relatedTag[0]&&!k?.vendor,E=L||S||C,O=core.useProductsQueryAll(p,{revalidateOnMount:"edit"===c}),N=core.useProductsQuery("PickProduct"===T?a?.productIds:void 0,{revalidateOnMount:"edit"===c},{defaultSelectedProductCount:a?.numOfSelectedProducts}),q=React.useMemo(()=>({id:a?.collectionId??"latest",numberOfProducts:s?.numberOfProducts??4,orderBy:s?.orderBy}),[a?.collectionId,Number(s?.numberOfProducts),s?.orderBy]),w=core.useCollectionQuery("PickProduct"!==T?q:void 0);React.useEffect(()=>{if(i&&k&&a.relatedTag&&"recommended-product"!==a.relatedType){let e;switch(R(!1),a.hasRelatedExclude&&(e=a?.relatedExclude&&a.relatedExclude.split(",").map(e=>e.trim())),a.relatedTag[0]){case"vendor":f({vendor:a.relatedTag&&"vendor"===a.relatedTag[0]?k?.vendor:"",limit:s?.numberOfProducts,idNEQ:k.id});break;case"collection":{let t;let r=k?.collections?.edges.map(e=>e.node?.id);if(!r||r?.length===0){R(!0);break}f(t=e&&e.length>0?{idNEQ:k.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r},{titleNotIn:e}]}],limit:s?.numberOfProducts}:{idNEQ:k.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r}]}],limit:s?.numberOfProducts});break}case"tags":{let t;if(!k.tags||0===k.tags.length){R(!0);break}f(t=e&&e.length>0?{idNEQ:k.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:k.tags},{nameNotIn:e}]}],limit:s?.numberOfProducts}:{idNEQ:k.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:k.tags}]}],limit:s?.numberOfProducts})}}}},[k,a.relatedType,a.relatedTag,s?.numberOfProducts,a.relatedExclude,a.hasRelatedExclude,i]);let M="PickProduct"===T?N.isValidating:w.isValidating,W="PickProduct"===T?N.isLoading:w.isLoading,G="PickProduct"===T?N.error:w.error,Q=w.data?.collections?.edges?.[0]?.node,B="PickProduct"===T?core.flattenConnection(N.data?.products):core.flattenConnection(Q?.products),F=O?.data?.products?core.flattenConnection(O?.data?.products):void 0,A=i&&F?F:"PickProduct"===T&&a?.productIds?.length?a?.productIds?.map(e=>B?.find(t=>t?.baseID===e)).filter(Boolean)??B:"PickProduct"!==T?B:B.filter((e,t)=>t<(a?.numOfSelectedProducts??4)),D=React.useMemo(()=>y&&i&&"edit"==c||!A.length&&!W&&j&&"edit"==c,[j,W,y,i,c,A.length]),H=React.useMemo(()=>!A||y&&i,[y,i,A]),$=React.useMemo(()=>{if(!s?.sameHeight)return[];let e=0,t=Math.ceil((A?.length??0)/+(s?.slidesToShow?.[u]??1));return Array.from(Array(A?.length??0)).map((o,d)=>(d>=+(s?.slidesToShow?.[u]??1)*(e+1)&&++e,{gridRow:`${1+h*e}/${h+1+h*e}`,marginBottom:e+1<t?helpers$1.getPropertyByDevice(r?.horizontalGutter,u):void 0}))},[s?.sameHeight,s?.slidesToShow,h,A?.length,u,r?.horizontalGutter]),_=React.useMemo(()=>M||W||G||!A||y&&i,[G,W,y,i,M,A]);React.useEffect(()=>{_||setTimeout(()=>{let{builderData:e}=o??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&P(r.childElementCount||1)},"edit"===c?0:500)},[o,_,c]);let z=React.useMemo(()=>({collection:Q,products:A,settings:{loop:s?.loop??{desktop:!1},scrollMode:s?.scrollMode??{desktop:"snap"},slidesToShow:s?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:r?.layout,dot:s?.dot,dotStyle:s?.dotStyle,arrow:s?.arrow,controlOverContent:s?.controlOverContent},styles:{horizontalGutter:r?.horizontalGutter,verticalGutter:r?.verticalGutter,fullWidth:r?.fullWidth,spacing:r?.spacing,width:r?.width,height:r?.height}}),[Q,A,s,r]);if(o?.isPreview&&v)return jsxRuntime.jsx(jsxRuntime.Fragment,{});if(D)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(j,jsxRuntime.jsx(ProductNotFound,{builderAttrs:d,collectionHandle:Q?.handle,productSrc:T,onClose:()=>x(!1),children:t,relatedTagString:l,assignProductNoTags:E,noAssignedProduct:!I}))});let{productListWrapStyle:V,productListContentStyle:U,productListWrapAlignStyle:J}=styles.getStyle(e),{productListWrapClass:K}=classes.getClass(e),X=()=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(r?.layout==="grid",jsxRuntime.jsx(ProductListGridLayout.default,{...e,productSortedById:A,generateGridRowArray:$}),jsxRuntime.jsx(ProductListCarouselLayout.default,{...e,productSortedById:A}))});return jsxRuntime.jsxs("div",{...d,className:K,style:V,children:[!!r?.preloadBgImage&&jsxRuntime.jsxs(Head,{children:[!!r.backgroundImage?.desktop?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage.desktop.image.src,as:"image"}),!!r.backgroundImage?.tablet?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage?.tablet?.image?.src,as:"image"}),!!r.backgroundImage?.mobile?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage?.mobile?.image?.src,as:"image"})]}),M||W?jsxRuntime.jsx(Loading.default,{}):G?jsxRuntime.jsxs("div",{children:["Error: ",G?.message]}):H?jsxRuntime.jsx("div",{children:"Products not found"}):jsxRuntime.jsx(core.ProductListProvider,{...z,children:jsxRuntime.jsx("div",{className:"gp-flex gp-w-full",style:J,children:jsxRuntime.jsxs("div",{style:U,children:[v&&jsxRuntime.jsx(SalePageProductListWarning.default,{}),X()]})})}),core.filterToolbarPreview(t,!0)]})};exports.default=ProductList;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),dynamic=require("next/dynamic"),Loading=require("../../../common/components/Loading.js"),React=require("react"),core=require("@gem-sdk/core"),SalePageProductListWarning=require("../SalePageProductListWarning.js"),Head=require("next/head"),ProductListGridLayout=require("./ProductListGridLayout.js"),ProductListCarouselLayout=require("./ProductListCarouselLayout.js"),styles=require("./common/styles.js"),system=require("@gem-sdk/system"),classes=require("./common/classes.js"),helpers=require("./common/helpers.js"),helpers$1=require("../../../dialog/common/helpers.js");const ProductNotFound=dynamic(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:Loading.default}),ProductList=e=>{let{children:t,styles:r,builderProps:o,setting:s,builderAttrs:a}=e,{isRelatedProduct:d,productSetting:i}=helpers.getData(e),l=i.relatedTag&&i.relatedTag[0],{isEditMode:c,isPreviewSharePageMode:u}=core.useRenderMode(),n=core.useCurrentDevice(),m=core.usePageType(),g=core.usePageStore(e=>e.dynamicProduct),h=core.usePageStore(e=>e.dynamicCollection),[P,j]=React.useState(1),[p,x]=React.useState(!0),[f,y]=React.useState(),[R,v]=React.useState(!1),b="GP_FUNNEL_PAGE"===m,T="GP_COLLECTION"==m;T&&(i.productSrc="DynamicCollection",i.collectionId=h?.collectionId??"latest");let I=i?.productSrc??"Collection",S=g?.productId&&g?.productId!==i.relatedProductId?g?.productId:i.relatedProductId,k=core.useFetchHandle(),L=core.usePageStore(e=>e.publicStoreFrontData),C=React.useMemo(()=>core.hasPublicStoreFrontData(L)?core.createStoreFrontFetcher(L):k,[L]),{data:O}=core.useProductQuery(d&&S?S:void 0,{revalidateOnMount:c||u},C),E=i.relatedTag&&"tags"===i.relatedTag[0]&&(!O?.tags||O?.tags.length===0),N=i.relatedTag&&"collection"===i.relatedTag[0]&&(!O?.collections?.edges||O?.collections.edges.length===0),q=i.relatedTag&&"vendor"===i.relatedTag[0]&&!O?.vendor,M=E||N||q,w=core.useProductsQueryAll(f,{revalidateOnMount:c||u},C),W=c||u,F=core.useProductsQuery("PickProduct"===I?i?.productIds:void 0,{revalidateOnMount:W},{defaultSelectedProductCount:i?.numOfSelectedProducts}),G=React.useMemo(()=>({id:i?.collectionId??"latest",numberOfProducts:s?.numberOfProducts??4,orderBy:s?.orderBy}),[i?.collectionId,Number(s?.numberOfProducts),s?.orderBy]),Q=core.useCollectionQuery("PickProduct"!==I?G:void 0,{revalidateOnMount:W});React.useEffect(()=>{if(d&&O&&i.relatedTag&&"recommended-product"!==i.relatedType){let e;switch(v(!1),i.hasRelatedExclude&&(e=i?.relatedExclude&&i.relatedExclude.split(",").map(e=>e.trim())),i.relatedTag[0]){case"vendor":y({vendor:i.relatedTag&&"vendor"===i.relatedTag[0]?O?.vendor:"",limit:s?.numberOfProducts,idNEQ:O.id});break;case"collection":{let t;let r=O?.collections?.edges.map(e=>e.node?.id);if(!r||r?.length===0){v(!0);break}y(t=e&&e.length>0?{idNEQ:O.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r},{titleNotIn:e}]}],limit:s?.numberOfProducts}:{idNEQ:O.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r}]}],limit:s?.numberOfProducts});break}case"tags":{let t;if(!O.tags||0===O.tags.length){v(!0);break}y(t=e&&e.length>0?{idNEQ:O.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:O.tags},{nameNotIn:e}]}],limit:s?.numberOfProducts}:{idNEQ:O.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:O.tags}]}],limit:s?.numberOfProducts})}}}},[O,i.relatedType,i.relatedTag,s?.numberOfProducts,i.relatedExclude,i.hasRelatedExclude,d]);let B="PickProduct"===I?F.isValidating:Q.isValidating,D="PickProduct"===I?F.isLoading:Q.isLoading,A="PickProduct"===I?F.error:Q.error,H=Q.data?.collections?.edges?.[0]?.node,$="PickProduct"===I?core.flattenConnection(F.data?.products):core.flattenConnection(H?.products),_=w?.data?.products?core.flattenConnection(w?.data?.products):void 0,z=d&&_?_:"PickProduct"===I&&i?.productIds?.length?i?.productIds?.map(e=>$?.find(t=>t?.baseID===e)).filter(Boolean)??$:"PickProduct"!==I?$:$.filter((e,t)=>t<(i?.numOfSelectedProducts??4)),V=React.useMemo(()=>R&&d&&c||!z.length&&!D&&p&&c,[p,D,R,d,c,z.length]),U=React.useMemo(()=>!z||R&&d,[R,d,z]),J=React.useMemo(()=>{if(!s?.sameHeight)return[];let e=0,t=Math.ceil((z?.length??0)/+(s?.slidesToShow?.[n]??1));return Array.from(Array(z?.length??0)).map((o,a)=>(a>=+(s?.slidesToShow?.[n]??1)*(e+1)&&++e,{gridRow:`${1+P*e}/${P+1+P*e}`,marginBottom:e+1<t?helpers$1.getPropertyByDevice(r?.horizontalGutter,n):void 0}))},[s?.sameHeight,s?.slidesToShow,P,z?.length,n,r?.horizontalGutter]),K=React.useMemo(()=>B||D||A||!z||R&&d,[A,D,R,d,B,z]);React.useEffect(()=>{K||setTimeout(()=>{let{builderData:e}=o??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&j(r.childElementCount||1)},c?0:500)},[o,K,c]);let X=React.useMemo(()=>({collection:H,products:z,settings:{loop:s?.loop??{desktop:!1},scrollMode:s?.scrollMode??{desktop:"snap"},slidesToShow:s?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:r?.layout,dot:s?.dot,dotStyle:s?.dotStyle,arrow:s?.arrow,controlOverContent:s?.controlOverContent},styles:{horizontalGutter:r?.horizontalGutter,verticalGutter:r?.verticalGutter,fullWidth:r?.fullWidth,spacing:r?.spacing,width:r?.width,height:r?.height}}),[H,z,s,r]);if(o?.isPreview&&b)return jsxRuntime.jsx(jsxRuntime.Fragment,{});if(V)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(p,jsxRuntime.jsx(ProductNotFound,{builderAttrs:a,collectionHandle:H?.handle,productSrc:I,onClose:()=>x(!1),children:t,relatedTagString:l,assignProductNoTags:M,noAssignedProduct:!S}))});let{productListWrapStyle:Y,productListContentStyle:Z,productListWrapAlignStyle:ee}=styles.getStyle(e),{productListWrapClass:et}=classes.getClass(e),er=()=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(r?.layout==="grid",jsxRuntime.jsx(ProductListGridLayout.default,{...e,productSortedById:z,generateGridRowArray:J}),jsxRuntime.jsx(ProductListCarouselLayout.default,{...e,productSortedById:z}))});return jsxRuntime.jsxs("div",{...a,className:et,style:Y,children:[!!r?.preloadBgImage&&jsxRuntime.jsxs(Head,{children:[!!r.backgroundImage?.desktop?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage.desktop.image.src,as:"image"}),!!r.backgroundImage?.tablet?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage?.tablet?.image?.src,as:"image"}),!!r.backgroundImage?.mobile?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage?.mobile?.image?.src,as:"image"})]}),B||D?jsxRuntime.jsx(Loading.default,{}):A?jsxRuntime.jsxs("div",{children:["Error: ",A?.message]}):U?jsxRuntime.jsx("div",{children:"Products not found"}):jsxRuntime.jsx(core.ProductListProvider,{...X,children:jsxRuntime.jsx("div",{className:"gp-flex gp-w-full",style:ee,children:jsxRuntime.jsxs("div",{style:Z,children:[b&&jsxRuntime.jsx(SalePageProductListWarning.default,{}),er()]})})}),core.filterToolbarPreview(t,!0)]})};exports.default=ProductList;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),Link=require("next/link"),core=require("@gem-sdk/core"),helpers=require("../../../link/common/helpers.js"),Text=require("../../../text/components/Text.js"),system=require("@gem-sdk/system"),helpers$1=require("./common/helpers.js");const ProductTitle=e=>{let{setting:t,builderProps:r}=e,s=core.useProduct(),i=s?.handle?helpers.urlJoin("/products",s.handle):"#",l=s?.baseID?.replace("gid://shopify/Product/",""),u=core.useEditorMode(),o=()=>jsxRuntime.jsx(Text.default,{...helpers$1.getTextProps(e,s?.title)}),d={href:i,title:s?.title},n=t?.linkProduct,c=system.createClass({"gp-product-title-link-wrapper":!0}),m=system.createAttr({id:`shopify-text-element-${r?.uid}`,...l&&{"data-product-id":l}});return jsxRuntime.jsx("div",{..."edit"===u&&m,children:system.Unless(!!s,"",system.If(n,jsxRuntime.jsx(Link,{...d,className:c,children:o()}),o()))})};exports.default=ProductTitle;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),Link=require("next/link"),core=require("@gem-sdk/core"),helpers=require("../../../link/common/helpers.js"),Text=require("../../../text/components/Text.js"),system=require("@gem-sdk/system"),helpers$1=require("./common/helpers.js");const ProductTitle=e=>{let{setting:t,builderProps:r}=e,{isPreviewSharePageMode:s}=core.useRenderMode(),i=core.useProduct(),o=s?"javascript:void(0)":i?.handle?helpers.urlJoin("/products",i.handle):"#",l=i?.baseID?.replace("gid://shopify/Product/",""),u=core.useEditorMode(),d=()=>jsxRuntime.jsx(Text.default,{...helpers$1.getTextProps(e,i?.title)}),c={href:o,title:i?.title},n=t?.linkProduct,p=system.createClass({"gp-product-title-link-wrapper":!0}),m=system.createAttr({id:`shopify-text-element-${r?.uid}`,...l&&{"data-product-id":l}});return jsxRuntime.jsx("div",{..."edit"===u&&m,children:system.Unless(!!i,"",system.If(n,jsxRuntime.jsx(Link,{...c,className:p,children:d()}),d()))})};exports.default=ProductTitle;
@@ -1 +1 @@
1
- "use strict";var core=require("@gem-sdk/core"),React=require("react"),index=require("../../../../post-purchase/product/helpers/index.js");const useProductSetting=e=>{let{setting:t}=e,{productSetting:r,quantity:o,readOnly:a,isSyncProduct:c}=t??{},d=core.usePageType(),u=core.usePageStore(e=>e.dynamicProduct),i=core.usePageStore(e=>e.publicStoreFrontData),s=core.useEditorMode(),n="edit"===s,P=r?.productId??"latest",S=r?.productStatus=="dynamic"?{...r,...u}:r,l=S?.initialVariantId,p=S?.initialVariantBaseId,g=React.useMemo(()=>index.hasPublicStoreFrontData(i)?index.createStoreFrontFetcher(i):void 0,[i]),{data:h,isLoading:m,error:x}=core.useProductQuery(P,void 0,g),[y,R]=React.useState(!0),F=(x||!h&&!m)&&n,q="PRODUCT"===d,v=React.useMemo(()=>({product:h,initialVariantId:l,initialVariantBaseId:p,quantity:o,readOnly:a,isSyncProduct:c,key:`uid-${h?.id}-${l??""}`,hasPreSelected:r?.hasPreSelected}),[p,l,c,h,r?.hasPreSelected,o,a]);return{forceProductSetting:S,isProductPage:q,isProductNotFound:F,showProductNotFound:y,isLoading:m,product:h,errorLoadProduct:x,isEditor:n,productProviderData:v,setShowProductNotFound:R}};exports.useProductSetting=useProductSetting;
1
+ "use strict";var core=require("@gem-sdk/core"),React=require("react");const useProductSetting=e=>{let{setting:t}=e,{productSetting:r,quantity:a,readOnly:o,isSyncProduct:c}=t??{},u=core.usePageType(),d=core.usePageStore(e=>e.dynamicProduct),i=core.usePageStore(e=>e.publicStoreFrontData),{isEditMode:s,isPreviewSharePageMode:n}=core.useRenderMode(),P=r?.productId??"latest",S=r?.productStatus=="dynamic"?{...r,...d}:r,l=S?.initialVariantId,g=S?.initialVariantBaseId,R=React.useMemo(()=>core.hasPublicStoreFrontData(i)?core.createStoreFrontFetcher(i):void 0,[i]),h=s||n,{data:m,isLoading:p,error:y}=core.useProductQuery(P,{revalidateOnMount:h},R),[F,M]=React.useState(!0),v=(y||!m&&!p)&&s,D="PRODUCT"===u,I=React.useMemo(()=>({product:m,initialVariantId:l,initialVariantBaseId:g,quantity:a,readOnly:o,isSyncProduct:c,key:`uid-${m?.id}-${l??""}`,hasPreSelected:r?.hasPreSelected}),[g,l,c,m,r?.hasPreSelected,a,o]);return{forceProductSetting:S,isProductPage:D,isProductNotFound:v,showProductNotFound:F,isLoading:p,product:m,errorLoadProduct:y,isEditor:s,productProviderData:I,setShowProductNotFound:M}};exports.useProductSetting=useProductSetting;
@@ -1 +1 @@
1
- "use strict";var core=require("@gem-sdk/core");const getClasses=({setting:e,advanced:t,builderProps:s})=>({...s?.uid&&{[s.uid]:!0},...e?.options?.customClass?.wrapper&&{[e.options.customClass.wrapper]:!0},...t?.cssClass&&{[t.cssClass]:!0}}),getContainerClasses=({setting:e})=>{let{excludeFlex:t}=e??{},s="";return t||(s+=" gp-flex"),composeClasses(s)},getTextClasses=({styles:e,setting:t,className:s,mode:o,disableEdit:r})=>{let{text:l,options:a}=t??{},p="";if(l||r||(p+="gp-relative empty:gp-pl-[2px] after:gp-content-['Your_custom_text_goes_here'] after:gp-absolute after:gp-select-none after:gp-top-0 after:gp-left-[2px] after:gp-w-full after:gp-truncate after:gp-text-black after:gp-opacity-20 "),e?.enableHoverEffect&&e?.underlineLink){let{underlineLink:t}=e,s=t.hover?"hover:gp-underline":"hover:!gp-no-underline",o=t.normal?"gp-underline":"";p+=` ${s} ${o}`.trim()}"edit"===o?(p+=" gp-text gp-cursor-pointer !gp-cursor-default",r||(p+=" gp-p-[2px]"),a?.useState&&(p+=" child-item-text gp-border gp-border-transparent hover:!gp-border-[#3C67FF]")):(p+=" gp-text-instant",a?.disablePointerEvent&&(p+=" gp-pointer-events-none"));let n=p.trim().split(" ").reduce((e,t)=>(e[t]=!0,e),{});return{...s&&{[s]:!0},...globalTypoClasses(e),...n}};function composeClasses(e){return e.split(" ").reduce((e,t)=>(e[t]=!0,e),{})}const globalTypoClasses=e=>{let t=core.composeTypographyClassName(e?.typo);return{...t&&{[t]:!0},...e?.textColor&&{[core.getGlobalColorClass("text",e?.textColor)]:!0},...!e?.textColor&&{[core.getGlobalColorStateClass("text",e?.color)]:!0}}};exports.composeClasses=composeClasses,exports.getClasses=getClasses,exports.getContainerClasses=getContainerClasses,exports.getTextClasses=getTextClasses,exports.globalTypoClasses=globalTypoClasses;
1
+ "use strict";var core=require("@gem-sdk/core");const getClasses=({setting:e,advanced:t,builderProps:s})=>({...s?.uid&&{[s.uid]:!0},...e?.options?.customClass?.wrapper&&{[e.options.customClass.wrapper]:!0},...t?.cssClass&&{[t.cssClass]:!0}}),getContainerClasses=({setting:e})=>{let{excludeFlex:t}=e??{},s="";return t||(s+=" gp-flex"),composeClasses(s)},getTextClasses=({styles:e,setting:t,className:s,isEdit:o,disableEdit:r})=>{let{text:l,options:a}=t??{},p="";if(l||r||(p+="gp-relative empty:gp-pl-[2px] after:gp-content-['Your_custom_text_goes_here'] after:gp-absolute after:gp-select-none after:gp-top-0 after:gp-left-[2px] after:gp-w-full after:gp-truncate after:gp-text-black after:gp-opacity-20 "),e?.enableHoverEffect&&e?.underlineLink){let{underlineLink:t}=e,s=t.hover?"hover:gp-underline":"hover:!gp-no-underline",o=t.normal?"gp-underline":"";p+=` ${s} ${o}`.trim()}o?(p+=" gp-text gp-cursor-pointer !gp-cursor-default",r||(p+=" gp-p-[2px]"),a?.useState&&(p+=" child-item-text gp-border gp-border-transparent hover:!gp-border-[#3C67FF]")):(p+=" gp-text-instant",a?.disablePointerEvent&&(p+=" gp-pointer-events-none"));let n=p.trim().split(" ").reduce((e,t)=>(e[t]=!0,e),{});return{...s&&{[s]:!0},...globalTypoClasses(e),...n}};function composeClasses(e){return e.split(" ").reduce((e,t)=>(e[t]=!0,e),{})}const globalTypoClasses=e=>{let t=core.composeTypographyClassName(e?.typo);return{...t&&{[t]:!0},...e?.textColor&&{[core.getGlobalColorClass("text",e?.textColor)]:!0},...!e?.textColor&&{[core.getGlobalColorStateClass("text",e?.color)]:!0}}};exports.composeClasses=composeClasses,exports.getClasses=getClasses,exports.getContainerClasses=getContainerClasses,exports.getTextClasses=getTextClasses,exports.globalTypoClasses=globalTypoClasses;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),React=require("react"),system=require("@gem-sdk/system"),attrs=require("../common/attrs.js"),styles=require("../common/styles.js"),classes=require("../common/classes.js"),helpers=require("../common/helpers.js");const Text=React.forwardRef(({styles:e,builderAttrs:s,style:t,setting:r,advanced:a,builderProps:l,className:c,children:y,disableEdit:m,...n},i)=>{let o=core.useEditorMode(),{htmlTag:u="div",options:d}=r??{},x=system.createAttr({...attrs.getAttr({uid:l?.uid||""})}),g=system.createAttr({...attrs.getTextAttr(d)}),j=system.createStyleReact({...styles.getStyle(e,t)}),p=system.createStyleReact({...styles.getContainerStyle(e,r)}),R=system.createStyleReact({...styles.getTextStyle(e,r)}),C=system.createClass({...classes.getClasses({setting:r,advanced:a,builderProps:l})}),q=system.createClass({...classes.getContainerClasses({setting:r})}),S=system.createClass({...classes.getTextClasses({styles:e,setting:r,className:c,mode:o,disableEdit:m})}),T=helpers.getDisplayText({type:"React",styles:e,setting:r,builderProps:l}),f=system.createContent(T);return jsxRuntime.jsxs("div",{...x,...n,...s,style:j,className:C,children:[jsxRuntime.jsx("div",{className:q,style:{...p},children:jsxRuntime.jsx(u,{ref:i,...g,className:S,onDragStart:e=>e.preventDefault(),onDrop:e=>e.preventDefault(),style:{...R},dangerouslySetInnerHTML:{__html:f}})}),y]})});exports.default=Text;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),React=require("react"),system=require("@gem-sdk/system"),attrs=require("../common/attrs.js"),styles=require("../common/styles.js"),classes=require("../common/classes.js"),helpers=require("../common/helpers.js");const Text=React.forwardRef(({styles:e,builderAttrs:s,style:t,setting:r,advanced:a,builderProps:l,className:c,children:y,disableEdit:m,...n},i)=>{let{isEditMode:o,isPreviewSharePageMode:u}=core.useRenderMode(),{htmlTag:d="div",options:x}=r??{},g=system.createAttr({...attrs.getAttr({uid:l?.uid||""})}),j=system.createAttr({...attrs.getTextAttr(x)}),R=system.createStyleReact({...styles.getStyle(e,t)}),p=system.createStyleReact({...styles.getContainerStyle(e,r)}),C=system.createStyleReact({...styles.getTextStyle(e,r)}),q=system.createClass({...classes.getClasses({setting:r,advanced:a,builderProps:l})}),S=system.createClass({...classes.getContainerClasses({setting:r})}),T=system.createClass({...classes.getTextClasses({styles:e,setting:r,className:c,isEdit:o||u,disableEdit:m})}),f=helpers.getDisplayText({type:"React",styles:e,setting:r,builderProps:l}),h=system.createContent(f);return jsxRuntime.jsxs("div",{...g,...n,...s,style:R,className:q,children:[jsxRuntime.jsx("div",{className:S,style:{...p},children:jsxRuntime.jsx(d,{ref:i,...j,className:T,onDragStart:e=>e.preventDefault(),onDrop:e=>e.preventDefault(),style:{...C},dangerouslySetInnerHTML:{__html:h}})}),y]})});exports.default=Text;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),Button=require("../../button/components/Button.js");const ThirdPartyPreview=({setting:t,styles:e})=>jsxRuntime.jsx(Button.default,{setting:{...t,iconAlign:"left",iconVisible:!0,options:{isCannotEditing:!0}},styles:{...e,roundedBtnV2:{normal:{radiusType:"rounded",bblr:"3px",bbrr:"3px",btlr:"3px",btrr:"3px"},hover:{radiusType:"rounded",bblr:"3px",bbrr:"3px",btlr:"3px",btrr:"3px"}},iconSpacing:{desktop:"16px"},size:{desktop:"48px",tablet:"48px",mobile:"48px"},globalSize:{desktop:{padding:{top:"12px",bottom:"12px",left:"16px",right:"16px",type:"custom"}}},typo:{custom:{fontSize:{desktop:"14px"}},attrs:{color:"#E2E2E2"}},backgroundColorV2:{normal:"#252525",hover:"#252525"},textOverFlow:!0}});exports.default=ThirdPartyPreview;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),Button=require("../../button/components/Button.js"),core=require("@gem-sdk/core");const ThirdPartyPreview=({setting:e,styles:t})=>{let{isPreviewSharePageMode:r}=core.useRenderMode();return r?null:jsxRuntime.jsx(Button.default,{setting:{...e,iconAlign:"left",iconVisible:!0,options:{isCannotEditing:!0}},styles:{...t,roundedBtnV2:{normal:{radiusType:"rounded",bblr:"3px",bbrr:"3px",btlr:"3px",btrr:"3px"},hover:{radiusType:"rounded",bblr:"3px",bbrr:"3px",btlr:"3px",btrr:"3px"}},iconSpacing:{desktop:"16px"},size:{desktop:"48px",tablet:"48px",mobile:"48px"},globalSize:{desktop:{padding:{top:"12px",bottom:"12px",left:"16px",right:"16px",type:"custom"}}},typo:{custom:{fontSize:{desktop:"14px"}},attrs:{color:"#E2E2E2"}},backgroundColorV2:{normal:"#252525",hover:"#252525"},textOverFlow:!0}})};exports.default=ThirdPartyPreview;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e}from"react/jsx-runtime";import t from"../../text/components/Text.js";import{useArticleStore as r}from"@gem-sdk/core";let ArticleTag=({setting:i,builderProps:l,styles:g})=>{let p=r(e=>e.article),d=p?.tags?.map(e=>e?.name).join(", ");return e("div",{id:`shopify-text-element-${l?.uid}`,"data-article-id":p?.baseID?.replace("gid://shopify/OnlineStoreArticle/",""),children:p?.tags?.length?e(t,{builderProps:l,styles:g,setting:{...i,text:d,excludeFlex:!0}}):e("div",{children:e("p",{className:"gp-bg-light-100 gp-border-dashed gp-border-[1px] gp-border-text-light-100 gp-text-text-light-500 gp-rounded-lg gp-px-2 gp-py-1 gp-text-12 gp-leading-5",children:"No article tag"})})})};export{ArticleTag as default};
2
+ import{jsx as e}from"react/jsx-runtime";import t from"../../text/components/Text.js";import{useArticleStore as r,useRenderMode as i}from"@gem-sdk/core";let ArticleTag=({setting:l,builderProps:g,styles:p})=>{let d=r(e=>e.article),{isPreviewSharePageMode:a}=i(),o=d?.tags?.map(e=>e?.name).join(", "),n=a?null:e("div",{children:e("p",{className:"gp-bg-light-100 gp-border-dashed gp-border-[1px] gp-border-text-light-100 gp-text-text-light-500 gp-rounded-lg gp-px-2 gp-py-1 gp-text-12 gp-leading-5",children:"No article tag"})});return e("div",{id:`shopify-text-element-${g?.uid}`,"data-article-id":d?.baseID?.replace("gid://shopify/OnlineStoreArticle/",""),children:d?.tags?.length?e(t,{builderProps:g,styles:p,setting:{...l,text:o,excludeFlex:!0}}):n})};export{ArticleTag as default};
@@ -1 +1 @@
1
- import{useArticleStore as r,useShopStore as e}from"@gem-sdk/core";import{urlJoin as o}from"../../link/common/helpers.js";import{useMemo as t}from"react";let useArticleLink=()=>{let l=r(r=>r.article),n=e(r=>r.storefrontUrl),i=l?.handle?o("blogs",l?.blog?.handle??"",l.handle):"#",m=t(()=>{if(!n)return"#";let r=new URL(n);return l?`${r.protocol}//${r.host}/${i}`:"#"},[n,l,i]);return{shopifyArticleLink:m}};export{useArticleLink};
1
+ import{useArticleStore as r,useShopStore as e,useRenderMode as t}from"@gem-sdk/core";import{urlJoin as o}from"../../link/common/helpers.js";import{useMemo as l}from"react";let useArticleLink=()=>{let i=r(r=>r.article),n=e(r=>r.storefrontUrl),{isPreviewSharePageMode:m}=t(),s=i?.handle?o("blogs",i?.blog?.handle??"",i.handle):"#",c=l(()=>{if(m)return"javascript:void(0)";if(!n)return"#";let r=new URL(n);return i?`${r.protocol}//${r.host}/${s}`:"#"},[n,i,s,m]);return{shopifyArticleLink:c}};export{useArticleLink};
@@ -1 +1 @@
1
- import{useState as e,useEffect as t,useMemo as a}from"react";let useBreadcrumb=()=>{let[i,r]=e(),[d,n]=e(),[o,l]=e();t(()=>{let e=parent.document.querySelector(".iframe");e&&(r(e.getAttribute("data-page-name")??void 0),n(e.getAttribute("data-assigned-product-title")??void 0),l(e.getAttribute("data-assigned-collection-title")??void 0))},[]),t(()=>{let e=e=>{r(e.detail?.pageName??void 0)},t=e=>{n(e.detail?.assignedProductTitle??void 0)},a=e=>{l(e.detail?.assignedCollectionTitle??void 0)};return window.addEventListener("change-page-name",e),window.addEventListener("change-product-assigned",t),window.addEventListener("change-collection-assigned",a),()=>{window.removeEventListener("change-page-name",e),window.removeEventListener("change-product-assigned",t),window.removeEventListener("change-collection-assigned",a)}},[]);let c=a(()=>[{pageType:"GP_PRODUCT",listBreadcrumb:["Home",d??"Product Title"]},{pageType:"GP_COLLECTION",listBreadcrumb:["Home",o??"Collection Title"]},{pageType:"GP_ARTICLE",listBreadcrumb:["Home","Blog","Article Title"]},{pageType:"GP_STATIC",listBreadcrumb:["Home",i??"Landing Page Title"]},{pageType:"GP_INDEX",listBreadcrumb:["Home"]},{pageType:"THEME_SECTION",listBreadcrumb:["Home","Page Title"]}],[o,d,i]),g=window.location.search,s=a(()=>new URLSearchParams(g).get("pageType"),[g]),m=a(()=>c.find(e=>e.pageType===s)?.listBreadcrumb||[],[c,s]);return{currentBreadcrumb:m}};export{useBreadcrumb};
1
+ import{useState as e,useEffect as t,useMemo as i}from"react";import{usePageType as a}from"@gem-sdk/core";let useBreadcrumb=()=>{let[r,d]=e(),[n,o]=e(),[l,c]=e(),g=a();t(()=>{let e=parent.document.querySelector(".iframe");e||(e=document.querySelector("#storefront")),e&&(d(e.getAttribute("data-page-name")??void 0),o(e.getAttribute("data-assigned-product-title")??void 0),c(e.getAttribute("data-assigned-collection-title")??void 0))},[]),t(()=>{let e=e=>{d(e.detail?.pageName??void 0)},t=e=>{o(e.detail?.assignedProductTitle??void 0)},i=e=>{c(e.detail?.assignedCollectionTitle??void 0)};return window.addEventListener("change-page-name",e),window.addEventListener("change-product-assigned",t),window.addEventListener("change-collection-assigned",i),()=>{window.removeEventListener("change-page-name",e),window.removeEventListener("change-product-assigned",t),window.removeEventListener("change-collection-assigned",i)}},[]);let s=i(()=>[{pageType:"GP_PRODUCT",listBreadcrumb:["Home",n??"Product Title"]},{pageType:"GP_COLLECTION",listBreadcrumb:["Home",l??"Collection Title"]},{pageType:"GP_ARTICLE",listBreadcrumb:["Home","Blog","Article Title"]},{pageType:"GP_STATIC",listBreadcrumb:["Home",r??"Landing Page Title"]},{pageType:"GP_INDEX",listBreadcrumb:["Home"]},{pageType:"THEME_SECTION",listBreadcrumb:["Home","Page Title"]}],[l,n,r]),m="undefined"!=typeof window?window.location.search:"",p=i(()=>new URLSearchParams(m).get("pageType"),[m]),u=i(()=>p||g,[p,g]),T=i(()=>s.find(e=>e.pageType===u)?.listBreadcrumb||[],[s,u]);return{currentBreadcrumb:T}};export{useBreadcrumb};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useCollection as t,useEditorMode as r}from"@gem-sdk/core";import"react";import l from"../../../grid/components/row/Row.js";import{createClass as s,createStyle as m,If as i}from"@gem-sdk/system";import{getClassContainerBanner as a,getClassContainerBackgoundImage as n,getClassOverlayBanner as c,getClassLinkBanner as d}from"./common/classes.js";import{getDimension as p,getStyleOverlay as f,getStyleContainerBackgoundImage as g}from"./common/styles.js";import{updateBackroundImageSrc as k}from"./common/helpers.js";import y from"../../../link/components/Link.js";let CollectionBanner=({builderAttrs:b,builderProps:h,setting:j,style:u,children:v,advanced:N})=>{let B=t(),C=r(),{link:w,layout:x,width:I,verticalGutter:L,verticalAlign:M,horizontalAlign:O}=j??{};k({setting:j,collectionSrc:B?.collectionMedia?.src});let R=s({...a({builderProps:h,setting:j,advanced:N})}),S=s({...n({setting:j})}),W=s({...c({setting:j})}),q=s({...d()}),z=m({...p({setting:j,style:u})}),A=m({...f({setting:j})}),D=m({...g({setting:j,hasCollectionImage:!1})});return e("div",{...b,className:R,style:z,children:[o("div",{"aria-label":"Background Image",role:"banner",className:S,style:D}),o("div",{"aria-label":"Overlay",role:"banner",className:W,style:A}),i(!!w?.link&&"edit"!==C,o(y,{setting:{href:w?.link,target:w?.target},className:q})),o(l,{setting:{layout:x,horizontalAlign:O,verticalAlign:M},styles:{verticalGutter:L,width:I,fullWidth:{desktop:!1,tablet:!1,mobile:!1}},style:u,children:v})]})};export{CollectionBanner as default};
2
+ import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useCollection as l,useRenderMode as r}from"@gem-sdk/core";import t from"../../../grid/components/row/Row.js";import{createClass as s,createStyle as m,If as a}from"@gem-sdk/system";import{getClassContainerBanner as i,getClassContainerBackgoundImage as n,getClassOverlayBanner as c,getClassLinkBanner as d}from"./common/classes.js";import{getDimension as p,getStyleOverlay as f,getStyleContainerBackgoundImage as g}from"./common/styles.js";import{updateBackroundImageSrc as k}from"./common/helpers.js";import y from"../../../link/components/Link.js";let CollectionBanner=({builderAttrs:b,builderProps:h,setting:j,style:u,children:v,advanced:N})=>{let B=l(),{isPreviewSharePageMode:C,isEditMode:w}=r(),{link:x,layout:I,width:L,verticalGutter:M,verticalAlign:O,horizontalAlign:R}=j??{};k({setting:j,collectionSrc:B?.collectionMedia?.src});let S=s({...i({builderProps:h,setting:j,advanced:N})}),W=s({...n({setting:j})}),q=s({...c({setting:j})}),z=s({...d()}),A=m({...p({setting:j,style:u})}),D=m({...f({setting:j})}),E=m({...g({setting:j,hasCollectionImage:!1})}),F=!!x?.link&&!w&&!C;return e("div",{...b,className:S,style:A,children:[o("div",{"aria-label":"Background Image",role:"banner",className:W,style:E}),o("div",{"aria-label":"Overlay",role:"banner",className:q,style:D}),a(F,o(y,{setting:{href:x?.link,target:x?.target},className:z})),o(t,{setting:{layout:I,horizontalAlign:R,verticalAlign:O},styles:{verticalGutter:M,width:L,fullWidth:{desktop:!1,tablet:!1,mobile:!1}},style:u,children:v})]})};export{CollectionBanner as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e}from"react/jsx-runtime";import{useCollection as t}from"@gem-sdk/core";import o from"../../../text/components/Text.js";let CollectionTitle=({setting:l,advanced:i})=>{console.log("\uD83D\uDE80 ~ advanced:",i);let r=t();return e(o,{styles:l,setting:{...l,text:r?.title??"Collection title",excludeFlex:!0},advanced:i})};export{CollectionTitle as default};
2
+ import{jsx as t}from"react/jsx-runtime";import{useCollection as e}from"@gem-sdk/core";import l from"../../../text/components/Text.js";let CollectionTitle=({setting:o,advanced:i})=>{let r=e();return t(l,{styles:o,setting:{...o,text:r?.title??"Collection title",excludeFlex:!0},advanced:i})};export{CollectionTitle as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsxs as e,jsx as r}from"react/jsx-runtime";import o from"./HeroBannerItem.js";import{getAttr as s,getAttrLink as m}from"../common/attrs.js";import{getStyle as t}from"../common/styles.js";import{getClasses as n,getLinkClasses as i}from"../common/classes.js";import{createAttr as a,createStyle as l,createClass as d,If as c}from"@gem-sdk/system";import{useEditorMode as f,useCurrentDevice as p,filterToolbarPreview as u}from"@gem-sdk/core";import{getBannerLink as h}from"../common/helpers.js";import{useHeroBanner as j}from"../hooks/useHeroBanner.js";let HeroBanner=y=>{let{builderAttrs:g,builderProps:k,setting:v,styles:C,style:H,children:B,advanced:b,enableLazyLoadImage:w=!0}=y,L=f(),{enableLink:R}=v??{},x=h(v),{cssClass:I}=b??{},M=p(),{elementRef:N,transform:V,onMouseEnterParallax:z,onMouseLeaveParallax:E,dataVideo:P,bgRef:S,isShowVideoHtml5:q,openLinkBanner:A,layoutResponsive:D}=j(C,v,M),F=!!x?.link&&R&&"edit"!==L,G=a({...s({uid:k?.uid||""})}),J=a({...m()}),K=l({...t(C,v,H)}),O=d({...n({setting:v,builderProps:k,advancedCssClass:I})}),Q=d({...i()}),T=()=>r(o,{setting:v,styles:C,children:B,rawChildren:y.rawChildren,builderProps:k,enableLazyLoadImage:w,elementRef:N,transform:V,dataVideo:P,layoutResponsive:D,bgRef:S,isShowVideoHtml5:q});return e("div",{...g,...G,className:O,style:K,onMouseEnter:z,onMouseLeave:E,children:[c(!F,T()),c(F,r("div",{...J,"aria-hidden":"true",onClick:A,className:Q,children:T()})),u(B,!0)]})};export{HeroBanner as default};
2
+ import{jsxs as e,jsx as r}from"react/jsx-runtime";import o from"./HeroBannerItem.js";import{getAttr as s,getAttrLink as m}from"../common/attrs.js";import{getStyle as t}from"../common/styles.js";import{getClasses as n,getLinkClasses as a}from"../common/classes.js";import{createAttr as i,createStyle as l,createClass as d,If as c}from"@gem-sdk/system";import{useRenderMode as f,useCurrentDevice as p,filterToolbarPreview as u}from"@gem-sdk/core";import{getBannerLink as h}from"../common/helpers.js";import{useHeroBanner as j}from"../hooks/useHeroBanner.js";let HeroBanner=y=>{let{builderAttrs:g,builderProps:k,setting:v,styles:C,style:H,children:B,advanced:b,enableLazyLoadImage:w=!0}=y,{isEditMode:L,isPreviewSharePageMode:R}=f(),{enableLink:x}=v??{},I=h(v),{cssClass:M}=b??{},N=p(),{elementRef:V,transform:z,onMouseEnterParallax:E,onMouseLeaveParallax:P,dataVideo:S,bgRef:q,isShowVideoHtml5:A,openLinkBanner:D,layoutResponsive:F}=j(C,v,N),G=!!I?.link&&x&&!L&&!R,J=i({...s({uid:k?.uid||""})}),K=i({...m()}),O=l({...t(C,v,H)}),Q=d({...n({setting:v,builderProps:k,advancedCssClass:M})}),T=d({...a()}),U=()=>r(o,{setting:v,styles:C,children:B,rawChildren:y.rawChildren,builderProps:k,enableLazyLoadImage:w,elementRef:V,transform:z,dataVideo:S,layoutResponsive:F,bgRef:q,isShowVideoHtml5:A});return e("div",{...g,...J,className:Q,style:O,onMouseEnter:E,onMouseLeave:P,children:[c(!G,U()),c(G,r("div",{...K,"aria-hidden":"true",onClick:D,className:T,children:U()})),u(B,!0)]})};export{HeroBanner as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as t,jsxs as e}from"react/jsx-runtime";import{createStyleReact as i,createClass as r,createAttr as l,If as s}from"@gem-sdk/system";import"react";import{getOuterWrapperStyles as o,getWrapperWidth as a,getContainerStyles as m,getLazyPlaceholderStyle as d,getImageStyles as h,getLabelStyles as n,getArrowStyles as p,getLineStyles as g,getHandleStyles as c,getHandleCustomStyles as y,getSliderStyles as f}from"../common/styles.js";import{getImageReactAttrs as w,getImagePlaceholderAttrs as C,getLabelAttrs as I}from"../common/attrs.js";import{getOuterWrapperClasses as S,getLabelClasses as j,getLabelContainerClasses as u}from"../common/classes.js";import b from"./Label.js";import L from"./SlideHandle.js";import{getData as v,getReactStyles as H}from"../common/helpers.js";import{useCompareImage as k}from"../hooks/useCompareImage.js";let CompareImage=x=>{let{leftImage:A,rightImage:W,builderData:$,preload:N,advanced:P}=x,{hover:R,styles:U,handle:q,handleSize:z,leftImageAlt:B,leftImageTitle:D,leftImageLabel:E,rightImageAlt:F,rightImageTitle:G,rightImageLabel:J,sliderLineWidth:K,sliderLineColor:M,componentUid:O,tempImage:Q,aspectRatio:T,isHorizontal:V,hasLeftLabel:X,hasRightLabel:Y,getLeftImageSrc:Z,getRightImageSrc:_}=v(x),tt=Z(),te=_(),{ref:ti,mode:tr,isInstant:tl,sliderRef:ts,containerRef:to,leftImageRef:ta,rightImageRef:tm,sliderPosition:td,containerWidth:th,containerHeight:tn,allImagesLoaded:tp,setLeftImgLoaded:tg,setRightImgLoaded:tc}=k({props:x,aspectRatio:T}),ty=H({handleSize:z,isHorizontal:V,containerWidth:th,containerHeight:tn,sliderPosition:td}),tf=i({...o(U)}),tw=i({...a({width:U?.width,leftImageWidth:A?.width,rightImageWidth:W?.width})}),tC=i({...m({aspectRatio:T,builderData:$,allImagesLoaded:tp})}),tI=i({...d(T)}),tS=i({...h({type:"right",props:x}),...ty.rightImageClip}),tj=i({...h({type:"left",props:x}),...ty.leftImageClip}),tu=i({...n({styles:U,type:"left",isHorizontal:V})}),tb=i({...n({styles:U,type:"right",isHorizontal:V})}),tL=i({...p({type:"left"})}),tv=i({...p({type:"right"})}),tH=i({...g({isHorizontal:V,sliderLineColor:M,sliderLineWidth:K})}),tk=i({...c({handleSize:z,isHorizontal:V,sliderLineColor:M,sliderLineWidth:K})}),tx=i({...y()}),tA=i({...f({hover:R,handleSize:z,isHorizontal:V}),...ty.sliderPosition}),tW=r({...S(P?.cssClass)}),t$=r({...j(U)}),tN=r({...u()}),tP=l({...w({testId:"right-image",src:te,title:G,width:W?.width,height:W?.height,priority:N||"edit"===tr||tl})}),tR=l({...w({testId:"left-image",src:tt,title:D,width:A?.width,height:A?.height,priority:N||"edit"===tr||tl})}),tU=I({componentUid:O,positionId:"left",label:E??""}),tq=I({componentUid:O,positionId:"right",label:J??""}),tz=l({...C({width:Q?.width,height:Q?.height})}),tB=()=>t("img",{alt:"",...tz,style:tI}),tD=()=>t("img",{alt:F,ref:tm,...tP,style:tS,onLoad:()=>tc(!0)}),tE=()=>t("img",{alt:B,ref:ta,...tR,style:tj,onLoad:()=>tg(!0)}),tF=()=>t(L,{customHandle:q,componentUid:O,lineStyles:tH,sliderStyles:tA,handleStyles:tk,customHandleStyles:tx,leftArrowStyles:tL,rightArrowStyles:tv,sliderRef:ts}),tG=()=>t(b,{...tU,styles:U,childrenClass:t$,childrenStyle:tu,containerClass:tN,containerStyle:ty?.leftLabelContainer??{}}),tJ=()=>t(b,{...tq,styles:U,childrenClass:t$,childrenStyle:tb,containerClass:tN,containerStyle:ty?.rightLabelContainer??{}});return t("div",{"data-id":O,className:tW,style:tf,children:t("div",{id:`img-comparison-wrapper-${O}`,style:tw,ref:ti,children:e("div",{id:`img-comparison-container-${O}`,ref:to,"data-testid":"container",style:tC,children:[tB(),tD(),tE(),tF(),s(X,tG()),s(Y,tJ())]})})})};export{CompareImage as default};
2
+ import{jsx as t,jsxs as e}from"react/jsx-runtime";import{createStyleReact as i,createClass as r,createAttr as l,If as s}from"@gem-sdk/system";import"react";import{getOuterWrapperStyles as o,getWrapperWidth as a,getContainerStyles as m,getLazyPlaceholderStyle as d,getImageStyles as h,getLabelStyles as n,getArrowStyles as g,getLineStyles as p,getHandleStyles as c,getHandleCustomStyles as y,getSliderStyles as f}from"../common/styles.js";import{getImageReactAttrs as w,getImagePlaceholderAttrs as C,getLabelAttrs as I}from"../common/attrs.js";import{getOuterWrapperClasses as S,getLabelClasses as j,getLabelContainerClasses as u}from"../common/classes.js";import b from"./Label.js";import L from"./SlideHandle.js";import{getData as v,getReactStyles as H}from"../common/helpers.js";import{useCompareImage as k}from"../hooks/useCompareImage.js";let CompareImage=x=>{let{leftImage:A,rightImage:W,builderData:$,advanced:N}=x,{hover:P,styles:R,handle:U,handleSize:q,leftImageAlt:z,leftImageTitle:B,leftImageLabel:D,rightImageAlt:E,rightImageTitle:F,rightImageLabel:G,sliderLineWidth:J,sliderLineColor:K,componentUid:M,tempImage:O,aspectRatio:Q,isHorizontal:T,hasLeftLabel:V,hasRightLabel:X,getLeftImageSrc:Y,getRightImageSrc:Z}=v(x),_=Y(),tt=Z(),{ref:te,priority:ti,sliderRef:tr,containerRef:tl,leftImageRef:ts,rightImageRef:to,sliderPosition:ta,containerWidth:tm,containerHeight:td,allImagesLoaded:th,setLeftImgLoaded:tn,setRightImgLoaded:tg}=k({props:x,aspectRatio:Q}),tp=H({handleSize:q,isHorizontal:T,containerWidth:tm,containerHeight:td,sliderPosition:ta}),tc=i({...o(R)}),ty=i({...a({width:R?.width,leftImageWidth:A?.width,rightImageWidth:W?.width})}),tf=i({...m({aspectRatio:Q,builderData:$,allImagesLoaded:th})}),tw=i({...d(Q)}),tC=i({...h({type:"right",props:x}),...tp.rightImageClip}),tI=i({...h({type:"left",props:x}),...tp.leftImageClip}),tS=i({...n({styles:R,type:"left",isHorizontal:T})}),tj=i({...n({styles:R,type:"right",isHorizontal:T})}),tu=i({...g({type:"left"})}),tb=i({...g({type:"right"})}),tL=i({...p({isHorizontal:T,sliderLineColor:K,sliderLineWidth:J})}),tv=i({...c({handleSize:q,isHorizontal:T,sliderLineColor:K,sliderLineWidth:J})}),tH=i({...y()}),tk=i({...f({hover:P,handleSize:q,isHorizontal:T}),...tp.sliderPosition}),tx=r({...S(N?.cssClass)}),tA=r({...j(R)}),tW=r({...u()}),t$=l({...w({testId:"right-image",src:tt,title:F,width:W?.width,height:W?.height,priority:ti})}),tN=l({...w({testId:"left-image",src:_,title:B,width:A?.width,height:A?.height,priority:ti})}),tP=I({componentUid:M,positionId:"left",label:D??""}),tR=I({componentUid:M,positionId:"right",label:G??""}),tU=l({...C({width:O?.width,height:O?.height})}),tq=()=>t("img",{alt:"",...tU,style:tw}),tz=()=>t("img",{alt:E,ref:to,...t$,style:tC,onLoad:()=>tg(!0)}),tB=()=>t("img",{alt:z,ref:ts,...tN,style:tI,onLoad:()=>tn(!0)}),tD=()=>t(L,{customHandle:U,componentUid:M,lineStyles:tL,sliderStyles:tk,handleStyles:tv,customHandleStyles:tH,leftArrowStyles:tu,rightArrowStyles:tb,sliderRef:tr}),tE=()=>t(b,{...tP,styles:R,childrenClass:tA,childrenStyle:tS,containerClass:tW,containerStyle:tp?.leftLabelContainer??{}}),tF=()=>t(b,{...tR,styles:R,childrenClass:tA,childrenStyle:tj,containerClass:tW,containerStyle:tp?.rightLabelContainer??{}});return t("div",{"data-id":M,className:tx,style:tc,children:t("div",{id:`img-comparison-wrapper-${M}`,style:ty,ref:te,children:e("div",{id:`img-comparison-container-${M}`,ref:tl,"data-testid":"container",style:tf,children:[tq(),tz(),tB(),tD(),s(V,tE()),s(X,tF())]})})})};export{CompareImage as default};
@@ -1 +1 @@
1
- import{useEditorMode as e,usePageType as t,useInteraction as n}from"@gem-sdk/core";import{useState as o,useRef as r,useMemo as i,useEffect as u}from"react";let useCompareImage=({props:s,aspectRatio:m})=>{let{styles:v,leftImage:d,rightImage:a,hover:l=!1,vertical:c=!1,sliderLineWidth:p=2,sliderPositionPercentage:g=.5,onSliderPositionChange:w}=s,h=!c,E=e(),L="STATIC"===t(),[f,R]=o(g),[b,C]=o(0),[B,I]=o(0),[O,X]=o(!1),[Y,A]=o(!1),N=r(null),T=r(null),U=r(null),k=r(null),{onListener:x,saveToElementInteractionData:z}=n(),D=r(null),M=i(()=>m,[d,a,v?.aspectRatio,v?.customAspectRadio]);u(()=>{let e=`[data-id="${s?.componentUid}"]`;x({event:"gp:change-ratio-original",selector:e,elementRef:D},e=>{let{data:t,isRollback:n,uniqueStorageKey:o}=e||{};if(!n||void 0!==t){if(n){R(Number(t));return}z(D.current,o,f),R(Number(t)/100)}})},[x,s?.componentUid,z,f]);let P=i(()=>p/2+21,[p]),S=i(()=>(h?b-p/2:B-p/2)-21,[h,b,p,B]);u(()=>{let e=N.current;if(!e)return;let t=new ResizeObserver(([e])=>{let t=e?.target.getBoundingClientRect().width??0;C(t)});return t.observe(e),()=>t.disconnect()},[]),u(()=>{let e=k?.current?.complete;return e&&X(!0),()=>{X(!1)}},[d]),u(()=>{let e=U?.current?.complete;return e&&A(!0),()=>{A(!1)}},[a]);let $=Y&&O;return u(()=>{let e=h?g*b:g*B;e<P?R(h?P/b:P/B):e>S?R(h?S/b:S/B):R(g)},[B,b,h,S,P,g]),u(()=>{let e=e=>{let t=e||window.event;if(t.stopPropagation(),t.button&&0!==t.button)return;let n="touches"in t?t?.touches?.[0]?.pageX??0:t.pageX,o="touches"in t?t?.touches?.[0]?.pageY??0:t.pageY,r=n-window.pageXOffset,i=o-window.pageYOffset,u=U.current?.getBoundingClientRect(),s=h?r-(u?.left??0):i-(u?.top??0);s<P&&(s=P),s>S&&(s=S),h?R(s/b):R(s/B),w&&(h?w(s/b):w(s/B))},t=t=>{t.preventDefault(),e(t),t.button&&0!==t.button||(window.addEventListener("mousemove",e),r.addEventListener("touchmove",e))},n=()=>{window.removeEventListener("mousemove",e),r.removeEventListener("touchmove",e)},o=N.current,r=T.current;if($&&o&&r){r.addEventListener("touchstart",t),r.addEventListener("touchend",n),l?(o.addEventListener("mousemove",e),o.addEventListener("mouseleave",n)):(o.addEventListener("mousedown",t),window.addEventListener("mouseup",n));let i=k.current?.getBoundingClientRect(),u=U.current?.getBoundingClientRect(),s=(i?.height??0)/(i?.width??1),m=(u?.height??0)/(u?.width??1),v=Math.min(s,m),d=b*v;I(d)}return()=>{o&&r&&(r.removeEventListener("touchstart",t),r.removeEventListener("touchend",n),o.removeEventListener("mousemove",e),o.removeEventListener("mouseleave",n),o.removeEventListener("mousedown",t),window.removeEventListener("mouseup",n),window.removeEventListener("mousemove",e),r.removeEventListener("touchmove",e))}},[l,S,P,h,M,b,B,$,p,v?.aspectRatio,w]),{ref:D,mode:E,isInstant:L,sliderRef:T,containerRef:N,leftImageRef:k,rightImageRef:U,sliderPosition:f,containerWidth:b,containerHeight:B,allImagesLoaded:$,setLeftImgLoaded:X,setRightImgLoaded:A}};export{useCompareImage};
1
+ import{useRenderMode as e,usePageType as t,useInteraction as n}from"@gem-sdk/core";import{useState as o,useRef as r,useMemo as i,useEffect as u}from"react";let useCompareImage=({props:s,aspectRatio:m})=>{let{styles:v,leftImage:d,rightImage:a,hover:l=!1,vertical:c=!1,sliderLineWidth:p=2,sliderPositionPercentage:g=.5,onSliderPositionChange:w,preload:h}=s,E=!c,{isPreviewSharePageMode:L,isEditMode:f}=e(),R="STATIC"===t(),[b,C]=o(g),[B,I]=o(0),[O,X]=o(0),[Y,A]=o(!1),[N,T]=o(!1),U=r(null),k=r(null),x=r(null),z=r(null),{onListener:D,saveToElementInteractionData:M}=n(),P=r(null),S=i(()=>m,[d,a,v?.aspectRatio,v?.customAspectRadio]);u(()=>{let e=`[data-id="${s?.componentUid}"]`;D({event:"gp:change-ratio-original",selector:e,elementRef:P},e=>{let{data:t,isRollback:n,uniqueStorageKey:o}=e||{};if(!n||void 0!==t){if(n){C(Number(t));return}M(P.current,o,b),C(Number(t)/100)}})},[D,s?.componentUid,M,b]);let $=i(()=>p/2+21,[p]),j=i(()=>(E?B-p/2:O-p/2)-21,[E,B,p,O]),q=h||f||L||R;u(()=>{let e=U.current;if(!e)return;let t=new ResizeObserver(([e])=>{let t=e?.target.getBoundingClientRect().width??0;I(t)});return t.observe(e),()=>t.disconnect()},[]),u(()=>{let e=z?.current?.complete;return e&&A(!0),()=>{A(!1)}},[d]),u(()=>{let e=x?.current?.complete;return e&&T(!0),()=>{T(!1)}},[a]);let y=N&&Y;return u(()=>{let e=E?g*B:g*O;e<$?C(E?$/B:$/O):e>j?C(E?j/B:j/O):C(g)},[O,B,E,j,$,g]),u(()=>{let e=e=>{let t=e||window.event;if(t.stopPropagation(),t.button&&0!==t.button)return;let n="touches"in t?t?.touches?.[0]?.pageX??0:t.pageX,o="touches"in t?t?.touches?.[0]?.pageY??0:t.pageY,r=n-window.pageXOffset,i=o-window.pageYOffset,u=x.current?.getBoundingClientRect(),s=E?r-(u?.left??0):i-(u?.top??0);s<$&&(s=$),s>j&&(s=j),E?C(s/B):C(s/O),w&&(E?w(s/B):w(s/O))},t=t=>{t.preventDefault(),e(t),t.button&&0!==t.button||(window.addEventListener("mousemove",e),r.addEventListener("touchmove",e))},n=()=>{window.removeEventListener("mousemove",e),r.removeEventListener("touchmove",e)},o=U.current,r=k.current;if(y&&o&&r){r.addEventListener("touchstart",t),r.addEventListener("touchend",n),l?(o.addEventListener("mousemove",e),o.addEventListener("mouseleave",n)):(o.addEventListener("mousedown",t),window.addEventListener("mouseup",n));let i=z.current?.getBoundingClientRect(),u=x.current?.getBoundingClientRect(),s=(i?.height??0)/(i?.width??1),m=(u?.height??0)/(u?.width??1),v=Math.min(s,m),d=B*v;X(d)}return()=>{o&&r&&(r.removeEventListener("touchstart",t),r.removeEventListener("touchend",n),o.removeEventListener("mousemove",e),o.removeEventListener("mouseleave",n),o.removeEventListener("mousedown",t),window.removeEventListener("mouseup",n),window.removeEventListener("mousemove",e),r.removeEventListener("touchmove",e))}},[l,j,$,E,S,B,O,y,p,v?.aspectRatio,w]),{ref:P,priority:q,sliderRef:k,containerRef:U,leftImageRef:z,rightImageRef:x,sliderPosition:b,containerWidth:B,containerHeight:O,allImagesLoaded:y,setLeftImgLoaded:A,setRightImgLoaded:T}};export{useCompareImage};
@@ -1 +1 @@
1
- function normalize(e){let r=[];if(0===e.length)return"";if("string"!=typeof e[0])throw TypeError("Url must be a string. Received "+e[0]);e[0].match(/^[^/:]+:\/*$/)&&e.length>1&&(e[0]=e.shift()+e[0]),e[0].match(/^file:\/\/\//)?e[0]=e[0].replace(/^([^/:]+):\/*/,"$1:///"):e[0]=e[0].replace(/^([^/:]+):\/*/,"$1://");for(let t=0;t<e.length;t++){let l=e[t];if("string"!=typeof l)throw TypeError("Url must be a string. Received "+l);""!==l&&(t>0&&(l=l.replace(/^\/+/,"")),l=t<e.length-1?l.replace(/\/+$/,""):l.replace(/\/+$/,"/"),r.push(l))}let t=r.join("/");t=t.replace(/\/(\?|&|#[^!])/g,"$1");let l=t.split("?");return l.shift()+(l.length>0?"?":"")+l.join("&")}function urlJoin(...e){let r=Array.from(Array.isArray(e[0])?e[0]:e);return normalize(r)}export{urlJoin};
1
+ function normalize(e){let r=[];if(0===e.length)return"";if("string"!=typeof e[0])throw TypeError("Url must be a string. Received "+e[0]);e[0].match(/^[^/:]+:\/*$/)&&e.length>1&&(e[0]=e.shift()+e[0]),e[0].match(/^file:\/\/\//)?e[0]=e[0].replace(/^([^/:]+):\/*/,"$1:///"):e[0]=e[0].replace(/^([^/:]+):\/*/,"$1://");for(let t=0;t<e.length;t++){let n=e[t];if("string"!=typeof n)throw TypeError("Url must be a string. Received "+n);""!==n&&(t>0&&(n=n.replace(/^\/+/,"")),n=t<e.length-1?n.replace(/\/+$/,""):n.replace(/\/+$/,"/"),r.push(n))}let t=r.join("/");t=t.replace(/\/(\?|&|#[^!])/g,"$1");let n=t.split("?");return n.shift()+(n.length>0?"?":"")+n.join("&")}function urlJoin(...e){let r=Array.from(Array.isArray(e[0])?e[0]:e);return normalize(r)}function isExternalLink(e){return!!e&&/^(https?:\/\/|\/\/|\/)/i.test(e)}export{isExternalLink,urlJoin};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as t}from"react/jsx-runtime";import i from"next/link";let CustomLink=({children:e,...r})=>t(i,{title:r?.title,"data-id":r?.dataId,...r,children:e});export{CustomLink as default};
2
+ import{jsx as t}from"react/jsx-runtime";import r from"next/link";import{useRenderMode as e}from"@gem-sdk/core";let CustomLink=({children:i,dataId:o,...m})=>{let{isPreviewSharePageMode:n}=e(),a={title:m.title,"data-id":o};return n?t("a",{...a,...m,href:m.href?.toString()??"javascript:void(0)",children:i}):t(r,{...a,...m,children:i})};export{CustomLink as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as t}from"react/jsx-runtime";import{useMemo as r}from"react";import e from"./CustomLink.js";import o from"./ProductLink.js";let Link=({setting:l,className:a,style:i,children:m,title:n,dataId:f})=>{let p=r(()=>l?.type==="product"?o:e,[l?.type]),s={};return p==e&&(s.title=n),t(p,{...s,"data-id":f,target:l?.target,rel:l?.noFollow?"nofollow":void 0,"aria-label":l?.label,href:l?.href,className:a,style:i,children:m})};export{Link as default};
2
+ import{jsx as r}from"react/jsx-runtime";import{useMemo as t}from"react";import e from"./CustomLink.js";import o from"./ProductLink.js";import{useRenderMode as i}from"@gem-sdk/core";import{isExternalLink as l}from"../common/helpers.js";let Link=({setting:m,className:a,style:p,children:s,title:f,dataId:n})=>{let{isPreviewSharePageMode:c}=i(),d=t(()=>m?.type==="product"?o:e,[m?.type]),u={};d==e&&(u.title=f);let h=c&&l(m?.href)?"javascript:void(0)":m?.href;return r(d,{...u,"data-id":n,target:m?.target,rel:m?.noFollow?"nofollow":void 0,"aria-label":m?.label,href:h,className:a,style:p,children:s})};export{Link as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as t}from"react/jsx-runtime";import{useProduct as e,isEmptyChildren as r}from"@gem-sdk/core";let ProductLink=({children:l,...i})=>{let o=e();return t("a",{title:o?.title,href:o?`/products/${o.handle}`:"#",...i,children:r(l)?o?o.title:null:l})};export{ProductLink as default};
2
+ import{jsx as e}from"react/jsx-runtime";import{useProduct as t,useRenderMode as r,isEmptyChildren as o}from"@gem-sdk/core";let ProductLink=({children:i,...l})=>{let d=t(),{isPreviewSharePageMode:a}=r();console.log("\uD83D\uDE80 ~ ProductLink ~ isPreviewSharePageMode:",a);let c=a?"javascript:void(0)":d?`/products/${d.handle}`:"#";return e("a",{title:d?.title,href:c,...l,children:o(i)?d?d.title:null:i})};export{ProductLink as default};
@@ -1 +1 @@
1
- import{useEditorMode as e,useProduct as t,useCurrency as r,useQuantity as i,useProductProperties as s,useCurrentVariant as n,useHasPreSelected as o,useStickyStore as a,useProductStore as u,useCreateCart as l,useAddToCart as c,useCurrentVariantInStock as m}from"@gem-sdk/core";import{useRef as b,useEffect as d,useCallback as f}from"react";import{addToCartTracking as p}from"../../../helpers/tracking.js";import{useDispatchAfterSubmitEvent as v}from"./useDispatchAfterSubmitEvent.js";import{useCartMessage as g}from"./useCartMessage.js";import{useCartOperations as I}from"./useCartOperations.js";let useBtnAddToCart=({styles:k,setting:D,builderProps:S})=>{let E=b(null),h=e(),j=t(),{currency:y}=r(),{quantity:C}=i(),A=s(),M=n(),{hasPreSelected:O}=o(),w=a(e=>e.setStickyVisible),B=u(e=>e.updateIsSubmit),T=v(S?.uid),{showMessage:q,notiComponent:x}=g(k,D),{handleSuccess:L,handleError:U,cartId:V}=I(D,q,T),{isMutating:z,trigger:F}=l({onSuccess:L,onError:U}),{isMutating:G,trigger:H}=c({onSuccess:L,onError:U});d(()=>{let e=new IntersectionObserver(e=>{let t=e[0];w(t?.isIntersecting)},{threshold:.1}),t=E.current;return E.current&&e.observe(E.current),()=>{t&&e.unobserve(t)}},[w]);let J=f(()=>{if(!M?.baseID||!C||!j?.baseID||void 0!==O&&!O||"edit"===h)return;let e=A?.some(e=>e.required&&!e.value);if(B(!0),e)return;let t=A?.filter(e=>!!e.value)?.map(e=>({key:e.key,value:e.value}));p({quantity:C,currency:y,id:j?.baseID,name:j?.title,brand:j?.vendor,sku:M.sku,price:M?.price,variant:M.title});let r={quantity:C,attributes:t,variantId:M.baseID};D?.actionEffect!=="buy-now"&&V?H({cartId:V,lines:[r]}):F({items:[r]})},[h,V,y,C,A,O,j?.title,j?.vendor,j?.baseID,M?.sku,M?.price,M?.title,M?.baseID,D?.actionEffect,F,H,B]),K=m(),N=z||G,P=M?D?.outOfStockLabel:"Unavailable";return{addToCartRef:E,isLoading:N,isInStock:K,notiComponent:x,outOfStockLabel:P,addToCart:J}};export{useBtnAddToCart};
1
+ import{useRenderMode as e,useProduct as t,useCurrency as r,useQuantity as i,useProductProperties as s,useCurrentVariant as n,useHasPreSelected as o,useStickyStore as a,useProductStore as u,useCreateCart as l,useAddToCart as c,useCurrentVariantInStock as m}from"@gem-sdk/core";import{useRef as b,useEffect as d,useCallback as f}from"react";import{addToCartTracking as p}from"../../../helpers/tracking.js";import{useDispatchAfterSubmitEvent as v}from"./useDispatchAfterSubmitEvent.js";import{useCartMessage as g}from"./useCartMessage.js";import{useCartOperations as I}from"./useCartOperations.js";let useBtnAddToCart=({styles:k,setting:D,builderProps:S})=>{let E=b(null),{isEditMode:h,isPreviewSharePageMode:j}=e(),y=t(),{currency:C}=r(),{quantity:A}=i(),M=s(),O=n(),{hasPreSelected:w}=o(),B=a(e=>e.setStickyVisible),T=u(e=>e.updateIsSubmit),q=v(S?.uid),{showMessage:x,notiComponent:L}=g(k,D),{handleSuccess:U,handleError:V,cartId:z}=I(D,x,q),{isMutating:F,trigger:G}=l({onSuccess:U,onError:V}),{isMutating:H,trigger:J}=c({onSuccess:U,onError:V});d(()=>{let e=new IntersectionObserver(e=>{let t=e[0];B(t?.isIntersecting)},{threshold:.1}),t=E.current;return E.current&&e.observe(E.current),()=>{t&&e.unobserve(t)}},[B]);let K=f(()=>{if(!O?.baseID||!A||!y?.baseID||void 0!==w&&!w||h||j)return;let e=M?.some(e=>e.required&&!e.value);if(T(!0),e)return;let t=M?.filter(e=>!!e.value)?.map(e=>({key:e.key,value:e.value}));p({quantity:A,currency:C,id:y?.baseID,name:y?.title,brand:y?.vendor,sku:O.sku,price:O?.price,variant:O.title});let r={quantity:A,attributes:t,variantId:O.baseID};D?.actionEffect!=="buy-now"&&z?J({cartId:z,lines:[r]}):G({items:[r]})},[h,j,z,C,A,M,w,y?.title,y?.vendor,y?.baseID,O?.sku,O?.price,O?.title,O?.baseID,D?.actionEffect,G,J,T]),N=m(),P=F||H,Q=O?D?.outOfStockLabel:"Unavailable";return{addToCartRef:E,isLoading:P,isInStock:N,notiComponent:L,outOfStockLabel:Q,addToCart:K}};export{useBtnAddToCart};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,Fragment as t,jsxs as o}from"react/jsx-runtime";import{useProduct as r,useCurrentDevice as a,useShopStore as c,useEditorMode as i,getResponsiveValueByScreen as n,cls as l,makeStyle as s}from"@gem-sdk/core";import{memo as h,useMemo as f}from"react";import m from"../../../../../image/components/NextImage.js";import d from"./MediaIcon.js";import{isFeatureMedia as p,getZoomImageClass as g,getZoomLenClass as u}from"../../common/productFeaturedImage.js";import y from"./ProductFeatureVideo.js";let defaultImage={src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:480,height:480,alt:"no image",contentType:"IMAGE"},ProductFeaturedImageOnly=({image:h,imageShowWhenHover:E,setting:I,aspectRatio:T})=>{let b=r(),v=a(),w=c(e=>e.storefrontUrl),O=i(),x=f(()=>"none"!==n(I.ftClickOpenLightBox,v),[v,I.ftClickOpenLightBox]),L=f(()=>"edit"!==O&&["VIDEO","EXTERNAL_VIDEO"].includes(h?.contentType||"")&&!x,[O,h?.contentType,x]),F=f(()=>h?{...h,src:L?h.src:p(h?.contentType)?h?.previewImage:h.src}:defaultImage,[h,L]),N=f(()=>{if(!w)return"#";let e=new URL(w);return b?`${e.protocol}//${e.host}/products/${b.handle}`:"#"},[w,b]),$=t=>"product-link"===n(I.ftClickOpenLightBox,v)?e("a",{title:b?.title,href:N,className:"gp-w-full",children:t}):t,j=f(()=>I?.hoverEffect!=="none"&&!p(F?.contentType),[F?.contentType,I?.hoverEffect]),k=f(()=>I?.hoverEffect=="zoom"&&I?.zoomType=="glasses"&&!p(F?.contentType),[F?.contentType,I?.hoverEffect,I?.zoomType]);return e(t,{children:$(e(t,{children:L?e(y,{type:F?.contentType,url:F.src??"",aspectRatio:T}):o(t,{children:[e(m,{draggable:"false",src:F.src,width:F?.width,height:F?.height,alt:F?.alt,setting:{aspectRatio:T,layout:I?.ftLayout},priority:I?.preload,className:"featured-image-only",style:{width:"100%",height:"100%",cursor:"pointer"}}),e(d,{contentType:F?.contentType??""}),j&&e(m,{draggable:"false",src:I?.hoverEffect==="other"?E?.src:F.src,width:I?.hoverEffect==="other"?E?.width:F.width,height:I?.hoverEffect==="other"?E?.height:F.height,alt:I?.hoverEffect==="other"?E?.alt:F.alt,setting:{layout:I.ftLayout,aspectRatio:T},style:{width:"100%",height:"100%"},className:l("hover-image featured-image-only !gp-max-w-none",g()),priority:I?.preload}),k&&e("div",{className:l(u(),"room-len"),style:{...s({bgi:`url("${F?.src}")`})}})]})}))})};var ProductFeaturedImageOnly$1=h(ProductFeaturedImageOnly);export{ProductFeaturedImageOnly$1 as default};
2
+ import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import{useProduct as o,useCurrentDevice as a,useShopStore as c,useRenderMode as i,getResponsiveValueByScreen as n,cls as l,makeStyle as s}from"@gem-sdk/core";import{memo as h,useMemo as f}from"react";import m from"../../../../../image/components/NextImage.js";import p from"./MediaIcon.js";import{isFeatureMedia as d,getZoomImageClass as g,getZoomLenClass as u}from"../../common/productFeaturedImage.js";import y from"./ProductFeatureVideo.js";let defaultImage={src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:480,height:480,alt:"no image",contentType:"IMAGE"},ProductFeaturedImageOnly=({image:h,imageShowWhenHover:v,setting:E,aspectRatio:I})=>{let T=o(),b=a(),w=c(e=>e.storefrontUrl),{isEditMode:O,isPreviewSharePageMode:x}=i(),L=f(()=>"none"!==n(E.ftClickOpenLightBox,b),[b,E.ftClickOpenLightBox]),j=f(()=>!O&&["VIDEO","EXTERNAL_VIDEO"].includes(h?.contentType||"")&&!L,[O,h?.contentType,L]),F=f(()=>h?{...h,src:j?h.src:d(h?.contentType)?h?.previewImage:h.src}:defaultImage,[h,j]),N=f(()=>{if(x)return"javascript:void(0)";if(!w)return"#";let e=new URL(w);return T?`${e.protocol}//${e.host}/products/${T.handle}`:"#"},[w,T,x]),$=t=>"product-link"===n(E.ftClickOpenLightBox,b)?e("a",{title:T?.title,href:N,className:"gp-w-full",children:t}):t,k=f(()=>E?.hoverEffect!=="none"&&!d(F?.contentType),[F?.contentType,E?.hoverEffect]),P=f(()=>E?.hoverEffect=="zoom"&&E?.zoomType=="glasses"&&!d(F?.contentType),[F?.contentType,E?.hoverEffect,E?.zoomType]);return e(t,{children:$(e(t,{children:j?e(y,{type:F?.contentType,url:F.src??"",aspectRatio:I}):r(t,{children:[e(m,{draggable:"false",src:F.src,width:F?.width,height:F?.height,alt:F?.alt,setting:{aspectRatio:I,layout:E?.ftLayout},priority:E?.preload,className:"featured-image-only",style:{width:"100%",height:"100%",cursor:"pointer"}}),e(p,{contentType:F?.contentType??""}),k&&e(m,{draggable:"false",src:E?.hoverEffect==="other"?v?.src:F.src,width:E?.hoverEffect==="other"?v?.width:F.width,height:E?.hoverEffect==="other"?v?.height:F.height,alt:E?.hoverEffect==="other"?v?.alt:F.alt,setting:{layout:E.ftLayout,aspectRatio:I},style:{width:"100%",height:"100%"},className:l("hover-image featured-image-only !gp-max-w-none",g()),priority:E?.preload}),P&&e("div",{className:l(u(),"room-len"),style:{...s({bgi:`url("${F?.src}")`})}})]})}))})};var ProductFeaturedImageOnly$1=h(ProductFeaturedImageOnly);export{ProductFeaturedImageOnly$1 as default};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as t,jsxs as o}from"react/jsx-runtime";import r from"next/dynamic";import d from"../../../common/components/Loading.js";import{useState as i,useMemo as l,useEffect as a}from"react";import{useEditorMode as c,useCurrentDevice as s,usePageType as n,usePageStore as u,useProductQuery as m,useProductsQueryAll as g,useProductsQuery as h,useCollectionQuery as p,flattenConnection as P,ProductListProvider as f,filterToolbarPreview as b}from"@gem-sdk/core";import k from"../SalePageProductListWarning.js";import T from"next/head";import I from"./ProductListGridLayout.js";import y from"./ProductListCarouselLayout.js";import{getStyle as v}from"./common/styles.js";import{If as N}from"@gem-sdk/system";import{getClass as O}from"./common/classes.js";import{getData as S}from"./common/helpers.js";import{getPropertyByDevice as C}from"../../../dialog/common/helpers.js";let ProductNotFound=r(()=>import("../ProductNotFound.js"),{loading:d}),ProductList=r=>{let{children:E,styles:w,builderProps:L,setting:W,builderAttrs:j}=r,{isRelatedProduct:x,productSetting:G}=S(r),B=G.relatedTag&&G.relatedTag[0],A=c(),M=s(),Q=n(),z=u(e=>e.dynamicProduct),F=u(e=>e.dynamicCollection),[H,R]=i(1),[$,_]=i(!0),[D,V]=i(),[q,U]=i(!1),J="GP_FUNNEL_PAGE"===Q,K="GP_COLLECTION"==Q;K&&(G.productSrc="DynamicCollection",G.collectionId=F?.collectionId??"latest");let X=G?.productSrc??"Collection",Y=z?.productId&&z?.productId!==G.relatedProductId?z?.productId:G.relatedProductId,{data:Z}=m(x&&Y?Y:void 0),ee=G.relatedTag&&"tags"===G.relatedTag[0]&&(!Z?.tags||Z?.tags.length===0),et=G.relatedTag&&"collection"===G.relatedTag[0]&&(!Z?.collections?.edges||Z?.collections.edges.length===0),eo=G.relatedTag&&"vendor"===G.relatedTag[0]&&!Z?.vendor,er=ee||et||eo,ed=g(D,{revalidateOnMount:"edit"===A}),ei=h("PickProduct"===X?G?.productIds:void 0,{revalidateOnMount:"edit"===A},{defaultSelectedProductCount:G?.numOfSelectedProducts}),el=l(()=>({id:G?.collectionId??"latest",numberOfProducts:W?.numberOfProducts??4,orderBy:W?.orderBy}),[G?.collectionId,Number(W?.numberOfProducts),W?.orderBy]),ea=p("PickProduct"!==X?el:void 0);a(()=>{if(x&&Z&&G.relatedTag&&"recommended-product"!==G.relatedType){let e;switch(U(!1),G.hasRelatedExclude&&(e=G?.relatedExclude&&G.relatedExclude.split(",").map(e=>e.trim())),G.relatedTag[0]){case"vendor":V({vendor:G.relatedTag&&"vendor"===G.relatedTag[0]?Z?.vendor:"",limit:W?.numberOfProducts,idNEQ:Z.id});break;case"collection":{let t;let o=Z?.collections?.edges.map(e=>e.node?.id);if(!o||o?.length===0){U(!0);break}V(t=e&&e.length>0?{idNEQ:Z.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:o},{titleNotIn:e}]}],limit:W?.numberOfProducts}:{idNEQ:Z.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:o}]}],limit:W?.numberOfProducts});break}case"tags":{let t;if(!Z.tags||0===Z.tags.length){U(!0);break}V(t=e&&e.length>0?{idNEQ:Z.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:Z.tags},{nameNotIn:e}]}],limit:W?.numberOfProducts}:{idNEQ:Z.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:Z.tags}]}],limit:W?.numberOfProducts})}}}},[Z,G.relatedType,G.relatedTag,W?.numberOfProducts,G.relatedExclude,G.hasRelatedExclude,x]);let ec="PickProduct"===X?ei.isValidating:ea.isValidating,es="PickProduct"===X?ei.isLoading:ea.isLoading,en="PickProduct"===X?ei.error:ea.error,eu=ea.data?.collections?.edges?.[0]?.node,em="PickProduct"===X?P(ei.data?.products):P(eu?.products),eg=ed?.data?.products?P(ed?.data?.products):void 0,eh=x&&eg?eg:"PickProduct"===X&&G?.productIds?.length?G?.productIds?.map(e=>em?.find(t=>t?.baseID===e)).filter(Boolean)??em:"PickProduct"!==X?em:em.filter((e,t)=>t<(G?.numOfSelectedProducts??4)),ep=l(()=>q&&x&&"edit"==A||!eh.length&&!es&&$&&"edit"==A,[$,es,q,x,A,eh.length]),eP=l(()=>!eh||q&&x,[q,x,eh]),ef=l(()=>{if(!W?.sameHeight)return[];let e=0,t=Math.ceil((eh?.length??0)/+(W?.slidesToShow?.[M]??1));return Array.from(Array(eh?.length??0)).map((o,r)=>(r>=+(W?.slidesToShow?.[M]??1)*(e+1)&&++e,{gridRow:`${1+H*e}/${H+1+H*e}`,marginBottom:e+1<t?C(w?.horizontalGutter,M):void 0}))},[W?.sameHeight,W?.slidesToShow,H,eh?.length,M,w?.horizontalGutter]),eb=l(()=>ec||es||en||!eh||q&&x,[en,es,q,x,ec,eh]);a(()=>{eb||setTimeout(()=>{let{builderData:e}=L??{},t=e?.childrens?.[0];if(!t)return;let o=document.querySelector(`[data-id=${t}] div`);o&&R(o.childElementCount||1)},"edit"===A?0:500)},[L,eb,A]);let ek=l(()=>({collection:eu,products:eh,settings:{loop:W?.loop??{desktop:!1},scrollMode:W?.scrollMode??{desktop:"snap"},slidesToShow:W?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:w?.layout,dot:W?.dot,dotStyle:W?.dotStyle,arrow:W?.arrow,controlOverContent:W?.controlOverContent},styles:{horizontalGutter:w?.horizontalGutter,verticalGutter:w?.verticalGutter,fullWidth:w?.fullWidth,spacing:w?.spacing,width:w?.width,height:w?.height}}),[eu,eh,W,w]);if(L?.isPreview&&J)return e(t,{});if(ep)return e(t,{children:N($,e(ProductNotFound,{builderAttrs:j,collectionHandle:eu?.handle,productSrc:X,onClose:()=>_(!1),children:E,relatedTagString:B,assignProductNoTags:er,noAssignedProduct:!Y}))});let{productListWrapStyle:eT,productListContentStyle:eI,productListWrapAlignStyle:ey}=v(r),{productListWrapClass:ev}=O(r),eN=()=>e(t,{children:N(w?.layout==="grid",e(I,{...r,productSortedById:eh,generateGridRowArray:ef}),e(y,{...r,productSortedById:eh}))});return o("div",{...j,className:ev,style:eT,children:[!!w?.preloadBgImage&&o(T,{children:[!!w.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:w.backgroundImage.desktop.image.src,as:"image"}),!!w.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:w.backgroundImage?.tablet?.image?.src,as:"image"}),!!w.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:w.backgroundImage?.mobile?.image?.src,as:"image"})]}),ec||es?e(d,{}):en?o("div",{children:["Error: ",en?.message]}):eP?e("div",{children:"Products not found"}):e(f,{...ek,children:e("div",{className:"gp-flex gp-w-full",style:ey,children:o("div",{style:eI,children:[J&&e(k,{}),eN()]})})}),b(E,!0)]})};export{ProductList as default};
1
+ import{jsx as e,Fragment as t,jsxs as o}from"react/jsx-runtime";import r from"next/dynamic";import d from"../../../common/components/Loading.js";import{useState as l,useMemo as i,useEffect as a}from"react";import{useRenderMode as c,useCurrentDevice as n,usePageType as s,usePageStore as u,useFetchHandle as m,hasPublicStoreFrontData as g,createStoreFrontFetcher as h,useProductQuery as p,useProductsQueryAll as P,useProductsQuery as f,useCollectionQuery as b,flattenConnection as k,ProductListProvider as T,filterToolbarPreview as I}from"@gem-sdk/core";import v from"../SalePageProductListWarning.js";import y from"next/head";import O from"./ProductListGridLayout.js";import N from"./ProductListCarouselLayout.js";import{getStyle as S}from"./common/styles.js";import{If as C}from"@gem-sdk/system";import{getClass as E}from"./common/classes.js";import{getData as w}from"./common/helpers.js";import{getPropertyByDevice as L}from"../../../dialog/common/helpers.js";let ProductNotFound=r(()=>import("../ProductNotFound.js"),{loading:d}),ProductList=r=>{let{children:W,styles:j,builderProps:x,setting:G,builderAttrs:M}=r,{isRelatedProduct:B,productSetting:A}=w(r),F=A.relatedTag&&A.relatedTag[0],{isEditMode:Q,isPreviewSharePageMode:z}=c(),D=n(),H=s(),R=u(e=>e.dynamicProduct),$=u(e=>e.dynamicCollection),[_,V]=l(1),[q,U]=l(!0),[J,K]=l(),[X,Y]=l(!1),Z="GP_FUNNEL_PAGE"===H,ee="GP_COLLECTION"==H;ee&&(A.productSrc="DynamicCollection",A.collectionId=$?.collectionId??"latest");let et=A?.productSrc??"Collection",eo=R?.productId&&R?.productId!==A.relatedProductId?R?.productId:A.relatedProductId,er=m(),ed=u(e=>e.publicStoreFrontData),el=i(()=>g(ed)?h(ed):er,[ed]),{data:ei}=p(B&&eo?eo:void 0,{revalidateOnMount:Q||z},el),ea=A.relatedTag&&"tags"===A.relatedTag[0]&&(!ei?.tags||ei?.tags.length===0),ec=A.relatedTag&&"collection"===A.relatedTag[0]&&(!ei?.collections?.edges||ei?.collections.edges.length===0),en=A.relatedTag&&"vendor"===A.relatedTag[0]&&!ei?.vendor,es=ea||ec||en,eu=P(J,{revalidateOnMount:Q||z},el),em=Q||z,eg=f("PickProduct"===et?A?.productIds:void 0,{revalidateOnMount:em},{defaultSelectedProductCount:A?.numOfSelectedProducts}),eh=i(()=>({id:A?.collectionId??"latest",numberOfProducts:G?.numberOfProducts??4,orderBy:G?.orderBy}),[A?.collectionId,Number(G?.numberOfProducts),G?.orderBy]),ep=b("PickProduct"!==et?eh:void 0,{revalidateOnMount:em});a(()=>{if(B&&ei&&A.relatedTag&&"recommended-product"!==A.relatedType){let e;switch(Y(!1),A.hasRelatedExclude&&(e=A?.relatedExclude&&A.relatedExclude.split(",").map(e=>e.trim())),A.relatedTag[0]){case"vendor":K({vendor:A.relatedTag&&"vendor"===A.relatedTag[0]?ei?.vendor:"",limit:G?.numberOfProducts,idNEQ:ei.id});break;case"collection":{let t;let o=ei?.collections?.edges.map(e=>e.node?.id);if(!o||o?.length===0){Y(!0);break}K(t=e&&e.length>0?{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:o},{titleNotIn:e}]}],limit:G?.numberOfProducts}:{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:o}]}],limit:G?.numberOfProducts});break}case"tags":{let t;if(!ei.tags||0===ei.tags.length){Y(!0);break}K(t=e&&e.length>0?{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags},{nameNotIn:e}]}],limit:G?.numberOfProducts}:{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags}]}],limit:G?.numberOfProducts})}}}},[ei,A.relatedType,A.relatedTag,G?.numberOfProducts,A.relatedExclude,A.hasRelatedExclude,B]);let eP="PickProduct"===et?eg.isValidating:ep.isValidating,ef="PickProduct"===et?eg.isLoading:ep.isLoading,eb="PickProduct"===et?eg.error:ep.error,ek=ep.data?.collections?.edges?.[0]?.node,eT="PickProduct"===et?k(eg.data?.products):k(ek?.products),eI=eu?.data?.products?k(eu?.data?.products):void 0,ev=B&&eI?eI:"PickProduct"===et&&A?.productIds?.length?A?.productIds?.map(e=>eT?.find(t=>t?.baseID===e)).filter(Boolean)??eT:"PickProduct"!==et?eT:eT.filter((e,t)=>t<(A?.numOfSelectedProducts??4)),ey=i(()=>X&&B&&Q||!ev.length&&!ef&&q&&Q,[q,ef,X,B,Q,ev.length]),eO=i(()=>!ev||X&&B,[X,B,ev]),eN=i(()=>{if(!G?.sameHeight)return[];let e=0,t=Math.ceil((ev?.length??0)/+(G?.slidesToShow?.[D]??1));return Array.from(Array(ev?.length??0)).map((o,r)=>(r>=+(G?.slidesToShow?.[D]??1)*(e+1)&&++e,{gridRow:`${1+_*e}/${_+1+_*e}`,marginBottom:e+1<t?L(j?.horizontalGutter,D):void 0}))},[G?.sameHeight,G?.slidesToShow,_,ev?.length,D,j?.horizontalGutter]),eS=i(()=>eP||ef||eb||!ev||X&&B,[eb,ef,X,B,eP,ev]);a(()=>{eS||setTimeout(()=>{let{builderData:e}=x??{},t=e?.childrens?.[0];if(!t)return;let o=document.querySelector(`[data-id=${t}] div`);o&&V(o.childElementCount||1)},Q?0:500)},[x,eS,Q]);let eC=i(()=>({collection:ek,products:ev,settings:{loop:G?.loop??{desktop:!1},scrollMode:G?.scrollMode??{desktop:"snap"},slidesToShow:G?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:j?.layout,dot:G?.dot,dotStyle:G?.dotStyle,arrow:G?.arrow,controlOverContent:G?.controlOverContent},styles:{horizontalGutter:j?.horizontalGutter,verticalGutter:j?.verticalGutter,fullWidth:j?.fullWidth,spacing:j?.spacing,width:j?.width,height:j?.height}}),[ek,ev,G,j]);if(x?.isPreview&&Z)return e(t,{});if(ey)return e(t,{children:C(q,e(ProductNotFound,{builderAttrs:M,collectionHandle:ek?.handle,productSrc:et,onClose:()=>U(!1),children:W,relatedTagString:F,assignProductNoTags:es,noAssignedProduct:!eo}))});let{productListWrapStyle:eE,productListContentStyle:ew,productListWrapAlignStyle:eL}=S(r),{productListWrapClass:eW}=E(r),ej=()=>e(t,{children:C(j?.layout==="grid",e(O,{...r,productSortedById:ev,generateGridRowArray:eN}),e(N,{...r,productSortedById:ev}))});return o("div",{...M,className:eW,style:eE,children:[!!j?.preloadBgImage&&o(y,{children:[!!j.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage.desktop.image.src,as:"image"}),!!j.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage?.tablet?.image?.src,as:"image"}),!!j.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage?.mobile?.image?.src,as:"image"})]}),eP||ef?e(d,{}):eb?o("div",{children:["Error: ",eb?.message]}):eO?e("div",{children:"Products not found"}):e(T,{...eC,children:e("div",{className:"gp-flex gp-w-full",style:eL,children:o("div",{style:ew,children:[Z&&e(v,{}),ej()]})})}),I(W,!0)]})};export{ProductList as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as t}from"react/jsx-runtime";import e from"next/link";import{useProduct as r,useEditorMode as o}from"@gem-sdk/core";import{urlJoin as i}from"../../../link/common/helpers.js";import m from"../../../text/components/Text.js";import{createClass as l,createAttr as d,Unless as p,If as s}from"@gem-sdk/system";import{getTextProps as c}from"./common/helpers.js";let ProductTitle=n=>{let{setting:a,builderProps:f}=n,u=r(),h=u?.handle?i("/products",u.handle):"#",k=u?.baseID?.replace("gid://shopify/Product/",""),x=o(),g=()=>t(m,{...c(n,u?.title)}),j={href:h,title:u?.title},P=a?.linkProduct,y=l({"gp-product-title-link-wrapper":!0}),T=d({id:`shopify-text-element-${f?.uid}`,...k&&{"data-product-id":k}});return t("div",{..."edit"===x&&T,children:p(!!u,"",s(P,t(e,{...j,className:y,children:g()}),g()))})};export{ProductTitle as default};
2
+ import{jsx as t}from"react/jsx-runtime";import e from"next/link";import{useRenderMode as r,useProduct as o,useEditorMode as i}from"@gem-sdk/core";import{urlJoin as m}from"../../../link/common/helpers.js";import d from"../../../text/components/Text.js";import{createClass as l,createAttr as p,Unless as s,If as c}from"@gem-sdk/system";import{getTextProps as n}from"./common/helpers.js";let ProductTitle=a=>{let{setting:f,builderProps:u}=a,{isPreviewSharePageMode:h}=r(),k=o(),x=h?"javascript:void(0)":k?.handle?m("/products",k.handle):"#",j=k?.baseID?.replace("gid://shopify/Product/",""),g=i(),P=()=>t(d,{...n(a,k?.title)}),v={href:x,title:k?.title},y=f?.linkProduct,T=l({"gp-product-title-link-wrapper":!0}),b=p({id:`shopify-text-element-${u?.uid}`,...j&&{"data-product-id":j}});return t("div",{..."edit"===g&&b,children:s(!!k,"",c(y,t(e,{...v,className:T,children:P()}),P()))})};export{ProductTitle as default};
@@ -1 +1 @@
1
- import{usePageType as t,usePageStore as e,useEditorMode as r,useProductQuery as d}from"@gem-sdk/core";import{useMemo as i,useState as o}from"react";import{hasPublicStoreFrontData as a,createStoreFrontFetcher as c}from"../../../../post-purchase/product/helpers/index.js";let useProductSetting=u=>{let{setting:s}=u,{productSetting:n,quantity:p,readOnly:l,isSyncProduct:m}=s??{},P=t(),S=e(t=>t.dynamicProduct),h=e(t=>t.publicStoreFrontData),f=r(),g="edit"===f,y=n?.productId??"latest",I=n?.productStatus=="dynamic"?{...n,...S}:n,k=I?.initialVariantId,v=I?.initialVariantBaseId,x=i(()=>a(h)?c(h):void 0,[h]),{data:D,isLoading:V,error:$}=d(y,void 0,x),[b,j]=o(!0),B=($||!D&&!V)&&g,C="PRODUCT"===P,F=i(()=>({product:D,initialVariantId:k,initialVariantBaseId:v,quantity:p,readOnly:l,isSyncProduct:m,key:`uid-${D?.id}-${k??""}`,hasPreSelected:n?.hasPreSelected}),[v,k,m,D,n?.hasPreSelected,p,l]);return{forceProductSetting:I,isProductPage:C,isProductNotFound:B,showProductNotFound:b,isLoading:V,product:D,errorLoadProduct:$,isEditor:g,productProviderData:F,setShowProductNotFound:j}};export{useProductSetting};
1
+ import{usePageType as t,usePageStore as e,useRenderMode as r,hasPublicStoreFrontData as a,createStoreFrontFetcher as d,useProductQuery as i}from"@gem-sdk/core";import{useMemo as o,useState as c}from"react";let useProductSetting=u=>{let{setting:n}=u,{productSetting:l,quantity:s,readOnly:P,isSyncProduct:m}=n??{},S=t(),p=e(t=>t.dynamicProduct),g=e(t=>t.publicStoreFrontData),{isEditMode:h,isPreviewSharePageMode:y}=r(),I=l?.productId??"latest",f=l?.productStatus=="dynamic"?{...l,...p}:l,k=f?.initialVariantId,v=f?.initialVariantBaseId,D=o(()=>a(g)?d(g):void 0,[g]),O=h||y,{data:V,isLoading:$,error:b}=i(I,{revalidateOnMount:O},D),[x,B]=c(!0),C=(b||!V&&!$)&&h,E="PRODUCT"===S,F=o(()=>({product:V,initialVariantId:k,initialVariantBaseId:v,quantity:s,readOnly:P,isSyncProduct:m,key:`uid-${V?.id}-${k??""}`,hasPreSelected:l?.hasPreSelected}),[v,k,m,V,l?.hasPreSelected,s,P]);return{forceProductSetting:f,isProductPage:E,isProductNotFound:C,showProductNotFound:x,isLoading:$,product:V,errorLoadProduct:b,isEditor:h,productProviderData:F,setShowProductNotFound:B}};export{useProductSetting};
@@ -1 +1 @@
1
- import{composeTypographyClassName as e,getGlobalColorClass as t,getGlobalColorStateClass as s}from"@gem-sdk/core";let getClasses=({setting:e,advanced:t,builderProps:s})=>({...s?.uid&&{[s.uid]:!0},...e?.options?.customClass?.wrapper&&{[e.options.customClass.wrapper]:!0},...t?.cssClass&&{[t.cssClass]:!0}}),getContainerClasses=({setting:e})=>{let{excludeFlex:t}=e??{},s="";return t||(s+=" gp-flex"),composeClasses(s)},getTextClasses=({styles:e,setting:t,className:s,mode:r,disableEdit:o})=>{let{text:l,options:p}=t??{},a="";if(l||o||(a+="gp-relative empty:gp-pl-[2px] after:gp-content-['Your_custom_text_goes_here'] after:gp-absolute after:gp-select-none after:gp-top-0 after:gp-left-[2px] after:gp-w-full after:gp-truncate after:gp-text-black after:gp-opacity-20 "),e?.enableHoverEffect&&e?.underlineLink){let{underlineLink:t}=e,s=t.hover?"hover:gp-underline":"hover:!gp-no-underline",r=t.normal?"gp-underline":"";a+=` ${s} ${r}`.trim()}"edit"===r?(a+=" gp-text gp-cursor-pointer !gp-cursor-default",o||(a+=" gp-p-[2px]"),p?.useState&&(a+=" child-item-text gp-border gp-border-transparent hover:!gp-border-[#3C67FF]")):(a+=" gp-text-instant",p?.disablePointerEvent&&(a+=" gp-pointer-events-none"));let n=a.trim().split(" ").reduce((e,t)=>(e[t]=!0,e),{});return{...s&&{[s]:!0},...globalTypoClasses(e),...n}};function composeClasses(e){return e.split(" ").reduce((e,t)=>(e[t]=!0,e),{})}let globalTypoClasses=r=>{let o=e(r?.typo);return{...o&&{[o]:!0},...r?.textColor&&{[t("text",r?.textColor)]:!0},...!r?.textColor&&{[s("text",r?.color)]:!0}}};export{composeClasses,getClasses,getContainerClasses,getTextClasses,globalTypoClasses};
1
+ import{composeTypographyClassName as e,getGlobalColorClass as t,getGlobalColorStateClass as s}from"@gem-sdk/core";let getClasses=({setting:e,advanced:t,builderProps:s})=>({...s?.uid&&{[s.uid]:!0},...e?.options?.customClass?.wrapper&&{[e.options.customClass.wrapper]:!0},...t?.cssClass&&{[t.cssClass]:!0}}),getContainerClasses=({setting:e})=>{let{excludeFlex:t}=e??{},s="";return t||(s+=" gp-flex"),composeClasses(s)},getTextClasses=({styles:e,setting:t,className:s,isEdit:r,disableEdit:o})=>{let{text:l,options:p}=t??{},a="";if(l||o||(a+="gp-relative empty:gp-pl-[2px] after:gp-content-['Your_custom_text_goes_here'] after:gp-absolute after:gp-select-none after:gp-top-0 after:gp-left-[2px] after:gp-w-full after:gp-truncate after:gp-text-black after:gp-opacity-20 "),e?.enableHoverEffect&&e?.underlineLink){let{underlineLink:t}=e,s=t.hover?"hover:gp-underline":"hover:!gp-no-underline",r=t.normal?"gp-underline":"";a+=` ${s} ${r}`.trim()}r?(a+=" gp-text gp-cursor-pointer !gp-cursor-default",o||(a+=" gp-p-[2px]"),p?.useState&&(a+=" child-item-text gp-border gp-border-transparent hover:!gp-border-[#3C67FF]")):(a+=" gp-text-instant",p?.disablePointerEvent&&(a+=" gp-pointer-events-none"));let n=a.trim().split(" ").reduce((e,t)=>(e[t]=!0,e),{});return{...s&&{[s]:!0},...globalTypoClasses(e),...n}};function composeClasses(e){return e.split(" ").reduce((e,t)=>(e[t]=!0,e),{})}let globalTypoClasses=r=>{let o=e(r?.typo);return{...o&&{[o]:!0},...r?.textColor&&{[t("text",r?.textColor)]:!0},...!r?.textColor&&{[s("text",r?.color)]:!0}}};export{composeClasses,getClasses,getContainerClasses,getTextClasses,globalTypoClasses};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useEditorMode as r}from"@gem-sdk/core";import{forwardRef as m}from"react";import{createAttr as o,createStyleReact as s,createClass as a,createContent as l}from"@gem-sdk/system";import{getAttr as i,getTextAttr as n}from"../common/attrs.js";import{getStyle as c,getContainerStyle as p,getTextStyle as f}from"../common/styles.js";import{getClasses as d,getContainerClasses as u,getTextClasses as y}from"../common/classes.js";import{getDisplayText as g}from"../common/helpers.js";let Text=m(({styles:m,builderAttrs:h,style:j,setting:v,advanced:x,builderProps:D,className:T,children:N,disableEdit:k,...S},_)=>{let H=r(),{htmlTag:I="div",options:L}=v??{},M=o({...i({uid:D?.uid||""})}),R=o({...n(L)}),b=s({...c(m,j)}),q=s({...p(m,v)}),w=s({...f(m,v)}),z=a({...d({setting:v,advanced:x,builderProps:D})}),A=a({...u({setting:v})}),B=a({...y({styles:m,setting:v,className:T,mode:H,disableEdit:k})}),C=g({type:"React",styles:m,setting:v,builderProps:D}),E=l(C);return e("div",{...M,...S,...h,style:b,className:z,children:[t("div",{className:A,style:{...q},children:t(I,{ref:_,...R,className:B,onDragStart:e=>e.preventDefault(),onDrop:e=>e.preventDefault(),style:{...w},dangerouslySetInnerHTML:{__html:E}})}),N]})});export{Text as default};
2
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useRenderMode as r}from"@gem-sdk/core";import{forwardRef as m}from"react";import{createAttr as o,createStyleReact as s,createClass as a,createContent as l}from"@gem-sdk/system";import{getAttr as i,getTextAttr as n}from"../common/attrs.js";import{getStyle as c,getContainerStyle as p,getTextStyle as d}from"../common/styles.js";import{getClasses as f,getContainerClasses as u,getTextClasses as y}from"../common/classes.js";import{getDisplayText as g}from"../common/helpers.js";let Text=m(({styles:m,builderAttrs:h,style:j,setting:v,advanced:x,builderProps:D,className:T,children:N,disableEdit:k,...S},_)=>{let{isEditMode:E,isPreviewSharePageMode:H}=r(),{htmlTag:I="div",options:L}=v??{},M=o({...i({uid:D?.uid||""})}),R=o({...n(L)}),b=s({...c(m,j)}),q=s({...p(m,v)}),w=s({...d(m,v)}),z=a({...f({setting:v,advanced:x,builderProps:D})}),A=a({...u({setting:v})}),B=a({...y({styles:m,setting:v,className:T,isEdit:E||H,disableEdit:k})}),C=g({type:"React",styles:m,setting:v,builderProps:D}),F=l(C);return e("div",{...M,...S,...h,style:b,className:z,children:[t("div",{className:A,style:{...q},children:t(I,{ref:_,...R,className:B,onDragStart:e=>e.preventDefault(),onDrop:e=>e.preventDefault(),style:{...w},dangerouslySetInnerHTML:{__html:F}})}),N]})});export{Text as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as t}from"react/jsx-runtime";import o from"../../button/components/Button.js";let ThirdPartyPreview=({setting:r,styles:e})=>t(o,{setting:{...r,iconAlign:"left",iconVisible:!0,options:{isCannotEditing:!0}},styles:{...e,roundedBtnV2:{normal:{radiusType:"rounded",bblr:"3px",bbrr:"3px",btlr:"3px",btrr:"3px"},hover:{radiusType:"rounded",bblr:"3px",bbrr:"3px",btlr:"3px",btrr:"3px"}},iconSpacing:{desktop:"16px"},size:{desktop:"48px",tablet:"48px",mobile:"48px"},globalSize:{desktop:{padding:{top:"12px",bottom:"12px",left:"16px",right:"16px",type:"custom"}}},typo:{custom:{fontSize:{desktop:"14px"}},attrs:{color:"#E2E2E2"}},backgroundColorV2:{normal:"#252525",hover:"#252525"},textOverFlow:!0}});export{ThirdPartyPreview as default};
2
+ import{jsx as t}from"react/jsx-runtime";import r from"../../button/components/Button.js";import{useRenderMode as o}from"@gem-sdk/core";let ThirdPartyPreview=({setting:e,styles:p})=>{let{isPreviewSharePageMode:i}=o();return i?null:t(r,{setting:{...e,iconAlign:"left",iconVisible:!0,options:{isCannotEditing:!0}},styles:{...p,roundedBtnV2:{normal:{radiusType:"rounded",bblr:"3px",bbrr:"3px",btlr:"3px",btrr:"3px"},hover:{radiusType:"rounded",bblr:"3px",bbrr:"3px",btlr:"3px",btrr:"3px"}},iconSpacing:{desktop:"16px"},size:{desktop:"48px",tablet:"48px",mobile:"48px"},globalSize:{desktop:{padding:{top:"12px",bottom:"12px",left:"16px",right:"16px",type:"custom"}}},typo:{custom:{fontSize:{desktop:"14px"}},attrs:{color:"#E2E2E2"}},backgroundColorV2:{normal:"#252525",hover:"#252525"},textOverFlow:!0}})};export{ThirdPartyPreview as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/components",
3
- "version": "4.0.0-staging.1175",
3
+ "version": "4.0.0-staging.1177",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -25,7 +25,7 @@
25
25
  "scan-all-text": "rollup -c ./scripts/rollup.config.settings.mjs && node ./scripts/scan-all-text && node ./scripts/scan-all-text"
26
26
  },
27
27
  "devDependencies": {
28
- "@gem-sdk/core": "4.0.0-staging.1164",
28
+ "@gem-sdk/core": "4.0.0-staging.1177",
29
29
  "@gem-sdk/styles": "3.1.0-staging.1137",
30
30
  "@gem-sdk/system": "3.1.0-staging.1137",
31
31
  "tsup": "^8.5.0",