@gem-sdk/components 12.0.0-dev.124 → 12.0.0-dev.126
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/carousel-v3/components/root/common/helpers.js +1 -1
- package/dist/cjs/product/components/product-images-v3/common/common.js +1 -1
- package/dist/cjs/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +1 -1
- package/dist/cjs/product/components/product-images-v3/components/gallery-carousel/GalleryCarousel.liquid.js +3 -3
- package/dist/cjs/product/components/product-list-v3/ProductList.js +1 -1
- package/dist/cjs/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -0
- package/dist/cjs/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -0
- package/dist/cjs/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -0
- package/dist/cjs/product/components/product-list-v3/hooks/useProductsQuery.js +1 -0
- package/dist/esm/carousel-v3/components/root/common/helpers.js +1 -1
- package/dist/esm/product/components/product-images-v3/common/common.js +1 -1
- package/dist/esm/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js +1 -1
- package/dist/esm/product/components/product-images-v3/components/gallery-carousel/GalleryCarousel.liquid.js +12 -12
- package/dist/esm/product/components/product-list-v3/ProductList.js +1 -1
- package/dist/esm/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -0
- package/dist/esm/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -0
- package/dist/esm/product/components/product-list-v3/hooks/useProductRelatedQuery.js +1 -0
- package/dist/esm/product/components/product-list-v3/hooks/useProductsQuery.js +1 -0
- package/dist/types/index.d.ts +4 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var core=require("@gem-sdk/core"),system=require("@gem-sdk/system");const getData=e=>{let t=["mobile","tablet","desktop"],{setting:r,rootId:o,builderProps:s,styles:a,moveToIdx:n,isHiddenArrowWhenDisabled:c}=e,
|
|
1
|
+
"use strict";var core=require("@gem-sdk/core"),system=require("@gem-sdk/system");const getData=e=>{let t=["mobile","tablet","desktop"],{setting:r,rootId:o,builderProps:s,styles:a,moveToIdx:n,isHiddenArrowWhenDisabled:c,renderByLayout:i,rootAttrs:l}=e,p=o??s?.uid,g=`gp-carousel-slider-${s?.uid}`,{enableAction:u={desktop:!0},navigationStyle:d,navigationEnable:y={desktop:!0}}=r??{},m=()=>{let e=r?.loop;return t.forEach(t=>{e={...e,[t]:!!core.getResponsiveValueByScreen(u)&&e?.[t]}}),e},S=()=>{let e=d;return t.forEach(t=>{e={...e,[t]:core.getResponsiveValueByScreen(y,t)?core.getResponsiveValueByScreen(e,t):"none"}}),e},f=system.createStateOrContext({id:p,moveToIdx:n,isHiddenArrowWhenDisabled:c,setting:r,styles:a,renderByLayout:i,type:l?.type});return{loopConfig:m(),stateData:JSON.stringify(f).replaceAll("'","'"),uniqueComponentId:p,arrowShowConfig:S(),sliderSelector:g}};exports.getData=getData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var core=require("@gem-sdk/core");const getTypeWidthDevice=e=>{let t=e?.desktop,o=e?.tablet===void 0?t:e?.tablet,r=e?.mobile===void 0?o:e?.mobile;return{desktop:t,tablet:o,mobile:r}},convertUnitToNumber=(e,t)=>{if(!e)return t;if("number"==typeof e)return e;let o=e.replaceAll("px","").replaceAll("%","").replaceAll("rem","").replaceAll("em","");return isNaN(Number(o))?t:Number(o)},convertSpacing=e=>{if(!e)return{desktop:5};let t=convertUnitToNumber(e.desktop,5),o=convertUnitToNumber(e.tablet,t),r=convertUnitToNumber(e.mobile,o);return{desktop:t,tablet:o,mobile:r}},getDisplayStyle=(e,t)=>{let o={},r=["desktop","mobile","tablet"];return r.forEach(r=>{o={...o,[`--d${"desktop"===r?"":`-${r}`}`]:`${e(r)?"none":t}`}}),o},checkAddOverFlowClass=e=>{let t=e?.["--radius"],o=e?.["--bblr"]||"0px",r=e?.["--bbrr"]||"0px",i=e?.["--btlr"]||"0px",l=e?.["--btrr"]||"0px";return t&&!t.toString().includes("none")&&"0"!==t.toString()||"0px"!==o||"0px"!==r||"0px"!==i||"0px"!==l},getAspectRatio=e=>{let t={},o=["desktop","mobile","tablet"];return o.forEach(o=>{let r=core.getResponsiveValueByScreen(e,o)?.shapeValue;if(r)t={...t,[o]:r};else{let r=core.getResponsiveValueByScreen(e,o)?.shape;switch(r){case"square":t={...t,[o]:"1/1"};break;case"vertical":t={...t,[o]:"3/4"};break;case"horizontal":t={...t,[o]:"4/3"};break;case"original":t={...t,[o]:""}}}}),core.makeAspectRatio(t)},getStyleGridLayout=e=>{let t={"--gtc":"minmax(0, 12fr)","--gtc-tablet":"minmax(0, 12fr)","--gtc-mobile":"minmax(0, 12fr)"};if(!e.isHiddenGalleryImages){let o=!1;core.DEVICES.forEach(r=>{let i=core.getResponsiveValueByScreen(e.position,r),l=core.getResponsiveValueByScreen(e.ratioLayout,r),n=core.getResponsiveValueByScreen(e.ratioLayoutRight,r),a="desktop"===r?"--gtc":`--gtc-${r}`,s="desktop"===r?"--gtr":`--gtr-${r}`,c="left"===i?l:n,d=["left","right"].includes(i||"");d&&c?(o=!0,Object.assign(t={...t,[a]:`minmax(0, ${c[0]}fr) minmax(0, ${c[1]}fr)`},{[s]:"fit-content(0)"})):o&&Object.assign(t,{[s]:"unset"})})}return t},getStyleGridOrderForFeature=e=>{let t={"--o":"0","--o-tablet":"0","--o-mobile":"0"},o=["desktop","mobile","tablet"];return o.forEach(o=>{let r=core.getResponsiveValueByScreen(e.position,o),i="desktop"===o?"--o":`--o-${o}`;t={...t,[i]:"left"===r?"1":"0"}}),t},getStyleGridOrderForGallery=e=>{let t={"--o":"1","--o-tablet":"1","--o-mobile":"1"},o=["desktop","mobile","tablet"];return o.forEach(o=>{let r=core.getResponsiveValueByScreen(e.position,o),i="desktop"===o?"--o":`--o-${o}`;t={...t,[i]:"left"===r?"0":"1"}}),t},getSrcImage=e=>`{{${e} | image_url: width: 480}} 480w, {{${e} | image_url: width: 768}} 768w, {{${e} | image_url: width: 1024}} 1024w, {{${e} | image_url: width: 1440}} 1440w`,convertSpacingForIndisdeLayout=e=>{let t=parseInt(e)?`${2*parseInt(e)}px`:`${e} * 2`;return t},getStyleInsideLayout=(e,t,o)=>{let r=["desktop","mobile","tablet"],i={},l={},n={},a={},s={},c={};return r.forEach(r=>{let d=core.getResponsiveValueByScreen(e,r),u=core.getResponsiveValueByScreen(t,r)?.width,g=core.getResponsiveValueByScreen(o,r);if(i={...i,[r]:["inside-bottom","inside-left","inside-right"].includes(d)?"absolute":"static"},["inside-bottom"].includes(d)){let e=convertSpacingForIndisdeLayout(g);u=`calc(100% - ${e})`}["bottom-center","two-col","one-col"].includes(d)&&(u="100%"),n={...n,[r]:"inside-bottom"===d?`${g}`:"auto"},a={...a,[r]:["inside-left","inside-right"].includes(d)?`${g}`:"auto"},c={...c,[r]:["inside-bottom","inside-left"].includes(d)?`${g}`:"auto"},s={...s,[r]:"inside-right"===d?`${g}`:"auto"},l={...l,[r]:u}}),{...core.makeStyleResponsive("pos",i),...core.makeStyleResponsive("w",core.removeNullUndefined(l)),...core.makeStyleResponsive("bottom",core.removeNullUndefined(n)),...core.makeStyleResponsive("top",core.removeNullUndefined(a)),...core.makeStyleResponsive("left",core.removeNullUndefined(c)),...core.makeStyleResponsive("right",core.removeNullUndefined(s))}},getConditionRenderGalleryImages=(e,t)=>{let o=["desktop","mobile","tablet"],r=!0,i=!1;return o.forEach(o=>{let l=core.getResponsiveValueByScreen(e,o),n=core.getResponsiveValueByScreen(t,o);l&&"only-feature"!==l&&(r=!1),(["two-col","one-col"].includes(l)||"images"===n)&&(i=!0)}),{isOnlyFeatureAllDevices:r,isRenderGalleryGrid:i}},setDefaultWhenUndefineSetting=e=>({...e,setting:{...e.setting}}),getValueFromValueContainUnit=e=>{let t=e.match(/\d+/g);return t?t[0]:e},getPaddingBottomByShapeSetting=e=>{let t=getAspectRatio(e),o={desktop:"auto",mobile:"auto",tablet:"auto"},r=["desktop","mobile","tablet"];return r.forEach(r=>{let i=core.getResponsiveValueByScreen(e,r),l=i?.height,n=i?.width||"",a=getValueFromValueContainUnit(l||""),s=n.toString().match(/px/g)?getValueFromValueContainUnit(n):n;if(l&&n&&!isNaN(Number(a))&&!isNaN(Number(s))){o={...o,[r]:`${Number(a)/Number(s)*100}%`};return}if(l&&!isNaN(Number(a))){o={...o,[r]:l};return}let c=t?.[r]!=="auto"&&t?.[r]?t?.[r]?.split("/").reverse().join("/"):"{%if largestRatio == 0%} 100 / 100 {%else%} {{largestRatio}} {%endif%}";o={...o,[r]:`calc((${c})*100%)`}}),o};exports.checkAddOverFlowClass=checkAddOverFlowClass,exports.convertSpacing=convertSpacing,exports.convertSpacingForIndisdeLayout=convertSpacingForIndisdeLayout,exports.convertUnitToNumber=convertUnitToNumber,exports.getAspectRatio=getAspectRatio,exports.getConditionRenderGalleryImages=getConditionRenderGalleryImages,exports.getDisplayStyle=getDisplayStyle,exports.getPaddingBottomByShapeSetting=getPaddingBottomByShapeSetting,exports.getSrcImage=getSrcImage,exports.getStyleGridLayout=getStyleGridLayout,exports.getStyleGridOrderForFeature=getStyleGridOrderForFeature,exports.getStyleGridOrderForGallery=getStyleGridOrderForGallery,exports.getStyleInsideLayout=getStyleInsideLayout,exports.getTypeWidthDevice=getTypeWidthDevice,exports.setDefaultWhenUndefineSetting=setDefaultWhenUndefineSetting;
|
|
1
|
+
"use strict";var core=require("@gem-sdk/core");const getTypeWidthDevice=e=>{let t=e?.desktop,o=e?.tablet===void 0?t:e?.tablet,r=e?.mobile===void 0?o:e?.mobile;return{desktop:t,tablet:o,mobile:r}},convertUnitToNumber=(e,t)=>{if(!e)return t;if("number"==typeof e)return e;let o=e.replaceAll("px","").replaceAll("%","").replaceAll("rem","").replaceAll("em","");return isNaN(Number(o))?t:Number(o)},convertSpacing=e=>{if(!e)return{desktop:5};let t=convertUnitToNumber(e.desktop,5),o=convertUnitToNumber(e.tablet,t),r=convertUnitToNumber(e.mobile,o);return{desktop:t,tablet:o,mobile:r}},getDisplayStyle=(e,t)=>{let o={},r=["desktop","mobile","tablet"];return r.forEach(r=>{o={...o,[`--d${"desktop"===r?"":`-${r}`}`]:`${e(r)?"none":t}`}}),o},checkAddOverFlowClass=e=>{let t=e?.["--radius"],o=e?.["--bblr"]||"0px",r=e?.["--bbrr"]||"0px",i=e?.["--btlr"]||"0px",l=e?.["--btrr"]||"0px";return t&&!t.toString().includes("none")&&"0"!==t.toString()||"0px"!==o||"0px"!==r||"0px"!==i||"0px"!==l},getAspectRatio=e=>{let t={},o=["desktop","mobile","tablet"];return o.forEach(o=>{let r=core.getResponsiveValueByScreen(e,o)?.shapeValue;if(r)t={...t,[o]:r};else{let r=core.getResponsiveValueByScreen(e,o)?.shape;switch(r){case"square":t={...t,[o]:"1/1"};break;case"vertical":t={...t,[o]:"3/4"};break;case"horizontal":t={...t,[o]:"4/3"};break;case"original":t={...t,[o]:""}}}}),core.makeAspectRatio(t)},getStyleGridLayout=e=>{let t={"--gtc":"minmax(0, 12fr)","--gtc-tablet":"minmax(0, 12fr)","--gtc-mobile":"minmax(0, 12fr)"};if(!e.isHiddenGalleryImages){let o=!1;core.DEVICES.forEach(r=>{let i=core.getResponsiveValueByScreen(e.position,r),l=core.getResponsiveValueByScreen(e.ratioLayout,r),n=core.getResponsiveValueByScreen(e.ratioLayoutRight,r),a="desktop"===r?"--gtc":`--gtc-${r}`,s="desktop"===r?"--gtr":`--gtr-${r}`,c="left"===i?l:n,d=["left","right"].includes(i||"");d&&c?(o=!0,Object.assign(t={...t,[a]:`minmax(0, ${c[0]}fr) minmax(0, ${c[1]}fr)`},{[s]:"fit-content(0)"})):o&&Object.assign(t,{[s]:"unset"})})}return t},getStyleGridOrderForFeature=e=>{let t={"--o":"0","--o-tablet":"0","--o-mobile":"0"},o=["desktop","mobile","tablet"];return o.forEach(o=>{let r=core.getResponsiveValueByScreen(e.position,o),i="desktop"===o?"--o":`--o-${o}`;t={...t,[i]:"left"===r?"1":"0"}}),t},getStyleGridOrderForGallery=e=>{let t={"--o":"1","--o-tablet":"1","--o-mobile":"1"},o=["desktop","mobile","tablet"];return o.forEach(o=>{let r=core.getResponsiveValueByScreen(e.position,o),i="desktop"===o?"--o":`--o-${o}`;t={...t,[i]:"left"===r?"0":"1"}}),t},getSrcImage=e=>`{{${e} | image_url: width: 480}} 480w, {{${e} | image_url: width: 768}} 768w, {{${e} | image_url: width: 1024}} 1024w, {{${e} | image_url: width: 1440}} 1440w`,convertSpacingForIndisdeLayout=e=>{let t=parseInt(e)?`${2*parseInt(e)}px`:`${e} * 2`;return t},getStyleInsideLayout=(e,t,o)=>{let r=["desktop","mobile","tablet"],i={},l={},n={},a={},s={},c={};return r.forEach(r=>{let d=core.getResponsiveValueByScreen(e,r),u=core.getResponsiveValueByScreen(t,r)?.width,g=core.getResponsiveValueByScreen(o,r);if(i={...i,[r]:["inside-bottom","inside-left","inside-right"].includes(d)?"absolute":"static"},["inside-bottom"].includes(d)){let e=convertSpacingForIndisdeLayout(g);u=`calc(100% - ${e})`}["bottom-center","two-col","one-col"].includes(d)&&(u="100%"),n={...n,[r]:"inside-bottom"===d?`${g}`:"auto"},a={...a,[r]:["inside-left","inside-right"].includes(d)?`${g}`:"auto"},c={...c,[r]:["inside-bottom","inside-left"].includes(d)?`${g}`:"auto"},s={...s,[r]:"inside-right"===d?`${g}`:"auto"},l={...l,[r]:u}}),{...core.makeStyleResponsive("pos",i),...core.makeStyleResponsive("w",core.removeNullUndefined(l)),...core.makeStyleResponsive("bottom",core.removeNullUndefined(n)),...core.makeStyleResponsive("top",core.removeNullUndefined(a)),...core.makeStyleResponsive("left",core.removeNullUndefined(c)),...core.makeStyleResponsive("right",core.removeNullUndefined(s))}},getConditionRenderGalleryImages=(e,t)=>{let o=["desktop","mobile","tablet"],r=!0,i=!1;return o.forEach(o=>{let l=core.getResponsiveValueByScreen(e,o),n=core.getResponsiveValueByScreen(t,o);l&&"only-feature"!==l&&(r=!1),(["two-col","one-col"].includes(l)||"images"===n)&&(i=!0)}),{isOnlyFeatureAllDevices:r,isRenderGalleryGrid:i}},setDefaultWhenUndefineSetting=e=>({...e,setting:{...e.setting}}),getValueFromValueContainUnit=e=>{let t=e.match(/\d+/g);return t?t[0]:e},getPaddingBottomByShapeSetting=e=>{let t=getAspectRatio(e),o={desktop:"auto",mobile:"auto",tablet:"auto"},r=["desktop","mobile","tablet"];return r.forEach(r=>{let i=core.getResponsiveValueByScreen(e,r),l=i?.height,n=i?.width||"",a=getValueFromValueContainUnit(l||""),s=n.toString().match(/px/g)?getValueFromValueContainUnit(n):n;if(l&&n&&!isNaN(Number(a))&&!isNaN(Number(s))){o={...o,[r]:`${Number(a)/Number(s)*100}%`};return}if(l&&!isNaN(Number(a))){o={...o,[r]:l};return}let c=t?.[r]!=="auto"&&t?.[r]?t?.[r]?.split("/").reverse().join("/"):"{%if largestRatio == 0%} 100 / 100 {%else%} {{largestRatio}} {%endif%}";o={...o,[r]:`calc((${c})*100%)`}}),o},getGalleryCarouselRenderByLayout=e=>{let t=["desktop","mobile","tablet"],o={};return t.forEach(t=>{let r=core.getResponsiveValueByScreen(e,t);o={...o,[t]:"only-feature"!==r}}),o};exports.checkAddOverFlowClass=checkAddOverFlowClass,exports.convertSpacing=convertSpacing,exports.convertSpacingForIndisdeLayout=convertSpacingForIndisdeLayout,exports.convertUnitToNumber=convertUnitToNumber,exports.getAspectRatio=getAspectRatio,exports.getConditionRenderGalleryImages=getConditionRenderGalleryImages,exports.getDisplayStyle=getDisplayStyle,exports.getGalleryCarouselRenderByLayout=getGalleryCarouselRenderByLayout,exports.getPaddingBottomByShapeSetting=getPaddingBottomByShapeSetting,exports.getSrcImage=getSrcImage,exports.getStyleGridLayout=getStyleGridLayout,exports.getStyleGridOrderForFeature=getStyleGridOrderForFeature,exports.getStyleGridOrderForGallery=getStyleGridOrderForGallery,exports.getStyleInsideLayout=getStyleInsideLayout,exports.getTypeWidthDevice=getTypeWidthDevice,exports.setDefaultWhenUndefineSetting=setDefaultWhenUndefineSetting;
|
package/dist/cjs/product/components/product-images-v3/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:
|
|
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:a})=>{let o=core.useProduct(),c=core.useCurrentDevice(),s=core.useShopStore(e=>e.storefrontUrl),{isEditMode:u,isPreviewSharePageMode:i}=core.useRenderMode(),n=React.useMemo(()=>"none"!==core.getResponsiveValueByScreen(r.ftClickOpenLightBox,c),[c,r.ftClickOpenLightBox]),d=React.useMemo(()=>!u&&["VIDEO","EXTERNAL_VIDEO"].includes(e?.contentType||"")&&!n,[u,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(i)return"javascript:void(0)";if(!s)return"#";let e=new URL(s);return o?`${e.protocol}//${e.host}/products/${o.handle}`:"#"},[s,o,i]),g=e=>"product-link"===core.getResponsiveValueByScreen(r.ftClickOpenLightBox,c)?jsxRuntime.jsx("a",{title:o?.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]),f=React.useCallback(e=>"IMAGE"!==e.contentType?e.previewImage:e.src,[]),y=React.useMemo(()=>t?"other"!==r.hoverEffect?f(m):f(t):defaultImage.src,[t,m,r.hoverEffect,f]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:g(jsxRuntime.jsx(jsxRuntime.Fragment,{children:d?jsxRuntime.jsx(ProductFeatureVideo.default,{type:m?.contentType,url:m.src??"",aspectRatio:a}):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:a,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:y,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:a},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,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),NextImage_liquid=require("../../../../../image/components/NextImage.liquid.js"),common=require("../../common/common.js"),productGallery=require("../../common/productGallery.js"),_function=require("../../../../helpers/function.js"),getProductImagesStyles=require("../../composables/getProductImagesStyles.js"),getProductImagesClassName=require("../../composables/getProductImagesClassName.js"),getProductImagesAttr=require("../../composables/getProductImagesAttr.js"),system=require("@gem-sdk/system"),Carousel_liquid=require("../../../../../carousel-v3/components/root/Carousel.liquid.js"),CarouselItem_liquid=require("../../../../../carousel-v3/components/item/CarouselItem.liquid.js");const ProductGalleryCarousel=({builderPropUID:e,children:t,enableLazyLoadImage:i,...o})=>{let{featuredImageGalleryClasses:s,galleryItemClasses:r}=getProductImagesClassName.getProductImagesClassName(o),{galleryCarouselSettingAttrs:a}=getProductImagesAttr.getProductImagesAttr(o),{galleryCarouselStyle:l,galleryCarouselItemStyle:d}=getProductImagesStyles.getProductImagesStyles(o),p=()=>{let e=(e,t,i)=>{let o=core.getResponsiveValueByScreen(t,i),s=core.getResponsiveValueByScreen(e,i),r="slider"===s&&("bottom-center"===o||"inside-bottom"===o),a=["left","right","inside-left","inside-right"].includes(o??"");return a||r},t=productGallery.checkDisplayGalleryByWidth({shapeByLayout:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),NextImage_liquid=require("../../../../../image/components/NextImage.liquid.js"),common=require("../../common/common.js"),productGallery=require("../../common/productGallery.js"),_function=require("../../../../helpers/function.js"),getProductImagesStyles=require("../../composables/getProductImagesStyles.js"),getProductImagesClassName=require("../../composables/getProductImagesClassName.js"),getProductImagesAttr=require("../../composables/getProductImagesAttr.js"),system=require("@gem-sdk/system"),Carousel_liquid=require("../../../../../carousel-v3/components/root/Carousel.liquid.js"),CarouselItem_liquid=require("../../../../../carousel-v3/components/item/CarouselItem.liquid.js");const ProductGalleryCarousel=({builderPropUID:e,children:t,enableLazyLoadImage:i,...o})=>{let{featuredImageGalleryClasses:s,galleryItemClasses:r}=getProductImagesClassName.getProductImagesClassName(o),{galleryCarouselSettingAttrs:a}=getProductImagesAttr.getProductImagesAttr(o),{galleryCarouselStyle:l,galleryCarouselItemStyle:d}=getProductImagesStyles.getProductImagesStyles(o),p=()=>{let e=(e,t,i)=>{let o=core.getResponsiveValueByScreen(t,i),s=core.getResponsiveValueByScreen(e,i),r="slider"===s&&("bottom-center"===o||"inside-bottom"===o),a=["left","right","inside-left","inside-right"].includes(o??"");return a||r},t=productGallery.checkDisplayGalleryByWidth({shapeByLayout:m}),i={desktop:t.desktop&&e(o.type,o.position,"desktop"),tablet:t.tablet&&e(o.type,o.position,"tablet"),mobile:t.mobile&&e(o.type,o.position,"mobile")};return common.getDisplayStyle(e=>!i[e],"flex")},m=productGallery.getShapeByLayout({shape:o.shape,shapeForBottom:o.shapeForBottom,shapeFor1Col:o.shapeFor1Col,shapeFor2Col:o.shapeFor2Col,shapeForFtOnly:o.shapeForFtOnly,shapeForInsideBottom:o.shapeForInsideBottom,shapeForInside:o.shapeForInside},o.position),g=(e,t)=>core.template`${NextImage_liquid.default({srcIsLiquidCode:!0,src:`${common.getSrcImage("media.preview_image")}`,width:"{{media.width}}",height:"{{media.height}}",alt:"{{media.alt | escape}}",setting:e,baseSrc:"{{media.preview_image | image_url}}",style:t,className:"!gp-rounded-none gp-w-full gp-h-full gp-top-0 gp-left-0 gp-cursor-pointer",enableLazyLoadImage:i})}`,u=t=>`
|
|
2
2
|
${system.LiquidIf("media.media_type == 'video'","{% assign mediaSourceUrl = media.sources.last.url %}")}
|
|
3
3
|
${system.LiquidIf("media.media_type == 'external_video'","{% assign mediaSourceUrl = media | external_video_url %}")}
|
|
4
4
|
${system.LiquidIf("media.media_type == 'image'","{% assign mediaSourceUrl = media.src %}")}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<div class="gp-w-full gp-relative gp-h-full"
|
|
7
7
|
|
|
8
8
|
>
|
|
9
|
-
${
|
|
9
|
+
${g({aspectRatio:common.getAspectRatio(m),layout:o?.layout,qualityPercent:o?.qualityPercent,qualityType:o?.qualityType},{width:"100%",height:"100%",cursor:"pointer"})}
|
|
10
10
|
|
|
11
11
|
${system.LiquidIf("media.media_type == 'video' or media.media_type == 'external_video'",`<div class="gp-absolute gp-pb-1 gp-pr-1 gp-right-0 gp-bottom-0" >
|
|
12
12
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
@@ -42,5 +42,5 @@
|
|
|
42
42
|
</div>
|
|
43
43
|
`})}`,c=()=>{let e=productGallery.getCarouselVerticalConfigByPosition(o.position),t=[e.desktop?"gp-px-0":"gp-py-0",e.tablet?"tablet:gp-px-0":"tablet:gp-py-0",e.mobile?"mobile:gp-px-0":"mobile:gp-py-0"];return` ${t.join(" ")}`},n=system.LiquidIf("product.media.size > 1",system.LiquidFor("media in product.media",`${system.LiquidIf("media.media_type == 'image'",system.LiquidFor("image in product.images",system.LiquidIf("image.src == media.src","{% assign imageID = image.id %}{% break %}")),"{% assign imageID = '' %}")}
|
|
44
44
|
${system.LiquidIf("media.id == product.featured_media.id ",u(o?.borderActive?.border!=="none"?"active":""),u())}`));return core.template`
|
|
45
|
-
${Carousel_liquid.default({builderProps:{uid:e},rootId:`${e}-{{product.id}}`,rootClass:`${s}`,rootAttrs:{type:"grid-carousel","product-media":"{{product.media.size}}"},wrapperClass:c(),slidesClass:productGallery.getMinHeightByPosition(o.position,o.navigationPosition),isHiddenArrowWhenDisabled:!0,setting:a,rootStyles:{...p()},styles:l,disableMarginAuto:!0,children:n})}
|
|
45
|
+
${Carousel_liquid.default({builderProps:{uid:e},rootId:`${e}-{{product.id}}`,rootClass:`${s}`,rootAttrs:{type:"grid-carousel","product-media":"{{product.media.size}}"},wrapperClass:c(),slidesClass:productGallery.getMinHeightByPosition(o.position,o.navigationPosition),isHiddenArrowWhenDisabled:!0,setting:a,rootStyles:{...p()},styles:l,disableMarginAuto:!0,children:n,renderByLayout:common.getGalleryCarouselRenderByLayout(o.position)})}
|
|
46
46
|
`};exports.default=ProductGalleryCarousel;
|
|
@@ -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"),useProductsQuery=require("./hooks/useProductsQuery.js"),useCollectionQuery=require("./hooks/useCollectionQuery.js"),useProductRelatedQuery=require("./hooks/useProductRelatedQuery.js"),useMainRelatedProductQuery=require("./hooks/useMainRelatedProductQuery.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:u,productSetting:i}=helpers.getData(e),{isEditMode:a,isPreviewSharePageMode:l}=core.useRenderMode(),c=core.useCurrentDevice(),n=core.usePageType(),g=core.usePageStore(e=>e.dynamicCollection),[m,P]=React.useState(1),[h,j]=React.useState(!0),y="GP_FUNNEL_PAGE"===n,x="GP_COLLECTION"==n;x&&(i.productSrc="DynamicCollection",i.collectionId=g?.collectionId??"latest");let p=i?.productSrc??"Collection",{mainRelatedProduct:R,relatedProductIdAssigned:f}=useMainRelatedProductQuery.default({isEditMode:a,isPreviewSharePageMode:l,isRelatedProduct:u,relatedProductId:i.relatedProductId}),k=i.relatedTag&&i.relatedTag[0],L=i.relatedTag&&"tags"===i.relatedTag[0]&&(!R?.tags||R?.tags.length===0),v=i.relatedTag&&"collection"===i.relatedTag[0]&&(!R?.collections?.edges||R?.collections.edges.length===0),S=i.relatedTag&&"vendor"===i.relatedTag[0]&&!R?.vendor,C=L||v||S,{isNotFoundRelatedProduct:I,relatedProducts:b}=useProductRelatedQuery.default({isEditMode:a,isPreviewSharePageMode:l,isRelatedProduct:u,productSetting:i,setting:s,mainRelatedProduct:R}),q=useProductsQuery.useProductsQuery({productIds:"PickProduct"===p?i?.productIds:void 0,defaultSelectedProductCount:i?.numOfSelectedProducts}),T=React.useMemo(()=>({id:i?.collectionId??"latest",numberOfProducts:s?.numberOfProducts??4,orderBy:s?.orderBy}),[i?.collectionId,Number(s?.numberOfProducts),s?.orderBy]),M=useCollectionQuery.useCollectionQuery({variables:"PickProduct"!==p?T:void 0}),Q="PickProduct"===p?q.isLoading:M.isLoading,w="PickProduct"===p?q.error:M.error,G="PickProduct"===p?q.isValidating:M.isValidating,N=M.data?.collections?.edges?.[0]?.node,O="PickProduct"===p?core.flattenConnection(q.data?.products):core.flattenConnection(N?.products),A=core.usePageStore(e=>e.assignedProductIds),B=core.usePageStore(e=>e.isApplyAllProducts),F=React.useMemo(()=>(A??[]).length>0&&!B||B,[A,B]),E=b?.data?.products&&F?core.flattenConnection(b?.data?.products):[],D=u?E:"PickProduct"===p&&i?.productIds?.length?i?.productIds?.map(e=>O?.find(t=>t?.baseID===e)).filter(Boolean)??O:"PickProduct"!==p?O:O.filter((e,t)=>t<(i?.numOfSelectedProducts??4)),H=React.useMemo(()=>I&&u&&a||!D.length&&!Q&&h&&a,[h,Q,I,u,a,D.length]),W=React.useMemo(()=>!D||I&&u,[I,u,D]),$=React.useMemo(()=>{if(!s?.sameHeight)return[];let e=0,t=Math.ceil((D?.length??0)/+(s?.slidesToShow?.[c]??1));return Array.from(Array(D?.length??0)).map((o,d)=>(d>=+(s?.slidesToShow?.[c]??1)*(e+1)&&++e,{gridRow:`${1+m*e}/${m+1+m*e}`,marginBottom:e+1<t?helpers$1.getPropertyByDevice(r?.horizontalGutter,c):void 0}))},[s?.sameHeight,s?.slidesToShow,m,D?.length,c,r?.horizontalGutter]),_=React.useMemo(()=>G||Q||w||!D||I&&u,[w,Q,I,u,G,D]),z=React.useMemo(()=>R?.collections?.edges.map(e=>e.node?.id)??[],[R?.collections?.edges]);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)},a?0:500)},[o,_,a,z]);let V=React.useMemo(()=>({collection:N,products:D,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}}),[N,D,s,r]);if(o?.isPreview&&y)return jsxRuntime.jsx(jsxRuntime.Fragment,{});if(H)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(h,jsxRuntime.jsx(ProductNotFound,{builderAttrs:d,collectionHandle:N?.handle,productSrc:p,onClose:()=>j(!1),children:t,relatedTagString:k,assignProductNoTags:C,noAssignedProduct:!f}))});let{productListWrapStyle:U,productListContentStyle:J,productListWrapAlignStyle:K}=styles.getStyle(e),{productListWrapClass:X}=classes.getClass(e),Y=()=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(r?.layout==="grid",jsxRuntime.jsx(ProductListGridLayout.default,{...e,productSortedById:D,generateGridRowArray:$}),jsxRuntime.jsx(ProductListCarouselLayout.default,{...e,productSortedById:D}))});return jsxRuntime.jsxs("div",{...d,className:X,style:U,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"})]}),Q||G?jsxRuntime.jsx(Loading.default,{}):w?jsxRuntime.jsxs("div",{children:["Error: ",w?.message]}):W?jsxRuntime.jsx("div",{children:"Products not found"}):jsxRuntime.jsx(core.ProductListProvider,{...V,children:jsxRuntime.jsx("div",{className:"gp-flex gp-w-full",style:K,children:jsxRuntime.jsxs("div",{style:J,children:[y&&jsxRuntime.jsx(SalePageProductListWarning.default,{}),Y()]})})}),core.filterToolbarPreview(t,!0)]})};exports.default=ProductList;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var core=require("@gem-sdk/core"),React=require("react"),useSWR=require("swr");const useCollectionQuery=({variables:e})=>{let r=core.useFetchHandle(),t=core.usePageStore(e=>e.publicStoreFrontData),o=React.useMemo(()=>core.hasPublicStoreFrontData(t)?core.createStoreFrontFetcher(t):r,[t]),a=core.useIsSampleProduct(),c=core.useIsStorefrontProduct(),u=useSWR(core.generateCollectionQueryKey({...e,isSample:a,isStorefront:c}),([,e])=>core.getCollection(o,e),{revalidateOnMount:!1,revalidateIfStale:!0});return React.useEffect(()=>{let r=!!u.error,t=u.isLoading||u.isValidating,o=!u.data&&!t,a=!r&&o&&e;a&&u.mutate()},[e,u.data,u.error,u.isLoading,u.isValidating]),u};exports.useCollectionQuery=useCollectionQuery;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),core=require("@gem-sdk/core");const useMainRelatedProductQuery=({isRelatedProduct:e,relatedProductId:r,isEditMode:t,isPreviewSharePageMode:o})=>{let c=core.useFetchHandle(),u=core.usePageStore(e=>e.dynamicProduct),a=core.usePageStore(e=>e.publicStoreFrontData),d=u?.productId&&u?.productId!==r?u?.productId:r,s=React.useMemo(()=>core.hasPublicStoreFrontData(a)?core.createStoreFrontFetcher(a):c,[a]),{data:n}=core.useProductQuery(e&&d?d:void 0,{revalidateOnMount:t||o},s);return{relatedProductIdAssigned:d,mainRelatedProduct:n}};exports.default=useMainRelatedProductQuery;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),core=require("@gem-sdk/core");const useProductRelatedQuery=({setting:e,isEditMode:t,isPreviewSharePageMode:r,isRelatedProduct:a,mainRelatedProduct:d,productSetting:s})=>{let[o,c]=React.useState(!1),[l,u]=React.useState(),i=core.useFetchHandle(),n=core.usePageStore(e=>e.publicStoreFrontData),h=React.useMemo(()=>core.hasPublicStoreFrontData(n)?core.createStoreFrontFetcher(n):i,[n]),g=core.useProductsQueryAll(l,{revalidateOnMount:t||r,keepPreviousData:!0,refreshInterval:0},h);return React.useEffect(()=>{if(a&&d&&s.relatedTag&&"recommended-product"!==s.relatedType){let t;switch(c(!1),s.hasRelatedExclude&&(t=s?.relatedExclude&&s.relatedExclude.split(",").map(e=>e.trim())),s.relatedTag[0]){case"vendor":u({first:e?.numberOfProducts,where:{vendor:s.relatedTag&&"vendor"===s.relatedTag[0]?d?.vendor:"",idNEQ:d.id}});break;case"collection":{let r;let a=d?.collections?.edges.map(e=>e.node?.id);if(!a||a?.length===0){c(!0);break}u(r=t&&t.length>0?{first:e?.numberOfProducts,where:{idNEQ:d.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:a},{titleNotIn:t}]}]}}:{first:e?.numberOfProducts,where:{idNEQ:d.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:a}]}]}});break}case"tags":{let r;if(!d.tags||0===d.tags.length){c(!0);break}u(r=t&&t.length>0?{first:e?.numberOfProducts,where:{idNEQ:d.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:d.tags},{nameNotIn:t}]}]}}:{first:e?.numberOfProducts,where:{idNEQ:d.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:d.tags}]}]}})}}}},[d,s.relatedType,s.relatedTag,e?.numberOfProducts,s.relatedExclude,s.hasRelatedExclude,a]),{isNotFoundRelatedProduct:o,relatedProducts:g}};exports.default=useProductRelatedQuery;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var core=require("@gem-sdk/core"),React=require("react"),useSWR=require("swr");const useProductsQuery=({defaultSelectedProductCount:e,productIds:r})=>{let t=core.useFetchHandle(),o=core.usePageStore(e=>e.publicStoreFrontData),s=React.useMemo(()=>core.hasPublicStoreFrontData(o)?core.createStoreFrontFetcher(o):t,[o]),u=core.useIsSampleProduct(),c=core.useIsStorefrontProduct(),a=core.generateProductsQueryKey({ids:r??[],isSample:u,isStorefront:c,defaultSelectedProductCount:e}),i=useSWR(a,async([,e])=>core.getProducts(s,e),{revalidateOnMount:!1});return React.useEffect(()=>{let e=!!i.error,t=i.isLoading||i.isValidating,o=!i.data&&!t,s=!e&&o&&r?.length;s&&i.mutate()},[r?.length,i.data,i.error,i.isLoading,i.isValidating]),{...i}};exports.useProductsQuery=useProductsQuery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getResponsiveValueByScreen as e}from"@gem-sdk/core";import{createStateOrContext as t}from"@gem-sdk/system";let getData=o=>{let r=["mobile","tablet","desktop"],{setting:a,rootId:l,builderProps:
|
|
1
|
+
import{getResponsiveValueByScreen as e}from"@gem-sdk/core";import{createStateOrContext as t}from"@gem-sdk/system";let getData=o=>{let r=["mobile","tablet","desktop"],{setting:a,rootId:l,builderProps:p,styles:i,moveToIdx:s,isHiddenArrowWhenDisabled:d,renderByLayout:g,rootAttrs:m}=o,n=l??p?.uid,f=`gp-carousel-slider-${p?.uid}`,{enableAction:u={desktop:!0},navigationStyle:c,navigationEnable:k={desktop:!0}}=a??{},y=()=>{let t=a?.loop;return r.forEach(o=>{t={...t,[o]:!!e(u)&&t?.[o]}}),t},h=()=>{let t=c;return r.forEach(o=>{t={...t,[o]:e(k,o)?e(t,o):"none"}}),t},D=t({id:n,moveToIdx:s,isHiddenArrowWhenDisabled:d,setting:a,styles:i,renderByLayout:g,type:m?.type});return{loopConfig:y(),stateData:JSON.stringify(D).replaceAll("'","'"),uniqueComponentId:n,arrowShowConfig:h(),sliderSelector:f}};export{getData};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getResponsiveValueByScreen as e,makeAspectRatio as t,makeStyleResponsive as
|
|
1
|
+
import{getResponsiveValueByScreen as e,makeAspectRatio as t,makeStyleResponsive as o,removeNullUndefined as r,DEVICES as i}from"@gem-sdk/core";let getTypeWidthDevice=e=>{let t=e?.desktop,o=e?.tablet===void 0?t:e?.tablet,r=e?.mobile===void 0?o:e?.mobile;return{desktop:t,tablet:o,mobile:r}},convertUnitToNumber=(e,t)=>{if(!e)return t;if("number"==typeof e)return e;let o=e.replaceAll("px","").replaceAll("%","").replaceAll("rem","").replaceAll("em","");return isNaN(Number(o))?t:Number(o)},convertSpacing=e=>{if(!e)return{desktop:5};let t=convertUnitToNumber(e.desktop,5),o=convertUnitToNumber(e.tablet,t),r=convertUnitToNumber(e.mobile,o);return{desktop:t,tablet:o,mobile:r}},getDisplayStyle=(e,t)=>{let o={},r=["desktop","mobile","tablet"];return r.forEach(r=>{o={...o,[`--d${"desktop"===r?"":`-${r}`}`]:`${e(r)?"none":t}`}}),o},checkAddOverFlowClass=e=>{let t=e?.["--radius"],o=e?.["--bblr"]||"0px",r=e?.["--bbrr"]||"0px",i=e?.["--btlr"]||"0px",l=e?.["--btrr"]||"0px";return t&&!t.toString().includes("none")&&"0"!==t.toString()||"0px"!==o||"0px"!==r||"0px"!==i||"0px"!==l},getAspectRatio=o=>{let r={},i=["desktop","mobile","tablet"];return i.forEach(t=>{let i=e(o,t)?.shapeValue;if(i)r={...r,[t]:i};else{let i=e(o,t)?.shape;switch(i){case"square":r={...r,[t]:"1/1"};break;case"vertical":r={...r,[t]:"3/4"};break;case"horizontal":r={...r,[t]:"4/3"};break;case"original":r={...r,[t]:""}}}}),t(r)},getStyleGridLayout=t=>{let o={"--gtc":"minmax(0, 12fr)","--gtc-tablet":"minmax(0, 12fr)","--gtc-mobile":"minmax(0, 12fr)"};if(!t.isHiddenGalleryImages){let r=!1;i.forEach(i=>{let l=e(t.position,i),a=e(t.ratioLayout,i),n=e(t.ratioLayoutRight,i),s="desktop"===i?"--gtc":`--gtc-${i}`,d="desktop"===i?"--gtr":`--gtr-${i}`,u="left"===l?a:n,c=["left","right"].includes(l||"");c&&u?(r=!0,Object.assign(o={...o,[s]:`minmax(0, ${u[0]}fr) minmax(0, ${u[1]}fr)`},{[d]:"fit-content(0)"})):r&&Object.assign(o,{[d]:"unset"})})}return o},getStyleGridOrderForFeature=t=>{let o={"--o":"0","--o-tablet":"0","--o-mobile":"0"},r=["desktop","mobile","tablet"];return r.forEach(r=>{let i=e(t.position,r),l="desktop"===r?"--o":`--o-${r}`;o={...o,[l]:"left"===i?"1":"0"}}),o},getStyleGridOrderForGallery=t=>{let o={"--o":"1","--o-tablet":"1","--o-mobile":"1"},r=["desktop","mobile","tablet"];return r.forEach(r=>{let i=e(t.position,r),l="desktop"===r?"--o":`--o-${r}`;o={...o,[l]:"left"===i?"0":"1"}}),o},getSrcImage=e=>`{{${e} | image_url: width: 480}} 480w, {{${e} | image_url: width: 768}} 768w, {{${e} | image_url: width: 1024}} 1024w, {{${e} | image_url: width: 1440}} 1440w`,convertSpacingForIndisdeLayout=e=>{let t=parseInt(e)?`${2*parseInt(e)}px`:`${e} * 2`;return t},getStyleInsideLayout=(t,i,l)=>{let a=["desktop","mobile","tablet"],n={},s={},d={},u={},c={},g={};return a.forEach(o=>{let r=e(t,o),a=e(i,o)?.width,m=e(l,o);if(n={...n,[o]:["inside-bottom","inside-left","inside-right"].includes(r)?"absolute":"static"},["inside-bottom"].includes(r)){let e=convertSpacingForIndisdeLayout(m);a=`calc(100% - ${e})`}["bottom-center","two-col","one-col"].includes(r)&&(a="100%"),d={...d,[o]:"inside-bottom"===r?`${m}`:"auto"},u={...u,[o]:["inside-left","inside-right"].includes(r)?`${m}`:"auto"},g={...g,[o]:["inside-bottom","inside-left"].includes(r)?`${m}`:"auto"},c={...c,[o]:"inside-right"===r?`${m}`:"auto"},s={...s,[o]:a}}),{...o("pos",n),...o("w",r(s)),...o("bottom",r(d)),...o("top",r(u)),...o("left",r(g)),...o("right",r(c))}},getConditionRenderGalleryImages=(t,o)=>{let r=["desktop","mobile","tablet"],i=!0,l=!1;return r.forEach(r=>{let a=e(t,r),n=e(o,r);a&&"only-feature"!==a&&(i=!1),(["two-col","one-col"].includes(a)||"images"===n)&&(l=!0)}),{isOnlyFeatureAllDevices:i,isRenderGalleryGrid:l}},setDefaultWhenUndefineSetting=e=>({...e,setting:{...e.setting}}),getValueFromValueContainUnit=e=>{let t=e.match(/\d+/g);return t?t[0]:e},getPaddingBottomByShapeSetting=t=>{let o=getAspectRatio(t),r={desktop:"auto",mobile:"auto",tablet:"auto"},i=["desktop","mobile","tablet"];return i.forEach(i=>{let l=e(t,i),a=l?.height,n=l?.width||"",s=getValueFromValueContainUnit(a||""),d=n.toString().match(/px/g)?getValueFromValueContainUnit(n):n;if(a&&n&&!isNaN(Number(s))&&!isNaN(Number(d))){r={...r,[i]:`${Number(s)/Number(d)*100}%`};return}if(a&&!isNaN(Number(s))){r={...r,[i]:a};return}let u=o?.[i]!=="auto"&&o?.[i]?o?.[i]?.split("/").reverse().join("/"):"{%if largestRatio == 0%} 100 / 100 {%else%} {{largestRatio}} {%endif%}";r={...r,[i]:`calc((${u})*100%)`}}),r},getGalleryCarouselRenderByLayout=t=>{let o=["desktop","mobile","tablet"],r={};return o.forEach(o=>{let i=e(t,o);r={...r,[o]:"only-feature"!==i}}),r};export{checkAddOverFlowClass,convertSpacing,convertSpacingForIndisdeLayout,convertUnitToNumber,getAspectRatio,getConditionRenderGalleryImages,getDisplayStyle,getGalleryCarouselRenderByLayout,getPaddingBottomByShapeSetting,getSrcImage,getStyleGridLayout,getStyleGridOrderForFeature,getStyleGridOrderForGallery,getStyleInsideLayout,getTypeWidthDevice,setDefaultWhenUndefineSetting};
|
package/dist/esm/product/components/product-images-v3/components/child/ProductFeaturedImageOnly.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
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
|
|
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 f,useMemo as h,useCallback as m}from"react";import p from"../../../../../image/components/NextImage.js";import d from"./MediaIcon.js";import{isFeatureMedia as g,getZoomImageClass as u,getZoomLenClass as y}from"../../common/productFeaturedImage.js";import I 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:f,imageShowWhenHover:v,setting:E,aspectRatio:T})=>{let w=o(),b=a(),O=c(e=>e.storefrontUrl),{isEditMode:x,isPreviewSharePageMode:L}=i(),j=h(()=>"none"!==n(E.ftClickOpenLightBox,b),[b,E.ftClickOpenLightBox]),F=h(()=>!x&&["VIDEO","EXTERNAL_VIDEO"].includes(f?.contentType||"")&&!j,[x,f?.contentType,j]),N=h(()=>f?{...f,src:F?f.src:g(f?.contentType)?f?.previewImage:f.src}:defaultImage,[f,F]),$=h(()=>{if(L)return"javascript:void(0)";if(!O)return"#";let e=new URL(O);return w?`${e.protocol}//${e.host}/products/${w.handle}`:"#"},[O,w,L]),k=t=>"product-link"===n(E.ftClickOpenLightBox,b)?e("a",{title:w?.title,href:$,className:"gp-w-full",children:t}):t,P=h(()=>E?.hoverEffect!=="none"&&!g(N?.contentType),[N?.contentType,E?.hoverEffect]),R=h(()=>E?.hoverEffect=="zoom"&&E?.zoomType=="glasses"&&!g(N?.contentType),[N?.contentType,E?.hoverEffect,E?.zoomType]),z=m(e=>"IMAGE"!==e.contentType?e.previewImage:e.src,[]),A=h(()=>v?"other"!==E.hoverEffect?z(N):z(v):defaultImage.src,[v,N,E.hoverEffect,z]);return e(t,{children:k(e(t,{children:F?e(I,{type:N?.contentType,url:N.src??"",aspectRatio:T}):r(t,{children:[e(p,{draggable:"false",src:N.src,width:N?.width,height:N?.height,alt:N?.alt,setting:{aspectRatio:T,layout:E?.ftLayout},priority:E?.preload,className:"featured-image-only",style:{width:"100%",height:"100%",cursor:"pointer"}}),e(d,{contentType:N?.contentType??""}),P&&e(p,{draggable:"false",src:A,width:E?.hoverEffect==="other"?v?.width:N.width,height:E?.hoverEffect==="other"?v?.height:N.height,alt:E?.hoverEffect==="other"?v?.alt:N.alt,setting:{layout:E.ftLayout,aspectRatio:T},style:{width:"100%",height:"100%"},className:l("hover-image featured-image-only !gp-max-w-none",u()),priority:E?.preload}),R&&e("div",{className:l(y(),"room-len"),style:{...s({bgi:`url("${N?.src}")`})}})]})}))})};var ProductFeaturedImageOnly$1=f(ProductFeaturedImageOnly);export{ProductFeaturedImageOnly$1 as default};
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import{template as e,getResponsiveValueByScreen as t}from"@gem-sdk/core";import i from"../../../../../image/components/NextImage.liquid.js";import{
|
|
2
|
-
${
|
|
3
|
-
${
|
|
4
|
-
${
|
|
5
|
-
${
|
|
1
|
+
import{template as e,getResponsiveValueByScreen as t}from"@gem-sdk/core";import i from"../../../../../image/components/NextImage.liquid.js";import{getGalleryCarouselRenderByLayout as o,getDisplayStyle as r,getAspectRatio as s,getSrcImage as a}from"../../common/common.js";import{getShapeByLayout as p,getMinHeightByPosition as l,checkDisplayGalleryByWidth as d,getZoomDisplay as m,getCarouselVerticalConfigByPosition as g}from"../../common/productGallery.js";import{getStyleOfObject as n}from"../../../../helpers/function.js";import{getProductImagesStyles as c}from"../../composables/getProductImagesStyles.js";import{getProductImagesClassName as u}from"../../composables/getProductImagesClassName.js";import{getProductImagesAttr as C}from"../../composables/getProductImagesAttr.js";import{LiquidIf as h,LiquidFor as y}from"@gem-sdk/system";import v from"../../../../../carousel-v3/components/root/Carousel.liquid.js";import b from"../../../../../carousel-v3/components/item/CarouselItem.liquid.js";let ProductGalleryCarousel=({builderPropUID:f,children:w,enableLazyLoadImage:L,...F})=>{let{featuredImageGalleryClasses:x,galleryItemClasses:$}=u(F),{galleryCarouselSettingAttrs:I}=C(F),{galleryCarouselStyle:_,galleryCarouselItemStyle:k}=c(F),j=()=>{let e=(e,i,o)=>{let r=t(i,o),s=t(e,o),a="slider"===s&&("bottom-center"===r||"inside-bottom"===r),p=["left","right","inside-left","inside-right"].includes(r??"");return p||a},i=d({shapeByLayout:V}),o={desktop:i.desktop&&e(F.type,F.position,"desktop"),tablet:i.tablet&&e(F.type,F.position,"tablet"),mobile:i.mobile&&e(F.type,F.position,"mobile")};return r(e=>!o[e],"flex")},V=p({shape:F.shape,shapeForBottom:F.shapeForBottom,shapeFor1Col:F.shapeFor1Col,shapeFor2Col:F.shapeFor2Col,shapeForFtOnly:F.shapeForFtOnly,shapeForInsideBottom:F.shapeForInsideBottom,shapeForInside:F.shapeForInside},F.position),M=(t,o)=>e`${i({srcIsLiquidCode:!0,src:`${a("media.preview_image")}`,width:"{{media.width}}",height:"{{media.height}}",alt:"{{media.alt | escape}}",setting:t,baseSrc:"{{media.preview_image | image_url}}",style:o,className:"!gp-rounded-none gp-w-full gp-h-full gp-top-0 gp-left-0 gp-cursor-pointer",enableLazyLoadImage:L})}`,B=e=>`
|
|
2
|
+
${h("media.media_type == 'video'","{% assign mediaSourceUrl = media.sources.last.url %}")}
|
|
3
|
+
${h("media.media_type == 'external_video'","{% assign mediaSourceUrl = media | external_video_url %}")}
|
|
4
|
+
${h("media.media_type == 'image'","{% assign mediaSourceUrl = media.src %}")}
|
|
5
|
+
${b({id:"{{imageID}}",contentType:"productImage",className:`${$(`gp-gallery-image-item ${e??""}`)}`,parentId:`${f}-{{product.id}}`,builderAttrs:{"data-outline":e?"active":"deactive"},style:k,children:`
|
|
6
6
|
<div class="gp-w-full gp-relative gp-h-full"
|
|
7
7
|
|
|
8
8
|
>
|
|
9
|
-
${
|
|
9
|
+
${M({aspectRatio:s(V),layout:F?.layout,qualityPercent:F?.qualityPercent,qualityType:F?.qualityType},{width:"100%",height:"100%",cursor:"pointer"})}
|
|
10
10
|
|
|
11
|
-
${
|
|
11
|
+
${h("media.media_type == 'video' or media.media_type == 'external_video'",`<div class="gp-absolute gp-pb-1 gp-pr-1 gp-right-0 gp-bottom-0" >
|
|
12
12
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
13
13
|
<rect opacity="0.9" width="24" height="24" rx="3" fill="#212121"/>
|
|
14
14
|
<path d="M17.6869 12.2646L17.6868 12.2646L6.78379 18.4464C6.78378 18.4464 6.78376 18.4464 6.78374 18.4464C6.52931 18.5903 6.1665 18.4179 6.1665 18.0416V5.95844C6.1665 5.58218 6.52917 5.40981 6.7836 5.55354C6.78366 5.55357 6.78373 5.55361 6.78379 5.55365L17.6868 11.7354L17.6869 11.7354C17.8819 11.846 17.8819 12.154 17.6869 12.2646Z" stroke="#F9F9F9" stroke-miterlimit="10"/>
|
|
15
15
|
</svg>
|
|
16
16
|
</div>`)}
|
|
17
|
-
${
|
|
17
|
+
${h("media.media_type == 'model'",`<div class="gp-absolute gp-pb-1 gp-pr-1 gp-right-0 gp-bottom-0">
|
|
18
18
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
19
19
|
<rect opacity="0.9" width="24" height="24" rx="3" fill="#212121"/>
|
|
20
20
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.7441 4.57034C11.9017 4.47655 12.098 4.47655 12.2555 4.57034L18.5889 8.33957C18.7404 8.42971 18.8332 8.59296 18.8332 8.76923V15.2308C18.8332 15.407 18.7404 15.5703 18.5889 15.6604L12.2555 19.4297C12.098 19.5234 11.9017 19.5234 11.7441 19.4297L5.41079 15.6604C5.25932 15.5703 5.1665 15.407 5.1665 15.2308V8.76923C5.1665 8.59296 5.25932 8.42971 5.41079 8.33957L11.7441 4.57034ZM6.1665 9.64865V14.9465L11.4998 18.1206V12.8227L6.1665 9.64865ZM12.4998 12.8227V18.1206L17.8332 14.9465V9.64865L12.4998 12.8227ZM17.3555 8.76923L11.9998 11.9566L6.64417 8.76923L11.9998 5.58185L17.3555 8.76923Z" fill="#F9F9F9"/>
|
|
@@ -22,7 +22,7 @@ import{template as e,getResponsiveValueByScreen as t}from"@gem-sdk/core";import
|
|
|
22
22
|
</div>`)}
|
|
23
23
|
|
|
24
24
|
<div class="gp-absolute gp-inset-0 gp-flex gp-cursor-pointer gp-items-center gp-justify-center gp-bg-black/50 gp-opacity-0 gp-transition-opacity gp-duration-100 group-hover:gp-opacity-100"
|
|
25
|
-
style="${
|
|
25
|
+
style="${n(m(F?.clickOpenLightBox))}"
|
|
26
26
|
>
|
|
27
27
|
<svg
|
|
28
28
|
height="100%"
|
|
@@ -40,7 +40,7 @@ import{template as e,getResponsiveValueByScreen as t}from"@gem-sdk/core";import
|
|
|
40
40
|
</svg>
|
|
41
41
|
</div>
|
|
42
42
|
</div>
|
|
43
|
-
`})}`,P=()=>{let e=
|
|
44
|
-
${
|
|
45
|
-
${
|
|
43
|
+
`})}`,P=()=>{let e=g(F.position),t=[e.desktop?"gp-px-0":"gp-py-0",e.tablet?"tablet:gp-px-0":"tablet:gp-py-0",e.mobile?"mobile:gp-px-0":"mobile:gp-py-0"];return` ${t.join(" ")}`},Z=h("product.media.size > 1",y("media in product.media",`${h("media.media_type == 'image'",y("image in product.images",h("image.src == media.src","{% assign imageID = image.id %}{% break %}")),"{% assign imageID = '' %}")}
|
|
44
|
+
${h("media.id == product.featured_media.id ",B(F?.borderActive?.border!=="none"?"active":""),B())}`));return e`
|
|
45
|
+
${v({builderProps:{uid:f},rootId:`${f}-{{product.id}}`,rootClass:`${x}`,rootAttrs:{type:"grid-carousel","product-media":"{{product.media.size}}"},wrapperClass:P(),slidesClass:l(F.position,F.navigationPosition),isHiddenArrowWhenDisabled:!0,setting:I,rootStyles:{...j()},styles:_,disableMarginAuto:!0,children:Z,renderByLayout:o(F.position)})}
|
|
46
46
|
`};export{ProductGalleryCarousel as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,Fragment as
|
|
1
|
+
import{jsx as e,Fragment as o,jsxs as t}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 s}from"react";import{useRenderMode as c,useCurrentDevice as a,usePageType as n,usePageStore as u,flattenConnection as m,ProductListProvider as g,filterToolbarPreview as p}from"@gem-sdk/core";import h from"../SalePageProductListWarning.js";import P from"next/head";import f from"./ProductListGridLayout.js";import k from"./ProductListCarouselLayout.js";import{getStyle as y}from"./common/styles.js";import{If as I}from"@gem-sdk/system";import{getClass as b}from"./common/classes.js";import{getData as v}from"./common/helpers.js";import{getPropertyByDevice as T}from"../../../dialog/common/helpers.js";import{useProductsQuery as S}from"./hooks/useProductsQuery.js";import{useCollectionQuery as j}from"./hooks/useCollectionQuery.js";import L from"./hooks/useProductRelatedQuery.js";import w from"./hooks/useMainRelatedProductQuery.js";let ProductNotFound=r(()=>import("../ProductNotFound.js"),{loading:d}),ProductList=r=>{let{children:C,styles:G,builderProps:N,setting:O,builderAttrs:A}=r,{isRelatedProduct:B,productSetting:x}=v(r),{isEditMode:E,isPreviewSharePageMode:z}=c(),F=a(),M=n(),Q=u(e=>e.dynamicCollection),[H,R]=l(1),[W,$]=l(!0),_="GP_FUNNEL_PAGE"===M,D="GP_COLLECTION"==M;D&&(x.productSrc="DynamicCollection",x.collectionId=Q?.collectionId??"latest");let V=x?.productSrc??"Collection",{mainRelatedProduct:q,relatedProductIdAssigned:U}=w({isEditMode:E,isPreviewSharePageMode:z,isRelatedProduct:B,relatedProductId:x.relatedProductId}),J=x.relatedTag&&x.relatedTag[0],K=x.relatedTag&&"tags"===x.relatedTag[0]&&(!q?.tags||q?.tags.length===0),X=x.relatedTag&&"collection"===x.relatedTag[0]&&(!q?.collections?.edges||q?.collections.edges.length===0),Y=x.relatedTag&&"vendor"===x.relatedTag[0]&&!q?.vendor,Z=K||X||Y,{isNotFoundRelatedProduct:ee,relatedProducts:eo}=L({isEditMode:E,isPreviewSharePageMode:z,isRelatedProduct:B,productSetting:x,setting:O,mainRelatedProduct:q}),et=S({productIds:"PickProduct"===V?x?.productIds:void 0,defaultSelectedProductCount:x?.numOfSelectedProducts}),er=i(()=>({id:x?.collectionId??"latest",numberOfProducts:O?.numberOfProducts??4,orderBy:O?.orderBy}),[x?.collectionId,Number(O?.numberOfProducts),O?.orderBy]),ed=j({variables:"PickProduct"!==V?er:void 0}),el="PickProduct"===V?et.isLoading:ed.isLoading,ei="PickProduct"===V?et.error:ed.error,es="PickProduct"===V?et.isValidating:ed.isValidating,ec=ed.data?.collections?.edges?.[0]?.node,ea="PickProduct"===V?m(et.data?.products):m(ec?.products),en=u(e=>e.assignedProductIds),eu=u(e=>e.isApplyAllProducts),em=i(()=>(en??[]).length>0&&!eu||eu,[en,eu]),eg=eo?.data?.products&&em?m(eo?.data?.products):[],ep=B?eg:"PickProduct"===V&&x?.productIds?.length?x?.productIds?.map(e=>ea?.find(o=>o?.baseID===e)).filter(Boolean)??ea:"PickProduct"!==V?ea:ea.filter((e,o)=>o<(x?.numOfSelectedProducts??4)),eh=i(()=>ee&&B&&E||!ep.length&&!el&&W&&E,[W,el,ee,B,E,ep.length]),eP=i(()=>!ep||ee&&B,[ee,B,ep]),ef=i(()=>{if(!O?.sameHeight)return[];let e=0,o=Math.ceil((ep?.length??0)/+(O?.slidesToShow?.[F]??1));return Array.from(Array(ep?.length??0)).map((t,r)=>(r>=+(O?.slidesToShow?.[F]??1)*(e+1)&&++e,{gridRow:`${1+H*e}/${H+1+H*e}`,marginBottom:e+1<o?T(G?.horizontalGutter,F):void 0}))},[O?.sameHeight,O?.slidesToShow,H,ep?.length,F,G?.horizontalGutter]),ek=i(()=>es||el||ei||!ep||ee&&B,[ei,el,ee,B,es,ep]),ey=i(()=>q?.collections?.edges.map(e=>e.node?.id)??[],[q?.collections?.edges]);s(()=>{ek||setTimeout(()=>{let{builderData:e}=N??{},o=e?.childrens?.[0];if(!o)return;let t=document.querySelector(`[data-id=${o}] div`);t&&R(t.childElementCount||1)},E?0:500)},[N,ek,E,ey]);let eI=i(()=>({collection:ec,products:ep,settings:{loop:O?.loop??{desktop:!1},scrollMode:O?.scrollMode??{desktop:"snap"},slidesToShow:O?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:G?.layout,dot:O?.dot,dotStyle:O?.dotStyle,arrow:O?.arrow,controlOverContent:O?.controlOverContent},styles:{horizontalGutter:G?.horizontalGutter,verticalGutter:G?.verticalGutter,fullWidth:G?.fullWidth,spacing:G?.spacing,width:G?.width,height:G?.height}}),[ec,ep,O,G]);if(N?.isPreview&&_)return e(o,{});if(eh)return e(o,{children:I(W,e(ProductNotFound,{builderAttrs:A,collectionHandle:ec?.handle,productSrc:V,onClose:()=>$(!1),children:C,relatedTagString:J,assignProductNoTags:Z,noAssignedProduct:!U}))});let{productListWrapStyle:eb,productListContentStyle:ev,productListWrapAlignStyle:eT}=y(r),{productListWrapClass:eS}=b(r),ej=()=>e(o,{children:I(G?.layout==="grid",e(f,{...r,productSortedById:ep,generateGridRowArray:ef}),e(k,{...r,productSortedById:ep}))});return t("div",{...A,className:eS,style:eb,children:[!!G?.preloadBgImage&&t(P,{children:[!!G.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:G.backgroundImage.desktop.image.src,as:"image"}),!!G.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:G.backgroundImage?.tablet?.image?.src,as:"image"}),!!G.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:G.backgroundImage?.mobile?.image?.src,as:"image"})]}),el||es?e(d,{}):ei?t("div",{children:["Error: ",ei?.message]}):eP?e("div",{children:"Products not found"}):e(g,{...eI,children:e("div",{className:"gp-flex gp-w-full",style:eT,children:t("div",{style:ev,children:[_&&e(h,{}),ej()]})})}),p(C,!0)]})};export{ProductList as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useFetchHandle as r,usePageStore as t,hasPublicStoreFrontData as e,createStoreFrontFetcher as a,useIsSampleProduct as o,useIsStorefrontProduct as i,generateCollectionQueryKey as l,getCollection as n}from"@gem-sdk/core";import{useMemo as d,useEffect as m}from"react";import s from"swr";let useCollectionQuery=({variables:u})=>{let c=r(),g=t(r=>r.publicStoreFrontData),p=d(()=>e(g)?a(g):c,[g]),f=o(),v=i(),y=s(l({...u,isSample:f,isStorefront:v}),([,r])=>n(p,r),{revalidateOnMount:!1,revalidateIfStale:!0});return m(()=>{let r=!!y.error,t=y.isLoading||y.isValidating,e=!y.data&&!t,a=!r&&e&&u;a&&y.mutate()},[u,y.data,y.error,y.isLoading,y.isValidating]),y};export{useCollectionQuery};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useMemo as t}from"react";import{useFetchHandle as r,usePageStore as e,hasPublicStoreFrontData as d,createStoreFrontFetcher as o,useProductQuery as a}from"@gem-sdk/core";let useMainRelatedProductQuery=({isRelatedProduct:u,relatedProductId:c,isEditMode:i,isPreviewSharePageMode:l})=>{let n=r(),p=e(t=>t.dynamicProduct),m=e(t=>t.publicStoreFrontData),s=p?.productId&&p?.productId!==c?p?.productId:c,f=t(()=>d(m)?o(m):n,[m]),{data:y}=a(u&&s?s:void 0,{revalidateOnMount:i||l},f);return{relatedProductIdAssigned:s,mainRelatedProduct:y}};export{useMainRelatedProductQuery as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useState as e,useMemo as t,useEffect as r}from"react";import{useFetchHandle as a,usePageStore as d,hasPublicStoreFrontData as l,createStoreFrontFetcher as s,useProductsQueryAll as i}from"@gem-sdk/core";let useProductRelatedQuery=({setting:o,isEditMode:n,isPreviewSharePageMode:c,isRelatedProduct:u,mainRelatedProduct:h,productSetting:g})=>{let[m,f]=e(!1),[P,b]=e(),p=a(),T=d(e=>e.publicStoreFrontData),E=t(()=>l(T)?s(T):p,[T]),W=i(P,{revalidateOnMount:n||c,keepPreviousData:!0,refreshInterval:0},E);return r(()=>{if(u&&h&&g.relatedTag&&"recommended-product"!==g.relatedType){let e;switch(f(!1),g.hasRelatedExclude&&(e=g?.relatedExclude&&g.relatedExclude.split(",").map(e=>e.trim())),g.relatedTag[0]){case"vendor":b({first:o?.numberOfProducts,where:{vendor:g.relatedTag&&"vendor"===g.relatedTag[0]?h?.vendor:"",idNEQ:h.id}});break;case"collection":{let t;let r=h?.collections?.edges.map(e=>e.node?.id);if(!r||r?.length===0){f(!0);break}b(t=e&&e.length>0?{first:o?.numberOfProducts,where:{idNEQ:h.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r},{titleNotIn:e}]}]}}:{first:o?.numberOfProducts,where:{idNEQ:h.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r}]}]}});break}case"tags":{let t;if(!h.tags||0===h.tags.length){f(!0);break}b(t=e&&e.length>0?{first:o?.numberOfProducts,where:{idNEQ:h.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:h.tags},{nameNotIn:e}]}]}}:{first:o?.numberOfProducts,where:{idNEQ:h.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:h.tags}]}]}})}}}},[h,g.relatedType,g.relatedTag,o?.numberOfProducts,g.relatedExclude,g.hasRelatedExclude,u]),{isNotFoundRelatedProduct:m,relatedProducts:W}};export{useProductRelatedQuery as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useFetchHandle as r,usePageStore as t,hasPublicStoreFrontData as e,createStoreFrontFetcher as a,useIsSampleProduct as o,useIsStorefrontProduct as i,generateProductsQueryKey as s,getProducts as d}from"@gem-sdk/core";import{useMemo as n,useEffect as u}from"react";import l from"swr";let useProductsQuery=({defaultSelectedProductCount:m,productIds:g})=>{let c=r(),p=t(r=>r.publicStoreFrontData),f=n(()=>e(p)?a(p):c,[p]),y=o(),h=i(),L=s({ids:g??[],isSample:y,isStorefront:h,defaultSelectedProductCount:m}),P=l(L,async([,r])=>d(f,r),{revalidateOnMount:!1});return u(()=>{let r=!!P.error,t=P.isLoading||P.isValidating,e=!P.data&&!t,a=!r&&e&&g?.length;a&&P.mutate()},[g?.length,P.data,P.error,P.isLoading,P.isValidating]),{...P}};export{useProductsQuery};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -875,6 +875,7 @@ type CarouselProps$1 = BasePropsWrap<CarouselSettingProps$1, CarouselStyleProps$
|
|
|
875
875
|
isProductList?: boolean;
|
|
876
876
|
thumbsSwiper?: string;
|
|
877
877
|
productBadgeLiquid?: string;
|
|
878
|
+
renderByLayout?: ObjectDevices<boolean>;
|
|
878
879
|
} & {
|
|
879
880
|
rootId?: string;
|
|
880
881
|
rootClass?: string;
|
|
@@ -927,6 +928,7 @@ declare const Carousel$3: React.ForwardRefExoticComponent<_gem_sdk_core.BaseProp
|
|
|
927
928
|
isProductList?: boolean | undefined;
|
|
928
929
|
thumbsSwiper?: string | undefined;
|
|
929
930
|
productBadgeLiquid?: string | undefined;
|
|
931
|
+
renderByLayout?: Partial<Record<_gem_sdk_core.NameDevices, boolean>> | undefined;
|
|
930
932
|
} & {
|
|
931
933
|
rootId?: string | undefined;
|
|
932
934
|
rootClass?: string | undefined;
|
|
@@ -6395,6 +6397,7 @@ declare const _default$3: {
|
|
|
6395
6397
|
isProductList?: boolean | undefined;
|
|
6396
6398
|
thumbsSwiper?: string | undefined;
|
|
6397
6399
|
productBadgeLiquid?: string | undefined;
|
|
6400
|
+
renderByLayout?: Partial<Record<_gem_sdk_core.NameDevices, boolean>> | undefined;
|
|
6398
6401
|
} & {
|
|
6399
6402
|
rootId?: string | undefined;
|
|
6400
6403
|
rootClass?: string | undefined;
|
|
@@ -7359,6 +7362,7 @@ declare const _default$2: {
|
|
|
7359
7362
|
isProductList?: boolean | undefined;
|
|
7360
7363
|
thumbsSwiper?: string | undefined;
|
|
7361
7364
|
productBadgeLiquid?: string | undefined;
|
|
7365
|
+
renderByLayout?: Partial<Record<_gem_sdk_core.NameDevices, boolean>> | undefined;
|
|
7362
7366
|
} & {
|
|
7363
7367
|
rootId?: string | undefined;
|
|
7364
7368
|
rootClass?: string | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gem-sdk/components",
|
|
3
|
-
"version": "12.0.0-dev.
|
|
3
|
+
"version": "12.0.0-dev.126",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"i18n:extract": "rollup -c ./scripts/rollup.config.settings.mjs && node ./scripts/translate/extract-texts-to-locales.js && node ./scripts/translate/en-keys-usage.js"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@gem-sdk/core": "12.0.0-dev.
|
|
29
|
+
"@gem-sdk/core": "12.0.0-dev.126",
|
|
30
30
|
"@gem-sdk/styles": "12.0.0-dev.124",
|
|
31
31
|
"@gem-sdk/system": "12.0.0-dev.124",
|
|
32
32
|
"@types/react-transition-group": "^4.4.12",
|