@gem-sdk/components 8.0.0-dev.115 → 8.0.0-dev.117

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.
@@ -2,15 +2,15 @@
2
2
  <div class="${v}" style="${f}">
3
3
  ${core.RenderChildren({...e,index:c,title:i,accordions:g,parentSetting:s,parentStyle:t,parentUid:r?.uid,childrenIcon:s?.childConfig?.[c],activeKey:d})}
4
4
  </div>
5
- `}})),q=()=>core.RenderIf(core.isLocalEnv,`
5
+ `}})),A=()=>core.RenderIf(core.isLocalEnv,`
6
6
  <script ${helpers$1.getSettingPreloadData('class="gps-link" delay',"src")}="{{ 'gp-accordion-v7-5.js' | asset_url }}"
7
7
  defer="defer"></script>`,`
8
8
  <script ${helpers$1.getSettingPreloadData('class="gps-link" delay',"src")}="${core.baseAssetURL}/assets-v2/gp-accordion-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>
9
9
  `);return core.template`
10
10
  <gp-accordion ${h} class="${S}" style="${$}">
11
- <script gp-data type="application/json">${core.dataStringify(u)}</script>
11
+ <script gp-data type="application/json">${JSON.stringify(u).replaceAll("'","&#039;")}</script>
12
12
  <div class=" ${C}"></div>
13
13
  ${j()}
14
14
  </gp-accordion>
15
- ${q()}
15
+ ${A()}
16
16
  `};exports.default=Accordion;
@@ -1,10 +1,10 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),system=require("@gem-sdk/system"),attrs=require("../common/attrs.js"),styles=require("../common/styles.js"),classes=require("../common/classes.js"),helpers$1=require("../../helpers.js"),ButtonIcon_liquid=require("./ButtonIcon.liquid.js"),ButtonLabel_liquid=require("./ButtonLabel.liquid.js"),ButtonLoadingIndicator_liquid=require("./ButtonLoadingIndicator.liquid.js"),helpers=require("../common/helpers.js");const Button=e=>{let{advanced:s,className:t,nodePrice:a,customAttrs:l,styles:r={},setting:i={},builderProps:o,wrapClassName:n=""}=e,{iconSvg:u,btnLink:c,htmlType:y,disabled:d,enableBtnLink:g,shouldClearSpace:p,disabledLoading:m=!0}=i,{enableTextStyle:$=!0}=r,{customCss:q,wrapStyle:f,restStyle:B,dataState:L,dataIdAttr:S,isShowIcon:b,isScrollToElement:I,getArialLabel:C,getLabelToDisplay:v,checkIsShowLabel:h,checkIsEditableLabel:j}=helpers.getData(e),{HTMLTag:_,urlData:k,shouldRenderLink:E}=helpers.getInsertLinkData({enableBtnLink:g,htmlType:y,setting:c,defaultTag:"button",isLiquid:!0}),T=system.createStyle({...styles.getButtonStyles(r,i?.enableHoverEffect)}),A=system.createStyle({...styles.getTypoStyles(r)}),D=system.createStyle({...styles.getTypoStyles(r),...styles.getButtonIconStyles(r,i)}),P=system.createStyle({...styles.getButtonWrapperStyles(B,r)}),x=system.createClass({...classes.getButtonClasses({styles:r,className:t,shouldRenderLink:E,uid:o?.uid,advanced:s})}),M=system.createClass({...classes.getButtonIconClasses(v({isLiquid:!0}),p,$)}),O=system.createClass({...classes.getButtonLabelClasses(r,j({isLiquid:!0}))}),W=system.createClass({...classes.getButtonWrapperClasses(n,t,s?.cssClass)}),G=system.createClass({...classes.getButtonContentWrapperClasses(i)}),H=system.createClass({...classes.getButtonContainerClasses()}),R=system.createAttr({...attrs.getButtonAttributes({disabled:d,dataState:L,dataId:S,arialLabel:C({isLiquid:!0})})}),N=system.createStateOrContext({btnLink:i?.btnLink});return system.Liquid(core.template`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),system=require("@gem-sdk/system"),attrs=require("../common/attrs.js"),styles=require("../common/styles.js"),classes=require("../common/classes.js"),helpers$1=require("../../helpers.js"),ButtonIcon_liquid=require("./ButtonIcon.liquid.js"),ButtonLabel_liquid=require("./ButtonLabel.liquid.js"),ButtonLoadingIndicator_liquid=require("./ButtonLoadingIndicator.liquid.js"),helpers=require("../common/helpers.js");const Button=e=>{let{advanced:s,className:t,nodePrice:l,customAttrs:a,styles:r={},setting:i={},builderProps:n,wrapClassName:o=""}=e,{iconSvg:u,btnLink:c,htmlType:y,disabled:d,enableBtnLink:g,shouldClearSpace:p,disabledLoading:m=!0}=i,{enableTextStyle:$=!0}=r,{customCss:q,wrapStyle:f,restStyle:B,dataState:L,dataIdAttr:S,isShowIcon:b,isScrollToElement:I,getArialLabel:C,getLabelToDisplay:v,checkIsShowLabel:h,checkIsEditableLabel:j}=helpers.getData(e),{HTMLTag:_,urlData:k,shouldRenderLink:A}=helpers.getInsertLinkData({enableBtnLink:g,htmlType:y,setting:c,defaultTag:"button",isLiquid:!0}),E=system.createStyle({...styles.getButtonStyles(r,i?.enableHoverEffect)}),T=system.createStyle({...styles.getTypoStyles(r)}),D=system.createStyle({...styles.getTypoStyles(r),...styles.getButtonIconStyles(r,i)}),O=system.createStyle({...styles.getButtonWrapperStyles(B,r)}),P=system.createClass({...classes.getButtonClasses({styles:r,className:t,shouldRenderLink:A,uid:n?.uid,advanced:s})}),x=system.createClass({...classes.getButtonIconClasses(v({isLiquid:!0}),p,$)}),M=system.createClass({...classes.getButtonLabelClasses(r,j({isLiquid:!0}))}),W=system.createClass({...classes.getButtonWrapperClasses(o,t,s?.cssClass)}),G=system.createClass({...classes.getButtonContentWrapperClasses(i)}),H=system.createClass({...classes.getButtonContainerClasses()}),N=system.createAttr({...attrs.getButtonAttributes({disabled:d,dataState:L,dataId:S,arialLabel:C({isLiquid:!0})})}),R=system.createStateOrContext({btnLink:i?.btnLink});return system.Liquid(core.template`
2
2
  <gp-button
3
3
  style="${{...f}}"
4
4
  class="${H}"
5
5
  >
6
- <script gp-data type="application/json">${core.dataStringify(N)}</script>
7
- <div style="${P}" class="${W}">
6
+ <script gp-data type="application/json">${JSON.stringify(R).replaceAll("'","&#039;")}</script>
7
+ <div style="${O}" class="${W}">
8
8
  <style>${q}</style>
9
9
  ${system.If(I,`<a
10
10
  class="gp-trigger-button-link gp-hidden"
@@ -12,18 +12,18 @@
12
12
  target=${k.target}
13
13
  ></a>`)}
14
14
  <${_}
15
- ${{...R}}
16
- ${{...l}}
15
+ ${{...N}}
16
+ ${{...a}}
17
17
  ${{...k}}
18
- style="${T}"
19
- class="${x}"
18
+ style="${E}"
19
+ class="${P}"
20
20
  >
21
21
  ${system.If(!m,ButtonLoadingIndicator_liquid.default(),"")}
22
22
  <div class="${G}">
23
- ${system.If(b,ButtonIcon_liquid.default({iconSvg:u??"",styles:D,classes:M}))}
24
- ${system.If($&&h({isLiquid:!0}),ButtonLabel_liquid.default({label:v({isLiquid:!0}),styles:A,classes:O}))}
23
+ ${system.If(b,ButtonIcon_liquid.default({iconSvg:u??"",styles:D,classes:x}))}
24
+ ${system.If($&&h({isLiquid:!0}),ButtonLabel_liquid.default({label:v({isLiquid:!0}),styles:T,classes:M}))}
25
25
  </div>
26
- ${system.If(!!a,a?.toString()??"","")}
26
+ ${system.If(!!l,l?.toString()??"","")}
27
27
  </${_}>
28
28
  </div>
29
29
  ${system.If(core.isLocalEnv,`<script ${helpers$1.getSettingPreloadData('class="gps-link" delay',"src")}="{{ 'gp-button-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${helpers$1.getSettingPreloadData('class="gps-link" delay',"src")}="${core.baseAssetURL}/assets-v2/gp-button-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
@@ -1,8 +1,8 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),Text_liquid=require("../../text/components/Text.liquid.js"),helpers=require("../../helpers.js"),system=require("@gem-sdk/system"),attrs=require("../common/attrs.js"),styles=require("../common/styles.js"),classes=require("../common/classes.js");const Countdown=e=>{let{setting:s,styles:t,builderProps:a,advanced:r,pageContext:l}=e,{labelTypo:c,numTypo:i,numTypography:o,labelTypography:y,enableLabelTextStyle:n}=t??{},{weekLabel:d,dayLabel:u,hourLabel:m,minuteLabel:p,secondLabel:g,enableWeek:$,enableDay:f,enableHour:x,enableMinute:C,enableSecond:S,redirectUrl:h,translate:k,autoHideWhenTimeout:q}=s??{},I=!!h?.link,{urlData:b}=helpers.getInsertLinkData("",h),v=system.createStateOrContext({...s,...a}),w=system.createStyle({...styles.getDateStyle(t)}),L=e=>system.createClass({...classes.getDateClasses(e)}),j=system.createClass({...classes.getTextFrontClasses(t)}),T=system.createStyle({...styles.getTextFrontStyle(t)}),A=system.createStyle({...styles.getTextBackStyle(t)}),_=e=>system.createClass({...classes.getTextBackClasses(t,e)}),P=system.createAttr({...attrs.getAttr({uid:a?.uid||""})}),D=system.createAttr({...attrs.getAttrHref({uid:b.href||""})}),E=system.createStyle({...styles.getWrapperStyle(t)}),F=system.createClass({...classes.getWrapperClasses(r?.cssClass)}),N=system.createClass({...classes.getContentClasses({isLiquid:!0,autoHideWhenTimeout:q})}),O=system.createStyle({...styles.getContainStyle(t)}),R=(e,t,r)=>core.template`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),Text_liquid=require("../../text/components/Text.liquid.js"),helpers=require("../../helpers.js"),system=require("@gem-sdk/system"),attrs=require("../common/attrs.js"),styles=require("../common/styles.js"),classes=require("../common/classes.js");const Countdown=e=>{let{setting:s,styles:t,builderProps:a,advanced:r,pageContext:l}=e,{labelTypo:c,numTypo:i,numTypography:o,labelTypography:y,enableLabelTextStyle:n}=t??{},{weekLabel:d,dayLabel:u,hourLabel:m,minuteLabel:p,secondLabel:g,enableWeek:$,enableDay:f,enableHour:x,enableMinute:C,enableSecond:S,redirectUrl:h,translate:k,autoHideWhenTimeout:q}=s??{},I=!!h?.link,{urlData:b}=helpers.getInsertLinkData("",h),v=system.createStateOrContext({...s,...a}),w=system.createStyle({...styles.getDateStyle(t)}),L=e=>system.createClass({...classes.getDateClasses(e)}),j=system.createClass({...classes.getTextFrontClasses(t)}),A=system.createStyle({...styles.getTextFrontStyle(t)}),T=system.createStyle({...styles.getTextBackStyle(t)}),_=e=>system.createClass({...classes.getTextBackClasses(t,e)}),P=system.createAttr({...attrs.getAttr({uid:a?.uid||""})}),D=system.createAttr({...attrs.getAttrHref({uid:b.href||""})}),E=system.createStyle({...styles.getWrapperStyle(t)}),F=system.createClass({...classes.getWrapperClasses(r?.cssClass)}),N=system.createClass({...classes.getContentClasses({isLiquid:!0,autoHideWhenTimeout:q})}),O=system.createStyle({...styles.getContainStyle(t)}),R=(e,t,r)=>core.template`
2
2
  <div style="${w}" class="${L(t)}">
3
- ${Text_liquid.default({styles:{typography:o,typo:i},setting:{...s,text:"00",excludeFlex:!0,translate:""},style:T,className:j,builderAttrs:{id:e},builderProps:{...a,uid:a?.uid,uidInteraction:`${a?.uid}-text`}})}
3
+ ${Text_liquid.default({styles:{typography:o,typo:i},setting:{...s,text:"00",excludeFlex:!0,translate:""},style:A,className:j,builderAttrs:{id:e},builderProps:{...a,uid:a?.uid,uidInteraction:`${a?.uid}-text`}})}
4
4
  ${system.If(!!n,core.template`
5
- ${Text_liquid.default({styles:{typography:y,typo:c},setting:{...s,text:t,excludeFlex:!0,translate:r},style:A,className:_(t),builderProps:{...a,uid:a?.uid,uidInteraction:`${a?.uid}-text`},pageContext:l})}
5
+ ${Text_liquid.default({styles:{typography:y,typo:c},setting:{...s,text:t,excludeFlex:!0,translate:r},style:T,className:_(t),builderProps:{...a,uid:a?.uid,uidInteraction:`${a?.uid}-text`},pageContext:l})}
6
6
  `)}
7
7
  </div>
8
8
  `,B=system.createClass({...classes.getLinkClasses()}),G=()=>core.RenderIf(core.isLocalEnv,`<script ${helpers.getSettingPreloadData('class="gps-link" delay',"src")}="{{ 'gp-countdown-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${helpers.getSettingPreloadData('class="gps-link" delay',"src")}="${core.baseAssetURL}/assets-v2/gp-countdown-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`);return core.template`
@@ -12,7 +12,7 @@
12
12
  class="${F}"
13
13
  style="${E}"
14
14
  >
15
- <script gp-data type="application/json">${core.dataStringify(v)}</script>
15
+ <script gp-data type="application/json">${JSON.stringify(v).replaceAll("'","&#039;")}</script>
16
16
  <div id="section-countdown" class="${N}" style="${O}">
17
17
  ${system.If(I,`<a
18
18
  href="${b.href}"
@@ -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"),Text=require("../../text/components/Text.js"),useDynamicProduct=require("../hooks/useDynamicProduct.js"),TooltipHover=require("../../../common/components/TooltipHover.js");const PostPurchaseProductPrice=({styles:e,style:r,builderAttrs:o,builderProps:t,children:s,setting:c})=>{let i=core.useCurrentVariant(),u=core.useProduct(),a=core.convertDecimalToNumber(i?.price)??0,p=core.convertDecimalToNumber(i?.salePrice)??0,n=parseFloat(core.shopifyPriceRounding(core.useProductOfferDiscount(),2)),d=a-n>0?a-n:a,{isDynamicProduct:l}=useDynamicProduct.useDynamicProduct(),{t:m}=core.useI18nStore(),{isEditMode:x}=core.useRenderMode(),{priceType:g,source:h}=c??{},y="compare"===g,P="offer"===g,f="price"===h,j="compare-price"===h,b=React.useMemo(()=>y?f?a:p:P?d:a,[y,f,P,a,p,d]),R=core.useFormatMoney(parseFloat(core.shopifyPriceRounding(Number(b)||0,2)),!1),N=u?.baseID?.replace("gid://shopify/Product/",""),v=React.useMemo(()=>y&&(!n&&p<a||a<=0||j&&!p),[y,n,a,p]);return(!b||v)&&x?jsxRuntime.jsx(TooltipHover.default,{enable:!0,text:"Not be displayed when published",width:"205px",position:"bottom",className:"gp-arrow-left-offset-10",children:jsxRuntime.jsx("div",{className:"gp-h-[28px] gp-px-1.5 gp-py-1 gp-flex gp-border gp-border-light-200 gp-items-center gp-justify-center gp-rounded-lg",style:{borderStyle:"dashed",strokeDasharray:"2,2"},children:jsxRuntime.jsx("span",{className:"gp-text-dark-400 gp-text-[12px] gp-leading-5",children:m("No compare price")})})}):v&&!x?null:jsxRuntime.jsxs("div",{...o,className:core.cls(t?.uid),style:{...r},id:`shopify-text-element-${t?.uid}`,"data-product-id":N,children:[jsxRuntime.jsx(Text.default,{styles:e,setting:{text:l?"$???":R},className:core.cls({"gp-money":P,"gp-product-compare-price":y,"gp-line-through":y&&e?.lineThrough})}),s]})};exports.default=PostPurchaseProductPrice;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),React=require("react"),Text=require("../../text/components/Text.js"),useDynamicProduct=require("../hooks/useDynamicProduct.js"),TooltipHover=require("../../../common/components/TooltipHover.js");const PostPurchaseProductPrice=({styles:e,style:r,builderAttrs:o,builderProps:t,children:s,setting:c})=>{let i=core.useCurrentVariant(),u=core.useProduct(),a=core.convertDecimalToNumber(i?.price)??0,p=core.convertDecimalToNumber(i?.salePrice)??0,n=parseFloat(core.shopifyPriceRounding(core.useProductOfferDiscount(),2)),d=a-n>0?a-n:a,{isDynamicProduct:l}=useDynamicProduct.useDynamicProduct(),{t:m}=core.useI18nStore(),{isEditMode:x}=core.useRenderMode(),{priceType:g,source:h}=c??{},y="compare"===g,P="offer"===g,f="price"===h,j="compare-price"===h,b=React.useMemo(()=>y?f?a:p:P?d:a,[y,f,P,a,p,d]),R=core.useFormatMoney(parseFloat(core.shopifyPriceRounding(Number(b)||0,2)),!1),N=u?.baseID?.replace("gid://shopify/Product/",""),v=React.useMemo(()=>y&&(!n&&p<a||j&&!p||f&&a<=0),[y,n,a,p,j]);return(!b&&!P||v)&&x?jsxRuntime.jsx(TooltipHover.default,{enable:!0,text:"Not be displayed when published",width:"205px",position:"bottom",className:"gp-arrow-left-offset-10",children:jsxRuntime.jsx("div",{className:"gp-h-[28px] gp-px-1.5 gp-py-1 gp-flex gp-border gp-border-light-200 gp-items-center gp-justify-center gp-rounded-lg",style:{borderStyle:"dashed",strokeDasharray:"2,2"},children:jsxRuntime.jsx("span",{className:"gp-text-dark-400 gp-text-[12px] gp-leading-5",children:m("No compare price")})})}):v&&!x?null:jsxRuntime.jsxs("div",{...o,className:core.cls(t?.uid),style:{...r},id:`shopify-text-element-${t?.uid}`,"data-product-id":N,children:[jsxRuntime.jsx(Text.default,{styles:e,setting:{text:l?"$???":R},className:core.cls({"gp-money":P,"gp-product-compare-price":y,"gp-line-through":y&&e?.lineThrough})}),s]})};exports.default=PostPurchaseProductPrice;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),core=require("@gem-sdk/core"),index=require("../../../constants/index.js"),useSellingPlanOptions=require("./useSellingPlanOptions.js");const useSubscriptionVisibility=({setting:e,hasBothTypes:i,sellingPlans:n})=>{let s=core.useProductStore(e=>e.setSubscriptionSellingType),t=core.useProductStore(e=>e.subscriptionSellingType),u=useSellingPlanOptions.useSellingPlanOptions(e),r=core.useProduct(),l=r?.requiresSellingPlan,o=t===index.SubscriptionEnum.ONE_TIME?index.SubscriptionEnum.ONE_TIME:index.SubscriptionEnum.SUBSCRIPTION;React.useEffect(()=>{if(!i){s(e?.sellingType??index.SubscriptionEnum.SUBSCRIPTION);return}t||s(index.SubscriptionEnum.SUBSCRIPTION)},[s,e?.sellingType,i,t]);let c=i&&!l,S=!u||0===u.length,p=e?.sellingType===index.SubscriptionEnum.ONE_TIME&&(l||!n||0===n.length)||e?.sellingType===index.SubscriptionEnum.ONE_TIME&&!i;return{selectedType:o,shouldShowRadio:c,isOneTimeHidden:p,hasNoSellingPlanOptions:S,setSubscriptionSellingType:s}};exports.useSubscriptionVisibility=useSubscriptionVisibility;
1
+ "use strict";var React=require("react"),core=require("@gem-sdk/core"),index=require("../../../constants/index.js"),useSellingPlanOptions=require("./useSellingPlanOptions.js");const useSubscriptionVisibility=({setting:i,hasBothTypes:e,sellingPlans:n})=>{let s=core.useProductStore(i=>i.setSubscriptionSellingType),u=core.useProductStore(i=>i.subscriptionSellingType),t=useSellingPlanOptions.useSellingPlanOptions(i),r=core.useProduct(),l=r?.requiresSellingPlan,o=u===index.SubscriptionEnum.ONE_TIME?index.SubscriptionEnum.ONE_TIME:index.SubscriptionEnum.SUBSCRIPTION;React.useEffect(()=>{if(!e){i?.sellingType===index.SubscriptionEnum.ONE_TIME?s(index.SubscriptionEnum.ONE_TIME):s(i?.sellingType??index.SubscriptionEnum.SUBSCRIPTION);return}u||s(index.SubscriptionEnum.SUBSCRIPTION)},[s,i?.sellingType,e,u]);let c=e&&!l||i?.sellingType===index.SubscriptionEnum.ONE_TIME&&!l,S=!t||0===t.length,p=i?.sellingType===index.SubscriptionEnum.ONE_TIME&&l&&(!n||0===n.length);return{selectedType:o,shouldShowRadio:c,isOneTimeHidden:p,hasNoSellingPlanOptions:S,setSubscriptionSellingType:s}};exports.useSubscriptionVisibility=useSubscriptionVisibility;
@@ -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"},{value:"subscription",label:"Subscription"}],default:"subscription"},{id:"sellingPlans",label:"Selling plans",type:"selling-plan"},{id:"sellingTitle",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"Subscribe and save up to {total_max_discount}",suggestContents:[{message:"{total_max_discount}",eg:"E.g: 50% (offer’s + plan’s max discount)"},{message:"{offer_selling_plan_discount}",eg:"E.g: 20%"}]},{id:"sellingLabel",label:"Text",type:"input",default:"Purchase options",placeholder:"E.g. Purchase options",clearButton:!1},{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:"default",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:"default",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,devices:{desktop:{default:"100%"},tablet:{default:"100%"},mobile:{default:"100%"}},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0}]},{id:"backgroundColor",type:"select",label:"Background Color",options:[{label:"Transparent",value:"none",icon:"gp-bg-transparent"},{label:"Red",value:"critical",icon:"gp-bg-color-red"},{label:"Blue",value:"info",icon:"gp-bg-color-blue"},{label:"Green",value:"success",icon:"gp-bg-color-green"},{label:"Yellow",value:"warning",icon:"gp-bg-color-yellow"}],default:"none"},{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:"Selling plans",type:"selling-plan"},{id:"sellingTitle",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"Subscribe and save up to {total_max_discount}",suggestContents:[{message:"{total_max_discount}",eg:"E.g: 50% (offer’s + plan’s max discount)"},{message:"{offer_selling_plan_discount}",eg:"E.g: 20%"}]},{id:"sellingLabel",label:"Text",type:"input",default:"Purchase options",placeholder:"E.g. Purchase options",clearButton:!1},{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:"default",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:"default",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,devices:{desktop:{default:"100%"},tablet:{default:"100%"},mobile:{default:"100%"}},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0}]},{id:"backgroundColor",type:"select",label:"Background Color",options:[{label:"Transparent",value:"none",icon:"gp-bg-transparent"},{label:"Red",value:"critical",icon:"gp-bg-color-red"},{label:"Blue",value:"info",icon:"gp-bg-color-blue"},{label:"Green",value:"success",icon:"gp-bg-color-green"},{label:"Yellow",value:"warning",icon:"gp-bg-color-yellow"}],default:"none"},{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,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var styles=require("./common/styles.js"),helpers$1=require("./common/helpers.js"),core=require("@gem-sdk/core"),system=require("@gem-sdk/system"),helpers=require("../../../helpers.js"),getButtonDynamicSourceLocales=require("./helpers/getButtonDynamicSourceLocales.js"),SoldOutButton_liquid=require("./SoldOutButton.liquid.js"),AddToCartButton_liquid=require("./AddToCartButton.liquid.js");const ProductButton=t=>{let{setting:e,builderProps:s,style:o,styles:r,pageContext:a}=t,{wrapStyle:i,restStyle:l}=styles.getSplitStyle(o),{outOfStockButtonLabel:u,unavailableButtonLabel:n,variantSelectionRequiredMessage:c}=getButtonDynamicSourceLocales.getButtonDynamicSourceLocales({setting:e,pageContext:a,builderProps:s}),{urlData:d}=helpers.getInsertLinkData("",e?.actionEffect==="open-cart-drawer"?{link:"/cart",target:"_self"}:e?.customURL),p=system.createStateOrContext(helpers$1.getGPProductButtonState(r,e)),g=()=>AddToCartButton_liquid.AddToCartButton({...t,style:l}),y=()=>SoldOutButton_liquid.SoldOutButton({...t,style:l,label:u}),m=()=>system.If(core.isLocalEnv,`<script ${helpers.getSettingPreloadData('class="gps-link" delay',"src")}="{{ 'gp-product-button-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${helpers.getSettingPreloadData('class="gps-link" delay',"src")}="${core.baseAssetURL}/assets-v2/gp-product-button-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`);return core.template`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var styles=require("./common/styles.js"),helpers$1=require("./common/helpers.js"),core=require("@gem-sdk/core"),system=require("@gem-sdk/system"),helpers=require("../../../helpers.js"),getButtonDynamicSourceLocales=require("./helpers/getButtonDynamicSourceLocales.js"),SoldOutButton_liquid=require("./SoldOutButton.liquid.js"),AddToCartButton_liquid=require("./AddToCartButton.liquid.js");const ProductButton=t=>{let{setting:e,builderProps:s,style:r,styles:o,pageContext:a}=t,{wrapStyle:i,restStyle:l}=styles.getSplitStyle(r),{outOfStockButtonLabel:u,unavailableButtonLabel:n,variantSelectionRequiredMessage:c}=getButtonDynamicSourceLocales.getButtonDynamicSourceLocales({setting:e,pageContext:a,builderProps:s}),{urlData:d}=helpers.getInsertLinkData("",e?.actionEffect==="open-cart-drawer"?{link:"/cart",target:"_self"}:e?.customURL),p=system.createStateOrContext(helpers$1.getGPProductButtonState(o,e)),g=()=>AddToCartButton_liquid.AddToCartButton({...t,style:l}),y=()=>SoldOutButton_liquid.SoldOutButton({...t,style:l,label:u}),m=()=>system.If(core.isLocalEnv,`<script ${helpers.getSettingPreloadData('class="gps-link" delay',"src")}="{{ 'gp-product-button-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${helpers.getSettingPreloadData('class="gps-link" delay',"src")}="${core.baseAssetURL}/assets-v2/gp-product-button-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`);return core.template`
2
2
  ${system.Liquid("{%- assign total_combinations = 1 -%}")}
3
3
  ${system.LiquidFor("option in product.options_with_values","{%- assign total_combinations = total_combinations | times: option.values.size -%}")}
4
4
  {%- liquid
@@ -14,7 +14,7 @@
14
14
  gp-label-unavailable="${n}"
15
15
  data-variant-selection-required-message="${c}"
16
16
  >
17
- <script gp-data type="application/json">${core.dataStringify(p)}</script>
17
+ <script gp-data type="application/json">${JSON.stringify(p).replaceAll("'","&#039;")}</script>
18
18
  ${g()}
19
19
  ${y()}
20
20
  </gp-product-button>
@@ -1,16 +1,16 @@
1
- import{makeStyleResponsive as s,template as i,dataStringify as t,WrapRenderChildren as e,RenderChildren as r,RenderIf as o,isLocalEnv as c,baseAssetURL as a}from"@gem-sdk/core";import{getDynamicSourceLocales as d,createSettingId as p,getSettingPreloadData as l}from"../../helpers.js";import{createStateOrContext as n,createClass as m,createStyle as f,createAttr as g}from"@gem-sdk/system";import{getDataState as u}from"../common/helpers.js";import{getContainerStyles as $}from"../common/styles.js";import{getContainerClasses as y,extendClasses as v}from"../common/classes.js";import{Accordion as j}from"../settings/configs/translate.js";let Accordion=({rawChildren:S,setting:h,styles:A,builderProps:k,pageContext:E,advanced:I,style:x,builderAttrs:C})=>{let{align:P}=A??{},{childItem:z,activeKey:G}=h??{},{uidState:T,settingState:_,stylesState:K,accordions:M}=u({setting:h,styles:A,builderProps:k},S),N=n({uid:T,setting:_,styles:{...K}}),O=m(y(I?.cssClass)),R=f({...$(x,A)}),U=g({...C,"data-id":k?.uid??""}),V=f({...s("jc",P)}),b=m({"gp-flex":!0}),q=m(v()),w=()=>e({uid:k?.uid??"",customProps:S?.[0].customProps},S?.map((s,t)=>{if(s){let e=d({val:z?.[t],uid:k?.uid,settingId:p({id:j?.childItem?.id,index:t}),pageContext:E,isCapitalize:h?.titleTypo?.attrs?.transform==="capitalize"});return i`
2
- <div class="${b}" style="${V}">
3
- ${r({...s,index:t,title:e,accordions:M,parentSetting:h,parentStyle:A,parentUid:k?.uid,childrenIcon:h?.childConfig?.[t],activeKey:G})}
1
+ import{makeStyleResponsive as s,template as i,WrapRenderChildren as t,RenderChildren as e,RenderIf as r,isLocalEnv as o,baseAssetURL as c}from"@gem-sdk/core";import{getDynamicSourceLocales as a,createSettingId as d,getSettingPreloadData as l}from"../../helpers.js";import{createStateOrContext as p,createClass as n,createStyle as m,createAttr as f}from"@gem-sdk/system";import{getDataState as g}from"../common/helpers.js";import{getContainerStyles as u}from"../common/styles.js";import{getContainerClasses as $,extendClasses as y}from"../common/classes.js";import{Accordion as v}from"../settings/configs/translate.js";let Accordion=({rawChildren:j,setting:S,styles:h,builderProps:A,pageContext:k,advanced:E,style:I,builderAttrs:x})=>{let{align:C}=h??{},{childItem:P,activeKey:z}=S??{},{uidState:G,settingState:N,stylesState:O,accordions:T}=g({setting:S,styles:h,builderProps:A},j),_=p({uid:G,setting:N,styles:{...O}}),J=n($(E?.cssClass)),K=m({...u(I,h)}),M=f({...x,"data-id":A?.uid??""}),R=m({...s("jc",C)}),U=n({"gp-flex":!0}),V=n(y()),b=()=>t({uid:A?.uid??"",customProps:j?.[0].customProps},j?.map((s,t)=>{if(s){let r=a({val:P?.[t],uid:A?.uid,settingId:d({id:v?.childItem?.id,index:t}),pageContext:k,isCapitalize:S?.titleTypo?.attrs?.transform==="capitalize"});return i`
2
+ <div class="${U}" style="${R}">
3
+ ${e({...s,index:t,title:r,accordions:T,parentSetting:S,parentStyle:h,parentUid:A?.uid,childrenIcon:S?.childConfig?.[t],activeKey:z})}
4
4
  </div>
5
- `}})),B=()=>o(c,`
5
+ `}})),q=()=>r(o,`
6
6
  <script ${l('class="gps-link" delay',"src")}="{{ 'gp-accordion-v7-5.js' | asset_url }}"
7
7
  defer="defer"></script>`,`
8
- <script ${l('class="gps-link" delay',"src")}="${a}/assets-v2/gp-accordion-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>
8
+ <script ${l('class="gps-link" delay',"src")}="${c}/assets-v2/gp-accordion-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>
9
9
  `);return i`
10
- <gp-accordion ${U} class="${O}" style="${R}">
11
- <script gp-data type="application/json">${t(N)}</script>
12
- <div class=" ${q}"></div>
13
- ${w()}
10
+ <gp-accordion ${M} class="${J}" style="${K}">
11
+ <script gp-data type="application/json">${JSON.stringify(_).replaceAll("'","&#039;")}</script>
12
+ <div class=" ${V}"></div>
13
+ ${b()}
14
14
  </gp-accordion>
15
- ${B()}
15
+ ${q()}
16
16
  `};export{Accordion as default};
@@ -1,31 +1,31 @@
1
- import{template as s,dataStringify as t,isLocalEnv as i,baseAssetURL as e}from"@gem-sdk/core";import{createStyle as o,createClass as r,createAttr as l,createStateOrContext as a,Liquid as d,If as n}from"@gem-sdk/system";import{getButtonAttributes as m}from"../common/attrs.js";import{getButtonStyles as p,getTypoStyles as c,getButtonIconStyles as u,getButtonWrapperStyles as $}from"../common/styles.js";import{getButtonClasses as f,getButtonIconClasses as g,getButtonLabelClasses as b,getButtonWrapperClasses as y,getButtonContentWrapperClasses as L,getButtonContainerClasses as j}from"../common/classes.js";import{getSettingPreloadData as v}from"../../helpers.js";import q from"./ButtonIcon.liquid.js";import k from"./ButtonLabel.liquid.js";import S from"./ButtonLoadingIndicator.liquid.js";import{getData as h,getInsertLinkData as B}from"../common/helpers.js";let Button=E=>{let{advanced:I,className:T,nodePrice:A,customAttrs:G,styles:H={},setting:M={},builderProps:_,wrapClassName:x=""}=E,{iconSvg:C,btnLink:N,htmlType:O,disabled:P,enableBtnLink:R,shouldClearSpace:V,disabledLoading:w=!0}=M,{enableTextStyle:z=!0}=H,{customCss:D,wrapStyle:F,restStyle:J,dataState:K,dataIdAttr:Q,isShowIcon:U,isScrollToElement:W,getArialLabel:X,getLabelToDisplay:Y,checkIsShowLabel:Z,checkIsEditableLabel:ss}=h(E),{HTMLTag:st,urlData:si,shouldRenderLink:se}=B({enableBtnLink:R,htmlType:O,setting:N,defaultTag:"button",isLiquid:!0}),so=o({...p(H,M?.enableHoverEffect)}),sr=o({...c(H)}),sl=o({...c(H),...u(H,M)}),sa=o({...$(J,H)}),sd=r({...f({styles:H,className:T,shouldRenderLink:se,uid:_?.uid,advanced:I})}),sn=r({...g(Y({isLiquid:!0}),V,z)}),sm=r({...b(H,ss({isLiquid:!0}))}),sp=r({...y(x,T,I?.cssClass)}),sc=r({...L(M)}),su=r({...j()}),s$=l({...m({disabled:P,dataState:K,dataId:Q,arialLabel:X({isLiquid:!0})})}),sf=a({btnLink:M?.btnLink});return d(s`
1
+ import{template as s,isLocalEnv as t,baseAssetURL as i}from"@gem-sdk/core";import{createStyle as e,createClass as r,createAttr as o,createStateOrContext as l,Liquid as a,If as n}from"@gem-sdk/system";import{getButtonAttributes as d}from"../common/attrs.js";import{getButtonStyles as p,getTypoStyles as m,getButtonIconStyles as c,getButtonWrapperStyles as u}from"../common/styles.js";import{getButtonClasses as $,getButtonIconClasses as f,getButtonLabelClasses as g,getButtonWrapperClasses as y,getButtonContentWrapperClasses as b,getButtonContainerClasses as L}from"../common/classes.js";import{getSettingPreloadData as j}from"../../helpers.js";import v from"./ButtonIcon.liquid.js";import q from"./ButtonLabel.liquid.js";import S from"./ButtonLoadingIndicator.liquid.js";import{getData as k,getInsertLinkData as h}from"../common/helpers.js";let Button=B=>{let{advanced:E,className:I,nodePrice:T,customAttrs:A,styles:G={},setting:H={},builderProps:M,wrapClassName:N=""}=B,{iconSvg:O,btnLink:_,htmlType:x,disabled:C,enableBtnLink:J,shouldClearSpace:P,disabledLoading:R=!0}=H,{enableTextStyle:V=!0}=G,{customCss:w,wrapStyle:z,restStyle:D,dataState:F,dataIdAttr:K,isShowIcon:Q,isScrollToElement:U,getArialLabel:W,getLabelToDisplay:X,checkIsShowLabel:Y,checkIsEditableLabel:Z}=k(B),{HTMLTag:ss,urlData:st,shouldRenderLink:si}=h({enableBtnLink:J,htmlType:x,setting:_,defaultTag:"button",isLiquid:!0}),se=e({...p(G,H?.enableHoverEffect)}),sr=e({...m(G)}),so=e({...m(G),...c(G,H)}),sl=e({...u(D,G)}),sa=r({...$({styles:G,className:I,shouldRenderLink:si,uid:M?.uid,advanced:E})}),sn=r({...f(X({isLiquid:!0}),P,V)}),sd=r({...g(G,Z({isLiquid:!0}))}),sp=r({...y(N,I,E?.cssClass)}),sm=r({...b(H)}),sc=r({...L()}),su=o({...d({disabled:C,dataState:F,dataId:K,arialLabel:W({isLiquid:!0})})}),s$=l({btnLink:H?.btnLink});return a(s`
2
2
  <gp-button
3
- style="${{...F}}"
4
- class="${su}"
3
+ style="${{...z}}"
4
+ class="${sc}"
5
5
  >
6
- <script gp-data type="application/json">${t(sf)}</script>
7
- <div style="${sa}" class="${sp}">
8
- <style>${D}</style>
9
- ${n(W,`<a
6
+ <script gp-data type="application/json">${JSON.stringify(s$).replaceAll("'","&#039;")}</script>
7
+ <div style="${sl}" class="${sp}">
8
+ <style>${w}</style>
9
+ ${n(U,`<a
10
10
  class="gp-trigger-button-link gp-hidden"
11
- href=${si.href}
12
- target=${si.target}
11
+ href=${st.href}
12
+ target=${st.target}
13
13
  ></a>`)}
14
- <${st}
15
- ${{...s$}}
16
- ${{...G}}
17
- ${{...si}}
18
- style="${so}"
19
- class="${sd}"
14
+ <${ss}
15
+ ${{...su}}
16
+ ${{...A}}
17
+ ${{...st}}
18
+ style="${se}"
19
+ class="${sa}"
20
20
  >
21
- ${n(!w,S(),"")}
22
- <div class="${sc}">
23
- ${n(U,q({iconSvg:C??"",styles:sl,classes:sn}))}
24
- ${n(z&&Z({isLiquid:!0}),k({label:Y({isLiquid:!0}),styles:sr,classes:sm}))}
21
+ ${n(!R,S(),"")}
22
+ <div class="${sm}">
23
+ ${n(Q,v({iconSvg:O??"",styles:so,classes:sn}))}
24
+ ${n(V&&Y({isLiquid:!0}),q({label:X({isLiquid:!0}),styles:sr,classes:sd}))}
25
25
  </div>
26
- ${n(!!A,A?.toString()??"","")}
27
- </${st}>
26
+ ${n(!!T,T?.toString()??"","")}
27
+ </${ss}>
28
28
  </div>
29
- ${n(i,`<script ${v('class="gps-link" delay',"src")}="{{ 'gp-button-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${v('class="gps-link" delay',"src")}="${e}/assets-v2/gp-button-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
29
+ ${n(t,`<script ${j('class="gps-link" delay',"src")}="{{ 'gp-button-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${j('class="gps-link" delay',"src")}="${i}/assets-v2/gp-button-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
30
30
  </gp-button>
31
31
  `)};export{Button as default};
@@ -1,31 +1,31 @@
1
- import{template as t,dataStringify as e,RenderIf as s,isLocalEnv as o,baseAssetURL as r}from"@gem-sdk/core";import i from"../../text/components/Text.liquid.js";import{getInsertLinkData as l,getSettingPreloadData as a}from"../../helpers.js";import{createStateOrContext as d,createStyle as n,createClass as c,createAttr as p,If as u}from"@gem-sdk/system";import{getAttr as m,getAttrHref as $}from"../common/attrs.js";import{getDateStyle as y,getTextFrontStyle as f,getTextBackStyle as g,getWrapperStyle as x,getContainStyle as w}from"../common/styles.js";import{getTextFrontClasses as b,getWrapperClasses as h,getContentClasses as j,getLinkClasses as k,getDateClasses as v,getTextBackClasses as L}from"../common/classes.js";let Countdown=S=>{let{setting:C,styles:E,builderProps:A,advanced:I,pageContext:N}=S,{labelTypo:P,numTypo:q,numTypography:F,labelTypography:G,enableLabelTextStyle:T}=E??{},{weekLabel:_,dayLabel:M,hourLabel:O,minuteLabel:R,secondLabel:V,enableWeek:z,enableDay:B,enableHour:D,enableMinute:H,enableSecond:J,redirectUrl:K,translate:Q,autoHideWhenTimeout:U}=C??{},W=!!K?.link,{urlData:X}=l("",K),Y=d({...C,...A}),Z=n({...y(E)}),tt=t=>c({...v(t)}),te=c({...b(E)}),ts=n({...f(E)}),to=n({...g(E)}),tr=t=>c({...L(E,t)}),ti=p({...m({uid:A?.uid||""})}),tl=p({...$({uid:X.href||""})}),ta=n({...x(E)}),td=c({...h(I?.cssClass)}),tn=c({...j({isLiquid:!0,autoHideWhenTimeout:U})}),tc=n({...w(E)}),tp=(e,s,o)=>t`
2
- <div style="${Z}" class="${tt(s)}">
3
- ${i({styles:{typography:F,typo:q},setting:{...C,text:"00",excludeFlex:!0,translate:""},style:ts,className:te,builderAttrs:{id:e},builderProps:{...A,uid:A?.uid,uidInteraction:`${A?.uid}-text`}})}
4
- ${u(!!T,t`
5
- ${i({styles:{typography:G,typo:P},setting:{...C,text:s,excludeFlex:!0,translate:o},style:to,className:tr(s),builderProps:{...A,uid:A?.uid,uidInteraction:`${A?.uid}-text`},pageContext:N})}
1
+ import{template as e,RenderIf as t,isLocalEnv as s,baseAssetURL as r}from"@gem-sdk/core";import i from"../../text/components/Text.liquid.js";import{getInsertLinkData as o,getSettingPreloadData as l}from"../../helpers.js";import{createStateOrContext as a,createStyle as d,createClass as n,createAttr as c,If as p}from"@gem-sdk/system";import{getAttr as u,getAttrHref as m}from"../common/attrs.js";import{getDateStyle as $,getTextFrontStyle as y,getTextBackStyle as f,getWrapperStyle as g,getContainStyle as x}from"../common/styles.js";import{getTextFrontClasses as w,getWrapperClasses as b,getContentClasses as h,getLinkClasses as j,getDateClasses as k,getTextBackClasses as v}from"../common/classes.js";let Countdown=L=>{let{setting:S,styles:A,builderProps:C,advanced:E,pageContext:N}=L,{labelTypo:I,numTypo:P,numTypography:q,labelTypography:F,enableLabelTextStyle:G}=A??{},{weekLabel:O,dayLabel:T,hourLabel:_,minuteLabel:J,secondLabel:M,enableWeek:R,enableDay:V,enableHour:z,enableMinute:B,enableSecond:D,redirectUrl:H,translate:K,autoHideWhenTimeout:Q}=S??{},U=!!H?.link,{urlData:W}=o("",H),X=a({...S,...C}),Y=d({...$(A)}),Z=e=>n({...k(e)}),ee=n({...w(A)}),et=d({...y(A)}),es=d({...f(A)}),er=e=>n({...v(A,e)}),ei=c({...u({uid:C?.uid||""})}),eo=c({...m({uid:W.href||""})}),el=d({...g(A)}),ea=n({...b(E?.cssClass)}),ed=n({...h({isLiquid:!0,autoHideWhenTimeout:Q})}),en=d({...x(A)}),ec=(t,s,r)=>e`
2
+ <div style="${Y}" class="${Z(s)}">
3
+ ${i({styles:{typography:q,typo:P},setting:{...S,text:"00",excludeFlex:!0,translate:""},style:et,className:ee,builderAttrs:{id:t},builderProps:{...C,uid:C?.uid,uidInteraction:`${C?.uid}-text`}})}
4
+ ${p(!!G,e`
5
+ ${i({styles:{typography:F,typo:I},setting:{...S,text:s,excludeFlex:!0,translate:r},style:es,className:er(s),builderProps:{...C,uid:C?.uid,uidInteraction:`${C?.uid}-text`},pageContext:N})}
6
6
  `)}
7
7
  </div>
8
- `,tu=c({...k()}),tm=()=>s(o,`<script ${a('class="gps-link" delay',"src")}="{{ 'gp-countdown-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${a('class="gps-link" delay',"src")}="${r}/assets-v2/gp-countdown-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`);return t`
8
+ `,ep=n({...j()}),eu=()=>t(s,`<script ${l('class="gps-link" delay',"src")}="{{ 'gp-countdown-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${l('class="gps-link" delay',"src")}="${r}/assets-v2/gp-countdown-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`);return e`
9
9
  <gp-countdown-timer
10
- ${{...ti}}
11
- ${{...tl}}
12
- class="${td}"
13
- style="${ta}"
10
+ ${{...ei}}
11
+ ${{...eo}}
12
+ class="${ea}"
13
+ style="${el}"
14
14
  >
15
- <script gp-data type="application/json">${e(Y)}</script>
16
- <div id="section-countdown" class="${tn}" style="${tc}">
17
- ${u(W,`<a
18
- href="${X.href}"
19
- target="${X?.target}"
15
+ <script gp-data type="application/json">${JSON.stringify(X).replaceAll("'","&#039;")}</script>
16
+ <div id="section-countdown" class="${ed}" style="${en}">
17
+ ${p(U,`<a
18
+ href="${W.href}"
19
+ target="${W?.target}"
20
20
  aria-label="Countdown link"
21
- class="${tu}"
21
+ class="${ep}"
22
22
  > </a>`)}
23
- ${u(z,tp("week",_,Q?"weekLabel":""))}
24
- ${u(B,tp("day",M,Q?"dayLabel":""))}
25
- ${u(D,tp("hour",O,Q?"hourLabel":""))}
26
- ${u(H,tp("minute",R,Q?"minuteLabel":""))}
27
- ${u(J,tp("second",V,Q?"secondLabel":""))}
23
+ ${p(R,ec("week",O,K?"weekLabel":""))}
24
+ ${p(V,ec("day",T,K?"dayLabel":""))}
25
+ ${p(z,ec("hour",_,K?"hourLabel":""))}
26
+ ${p(B,ec("minute",J,K?"minuteLabel":""))}
27
+ ${p(D,ec("second",M,K?"secondLabel":""))}
28
28
  </div>
29
29
  </gp-countdown-timer>
30
- ${tm()}
30
+ ${eu()}
31
31
  `};export{Countdown as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,jsxs as r}from"react/jsx-runtime";import{useCurrentVariant as t,useProduct as o,convertDecimalToNumber as p,shopifyPriceRounding as s,useProductOfferDiscount as i,useI18nStore as a,useRenderMode as c,useFormatMoney as l,cls as d}from"@gem-sdk/core";import{useMemo as m}from"react";import n from"../../text/components/Text.js";import{useDynamicProduct as g}from"../hooks/useDynamicProduct.js";import u from"../../../common/components/TooltipHover.js";let PostPurchaseProductPrice=({styles:h,style:f,builderAttrs:x,builderProps:y,children:P,setting:b})=>{let N=t(),j=o(),k=p(N?.price)??0,v=p(N?.salePrice)??0,w=parseFloat(s(i(),2)),D=k-w>0?k-w:k,{isDynamicProduct:T}=g(),{t:F}=a(),{isEditMode:$}=c(),{priceType:H,source:I}=b??{},S="compare"===H,q="offer"===H,z="price"===I,A="compare-price"===I,B=m(()=>S?z?k:v:q?D:k,[S,z,q,k,v,D]),C=l(parseFloat(s(Number(B)||0,2)),!1),E=j?.baseID?.replace("gid://shopify/Product/",""),G=m(()=>S&&(!w&&v<k||k<=0||A&&!v),[S,w,k,v]);return(!B||G)&&$?e(u,{enable:!0,text:"Not be displayed when published",width:"205px",position:"bottom",className:"gp-arrow-left-offset-10",children:e("div",{className:"gp-h-[28px] gp-px-1.5 gp-py-1 gp-flex gp-border gp-border-light-200 gp-items-center gp-justify-center gp-rounded-lg",style:{borderStyle:"dashed",strokeDasharray:"2,2"},children:e("span",{className:"gp-text-dark-400 gp-text-[12px] gp-leading-5",children:F("No compare price")})})}):G&&!$?null:r("div",{...x,className:d(y?.uid),style:{...f},id:`shopify-text-element-${y?.uid}`,"data-product-id":E,children:[e(n,{styles:h,setting:{text:T?"$???":C},className:d({"gp-money":q,"gp-product-compare-price":S,"gp-line-through":S&&h?.lineThrough})}),P]})};export{PostPurchaseProductPrice as default};
2
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{useCurrentVariant as t,useProduct as o,convertDecimalToNumber as p,shopifyPriceRounding as s,useProductOfferDiscount as i,useI18nStore as a,useRenderMode as c,useFormatMoney as l,cls as d}from"@gem-sdk/core";import{useMemo as m}from"react";import n from"../../text/components/Text.js";import{useDynamicProduct as g}from"../hooks/useDynamicProduct.js";import u from"../../../common/components/TooltipHover.js";let PostPurchaseProductPrice=({styles:h,style:f,builderAttrs:x,builderProps:y,children:P,setting:b})=>{let N=t(),j=o(),k=p(N?.price)??0,v=p(N?.salePrice)??0,w=parseFloat(s(i(),2)),D=k-w>0?k-w:k,{isDynamicProduct:T}=g(),{t:F}=a(),{isEditMode:$}=c(),{priceType:H,source:I}=b??{},S="compare"===H,q="offer"===H,z="price"===I,A="compare-price"===I,B=m(()=>S?z?k:v:q?D:k,[S,z,q,k,v,D]),C=l(parseFloat(s(Number(B)||0,2)),!1),E=j?.baseID?.replace("gid://shopify/Product/",""),G=m(()=>S&&(!w&&v<k||A&&!v||z&&k<=0),[S,w,k,v,A]);return(!B&&!q||G)&&$?e(u,{enable:!0,text:"Not be displayed when published",width:"205px",position:"bottom",className:"gp-arrow-left-offset-10",children:e("div",{className:"gp-h-[28px] gp-px-1.5 gp-py-1 gp-flex gp-border gp-border-light-200 gp-items-center gp-justify-center gp-rounded-lg",style:{borderStyle:"dashed",strokeDasharray:"2,2"},children:e("span",{className:"gp-text-dark-400 gp-text-[12px] gp-leading-5",children:F("No compare price")})})}):G&&!$?null:r("div",{...x,className:d(y?.uid),style:{...f},id:`shopify-text-element-${y?.uid}`,"data-product-id":E,children:[e(n,{styles:h,setting:{text:T?"$???":C},className:d({"gp-money":q,"gp-product-compare-price":S,"gp-line-through":S&&h?.lineThrough})}),P]})};export{PostPurchaseProductPrice as default};
@@ -1 +1 @@
1
- import{useEffect as e}from"react";import{useProductStore as i,useProduct as l}from"@gem-sdk/core";import{SubscriptionEnum as t}from"../../../constants/index.js";import{useSellingPlanOptions as n}from"./useSellingPlanOptions.js";let useSubscriptionVisibility=({setting:s,hasBothTypes:r,sellingPlans:o})=>{let p=i(e=>e.setSubscriptionSellingType),S=i(e=>e.subscriptionSellingType),T=n(s),g=l(),u=g?.requiresSellingPlan,I=S===t.ONE_TIME?t.ONE_TIME:t.SUBSCRIPTION;e(()=>{if(!r){p(s?.sellingType??t.SUBSCRIPTION);return}S||p(t.SUBSCRIPTION)},[p,s?.sellingType,r,S]);let m=r&&!u,y=!T||0===T.length,E=s?.sellingType===t.ONE_TIME&&(u||!o||0===o.length)||s?.sellingType===t.ONE_TIME&&!r;return{selectedType:I,shouldShowRadio:m,isOneTimeHidden:E,hasNoSellingPlanOptions:y,setSubscriptionSellingType:p}};export{useSubscriptionVisibility};
1
+ import{useEffect as e}from"react";import{useProductStore as i,useProduct as l}from"@gem-sdk/core";import{SubscriptionEnum as n}from"../../../constants/index.js";import{useSellingPlanOptions as s}from"./useSellingPlanOptions.js";let useSubscriptionVisibility=({setting:t,hasBothTypes:r,sellingPlans:p})=>{let o=i(e=>e.setSubscriptionSellingType),T=i(e=>e.subscriptionSellingType),S=s(t),g=l(),E=g?.requiresSellingPlan,I=T===n.ONE_TIME?n.ONE_TIME:n.SUBSCRIPTION;e(()=>{if(!r){t?.sellingType===n.ONE_TIME?o(n.ONE_TIME):o(t?.sellingType??n.SUBSCRIPTION);return}T||o(n.SUBSCRIPTION)},[o,t?.sellingType,r,T]);let u=r&&!E||t?.sellingType===n.ONE_TIME&&!E,O=!S||0===S.length,m=t?.sellingType===n.ONE_TIME&&E&&(!p||0===p.length);return{selectedType:I,shouldShowRadio:u,isOneTimeHidden:m,hasNoSellingPlanOptions:O,setSubscriptionSellingType:o}};export{useSubscriptionVisibility};
@@ -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"},{value:"subscription",label:"Subscription"}],default:"subscription"},{id:"sellingPlans",label:"Selling plans",type:"selling-plan"},{id:"sellingTitle",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"Subscribe and save up to {total_max_discount}",suggestContents:[{message:"{total_max_discount}",eg:"E.g: 50% (offer’s + plan’s max discount)"},{message:"{offer_selling_plan_discount}",eg:"E.g: 20%"}]},{id:"sellingLabel",label:"Text",type:"input",default:"Purchase options",placeholder:"E.g. Purchase options",clearButton:!1},{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:"default",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:"default",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,devices:{desktop:{default:"100%"},tablet:{default:"100%"},mobile:{default:"100%"}},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0}]},{id:"backgroundColor",type:"select",label:"Background Color",options:[{label:"Transparent",value:"none",icon:"gp-bg-transparent"},{label:"Red",value:"critical",icon:"gp-bg-color-red"},{label:"Blue",value:"info",icon:"gp-bg-color-blue"},{label:"Green",value:"success",icon:"gp-bg-color-green"},{label:"Yellow",value:"warning",icon:"gp-bg-color-yellow"}],default:"none"},{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:"Selling plans",type:"selling-plan"},{id:"sellingTitle",label:"Text",type:"textarea",defaultRows:4,showPlusBtn:!0,autoHeight:!0,minHeight:72,default:"Subscribe and save up to {total_max_discount}",suggestContents:[{message:"{total_max_discount}",eg:"E.g: 50% (offer’s + plan’s max discount)"},{message:"{offer_selling_plan_discount}",eg:"E.g: 20%"}]},{id:"sellingLabel",label:"Text",type:"input",default:"Purchase options",placeholder:"E.g. Purchase options",clearButton:!1},{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:"default",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:"default",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,devices:{desktop:{default:"100%"},tablet:{default:"100%"},mobile:{default:"100%"}},displayOptions:[{label:"Fit content",value:"Auto",showValue:!0},{label:"Full",value:"100%",showValue:!0}]},{id:"backgroundColor",type:"select",label:"Background Color",options:[{label:"Transparent",value:"none",icon:"gp-bg-transparent"},{label:"Red",value:"critical",icon:"gp-bg-color-red"},{label:"Blue",value:"info",icon:"gp-bg-color-blue"},{label:"Green",value:"success",icon:"gp-bg-color-green"},{label:"Yellow",value:"warning",icon:"gp-bg-color-yellow"}],default:"none"},{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,22 +1,22 @@
1
- import{getSplitStyle as t}from"./common/styles.js";import{getGPProductButtonState as o}from"./common/helpers.js";import{template as s,dataStringify as e,isLocalEnv as r,baseAssetURL as a}from"@gem-sdk/core";import{createStateOrContext as i,Liquid as n,LiquidFor as p,If as l}from"@gem-sdk/system";import{getInsertLinkData as c,getSettingPreloadData as u}from"../../../helpers.js";import{getButtonDynamicSourceLocales as m}from"./helpers/getButtonDynamicSourceLocales.js";import{SoldOutButton as d}from"./SoldOutButton.liquid.js";import{AddToCartButton as f}from"./AddToCartButton.liquid.js";let ProductButton=g=>{let{setting:$,builderProps:b,style:v,styles:y,pageContext:_}=g,{wrapStyle:j,restStyle:h}=t(v),{outOfStockButtonLabel:k,unavailableButtonLabel:S,variantSelectionRequiredMessage:q}=m({setting:$,pageContext:_,builderProps:b}),{urlData:B}=c("",$?.actionEffect==="open-cart-drawer"?{link:"/cart",target:"_self"}:$?.customURL),E=i(o(y,$)),w=()=>f({...g,style:h}),A=()=>d({...g,style:h,label:k}),P=()=>l(r,`<script ${u('class="gps-link" delay',"src")}="{{ 'gp-product-button-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${u('class="gps-link" delay',"src")}="${a}/assets-v2/gp-product-button-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`);return s`
2
- ${n("{%- assign total_combinations = 1 -%}")}
3
- ${p("option in product.options_with_values","{%- assign total_combinations = total_combinations | times: option.values.size -%}")}
1
+ import{getSplitStyle as t}from"./common/styles.js";import{getGPProductButtonState as o}from"./common/helpers.js";import{template as s,isLocalEnv as e,baseAssetURL as r}from"@gem-sdk/core";import{createStateOrContext as i,Liquid as a,LiquidFor as n,If as l}from"@gem-sdk/system";import{getInsertLinkData as p,getSettingPreloadData as c}from"../../../helpers.js";import{getButtonDynamicSourceLocales as u}from"./helpers/getButtonDynamicSourceLocales.js";import{SoldOutButton as m}from"./SoldOutButton.liquid.js";import{AddToCartButton as d}from"./AddToCartButton.liquid.js";let ProductButton=f=>{let{setting:g,builderProps:y,style:$,styles:b,pageContext:v}=f,{wrapStyle:_,restStyle:j}=t($),{outOfStockButtonLabel:S,unavailableButtonLabel:h,variantSelectionRequiredMessage:k}=u({setting:g,pageContext:v,builderProps:y}),{urlData:q}=p("",g?.actionEffect==="open-cart-drawer"?{link:"/cart",target:"_self"}:g?.customURL),B=i(o(b,g)),E=()=>d({...f,style:j}),A=()=>m({...f,style:j,label:S}),w=()=>l(e,`<script ${c('class="gps-link" delay',"src")}="{{ 'gp-product-button-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${c('class="gps-link" delay',"src")}="${r}/assets-v2/gp-product-button-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`);return s`
2
+ ${a("{%- assign total_combinations = 1 -%}")}
3
+ ${n("option in product.options_with_values","{%- assign total_combinations = total_combinations | times: option.values.size -%}")}
4
4
  {%- liquid
5
5
  assign inventory_quantity = variant.inventory_quantity | default: 0
6
6
  assign is_in_stock = variant.available
7
7
  -%}
8
8
  <gp-product-button
9
- style="${j}"
9
+ style="${_}"
10
10
  gp-data-wrapper="true"
11
- gp-href="${B.href}"
11
+ gp-href="${q.href}"
12
12
  class="gp-product-button"
13
- gp-label-out-of-stock="${k}"
14
- gp-label-unavailable="${S}"
15
- data-variant-selection-required-message="${q}"
13
+ gp-label-out-of-stock="${S}"
14
+ gp-label-unavailable="${h}"
15
+ data-variant-selection-required-message="${k}"
16
16
  >
17
- <script gp-data type="application/json">${e(E)}</script>
18
- ${w()}
17
+ <script gp-data type="application/json">${JSON.stringify(B).replaceAll("'","&#039;")}</script>
18
+ ${E()}
19
19
  ${A()}
20
20
  </gp-product-button>
21
- ${P()}
21
+ ${w()}
22
22
  `};export{ProductButton as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/components",
3
- "version": "8.0.0-dev.115",
3
+ "version": "8.0.0-dev.117",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -27,7 +27,7 @@
27
27
  "i18n:generate": "node ./scripts/update-locales-to-setting.js"
28
28
  },
29
29
  "devDependencies": {
30
- "@gem-sdk/core": "8.0.0-dev.115",
30
+ "@gem-sdk/core": "8.0.0-dev.117",
31
31
  "@gem-sdk/styles": "8.0.0-dev.115",
32
32
  "@gem-sdk/system": "8.0.0-dev.115",
33
33
  "@types/react-transition-group": "4.4.12",