@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.
- package/dist/cjs/article/components/ArticleTag.js +1 -1
- package/dist/cjs/article/hooks/useArticleLink.js +1 -1
- package/dist/cjs/breadcrumb/hooks/useBreadcrumb.js +1 -1
- package/dist/cjs/collection/components/collection-banner/CollectionBanner.js +1 -1
- package/dist/cjs/collection/components/collection-title/CollectionTitle.js +1 -1
- package/dist/cjs/hero-banner/components/HeroBanner.js +1 -1
- package/dist/cjs/image-comparison/components/CompareImage.js +1 -1
- package/dist/cjs/image-comparison/hooks/useCompareImage.js +1 -1
- package/dist/cjs/link/common/helpers.js +1 -1
- package/dist/cjs/link/components/CustomLink.js +1 -1
- package/dist/cjs/link/components/Link.js +1 -1
- package/dist/cjs/link/components/ProductLink.js +1 -1
- package/dist/cjs/product/components/product-button/hooks/useAddToCart.js +1 -1
- package/dist/cjs/product/components/product-images-v2/components/child/ProductFeaturedImageOnly.js +1 -1
- package/dist/cjs/product/components/product-list/ProductList.js +1 -1
- package/dist/cjs/product/components/product-title/ProductTitle.js +1 -1
- package/dist/cjs/product/components/product-wrap/hook/useProductSetting.js +1 -1
- package/dist/cjs/text/common/classes.js +1 -1
- package/dist/cjs/text/components/Text.js +1 -1
- package/dist/cjs/third-party/components/ThirdPartyPreview.js +1 -1
- package/dist/esm/article/components/ArticleTag.js +1 -1
- package/dist/esm/article/hooks/useArticleLink.js +1 -1
- package/dist/esm/breadcrumb/hooks/useBreadcrumb.js +1 -1
- package/dist/esm/collection/components/collection-banner/CollectionBanner.js +1 -1
- package/dist/esm/collection/components/collection-title/CollectionTitle.js +1 -1
- package/dist/esm/hero-banner/components/HeroBanner.js +1 -1
- package/dist/esm/image-comparison/components/CompareImage.js +1 -1
- package/dist/esm/image-comparison/hooks/useCompareImage.js +1 -1
- package/dist/esm/link/common/helpers.js +1 -1
- package/dist/esm/link/components/CustomLink.js +1 -1
- package/dist/esm/link/components/Link.js +1 -1
- package/dist/esm/link/components/ProductLink.js +1 -1
- package/dist/esm/product/components/product-button/hooks/useAddToCart.js +1 -1
- package/dist/esm/product/components/product-images-v2/components/child/ProductFeaturedImageOnly.js +1 -1
- package/dist/esm/product/components/product-list/ProductList.js +1 -1
- package/dist/esm/product/components/product-title/ProductTitle.js +1 -1
- package/dist/esm/product/components/product-wrap/hook/useProductSetting.js +1 -1
- package/dist/esm/text/common/classes.js +1 -1
- package/dist/esm/text/components/Text.js +1 -1
- package/dist/esm/third-party/components/ThirdPartyPreview.js +1 -1
- 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(", ")
|
|
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):"#",
|
|
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,
|
|
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")
|
|
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})=>{
|
|
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:
|
|
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,
|
|
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,
|
|
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
|
|
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})=>
|
|
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:
|
|
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();
|
|
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.
|
|
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;
|
package/dist/cjs/product/components/product-images-v2/components/child/ProductFeaturedImageOnly.js
CHANGED
|
@@ -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.
|
|
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:
|
|
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.
|
|
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")
|
|
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,
|
|
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
|
|
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:
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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{
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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{
|
|
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};
|
package/dist/esm/product/components/product-images-v2/components/child/ProductFeaturedImageOnly.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{jsx as e,Fragment as t,jsxs as
|
|
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
|
|
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{
|
|
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,
|
|
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,
|
|
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{
|
|
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
|
|
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.
|
|
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.
|
|
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",
|