@gem-sdk/components 3.0.10 → 3.0.12

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,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),helpers=require("../../../helpers.js"),system=require("@gem-sdk/system"),styles=require("./common/styles.js"),classes=require("./common/classes.js");const FormTextarea=({setting:e,builderProps:s,className:t,builderAttrs:r,advanced:a,pageContext:l,styles:o})=>{let{text:c,name:m,placeholder:y,required:i}=e??{},d=""===m||void 0===m?"contact[note]":m,{translate:u}=a??{},n=helpers.getDynamicSourceLocales({val:y,uid:s?.uid,settingId:"placeholder",pageContext:l,translate:u}),p=system.createStyle(styles.composeContainerStyles(a,e)),$=system.createStyle(styles.composeTextareaStyles(a,e,o)),x=system.createClass(classes.composeContainerClasses(a,s)),v=system.createClass(classes.composeTextareaClasses(e,s,t??""));return core.template`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),helpers=require("../../../helpers.js"),system=require("@gem-sdk/system"),styles=require("./common/styles.js"),classes=require("./common/classes.js");const FormTextarea=({setting:e,builderProps:s,className:t,builderAttrs:r,advanced:a,pageContext:l,styles:o})=>{let{text:c,name:m,placeholder:y,required:i,translate:d}=e??{},u=""===m||void 0===m?"contact[note]":m,n=helpers.getDynamicSourceLocales({val:y,uid:s?.uid,settingId:"placeholder",pageContext:l,translate:d}),p=system.createStyle(styles.composeContainerStyles(a,e)),$=system.createStyle(styles.composeTextareaStyles(a,e,o)),x=system.createClass(classes.composeContainerClasses(a,s)),v=system.createClass(classes.composeTextareaClasses(e,s,t??""));return core.template`
2
2
  <div
3
3
  ${r}
4
4
  data-id="${s?.uid}"
@@ -10,7 +10,7 @@
10
10
  style="${$}"
11
11
  placeholder="${n}"
12
12
  ${system.If(i,"required")}
13
- name="${d}"
13
+ name="${u}"
14
14
  value="${c}"
15
15
  ></textarea>
16
16
  </div>
@@ -1 +1 @@
1
- "use strict";var core=require("@gem-sdk/core"),helpers=require("../../helpers.js");const getTextIconNotFound=e=>"react"===e?"Icons not found":helpers.getStaticLocale("IconList","icons_not_found"),getTextIconTranslations=({setting:e,builderProps:o,pageContext:t,key:n,type:i})=>{let{childItem:s,translate:c}=e??{};return"react"===i?s?.[n]:helpers.getDynamicSourceLocales({val:s?.[n],uid:o?.uid,settingId:`childItem_${n}`,pageContext:t,translate:c,isReplaceLocationOrigin:!0})},getvalueMap=({setting:e})=>{let{childConfig:o,iconType:t,iconSvg:n}=e??{};return t&&"matching"!==t?"different"===t?o:void 0:Array(o?.length).fill(n)},composePostionIconList=(e,o,t)=>{let n={};return core.composePositionLineHeight({compose:n,lineHeight:e,device:"desktop",position:o,iconWidth:t}),core.composePositionLineHeight({compose:n,lineHeight:e,device:"tablet",position:o,iconWidth:t}),core.composePositionLineHeight({compose:n,lineHeight:e,device:"mobile",position:o,iconWidth:t}),n};exports.composePostionIconList=composePostionIconList,exports.getTextIconNotFound=getTextIconNotFound,exports.getTextIconTranslations=getTextIconTranslations,exports.getvalueMap=getvalueMap;
1
+ "use strict";var core=require("@gem-sdk/core"),helpers=require("../../helpers.js");const getTextIconNotFound=e=>"react"===e?"Icons not found":helpers.getStaticLocale("IconList","icons_not_found"),getTextIconTranslations=({setting:e,builderProps:t,pageContext:o,key:n,type:s})=>{let{childItem:i,translate:c}=e??{};return"react"===s?i?.[n]:helpers.getDynamicSourceLocales({val:i?.[n],uid:t?.uid,settingId:`childItem_${n}`,pageContext:o,translate:c,isReplaceLocationOrigin:!0})},getvalueMap=({setting:e})=>{let{childConfig:t,iconType:o,iconSvg:n}=e??{};return o&&"matching"!==o?"different"===o?t:void 0:Array(t?.length).fill(n)},composePostionIconList=(e,t,o)=>{let n={...o,desktop:o?.desktop??0,tablet:o?.tablet??o?.desktop??0,mobile:o?.mobile??o?.tablet??o?.desktop??0},s={};return core.DEVICES.forEach(o=>{core.composePositionLineHeight({compose:s,lineHeight:e,device:o,position:t,iconWidth:n})}),s};exports.composePostionIconList=composePostionIconList,exports.getTextIconNotFound=getTextIconNotFound,exports.getTextIconTranslations=getTextIconTranslations,exports.getvalueMap=getvalueMap;
@@ -1 +1 @@
1
- "use strict";var core=require("@gem-sdk/core");const filterStyles=e=>{let t=["--mb","--mb-mobile","--mb-tablet"];return t.forEach(t=>{delete e?.[t]}),e},getStyleContainerIconlistMain=({styles:e,style:t,type:o,advanced:r})=>{let{align:l}=e??{};return{...t="react"===o?filterStyles(t):t,...core.makeStyleResponsive("jc",l),...core.makeStyleResponsive("d",{desktop:r?.d?.desktop?"flex":"none",tablet:r?.d?.tablet?"flex":"none",mobile:r?.d?.mobile?"flex":"none"})}},getStyleWraplistIcon=({styles:e})=>{let{panelAlign:t,contentBoxPadding:o,contentBoxWidth:r,background:l,contentBoxBorder:n,contentBoxRounded:s,contentBoxShadow:c}=e??{};return{...core.composeBorderResponsive(n),...core.getResponsiveStyleShadowWithoutState(c,"box-shadow",c),...core.composeRadiusResponsive(s),...core.getStyleBackgroundByDevice(l),...core.getResponsiveStylePadding(o),...core.makeStyleResponsive("w",r),...core.makeStyleResponsive("jc",t),...core.getGradientBgrStyleByDevice(l,{desktop:!0,tablet:!0,mobile:!0})}},getStyleColListIcon=({styles:e})=>{let{verticalSpacing:t}=e??{};return{...core.makeStyleResponsive("rg",t)}},getStyleWrapItemIcon=({styles:e})=>{let{horizontalSpacing:t}=e??{};return{...core.makeStyleResponsive("cg",t)}},getStyleWrapIcon=({styles:e,setting:t})=>{let{iconBorder:o,backgroundColor:r,iconRounded:l}=e??{},{globalSize:n}=t??{},s=core.makeGlobalSize(n);return{...s.padding,...core.makeStyle({bs:o?.border,bw:o?.width,bc:core.getSingleColorVariable(o?.color),bg:r,bblr:l?.bblr,bbrr:l?.bbrr,btlr:l?.btlr,btrr:l?.btrr})}},getStyleIcon=({styles:e,setting:t})=>{let{iconColor:o}=e||{},{iconWidth:r}=t??{};return{"--c":core.getSingleColorVariable(o),"--w":"100%","--h":"100%","--size-desktop":`${r?.desktop}px`,"--size-tablet":`${r?.tablet||r?.desktop}px`,"--size-mobile":`${r?.mobile||r?.tablet||r?.desktop}px`}},getStyleTypoText=({setting:e})=>({typo:e?.textTypo});exports.getStyleColListIcon=getStyleColListIcon,exports.getStyleContainerIconlistMain=getStyleContainerIconlistMain,exports.getStyleIcon=getStyleIcon,exports.getStyleTypoText=getStyleTypoText,exports.getStyleWrapIcon=getStyleWrapIcon,exports.getStyleWrapItemIcon=getStyleWrapItemIcon,exports.getStyleWraplistIcon=getStyleWraplistIcon;
1
+ "use strict";var core=require("@gem-sdk/core");const filterStyles=e=>{let t=["--mb","--mb-mobile","--mb-tablet"];return t.forEach(t=>{delete e?.[t]}),e},getStyleContainerIconlistMain=({styles:e,style:t,type:o,advanced:l})=>{let{align:r}=e??{};return{...t="react"===o?filterStyles(t):t,...core.makeStyleResponsive("jc",r),...core.makeStyleResponsive("d",{desktop:l?.d?.desktop?"flex":"none",tablet:l?.d?.tablet?"flex":"none",mobile:l?.d?.mobile?"flex":"none"})}},getStyleWraplistIcon=({styles:e})=>{let{panelAlign:t,contentBoxPadding:o,contentBoxWidth:l,background:r,contentBoxBorder:s,contentBoxRounded:i,contentBoxShadow:n}=e??{};return{...core.composeBorderResponsive(s),...core.getResponsiveStyleShadowWithoutState(n,"box-shadow",n),...core.composeRadiusResponsive(i),...core.getStyleBackgroundByDevice(r),...core.getResponsiveStylePadding(o),...core.makeStyleResponsive("w",l),...core.makeStyleResponsive("jc",t),...core.getGradientBgrStyleByDevice(r,{desktop:!0,tablet:!0,mobile:!0})}},getStyleColListIcon=({styles:e})=>{let{verticalSpacing:t}=e??{};return{...core.makeStyleResponsive("rg",t)}},getStyleWrapItemIcon=({styles:e})=>{let{horizontalSpacing:t,position:o}=e??{};return{...core.makeStyleResponsive("cg",t),...core.makeStyleResponsive("ai",{...o,mobile:o?.mobile=="baseline"?"flex-start":o?.mobile})}},getStyleWrapIcon=({styles:e,setting:t})=>{let{iconBorder:o,backgroundColor:l,iconRounded:r}=e??{},{globalSize:s}=t??{},i=core.makeGlobalSize(s);return{...i.padding,...core.makeStyle({bs:o?.border,bw:o?.width,bc:core.getSingleColorVariable(o?.color),bg:core.getSingleColorVariable(l),bblr:r?.bblr,bbrr:r?.bbrr,btlr:r?.btlr,btrr:r?.btrr}),...core.makeStyleResponsive("top",{desktop:"unset",tablet:"unset",mobile:"unset"}),...core.makeStyleResponsive("pos",{desktop:"relative",tablet:"relative",mobile:"relative"})}},getStyleIcon=({styles:e,setting:t})=>{let{iconColor:o}=e||{},{iconWidth:l}=t??{};return{"--c":core.getSingleColorVariable(o),"--w":"100%","--h":"100%","--size-desktop":`${l?.desktop}px`,"--size-tablet":`${l?.tablet||l?.desktop}px`,"--size-mobile":`${l?.mobile||l?.tablet||l?.desktop}px`}},getStyleTypoText=({setting:e})=>({typo:e?.textTypo});exports.getStyleColListIcon=getStyleColListIcon,exports.getStyleContainerIconlistMain=getStyleContainerIconlistMain,exports.getStyleIcon=getStyleIcon,exports.getStyleTypoText=getStyleTypoText,exports.getStyleWrapIcon=getStyleWrapIcon,exports.getStyleWrapItemIcon=getStyleWrapItemIcon,exports.getStyleWraplistIcon=getStyleWraplistIcon;
@@ -1 +1 @@
1
- "use strict";var React=require("react");const useIconLineHeight=({iconWidth:e})=>{let t=React.useRef(null),[r,u]=React.useState("");return React.useEffect(()=>{if(t?.current&&e?.desktop){let e=window.getComputedStyle(t?.current).getPropertyValue("line-height");u(e)}},[e?.desktop]),{ref:t,lineHeight:r}};exports.useIconLineHeight=useIconLineHeight;
1
+ "use strict";var React=require("react");const useIconLineHeight=({iconWidth:e})=>{let t=React.useRef(null),[r,u]=React.useState("");return React.useEffect(()=>{if(t?.current){let e=window.getComputedStyle(t?.current).getPropertyValue("line-height");u(e)}},[e?.desktop]),{ref:t,lineHeight:r}};exports.useIconLineHeight=useIconLineHeight;
@@ -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"),common=require("./utils/common.js");require("./constants.js");var NoDataState=require("../../../common/components/NoDataState.js"),TooltipHover=require("../../../common/components/TooltipHover.js"),system=require("@gem-sdk/system"),attrs=require("./common/attrs.js"),classes=require("./common/classes.js"),styles=require("./common/styles.js");const ProductBadge=e=>{let{setting:s,styles:t,children:r,...a}=e,l=core.useProduct(),c=core.useCurrentVariant(),{moneyFormat:o}=core.useMoneyFormat(),n=core.useCurrentDevice(),{useProductCompareAtPrice:m}=core.useProductBundleDiscount(),i=a?.["bundle-item"],y=core.useEditorMode(),u="STATIC"===core.usePageType(),d=common.getBadgeContent({detail:l,currentVariant:c,bundleItem:i,useProductCompareAtPrice:m},s?.displayContent,o),g=common.getIsNoDiscountState({props:e,product:l,currentVariant:c,moneyFormat:o,useProductCompareAtPrice:m}),j=system.createClass({...classes.getContainerClasses({mode:y,isInstant:u,product:l,currentVariant:c,props:e})}),x=system.createStyle({...styles.getContainerStyle(e)}),C=system.createAttr({...attrs.getEditTooltipAttrs(e)}),p=system.createAttr({...attrs.getNoDataAttrs(e)}),S=system.createClass({...classes.getWrapperClasses(e)}),v=system.createClass({...classes.getSubWrapperClass(e,n)}),T=system.createStyle({...styles.getSubWrapperStyle(e,c,y)}),A=system.createAttr({...attrs.getSubWrapperAttrs(e,l)}),N=styles.getContentStyleInternal(e),R=system.createClass({...classes.getTextContainerClasses()}),h=system.createAttr({...attrs.getContainerAttrs(e)}),q=system.createClass({...classes.getTextWrapperClasses()}),I=system.createStyle({...styles.getTextBadgeWrapperStyles({setting:s,styles:t})}),f=system.createClass({...classes.getTextContentClasses(t)}),D=system.createStyle({...styles.getTextContentStyle({setting:s,styles:t})}),P=system.createAttr({...attrs.getTextContentAttrs()}),b=system.createClass({...classes.getImageContainerClasses()}),W=system.createStyle({...styles.getImageContainerStyles({setting:s,styles:t})}),B=system.createClass({...classes.getImageClasses()}),H=system.createAttr({...attrs.getImageAttr({setting:s})});return l?jsxRuntime.jsxs("div",{...h,style:x,className:j,children:[system.If("edit"===y&&g,jsxRuntime.jsx(TooltipHover.default,{...C,children:jsxRuntime.jsx(NoDataState.default,{...p})}),jsxRuntime.jsx("div",{className:S,children:jsxRuntime.jsxs("div",{...A,className:v,style:T,children:[jsxRuntime.jsx("style",{children:N}),system.If(s?.shape!=="image",jsxRuntime.jsx("div",{className:R,children:jsxRuntime.jsx("div",{className:q,style:I,children:jsxRuntime.jsx("pre",{...P,className:f,style:D,children:d})})}),jsxRuntime.jsx("div",{className:b,style:W,children:jsxRuntime.jsx("img",{...H,className:B,alt:""})}))]})})),core.filterToolbarPreview(r,!0)]}):null};exports.default=ProductBadge;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),common=require("./utils/common.js");require("./constants.js");var NoDataState=require("../../../common/components/NoDataState.js"),TooltipHover=require("../../../common/components/TooltipHover.js"),system=require("@gem-sdk/system"),attrs=require("./common/attrs.js"),classes=require("./common/classes.js"),styles=require("./common/styles.js");const ProductBadge=e=>{let{setting:s,styles:t,children:r,...a}=e,l=core.useProduct(),c=core.useCurrentVariant(),{moneyFormat:o}=core.useMoneyFormat(),n=core.useCurrentDevice(),{useProductCompareAtPrice:m}=core.useProductBundleDiscount(),i=a?.["bundle-item"],y=core.useEditorMode(),u="STATIC"===core.usePageType(),d=common.getBadgeContent({detail:l,currentVariant:c,bundleItem:i,useProductCompareAtPrice:m},s?.displayContent,o),g=common.getIsNoDiscountState({props:e,product:l,currentVariant:c,moneyFormat:o,useProductCompareAtPrice:m}),j=system.createClass({...classes.getContainerClasses({mode:y,isInstant:u,product:l,currentVariant:c,props:e})}),x=system.createStyle({...styles.getContainerStyle(e)}),C=system.createAttr({...attrs.getEditTooltipAttrs(e)}),p=system.createAttr({...attrs.getNoDataAttrs(e)}),S=system.createClass({...classes.getWrapperClasses(e)}),v=system.createClass({...classes.getSubWrapperClass(e,n)}),T=system.createStyle({...styles.getSubWrapperStyle(e,l,c,y)}),A=system.createAttr({...attrs.getSubWrapperAttrs(e,l)}),N=styles.getContentStyleInternal(e),R=system.createClass({...classes.getTextContainerClasses()}),h=system.createAttr({...attrs.getContainerAttrs(e)}),q=system.createClass({...classes.getTextWrapperClasses()}),I=system.createStyle({...styles.getTextBadgeWrapperStyles({setting:s,styles:t})}),f=system.createClass({...classes.getTextContentClasses(t)}),D=system.createStyle({...styles.getTextContentStyle({setting:s,styles:t})}),P=system.createAttr({...attrs.getTextContentAttrs()}),b=system.createClass({...classes.getImageContainerClasses()}),W=system.createStyle({...styles.getImageContainerStyles({setting:s,styles:t})}),B=system.createClass({...classes.getImageClasses()}),H=system.createAttr({...attrs.getImageAttr({setting:s})});return l?jsxRuntime.jsxs("div",{...h,style:x,className:j,children:[system.If("edit"===y&&g,jsxRuntime.jsx(TooltipHover.default,{...C,children:jsxRuntime.jsx(NoDataState.default,{...p})}),jsxRuntime.jsx("div",{className:S,children:jsxRuntime.jsxs("div",{...A,className:v,style:T,children:[jsxRuntime.jsx("style",{children:N}),system.If(s?.shape!=="image",jsxRuntime.jsx("div",{className:R,children:jsxRuntime.jsx("div",{className:q,style:I,children:jsxRuntime.jsx("pre",{...P,className:f,style:D,children:d})})}),jsxRuntime.jsx("div",{className:b,style:W,children:jsxRuntime.jsx("img",{...H,className:B,alt:""})}))]})})),core.filterToolbarPreview(r,!0)]}):null};exports.default=ProductBadge;
@@ -1 +1 @@
1
- "use strict";var core=require("@gem-sdk/core"),common=require("../utils/common.js"),getShapePosition=require("../utils/getShapePosition.js"),getRotateShape=require("../utils/getRotateShape.js"),getStyleAdvanced=require("../utils/getStyleAdvanced.js"),getWhiteSpace=require("../utils/getWhiteSpace.js"),stylesV2=require("../utils/stylesV2.js"),shape=require("../utils/shape.js");const getSizeStyles=e=>{let{setting:t,styles:o}=e,r=shape.getShape(t?.shape),a=t?.contentType==="text",s=a?o?.textSizeV2:o?.imageSizeV2;return a?common.getSize(r,s):common.getSize(void 0,s)},getContainerStyle=(e,t=!1)=>{let{setting:o,styles:r,style:a,navigationPosition:s,imageData:i,dotData:n}=e,g=o?.positionWithImage==="outside",p=common.getWrapperStyle(t),l=getShapePosition.getShapePosition({positionType:r?.position,isLiquid:!1,navigationPosition:s,dataImage:{...i,...n}}),S=getSizeStyles(e),y=getStyleAdvanced.getStyleAdvanced(g?{}:{...l,...S},a);return{...!g&&{"--pos":"absolute"},...p,...y}},getTextContentStyle=({styles:e,setting:t})=>{let o=core.makeGlobalSize(e?.textSizeV2).padding,r=shape.getShape(t?.shape),a=t?.positionWithImage==="outside";return{...getWhiteSpace.getWhiteSpaceStyle(e?.textSizeV2),...common.convertToStyle(r?.textStyle),...getRotateShape.composeTextStyleByPosition(r,e?.position,a),...core.composeTypographyStyle(e?.typo),...core.getStyleShadow({value:e?.typo?.custom?.textShadow,styleAppliedFor:"text-shadow",isEnableShadow:e?.typo?.custom?.hasShadowText}),...stylesV2.getStyleBackground(!!r?.backgroundColorInText,e?.badgeColorV2),...o}},getBorderStyles=({styles:e,setting:t})=>{let o=shape.getShape(t?.shape),r=t?.contentType==="text";return o?.supportBorder?r?stylesV2.getStyleBorder(e?.textBadgeBorder):stylesV2.getStyleBorder(e?.imageBadgeBorder):{}},getCornerStyles=({styles:e,setting:t})=>{let o=shape.getShape(t?.shape),r=t?.contentType==="text";return o?.supportCorner?r?stylesV2.getStyleCornerRadius(e?.textBadgeCorner,o?.shapeRadius):stylesV2.getStyleCornerRadius(e?.imageBadgeCorner,o?.shapeRadius):{}},getTextBadgeWrapperStyles=({styles:e,setting:t})=>{let o=shape.getShape(t?.shape),r=getBorderStyles({setting:t,styles:e}),a=t?.positionWithImage==="outside",s=getCornerStyles({setting:t,styles:e}),i=common.getShapeWrapperPadding(o?.ratio);return{...r,...s,...getRotateShape.composeShapeStyleByPosition(o,e?.position,a),...stylesV2.getStyleBackground(!o?.backgroundColorInText,e?.badgeColorV2),...i,height:o?.ratio===1?"0px":"100%"}},getImageContainerStyles=({styles:e,setting:t})=>{let o=getBorderStyles({setting:t,styles:e}),r=getCornerStyles({setting:t,styles:e}),a=core.makeGlobalSize(e?.imageSizeV2).padding;return{...o,...r,...a}},getOpacityProductBadge=(e,t,o)=>{let{"bundle-item":r,setting:a}=e;if(r)return 1;let s=common.checkDiscountContentProductBadge(a?.displayContent)&&a?.contentType==="text";if(!s)return 1;let i=t?.price??0,n=t?.salePrice??0,g=n-i>0,p=t?.manageInventory??!1;return g&&p?1:"edit"===o?.2:0},getSubWrapperStyle=(e,t,o)=>{let{setting:r}=e,a=r?.positionWithImage==="outside",s=getSizeStyles(e),i=o&&t?getOpacityProductBadge(e,t,o):1;return{...a?{...s,"--mb":0}:{},opacity:i}},getContentStyleInternal=e=>{let{styles:t,setting:o,builderProps:r}=e,a=o?.contentType==="text";return stylesV2.generateShadowCSS(`[id="${r?.uid}"] .product-badge-item`,a?t?.textBadgeShadow:t?.imageBadgeShadow)};exports.getContainerStyle=getContainerStyle,exports.getContentStyleInternal=getContentStyleInternal,exports.getImageContainerStyles=getImageContainerStyles,exports.getSubWrapperStyle=getSubWrapperStyle,exports.getTextBadgeWrapperStyles=getTextBadgeWrapperStyles,exports.getTextContentStyle=getTextContentStyle;
1
+ "use strict";var core=require("@gem-sdk/core"),common=require("../utils/common.js"),getShapePosition=require("../utils/getShapePosition.js"),getRotateShape=require("../utils/getRotateShape.js"),getStyleAdvanced=require("../utils/getStyleAdvanced.js"),getWhiteSpace=require("../utils/getWhiteSpace.js"),stylesV2=require("../utils/stylesV2.js"),shape=require("../utils/shape.js"),renderBadgeILP=require("../utils/renderBadgeILP.js");const getSizeStyles=e=>{let{setting:t,styles:o}=e,r=shape.getShape(t?.shape),a=t?.contentType==="text",i=a?o?.textSizeV2:o?.imageSizeV2;return a?common.getSize(r,i):common.getSize(void 0,i)},getContainerStyle=(e,t=!1)=>{let{setting:o,styles:r,style:a,navigationPosition:i,imageData:s,dotData:n}=e,g=o?.positionWithImage==="outside",l=common.getWrapperStyle(t),p=getShapePosition.getShapePosition({positionType:r?.position,isLiquid:!1,navigationPosition:i,dataImage:{...s,...n}}),S=getSizeStyles(e),d=getStyleAdvanced.getStyleAdvanced(g?{}:{...p,...S},a);return{...!g&&{"--pos":"absolute"},...l,...d}},getTextContentStyle=({styles:e,setting:t})=>{let o=core.makeGlobalSize(e?.textSizeV2).padding,r=shape.getShape(t?.shape),a=t?.positionWithImage==="outside";return{...getWhiteSpace.getWhiteSpaceStyle(e?.textSizeV2),...common.convertToStyle(r?.textStyle),...getRotateShape.composeTextStyleByPosition(r,e?.position,a),...core.composeTypographyStyle(e?.typo),...core.getStyleShadow({value:e?.typo?.custom?.textShadow,styleAppliedFor:"text-shadow",isEnableShadow:e?.typo?.custom?.hasShadowText}),...stylesV2.getStyleBackground(!!r?.backgroundColorInText,e?.badgeColorV2),...o}},getBorderStyles=({styles:e,setting:t})=>{let o=shape.getShape(t?.shape),r=t?.contentType==="text";return o?.supportBorder?r?stylesV2.getStyleBorder(e?.textBadgeBorder):stylesV2.getStyleBorder(e?.imageBadgeBorder):{}},getCornerStyles=({styles:e,setting:t})=>{let o=shape.getShape(t?.shape),r=t?.contentType==="text";return o?.supportCorner?r?stylesV2.getStyleCornerRadius(e?.textBadgeCorner,o?.shapeRadius):stylesV2.getStyleCornerRadius(e?.imageBadgeCorner,o?.shapeRadius):{}},getTextBadgeWrapperStyles=({styles:e,setting:t})=>{let o=shape.getShape(t?.shape),r=getBorderStyles({setting:t,styles:e}),a=t?.positionWithImage==="outside",i=getCornerStyles({setting:t,styles:e}),s=common.getShapeWrapperPadding(o?.ratio);return{...r,...i,...getRotateShape.composeShapeStyleByPosition(o,e?.position,a),...stylesV2.getStyleBackground(!o?.backgroundColorInText,e?.badgeColorV2),...s,height:o?.ratio===1?"0px":"100%"}},getImageContainerStyles=({styles:e,setting:t})=>{let o=getBorderStyles({setting:t,styles:e}),r=getCornerStyles({setting:t,styles:e}),a=core.makeGlobalSize(e?.imageSizeV2).padding;return{...o,...r,...a}},getOpacityProductBadge=(e,t,o,r)=>{let{"bundle-item":a,setting:i}=e;if(a)return 1;let s=common.checkDiscountContentProductBadge(i?.displayContent)&&i?.contentType==="text";if(!s)return 1;let n=t?.price??0,g=t?.salePrice??0,l=g-n>0,p=renderBadgeILP.checkShowBadge(i?.displayTrigger,o,t);return l&&p?1:"edit"===r?.2:0},getSubWrapperStyle=(e,t,o,r)=>{let{setting:a}=e,i=a?.positionWithImage==="outside",s=getSizeStyles(e),n=r&&o?getOpacityProductBadge(e,o,t,r):1;return{...i?{...s,"--mb":0}:{},opacity:n}},getContentStyleInternal=e=>{let{styles:t,setting:o,builderProps:r}=e,a=o?.contentType==="text";return stylesV2.generateShadowCSS(`[id="${r?.uid}"] .product-badge-item`,a?t?.textBadgeShadow:t?.imageBadgeShadow)};exports.getContainerStyle=getContainerStyle,exports.getContentStyleInternal=getContentStyleInternal,exports.getImageContainerStyles=getImageContainerStyles,exports.getSubWrapperStyle=getSubWrapperStyle,exports.getTextBadgeWrapperStyles=getTextBadgeWrapperStyles,exports.getTextContentStyle=getTextContentStyle;
@@ -1 +1 @@
1
- "use strict";var types=require("../types.js");const toggleBadge=(e,r,t)=>{let o=checkShowBadge(e,r,t);return o?"":"!gp-hidden"},checkShowBadge=(e,r,t)=>{if(!t)return;let o=r?.createdAt||"",n=r?.tags||[],i={...t,product_created_at:o,product_tags:n},a=e?.map(e=>{switch(e?.triggerEvent){case"inventory_status":return inventoryTrigger(i,e);case"discount_price":return discountPriceTrigger(i,e);case"price_range":return priceRangeTrigger(i,e);case"creation_date":return creationDateTrigger(i,e);case"product_tags":return productTagsTrigger(i,e);default:return!1}});return a?.every(e=>!0===e)},compareNumberFunc=(e,r,t)=>{switch(t){case"exact":return e===r.from;case"above":return e>r.from;case"below":return e<r.from;case"exact_or_above":return e>=r.from;case"exact_or_below":return e<=r.from;case"between":return e>=r.from&&e<=r.to;default:return!1}},getMinValueForInventory=e=>e===types.CompareType.ABOVE?0:e===types.CompareType.BELOW?2:1,inventoryTrigger=(e,r)=>{if(null===e.inventory_management||"continue"==e.inventory_policy)return!0;if(void 0===e.inventoryQuantity)return!1;if("in_stock"!==r.type)return compareNumberFunc(e.inventoryQuantity,{from:0,to:0},types.CompareType.EXACT_OR_BELOW);if(r.conditionType===types.CompareType.BELOW||r.conditionType===types.CompareType.EXACT_OR_BELOW){let t=getMinValueForInventory(r.conditionType);return compareNumberFunc(e?.inventoryQuantity,{from:1,to:Number(r.from)-t+1},types.CompareType.BETWEEN)}return compareNumberFunc(e?.inventoryQuantity,{from:Number(r.from),to:Number(r?.to)},r.conditionType)},discountPriceTrigger=(e,r)=>{if(e?.compare_at_price===void 0||void 0===e.price||e.compare_at_price<e.price)return!1;let t=(e.compare_at_price-e.price)/100,o=t/(e.compare_at_price/100),n="fixed"===r.discountType?t:Math.round(100*o);return compareNumberFunc(n,{from:Number(r.from),to:Number(r.to)},r.conditionType)},priceRangeTrigger=(e,r)=>{if(void 0===e.price)return!1;let t=e.price/100;return compareNumberFunc(t,{from:Number(r.from),to:Number(r.to)},r.conditionType)},creationDateTrigger=(e,r)=>{if(!e.product_created_at)return!1;let t=new Date(new Date(e.product_created_at).setHours(0,0,0,0)),o=new Date(r.from),n=new Date(r.to),i=t.getTime();if("exact_date"===r.type)return compareNumberFunc(i,{from:o.getTime(),to:0},types.CompareType.EXACT);if("duration"===r.type){let e=new Date().setHours(0,0,0,0),o=(e-t.getTime())/864e5;if(o>=0&&o<=Number(r.days))return!0}return!(o.getTime()>=n.getTime())&&compareNumberFunc(i,{from:o.getTime(),to:n.getTime()},types.CompareType.BETWEEN)},productTagsTrigger=(e,r)=>{let t=e.product_tags||[],o=r.searchTag;return o.some(e=>t.includes(e))};exports.toggleBadge=toggleBadge;
1
+ "use strict";var types=require("../types.js");const toggleBadge=(e,r,t)=>{let o=checkShowBadge(e,r,t);return o?"":"!gp-hidden"},checkShowBadge=(e,r,t)=>{if(!t)return;let o=r?.createdAt||"",n=r?.tags||[],a={...t,product_created_at:o,product_tags:n},i=e?.map(e=>{switch(e?.triggerEvent){case"inventory_status":return inventoryTrigger(a,e);case"discount_price":return discountPriceTrigger(a,e);case"price_range":return priceRangeTrigger(a,e);case"creation_date":return creationDateTrigger(a,e);case"product_tags":return productTagsTrigger(a,e);default:return!1}});return i?.every(e=>!0===e)},compareNumberFunc=(e,r,t)=>{switch(t){case"exact":return e===r.from;case"above":return e>r.from;case"below":return e<r.from;case"exact_or_above":return e>=r.from;case"exact_or_below":return e<=r.from;case"between":return e>=r.from&&e<=r.to;default:return!1}},getMinValueForInventory=e=>e===types.CompareType.ABOVE?0:e===types.CompareType.BELOW?2:1,inventoryTrigger=(e,r)=>{if(void 0===e.inventoryQuantity)return!1;if("in_stock"===r.type){if(!1===e.manageInventory||e.inventoryPolicy?.toLowerCase()=="continue")return!0;if(r.conditionType===types.CompareType.BELOW||r.conditionType===types.CompareType.EXACT_OR_BELOW){let t=getMinValueForInventory(r.conditionType);return compareNumberFunc(e?.inventoryQuantity,{from:1,to:Number(r.from)-t+1},types.CompareType.BETWEEN)}return compareNumberFunc(e?.inventoryQuantity,{from:Number(r.from),to:Number(r?.to)},r.conditionType)}return!1!==e.manageInventory&&e.inventoryPolicy?.toLowerCase()!="continue"&&compareNumberFunc(e.inventoryQuantity,{from:0,to:0},types.CompareType.EXACT_OR_BELOW)},discountPriceTrigger=(e,r)=>{if(e?.compare_at_price===void 0||void 0===e.price||e.compare_at_price<e.price)return!1;let t=(e.compare_at_price-e.price)/100,o=t/(e.compare_at_price/100),n="fixed"===r.discountType?t:Math.round(100*o);return compareNumberFunc(n,{from:Number(r.from),to:Number(r.to)},r.conditionType)},priceRangeTrigger=(e,r)=>{if(void 0===e.price)return!1;let t=e.price/100;return compareNumberFunc(t,{from:Number(r.from),to:Number(r.to)},r.conditionType)},creationDateTrigger=(e,r)=>{if(!e.product_created_at)return!1;let t=new Date(new Date(e.product_created_at).setHours(0,0,0,0)),o=new Date(r.from),n=new Date(r.to),a=t.getTime();if("exact_date"===r.type)return compareNumberFunc(a,{from:o.getTime(),to:0},types.CompareType.EXACT);if("duration"===r.type){let e=new Date().setHours(0,0,0,0),o=(e-t.getTime())/864e5;if(o>=0&&o<=Number(r.days))return!0}return!(o.getTime()>=n.getTime())&&compareNumberFunc(a,{from:o.getTime(),to:n.getTime()},types.CompareType.BETWEEN)},productTagsTrigger=(e,r)=>{let t=e.product_tags||[],o=r.searchTag;return o.some(e=>t.includes(e))};exports.checkShowBadge=checkShowBadge,exports.toggleBadge=toggleBadge;
@@ -1,15 +1,15 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),classes=require("./common/classes.js");const ProductListItem=e=>{let{pageContext:t,children:o}=e,{productItemClass:a,gpProductClass:r}=classes.getClass(e);return core.template`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),classes=require("./common/classes.js");const ProductListItem=e=>{let{pageContext:t,children:n}=e,{productItemClass:o,gpProductClass:a}=classes.getClass(e);return core.template`
2
2
  <gp-product
3
- gp-context='{"variantSelected": {{ variant | json | escape }}, "quantity": 1 , "formId": "{{ product_form_id }}"}'
3
+ gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "formId": "{{ product_form_id }}"}'
4
4
  gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(t)}}'
5
- class="${r}"
5
+ class="${a}"
6
6
 
7
7
  >
8
- {%- form 'product', product, id: product_form_id, class: 'form contents ${a}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
8
+ {%- form 'product', product, id: product_form_id, class: 'form contents ${o}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
9
9
  <input type="hidden" name="id" value="{{ variant.id }}" />
10
10
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
11
11
  <button type="submit" onclick="return false;" style="display:none;"></button>
12
- ${o}
12
+ ${n}
13
13
  {%- endform -%}
14
14
  </gp-product>
15
15
  `};exports.default=ProductListItem;
@@ -1,19 +1,19 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),classes=require("./common/classes.js");const ProductListItem=e=>{let{pageContext:t,rawChildren:o}=e,{productItemClass:r,gpProductClass:a}=classes.getClass(e),n=()=>core.template`
2
- ${o?.map((e,t)=>{if(e)return core.template`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),classes=require("./common/classes.js");const ProductListItem=e=>{let{pageContext:t,rawChildren:n}=e,{productItemClass:o,gpProductClass:a}=classes.getClass(e),r=()=>core.template`
2
+ ${n?.map((e,t)=>{if(e)return core.template`
3
3
  ${core.RenderChildren({...e,index:t})}
4
4
  `}).join("")}
5
5
  `;return core.template`
6
6
  <gp-product
7
- gp-context='{"variantSelected": {{ variant | json | escape }}, "quantity": 1 , "formId": "{{ product_form_id }}"}'
7
+ gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "formId": "{{ product_form_id }}"}'
8
8
  gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(t)}}'
9
9
  class="${a}"
10
10
 
11
11
  >
12
- {%- form 'product', product, id: product_form_id, class: 'form contents ${r}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
12
+ {%- form 'product', product, id: product_form_id, class: 'form contents ${o}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
13
13
  <input type="hidden" name="id" value="{{ variant.id }}" />
14
14
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
15
15
  <button type="submit" onclick="return false;" style="display:none;"></button>
16
- ${n()}
16
+ ${r()}
17
17
  {%- endform -%}
18
18
  </gp-product>
19
19
  `};exports.default=ProductListItem;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),Row_liquid=require("../../../grid/components/row/Row.liquid.js"),system=require("@gem-sdk/system"),helpers$1=require("../../../helpers.js"),helpers=require("./common/helpers.js");const Product=e=>{let{children:t,setting:r,style:i,builderProps:a,rawChildren:d,advanced:o}=e,{isSyncProduct:s}=r??{},{rowSetting:c,rowStyles:n,formatVariantId:l,formatProductId:p,productStatus:u,preSelectedOptionIds:f,productHandle:g,advancedStyle:m}=helpers.getData(e),_=()=>core.template`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),Row_liquid=require("../../../grid/components/row/Row.liquid.js"),system=require("@gem-sdk/system"),helpers$1=require("../../../helpers.js"),helpers=require("./common/helpers.js");const Product=e=>{let{children:t,setting:r,style:i,builderProps:a,rawChildren:o,advanced:d}=e,{isSyncProduct:s}=r??{},{rowSetting:n,rowStyles:c,formatVariantId:l,formatProductId:p,productStatus:u,preSelectedOptionIds:f,productHandle:g,advancedStyle:m}=helpers.getData(e),_=()=>core.template`
2
2
  {%- liquid
3
3
  if request.page_type == 'product'
4
4
  if '${u}' == '${helpers.STATIC_PRODUCT_STATUS}'
@@ -56,10 +56,10 @@
56
56
  endif
57
57
  endif
58
58
  -%}
59
- `,$=()=>core.template`
59
+ `,v=()=>core.template`
60
60
  {%- assign gpBkProduct = product -%}
61
61
  ${system.If(u==helpers.DYNAMIC_PRODUCT_STATUS,y(),_())}
62
- `,v=()=>core.template`
62
+ `,$=()=>core.template`
63
63
  {%- assign initVariantId = ${l} -%}
64
64
  {%- assign product_form_id = 'product-form-' | append: "${a?.uid}" -%}
65
65
  ${l?"{%- assign variant = product.variants | where: 'id', initVariantId | first -%}":"{%- assign variant = product.selected_or_first_available_variant -%}"}
@@ -73,13 +73,13 @@
73
73
  `,S=()=>core.template`
74
74
  <div class="gp-text-center">${helpers$1.getStaticLocale("Product","product_not_found")}</div>
75
75
  `,I=()=>core.template`
76
- ${v()}
76
+ ${$()}
77
77
  <gp-product
78
78
  data-uid="${a?.uid}"
79
79
  data-id="${a?.uid}"
80
80
  style="${m}"
81
- class="${o?.cssClass}"
82
- gp-context='{"productId": {{ product.id }}, "preSelectedOptionIds": [${f}], "isSyncProduct": "${s}", "variantSelected": {{ variant | json | escape }}, "inventoryQuantity": {{ variant.inventory_quantity }}, "quantity": 1, "formId": "{{ product_form_id }}" }'
81
+ class="${d?.cssClass}"
82
+ gp-context='{"productId": {{ product.id }}, "preSelectedOptionIds": [${f}], "isSyncProduct": "${s}", "variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "inventoryQuantity": {{ variant.inventory_quantity }}, "quantity": 1, "formId": "{{ product_form_id }}" }'
83
83
  gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }}}'
84
84
  >
85
85
  <product-form class="product-form">
@@ -87,13 +87,13 @@
87
87
  <input type="hidden" name="id" value="{{ variant.id }}" />
88
88
  <input type="hidden" name="quantity" value="{{ quantity }}" />
89
89
  <button type="submit" onclick="return false;" style="display:none;"></button>
90
- ${Row_liquid.default({builderProps:{...a,uid:a?.uid,uidInteraction:`${a?.uid}-row`},style:i,styles:n,setting:c,children:t,rawChildren:d})}
90
+ ${Row_liquid.default({builderProps:{...a,uid:a?.uid,uidInteraction:`${a?.uid}-row`},style:i,styles:c,setting:n,children:t,rawChildren:o})}
91
91
  {%- endform -%}
92
92
  </product-form>
93
93
  </gp-product>
94
94
  {%- assign product = gpBkProduct -%}
95
95
  `;return core.template`
96
- ${$()}
96
+ ${v()}
97
97
  ${system.LiquidIf("product != empty and product != null",I(),S())}
98
98
  ${core.RenderIf(core.isLocalEnv,`<script ${helpers$1.getSettingPreloadData('class="gps-link" delay',"src")}="{{ 'gp-product-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${helpers$1.getSettingPreloadData('class="gps-link" delay',"src")}="${core.baseAssetURL}/assets-v2/gp-product-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
99
99
  `};exports.default=Product;
@@ -1,4 +1,4 @@
1
- import{template as e}from"@gem-sdk/core";import{getDynamicSourceLocales as t}from"../../../helpers.js";import{createStyle as r,createClass as o,If as a}from"@gem-sdk/system";import{composeContainerStyles as s,composeTextareaStyles as m}from"./common/styles.js";import{composeContainerClasses as l,composeTextareaClasses as d}from"./common/classes.js";let FormTextarea=({setting:i,builderProps:c,className:$,builderAttrs:p,advanced:n,pageContext:u,styles:f})=>{let{text:v,name:x,placeholder:y,required:g}=i??{},h=""===x||void 0===x?"contact[note]":x,{translate:j}=n??{},k=t({val:y,uid:c?.uid,settingId:"placeholder",pageContext:u,translate:j}),F=r(s(n,i)),T=r(m(n,i,f)),q=o(l(n,c)),I=o(d(i,c,$??""));return e`
1
+ import{template as e}from"@gem-sdk/core";import{getDynamicSourceLocales as t}from"../../../helpers.js";import{createStyle as r,createClass as o,If as a}from"@gem-sdk/system";import{composeContainerStyles as s,composeTextareaStyles as m}from"./common/styles.js";import{composeContainerClasses as l,composeTextareaClasses as d}from"./common/classes.js";let FormTextarea=({setting:i,builderProps:c,className:$,builderAttrs:p,advanced:n,pageContext:u,styles:f})=>{let{text:v,name:x,placeholder:y,required:g,translate:h}=i??{},j=""===x||void 0===x?"contact[note]":x,k=t({val:y,uid:c?.uid,settingId:"placeholder",pageContext:u,translate:h}),F=r(s(n,i)),T=r(m(n,i,f)),q=o(l(n,c)),I=o(d(i,c,$??""));return e`
2
2
  <div
3
3
  ${p}
4
4
  data-id="${c?.uid}"
@@ -10,7 +10,7 @@ import{template as e}from"@gem-sdk/core";import{getDynamicSourceLocales as t}fro
10
10
  style="${T}"
11
11
  placeholder="${k}"
12
12
  ${a(g,"required")}
13
- name="${h}"
13
+ name="${j}"
14
14
  value="${v}"
15
15
  ></textarea>
16
16
  </div>
@@ -1 +1 @@
1
- import{composePositionLineHeight as e}from"@gem-sdk/core";import{getDynamicSourceLocales as t,getStaticLocale as o}from"../../helpers.js";let getTextIconNotFound=e=>"react"===e?"Icons not found":o("IconList","icons_not_found"),getTextIconTranslations=({setting:e,builderProps:o,pageContext:n,key:i,type:c})=>{let{childItem:r,translate:s}=e??{};return"react"===c?r?.[i]:t({val:r?.[i],uid:o?.uid,settingId:`childItem_${i}`,pageContext:n,translate:s,isReplaceLocationOrigin:!0})},getvalueMap=({setting:e})=>{let{childConfig:t,iconType:o,iconSvg:n}=e??{};return o&&"matching"!==o?"different"===o?t:void 0:Array(t?.length).fill(n)},composePostionIconList=(t,o,n)=>{let i={};return e({compose:i,lineHeight:t,device:"desktop",position:o,iconWidth:n}),e({compose:i,lineHeight:t,device:"tablet",position:o,iconWidth:n}),e({compose:i,lineHeight:t,device:"mobile",position:o,iconWidth:n}),i};export{composePostionIconList,getTextIconNotFound,getTextIconTranslations,getvalueMap};
1
+ import{DEVICES as t,composePositionLineHeight as e}from"@gem-sdk/core";import{getDynamicSourceLocales as o,getStaticLocale as n}from"../../helpers.js";let getTextIconNotFound=t=>"react"===t?"Icons not found":n("IconList","icons_not_found"),getTextIconTranslations=({setting:t,builderProps:e,pageContext:n,key:i,type:r})=>{let{childItem:s,translate:c}=t??{};return"react"===r?s?.[i]:o({val:s?.[i],uid:e?.uid,settingId:`childItem_${i}`,pageContext:n,translate:c,isReplaceLocationOrigin:!0})},getvalueMap=({setting:t})=>{let{childConfig:e,iconType:o,iconSvg:n}=t??{};return o&&"matching"!==o?"different"===o?e:void 0:Array(e?.length).fill(n)},composePostionIconList=(o,n,i)=>{let r={...i,desktop:i?.desktop??0,tablet:i?.tablet??i?.desktop??0,mobile:i?.mobile??i?.tablet??i?.desktop??0},s={};return t.forEach(t=>{e({compose:s,lineHeight:o,device:t,position:n,iconWidth:r})}),s};export{composePostionIconList,getTextIconNotFound,getTextIconTranslations,getvalueMap};
@@ -1 +1 @@
1
- import{makeStyleResponsive as t,composeBorderResponsive as e,getResponsiveStyleShadowWithoutState as l,composeRadiusResponsive as o,getStyleBackgroundByDevice as r,getResponsiveStylePadding as b,getGradientBgrStyleByDevice as n,makeGlobalSize as i,makeStyle as p,getSingleColorVariable as a}from"@gem-sdk/core";let filterStyles=t=>{let e=["--mb","--mb-mobile","--mb-tablet"];return e.forEach(e=>{delete t?.[e]}),t},getStyleContainerIconlistMain=({styles:e,style:l,type:o,advanced:r})=>{let{align:b}=e??{};return{...l="react"===o?filterStyles(l):l,...t("jc",b),...t("d",{desktop:r?.d?.desktop?"flex":"none",tablet:r?.d?.tablet?"flex":"none",mobile:r?.d?.mobile?"flex":"none"})}},getStyleWraplistIcon=({styles:i})=>{let{panelAlign:p,contentBoxPadding:a,contentBoxWidth:c,background:s,contentBoxBorder:y,contentBoxRounded:g,contentBoxShadow:d}=i??{};return{...e(y),...l(d,"box-shadow",d),...o(g),...r(s),...b(a),...t("w",c),...t("jc",p),...n(s,{desktop:!0,tablet:!0,mobile:!0})}},getStyleColListIcon=({styles:e})=>{let{verticalSpacing:l}=e??{};return{...t("rg",l)}},getStyleWrapItemIcon=({styles:e})=>{let{horizontalSpacing:l}=e??{};return{...t("cg",l)}},getStyleWrapIcon=({styles:t,setting:e})=>{let{iconBorder:l,backgroundColor:o,iconRounded:r}=t??{},{globalSize:b}=e??{},n=i(b);return{...n.padding,...p({bs:l?.border,bw:l?.width,bc:a(l?.color),bg:o,bblr:r?.bblr,bbrr:r?.bbrr,btlr:r?.btlr,btrr:r?.btrr})}},getStyleIcon=({styles:t,setting:e})=>{let{iconColor:l}=t||{},{iconWidth:o}=e??{};return{"--c":a(l),"--w":"100%","--h":"100%","--size-desktop":`${o?.desktop}px`,"--size-tablet":`${o?.tablet||o?.desktop}px`,"--size-mobile":`${o?.mobile||o?.tablet||o?.desktop}px`}},getStyleTypoText=({setting:t})=>({typo:t?.textTypo});export{getStyleColListIcon,getStyleContainerIconlistMain,getStyleIcon,getStyleTypoText,getStyleWrapIcon,getStyleWrapItemIcon,getStyleWraplistIcon};
1
+ import{makeStyleResponsive as e,composeBorderResponsive as t,getResponsiveStyleShadowWithoutState as l,composeRadiusResponsive as o,getStyleBackgroundByDevice as r,getResponsiveStylePadding as b,getGradientBgrStyleByDevice as n,makeGlobalSize as i,makeStyle as a,getSingleColorVariable as s}from"@gem-sdk/core";let filterStyles=e=>{let t=["--mb","--mb-mobile","--mb-tablet"];return t.forEach(t=>{delete e?.[t]}),e},getStyleContainerIconlistMain=({styles:t,style:l,type:o,advanced:r})=>{let{align:b}=t??{};return{...l="react"===o?filterStyles(l):l,...e("jc",b),...e("d",{desktop:r?.d?.desktop?"flex":"none",tablet:r?.d?.tablet?"flex":"none",mobile:r?.d?.mobile?"flex":"none"})}},getStyleWraplistIcon=({styles:i})=>{let{panelAlign:a,contentBoxPadding:s,contentBoxWidth:p,background:c,contentBoxBorder:d,contentBoxRounded:y,contentBoxShadow:g}=i??{};return{...t(d),...l(g,"box-shadow",g),...o(y),...r(c),...b(s),...e("w",p),...e("jc",a),...n(c,{desktop:!0,tablet:!0,mobile:!0})}},getStyleColListIcon=({styles:t})=>{let{verticalSpacing:l}=t??{};return{...e("rg",l)}},getStyleWrapItemIcon=({styles:t})=>{let{horizontalSpacing:l,position:o}=t??{};return{...e("cg",l),...e("ai",{...o,mobile:o?.mobile=="baseline"?"flex-start":o?.mobile})}},getStyleWrapIcon=({styles:t,setting:l})=>{let{iconBorder:o,backgroundColor:r,iconRounded:b}=t??{},{globalSize:n}=l??{},p=i(n);return{...p.padding,...a({bs:o?.border,bw:o?.width,bc:s(o?.color),bg:s(r),bblr:b?.bblr,bbrr:b?.bbrr,btlr:b?.btlr,btrr:b?.btrr}),...e("top",{desktop:"unset",tablet:"unset",mobile:"unset"}),...e("pos",{desktop:"relative",tablet:"relative",mobile:"relative"})}},getStyleIcon=({styles:e,setting:t})=>{let{iconColor:l}=e||{},{iconWidth:o}=t??{};return{"--c":s(l),"--w":"100%","--h":"100%","--size-desktop":`${o?.desktop}px`,"--size-tablet":`${o?.tablet||o?.desktop}px`,"--size-mobile":`${o?.mobile||o?.tablet||o?.desktop}px`}},getStyleTypoText=({setting:e})=>({typo:e?.textTypo});export{getStyleColListIcon,getStyleContainerIconlistMain,getStyleIcon,getStyleTypoText,getStyleWrapIcon,getStyleWrapItemIcon,getStyleWraplistIcon};
@@ -1 +1 @@
1
- import{useRef as e,useState as t,useEffect as r}from"react";let useIconLineHeight=({iconWidth:n})=>{let o=e(null),[i,l]=t("");return r(()=>{if(o?.current&&n?.desktop){let e=window.getComputedStyle(o?.current).getPropertyValue("line-height");l(e)}},[n?.desktop]),{ref:o,lineHeight:i}};export{useIconLineHeight};
1
+ import{useRef as e,useState as t,useEffect as r}from"react";let useIconLineHeight=({iconWidth:n})=>{let i=e(null),[o,l]=t("");return r(()=>{if(i?.current){let e=window.getComputedStyle(i?.current).getPropertyValue("line-height");l(e)}},[n?.desktop]),{ref:i,lineHeight:o}};export{useIconLineHeight};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsxs as e,jsx as m}from"react/jsx-runtime";import{useProduct as s,useCurrentVariant as o,useMoneyFormat as t,useCurrentDevice as r,useProductBundleDiscount as l,useEditorMode as i,usePageType as a,filterToolbarPreview as c}from"@gem-sdk/core";import{getBadgeContent as n,getIsNoDiscountState as d}from"./utils/common.js";import"./constants.js";import p from"../../../common/components/NoDataState.js";import f from"../../../common/components/TooltipHover.js";import{createClass as h,createStyle as y,createAttr as N,If as j}from"@gem-sdk/system";import{getEditTooltipAttrs as u,getNoDataAttrs as v,getSubWrapperAttrs as g,getContainerAttrs as T,getTextContentAttrs as k,getImageAttr as x}from"./common/attrs.js";import{getContainerClasses as B,getWrapperClasses as C,getSubWrapperClass as P,getTextContainerClasses as S,getTextWrapperClasses as b,getTextContentClasses as A,getImageContainerClasses as D,getImageClasses as H}from"./common/classes.js";import{getContainerStyle as I,getSubWrapperStyle as q,getContentStyleInternal as w,getTextBadgeWrapperStyles as z,getTextContentStyle as E,getImageContainerStyles as F}from"./common/styles.js";let ProductBadge=G=>{let{setting:J,styles:K,children:L,...M}=G,O=s(),Q=o(),{moneyFormat:R}=t(),U=r(),{useProductCompareAtPrice:V}=l(),W=M?.["bundle-item"],X=i(),Y="STATIC"===a(),Z=n({detail:O,currentVariant:Q,bundleItem:W,useProductCompareAtPrice:V},J?.displayContent,R),$=d({props:G,product:O,currentVariant:Q,moneyFormat:R,useProductCompareAtPrice:V}),_=h({...B({mode:X,isInstant:Y,product:O,currentVariant:Q,props:G})}),ee=y({...I(G)}),em=N({...u(G)}),es=N({...v(G)}),eo=h({...C(G)}),et=h({...P(G,U)}),er=y({...q(G,Q,X)}),el=N({...g(G,O)}),ei=w(G),ea=h({...S()}),ec=N({...T(G)}),en=h({...b()}),ed=y({...z({setting:J,styles:K})}),ep=h({...A(K)}),ef=y({...E({setting:J,styles:K})}),eh=N({...k()}),ey=h({...D()}),eN=y({...F({setting:J,styles:K})}),ej=h({...H()}),eu=N({...x({setting:J})});return O?e("div",{...ec,style:ee,className:_,children:[j("edit"===X&&$,m(f,{...em,children:m(p,{...es})}),m("div",{className:eo,children:e("div",{...el,className:et,style:er,children:[m("style",{children:ei}),j(J?.shape!=="image",m("div",{className:ea,children:m("div",{className:en,style:ed,children:m("pre",{...eh,className:ep,style:ef,children:Z})})}),m("div",{className:ey,style:eN,children:m("img",{...eu,className:ej,alt:""})}))]})})),c(L,!0)]}):null};export{ProductBadge as default};
2
+ import{jsxs as e,jsx as m}from"react/jsx-runtime";import{useProduct as s,useCurrentVariant as o,useMoneyFormat as t,useCurrentDevice as r,useProductBundleDiscount as l,useEditorMode as i,usePageType as a,filterToolbarPreview as c}from"@gem-sdk/core";import{getBadgeContent as n,getIsNoDiscountState as d}from"./utils/common.js";import"./constants.js";import p from"../../../common/components/NoDataState.js";import f from"../../../common/components/TooltipHover.js";import{createClass as h,createStyle as y,createAttr as N,If as j}from"@gem-sdk/system";import{getEditTooltipAttrs as u,getNoDataAttrs as v,getSubWrapperAttrs as g,getContainerAttrs as T,getTextContentAttrs as k,getImageAttr as x}from"./common/attrs.js";import{getContainerClasses as B,getWrapperClasses as C,getSubWrapperClass as P,getTextContainerClasses as S,getTextWrapperClasses as b,getTextContentClasses as A,getImageContainerClasses as D,getImageClasses as H}from"./common/classes.js";import{getContainerStyle as I,getSubWrapperStyle as q,getContentStyleInternal as w,getTextBadgeWrapperStyles as z,getTextContentStyle as E,getImageContainerStyles as F}from"./common/styles.js";let ProductBadge=G=>{let{setting:J,styles:K,children:L,...M}=G,O=s(),Q=o(),{moneyFormat:R}=t(),U=r(),{useProductCompareAtPrice:V}=l(),W=M?.["bundle-item"],X=i(),Y="STATIC"===a(),Z=n({detail:O,currentVariant:Q,bundleItem:W,useProductCompareAtPrice:V},J?.displayContent,R),$=d({props:G,product:O,currentVariant:Q,moneyFormat:R,useProductCompareAtPrice:V}),_=h({...B({mode:X,isInstant:Y,product:O,currentVariant:Q,props:G})}),ee=y({...I(G)}),em=N({...u(G)}),es=N({...v(G)}),eo=h({...C(G)}),et=h({...P(G,U)}),er=y({...q(G,O,Q,X)}),el=N({...g(G,O)}),ei=w(G),ea=h({...S()}),ec=N({...T(G)}),en=h({...b()}),ed=y({...z({setting:J,styles:K})}),ep=h({...A(K)}),ef=y({...E({setting:J,styles:K})}),eh=N({...k()}),ey=h({...D()}),eN=y({...F({setting:J,styles:K})}),ej=h({...H()}),eu=N({...x({setting:J})});return O?e("div",{...ec,style:ee,className:_,children:[j("edit"===X&&$,m(f,{...em,children:m(p,{...es})}),m("div",{className:eo,children:e("div",{...el,className:et,style:er,children:[m("style",{children:ei}),j(J?.shape!=="image",m("div",{className:ea,children:m("div",{className:en,style:ed,children:m("pre",{...eh,className:ep,style:ef,children:Z})})}),m("div",{className:ey,style:eN,children:m("img",{...eu,className:ej,alt:""})}))]})})),c(L,!0)]}):null};export{ProductBadge as default};
@@ -1 +1 @@
1
- import{makeGlobalSize as e,composeTypographyStyle as t,getStyleShadow as o}from"@gem-sdk/core";import{convertToStyle as r,getSize as i,getWrapperStyle as a,getShapeWrapperPadding as n,checkDiscountContentProductBadge as s}from"../utils/common.js";import{getShapePosition as p}from"../utils/getShapePosition.js";import{composeTextStyleByPosition as g,composeShapeStyleByPosition as l}from"../utils/getRotateShape.js";import{getStyleAdvanced as d}from"../utils/getStyleAdvanced.js";import{getWhiteSpaceStyle as u}from"../utils/getWhiteSpace.js";import{getStyleBackground as S,generateShadowCSS as y,getStyleBorder as m,getStyleCornerRadius as h}from"../utils/stylesV2.js";import{getShape as x}from"../utils/shape.js";let getSizeStyles=e=>{let{setting:t,styles:o}=e,r=x(t?.shape),a=t?.contentType==="text",n=a?o?.textSizeV2:o?.imageSizeV2;return a?i(r,n):i(void 0,n)},getContainerStyle=(e,t=!1)=>{let{setting:o,styles:r,style:i,navigationPosition:n,imageData:s,dotData:g}=e,l=o?.positionWithImage==="outside",u=a(t),S=p({positionType:r?.position,isLiquid:!1,navigationPosition:n,dataImage:{...s,...g}}),y=getSizeStyles(e),m=d(l?{}:{...S,...y},i);return{...!l&&{"--pos":"absolute"},...u,...m}},getTextContentStyle=({styles:i,setting:a})=>{let n=e(i?.textSizeV2).padding,s=x(a?.shape),p=a?.positionWithImage==="outside";return{...u(i?.textSizeV2),...r(s?.textStyle),...g(s,i?.position,p),...t(i?.typo),...o({value:i?.typo?.custom?.textShadow,styleAppliedFor:"text-shadow",isEnableShadow:i?.typo?.custom?.hasShadowText}),...S(!!s?.backgroundColorInText,i?.badgeColorV2),...n}},getBorderStyles=({styles:e,setting:t})=>{let o=x(t?.shape),r=t?.contentType==="text";return o?.supportBorder?r?m(e?.textBadgeBorder):m(e?.imageBadgeBorder):{}},getCornerStyles=({styles:e,setting:t})=>{let o=x(t?.shape),r=t?.contentType==="text";return o?.supportCorner?r?h(e?.textBadgeCorner,o?.shapeRadius):h(e?.imageBadgeCorner,o?.shapeRadius):{}},getTextBadgeWrapperStyles=({styles:e,setting:t})=>{let o=x(t?.shape),r=getBorderStyles({setting:t,styles:e}),i=t?.positionWithImage==="outside",a=getCornerStyles({setting:t,styles:e}),s=n(o?.ratio);return{...r,...a,...l(o,e?.position,i),...S(!o?.backgroundColorInText,e?.badgeColorV2),...s,height:o?.ratio===1?"0px":"100%"}},getImageContainerStyles=({styles:t,setting:o})=>{let r=getBorderStyles({setting:o,styles:t}),i=getCornerStyles({setting:o,styles:t}),a=e(t?.imageSizeV2).padding;return{...r,...i,...a}},getOpacityProductBadge=(e,t,o)=>{let{"bundle-item":r,setting:i}=e;if(r)return 1;let a=s(i?.displayContent)&&i?.contentType==="text";if(!a)return 1;let n=t?.price??0,p=t?.salePrice??0,g=p-n>0,l=t?.manageInventory??!1;return g&&l?1:"edit"===o?.2:0},getSubWrapperStyle=(e,t,o)=>{let{setting:r}=e,i=r?.positionWithImage==="outside",a=getSizeStyles(e),n=o&&t?getOpacityProductBadge(e,t,o):1;return{...i?{...a,"--mb":0}:{},opacity:n}},getContentStyleInternal=e=>{let{styles:t,setting:o,builderProps:r}=e,i=o?.contentType==="text";return y(`[id="${r?.uid}"] .product-badge-item`,i?t?.textBadgeShadow:t?.imageBadgeShadow)};export{getContainerStyle,getContentStyleInternal,getImageContainerStyles,getSubWrapperStyle,getTextBadgeWrapperStyles,getTextContentStyle};
1
+ import{makeGlobalSize as e,composeTypographyStyle as t,getStyleShadow as o}from"@gem-sdk/core";import{convertToStyle as r,getSize as i,getWrapperStyle as a,getShapeWrapperPadding as n,checkDiscountContentProductBadge as s}from"../utils/common.js";import{getShapePosition as p}from"../utils/getShapePosition.js";import{composeTextStyleByPosition as g,composeShapeStyleByPosition as l}from"../utils/getRotateShape.js";import{getStyleAdvanced as d}from"../utils/getStyleAdvanced.js";import{getWhiteSpaceStyle as u}from"../utils/getWhiteSpace.js";import{getStyleBackground as S,generateShadowCSS as y,getStyleBorder as m,getStyleCornerRadius as h}from"../utils/stylesV2.js";import{getShape as x}from"../utils/shape.js";import{checkShowBadge as c}from"../utils/renderBadgeILP.js";let getSizeStyles=e=>{let{setting:t,styles:o}=e,r=x(t?.shape),a=t?.contentType==="text",n=a?o?.textSizeV2:o?.imageSizeV2;return a?i(r,n):i(void 0,n)},getContainerStyle=(e,t=!1)=>{let{setting:o,styles:r,style:i,navigationPosition:n,imageData:s,dotData:g}=e,l=o?.positionWithImage==="outside",u=a(t),S=p({positionType:r?.position,isLiquid:!1,navigationPosition:n,dataImage:{...s,...g}}),y=getSizeStyles(e),m=d(l?{}:{...S,...y},i);return{...!l&&{"--pos":"absolute"},...u,...m}},getTextContentStyle=({styles:i,setting:a})=>{let n=e(i?.textSizeV2).padding,s=x(a?.shape),p=a?.positionWithImage==="outside";return{...u(i?.textSizeV2),...r(s?.textStyle),...g(s,i?.position,p),...t(i?.typo),...o({value:i?.typo?.custom?.textShadow,styleAppliedFor:"text-shadow",isEnableShadow:i?.typo?.custom?.hasShadowText}),...S(!!s?.backgroundColorInText,i?.badgeColorV2),...n}},getBorderStyles=({styles:e,setting:t})=>{let o=x(t?.shape),r=t?.contentType==="text";return o?.supportBorder?r?m(e?.textBadgeBorder):m(e?.imageBadgeBorder):{}},getCornerStyles=({styles:e,setting:t})=>{let o=x(t?.shape),r=t?.contentType==="text";return o?.supportCorner?r?h(e?.textBadgeCorner,o?.shapeRadius):h(e?.imageBadgeCorner,o?.shapeRadius):{}},getTextBadgeWrapperStyles=({styles:e,setting:t})=>{let o=x(t?.shape),r=getBorderStyles({setting:t,styles:e}),i=t?.positionWithImage==="outside",a=getCornerStyles({setting:t,styles:e}),s=n(o?.ratio);return{...r,...a,...l(o,e?.position,i),...S(!o?.backgroundColorInText,e?.badgeColorV2),...s,height:o?.ratio===1?"0px":"100%"}},getImageContainerStyles=({styles:t,setting:o})=>{let r=getBorderStyles({setting:o,styles:t}),i=getCornerStyles({setting:o,styles:t}),a=e(t?.imageSizeV2).padding;return{...r,...i,...a}},getOpacityProductBadge=(e,t,o,r)=>{let{"bundle-item":i,setting:a}=e;if(i)return 1;let n=s(a?.displayContent)&&a?.contentType==="text";if(!n)return 1;let p=t?.price??0,g=t?.salePrice??0,l=g-p>0,d=c(a?.displayTrigger,o,t);return l&&d?1:"edit"===r?.2:0},getSubWrapperStyle=(e,t,o,r)=>{let{setting:i}=e,a=i?.positionWithImage==="outside",n=getSizeStyles(e),s=r&&o?getOpacityProductBadge(e,o,t,r):1;return{...a?{...n,"--mb":0}:{},opacity:s}},getContentStyleInternal=e=>{let{styles:t,setting:o,builderProps:r}=e,i=o?.contentType==="text";return y(`[id="${r?.uid}"] .product-badge-item`,i?t?.textBadgeShadow:t?.imageBadgeShadow)};export{getContainerStyle,getContentStyleInternal,getImageContainerStyles,getSubWrapperStyle,getTextBadgeWrapperStyles,getTextContentStyle};
@@ -1 +1 @@
1
- import{CompareType as e}from"../types.js";let toggleBadge=(e,r,t)=>{let o=checkShowBadge(e,r,t);return o?"":"!gp-hidden"},checkShowBadge=(e,r,t)=>{if(!t)return;let o=r?.createdAt||"",n=r?.tags||[],i={...t,product_created_at:o,product_tags:n},c=e?.map(e=>{switch(e?.triggerEvent){case"inventory_status":return inventoryTrigger(i,e);case"discount_price":return discountPriceTrigger(i,e);case"price_range":return priceRangeTrigger(i,e);case"creation_date":return creationDateTrigger(i,e);case"product_tags":return productTagsTrigger(i,e);default:return!1}});return c?.every(e=>!0===e)},compareNumberFunc=(e,r,t)=>{switch(t){case"exact":return e===r.from;case"above":return e>r.from;case"below":return e<r.from;case"exact_or_above":return e>=r.from;case"exact_or_below":return e<=r.from;case"between":return e>=r.from&&e<=r.to;default:return!1}},getMinValueForInventory=r=>r===e.ABOVE?0:r===e.BELOW?2:1,inventoryTrigger=(r,t)=>{if(null===r.inventory_management||"continue"==r.inventory_policy)return!0;if(void 0===r.inventoryQuantity)return!1;if("in_stock"!==t.type)return compareNumberFunc(r.inventoryQuantity,{from:0,to:0},e.EXACT_OR_BELOW);if(t.conditionType===e.BELOW||t.conditionType===e.EXACT_OR_BELOW){let o=getMinValueForInventory(t.conditionType);return compareNumberFunc(r?.inventoryQuantity,{from:1,to:Number(t.from)-o+1},e.BETWEEN)}return compareNumberFunc(r?.inventoryQuantity,{from:Number(t.from),to:Number(t?.to)},t.conditionType)},discountPriceTrigger=(e,r)=>{if(e?.compare_at_price===void 0||void 0===e.price||e.compare_at_price<e.price)return!1;let t=(e.compare_at_price-e.price)/100,o=t/(e.compare_at_price/100),n="fixed"===r.discountType?t:Math.round(100*o);return compareNumberFunc(n,{from:Number(r.from),to:Number(r.to)},r.conditionType)},priceRangeTrigger=(e,r)=>{if(void 0===e.price)return!1;let t=e.price/100;return compareNumberFunc(t,{from:Number(r.from),to:Number(r.to)},r.conditionType)},creationDateTrigger=(r,t)=>{if(!r.product_created_at)return!1;let o=new Date(new Date(r.product_created_at).setHours(0,0,0,0)),n=new Date(t.from),i=new Date(t.to),c=o.getTime();if("exact_date"===t.type)return compareNumberFunc(c,{from:n.getTime(),to:0},e.EXACT);if("duration"===t.type){let e=new Date().setHours(0,0,0,0),r=(e-o.getTime())/864e5;if(r>=0&&r<=Number(t.days))return!0}return!(n.getTime()>=i.getTime())&&compareNumberFunc(c,{from:n.getTime(),to:i.getTime()},e.BETWEEN)},productTagsTrigger=(e,r)=>{let t=e.product_tags||[],o=r.searchTag;return o.some(e=>t.includes(e))};export{toggleBadge};
1
+ import{CompareType as e}from"../types.js";let toggleBadge=(e,r,t)=>{let o=checkShowBadge(e,r,t);return o?"":"!gp-hidden"},checkShowBadge=(e,r,t)=>{if(!t)return;let o=r?.createdAt||"",n=r?.tags||[],i={...t,product_created_at:o,product_tags:n},c=e?.map(e=>{switch(e?.triggerEvent){case"inventory_status":return inventoryTrigger(i,e);case"discount_price":return discountPriceTrigger(i,e);case"price_range":return priceRangeTrigger(i,e);case"creation_date":return creationDateTrigger(i,e);case"product_tags":return productTagsTrigger(i,e);default:return!1}});return c?.every(e=>!0===e)},compareNumberFunc=(e,r,t)=>{switch(t){case"exact":return e===r.from;case"above":return e>r.from;case"below":return e<r.from;case"exact_or_above":return e>=r.from;case"exact_or_below":return e<=r.from;case"between":return e>=r.from&&e<=r.to;default:return!1}},getMinValueForInventory=r=>r===e.ABOVE?0:r===e.BELOW?2:1,inventoryTrigger=(r,t)=>{if(void 0===r.inventoryQuantity)return!1;if("in_stock"===t.type){if(!1===r.manageInventory||r.inventoryPolicy?.toLowerCase()=="continue")return!0;if(t.conditionType===e.BELOW||t.conditionType===e.EXACT_OR_BELOW){let o=getMinValueForInventory(t.conditionType);return compareNumberFunc(r?.inventoryQuantity,{from:1,to:Number(t.from)-o+1},e.BETWEEN)}return compareNumberFunc(r?.inventoryQuantity,{from:Number(t.from),to:Number(t?.to)},t.conditionType)}return!1!==r.manageInventory&&r.inventoryPolicy?.toLowerCase()!="continue"&&compareNumberFunc(r.inventoryQuantity,{from:0,to:0},e.EXACT_OR_BELOW)},discountPriceTrigger=(e,r)=>{if(e?.compare_at_price===void 0||void 0===e.price||e.compare_at_price<e.price)return!1;let t=(e.compare_at_price-e.price)/100,o=t/(e.compare_at_price/100),n="fixed"===r.discountType?t:Math.round(100*o);return compareNumberFunc(n,{from:Number(r.from),to:Number(r.to)},r.conditionType)},priceRangeTrigger=(e,r)=>{if(void 0===e.price)return!1;let t=e.price/100;return compareNumberFunc(t,{from:Number(r.from),to:Number(r.to)},r.conditionType)},creationDateTrigger=(r,t)=>{if(!r.product_created_at)return!1;let o=new Date(new Date(r.product_created_at).setHours(0,0,0,0)),n=new Date(t.from),i=new Date(t.to),c=o.getTime();if("exact_date"===t.type)return compareNumberFunc(c,{from:n.getTime(),to:0},e.EXACT);if("duration"===t.type){let e=new Date().setHours(0,0,0,0),r=(e-o.getTime())/864e5;if(r>=0&&r<=Number(t.days))return!0}return!(n.getTime()>=i.getTime())&&compareNumberFunc(c,{from:n.getTime(),to:i.getTime()},e.BETWEEN)},productTagsTrigger=(e,r)=>{let t=e.product_tags||[],o=r.searchTag;return o.some(e=>t.includes(e))};export{checkShowBadge,toggleBadge};
@@ -1,7 +1,7 @@
1
- import{template as t}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";let ProductListItem=o=>{let{pageContext:n,children:a}=o,{productItemClass:r,gpProductClass:c}=e(o);return t`
1
+ import{template as t}from"@gem-sdk/core";import{getClass as e}from"./common/classes.js";let ProductListItem=n=>{let{pageContext:o,children:a}=n,{productItemClass:r,gpProductClass:c}=e(n);return t`
2
2
  <gp-product
3
- gp-context='{"variantSelected": {{ variant | json | escape }}, "quantity": 1 , "formId": "{{ product_form_id }}"}'
4
- gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(n)}}'
3
+ gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "formId": "{{ product_form_id }}"}'
4
+ gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(o)}}'
5
5
  class="${c}"
6
6
 
7
7
  >
@@ -1,19 +1,19 @@
1
- import{template as t,RenderChildren as e}from"@gem-sdk/core";import{getClass as o}from"./common/classes.js";let ProductListItem=n=>{let{pageContext:a,rawChildren:r}=n,{productItemClass:c,gpProductClass:d}=o(n),i=()=>t`
2
- ${r?.map((o,n)=>{if(o)return t`
3
- ${e({...o,index:n})}
1
+ import{template as t,RenderChildren as e}from"@gem-sdk/core";import{getClass as n}from"./common/classes.js";let ProductListItem=o=>{let{pageContext:a,rawChildren:r}=o,{productItemClass:c,gpProductClass:i}=n(o),d=()=>t`
2
+ ${r?.map((n,o)=>{if(n)return t`
3
+ ${e({...n,index:o})}
4
4
  `}).join("")}
5
5
  `;return t`
6
6
  <gp-product
7
- gp-context='{"variantSelected": {{ variant | json | escape }}, "quantity": 1 , "formId": "{{ product_form_id }}"}'
7
+ gp-context='{"variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "quantity": 1 , "formId": "{{ product_form_id }}"}'
8
8
  gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }},"pageContext" : ${JSON.stringify(a)}}'
9
- class="${d}"
9
+ class="${i}"
10
10
 
11
11
  >
12
12
  {%- form 'product', product, id: product_form_id, class: 'form contents ${c}', data-type: 'add-to-cart-form', autocomplete: 'off' -%}
13
13
  <input type="hidden" name="id" value="{{ variant.id }}" />
14
14
  <input type="hidden" min="1" name="quantity" value="{{ quantity }}" />
15
15
  <button type="submit" onclick="return false;" style="display:none;"></button>
16
- ${i()}
16
+ ${d()}
17
17
  {%- endform -%}
18
18
  </gp-product>
19
19
  `};export{ProductListItem as default};
@@ -1,4 +1,4 @@
1
- import{template as t,RenderIf as e,isLocalEnv as r,baseAssetURL as i}from"@gem-sdk/core";import d from"../../../grid/components/row/Row.liquid.js";import{LiquidIf as o,If as a}from"@gem-sdk/system";import{getSettingPreloadData as s,getStaticLocale as n}from"../../../helpers.js";import{getData as c,DYNAMIC_PRODUCT_STATUS as p,STATIC_PRODUCT_STATUS as l,PRODUCT_ID_LATEST as u}from"./common/helpers.js";let Product=f=>{let{children:m,setting:g,style:y,builderProps:_,rawChildren:v,advanced:$}=f,{isSyncProduct:I}=g??{},{rowSetting:S,rowStyles:b,formatVariantId:j,formatProductId:h,productStatus:q,preSelectedOptionIds:V,productHandle:P,advancedStyle:k}=c(f),w=()=>t`
1
+ import{template as t,RenderIf as e,isLocalEnv as i,baseAssetURL as r}from"@gem-sdk/core";import o from"../../../grid/components/row/Row.liquid.js";import{LiquidIf as a,If as d}from"@gem-sdk/system";import{getSettingPreloadData as n,getStaticLocale as s}from"../../../helpers.js";import{getData as c,DYNAMIC_PRODUCT_STATUS as p,STATIC_PRODUCT_STATUS as l,PRODUCT_ID_LATEST as u}from"./common/helpers.js";let Product=f=>{let{children:m,setting:g,style:y,builderProps:v,rawChildren:_,advanced:$}=f,{isSyncProduct:I}=g??{},{rowSetting:S,rowStyles:b,formatVariantId:j,formatProductId:h,productStatus:q,preSelectedOptionIds:V,productHandle:P,advancedStyle:k}=c(f),w=()=>t`
2
2
  {%- liquid
3
3
  if request.page_type == 'product'
4
4
  if '${q}' == '${l}'
@@ -58,10 +58,10 @@ import{template as t,RenderIf as e,isLocalEnv as r,baseAssetURL as i}from"@gem-s
58
58
  -%}
59
59
  `,x=()=>t`
60
60
  {%- assign gpBkProduct = product -%}
61
- ${a(q==p,E(),w())}
61
+ ${d(q==p,E(),w())}
62
62
  `,A=()=>t`
63
63
  {%- assign initVariantId = ${j} -%}
64
- {%- assign product_form_id = 'product-form-' | append: "${_?.uid}" -%}
64
+ {%- assign product_form_id = 'product-form-' | append: "${v?.uid}" -%}
65
65
  ${j?"{%- assign variant = product.variants | where: 'id', initVariantId | first -%}":"{%- assign variant = product.selected_or_first_available_variant -%}"}
66
66
  ${j?"{%- assign productSelectedVariant = product.variants | where: 'id', initVariantId | first -%}":"{%- assign productSelectedVariant = product.selected_or_first_available_variant -%}"}
67
67
  {%-if productSelectedVariant == empty or productSelectedVariant == null -%}
@@ -71,15 +71,15 @@ import{template as t,RenderIf as e,isLocalEnv as r,baseAssetURL as i}from"@gem-s
71
71
  {%- assign variant = product.selected_or_first_available_variant -%}
72
72
  {%- endif -%}
73
73
  `,B=()=>t`
74
- <div class="gp-text-center">${n("Product","product_not_found")}</div>
74
+ <div class="gp-text-center">${s("Product","product_not_found")}</div>
75
75
  `,G=()=>t`
76
76
  ${A()}
77
77
  <gp-product
78
- data-uid="${_?.uid}"
79
- data-id="${_?.uid}"
78
+ data-uid="${v?.uid}"
79
+ data-id="${v?.uid}"
80
80
  style="${k}"
81
81
  class="${$?.cssClass}"
82
- gp-context='{"productId": {{ product.id }}, "preSelectedOptionIds": [${V}], "isSyncProduct": "${I}", "variantSelected": {{ variant | json | escape }}, "inventoryQuantity": {{ variant.inventory_quantity }}, "quantity": 1, "formId": "{{ product_form_id }}" }'
82
+ gp-context='{"productId": {{ product.id }}, "preSelectedOptionIds": [${V}], "isSyncProduct": "${I}", "variantSelected": {{ variant | json | escape }}, "inventory_management": {{ variant.inventory_management | json | escape }}, "inventory_policy": {{ variant.inventory_policy | json | escape }}, "inventoryQuantity": {{ variant.inventory_quantity }}, "quantity": 1, "formId": "{{ product_form_id }}" }'
83
83
  gp-data='{"variantSelected": {{ variant | json | escape }}, "quantity": 1, "productUrl":{{ product.url | json | escape }}, "productHandle":{{ product.handle | json | escape }}, "collectionUrl": {{ collection.url | json | escape }}, "collectionHandle": {{ collection.handle | json | escape }}}'
84
84
  >
85
85
  <product-form class="product-form">
@@ -87,13 +87,13 @@ import{template as t,RenderIf as e,isLocalEnv as r,baseAssetURL as i}from"@gem-s
87
87
  <input type="hidden" name="id" value="{{ variant.id }}" />
88
88
  <input type="hidden" name="quantity" value="{{ quantity }}" />
89
89
  <button type="submit" onclick="return false;" style="display:none;"></button>
90
- ${d({builderProps:{..._,uid:_?.uid,uidInteraction:`${_?.uid}-row`},style:y,styles:b,setting:S,children:m,rawChildren:v})}
90
+ ${o({builderProps:{...v,uid:v?.uid,uidInteraction:`${v?.uid}-row`},style:y,styles:b,setting:S,children:m,rawChildren:_})}
91
91
  {%- endform -%}
92
92
  </product-form>
93
93
  </gp-product>
94
94
  {%- assign product = gpBkProduct -%}
95
95
  `;return t`
96
96
  ${x()}
97
- ${o("product != empty and product != null",G(),B())}
98
- ${e(r,`<script ${s('class="gps-link" delay',"src")}="{{ 'gp-product-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${s('class="gps-link" delay',"src")}="${i}/assets-v2/gp-product-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
97
+ ${a("product != empty and product != null",G(),B())}
98
+ ${e(i,`<script ${n('class="gps-link" delay',"src")}="{{ 'gp-product-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${n('class="gps-link" delay',"src")}="${r}/assets-v2/gp-product-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
99
99
  `};export{Product as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/components",
3
- "version": "3.0.10",
3
+ "version": "3.0.12",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",