@gem-sdk/components 17.0.0-staging.5 → 17.0.0-staging.6
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/collection/components/collection-description/CollectionDescription.js +1 -1
- package/dist/cjs/post-purchase/product/components/product-variant/components/ProductVariant.js +1 -1
- package/dist/cjs/product/components/product-bundle/ProductBundleDiscount.js +1 -1
- package/dist/cjs/product/components/product-sku/Sku.js +1 -1
- package/dist/esm/collection/components/collection-description/CollectionDescription.js +1 -1
- package/dist/esm/post-purchase/product/components/product-variant/components/ProductVariant.js +1 -1
- package/dist/esm/product/components/product-bundle/ProductBundleDiscount.js +1 -1
- package/dist/esm/product/components/product-sku/Sku.js +1 -1
- package/package.json +1 -1
|
@@ -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"),styles=require("./common/styles.js"),classes=require("./common/classes.js"),system=require("@gem-sdk/system"),helpers=require("./common/helpers.js"),useDescription=require("../../hooks/useDescription.js");const
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),styles=require("./common/styles.js"),classes=require("./common/classes.js"),system=require("@gem-sdk/system"),helpers=require("./common/helpers.js"),useDescription=require("../../hooks/useDescription.js");const CollectionDescription=({setting:e,builderProps:s,pageContext:t,advanced:l})=>{let{isPreviewSharePageMode:r}=core.useRenderMode(),a=core.useCollection(),{ref:i,open:c,isShowViewMore:n,handleToggleShowMore:o,hasLineClamp:m}=useDescription.useGpDescription(e),u=core.t("This collection does not have a description"),y=a?.descriptionHtml,p=system.createClass(classes.getClassContainerCollectionDes({setting:e})),x=system.createClass(classes.getClassEmptyCollectionDes()),d=system.createClass(classes.getClassButtonViewMore({setting:e})),j=system.createClass(classes.getDescriptionClasses({advanced:l})),C=system.createClass({...classes.getShowMoreIconClasses(),...c?{"gp-rotate-180":!0}:{}}),g=system.createClass(classes.getShowMoreTextClasses()),h=system.createClass(classes.getClassPreBuilt()),R=system.createStyle({...styles.getDefaultStyleCollectionDes({setting:e}),...c?{}:core.makeStyleResponsive("line-clamp",core.makeLineClamp(e?.lineClamp,e?.hasLineClamp))}),S=system.createStyle({...styles.getStyleDefaultViewMore(e)}),D=helpers.getViewLessText({setting:e,builderProps:s,pageContext:t,type:"react"}),M=helpers.getViewMoreText({setting:e,builderProps:s,pageContext:t,type:"react"}),I=system.createAttr({"data-id":`${s?.uid}`}),f=system.createAttr({"data-gp-text":""}),{gpDescriptionCss:_,textDescriptionCss:v}=styles.getStaticCss(),N=r?"":jsxRuntime.jsx("div",{className:x,dangerouslySetInnerHTML:{__html:u}});return jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(!y,N,jsxRuntime.jsxs("div",{...I,className:j,children:[jsxRuntime.jsx("style",{children:v}),jsxRuntime.jsx("style",{children:_}),jsxRuntime.jsx("div",{className:h}),jsxRuntime.jsx("div",{ref:i,className:p,style:R,dangerouslySetInnerHTML:{__html:a?.descriptionHtml??""},...f}),system.If(m&&n,jsxRuntime.jsxs("button",{type:"button",className:d,style:S,onClick:o,children:[jsxRuntime.jsx("span",{className:g,children:system.If(c,D?.toString()??"",M?.toString()??"")}),system.If(e?.enableViewMoreIcon,jsxRuntime.jsx("span",{className:C,dangerouslySetInnerHTML:{__html:helpers.ICON_SVG}}),"")]}),"")]}))})};exports.default=CollectionDescription;
|
package/dist/cjs/post-purchase/product/components/product-variant/components/ProductVariant.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"),VariantGroup=require("./variants/VariantGroup.js"),system=require("@gem-sdk/system"),classes=require("../common/classes.js"),styles=require("../common/styles.js"),ProductOption=require("./ProductOption.js"),core=require("@gem-sdk/core"),useTransition=require("../hooks/useTransition.js"),React=require("react"),product=require("../../../../../product/helpers/product.js");const PostPurchaseProductVariants=({builderProps:e,style:t,styles:s,setting:r})=>{let{hasPreSelected:a}=r??{},i="variant",n=!1,{dropdownItemWidth:o}=s??{},{optionType:c,variantPresets:l}=r??{},u=core.useVariants(),d=core.useProduct(),p=core.useIsSyncProduct(),{selectedOptions:m,setSelectedOption:f,forceSelectedOption:h}=core.useSelectedOption(),[j,R]=React.useState(""),w=core.useEditorMode();React.useEffect(()=>{let e=new URL(window.location.href),t=e.searchParams.get(i);t&&R(t)},[]);let y=()=>{let e=new URL(window.location.href),t=e.searchParams.get(i);if(t){let e=u.find(e=>e?.id===t);return e}return null};React.useEffect(()=>{let e=y();if(e){let t=e?.selectedOptions.reduce((e,t)=>t.name?{...e,[t.name]:t.value}:e,{})??{};h(t,d?.id,!0)}},[]);let x=d?.options;core.useInitialSwatchesOptions(x);let g=core.useSwatchesOptions(x),[P,v]=React.useState(!1),S=product.checkDefaultVariant(d),V=React.useMemo(()=>"groupOption"===c,[c]),O=()=>{let e={};return core.DEVICES.forEach(t=>{e[t]=o?.[t]==="fill"}),e},C=React.useCallback(e=>{let t=l?.find(t=>t.optionName===e);return t||l?.find(e=>"base"===e.optionName)},[l]),E=React.useCallback(e=>{let t=e.detail,s=d?.id;v(!0),p&&t&&s==t.productId&&f(t.optionId,t.optionValue,s,!0)},[p,d?.id,f]),q=React.useCallback(e=>{let t=e.detail,s=d?.id;v(!0),p&&t&&s==t.productId&&h(t.selectedOption,s,!0)},[h,p,d?.id]),L=e=>{let t=new URL(window.location.href);e?t.searchParams.set(i,e):t.searchParams.delete(i),history.replaceState(null,"",t.toString())};React.useEffect(()=>(window.addEventListener("set-selected-option",E),window.addEventListener("force-selected-option",q),()=>{window.removeEventListener("set-selected-option",E),window.removeEventListener("force-selected-option",q)}),[q,E]),useTransition.useTransition(e=>{if(!n){n=!0;return}let t=JSON.stringify(e),s=JSON.stringify(m);if(e&&t!==s){let e=core.getSelectedVariant(u,m);L(e?.id||"")}},[m]);let b=system.createClass({...classes.getDefaultVariantClasses()}),k=system.createClass({...classes.getContainerClasses()}),N=system.createClass({...classes.getDropdownVariantWrapperClasses(s,V)}),I=system.createStyle({...styles.getWrapperStyles({setting:r,styles:s,style:t})});return jsxRuntime.jsx(jsxRuntime.Fragment,{children:S?jsxRuntime.jsx("div",{children:"edit"===w&&jsxRuntime.jsx("p",{className:b,children:"This product has only default variant"})}):jsxRuntime.jsxs("div",{className:k,style:I,children:[!V&&g?.map((t,i)=>jsxRuntime.jsx(ProductOption.default,{option:t,indexOption:i,productVariantSettings:{getVariantConfiguration:C,getSwatchDropdownAutoWidth:O,hasPreSelected:a,variantId:j,selectedOptions:m,isChangeVariant:P},setting:r,styles:s,builderProps:e,optionLength:g.length},t.id)),V&&jsxRuntime.jsx("div",{className:N,children:jsxRuntime.jsx(VariantGroup.default,{...s,...r,variantGroup:!0,label:"Variants",swatchAutoWidth:O()})})]})})};exports.default=PostPurchaseProductVariants;
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),VariantGroup=require("./variants/VariantGroup.js"),system=require("@gem-sdk/system"),classes=require("../common/classes.js"),styles=require("../common/styles.js"),ProductOption=require("./ProductOption.js"),core=require("@gem-sdk/core"),useTransition=require("../hooks/useTransition.js"),React=require("react"),product=require("../../../../../product/helpers/product.js");const PostPurchaseProductVariants=({builderProps:e,style:t,styles:s,setting:r})=>{let{hasPreSelected:a}=r??{},i="variant",n=!1,{dropdownItemWidth:o}=s??{},{optionType:c,variantPresets:l}=r??{},u=core.useVariants(),d=core.useProduct(),p=core.useIsSyncProduct(),{selectedOptions:m,setSelectedOption:f,forceSelectedOption:h}=core.useSelectedOption(),[j,R]=React.useState(""),w=core.useEditorMode();React.useEffect(()=>{let e=new URL(window.location.href),t=e.searchParams.get(i);t&&R(t)},[]);let y=()=>{let e=new URL(window.location.href),t=e.searchParams.get(i);if(t){let e=u.find(e=>e?.id===t);return e}return null};React.useEffect(()=>{let e=y();if(e){let t=e?.selectedOptions.reduce((e,t)=>t.name?{...e,[t.name]:t.value}:e,{})??{};h(t,d?.id,!0)}},[]);let x=d?.options;core.useInitialSwatchesOptions(x);let g=core.useSwatchesOptions(x),[P,v]=React.useState(!1),S=product.checkDefaultVariant(d),V=React.useMemo(()=>"groupOption"===c,[c]),O=()=>{let e={};return core.DEVICES.forEach(t=>{e[t]=o?.[t]==="fill"}),e},C=React.useCallback(e=>{let t=l?.find(t=>t.optionName===e);return t||l?.find(e=>"base"===e.optionName)},[l]),E=React.useCallback(e=>{let t=e.detail,s=d?.id;v(!0),p&&t&&s==t.productId&&f(t.optionId,t.optionValue,s,!0)},[p,d?.id,f]),q=React.useCallback(e=>{let t=e.detail,s=d?.id;v(!0),p&&t&&s==t.productId&&h(t.selectedOption,s,!0)},[h,p,d?.id]),L=e=>{let t=new URL(window.location.href);e?t.searchParams.set(i,e):t.searchParams.delete(i),history.replaceState(null,"",t.toString())};React.useEffect(()=>(window.addEventListener("set-selected-option",E),window.addEventListener("force-selected-option",q),()=>{window.removeEventListener("set-selected-option",E),window.removeEventListener("force-selected-option",q)}),[q,E]),useTransition.useTransition(e=>{if(!n){n=!0;return}let t=JSON.stringify(e),s=JSON.stringify(m);if(e&&t!==s){let e=core.getSelectedVariant(u,m);L(e?.id||"")}},[m]);let b=system.createClass({...classes.getDefaultVariantClasses()}),k=system.createClass({...classes.getContainerClasses()}),N=system.createClass({...classes.getDropdownVariantWrapperClasses(s,V)}),I=system.createStyle({...styles.getWrapperStyles({setting:r,styles:s,style:t})});return jsxRuntime.jsx(jsxRuntime.Fragment,{children:S?jsxRuntime.jsx("div",{children:"edit"===w&&jsxRuntime.jsx("p",{className:b,children:core.t("This product has only default variant")})}):jsxRuntime.jsxs("div",{className:k,style:I,children:[!V&&g?.map((t,i)=>jsxRuntime.jsx(ProductOption.default,{option:t,indexOption:i,productVariantSettings:{getVariantConfiguration:C,getSwatchDropdownAutoWidth:O,hasPreSelected:a,variantId:j,selectedOptions:m,isChangeVariant:P},setting:r,styles:s,builderProps:e,optionLength:g.length},t.id)),V&&jsxRuntime.jsx("div",{className:N,children:jsxRuntime.jsx(VariantGroup.default,{...s,...r,variantGroup:!0,label:"Variants",swatchAutoWidth:O()})})]})})};exports.default=PostPurchaseProductVariants;
|
|
@@ -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"),NoDataState=require("../../../common/components/NoDataState.js"),system=require("@gem-sdk/system"),styles=require("./common/styles.js"),classes=require("./common/classes.js"),useProductBundleDataState=require("./hooks/useProductBundleDataState.js"),useProductBundleDiscountState=require("./hooks/useProductBundleDiscountState.js"),ProductBundleDiscountChildrenItem=require("./ProductBundleDiscountChildrenItem.js");const ProductBundleDiscount=({builderAttrs:e,style:t,children:s,setting:u,styles:n,advanced:l})=>{let{isEditMode:r,isPreviewSharePageMode:a}=core.useRenderMode(),{isSelected:i,setSelected:o}=useProductBundleDiscountState.default(u),{emitRedirectSetupPage:c,redirectGuideline:d,svgVertical:m,svgHorizontal:y}=useProductBundleDataState.default(),{t:S}=core.useI18nStore(),j=system.createClass(classes.getContainerClasses(u,l?.cssClass)),h=system.createClass(classes.getNoDiscountClasses),D=system.createStyle(styles.getSizeSettings(n)?.gap),x=system.createStyle(styles.getContainerStyles(D,n,t));if(!u?.bundleItems?.length&&r)return jsxRuntime.jsx(NoDataState.default,{elementType:"secondary",description:S("Increase AOV with bundle quantity."),descriptionActions:[{text:S("Setup bundle discount"),callback:c},{text:S("read guideline"),callback:d}],additionalMedia:u?.layout=="horizontal-layout"?y:m});let p=(e,t)=>{if(u?.hideNoDiscountItem&&e?.discountType==="no_discount")return null;let l=s?.[t];if(React.isValidElement(l))return jsxRuntime.jsx(ProductBundleDiscountChildrenItem.default,{index:t,childItem:l,setting:u,styles:n,isSelected:i(t),setSelected:o,bundleItem:e},t)},g=(core.isEmptyChildren(s)||u?.bundleItems?.length==0)&&!a;return jsxRuntime.jsxs("div",{...e,className:j,style:x,children:[system.If(g,jsxRuntime.jsx("div",{className:h,children:"This product has no bundle discount"})),u?.bundleItems?.map((e,t)=>p(e,t))]})};exports.default=ProductBundleDiscount;
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),React=require("react"),NoDataState=require("../../../common/components/NoDataState.js"),system=require("@gem-sdk/system"),styles=require("./common/styles.js"),classes=require("./common/classes.js"),useProductBundleDataState=require("./hooks/useProductBundleDataState.js"),useProductBundleDiscountState=require("./hooks/useProductBundleDiscountState.js"),ProductBundleDiscountChildrenItem=require("./ProductBundleDiscountChildrenItem.js");const ProductBundleDiscount=({builderAttrs:e,style:t,children:s,setting:u,styles:n,advanced:l})=>{let{isEditMode:r,isPreviewSharePageMode:a}=core.useRenderMode(),{isSelected:i,setSelected:o}=useProductBundleDiscountState.default(u),{emitRedirectSetupPage:c,redirectGuideline:d,svgVertical:m,svgHorizontal:y}=useProductBundleDataState.default(),{t:S}=core.useI18nStore(),j=system.createClass(classes.getContainerClasses(u,l?.cssClass)),h=system.createClass(classes.getNoDiscountClasses),D=system.createStyle(styles.getSizeSettings(n)?.gap),x=system.createStyle(styles.getContainerStyles(D,n,t));if(!u?.bundleItems?.length&&r)return jsxRuntime.jsx(NoDataState.default,{elementType:"secondary",description:S("Increase AOV with bundle quantity."),descriptionActions:[{text:S("Setup bundle discount"),callback:c},{text:S("read guideline"),callback:d}],additionalMedia:u?.layout=="horizontal-layout"?y:m});let p=(e,t)=>{if(u?.hideNoDiscountItem&&e?.discountType==="no_discount")return null;let l=s?.[t];if(React.isValidElement(l))return jsxRuntime.jsx(ProductBundleDiscountChildrenItem.default,{index:t,childItem:l,setting:u,styles:n,isSelected:i(t),setSelected:o,bundleItem:e},t)},g=(core.isEmptyChildren(s)||u?.bundleItems?.length==0)&&!a;return jsxRuntime.jsxs("div",{...e,className:j,style:x,children:[system.If(g,jsxRuntime.jsx("div",{className:h,children:S("This product has no bundle discount")})),u?.bundleItems?.map((e,t)=>p(e,t))]})};exports.default=ProductBundleDiscount;
|
|
@@ -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"),system=require("@gem-sdk/system");const ProductSku=({setting:e,builderProps:t,styles:s})=>{let r=core.useCurrentVariant(),{isPreviewSharePageMode:u}=core.useRenderMode();s?.disableHoverColor&&delete s.underlineLink;let i=e?.label&&e.label.trim().length?`${e.label} ${r?.sku??""}`:`${r?.sku??""}`,
|
|
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"),system=require("@gem-sdk/system");const ProductSku=({setting:e,builderProps:t,styles:s})=>{let r=core.useCurrentVariant(),{isPreviewSharePageMode:u,isEditMode:o}=core.useRenderMode();s?.disableHoverColor&&delete s.underlineLink;let i=e?.label&&e.label.trim().length?`${e.label} ${r?.sku??""}`:`${r?.sku??""}`,d=u?"":jsxRuntime.jsx("p",{className:"gp-p-2 gp-text-center gp-text-sm gp-font-semibold gp-text-gray-500",children:o?core.t("This product does not have a SKU 123"):"This product does not have a SKU 123"});return jsxRuntime.jsx("div",{id:`sku-${t?.uid}`,children:system.If(!r?.sku,d,jsxRuntime.jsx(Text.default,{builderProps:t,styles:s,setting:{...e,text:i,excludeFlex:!0}}))})};exports.default=ProductSku;
|
|
@@ -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 s}from"react/jsx-runtime";import{useRenderMode as o,useCollection as r,t as l,makeStyleResponsive as i,makeLineClamp as n}from"@gem-sdk/core";import{getDefaultStyleCollectionDes as m,getStyleDefaultViewMore as a,getStaticCss as c}from"./common/styles.js";import{getClassContainerCollectionDes as p,getClassEmptyCollectionDes as d,getClassButtonViewMore as h,getDescriptionClasses as y,getShowMoreIconClasses as u,getShowMoreTextClasses as f,getClassPreBuilt as g}from"./common/classes.js";import{createClass as N,createStyle as _,createAttr as j,If as v}from"@gem-sdk/system";import{getViewLessText as C,getViewMoreText as H,ICON_SVG as S}from"./common/helpers.js";import{useGpDescription as k}from"../../hooks/useDescription.js";let CollectionDescription=({setting:I,builderProps:L,pageContext:M,advanced:T})=>{let{isPreviewSharePageMode:b}=o(),x=r(),{ref:D,open:w,isShowViewMore:V,handleToggleShowMore:$,hasLineClamp:q}=k(I),z=l("This collection does not have a description"),A=x?.descriptionHtml,B=N(p({setting:I})),E=N(d()),F=N(h({setting:I})),G=N(y({advanced:T})),J=N({...u(),...w?{"gp-rotate-180":!0}:{}}),K=N(f()),O=N(g()),P=_({...m({setting:I}),...w?{}:i("line-clamp",n(I?.lineClamp,I?.hasLineClamp))}),Q=_({...a(I)}),R=C({setting:I,builderProps:L,pageContext:M,type:"react"}),U=H({setting:I,builderProps:L,pageContext:M,type:"react"}),W=j({"data-id":`${L?.uid}`}),X=j({"data-gp-text":""}),{gpDescriptionCss:Y,textDescriptionCss:Z}=c(),ee=b?"":e("div",{className:E,dangerouslySetInnerHTML:{__html:z}});return e(t,{children:v(!A,ee,s("div",{...W,className:G,children:[e("style",{children:Z}),e("style",{children:Y}),e("div",{className:O}),e("div",{ref:D,className:B,style:P,dangerouslySetInnerHTML:{__html:x?.descriptionHtml??""},...X}),v(q&&V,s("button",{type:"button",className:F,style:Q,onClick:$,children:[e("span",{className:K,children:v(w,R?.toString()??"",U?.toString()??"")}),v(I?.enableViewMoreIcon,e("span",{className:J,dangerouslySetInnerHTML:{__html:S}}),"")]}),"")]}))})};export{CollectionDescription as default};
|
package/dist/esm/post-purchase/product/components/product-variant/components/ProductVariant.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 o from"./variants/VariantGroup.js";import{createClass as i,createStyle as n}from"@gem-sdk/system";import{getDefaultVariantClasses as s,getContainerClasses as a,getDropdownVariantWrapperClasses as d}from"../common/classes.js";import{getWrapperStyles as l}from"../common/styles.js";import c from"./ProductOption.js";import{useVariants as m,useProduct as p,useIsSyncProduct as u,useSelectedOption as f,useEditorMode as h,useInitialSwatchesOptions as w,useSwatchesOptions as v,
|
|
2
|
+
import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import o from"./variants/VariantGroup.js";import{createClass as i,createStyle as n}from"@gem-sdk/system";import{getDefaultVariantClasses as s,getContainerClasses as a,getDropdownVariantWrapperClasses as d}from"../common/classes.js";import{getWrapperStyles as l}from"../common/styles.js";import c from"./ProductOption.js";import{useVariants as m,useProduct as p,useIsSyncProduct as u,useSelectedOption as f,useEditorMode as h,useInitialSwatchesOptions as w,useSwatchesOptions as v,t as g,DEVICES as P,getSelectedVariant as y}from"@gem-sdk/core";import{useTransition as L}from"../hooks/useTransition.js";import{useState as j,useEffect as N,useMemo as O,useCallback as V}from"react";import{checkDefaultVariant as E}from"../../../../../product/helpers/product.js";let PostPurchaseProductVariants=({builderProps:S,style:b,styles:k,setting:x})=>{let{hasPreSelected:I}=x??{},R="variant",U=!1,{dropdownItemWidth:G}=k??{},{optionType:J,variantPresets:T}=x??{},A=m(),W=p(),q=u(),{selectedOptions:z,setSelectedOption:B,forceSelectedOption:C}=f(),[D,F]=j(""),H=h();N(()=>{let e=new URL(window.location.href),t=e.searchParams.get(R);t&&F(t)},[]);let K=()=>{let e=new URL(window.location.href),t=e.searchParams.get(R);if(t){let e=A.find(e=>e?.id===t);return e}return null};N(()=>{let e=K();if(e){let t=e?.selectedOptions.reduce((e,t)=>t.name?{...e,[t.name]:t.value}:e,{})??{};C(t,W?.id,!0)}},[]);let M=W?.options;w(M);let Q=v(M),[X,Y]=j(!1),Z=E(W),$=O(()=>"groupOption"===J,[J]),_=()=>{let e={};return P.forEach(t=>{e[t]=G?.[t]==="fill"}),e},ee=V(e=>{let t=T?.find(t=>t.optionName===e);return t||T?.find(e=>"base"===e.optionName)},[T]),et=V(e=>{let t=e.detail,r=W?.id;Y(!0),q&&t&&r==t.productId&&B(t.optionId,t.optionValue,r,!0)},[q,W?.id,B]),er=V(e=>{let t=e.detail,r=W?.id;Y(!0),q&&t&&r==t.productId&&C(t.selectedOption,r,!0)},[C,q,W?.id]),eo=e=>{let t=new URL(window.location.href);e?t.searchParams.set(R,e):t.searchParams.delete(R),history.replaceState(null,"",t.toString())};N(()=>(window.addEventListener("set-selected-option",et),window.addEventListener("force-selected-option",er),()=>{window.removeEventListener("set-selected-option",et),window.removeEventListener("force-selected-option",er)}),[er,et]),L(e=>{if(!U){U=!0;return}let t=JSON.stringify(e),r=JSON.stringify(z);if(e&&t!==r){let e=y(A,z);eo(e?.id||"")}},[z]);let ei=i({...s()}),en=i({...a()}),es=i({...d(k,$)}),ea=n({...l({setting:x,styles:k,style:b})});return e(t,{children:Z?e("div",{children:"edit"===H&&e("p",{className:ei,children:g("This product has only default variant")})}):r("div",{className:en,style:ea,children:[!$&&Q?.map((t,r)=>e(c,{option:t,indexOption:r,productVariantSettings:{getVariantConfiguration:ee,getSwatchDropdownAutoWidth:_,hasPreSelected:I,variantId:D,selectedOptions:z,isChangeVariant:X},setting:x,styles:k,builderProps:S,optionLength:Q.length},t.id)),$&&e("div",{className:es,children:e(o,{...k,...x,variantGroup:!0,label:"Variants",swatchAutoWidth:_()})})]})})};export{PostPurchaseProductVariants as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{jsx as t,jsxs as e}from"react/jsx-runtime";import{useRenderMode as o,useI18nStore as s,isEmptyChildren as n}from"@gem-sdk/core";import{isValidElement as r}from"react";import i from"../../../common/components/NoDataState.js";import{createClass as l,createStyle as d,If as m}from"@gem-sdk/system";import{getSizeSettings as u,getContainerStyles as c}from"./common/styles.js";import{getContainerClasses as a,getNoDiscountClasses as p}from"./common/classes.js";import f from"./hooks/useProductBundleDataState.js";import h from"./hooks/useProductBundleDiscountState.js";import y from"./ProductBundleDiscountChildrenItem.js";let ProductBundleDiscount=({builderAttrs:b,style:I,children:g,setting:j,styles:D,advanced:k})=>{let{isEditMode:S,isPreviewSharePageMode:x}=o(),{isSelected:B,setSelected:P}=h(j),{emitRedirectSetupPage:N,redirectGuideline:T,svgVertical:v,svgHorizontal:A}=f(),{t:C}=s(),q=l(a(j,k?.cssClass)),w=l(p),z=d(u(D)?.gap),M=d(c(z,D,I));if(!j?.bundleItems?.length&&S)return t(i,{elementType:"secondary",description:C("Increase AOV with bundle quantity."),descriptionActions:[{text:C("Setup bundle discount"),callback:N},{text:C("read guideline"),callback:T}],additionalMedia:j?.layout=="horizontal-layout"?A:v});let O=(e,o)=>{if(j?.hideNoDiscountItem&&e?.discountType==="no_discount")return null;let s=g?.[o];if(r(s))return t(y,{index:o,childItem:s,setting:j,styles:D,isSelected:B(o),setSelected:P,bundleItem:e},o)},V=(n(g)||j?.bundleItems?.length==0)&&!x;return e("div",{...b,className:q,style:M,children:[m(V,t("div",{className:w,children:"This product has no bundle discount"})),j?.bundleItems?.map((t,e)=>O(t,e))]})};export{ProductBundleDiscount as default};
|
|
2
|
+
import{jsx as t,jsxs as e}from"react/jsx-runtime";import{useRenderMode as o,useI18nStore as s,isEmptyChildren as n}from"@gem-sdk/core";import{isValidElement as r}from"react";import i from"../../../common/components/NoDataState.js";import{createClass as l,createStyle as d,If as m}from"@gem-sdk/system";import{getSizeSettings as u,getContainerStyles as c}from"./common/styles.js";import{getContainerClasses as a,getNoDiscountClasses as p}from"./common/classes.js";import f from"./hooks/useProductBundleDataState.js";import h from"./hooks/useProductBundleDiscountState.js";import y from"./ProductBundleDiscountChildrenItem.js";let ProductBundleDiscount=({builderAttrs:b,style:I,children:g,setting:j,styles:D,advanced:k})=>{let{isEditMode:S,isPreviewSharePageMode:x}=o(),{isSelected:B,setSelected:P}=h(j),{emitRedirectSetupPage:N,redirectGuideline:T,svgVertical:v,svgHorizontal:A}=f(),{t:C}=s(),q=l(a(j,k?.cssClass)),w=l(p),z=d(u(D)?.gap),M=d(c(z,D,I));if(!j?.bundleItems?.length&&S)return t(i,{elementType:"secondary",description:C("Increase AOV with bundle quantity."),descriptionActions:[{text:C("Setup bundle discount"),callback:N},{text:C("read guideline"),callback:T}],additionalMedia:j?.layout=="horizontal-layout"?A:v});let O=(e,o)=>{if(j?.hideNoDiscountItem&&e?.discountType==="no_discount")return null;let s=g?.[o];if(r(s))return t(y,{index:o,childItem:s,setting:j,styles:D,isSelected:B(o),setSelected:P,bundleItem:e},o)},V=(n(g)||j?.bundleItems?.length==0)&&!x;return e("div",{...b,className:q,style:M,children:[m(V,t("div",{className:w,children:C("This product has no bundle discount")})),j?.bundleItems?.map((t,e)=>O(t,e))]})};export{ProductBundleDiscount as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{jsx as e}from"react/jsx-runtime";import{useCurrentVariant as t,useRenderMode as r}from"@gem-sdk/core";import
|
|
2
|
+
import{jsx as e}from"react/jsx-runtime";import{useCurrentVariant as t,useRenderMode as r,t as o}from"@gem-sdk/core";import s from"../../../text/components/Text.js";import{If as l}from"@gem-sdk/system";let ProductSku=({setting:d,builderProps:i,styles:m})=>{let u=t(),{isPreviewSharePageMode:p,isEditMode:n}=r();m?.disableHoverColor&&delete m.underlineLink;let a=d?.label&&d.label.trim().length?`${d.label} ${u?.sku??""}`:`${u?.sku??""}`,c=p?"":e("p",{className:"gp-p-2 gp-text-center gp-text-sm gp-font-semibold gp-text-gray-500",children:n?o("This product does not have a SKU 123"):"This product does not have a SKU 123"});return e("div",{id:`sku-${i?.uid}`,children:l(!u?.sku,c,e(s,{builderProps:i,styles:m,setting:{...d,text:a,excludeFlex:!0}}))})};export{ProductSku as default};
|