@gem-sdk/components 12.0.0-dev.102 → 12.0.0-dev.104

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),system=require("@gem-sdk/system"),styles=require("../common/styles.js"),classes=require("../common/classes.js"),helpers=require("../common/helpers.js"),core=require("@gem-sdk/core"),PostPurchaseCheckbox=require("./PostPurchaseCheckbox.js"),useBuyerConsentChecked=require("../hooks/useBuyerConsentChecked.js");const COMPONENT_ID_PREFIX="buyer-consent-product",BuyerConsent=({styles:e,builderProps:s,setting:t,builderAttrs:r,style:l,children:c})=>{let{isEditMode:n}=core.useRenderMode(),o=core.useProduct(),{checked:a,setChecked:i}=useBuyerConsentChecked.useBuyerConsentChecked(),u=core.usePageStore(e=>e.subscriptionVisible),{description:y,policyLabel:d,policyLink:m,align:h}=t??{},C=o?.id?`buyer-consent-product-${s?.uid}-${o.id}`:void 0,x=helpers.getComponentTag(m),j=system.createStyle(styles.getWrapperStyles({styles:e})),k=system.createClass(classes.getWrapperClassName({align:h,uid:s?.uid})),p=system.createStyle(styles.getContainerStyles({styles:e})),g=system.createClass(classes.getCheckboxContainerClassName()),b=system.createStyle(styles.getTextStyle({styles:e})),P=system.createClass(classes.getLinkComponentClassName()),R=system.createStyle(classes.getLinkComponentStyles()),S=e=>{i(e.target.checked)},q=!n&&!u?.[o?.id??""]?.length;return q?null:jsxRuntime.jsxs("div",{...r,style:{...l},children:[jsxRuntime.jsx("div",{"data-id":s?.uid,style:j,className:k,children:jsxRuntime.jsxs("label",{htmlFor:C,dir:e?.direction??"ltr",style:p,className:g,children:[jsxRuntime.jsx(PostPurchaseCheckbox.default,{id:C,name:C,type:"checkbox",checked:a,onChange:S}),jsxRuntime.jsxs("bdo",{dir:e?.direction??"ltr",style:b,children:[y," ",jsxRuntime.jsx(x,{target:"_blank",rel:"noreferrer",href:m,className:P,style:R,children:d})]})]})}),core.filterToolbarPreview(c,!0)]})};exports.default=BuyerConsent;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),system=require("@gem-sdk/system"),styles=require("../common/styles.js"),classes=require("../common/classes.js"),helpers=require("../common/helpers.js"),core=require("@gem-sdk/core"),useBuyerConsentVisibility=require("../hooks/useBuyerConsentVisibility.js"),PostPurchaseCheckbox=require("./PostPurchaseCheckbox.js"),useBuyerConsentChecked=require("../hooks/useBuyerConsentChecked.js");const COMPONENT_ID_PREFIX="buyer-consent-product",BuyerConsent=({styles:e,builderProps:s,setting:t,builderAttrs:r,style:i,children:l})=>{let{isEditMode:n}=core.useRenderMode(),o=core.useProduct(),{checked:c,setChecked:u}=useBuyerConsentChecked.useBuyerConsentChecked(),{isHide:a}=useBuyerConsentVisibility.useBuyerConsentVisibility(),{description:y,policyLabel:d,policyLink:m,align:C}=t??{},h=o?.id?`buyer-consent-product-${s?.uid}-${o.id}`:void 0,x=helpers.getComponentTag(m),j=system.createStyle(styles.getWrapperStyles({styles:e})),k=system.createClass(classes.getWrapperClassName({align:C,uid:s?.uid})),b=system.createStyle(styles.getContainerStyles({styles:e})),p=system.createClass(classes.getCheckboxContainerClassName()),g=system.createStyle(styles.getTextStyle({styles:e})),P=system.createClass(classes.getLinkComponentClassName()),B=system.createStyle(classes.getLinkComponentStyles()),q=e=>{u(e.target.checked)},R=!n&&a;return R?null:jsxRuntime.jsxs("div",{...r,style:{...i},children:[jsxRuntime.jsx("div",{"data-id":s?.uid,style:j,className:k,children:jsxRuntime.jsxs("label",{htmlFor:h,dir:e?.direction??"ltr",style:b,className:p,children:[jsxRuntime.jsx(PostPurchaseCheckbox.default,{id:h,name:h,type:"checkbox",checked:c,onChange:q}),jsxRuntime.jsxs("bdo",{dir:e?.direction??"ltr",style:g,children:[y," ",jsxRuntime.jsx(x,{target:"_blank",rel:"noreferrer",href:m,className:P,style:B,children:d})]})]})}),core.filterToolbarPreview(l,!0)]})};exports.default=BuyerConsent;
@@ -0,0 +1 @@
1
+ "use strict";var core=require("@gem-sdk/core"),React=require("react");const useBuyerConsentVisibility=()=>{let e=core.useProduct(),i=core.useProductStore(e=>e.uid),r=core.usePageStore(e=>e.subscriptionVisible),t=({productId:e,subscriptionVisibility:i})=>{if(!e)return!1;let r=i?.[e];return!r?.length},s=({productId:e,productOfferUid:i,subscriptionVisibility:r})=>{if(!e)return!1;let t=r?.[e];return!t?.includes(`${i??""}-${e}`)},u=React.useMemo(()=>{let u=e?.id??"",n=!!e?.requiresSellingPlan,l=n?t({productId:u,subscriptionVisibility:r}):s({productId:u,productOfferUid:i,subscriptionVisibility:r});return l},[e?.id,e?.requiresSellingPlan,i,r]);return{isHide:u}};exports.useBuyerConsentVisibility=useBuyerConsentVisibility;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),system=require("@gem-sdk/system"),React=require("react"),index=require("../../constants/index.js"),classes=require("./common/classes.js"),styles=require("./common/styles.js"),useSellingPlanChange=require("./hooks/useSellingPlanChange.js"),useSellingSubscription=require("./hooks/useSellingSubscription.js"),useSellingPlanOptions=require("./hooks/useSellingPlanOptions.js"),useSubscriptionVisibility=require("./hooks/useSubscriptionVisibility.js"),OneTimePurchaseTooltip=require("./components/OneTimePurchaseTooltip.js"),SellingPlanDropdown=require("./components/SellingPlanDropdown.js"),SellingPlanLabel=require("./components/SellingPlanLabel.js"),SellingPlanRadio=require("./components/SellingPlanRadio.js"),SubscriptionDetail=require("./components/SubscriptionDetail.js"),SubscriptionRadio=require("./components/SubscriptionRadio.js"),useDynamicProduct=require("../../hooks/useDynamicProduct.js");const ProductSubscription=({styles:e,setting:i,builderProps:s,builderAttrs:n,style:t,children:l})=>{let r=core.useProduct(),o=core.usePageStore(e=>e.setSubscriptionVisible),u=core.usePageStore(e=>e.getSubscriptionVisible),{defaultValue:a,selectedSellingPlan:c,setSelectedSellingPlan:d}=useSellingSubscription.useSellingSubscription(i),S=useSellingPlanOptions.useSellingPlanOptions(i),{selectedValue:p,handleSellingPlanChange:m}=useSellingPlanChange.useSellingPlanChange({defaultValue:a,selectedSellingPlan:c,setSelectedSellingPlan:d,sellingPlanOptions:S}),g=React.useRef(null),j=React.useId(),{selectedType:b,shouldShowRadio:x,isOneTimeHidden:R,hasNoSellingPlanOptions:P,setSubscriptionSellingType:y}=useSubscriptionVisibility.useSubscriptionVisibility({setting:i}),h=system.createStyle(styles.getSubscriptionStyles(e,x)),T=system.createStyle(styles.getSubscriptionWrapperStyles(e?.align)),O=system.createClass(classes.getWrapperClasses()),q=system.createClass(classes.getContainerClasses()),C=system.createStyle({...t}),{isEditMode:E}=core.useRenderMode(),I=`product-subscription-${r?.baseID}`,N=r?.baseID,D=`subscription-type-selection-${j}`,v=i?.sellingType===index.SubscriptionEnum.ONE_TIME,f=i?.sellingType===index.SubscriptionEnum.SUBSCRIPTION,{isDynamicProduct:k}=useDynamicProduct.useDynamicProduct();if(React.useEffect(()=>{if(!r?.id||!f)return;let e=r?.id,i=`${s?.uid}-${e}`,n=!(P||k),t=u()??{};if(!n){o({...t,[e]:(t[e]??[]).filter(e=>e!==i)});return}o({...t,[e]:[...t[e]??[],i]})},[s?.uid,u,P,k,f,r?.id,o]),R||P||k)return E?jsxRuntime.jsxs("div",{...n,style:C,children:[jsxRuntime.jsx(OneTimePurchaseTooltip.OneTimePurchaseTooltip,{ref:g,setting:i}),core.filterToolbarPreview(l,!0)]}):null;let w=e=>jsxRuntime.jsxs("div",{...n,style:C,children:[jsxRuntime.jsx("div",{ref:g,"data-selling-type":i?.sellingType,id:I,className:O,style:T,children:e}),core.filterToolbarPreview(l,!0)]}),L=()=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:i?.sellingStyle==="radio"?jsxRuntime.jsx(SellingPlanRadio.SellingPlanRadio,{setting:i,styles:e,builderProps:s,productId:N??"",sellingPlanOptions:S,selectedValue:p,isShowRadio:x,onChange:m}):jsxRuntime.jsx(SellingPlanDropdown.SellingPlanDropdown,{setting:i,styles:e,sellingPlanOptions:S,selectedValue:p,isShowRadio:x,onChange:m})});return w(v&&x?jsxRuntime.jsx("div",{className:q,style:h,children:jsxRuntime.jsx(SubscriptionRadio.SubscriptionRadio,{id:`${N}-one-time-radio`,name:D,value:index.SubscriptionEnum.ONE_TIME,checked:b===index.SubscriptionEnum.ONE_TIME,className:"!gp-items-start",onChange:e=>{e.target.checked&&y(index.SubscriptionEnum.ONE_TIME)},children:jsxRuntime.jsx(SellingPlanLabel.SellingPlanLabel,{setting:i,styles:e,isShowRadio:x})})}):f&&x?jsxRuntime.jsxs("div",{className:q,style:h,children:[jsxRuntime.jsx(SubscriptionRadio.SubscriptionRadio,{id:`${N}-subscription-radio`,name:D,value:index.SubscriptionEnum.SUBSCRIPTION,checked:b===index.SubscriptionEnum.SUBSCRIPTION,className:"!gp-items-start",onChange:e=>{e.target.checked&&y(index.SubscriptionEnum.SUBSCRIPTION)},children:jsxRuntime.jsx(SellingPlanLabel.SellingPlanLabel,{setting:i,styles:e,isShowRadio:x})}),b===index.SubscriptionEnum.SUBSCRIPTION&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"gp-pl-7",children:L()}),jsxRuntime.jsx("div",{className:"gp-pl-7",children:jsxRuntime.jsx(SubscriptionDetail.SubscriptionDetail,{setting:i,styles:e})})]})]}):jsxRuntime.jsxs("div",{className:q,style:h,children:[jsxRuntime.jsx(SellingPlanLabel.SellingPlanLabel,{setting:i,styles:e,isShowRadio:x}),f&&L(),f&&jsxRuntime.jsx(SubscriptionDetail.SubscriptionDetail,{setting:i,styles:e})]}))};exports.default=ProductSubscription;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),system=require("@gem-sdk/system"),React=require("react"),index=require("../../constants/index.js"),classes=require("./common/classes.js"),styles=require("./common/styles.js"),useSellingPlanChange=require("./hooks/useSellingPlanChange.js"),useSellingSubscription=require("./hooks/useSellingSubscription.js"),useSellingPlanOptions=require("./hooks/useSellingPlanOptions.js"),useSubscriptionVisibility=require("./hooks/useSubscriptionVisibility.js"),OneTimePurchaseTooltip=require("./components/OneTimePurchaseTooltip.js"),SellingPlanDropdown=require("./components/SellingPlanDropdown.js"),SellingPlanLabel=require("./components/SellingPlanLabel.js"),SellingPlanRadio=require("./components/SellingPlanRadio.js"),SubscriptionDetail=require("./components/SubscriptionDetail.js"),SubscriptionRadio=require("./components/SubscriptionRadio.js"),useDynamicProduct=require("../../hooks/useDynamicProduct.js");const ProductSubscription=({styles:e,setting:i,builderProps:s,builderAttrs:n,style:t,children:l})=>{let r=core.useProduct(),o=core.usePageStore(e=>e.setSubscriptionVisible),u=core.usePageStore(e=>e.getSubscriptionVisible),{defaultValue:a,selectedSellingPlan:c,setSelectedSellingPlan:d}=useSellingSubscription.useSellingSubscription(i),S=useSellingPlanOptions.useSellingPlanOptions(i),p=core.useProductStore(e=>e.uid),{selectedValue:m,handleSellingPlanChange:g}=useSellingPlanChange.useSellingPlanChange({defaultValue:a,selectedSellingPlan:c,setSelectedSellingPlan:d,sellingPlanOptions:S}),j=React.useRef(null),b=React.useId(),{selectedType:x,shouldShowRadio:P,isOneTimeHidden:R,hasNoSellingPlanOptions:y,setSubscriptionSellingType:h}=useSubscriptionVisibility.useSubscriptionVisibility({setting:i}),T=system.createStyle(styles.getSubscriptionStyles(e,P)),O=system.createStyle(styles.getSubscriptionWrapperStyles(e?.align)),q=system.createClass(classes.getWrapperClasses()),C=system.createClass(classes.getContainerClasses()),E=system.createStyle({...t}),{isEditMode:I}=core.useRenderMode(),N=`product-subscription-${r?.baseID}`,D=r?.baseID,v=`subscription-type-selection-${b}`,f=i?.sellingType===index.SubscriptionEnum.ONE_TIME,k=i?.sellingType===index.SubscriptionEnum.SUBSCRIPTION,{isDynamicProduct:w}=useDynamicProduct.useDynamicProduct();if(React.useEffect(()=>{if(!r?.id||!k)return;let e=r?.id,i=`${p}-${e}`,s=!(y||w),n=u()??{};if(!s){o({...n,[e]:(n[e]??[]).filter(e=>e!==i)});return}o({...n,[e]:[...n[e]??[],i]})},[p,u,y,w,k,r?.id,o]),R||y||w)return I?jsxRuntime.jsxs("div",{...n,style:E,children:[jsxRuntime.jsx(OneTimePurchaseTooltip.OneTimePurchaseTooltip,{ref:j,setting:i}),core.filterToolbarPreview(l,!0)]}):null;let L=e=>jsxRuntime.jsxs("div",{...n,style:E,children:[jsxRuntime.jsx("div",{ref:j,"data-selling-type":i?.sellingType,id:N,className:q,style:O,children:e}),core.filterToolbarPreview(l,!0)]}),V=()=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:i?.sellingStyle==="radio"?jsxRuntime.jsx(SellingPlanRadio.SellingPlanRadio,{setting:i,styles:e,builderProps:s,productId:D??"",sellingPlanOptions:S,selectedValue:m,isShowRadio:P,onChange:g}):jsxRuntime.jsx(SellingPlanDropdown.SellingPlanDropdown,{setting:i,styles:e,sellingPlanOptions:S,selectedValue:m,isShowRadio:P,onChange:g})});return L(f&&P?jsxRuntime.jsx("div",{className:C,style:T,children:jsxRuntime.jsx(SubscriptionRadio.SubscriptionRadio,{id:`${D}-one-time-radio`,name:v,value:index.SubscriptionEnum.ONE_TIME,checked:x===index.SubscriptionEnum.ONE_TIME,className:"!gp-items-start",onChange:e=>{e.target.checked&&h(index.SubscriptionEnum.ONE_TIME)},children:jsxRuntime.jsx(SellingPlanLabel.SellingPlanLabel,{setting:i,styles:e,isShowRadio:P})})}):k&&P?jsxRuntime.jsxs("div",{className:C,style:T,children:[jsxRuntime.jsx(SubscriptionRadio.SubscriptionRadio,{id:`${D}-subscription-radio`,name:v,value:index.SubscriptionEnum.SUBSCRIPTION,checked:x===index.SubscriptionEnum.SUBSCRIPTION,className:"!gp-items-start",onChange:e=>{e.target.checked&&h(index.SubscriptionEnum.SUBSCRIPTION)},children:jsxRuntime.jsx(SellingPlanLabel.SellingPlanLabel,{setting:i,styles:e,isShowRadio:P})}),x===index.SubscriptionEnum.SUBSCRIPTION&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"gp-pl-7",children:V()}),jsxRuntime.jsx("div",{className:"gp-pl-7",children:jsxRuntime.jsx(SubscriptionDetail.SubscriptionDetail,{setting:i,styles:e})})]})]}):jsxRuntime.jsxs("div",{className:C,style:T,children:[jsxRuntime.jsx(SellingPlanLabel.SellingPlanLabel,{setting:i,styles:e,isShowRadio:P}),k&&V(),k&&jsxRuntime.jsx(SubscriptionDetail.SubscriptionDetail,{setting:i,styles:e})]}))};exports.default=ProductSubscription;
@@ -1 +1 @@
1
- "use strict";var core=require("@gem-sdk/core"),helper=require("../../../../common/helper.js");const getSubscriptionStyles=(e,t)=>{let{width:r}=e??{},l=core.makeStyle({w:t?"auto":r}),s=core.makeStyle({rg:"8px"});return core.filterTruthyStyles({...l,...s})},getSubscriptionWrapperStyles=e=>core.filterTruthyStyles({...core.makeStyle({jc:e??"left"})}),getSellingPlanRadioOptionsStyles=({sellingPlanItemGap:e,sellingType:t})=>{let r=helper.postPurchaseSpacing[e??"tight"]||"9px",l=core.makeStyle({rg:"subscription"===t?r:"9px"});return core.filterTruthyStyles({...l})};exports.getSellingPlanRadioOptionsStyles=getSellingPlanRadioOptionsStyles,exports.getSubscriptionStyles=getSubscriptionStyles,exports.getSubscriptionWrapperStyles=getSubscriptionWrapperStyles;
1
+ "use strict";var core=require("@gem-sdk/core"),helper=require("../../../../common/helper.js");const getSubscriptionStyles=(e,t)=>{let{width:r}=e??{},l=core.makeStyle({w:t?"100%":r}),s=core.makeStyle({rg:"8px"});return core.filterTruthyStyles({...l,...s})},getSubscriptionWrapperStyles=e=>core.filterTruthyStyles({...core.makeStyle({jc:e??"left"})}),getSellingPlanRadioOptionsStyles=({sellingPlanItemGap:e,sellingType:t})=>{let r=helper.postPurchaseSpacing[e??"tight"]||"9px",l=core.makeStyle({rg:"subscription"===t?r:"9px"});return core.filterTruthyStyles({...l})};exports.getSellingPlanRadioOptionsStyles=getSellingPlanRadioOptionsStyles,exports.getSubscriptionStyles=getSubscriptionStyles,exports.getSubscriptionWrapperStyles=getSubscriptionWrapperStyles;
@@ -1 +1 @@
1
- "use strict";var core=require("@gem-sdk/core"),React=require("react"),product=require("../../../product/helpers/product.js"),useBuyerConsentChecked=require("../../buyer-consent/hooks/useBuyerConsentChecked.js"),useSubscriptionSellingType=require("./useSubscriptionSellingType.js");const useSubscriptionConsentCheck=()=>{let{checked:e}=useBuyerConsentChecked.useBuyerConsentChecked(),r=core.useProductStore(e=>e.selectedOptions),{isOneTime:s}=useSubscriptionSellingType.useSubscriptionSellingType(),n=core.usePageStore(e=>e.getSubscriptionVisible()),t=core.useProduct(),u=core.useVariants(),i=React.useMemo(()=>{let i=!n?.[t?.id??""]?.length;if(e||s||i)return!1;let o=!!t?.sellingPlanGroups?.length||!!t?.variants?.edges.find(e=>!!e.node?.sellingPlanGroups?.length);if(!o||!r)return!1;let c=product.checkDefaultVariant(t);if(!c){let e=u.find(e=>e?.selectedOptions.every(e=>r[e.name??""]===e.value)),s=!!e?.sellingPlanGroups?.length;return s}return!0},[r,s,e,t,u]);return{isDisableAccept:i}};exports.useSubscriptionConsentCheck=useSubscriptionConsentCheck;
1
+ "use strict";var core=require("@gem-sdk/core"),React=require("react"),product=require("../../../product/helpers/product.js"),useBuyerConsentVisibility=require("../../buyer-consent/hooks/useBuyerConsentVisibility.js"),useBuyerConsentChecked=require("../../buyer-consent/hooks/useBuyerConsentChecked.js"),useSubscriptionSellingType=require("./useSubscriptionSellingType.js");const useSubscriptionConsentCheck=()=>{let{checked:e}=useBuyerConsentChecked.useBuyerConsentChecked(),s=core.useProductStore(e=>e.selectedOptions),{isOneTime:r}=useSubscriptionSellingType.useSubscriptionSellingType(),n=core.useProduct(),u=core.useVariants(),{isHide:i}=useBuyerConsentVisibility.useBuyerConsentVisibility(),t=React.useMemo(()=>{if(e||r||i)return!1;let t=!!n?.sellingPlanGroups?.length||!!n?.variants?.edges.find(e=>!!e.node?.sellingPlanGroups?.length);if(!t||!s)return!1;let o=product.checkDefaultVariant(n);if(!o){let e=u.find(e=>e?.selectedOptions.every(e=>s[e.name??""]===e.value)),r=!!e?.sellingPlanGroups?.length;return r}return!0},[s,r,e,i,n,u]);return{isDisableAccept:t}};exports.useSubscriptionConsentCheck=useSubscriptionConsentCheck;
@@ -1 +1 @@
1
- "use strict";var constants=require("../../../../common/constants.js");const ProductSubscriptionSettings=[{id:"setting",controls:[{id:"sellingType",label:"Type",type:"pick-subscription",options:[{value:"one-time",label:"One-time purchase"},{value:"subscription",label:"Subscription"}],default:"subscription"},{id:"sellingPlans",label:"Source",type:"selling-plan"},{id:"sellingTitle",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"Subscribe and save up to {total_discount}",suggestContents:[{message:"{total_discount}",eg:"E.g: 50%"},{message:"{offer_discount}",eg:"E.g: 20%"},{message:"{selling_plan_max_discount}",eg:"E.g: 15%"}]},{id:"sellingLabel",label:"Text",type:"input",default:"Purchase options",placeholder:"E.g. Purchase options",action:{clear:!0}},{id:"sellingTitleOneTime",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"One-time purchase",suggestContents:[]},{id:"sellingStyle",label:"Style",type:"option:illustration",default:"dropdown",options:[{label:"Dropdown",value:"dropdown",svgName:"gp-selling-plan-dropdown"},{label:"Radio",value:"radio",svgName:"gp-selling-plan-radio"}]},{id:"subscriptionLabel",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"Delivery every {selling_plan_delivery_frequency}, save {selling_plan_discount}",suggestContents:[{message:"{selling_plan_delivery_frequency}",eg:"E.g: every week"},{message:"{selling_plan_discount}",eg:"E.g: 10%"},{message:"{selling_plan_billing_cycle}",eg:"E.g: every 1 month"}]},{id:"enableSubscriptionDetail",label:"Enable subscription detail",type:"toggle",default:!1}]},{id:"style",controls:[{id:"sellingTitleDirection",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"sellingTitleOneTimeDirection",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"subscriptionDetailDirection",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"sellingPlanItemGap",type:"select",label:"Item gap",options:constants.postPurchaseSpacing,default:"tight"},{id:"sellingTitleTypo",label:"Label",type:"typography-post-purchase",default:{fontSize:"medium",textColor:"default",fontWeight:"normal",textTransform:"none"}},{id:"sellingTitleAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"sellingTitleOneTimeTypo",label:"Label",type:"typography-post-purchase",default:{fontSize:"medium",textColor:"default",fontWeight:"normal",textTransform:"none"}},{id:"sellingTitleOneTimeAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"subscriptionDetailTypo",label:"Label",type:"typography-post-purchase",default:{fontSize:"default",textColor:"default",fontWeight:"normal",textTransform:"none"}},{id:"subscriptionDetailAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,default:"100%",displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0}]},{id:"align",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"align",tooltip:"Align left",iconName:"gp-align-left"},{label:"Center",value:"center",type:"align",tooltip:"Align center",iconName:"gp-align-center"},{label:"Right",value:"right",type:"align",tooltip:"Align right",iconName:"gp-align-right"}],default:"left"}]}];exports.ProductSubscriptionSettings=ProductSubscriptionSettings;
1
+ "use strict";var constants=require("../../../../common/constants.js");const ProductSubscriptionSettings=[{id:"setting",controls:[{id:"sellingType",label:"Type",type:"pick-subscription",options:[{value:"one-time",label:"One-time purchase"},{value:"subscription",label:"Subscription"}],default:"subscription"},{id:"sellingPlans",label:"Source",type:"selling-plan"},{id:"sellingTitle",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"Subscribe and save up to {total_discount}",suggestContents:[{message:"{total_discount}",eg:"E.g: 50%"},{message:"{offer_discount}",eg:"E.g: 20%"},{message:"{selling_plan_max_discount}",eg:"E.g: 15%"}]},{id:"sellingLabel",label:"Text",type:"input",default:"Purchase options",placeholder:"E.g. Purchase options",action:{clear:!0}},{id:"sellingTitleOneTime",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"One-time purchase",suggestContents:[]},{id:"sellingStyle",label:"Style",type:"option:illustration",default:"dropdown",options:[{label:"Dropdown",value:"dropdown",svgName:"gp-selling-plan-dropdown"},{label:"Radio",value:"radio",svgName:"gp-selling-plan-radio"}]},{id:"subscriptionLabel",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"Delivery every {selling_plan_delivery_frequency}, save {selling_plan_discount}",suggestContents:[{message:"{selling_plan_delivery_frequency}",eg:"E.g: every week"},{message:"{selling_plan_discount}",eg:"E.g: 10%"},{message:"{selling_plan_billing_cycle}",eg:"E.g: every 1 month"}]},{id:"enableSubscriptionDetail",label:"Enable subscription detail",type:"toggle",default:!1}]},{id:"style",controls:[{id:"sellingTitleDirection",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"sellingTitleOneTimeDirection",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"subscriptionDetailDirection",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"sellingPlanItemGap",type:"select",label:"Item gap",options:constants.postPurchaseSpacing,default:"tight"},{id:"sellingTitleTypo",label:"Label",type:"typography-post-purchase",default:{fontSize:"medium",textColor:"default",fontWeight:"normal",textTransform:"none"}},{id:"sellingTitleAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"sellingTitleOneTimeTypo",label:"Label",type:"typography-post-purchase",default:{fontSize:"medium",textColor:"default",fontWeight:"normal",textTransform:"none"}},{id:"sellingTitleOneTimeAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"subscriptionDetailTypo",label:"Label",type:"typography-post-purchase",default:{fontSize:"default",textColor:"default",fontWeight:"normal",textTransform:"none"}},{id:"subscriptionDetailAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,default:"100%",displayOptions:[{label:"Full",value:"100%",showValue:!0}]},{id:"align",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"align",tooltip:"Align left",iconName:"gp-align-left"},{label:"Center",value:"center",type:"align",tooltip:"Align center",iconName:"gp-align-center"},{label:"Right",value:"right",type:"align",tooltip:"Align right",iconName:"gp-align-right"}],default:"left"}]}];exports.ProductSubscriptionSettings=ProductSubscriptionSettings;
@@ -1 +1 @@
1
- import{jsxs as e,jsx as r}from"react/jsx-runtime";import{createStyle as o,createClass as t}from"@gem-sdk/system";import{getWrapperStyles as s,getContainerStyles as i,getTextStyle as d}from"../common/styles.js";import{getWrapperClassName as m,getCheckboxContainerClassName as c,getLinkComponentClassName as l,getLinkComponentStyles as n}from"../common/classes.js";import{getComponentTag as a}from"../common/helpers.js";import{useRenderMode as u,useProduct as h,usePageStore as p,filterToolbarPreview as y}from"@gem-sdk/core";import f from"./PostPurchaseCheckbox.js";import{useBuyerConsentChecked as b}from"../hooks/useBuyerConsentChecked.js";let COMPONENT_ID_PREFIX="buyer-consent-product",BuyerConsent=({styles:k,builderProps:C,setting:g,builderAttrs:j,style:N,children:x})=>{let{isEditMode:P}=u(),v=h(),{checked:B,setChecked:_}=b(),E=p(e=>e.subscriptionVisible),{description:F,policyLabel:I,policyLink:O,align:$}=g??{},D=v?.id?`buyer-consent-product-${C?.uid}-${v.id}`:void 0,M=a(O),R=o(s({styles:k})),T=t(m({align:$,uid:C?.uid})),V=o(i({styles:k})),X=t(c()),q=o(d({styles:k})),w=t(l()),z=o(n()),A=e=>{_(e.target.checked)},G=!P&&!E?.[v?.id??""]?.length;return G?null:e("div",{...j,style:{...N},children:[r("div",{"data-id":C?.uid,style:R,className:T,children:e("label",{htmlFor:D,dir:k?.direction??"ltr",style:V,className:X,children:[r(f,{id:D,name:D,type:"checkbox",checked:B,onChange:A}),e("bdo",{dir:k?.direction??"ltr",style:q,children:[F," ",r(M,{target:"_blank",rel:"noreferrer",href:O,className:w,style:z,children:I})]})]})}),y(x,!0)]})};export{BuyerConsent as default};
1
+ import{jsxs as e,jsx as r}from"react/jsx-runtime";import{createStyle as o,createClass as t}from"@gem-sdk/system";import{getWrapperStyles as s,getContainerStyles as i,getTextStyle as m}from"../common/styles.js";import{getWrapperClassName as d,getCheckboxContainerClassName as n,getLinkComponentClassName as c,getLinkComponentStyles as l}from"../common/classes.js";import{getComponentTag as a}from"../common/helpers.js";import{useRenderMode as u,useProduct as h,filterToolbarPreview as y}from"@gem-sdk/core";import{useBuyerConsentVisibility as p}from"../hooks/useBuyerConsentVisibility.js";import f from"./PostPurchaseCheckbox.js";import{useBuyerConsentChecked as k}from"../hooks/useBuyerConsentChecked.js";let COMPONENT_ID_PREFIX="buyer-consent-product",BuyerConsent=({styles:b,builderProps:C,setting:j,builderAttrs:g,style:N,children:x})=>{let{isEditMode:B}=u(),P=h(),{checked:v,setChecked:_}=k(),{isHide:E}=p(),{description:F,policyLabel:I,policyLink:O,align:$}=j??{},D=P?.id?`buyer-consent-product-${C?.uid}-${P.id}`:void 0,H=a(O),M=o(s({styles:b})),R=t(d({align:$,uid:C?.uid})),T=o(i({styles:b})),V=t(n()),X=o(m({styles:b})),q=t(c()),w=o(l()),z=e=>{_(e.target.checked)},A=!B&&E;return A?null:e("div",{...g,style:{...N},children:[r("div",{"data-id":C?.uid,style:M,className:R,children:e("label",{htmlFor:D,dir:b?.direction??"ltr",style:T,className:V,children:[r(f,{id:D,name:D,type:"checkbox",checked:v,onChange:z}),e("bdo",{dir:b?.direction??"ltr",style:X,children:[F," ",r(H,{target:"_blank",rel:"noreferrer",href:O,className:q,style:w,children:I})]})]})}),y(x,!0)]})};export{BuyerConsent as default};
@@ -0,0 +1 @@
1
+ import{useProduct as i,useProductStore as e,usePageStore as r}from"@gem-sdk/core";import{useMemo as t}from"react";let useBuyerConsentVisibility=()=>{let n=i(),s=e(i=>i.uid),l=r(i=>i.subscriptionVisible),u=({productId:i,subscriptionVisibility:e})=>{if(!i)return!1;let r=e?.[i];return!r?.length},o=({productId:i,productOfferUid:e,subscriptionVisibility:r})=>{if(!i)return!1;let t=r?.[i];return!t?.includes(`${e??""}-${i}`)},b=t(()=>{let i=n?.id??"",e=!!n?.requiresSellingPlan,r=e?u({productId:i,subscriptionVisibility:l}):o({productId:i,productOfferUid:s,subscriptionVisibility:l});return r},[n?.id,n?.requiresSellingPlan,s,l]);return{isHide:b}};export{useBuyerConsentVisibility};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as i,Fragment as s}from"react/jsx-runtime";import{useProduct as t,usePageStore as o,useRenderMode as l,filterToolbarPreview as n}from"@gem-sdk/core";import{createStyle as r,createClass as m}from"@gem-sdk/system";import{useRef as a,useId as c,useEffect as d}from"react";import{SubscriptionEnum as p}from"../../constants/index.js";import{getWrapperClasses as u,getContainerClasses as g}from"./common/classes.js";import{getSubscriptionStyles as h,getSubscriptionWrapperStyles as S}from"./common/styles.js";import{useSellingPlanChange as f}from"./hooks/useSellingPlanChange.js";import{useSellingSubscription as y}from"./hooks/useSellingSubscription.js";import{useSellingPlanOptions as b}from"./hooks/useSellingPlanOptions.js";import{useSubscriptionVisibility as I}from"./hooks/useSubscriptionVisibility.js";import{OneTimePurchaseTooltip as N}from"./components/OneTimePurchaseTooltip.js";import{SellingPlanDropdown as P}from"./components/SellingPlanDropdown.js";import{SellingPlanLabel as j}from"./components/SellingPlanLabel.js";import{SellingPlanRadio as T}from"./components/SellingPlanRadio.js";import{SubscriptionDetail as O}from"./components/SubscriptionDetail.js";import{SubscriptionRadio as R}from"./components/SubscriptionRadio.js";import{useDynamicProduct as k}from"../../hooks/useDynamicProduct.js";let ProductSubscription=({styles:v,setting:C,builderProps:E,builderAttrs:w,style:$,children:B})=>{let D=t(),U=o(e=>e.setSubscriptionVisible),V=o(e=>e.getSubscriptionVisible),{defaultValue:M,selectedSellingPlan:_,setSelectedSellingPlan:x}=y(C),L=b(C),{selectedValue:q,handleSellingPlanChange:z}=f({defaultValue:M,selectedSellingPlan:_,setSelectedSellingPlan:x,sellingPlanOptions:L}),A=a(null),F=c(),{selectedType:G,shouldShowRadio:H,isOneTimeHidden:J,hasNoSellingPlanOptions:K,setSubscriptionSellingType:Q}=I({setting:C}),W=r(h(v,H)),X=r(S(v?.align)),Y=m(u()),Z=m(g()),ee=r({...$}),{isEditMode:ei}=l(),es=`product-subscription-${D?.baseID}`,et=D?.baseID,eo=`subscription-type-selection-${F}`,el=C?.sellingType===p.ONE_TIME,en=C?.sellingType===p.SUBSCRIPTION,{isDynamicProduct:er}=k();if(d(()=>{if(!D?.id||!en)return;let e=D?.id,i=`${E?.uid}-${e}`,s=!(K||er),t=V()??{};if(!s){U({...t,[e]:(t[e]??[]).filter(e=>e!==i)});return}U({...t,[e]:[...t[e]??[],i]})},[E?.uid,V,K,er,en,D?.id,U]),J||K||er)return ei?e("div",{...w,style:ee,children:[i(N,{ref:A,setting:C}),n(B,!0)]}):null;let em=s=>e("div",{...w,style:ee,children:[i("div",{ref:A,"data-selling-type":C?.sellingType,id:es,className:Y,style:X,children:s}),n(B,!0)]}),ea=()=>i(s,{children:C?.sellingStyle==="radio"?i(T,{setting:C,styles:v,builderProps:E,productId:et??"",sellingPlanOptions:L,selectedValue:q,isShowRadio:H,onChange:z}):i(P,{setting:C,styles:v,sellingPlanOptions:L,selectedValue:q,isShowRadio:H,onChange:z})});return em(el&&H?i("div",{className:Z,style:W,children:i(R,{id:`${et}-one-time-radio`,name:eo,value:p.ONE_TIME,checked:G===p.ONE_TIME,className:"!gp-items-start",onChange:e=>{e.target.checked&&Q(p.ONE_TIME)},children:i(j,{setting:C,styles:v,isShowRadio:H})})}):en&&H?e("div",{className:Z,style:W,children:[i(R,{id:`${et}-subscription-radio`,name:eo,value:p.SUBSCRIPTION,checked:G===p.SUBSCRIPTION,className:"!gp-items-start",onChange:e=>{e.target.checked&&Q(p.SUBSCRIPTION)},children:i(j,{setting:C,styles:v,isShowRadio:H})}),G===p.SUBSCRIPTION&&e(s,{children:[i("div",{className:"gp-pl-7",children:ea()}),i("div",{className:"gp-pl-7",children:i(O,{setting:C,styles:v})})]})]}):e("div",{className:Z,style:W,children:[i(j,{setting:C,styles:v,isShowRadio:H}),en&&ea(),en&&i(O,{setting:C,styles:v})]}))};export{ProductSubscription as default};
1
+ import{jsxs as e,jsx as i,Fragment as s}from"react/jsx-runtime";import{useProduct as t,usePageStore as o,useProductStore as l,useRenderMode as n,filterToolbarPreview as r}from"@gem-sdk/core";import{createStyle as m,createClass as a}from"@gem-sdk/system";import{useRef as c,useId as d,useEffect as p}from"react";import{SubscriptionEnum as g}from"../../constants/index.js";import{getWrapperClasses as u,getContainerClasses as h}from"./common/classes.js";import{getSubscriptionStyles as S,getSubscriptionWrapperStyles as f}from"./common/styles.js";import{useSellingPlanChange as y}from"./hooks/useSellingPlanChange.js";import{useSellingSubscription as b}from"./hooks/useSellingSubscription.js";import{useSellingPlanOptions as I}from"./hooks/useSellingPlanOptions.js";import{useSubscriptionVisibility as N}from"./hooks/useSubscriptionVisibility.js";import{OneTimePurchaseTooltip as P}from"./components/OneTimePurchaseTooltip.js";import{SellingPlanDropdown as j}from"./components/SellingPlanDropdown.js";import{SellingPlanLabel as T}from"./components/SellingPlanLabel.js";import{SellingPlanRadio as O}from"./components/SellingPlanRadio.js";import{SubscriptionDetail as R}from"./components/SubscriptionDetail.js";import{SubscriptionRadio as k}from"./components/SubscriptionRadio.js";import{useDynamicProduct as v}from"../../hooks/useDynamicProduct.js";let ProductSubscription=({styles:C,setting:E,builderProps:w,builderAttrs:$,style:B,children:D})=>{let U=t(),V=o(e=>e.setSubscriptionVisible),M=o(e=>e.getSubscriptionVisible),{defaultValue:_,selectedSellingPlan:x,setSelectedSellingPlan:L}=b(E),q=I(E),z=l(e=>e.uid),{selectedValue:A,handleSellingPlanChange:F}=y({defaultValue:_,selectedSellingPlan:x,setSelectedSellingPlan:L,sellingPlanOptions:q}),G=c(null),H=d(),{selectedType:J,shouldShowRadio:K,isOneTimeHidden:Q,hasNoSellingPlanOptions:W,setSubscriptionSellingType:X}=N({setting:E}),Y=m(S(C,K)),Z=m(f(C?.align)),ee=a(u()),ei=a(h()),es=m({...B}),{isEditMode:et}=n(),eo=`product-subscription-${U?.baseID}`,el=U?.baseID,en=`subscription-type-selection-${H}`,er=E?.sellingType===g.ONE_TIME,em=E?.sellingType===g.SUBSCRIPTION,{isDynamicProduct:ea}=v();if(p(()=>{if(!U?.id||!em)return;let e=U?.id,i=`${z}-${e}`,s=!(W||ea),t=M()??{};if(!s){V({...t,[e]:(t[e]??[]).filter(e=>e!==i)});return}V({...t,[e]:[...t[e]??[],i]})},[z,M,W,ea,em,U?.id,V]),Q||W||ea)return et?e("div",{...$,style:es,children:[i(P,{ref:G,setting:E}),r(D,!0)]}):null;let ec=s=>e("div",{...$,style:es,children:[i("div",{ref:G,"data-selling-type":E?.sellingType,id:eo,className:ee,style:Z,children:s}),r(D,!0)]}),ed=()=>i(s,{children:E?.sellingStyle==="radio"?i(O,{setting:E,styles:C,builderProps:w,productId:el??"",sellingPlanOptions:q,selectedValue:A,isShowRadio:K,onChange:F}):i(j,{setting:E,styles:C,sellingPlanOptions:q,selectedValue:A,isShowRadio:K,onChange:F})});return ec(er&&K?i("div",{className:ei,style:Y,children:i(k,{id:`${el}-one-time-radio`,name:en,value:g.ONE_TIME,checked:J===g.ONE_TIME,className:"!gp-items-start",onChange:e=>{e.target.checked&&X(g.ONE_TIME)},children:i(T,{setting:E,styles:C,isShowRadio:K})})}):em&&K?e("div",{className:ei,style:Y,children:[i(k,{id:`${el}-subscription-radio`,name:en,value:g.SUBSCRIPTION,checked:J===g.SUBSCRIPTION,className:"!gp-items-start",onChange:e=>{e.target.checked&&X(g.SUBSCRIPTION)},children:i(T,{setting:E,styles:C,isShowRadio:K})}),J===g.SUBSCRIPTION&&e(s,{children:[i("div",{className:"gp-pl-7",children:ed()}),i("div",{className:"gp-pl-7",children:i(R,{setting:E,styles:C})})]})]}):e("div",{className:ei,style:Y,children:[i(T,{setting:E,styles:C,isShowRadio:K}),em&&ed(),em&&i(R,{setting:E,styles:C})]}))};export{ProductSubscription as default};
@@ -1 +1 @@
1
- import{makeStyle as t,filterTruthyStyles as e}from"@gem-sdk/core";import{postPurchaseSpacing as r}from"../../../../common/helper.js";let getSubscriptionStyles=(r,i)=>{let{width:o}=r??{},p=t({w:i?"auto":o}),l=t({rg:"8px"});return e({...p,...l})},getSubscriptionWrapperStyles=r=>e({...t({jc:r??"left"})}),getSellingPlanRadioOptionsStyles=({sellingPlanItemGap:i,sellingType:o})=>{let p=r[i??"tight"]||"9px",l=t({rg:"subscription"===o?p:"9px"});return e({...l})};export{getSellingPlanRadioOptionsStyles,getSubscriptionStyles,getSubscriptionWrapperStyles};
1
+ import{makeStyle as t,filterTruthyStyles as e}from"@gem-sdk/core";import{postPurchaseSpacing as r}from"../../../../common/helper.js";let getSubscriptionStyles=(r,i)=>{let{width:p}=r??{},l=t({w:i?"100%":p}),o=t({rg:"8px"});return e({...l,...o})},getSubscriptionWrapperStyles=r=>e({...t({jc:r??"left"})}),getSellingPlanRadioOptionsStyles=({sellingPlanItemGap:i,sellingType:p})=>{let l=r[i??"tight"]||"9px",o=t({rg:"subscription"===p?l:"9px"});return e({...o})};export{getSellingPlanRadioOptionsStyles,getSubscriptionStyles,getSubscriptionWrapperStyles};
@@ -1 +1 @@
1
- import{useProductStore as e,usePageStore as t,useProduct as r,useVariants as n}from"@gem-sdk/core";import{useMemo as s}from"react";import{checkDefaultVariant as i}from"../../../product/helpers/product.js";import{useBuyerConsentChecked as o}from"../../buyer-consent/hooks/useBuyerConsentChecked.js";import{useSubscriptionSellingType as l}from"./useSubscriptionSellingType.js";let useSubscriptionConsentCheck=()=>{let{checked:u}=o(),p=e(e=>e.selectedOptions),{isOneTime:c}=l(),m=t(e=>e.getSubscriptionVisible()),d=r(),g=n(),f=s(()=>{let e=!m?.[d?.id??""]?.length;if(u||c||e)return!1;let t=!!d?.sellingPlanGroups?.length||!!d?.variants?.edges.find(e=>!!e.node?.sellingPlanGroups?.length);if(!t||!p)return!1;let r=i(d);if(!r){let e=g.find(e=>e?.selectedOptions.every(e=>p[e.name??""]===e.value)),t=!!e?.sellingPlanGroups?.length;return t}return!0},[p,c,u,d,g]);return{isDisableAccept:f}};export{useSubscriptionConsentCheck};
1
+ import{useProductStore as e,useProduct as r,useVariants as n}from"@gem-sdk/core";import{useMemo as t}from"react";import{checkDefaultVariant as s}from"../../../product/helpers/product.js";import{useBuyerConsentVisibility as o}from"../../buyer-consent/hooks/useBuyerConsentVisibility.js";import{useBuyerConsentChecked as i}from"../../buyer-consent/hooks/useBuyerConsentChecked.js";import{useSubscriptionSellingType as l}from"./useSubscriptionSellingType.js";let useSubscriptionConsentCheck=()=>{let{checked:u}=i(),p=e(e=>e.selectedOptions),{isOneTime:c}=l(),m=r(),d=n(),{isHide:f}=o(),h=t(()=>{if(u||c||f)return!1;let e=!!m?.sellingPlanGroups?.length||!!m?.variants?.edges.find(e=>!!e.node?.sellingPlanGroups?.length);if(!e||!p)return!1;let r=s(m);if(!r){let e=d.find(e=>e?.selectedOptions.every(e=>p[e.name??""]===e.value)),r=!!e?.sellingPlanGroups?.length;return r}return!0},[p,c,u,f,m,d]);return{isDisableAccept:h}};export{useSubscriptionConsentCheck};
@@ -1 +1 @@
1
- import{postPurchaseSpacing as e}from"../../../../common/constants.js";let ProductSubscriptionSettings=[{id:"setting",controls:[{id:"sellingType",label:"Type",type:"pick-subscription",options:[{value:"one-time",label:"One-time purchase"},{value:"subscription",label:"Subscription"}],default:"subscription"},{id:"sellingPlans",label:"Source",type:"selling-plan"},{id:"sellingTitle",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"Subscribe and save up to {total_discount}",suggestContents:[{message:"{total_discount}",eg:"E.g: 50%"},{message:"{offer_discount}",eg:"E.g: 20%"},{message:"{selling_plan_max_discount}",eg:"E.g: 15%"}]},{id:"sellingLabel",label:"Text",type:"input",default:"Purchase options",placeholder:"E.g. Purchase options",action:{clear:!0}},{id:"sellingTitleOneTime",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"One-time purchase",suggestContents:[]},{id:"sellingStyle",label:"Style",type:"option:illustration",default:"dropdown",options:[{label:"Dropdown",value:"dropdown",svgName:"gp-selling-plan-dropdown"},{label:"Radio",value:"radio",svgName:"gp-selling-plan-radio"}]},{id:"subscriptionLabel",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"Delivery every {selling_plan_delivery_frequency}, save {selling_plan_discount}",suggestContents:[{message:"{selling_plan_delivery_frequency}",eg:"E.g: every week"},{message:"{selling_plan_discount}",eg:"E.g: 10%"},{message:"{selling_plan_billing_cycle}",eg:"E.g: every 1 month"}]},{id:"enableSubscriptionDetail",label:"Enable subscription detail",type:"toggle",default:!1}]},{id:"style",controls:[{id:"sellingTitleDirection",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"sellingTitleOneTimeDirection",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"subscriptionDetailDirection",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"sellingPlanItemGap",type:"select",label:"Item gap",options:e,default:"tight"},{id:"sellingTitleTypo",label:"Label",type:"typography-post-purchase",default:{fontSize:"medium",textColor:"default",fontWeight:"normal",textTransform:"none"}},{id:"sellingTitleAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"sellingTitleOneTimeTypo",label:"Label",type:"typography-post-purchase",default:{fontSize:"medium",textColor:"default",fontWeight:"normal",textTransform:"none"}},{id:"sellingTitleOneTimeAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"subscriptionDetailTypo",label:"Label",type:"typography-post-purchase",default:{fontSize:"default",textColor:"default",fontWeight:"normal",textTransform:"none"}},{id:"subscriptionDetailAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,default:"100%",displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0}]},{id:"align",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"align",tooltip:"Align left",iconName:"gp-align-left"},{label:"Center",value:"center",type:"align",tooltip:"Align center",iconName:"gp-align-center"},{label:"Right",value:"right",type:"align",tooltip:"Align right",iconName:"gp-align-right"}],default:"left"}]}];export{ProductSubscriptionSettings};
1
+ import{postPurchaseSpacing as e}from"../../../../common/constants.js";let ProductSubscriptionSettings=[{id:"setting",controls:[{id:"sellingType",label:"Type",type:"pick-subscription",options:[{value:"one-time",label:"One-time purchase"},{value:"subscription",label:"Subscription"}],default:"subscription"},{id:"sellingPlans",label:"Source",type:"selling-plan"},{id:"sellingTitle",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"Subscribe and save up to {total_discount}",suggestContents:[{message:"{total_discount}",eg:"E.g: 50%"},{message:"{offer_discount}",eg:"E.g: 20%"},{message:"{selling_plan_max_discount}",eg:"E.g: 15%"}]},{id:"sellingLabel",label:"Text",type:"input",default:"Purchase options",placeholder:"E.g. Purchase options",action:{clear:!0}},{id:"sellingTitleOneTime",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"One-time purchase",suggestContents:[]},{id:"sellingStyle",label:"Style",type:"option:illustration",default:"dropdown",options:[{label:"Dropdown",value:"dropdown",svgName:"gp-selling-plan-dropdown"},{label:"Radio",value:"radio",svgName:"gp-selling-plan-radio"}]},{id:"subscriptionLabel",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"Delivery every {selling_plan_delivery_frequency}, save {selling_plan_discount}",suggestContents:[{message:"{selling_plan_delivery_frequency}",eg:"E.g: every week"},{message:"{selling_plan_discount}",eg:"E.g: 10%"},{message:"{selling_plan_billing_cycle}",eg:"E.g: every 1 month"}]},{id:"enableSubscriptionDetail",label:"Enable subscription detail",type:"toggle",default:!1}]},{id:"style",controls:[{id:"sellingTitleDirection",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"sellingTitleOneTimeDirection",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"subscriptionDetailDirection",label:"Direction",type:"option:value",options:[{label:"LTR",value:"ltr"},{label:"RTL",value:"rtl"}],default:"ltr"},{id:"sellingPlanItemGap",type:"select",label:"Item gap",options:e,default:"tight"},{id:"sellingTitleTypo",label:"Label",type:"typography-post-purchase",default:{fontSize:"medium",textColor:"default",fontWeight:"normal",textTransform:"none"}},{id:"sellingTitleAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"sellingTitleOneTimeTypo",label:"Label",type:"typography-post-purchase",default:{fontSize:"medium",textColor:"default",fontWeight:"normal",textTransform:"none"}},{id:"sellingTitleOneTimeAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"subscriptionDetailTypo",label:"Label",type:"typography-post-purchase",default:{fontSize:"default",textColor:"default",fontWeight:"normal",textTransform:"none"}},{id:"subscriptionDetailAlign",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"text",tooltip:"Align left",iconName:"polaris-text-align-left"},{label:"Center",value:"center",type:"text",tooltip:"Align center",iconName:"polaris-text-align-center"},{label:"Right",value:"right",type:"text",tooltip:"Align right",iconName:"polaris-text-align-right"}],default:"left"},{id:"width",type:"dropdown:input",label:"Width",inputType:"number",units:["px","%"],hideUnit:!1,default:"100%",displayOptions:[{label:"Full",value:"100%",showValue:!0}]},{id:"align",label:"Alignment",type:"option:value",options:[{label:"Left",value:"left",type:"align",tooltip:"Align left",iconName:"gp-align-left"},{label:"Center",value:"center",type:"align",tooltip:"Align center",iconName:"gp-align-center"},{label:"Right",value:"right",type:"align",tooltip:"Align right",iconName:"gp-align-right"}],default:"left"}]}];export{ProductSubscriptionSettings};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/components",
3
- "version": "12.0.0-dev.102",
3
+ "version": "12.0.0-dev.104",
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.101",
29
+ "@gem-sdk/core": "12.0.0-dev.103",
30
30
  "@gem-sdk/styles": "12.0.0-dev.86",
31
31
  "@gem-sdk/system": "12.0.0-dev.53",
32
32
  "@types/react-transition-group": "^4.4.12",