@gem-sdk/components 12.0.0-dev.145 → 12.0.0-dev.146
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/product/components/product-list-v3/ProductList.js +1 -1
- package/dist/cjs/product/components/product-list-v3/common/classes.js +1 -1
- package/dist/cjs/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -1
- package/dist/cjs/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -1
- package/dist/cjs/product/components/product-wrap/hook/useProductQuery.js +1 -0
- package/dist/cjs/product/components/product-wrap/hook/useProductSetting.js +1 -1
- package/dist/esm/product/components/product-list-v3/ProductList.js +1 -1
- package/dist/esm/product/components/product-list-v3/common/classes.js +1 -1
- package/dist/esm/product/components/product-list-v3/hooks/useCollectionQuery.js +1 -1
- package/dist/esm/product/components/product-list-v3/hooks/useMainRelatedProductQuery.js +1 -1
- package/dist/esm/product/components/product-wrap/hook/useProductQuery.js +1 -0
- package/dist/esm/product/components/product-wrap/hook/useProductSetting.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("next/dynamic"),r=require("../../../common/components/Loading.js"),o=require("react"),s=require("@gem-sdk/core"),l=require("../SalePageProductListWarning.js"),d=require("next/head"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("next/dynamic"),r=require("../../../common/components/Loading.js"),o=require("react"),s=require("@gem-sdk/core"),l=require("../SalePageProductListWarning.js"),d=require("next/head"),a=require("./ProductListGridLayout.js"),i=require("./ProductListCarouselLayout.js"),u=require("./common/styles.js"),n=require("@gem-sdk/system"),c=require("./common/classes.js"),g=require("./common/helpers.js"),m=require("../../../dialog/common/helpers.js"),h=require("./hooks/useProductsQuery.js"),P=require("./hooks/useCollectionQuery.js"),f=require("./hooks/useProductRelatedQuery.js"),p=require("./hooks/useMainRelatedProductQuery.js");const y=t(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:r.default});exports.default=t=>{let{children:j,styles:k,builderProps:x,setting:I,builderAttrs:S}=t,{isRelatedProduct:v,productSetting:q}=g.getData(t),{isEditMode:T}=s.useRenderMode(),b=s.useCurrentDevice(),C=s.usePageType(),w=s.usePageStore(e=>e.dynamicCollection),[L,M]=o.useState(1),[G,O]=o.useState(!0),A=o.useRef(),N="GP_FUNNEL_PAGE"===C;"GP_COLLECTION"==C&&(q.productSrc="DynamicCollection",q.collectionId=w?.collectionId??"latest");let B=q?.productSrc??"Collection",{mainRelatedProduct:D,relatedProductIdAssigned:E}=p.default({productSrc:B,relatedProductId:q.relatedProductId}),Q=q.relatedTag&&q.relatedTag[0],F=q.relatedTag&&"tags"===q.relatedTag[0]&&(!D?.tags||D?.tags.length===0),R=q.relatedTag&&"collection"===q.relatedTag[0]&&(!D?.collections?.edges||D?.collections.edges.length===0),_=q.relatedTag&&"vendor"===q.relatedTag[0]&&!D?.vendor,{isNotFoundRelatedProduct:z,relatedProducts:H}=f.default({isRelatedProduct:v,productSetting:q,setting:I,mainRelatedProduct:D,productSrc:B}),W=h.useProductsQuery({productIds:q?.productIds,defaultSelectedProductCount:q?.numOfSelectedProducts,productSrc:B}),$=P.useCollectionQuery({productSrc:B,collectionID:q?.collectionId??"latest",numberOfProducts:I?.numberOfProducts??4,orderBy:I?.orderBy??"none"}),V="PickProduct"===B?W.isLoading:$.isLoading,U="PickProduct"===B?W.error:$.error,J="PickProduct"===B?W.isValidating:$.isValidating,K=$.data?.collections?.edges?.[0]?.node,X="PickProduct"===B?s.flattenConnection(W.data?.products):s.flattenConnection(K?.products),Y=s.usePageStore(e=>e.assignedProductIds),Z=s.usePageStore(e=>e.isApplyAllProducts),ee=o.useMemo(()=>(Y??[]).length>0&&!Z||Z,[Y,Z]),et=H?.data?.products&&ee?s.flattenConnection(H?.data?.products):[],er=v?et:"PickProduct"===B&&q?.productIds?.length?q?.productIds?.map(e=>X?.find(t=>t?.baseID===e)).filter(Boolean)??X:"PickProduct"!==B?X:X.filter((e,t)=>t<(q?.numOfSelectedProducts??4)),eo=o.useMemo(()=>z&&v&&T||!er.length&&!V&&G&&T,[G,V,z,v,T,er.length]),es=o.useMemo(()=>!er||z&&v,[z,v,er]),el=o.useMemo(()=>{if(!I?.sameHeight)return[];let e=0,t=Math.ceil((er?.length??0)/+(I?.slidesToShow?.[b]??1));return Array.from(Array(er?.length??0)).map((r,o)=>(o>=+(I?.slidesToShow?.[b]??1)*(e+1)&&++e,{gridRow:`${1+L*e}/${L+1+L*e}`,marginBottom:e+1<t?m.getPropertyByDevice(k?.horizontalGutter,b):void 0}))},[I?.sameHeight,I?.slidesToShow,L,er?.length,b,k?.horizontalGutter]),ed=o.useMemo(()=>J||V||U||!er||z&&v,[U,V,z,v,J,er]);o.useEffect(()=>{if(!ed&&!V&&!J)return A.current=setTimeout(()=>{let{builderData:e}=x??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&M(r.childElementCount||1)},T?0:500),()=>{clearTimeout(A.current)}},[x,ed,T,V,J,er]);let ea=o.useMemo(()=>({collection:K,products:er,settings:{loop:I?.loop??{desktop:!1},scrollMode:I?.scrollMode??{desktop:"snap"},slidesToShow:I?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:k?.layout,dot:I?.dot,dotStyle:I?.dotStyle,arrow:I?.arrow,controlOverContent:I?.controlOverContent},styles:{horizontalGutter:k?.horizontalGutter,verticalGutter:k?.verticalGutter,fullWidth:k?.fullWidth,spacing:k?.spacing,width:k?.width,height:k?.height}}),[K,er,I,k]);if(x?.isPreview&&N)return e.jsx(e.Fragment,{});if(eo)return e.jsx(e.Fragment,{children:n.If(G,e.jsx(y,{builderAttrs:S,collectionHandle:K?.handle,productSrc:B,onClose:()=>O(!1),children:j,relatedTagString:Q,assignProductNoTags:F||R||_,noAssignedProduct:!E}))});let{productListWrapStyle:ei,productListContentStyle:eu,productListWrapAlignStyle:en}=u.getStyle(t),{productListWrapClass:ec}=c.getClass(t);return e.jsxs("div",{...S,className:ec,style:ei,children:[!!k?.preloadBgImage&&e.jsxs(d,{children:[!!k.backgroundImage?.desktop?.image?.src&&e.jsx("link",{rel:"preload",href:k.backgroundImage.desktop.image.src,as:"image"}),!!k.backgroundImage?.tablet?.image?.src&&e.jsx("link",{rel:"preload",href:k.backgroundImage?.tablet?.image?.src,as:"image"}),!!k.backgroundImage?.mobile?.image?.src&&e.jsx("link",{rel:"preload",href:k.backgroundImage?.mobile?.image?.src,as:"image"})]}),V||J?e.jsx(r.default,{}):U?e.jsxs("div",{children:["Error: ",U?.message]}):es?e.jsx("div",{children:"Products not found"}):e.jsx(s.ProductListProvider,{...ea,children:e.jsx("div",{className:"gp-flex gp-w-full",style:en,children:e.jsxs("div",{style:eu,children:[N&&e.jsx(l.default,{}),e.jsx(e.Fragment,{children:n.If(k?.layout==="grid",e.jsx(a.default,{...t,productSortedById:er,generateGridRowArray:el}),e.jsx(i.default,{...t,productSortedById:er}))})]})})}),s.filterToolbarPreview(j,!0)]})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@gem-sdk/system");exports.getClass=s=>{let{setting:t,className:g,builderProps:a,advanced:r,styles:i}=s,l=e.createClass({...g&&{[g]:!0},...r?.cssClass&&{[r.cssClass]:!0},"!gp-m-auto gp-grid gp-w-full":!0,"gp-grid-flow-row":t?.sameHeight}),p=e.createClass({"gp-relative gp-flex":!0,[`${a?.builderData?.uid}`]:!0}),d=e.createClass({"gp-contents":t?.sameHeight&&i?.layout==="grid"}),c=e.createClass({"gp-justify-center":!0,"gp-overflow-hidden":!t?.sameHeight}),
|
|
1
|
+
"use strict";var e=require("@gem-sdk/system");exports.getClass=s=>{let{setting:t,className:g,builderProps:a,advanced:r,styles:i}=s,l=e.createClass({...g&&{[g]:!0},...r?.cssClass&&{[r.cssClass]:!0},"!gp-m-auto gp-grid gp-w-full":!0,"gp-grid-flow-row":t?.sameHeight}),p=e.createClass({"gp-relative gp-flex":!0,[`${a?.builderData?.uid}`]:!0}),d=e.createClass({"gp-contents":t?.sameHeight&&i?.layout==="grid"}),c=e.createClass({"gp-justify-center":!0,"gp-overflow-hidden":!t?.sameHeight}),o=e.createClass({"gp-contents [&>*>div]:gp-contents [&>*]:gp-grid-rows-[subgrid] [&>*]:gp-gap-y-0":t?.sameHeight&&i?.layout==="grid",[`gp-child-item-${a?.uid}`]:!0});return{gridLayoutClass:l,productItemClass:o,carouselClass:c,productListWrapClass:p,gpProductClass:d}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@gem-sdk/core"),
|
|
1
|
+
"use strict";var e=require("@gem-sdk/core"),t=require("react"),r=require("swr"),o=require("../constants/index.js");exports.useCollectionQuery=({productSrc:a,numberOfProducts:i,orderBy:n,collectionID:s})=>{let u=e.useFetchHandle(),l=e.usePageStore(e=>e.publicStoreFrontData),c=t.useMemo(()=>e.hasPublicStoreFrontData(l)?e.createStoreFrontFetcher(l):u,[l]),d=e.useIsSampleProduct(),C=e.useIsStorefrontProduct(),g=t.useMemo(()=>({id:s,numberOfProducts:i,orderBy:n}),[s,i,n]),S=r(e.generateCollectionQueryKey({...g,isSample:d,isStorefront:C}),([,t])=>e.getCollection(c,t),{revalidateOnMount:!1});return t.useEffect(()=>{if(a!==o.PRODUCT_SOURCE.Collection&&a!==o.PRODUCT_SOURCE.DynamicCollection)return;let e=!!S.error,t=S.isLoading||S.isValidating,r=!S.data&&!t;!e&&r&&S.mutate()},[a,S.data,S.error,S.isLoading,S.isValidating]),S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@gem-sdk/core"),r=require("../../product-wrap/hook/useProductQuery.js"),t=require("../constants/index.js");exports.default=({productSrc:d,relatedProductId:u})=>{let o=e.usePageStore(e=>e.dynamicProduct),a=o?.productId&&o?.productId!==u?o?.productId:u,{productData:{data:c}}=r.default({id:d===t.PRODUCT_SOURCE.RelatedProduct&&a?a:void 0});return{relatedProductIdAssigned:a,mainRelatedProduct:c}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@gem-sdk/core"),r=require("react"),t=require("swr");exports.default=({id:a})=>{let u=e.useFetchHandle(),o=e.usePageStore(e=>e.publicStoreFrontData),s=e.useIsSampleProduct(),i=e.useIsStorefrontProduct(),n=r.useMemo(()=>e.hasPublicStoreFrontData(o)?e.createStoreFrontFetcher(o):u,[o]),d=r.useMemo(()=>a?e.generateProductQueryKey({id:a,isSample:s,isStorefront:i}):null,[a,s,i]),c=t(d,async([,r])=>e.getProduct(n,r),{revalidateOnMount:!1});return r.useEffect(()=>{if(!a)return;let e=!!c.error,r=c.isLoading||c.isValidating,t=!c.data&&!r;!e&&t&&c.mutate()},[a,c.data,c.error,c.isLoading,c.isValidating]),{productData:c}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@gem-sdk/core"),t=require("react");exports.useProductSetting=
|
|
1
|
+
"use strict";var e=require("@gem-sdk/core"),t=require("react"),r=require("./useProductQuery.js");exports.useProductSetting=a=>{let{setting:d}=a,{productSetting:u,quantity:i,readOnly:s,isSyncProduct:c}=d??{},o=e.usePageType(),P=e.usePageStore(e=>e.dynamicProduct),{isEditMode:n}=e.useRenderMode(),l=u?.productId??"latest",S=u?.productStatus=="dynamic"?{...u,...P}:u,g=S?.initialVariantId,p=S?.initialVariantBaseId,{productData:{data:y,isLoading:m,error:h}}=r.default({id:l}),[q,I]=t.useState(!0),k=(h||!y&&!m)&&n,D=t.useMemo(()=>({product:y,initialVariantId:g,initialVariantBaseId:p,quantity:i,readOnly:s,isSyncProduct:c,key:`uid-${y?.id}-${g??""}`,hasPreSelected:u?.hasPreSelected}),[p,g,c,y,u?.hasPreSelected,i,s]);return{forceProductSetting:S,isProductPage:"PRODUCT"===o,isProductNotFound:k,showProductNotFound:q,isLoading:m,product:y,errorLoadProduct:h,isEditor:n,productProviderData:D,setShowProductNotFound:I}};
|
|
@@ -1 +1 @@
|
|
|
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,useRef as i,useMemo 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,useRef as i,useMemo as a,useEffect as s}from"react";import{useRenderMode as c,useCurrentDevice as n,usePageType as m,usePageStore as u,flattenConnection as g,ProductListProvider as p,filterToolbarPreview as h}from"@gem-sdk/core";import f from"../SalePageProductListWarning.js";import P from"next/head";import k from"./ProductListGridLayout.js";import y from"./ProductListCarouselLayout.js";import{getStyle as I}from"./common/styles.js";import{If as T}from"@gem-sdk/system";import{getClass as b}from"./common/classes.js";import{getData as S}from"./common/helpers.js";import{getPropertyByDevice as j}from"../../../dialog/common/helpers.js";import{useProductsQuery as v}from"./hooks/useProductsQuery.js";import{useCollectionQuery as w}from"./hooks/useCollectionQuery.js";import C from"./hooks/useProductRelatedQuery.js";import L from"./hooks/useMainRelatedProductQuery.js";let G=r(()=>import("../ProductNotFound.js"),{loading:d}),O=r=>{let{children:O,styles:A,builderProps:N,setting:x,builderAttrs:B}=r,{isRelatedProduct:E,productSetting:z}=S(r),{isEditMode:M}=c(),Q=n(),D=m(),H=u(e=>e.dynamicCollection),[R,W]=l(1),[$,_]=l(!0),F=i(),V="GP_FUNNEL_PAGE"===D;"GP_COLLECTION"==D&&(z.productSrc="DynamicCollection",z.collectionId=H?.collectionId??"latest");let q=z?.productSrc??"Collection",{mainRelatedProduct:U,relatedProductIdAssigned:J}=L({productSrc:q,relatedProductId:z.relatedProductId}),K=z.relatedTag&&z.relatedTag[0],X=z.relatedTag&&"tags"===z.relatedTag[0]&&(!U?.tags||U?.tags.length===0),Y=z.relatedTag&&"collection"===z.relatedTag[0]&&(!U?.collections?.edges||U?.collections.edges.length===0),Z=z.relatedTag&&"vendor"===z.relatedTag[0]&&!U?.vendor,{isNotFoundRelatedProduct:ee,relatedProducts:eo}=C({isRelatedProduct:E,productSetting:z,setting:x,mainRelatedProduct:U,productSrc:q}),et=v({productIds:z?.productIds,defaultSelectedProductCount:z?.numOfSelectedProducts,productSrc:q}),er=w({productSrc:q,collectionID:z?.collectionId??"latest",numberOfProducts:x?.numberOfProducts??4,orderBy:x?.orderBy??"none"}),ed="PickProduct"===q?et.isLoading:er.isLoading,el="PickProduct"===q?et.error:er.error,ei="PickProduct"===q?et.isValidating:er.isValidating,ea=er.data?.collections?.edges?.[0]?.node,es="PickProduct"===q?g(et.data?.products):g(ea?.products),ec=u(e=>e.assignedProductIds),en=u(e=>e.isApplyAllProducts),em=a(()=>(ec??[]).length>0&&!en||en,[ec,en]),eu=eo?.data?.products&&em?g(eo?.data?.products):[],eg=E?eu:"PickProduct"===q&&z?.productIds?.length?z?.productIds?.map(e=>es?.find(o=>o?.baseID===e)).filter(Boolean)??es:"PickProduct"!==q?es:es.filter((e,o)=>o<(z?.numOfSelectedProducts??4)),ep=a(()=>ee&&E&&M||!eg.length&&!ed&&$&&M,[$,ed,ee,E,M,eg.length]),eh=a(()=>!eg||ee&&E,[ee,E,eg]),ef=a(()=>{if(!x?.sameHeight)return[];let e=0,o=Math.ceil((eg?.length??0)/+(x?.slidesToShow?.[Q]??1));return Array.from(Array(eg?.length??0)).map((t,r)=>(r>=+(x?.slidesToShow?.[Q]??1)*(e+1)&&++e,{gridRow:`${1+R*e}/${R+1+R*e}`,marginBottom:e+1<o?j(A?.horizontalGutter,Q):void 0}))},[x?.sameHeight,x?.slidesToShow,R,eg?.length,Q,A?.horizontalGutter]),eP=a(()=>ei||ed||el||!eg||ee&&E,[el,ed,ee,E,ei,eg]);s(()=>{if(!eP&&!ed&&!ei)return F.current=setTimeout(()=>{let{builderData:e}=N??{},o=e?.childrens?.[0];if(!o)return;let t=document.querySelector(`[data-id=${o}] div`);t&&W(t.childElementCount||1)},M?0:500),()=>{clearTimeout(F.current)}},[N,eP,M,ed,ei,eg]);let ek=a(()=>({collection:ea,products:eg,settings:{loop:x?.loop??{desktop:!1},scrollMode:x?.scrollMode??{desktop:"snap"},slidesToShow:x?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:A?.layout,dot:x?.dot,dotStyle:x?.dotStyle,arrow:x?.arrow,controlOverContent:x?.controlOverContent},styles:{horizontalGutter:A?.horizontalGutter,verticalGutter:A?.verticalGutter,fullWidth:A?.fullWidth,spacing:A?.spacing,width:A?.width,height:A?.height}}),[ea,eg,x,A]);if(N?.isPreview&&V)return e(o,{});if(ep)return e(o,{children:T($,e(G,{builderAttrs:B,collectionHandle:ea?.handle,productSrc:q,onClose:()=>_(!1),children:O,relatedTagString:K,assignProductNoTags:X||Y||Z,noAssignedProduct:!J}))});let{productListWrapStyle:ey,productListContentStyle:eI,productListWrapAlignStyle:eT}=I(r),{productListWrapClass:eb}=b(r);return t("div",{...B,className:eb,style:ey,children:[!!A?.preloadBgImage&&t(P,{children:[!!A.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:A.backgroundImage.desktop.image.src,as:"image"}),!!A.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:A.backgroundImage?.tablet?.image?.src,as:"image"}),!!A.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:A.backgroundImage?.mobile?.image?.src,as:"image"})]}),ed||ei?e(d,{}):el?t("div",{children:["Error: ",el?.message]}):eh?e("div",{children:"Products not found"}):e(p,{...ek,children:e("div",{className:"gp-flex gp-w-full",style:eT,children:t("div",{style:eI,children:[V&&e(f,{}),e(o,{children:T(A?.layout==="grid",e(k,{...r,productSortedById:eg,generateGridRowArray:ef}),e(y,{...r,productSortedById:eg}))})]})})}),h(O,!0)]})};export{O as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createClass as e}from"@gem-sdk/system";let g=g=>{let{setting:t,className:s,builderProps:i,advanced:
|
|
1
|
+
import{createClass as e}from"@gem-sdk/system";let g=g=>{let{setting:t,className:s,builderProps:i,advanced:p,styles:r}=g,l=e({...s&&{[s]:!0},...p?.cssClass&&{[p.cssClass]:!0},"!gp-m-auto gp-grid gp-w-full":!0,"gp-grid-flow-row":t?.sameHeight}),a=e({"gp-relative gp-flex":!0,[`${i?.builderData?.uid}`]:!0}),d=e({"gp-contents":t?.sameHeight&&r?.layout==="grid"}),o=e({"gp-justify-center":!0,"gp-overflow-hidden":!t?.sameHeight}),m=e({"gp-contents [&>*>div]:gp-contents [&>*]:gp-grid-rows-[subgrid] [&>*]:gp-gap-y-0":t?.sameHeight&&r?.layout==="grid",[`gp-child-item-${i?.uid}`]:!0});return{gridLayoutClass:l,productItemClass:m,carouselClass:o,productListWrapClass:a,gpProductClass:d}};export{g as getClass};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useFetchHandle as
|
|
1
|
+
import{useFetchHandle as t,usePageStore as r,hasPublicStoreFrontData as o,createStoreFrontFetcher as i,useIsSampleProduct as e,useIsStorefrontProduct as a,generateCollectionQueryKey as n,getCollection as l}from"@gem-sdk/core";import{useMemo as m,useEffect as d}from"react";import s from"swr";import{PRODUCT_SOURCE as c}from"../constants/index.js";let u=({productSrc:u,numberOfProducts:p,orderBy:f,collectionID:g})=>{let C=t(),x=r(t=>t.publicStoreFrontData),y=m(()=>o(x)?i(x):C,[x]),D=e(),L=a(),V=m(()=>({id:g,numberOfProducts:p,orderBy:f}),[g,p,f]),b=s(n({...V,isSample:D,isStorefront:L}),([,t])=>l(y,t),{revalidateOnMount:!1});return d(()=>{if(u!==c.Collection&&u!==c.DynamicCollection)return;let t=!!b.error,r=b.isLoading||b.isValidating,o=!b.data&&!r;!t&&o&&b.mutate()},[u,b.data,b.error,b.isLoading,b.isValidating]),b};export{u as useCollectionQuery};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{usePageStore as t}from"@gem-sdk/core";import r from"../../product-wrap/hook/useProductQuery.js";import{PRODUCT_SOURCE as d}from"../constants/index.js";let o=({productSrc:o,relatedProductId:e})=>{let u=t(t=>t.dynamicProduct),a=u?.productId&&u?.productId!==e?u?.productId:e,{productData:{data:c}}=r({id:o===d.RelatedProduct&&a?a:void 0});return{relatedProductIdAssigned:a,mainRelatedProduct:c}};export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useFetchHandle as r,usePageStore as t,useIsSampleProduct as a,useIsStorefrontProduct as e,hasPublicStoreFrontData as i,createStoreFrontFetcher as o,generateProductQueryKey as n,getProduct as d}from"@gem-sdk/core";import{useMemo as l,useEffect as u}from"react";import s from"swr";let m=({id:m})=>{let c=r(),f=t(r=>r.publicStoreFrontData),g=a(),p=e(),y=l(()=>i(f)?o(f):c,[f]),L=l(()=>m?n({id:m,isSample:g,isStorefront:p}):null,[m,g,p]),V=s(L,async([,r])=>d(y,r),{revalidateOnMount:!1});return u(()=>{if(!m)return;let r=!!V.error,t=V.isLoading||V.isValidating,a=!V.data&&!t;!r&&a&&V.mutate()},[m,V.data,V.error,V.isLoading,V.isValidating]),{productData:V}};export{m as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{usePageType as t,usePageStore as
|
|
1
|
+
import{usePageType as t,usePageStore as r,useRenderMode as e}from"@gem-sdk/core";import{useState as d,useMemo as a}from"react";import i from"./useProductQuery.js";let o=o=>{let{setting:c}=o,{productSetting:u,quantity:s,readOnly:P,isSyncProduct:m}=c??{},l=t(),n=r(t=>t.dynamicProduct),{isEditMode:p}=e(),S=u?.productId??"latest",y=u?.productStatus=="dynamic"?{...u,...n}:u,f=y?.initialVariantId,g=y?.initialVariantBaseId,{productData:{data:h,isLoading:I,error:k}}=i({id:S}),[D,V]=d(!0),$=(k||!h&&!I)&&p,j=a(()=>({product:h,initialVariantId:f,initialVariantBaseId:g,quantity:s,readOnly:P,isSyncProduct:m,key:`uid-${h?.id}-${f??""}`,hasPreSelected:u?.hasPreSelected}),[g,f,m,h,u?.hasPreSelected,s,P]);return{forceProductSetting:y,isProductPage:"PRODUCT"===l,isProductNotFound:$,showProductNotFound:D,isLoading:I,product:h,errorLoadProduct:k,isEditor:p,productProviderData:j,setShowProductNotFound:V}};export{o as useProductSetting};
|
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.146",
|
|
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.146",
|
|
30
30
|
"@gem-sdk/styles": "12.0.0-dev.142",
|
|
31
31
|
"@gem-sdk/system": "12.0.0-dev.142",
|
|
32
32
|
"@types/react-transition-group": "^4.4.12",
|