@gem-sdk/components 8.0.0-staging.21 → 8.0.0-staging.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/product/components/product-button/AddToCartButton.liquid.js +1 -1
- package/dist/cjs/product/components/product-button/PriceComponent.liquid.js +1 -1
- package/dist/cjs/product/components/product-button/ProductButtonPrice.liquid.js +1 -1
- package/dist/cjs/product/components/product-button/SoldOutButton.liquid.js +1 -1
- package/dist/cjs/product/components/product-price/ProductPrice.js +1 -1
- package/dist/cjs/product/components/product-price/common/attrs.js +1 -1
- package/dist/cjs/product/components/product-price/common/classes.js +1 -1
- package/dist/cjs/product/components/product-price/hooks/useGpPrice.js +1 -1
- package/dist/esm/product/components/product-button/AddToCartButton.liquid.js +1 -1
- package/dist/esm/product/components/product-button/PriceComponent.liquid.js +1 -1
- package/dist/esm/product/components/product-button/ProductButtonPrice.liquid.js +1 -1
- package/dist/esm/product/components/product-button/SoldOutButton.liquid.js +1 -1
- package/dist/esm/product/components/product-price/ProductPrice.js +1 -1
- package/dist/esm/product/components/product-price/common/attrs.js +1 -1
- package/dist/esm/product/components/product-price/common/classes.js +1 -1
- package/dist/esm/product/components/product-price/hooks/useGpPrice.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var system=require("@gem-sdk/system"),data=require("./common/data.js"),classes=require("./common/classes.js"),ProductButtonPrice_liquid=require("./ProductButtonPrice.liquid.js"),Button_liquid=require("../../../button/components/Button.liquid.js");const AddToCartButton=t=>{let{pageContext:e,...s}=t,{styles:a,setting:d,advanced:u,builderProps:i,builderAttrs:r}=s,{buttonStyle:n,buttonStyles:o,getButtonSettings:l}=data.getAddToCartButtonData(s),c=system.createClass(classes.getAddToCartButtonClasses({isLiquid:!0})),m=l({isLiquid:!0}),q=ProductButtonPrice_liquid.default({setting:d,styles:a});return Button_liquid.default({style:n,advanced:u,nodePrice:q,styles:o,setting:m,className:c,wrapClassName:"{% unless variant.available %} !gp-hidden {% endunless %}",builderProps:i,builderAttrs:r,customAttrs:{name:"add","gp-data-hidden":"{% unless variant.available %}true{% endunless %}"},pageContext:e})};exports.AddToCartButton=AddToCartButton;
|
|
1
|
+
"use strict";var system=require("@gem-sdk/system"),data=require("./common/data.js"),classes=require("./common/classes.js"),ProductButtonPrice_liquid=require("./ProductButtonPrice.liquid.js"),Button_liquid=require("../../../button/components/Button.liquid.js");const AddToCartButton=t=>{let{pageContext:e,...s}=t,{styles:a,setting:d,advanced:u,builderProps:i,builderAttrs:r}=s,{buttonStyle:n,buttonStyles:o,getButtonSettings:l}=data.getAddToCartButtonData(s),c=system.createClass(classes.getAddToCartButtonClasses({isLiquid:!0})),m=l({isLiquid:!0}),q=ProductButtonPrice_liquid.default({setting:d,styles:a,pageContext:e});return Button_liquid.default({style:n,advanced:u,nodePrice:q,styles:o,setting:m,className:c,wrapClassName:"{% unless variant.available %} !gp-hidden {% endunless %}",builderProps:i,builderAttrs:r,customAttrs:{name:"add","gp-data-hidden":"{% unless variant.available %}true{% endunless %}"},pageContext:e})};exports.AddToCartButton=AddToCartButton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var system=require("@gem-sdk/system"),ProductPrice_liquid=require("../product-price/ProductPrice.liquid.js"),classes=require("./common/classes.js");const PriceComponent=({priceType:e,settings:s})=>{let{lineThrough:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var system=require("@gem-sdk/system"),ProductPrice_liquid=require("../product-price/ProductPrice.liquid.js"),classes=require("./common/classes.js");const PriceComponent=({priceType:e,settings:s,pageContext:r})=>{let{lineThrough:t,typo:c,opacityPrice:i}=s,o=system.createClass(classes.getProductPriceClasses());return ProductPrice_liquid.ProductPrice({setting:{priceType:e},styles:{typo:c,lineThrough:t,opacityPrice:i},classNames:o,pageContext:r})};exports.default=PriceComponent;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var types=require("./types.js"),helpers=require("./common/helpers.js"),PriceLayout_liquid=require("./PriceLayout.liquid.js"),PriceComponent_liquid=require("./PriceComponent.liquid.js"),constants=require("./common/constants.js");const ProductButtonPrice=({setting:e,styles:r})=>{let
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var types=require("./types.js"),helpers=require("./common/helpers.js"),PriceLayout_liquid=require("./PriceLayout.liquid.js"),PriceComponent_liquid=require("./PriceComponent.liquid.js"),constants=require("./common/constants.js");const ProductButtonPrice=({setting:e,styles:r,pageContext:t})=>{let i=()=>PriceComponent_liquid.default({priceType:types.PriceType.Regular,settings:helpers.getRenderRegularPriceSettings(e),pageContext:t}),s=()=>PriceComponent_liquid.default({priceType:types.PriceType.Compare,settings:helpers.getRenderComparePriceSettings(e),pageContext:t}),o=()=>{if(!e?.priceLayout)return[i];switch(e?.priceLayout){case constants.PRICE_LAYOUT.PRICE_ONLY:return[i];case constants.PRICE_LAYOUT.PRICE_BEFORE:return[i,s];case constants.PRICE_LAYOUT.PRICE_AFTER:return[s,i];default:return[i,s]}},n=o();return PriceLayout_liquid.default({components:n,separator:e?.separator,showPrice:!!r?.enablePrice,showSeparator:!!r?.enableSeparator})};exports.default=ProductButtonPrice;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var system=require("@gem-sdk/system"),data=require("./common/data.js"),ProductButtonPrice_liquid=require("./ProductButtonPrice.liquid.js"),classes=require("./common/classes.js"),Button_liquid=require("../../../button/components/Button.liquid.js");const SoldOutButton=t=>{let{pageContext:e,...s}=t,{styles:u,setting:i,advanced:a,builderProps:d,builderAttrs:o}=s,{buttonStyle:l,buttonStyles:r,buttonSettings:n}=data.getSoldOutButtonData(s),c=system.createClass(classes.getSoldOutButtonClasses({isLiquid:!0})),m=ProductButtonPrice_liquid.default({setting:i,styles:u});return Button_liquid.default({advanced:a,style:l,styles:r,nodePrice:m,setting:n,className:c,wrapClassName:"{% if variant.available %} !gp-hidden {% endif %}",builderAttrs:o,builderProps:{...d,uidTranslate:d?.uid,uid:`${d?.uid}-sold-out`},pageContext:e,isUseTranslatedValue:!1,dataId:`${d?.uid}-sold-out`,customAttrs:{"gp-data-hidden":"{% if variant.available %}true{% endif %}"}})};exports.SoldOutButton=SoldOutButton;
|
|
1
|
+
"use strict";var system=require("@gem-sdk/system"),data=require("./common/data.js"),ProductButtonPrice_liquid=require("./ProductButtonPrice.liquid.js"),classes=require("./common/classes.js"),Button_liquid=require("../../../button/components/Button.liquid.js");const SoldOutButton=t=>{let{pageContext:e,...s}=t,{styles:u,setting:i,advanced:a,builderProps:d,builderAttrs:o}=s,{buttonStyle:l,buttonStyles:r,buttonSettings:n}=data.getSoldOutButtonData(s),c=system.createClass(classes.getSoldOutButtonClasses({isLiquid:!0})),m=ProductButtonPrice_liquid.default({setting:i,styles:u,pageContext:e});return Button_liquid.default({advanced:a,style:l,styles:r,nodePrice:m,setting:n,className:c,wrapClassName:"{% if variant.available %} !gp-hidden {% endif %}",builderAttrs:o,builderProps:{...d,uidTranslate:d?.uid,uid:`${d?.uid}-sold-out`},pageContext:e,isUseTranslatedValue:!1,dataId:`${d?.uid}-sold-out`,customAttrs:{"gp-data-hidden":"{% if variant.available %}true{% endif %}"}})};exports.SoldOutButton=SoldOutButton;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),Text=require("../../../text/components/Text.js"),system=require("@gem-sdk/system"),classes=require("./common/classes.js"),attrs=require("./common/attrs.js"),helpers=require("./common/helpers.js"),useGpPrice=require("./hooks/useGpPrice.js"),core=require("@gem-sdk/core");const ProductPrice=e=>{let{style:s,children:r}=e,t=core.useEditorMode(),i="edit"===t,{elementRef:c,moneyFormatted:u,currentProductId:
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),Text=require("../../../text/components/Text.js"),system=require("@gem-sdk/system"),classes=require("./common/classes.js"),attrs=require("./common/attrs.js"),helpers=require("./common/helpers.js"),useGpPrice=require("./hooks/useGpPrice.js"),core=require("@gem-sdk/core");const ProductPrice=e=>{let{style:s,children:r}=e,t=core.useEditorMode(),i="edit"===t,{elementRef:c,moneyFormatted:u,currentProductId:o,isNoComparePrice:a,isNoComparePriceILP:m,shouldHiddenComparePrice:l,emitNoDataSignal:n}=useGpPrice.useGpPrice(e),x=system.createClass(classes.getWrapperClasses(e)),d=system.createAttr(attrs.getAttrs(e,{isILP:!i,productId:o,shouldHiddenComparePrice:l})),p=helpers.getTextProps(e,u),j={visibility:"hidden",opacity:0,maxWidth:0,maxHeight:0},g=m?j:s;return jsxRuntime.jsxs("div",{ref:c,...d,className:x,style:g,"aria-hidden":"true",onClick:n,children:[a&&i?jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsx("div",{className:"gp-flex-col gp-flex gp-justify-between gp-p-2",children:jsxRuntime.jsx("p",{className:"gp-text-[#212121] gp-text-[12px] gp-leading-3 ",children:"No compare price"})})}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Text.default,{...p}),r]}),core.filterToolbarPreview(r,!0)]})};exports.default=ProductPrice;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var helpers=require("../../../../helpers.js");const getAttrs=(e,t)=>{let{builderAttrs:
|
|
1
|
+
"use strict";var helpers=require("../../../../helpers.js");const getAttrs=(e,{isILP:t,productId:r,shouldHiddenComparePrice:a}={})=>{let{builderAttrs:i,setting:p,builderProps:s}=e,d=p?.priceType==="compare",c=()=>!!d&&(t?String(a):"{% if variant.compare_at_price > variant.price and variant.compare_at_price >= 0 %}false{% else %}true{% endif %}");return helpers.filterTruthyObject({...i,id:`shopify-text-element-${s?.uid}`,"data-id":s?.uid,"data-product-id":r,"data-hidden":c()})};exports.getAttrs=getAttrs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const getWrapperClasses=s=>{let{builderProps:e,classNames:t,advanced:a}=s;return{"gp-product-price group-data-[state=loading]:gp-invisible data-[hidden=true]
|
|
1
|
+
"use strict";const getWrapperClasses=s=>{let{builderProps:e,classNames:t,advanced:a}=s;return{"gp-product-price group-data-[state=loading]:gp-invisible data-[hidden=true]:!gp-hidden":!0,...e?.uid&&{[e.uid]:!0},...a?.cssClass&&{[a.cssClass]:!0},...t&&{[t]:!0}}};exports.getWrapperClasses=getWrapperClasses;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var React=require("react"),common=require("../../product-variants/common/common.js"),core=require("@gem-sdk/core");const useGpPrice=e=>{let{setting:r,builderProps:t}=e,c=React.useRef(null),o=core.useEditorMode(),{quantity:u,hasUpdatePrice:i}=core.useQuantity(),a=core.useCurrentVariant(),{useProductCompareAtPrice:n}=core.useProductBundleDiscount(),s=e["bundle-item"],d=a?.price??0,p=a?.salePrice??0,
|
|
1
|
+
"use strict";var React=require("react"),common=require("../../product-variants/common/common.js"),core=require("@gem-sdk/core");const useGpPrice=e=>{let{setting:r,builderProps:t}=e,c=React.useRef(null),o=core.useEditorMode(),{quantity:u,hasUpdatePrice:i}=core.useQuantity(),a=core.useCurrentVariant(),{useProductCompareAtPrice:n}=core.useProductBundleDiscount(),s=e["bundle-item"],d=a?.price??0,p=a?.salePrice??0,m=r?.priceType==="compare",{trigger:l}=core.useInteraction(),g=core.useProduct(),y=g?.baseID?.replace("gid://shopify/Product/",""),P=core.useShopStore(e=>e.showPriceCurrency),h=React.useMemo(()=>s?.quantity?s.quantity:i&&u||1,[u,i,s?.quantity]),b=React.useMemo(()=>{let e=Number(s?.discountValue);return s?.discountType==="percentage"?d*h*e/100:e},[s?.discountType,s?.discountValue,d,h]),M=React.useMemo(()=>s?.discountValue?n?(p||d)*h:d*h:p*h,[s?.discountValue,d,h,p,n]),R=React.useMemo(()=>{let e=d*h;return m?M:b?Math.max(0,e-b):e},[d,h,b,M,m]),v=React.useMemo(()=>!!m&&(!(p>d)||!(p>=0)),[m,p,d]),q=(e,r)=>{l({event:"price"===r?"gp:rollback:price-change":"gp:rollback:compare-price-change",selector:`[data-id="${t?.uid}"]`,element:c.current}),l({event:"price"===r?"gp:price-change":"gp:compare-price-change",data:e,selector:`[data-id="${t?.uid}"]`,element:c.current})};common.useTransition(e=>{e!==d&&q(d,"price")},[d]),common.useTransition(e=>{e!==p&&q(p,"compare")},[p]);let w=()=>{if("edit"!==o)return;let e=new CustomEvent("editor:product-source-no-data-warning",{bubbles:!0,detail:{uid:t?.uid,value:!R&&m,tag:"ProductPrice"}});window.dispatchEvent(e)},T=core.useFormatMoney(R??0,P||!1),V=m&&!R,f="edit"!==o&&V;return{elementRef:c,moneyFormatted:T,currentProductId:y,isNoComparePrice:V,isNoComparePriceILP:f,emitNoDataSignal:w,shouldHiddenComparePrice:v}};exports.useGpPrice=useGpPrice;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createClass as t}from"@gem-sdk/system";import{getAddToCartButtonData as s}from"./common/data.js";import{getAddToCartButtonClasses as e}from"./common/classes.js";import o from"./ProductButtonPrice.liquid.js";import r from"../../../button/components/Button.liquid.js";let AddToCartButton=a=>{let{pageContext:i,...d}=a,{styles:n,setting:m,advanced:l,builderProps:u,builderAttrs:p}=d,{buttonStyle:c,buttonStyles:b,getButtonSettings:f}=s(d),v=t(e({isLiquid:!0})),g=f({isLiquid:!0}),j=o({setting:m,styles:n});return r({style:c,advanced:l,nodePrice:j,styles:b,setting:g,className:v,wrapClassName:"{% unless variant.available %} !gp-hidden {% endunless %}",builderProps:u,builderAttrs:p,customAttrs:{name:"add","gp-data-hidden":"{% unless variant.available %}true{% endunless %}"},pageContext:i})};export{AddToCartButton};
|
|
1
|
+
import{createClass as t}from"@gem-sdk/system";import{getAddToCartButtonData as s}from"./common/data.js";import{getAddToCartButtonClasses as e}from"./common/classes.js";import o from"./ProductButtonPrice.liquid.js";import r from"../../../button/components/Button.liquid.js";let AddToCartButton=a=>{let{pageContext:i,...d}=a,{styles:n,setting:m,advanced:l,builderProps:u,builderAttrs:p}=d,{buttonStyle:c,buttonStyles:b,getButtonSettings:f}=s(d),v=t(e({isLiquid:!0})),g=f({isLiquid:!0}),j=o({setting:m,styles:n,pageContext:i});return r({style:c,advanced:l,nodePrice:j,styles:b,setting:g,className:v,wrapClassName:"{% unless variant.available %} !gp-hidden {% endunless %}",builderProps:u,builderAttrs:p,customAttrs:{name:"add","gp-data-hidden":"{% unless variant.available %}true{% endunless %}"},pageContext:i})};export{AddToCartButton};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createClass as e}from"@gem-sdk/system";import{ProductPrice as t}from"../product-price/ProductPrice.liquid.js";import{getProductPriceClasses as o}from"./common/classes.js";let PriceComponent=({priceType:r,settings:s})=>{let{lineThrough:
|
|
1
|
+
import{createClass as e}from"@gem-sdk/system";import{ProductPrice as t}from"../product-price/ProductPrice.liquid.js";import{getProductPriceClasses as o}from"./common/classes.js";let PriceComponent=({priceType:r,settings:s,pageContext:m})=>{let{lineThrough:i,typo:c,opacityPrice:p}=s,l=e(o());return t({setting:{priceType:r},styles:{typo:c,lineThrough:i,opacityPrice:p},classNames:l,pageContext:m})};export{PriceComponent as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{PriceType as r}from"./types.js";import{getRenderRegularPriceSettings as e,getRenderComparePriceSettings as t}from"./common/helpers.js";import o from"./PriceLayout.liquid.js";import i from"./PriceComponent.liquid.js";import{PRICE_LAYOUT as a}from"./common/constants.js";let ProductButtonPrice=({setting:s,styles:p})=>{let
|
|
2
|
+
import{PriceType as r}from"./types.js";import{getRenderRegularPriceSettings as e,getRenderComparePriceSettings as t}from"./common/helpers.js";import o from"./PriceLayout.liquid.js";import i from"./PriceComponent.liquid.js";import{PRICE_LAYOUT as a}from"./common/constants.js";let ProductButtonPrice=({setting:s,styles:p,pageContext:c})=>{let n=()=>i({priceType:r.Regular,settings:e(s),pageContext:c}),u=()=>i({priceType:r.Compare,settings:t(s),pageContext:c}),m=()=>{if(!s?.priceLayout)return[n];switch(s?.priceLayout){case a.PRICE_ONLY:return[n];case a.PRICE_BEFORE:return[n,u];case a.PRICE_AFTER:return[u,n];default:return[n,u]}},P=m();return o({components:P,separator:s?.separator,showPrice:!!p?.enablePrice,showSeparator:!!p?.enableSeparator})};export{ProductButtonPrice as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createClass as t}from"@gem-sdk/system";import{getSoldOutButtonData as i}from"./common/data.js";import o from"./ProductButtonPrice.liquid.js";import{getSoldOutButtonClasses as d}from"./common/classes.js";import e from"../../../button/components/Button.liquid.js";let SoldOutButton=s=>{let{pageContext:a,...r}=s,{styles:u,setting:l,advanced:n,builderProps:m,builderAttrs:p}=r,{buttonStyle:c,buttonStyles:f,buttonSettings:b}=i(r),v=t(d({isLiquid:!0})),g=o({setting:l,styles:u});return e({advanced:n,style:c,styles:f,nodePrice:g,setting:b,className:v,wrapClassName:"{% if variant.available %} !gp-hidden {% endif %}",builderAttrs:p,builderProps:{...m,uidTranslate:m?.uid,uid:`${m?.uid}-sold-out`},pageContext:a,isUseTranslatedValue:!1,dataId:`${m?.uid}-sold-out`,customAttrs:{"gp-data-hidden":"{% if variant.available %}true{% endif %}"}})};export{SoldOutButton};
|
|
1
|
+
import{createClass as t}from"@gem-sdk/system";import{getSoldOutButtonData as i}from"./common/data.js";import o from"./ProductButtonPrice.liquid.js";import{getSoldOutButtonClasses as d}from"./common/classes.js";import e from"../../../button/components/Button.liquid.js";let SoldOutButton=s=>{let{pageContext:a,...r}=s,{styles:u,setting:l,advanced:n,builderProps:m,builderAttrs:p}=r,{buttonStyle:c,buttonStyles:f,buttonSettings:b}=i(r),v=t(d({isLiquid:!0})),g=o({setting:l,styles:u,pageContext:a});return e({advanced:n,style:c,styles:f,nodePrice:g,setting:b,className:v,wrapClassName:"{% if variant.available %} !gp-hidden {% endif %}",builderAttrs:p,builderProps:{...m,uidTranslate:m?.uid,uid:`${m?.uid}-sold-out`},pageContext:a,isUseTranslatedValue:!1,dataId:`${m?.uid}-sold-out`,customAttrs:{"gp-data-hidden":"{% if variant.available %}true{% endif %}"}})};export{SoldOutButton};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{jsxs as e,jsx as r,Fragment as
|
|
2
|
+
import{jsxs as e,jsx as r,Fragment as o}from"react/jsx-runtime";import t from"../../../text/components/Text.js";import{createClass as i,createAttr as m}from"@gem-sdk/system";import{getWrapperClasses as s}from"./common/classes.js";import{getAttrs as c}from"./common/attrs.js";import{getTextProps as p}from"./common/helpers.js";import{useGpPrice as d}from"./hooks/useGpPrice.js";import{useEditorMode as l,filterToolbarPreview as a}from"@gem-sdk/core";let ProductPrice=n=>{let{style:f,children:h}=n,g=l(),x="edit"===g,{elementRef:u,moneyFormatted:j,currentProductId:P,isNoComparePrice:y,isNoComparePriceILP:k,shouldHiddenComparePrice:N,emitNoDataSignal:v}=d(n),b=i(s(n)),C=m(c(n,{isILP:!x,productId:P,shouldHiddenComparePrice:N})),H=p(n,j),I={visibility:"hidden",opacity:0,maxWidth:0,maxHeight:0},w=k?I:f;return e("div",{ref:u,...C,className:b,style:w,"aria-hidden":"true",onClick:v,children:[y&&x?r(o,{children:r("div",{className:"gp-flex-col gp-flex gp-justify-between gp-p-2",children:r("p",{className:"gp-text-[#212121] gp-text-[12px] gp-leading-3 ",children:"No compare price"})})}):e(o,{children:[r(t,{...H}),h]}),a(h,!0)]})};export{ProductPrice as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{filterTruthyObject as e}from"../../../../helpers.js";let getAttrs=(t,r)=>{let{builderAttrs:
|
|
1
|
+
import{filterTruthyObject as e}from"../../../../helpers.js";let getAttrs=(t,{isILP:r,productId:a,shouldHiddenComparePrice:i}={})=>{let{builderAttrs:d,setting:p,builderProps:n}=t,c=p?.priceType==="compare",o=()=>!!c&&(r?String(i):"{% if variant.compare_at_price > variant.price and variant.compare_at_price >= 0 %}false{% else %}true{% endif %}");return e({...d,id:`shopify-text-element-${n?.uid}`,"data-id":n?.uid,"data-product-id":a,"data-hidden":o()})};export{getAttrs};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
let getWrapperClasses=e=>{let{builderProps:s,classNames:a,advanced:t}=e;return{"gp-product-price group-data-[state=loading]:gp-invisible data-[hidden=true]
|
|
1
|
+
let getWrapperClasses=e=>{let{builderProps:s,classNames:a,advanced:t}=e;return{"gp-product-price group-data-[state=loading]:gp-invisible data-[hidden=true]:!gp-hidden":!0,...s?.uid&&{[s.uid]:!0},...t?.cssClass&&{[t.cssClass]:!0},...a&&{[a]:!0}}};export{getWrapperClasses};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useRef as e,useMemo as r}from"react";import{useTransition as t}from"../../product-variants/common/common.js";import{useEditorMode as c,useQuantity as i,useCurrentVariant as a,useProductBundleDiscount as n,useInteraction as o,useProduct as u,useShopStore as p,useFormatMoney as d}from"@gem-sdk/core";let useGpPrice=l=>{let{setting:m,builderProps:s}=l,g=e(null),b=c(),{quantity:h,hasUpdatePrice:y}=i(),P=a(),{useProductCompareAtPrice:v}=n(),f=l["bundle-item"],w=P?.price??0,V=P?.salePrice??0,k=m?.priceType==="compare",{trigger:q}=o(),T=u(),x=T?.baseID?.replace("gid://shopify/Product/",""),C=p(e=>e.showPriceCurrency),E=r(()=>f?.quantity?f.quantity:y&&h||1,[h,y,f?.quantity]),G=r(()=>{let e=Number(f?.discountValue);return f?.discountType==="percentage"?w*E*e/100:e},[f?.discountType,f?.discountValue,w,E]),$=r(()=>f?.discountValue?v?(V||w)*E:w*E:V*E,[f?.discountValue,w,E,V,v]),j=r(()=>{let e=w*E;return k?$:G?Math.max(0,e-G):e},[w,E,G,$,k]),D=(e,r)=>{q({event:"price"===r?"gp:rollback:price-change":"gp:rollback:compare-price-change",selector:`[data-id="${s?.uid}"]`,element:g.current}),q({event:"price"===r?"gp:price-change":"gp:compare-price-change",data:e,selector:`[data-id="${s?.uid}"]`,element:g.current})};t(e=>{e!==w&&
|
|
1
|
+
import{useRef as e,useMemo as r}from"react";import{useTransition as t}from"../../product-variants/common/common.js";import{useEditorMode as c,useQuantity as i,useCurrentVariant as a,useProductBundleDiscount as n,useInteraction as o,useProduct as u,useShopStore as p,useFormatMoney as d}from"@gem-sdk/core";let useGpPrice=l=>{let{setting:m,builderProps:s}=l,g=e(null),b=c(),{quantity:h,hasUpdatePrice:y}=i(),P=a(),{useProductCompareAtPrice:v}=n(),f=l["bundle-item"],w=P?.price??0,V=P?.salePrice??0,k=m?.priceType==="compare",{trigger:q}=o(),T=u(),x=T?.baseID?.replace("gid://shopify/Product/",""),C=p(e=>e.showPriceCurrency),E=r(()=>f?.quantity?f.quantity:y&&h||1,[h,y,f?.quantity]),G=r(()=>{let e=Number(f?.discountValue);return f?.discountType==="percentage"?w*E*e/100:e},[f?.discountType,f?.discountValue,w,E]),$=r(()=>f?.discountValue?v?(V||w)*E:w*E:V*E,[f?.discountValue,w,E,V,v]),j=r(()=>{let e=w*E;return k?$:G?Math.max(0,e-G):e},[w,E,G,$,k]),D=r(()=>!!k&&(!(V>w)||!(V>=0)),[k,V,w]),I=(e,r)=>{q({event:"price"===r?"gp:rollback:price-change":"gp:rollback:compare-price-change",selector:`[data-id="${s?.uid}"]`,element:g.current}),q({event:"price"===r?"gp:price-change":"gp:compare-price-change",data:e,selector:`[data-id="${s?.uid}"]`,element:g.current})};t(e=>{e!==w&&I(w,"price")},[w]),t(e=>{e!==V&&I(V,"compare")},[V]);let M=()=>{if("edit"!==b)return;let e=new CustomEvent("editor:product-source-no-data-warning",{bubbles:!0,detail:{uid:s?.uid,value:!j&&k,tag:"ProductPrice"}});window.dispatchEvent(e)},N=d(j??0,C||!1),z=k&&!j,A="edit"!==b&&z;return{elementRef:g,moneyFormatted:N,currentProductId:x,isNoComparePrice:z,isNoComparePriceILP:A,emitNoDataSignal:M,shouldHiddenComparePrice:D}};export{useGpPrice};
|