@gem-sdk/components 12.0.0-dev.39 → 12.0.0-dev.41
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/helpers.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var core=require("@gem-sdk/core"),Link=require("./link/components/Link.js"),translate=require("./hero-banner/settings/configs/translate.js");const REGEX_PAGE_TYPE=new RegExp(/^\/?(?:collections|pages|products|blogs|checkout|cart|policies)\/?/i),isShopifyDomain=(e,t)=>{let r=new RegExp(/^https?:\/\//i);return e&&!r.test(t)&®EX_PAGE_TYPE.test(t)},getLinkArticle=(e,t)=>"scroll-to"==e?t?.link:"{{article.url}}",isTransparentColor=e=>!!e&&(e.startsWith("#")?isHexTransparent(e):e.startsWith("rgb")?isTransparentRGBA(e):"transparent"==e),isTransparentRGBA=e=>{let t=e.replace(/\s/g,"").match(/^rgba?\((\d+),(\d+),(\d+),?([^,\s)]+)?/i)?.map(Number).filter(e=>!isNaN(e))??[0,0,0,1];return 0===t[t.length-1]},isHexTransparent=e=>{let t=!1,r=e.slice(e.startsWith("#")?1:0);3===r.length?r=[...r].map(e=>e+e).join(""):8===r.length&&(t=!0);let i=parseInt(r,16),n=t?255&i:void 0;return 0===n||!!n},youtubeShortsRegex=/^(?:https?:\/\/)?(?:www\.)?youtube\.com\/shorts\/([^"&?/\s]{11})$/i,createTranslateKey=(e,t)=>`g${e}_${t}`,createSettingId=({id:e,index:t,suffix:r})=>e?"number"==typeof t&&t>=0?`${e}_${t}`:r?`${e}_${r}`:e:"",getDynamicSourceLocales=({val:e,uid:t,settingId:r,isLiquid:i,pageContext:n,isCapitalize:o,defaultVal:a="",isReplaceLocationOrigin:l,isReplaceMaxSize:s,isReplaceInventoryQuantity:c})=>{let p=new RegExp(/\{\{.*?\}\}|\{%.*?%\}/).test(e?.toString()??""),g=n?.isTranslateWithLocale?1e3:5e3;if(!r||!e?.toString().trim()||e.toString().length>
|
|
1
|
+
"use strict";var core=require("@gem-sdk/core"),Link=require("./link/components/Link.js"),translate=require("./hero-banner/settings/configs/translate.js");const REGEX_PAGE_TYPE=new RegExp(/^\/?(?:collections|pages|products|blogs|checkout|cart|policies)\/?/i),isShopifyDomain=(e,t)=>{let r=new RegExp(/^https?:\/\//i);return e&&!r.test(t)&®EX_PAGE_TYPE.test(t)},getLinkArticle=(e,t)=>"scroll-to"==e?t?.link:"{{article.url}}",isTransparentColor=e=>!!e&&(e.startsWith("#")?isHexTransparent(e):e.startsWith("rgb")?isTransparentRGBA(e):"transparent"==e),isTransparentRGBA=e=>{let t=e.replace(/\s/g,"").match(/^rgba?\((\d+),(\d+),(\d+),?([^,\s)]+)?/i)?.map(Number).filter(e=>!isNaN(e))??[0,0,0,1];return 0===t[t.length-1]},isHexTransparent=e=>{let t=!1,r=e.slice(e.startsWith("#")?1:0);3===r.length?r=[...r].map(e=>e+e).join(""):8===r.length&&(t=!0);let i=parseInt(r,16),n=t?255&i:void 0;return 0===n||!!n},youtubeShortsRegex=/^(?:https?:\/\/)?(?:www\.)?youtube\.com\/shorts\/([^"&?/\s]{11})$/i,createTranslateKey=(e,t)=>`g${e}_${t}`,createSettingId=({id:e,index:t,suffix:r})=>e?"number"==typeof t&&t>=0?`${e}_${t}`:r?`${e}_${r}`:e:"",getDynamicSourceLocales=({val:e,uid:t,settingId:r,isLiquid:i,pageContext:n,isCapitalize:o,defaultVal:a="",isReplaceLocationOrigin:l,isReplaceMaxSize:s,isReplaceInventoryQuantity:c})=>{let p=new RegExp(/\{\{.*?\}\}|\{%.*?%\}/).test(e?.toString()??""),g=n?.mode===core.SectionMode.GLOBAL,u=n?.schema??"",d=n?.isTranslateWithLocale?1e3:5e3;if(!r||!e?.toString().trim()||e.toString().length>d||p||n?.isPreviewing)return e??a;let f=createTranslateKey(t,r),{translateKey:h,value:m}=core.getValueSettingFromSchema({input:u??"",prefixTranslateKey:f}),S=core.extractOuterTagContent(m),y=e?.toString()??a??"",k=core.extractOuterTagContent(y),T=core.checkHasChangeContent({currentContent:S,newContent:k}),x=g&&T?core.createTranslateKey(t,r,k):h,L=`section.settings.${x}`;return(n?.isTranslateWithLocale&&(L=`'sections.${n.sectionName}.${x}_html' | t`),l&&(L+=" | replace: '$locationOrigin', locationOrigin"),s&&(L+=" | replace: '$max_size', '10MB'"),c&&(L+=" | replace: '<$quantity$>', inventory_quantity | replace: '<$quantity$>', inventory_quantity"),o&&(L=`${L} | downcase`),i)?L:`{{ ${L} }}`},getStaticLocale=(e,t)=>`{{ 'gempages.${e}.${t}' | t }}`,getSettingPreloadData=(e,t)=>`{% if section.settings.section_preload == "false" %}${e} ${t?`{% else %}${t}`:""}{% endif %}`,getHttpUrl=e=>e?e.match(/^https?:\/\//i)?e:`http://${e}`:"";function normalizeMailto(e){if(e.startsWith("mailto:")){let[t,r]=e.split("?");if(r){let i=r.replace(/\+/g,"%20");e=`${t}?${i}`}}return e}const getInsertLinkData=(e,t,r)=>{let i=["#","mailto:","tel:"],n=["product.url"],o=t?.link!==void 0&&""!==t.link,a=t?.link??"",l="/"===a,s=new RegExp(/^(?:https?:\/\/)?[\w.-]+\.[a-z]{2,}/i),c=o&&s.test(a);c&&(a=getHttpUrl(a)),o&&a.toLowerCase().startsWith("mailto:")&&a.includes("+")&&(a=normalizeMailto(a));let p=()=>!!(i.find(e=>a.startsWith(e))||n.find(e=>a.includes(e))),g=c||isShopifyDomain(o,a)||p()||l||isLinkedToSalesPage(t?.type);(isShopifyDomain(o,a)||l)&&(a=t?.isTranslate?"$locationOrigin"+a:"{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}"+a);let u=g?t?.isLiquid?"a":Link.default:e,d={href:a,target:t?.target,...t?.noFollow&&{rel:"nofollow"}},f=g?d:o?{...d,type:r}:{type:r};return{Wrap:u,urlData:f,shouldRenderLink:g}},isLinkedToSalesPage=e=>"go-to-sales-page"===e,checkIsScrollToTop=e=>e?.type==="scroll-to"&&e?.link==="#scroll-to-top",checkIsOpenPopup=e=>e?.type==="open-popup"&&e?.link?.startsWith("#el-"),getLinkData=({setting:e,htmlType:t,defaultWrap:r,isLiquid:i=!1,enableImageLink:n=!1})=>{let o=["product.url"],a=["#","mailto:","tel:"],l=e?.link??"",s="/"===l,c=e?.link!==void 0&&""!==e.link,p=new RegExp(/^https?:\/\//i),g=c&&p.test(l);c&&l.toLowerCase().startsWith("mailto:")&&l.includes("+")&&(l=normalizeMailto(l));let u=()=>!!(o.find(e=>l.includes(e))||a.find(e=>l.startsWith(e))),d=n&&(g||isShopifyDomain(c,l)||u()||s||isLinkedToSalesPage(e?.type)),f=l;i&&(isShopifyDomain(c,l)||s)&&(f=e?.isTranslate?"$locationOrigin"+l:"{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}"+l);let h=d?i?"a":Link.default:r,m={href:f,target:e?.target,...e?.noFollow&&{rel:"nofollow"}},S=d?m:c?{...m,type:t}:{type:t};return{Wrapper:h,urlData:S,shouldRenderLink:d}},replaceLinkData=(e,t)=>{let r=/<a\s[^>]*>.*?<\/a>/;if(e&&r.test(e)){let r;let i=/<a\s+(?:[^>]*?\s+)?href=["']([^"']*)["'](?:\s+[^>]*?)?(?:target=["']([^"']*)["'])?.*?>.*?<\/a>/gi,n=e.toString();for(;null!==(r=i.exec(n));){let e=r[1],{urlData:i}=getInsertLinkData("",{link:e,isTranslate:t});n=n.replace(r[0],r[0].replace(/(href=['"])([^'"]*)(['"])/i,`$1${i.href}$3`))}return n}return e};function filterTruthyStyles(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>!!e))}function filterTruthyObject(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>!!e))}const getDisplayStyle=(e,t)=>{let r={};return core.DEVICES.forEach(i=>{r={...r,[`--d${"desktop"===i?"":`-${i}`}`]:`${e(i)?"none":t}`}}),r},convertUnitToNumber=(e,t)=>{if(!e)return t;if("number"==typeof e)return e;let r="string"==typeof e?e.replaceAll("px","").replaceAll("%","").replaceAll("rem","").replaceAll("em",""):t;return isNaN(Number(r))?t:Number(r)},getAllHrefFromString=e=>{let t;if(!e)return[];let r=/href="([^"]*)"/g,i=[];for(;null!==(t=r.exec(e));)t[1]&&i.push(t[1]);return i},replaceAllHrefFromString=(e,t)=>{let r;if(!e)return"";let i=/href="([^"]*)"/g,n=0;for(;null!==(r=i.exec(e));)r[1]&&(e=e.replace(r[1],t[n]??""),n++);return e};function isEmptyObject(e){return 0===Object.keys(e).length&&"object"==typeof e}const handleClickLink=(e,t)=>{if("edit"!==t){if(checkIsScrollToTop(e)){window.scrollTo({top:0,behavior:"smooth"});return}if(checkIsOpenPopup(e)){let t=e?.link?.replace("#el-","#");core.globalEvent.dispatch("onOpenDialog",{popupUId:t});return}e?.link?.startsWith("#")&&core.globalEvent.dispatch("onOpenDialog",{popupUId:e?.link})}},getSeoTranslated=({valueTranslate:e,uid:t,settingId:r})=>{if(!t||!translate.HeroBanner?.[r]?.id)return e;let i=getDynamicSourceLocales({val:e,settingId:createSettingId({id:translate.HeroBanner?.[r]?.id}),uid:t});return null!=i?String(i):e},getBackgroundTranslated=({background:e,enableTranslate:t,uid:r,pageContext:i,isTranslateVideo:n=!0})=>{if(!e)return{};if(!t||!r)return e;let o=core.cloneDeep(e);for(let e in o){let t=o[e];if(t){if(t.image?.src){let n=getDynamicSourceLocales({val:t.image.src,uid:r,settingId:createSettingId({id:"background",suffix:`${e}_image_src`}),pageContext:i});t.image.src=String(n)}if(n){if("youtube"===t.videoType&&t.video){let n=getDynamicSourceLocales({val:t.video,uid:r,settingId:createSettingId({id:"background",suffix:`${e}_video`}),pageContext:i});t.video=String(n)}if("html5"===t.videoType&&t.videoHtml5){let n=getDynamicSourceLocales({val:t.videoHtml5,uid:r,settingId:createSettingId({id:"background",suffix:`${e}_videoHtml5`}),pageContext:i});t.videoHtml5=String(n)}}}}return o},extractProductID=e=>e.replace("gid://shopify/Product/","");exports.REGEX_PAGE_TYPE=REGEX_PAGE_TYPE,exports.checkIsOpenPopup=checkIsOpenPopup,exports.checkIsScrollToTop=checkIsScrollToTop,exports.convertUnitToNumber=convertUnitToNumber,exports.createSettingId=createSettingId,exports.createTranslateKey=createTranslateKey,exports.extractProductID=extractProductID,exports.filterTruthyObject=filterTruthyObject,exports.filterTruthyStyles=filterTruthyStyles,exports.getAllHrefFromString=getAllHrefFromString,exports.getBackgroundTranslated=getBackgroundTranslated,exports.getDisplayStyle=getDisplayStyle,exports.getDynamicSourceLocales=getDynamicSourceLocales,exports.getInsertLinkData=getInsertLinkData,exports.getLinkArticle=getLinkArticle,exports.getLinkData=getLinkData,exports.getSeoTranslated=getSeoTranslated,exports.getSettingPreloadData=getSettingPreloadData,exports.getStaticLocale=getStaticLocale,exports.handleClickLink=handleClickLink,exports.isEmptyObject=isEmptyObject,exports.isHexTransparent=isHexTransparent,exports.isLinkedToSalesPage=isLinkedToSalesPage,exports.isShopifyDomain=isShopifyDomain,exports.isTransparentColor=isTransparentColor,exports.isTransparentRGBA=isTransparentRGBA,exports.normalizeMailto=normalizeMailto,exports.replaceAllHrefFromString=replaceAllHrefFromString,exports.replaceLinkData=replaceLinkData,exports.youtubeShortsRegex=youtubeShortsRegex;
|
package/dist/esm/helpers.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{getValueSettingFromSchema as e,extractOuterTagContent as t,checkHasChangeContent as r,createTranslateKey as i,DEVICES as n,globalEvent as l,cloneDeep as a,SectionMode as o}from"@gem-sdk/core";import s from"./link/components/Link.js";import{HeroBanner as c}from"./hero-banner/settings/configs/translate.js";let REGEX_PAGE_TYPE=new RegExp(/^\/?(?:collections|pages|products|blogs|checkout|cart|policies)\/?/i),isShopifyDomain=(e,t)=>{let r=new RegExp(/^https?:\/\//i);return e&&!r.test(t)&®EX_PAGE_TYPE.test(t)},getLinkArticle=(e,t)=>"scroll-to"==e?t?.link:"{{article.url}}",isTransparentColor=e=>!!e&&(e.startsWith("#")?isHexTransparent(e):e.startsWith("rgb")?isTransparentRGBA(e):"transparent"==e),isTransparentRGBA=e=>{let t=e.replace(/\s/g,"").match(/^rgba?\((\d+),(\d+),(\d+),?([^,\s)]+)?/i)?.map(Number).filter(e=>!isNaN(e))??[0,0,0,1];return 0===t[t.length-1]},isHexTransparent=e=>{let t=!1,r=e.slice(e.startsWith("#")?1:0);3===r.length?r=[...r].map(e=>e+e).join(""):8===r.length&&(t=!0);let i=parseInt(r,16),n=t?255&i:void 0;return 0===n||!!n},youtubeShortsRegex=/^(?:https?:\/\/)?(?:www\.)?youtube\.com\/shorts\/([^"&?/\s]{11})$/i,createTranslateKey=(e,t)=>`g${e}_${t}`,createSettingId=({id:e,index:t,suffix:r})=>e?"number"==typeof t&&t>=0?`${e}_${t}`:r?`${e}_${r}`:e:"",getDynamicSourceLocales=({val:n,uid:l,settingId:a,isLiquid:s,pageContext:c,isCapitalize:p,defaultVal:g="",isReplaceLocationOrigin:u,isReplaceMaxSize:f,isReplaceInventoryQuantity:d})=>{let m=new RegExp(/\{\{.*?\}\}|\{%.*?%\}/).test(n?.toString()??""),h=c?.mode===o.GLOBAL,y=c?.schema??"",S=c?.isTranslateWithLocale?1e3:5e3;if(!a||!n?.toString().trim()||n.toString().length>S||m||c?.isPreviewing)return n??g;let k=createTranslateKey(l,a),{translateKey:T,value:$}=e({input:y??"",prefixTranslateKey:k}),L=t($),b=n?.toString()??g??"",D=t(b),v=r({currentContent:L,newContent:D}),I=h&&v?i(l,a,D):T,E=`section.settings.${I}`;return(c?.isTranslateWithLocale&&(E=`'sections.${c.sectionName}.${I}_html' | t`),u&&(E+=" | replace: '$locationOrigin', locationOrigin"),f&&(E+=" | replace: '$max_size', '10MB'"),d&&(E+=" | replace: '<$quantity$>', inventory_quantity | replace: '<$quantity$>', inventory_quantity"),p&&(E=`${E} | downcase`),s)?E:`{{ ${E} }}`},getStaticLocale=(e,t)=>`{{ 'gempages.${e}.${t}' | t }}`,getSettingPreloadData=(e,t)=>`{% if section.settings.section_preload == "false" %}${e} ${t?`{% else %}${t}`:""}{% endif %}`,getHttpUrl=e=>e?e.match(/^https?:\/\//i)?e:`http://${e}`:"";function normalizeMailto(e){if(e.startsWith("mailto:")){let[t,r]=e.split("?");if(r){let i=r.replace(/\+/g,"%20");e=`${t}?${i}`}}return e}let getInsertLinkData=(e,t,r)=>{let i=["#","mailto:","tel:"],n=["product.url"],l=t?.link!==void 0&&""!==t.link,a=t?.link??"",o="/"===a,c=new RegExp(/^(?:https?:\/\/)?[\w.-]+\.[a-z]{2,}/i),p=l&&c.test(a);p&&(a=getHttpUrl(a)),l&&a.toLowerCase().startsWith("mailto:")&&a.includes("+")&&(a=normalizeMailto(a));let g=()=>!!(i.find(e=>a.startsWith(e))||n.find(e=>a.includes(e))),u=p||isShopifyDomain(l,a)||g()||o||isLinkedToSalesPage(t?.type);(isShopifyDomain(l,a)||o)&&(a=t?.isTranslate?"$locationOrigin"+a:"{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}"+a);let f=u?t?.isLiquid?"a":s:e,d={href:a,target:t?.target,...t?.noFollow&&{rel:"nofollow"}},m=u?d:l?{...d,type:r}:{type:r};return{Wrap:f,urlData:m,shouldRenderLink:u}},isLinkedToSalesPage=e=>"go-to-sales-page"===e,checkIsScrollToTop=e=>e?.type==="scroll-to"&&e?.link==="#scroll-to-top",checkIsOpenPopup=e=>e?.type==="open-popup"&&e?.link?.startsWith("#el-"),getLinkData=({setting:e,htmlType:t,defaultWrap:r,isLiquid:i=!1,enableImageLink:n=!1})=>{let l=["product.url"],a=["#","mailto:","tel:"],o=e?.link??"",c="/"===o,p=e?.link!==void 0&&""!==e.link,g=new RegExp(/^https?:\/\//i),u=p&&g.test(o);p&&o.toLowerCase().startsWith("mailto:")&&o.includes("+")&&(o=normalizeMailto(o));let f=()=>!!(l.find(e=>o.includes(e))||a.find(e=>o.startsWith(e))),d=n&&(u||isShopifyDomain(p,o)||f()||c||isLinkedToSalesPage(e?.type)),m=o;i&&(isShopifyDomain(p,o)||c)&&(m=e?.isTranslate?"$locationOrigin"+o:"{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}"+o);let h=d?i?"a":s:r,y={href:m,target:e?.target,...e?.noFollow&&{rel:"nofollow"}},S=d?y:p?{...y,type:t}:{type:t};return{Wrapper:h,urlData:S,shouldRenderLink:d}},replaceLinkData=(e,t)=>{let r=/<a\s[^>]*>.*?<\/a>/;if(e&&r.test(e)){let r;let i=/<a\s+(?:[^>]*?\s+)?href=["']([^"']*)["'](?:\s+[^>]*?)?(?:target=["']([^"']*)["'])?.*?>.*?<\/a>/gi,n=e.toString();for(;null!==(r=i.exec(n));){let e=r[1],{urlData:i}=getInsertLinkData("",{link:e,isTranslate:t});n=n.replace(r[0],r[0].replace(/(href=['"])([^'"]*)(['"])/i,`$1${i.href}$3`))}return n}return e};function filterTruthyStyles(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>!!e))}function filterTruthyObject(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>!!e))}let getDisplayStyle=(e,t)=>{let r={};return n.forEach(i=>{r={...r,[`--d${"desktop"===i?"":`-${i}`}`]:`${e(i)?"none":t}`}}),r},convertUnitToNumber=(e,t)=>{if(!e)return t;if("number"==typeof e)return e;let r="string"==typeof e?e.replaceAll("px","").replaceAll("%","").replaceAll("rem","").replaceAll("em",""):t;return isNaN(Number(r))?t:Number(r)},getAllHrefFromString=e=>{let t;if(!e)return[];let r=/href="([^"]*)"/g,i=[];for(;null!==(t=r.exec(e));)t[1]&&i.push(t[1]);return i},replaceAllHrefFromString=(e,t)=>{let r;if(!e)return"";let i=/href="([^"]*)"/g,n=0;for(;null!==(r=i.exec(e));)r[1]&&(e=e.replace(r[1],t[n]??""),n++);return e};function isEmptyObject(e){return 0===Object.keys(e).length&&"object"==typeof e}let handleClickLink=(e,t)=>{if("edit"!==t){if(checkIsScrollToTop(e)){window.scrollTo({top:0,behavior:"smooth"});return}if(checkIsOpenPopup(e)){let t=e?.link?.replace("#el-","#");l.dispatch("onOpenDialog",{popupUId:t});return}e?.link?.startsWith("#")&&l.dispatch("onOpenDialog",{popupUId:e?.link})}},getSeoTranslated=({valueTranslate:e,uid:t,settingId:r})=>{if(!t||!c?.[r]?.id)return e;let i=getDynamicSourceLocales({val:e,settingId:createSettingId({id:c?.[r]?.id}),uid:t});return null!=i?String(i):e},getBackgroundTranslated=({background:e,enableTranslate:t,uid:r,pageContext:i,isTranslateVideo:n=!0})=>{if(!e)return{};if(!t||!r)return e;let l=a(e);for(let e in l){let t=l[e];if(t){if(t.image?.src){let n=getDynamicSourceLocales({val:t.image.src,uid:r,settingId:createSettingId({id:"background",suffix:`${e}_image_src`}),pageContext:i});t.image.src=String(n)}if(n){if("youtube"===t.videoType&&t.video){let n=getDynamicSourceLocales({val:t.video,uid:r,settingId:createSettingId({id:"background",suffix:`${e}_video`}),pageContext:i});t.video=String(n)}if("html5"===t.videoType&&t.videoHtml5){let n=getDynamicSourceLocales({val:t.videoHtml5,uid:r,settingId:createSettingId({id:"background",suffix:`${e}_videoHtml5`}),pageContext:i});t.videoHtml5=String(n)}}}}return l},extractProductID=e=>e.replace("gid://shopify/Product/","");export{REGEX_PAGE_TYPE,checkIsOpenPopup,checkIsScrollToTop,convertUnitToNumber,createSettingId,createTranslateKey,extractProductID,filterTruthyObject,filterTruthyStyles,getAllHrefFromString,getBackgroundTranslated,getDisplayStyle,getDynamicSourceLocales,getInsertLinkData,getLinkArticle,getLinkData,getSeoTranslated,getSettingPreloadData,getStaticLocale,handleClickLink,isEmptyObject,isHexTransparent,isLinkedToSalesPage,isShopifyDomain,isTransparentColor,isTransparentRGBA,normalizeMailto,replaceAllHrefFromString,replaceLinkData,youtubeShortsRegex};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import{template as e,sanitizeLiquid as t,dataStringify as s,RenderIf as i,isLocalEnv as r,baseAssetURL as a}from"@gem-sdk/core";import{getDynamicSourceLocales as o,getSettingPreloadData as c}from"../../../helpers.js";import{generateBadgeContent as p}from"./utils/generateLiquidContent.js";import{renderBadgeInFirstTime as n}from"./utils/renderBadgeLiquid.js";import{createClass as d,createStyle as l,createAttr as u,createStateOrContext as m}from"@gem-sdk/system";import{IS_LIQUID as g}from"./constants.js";import{getContainerStyle as y,getSubWrapperStyle as $,getContentStyleInternal as v,getTextBadgeWrapperStyles as f,getTextContentStyle as j,getImageContainerStyles as P}from"./common/styles.js";import{getContainerClasses as D,getWrapperClasses as V,getSubWrapperClass as S,getTextContainerClasses as b,getTextWrapperClasses as C,getTextContentClasses as I,getImageContainerClasses as T,getImageClasses as k}from"./common/classes.js";import{getSubWrapperAttrs as q,getContainerAttrs as A,getTextContentAttrs as B,getImageAttr as E}from"./common/attrs.js";import{ProductBadge as K}from"../../settings/product-badge/configs/translate.js";import{checkDiscountContentProductBadge as
|
|
1
|
+
import{template as e,sanitizeLiquid as t,dataStringify as s,RenderIf as i,isLocalEnv as r,baseAssetURL as a}from"@gem-sdk/core";import{getDynamicSourceLocales as o,getSettingPreloadData as c}from"../../../helpers.js";import{generateBadgeContent as p}from"./utils/generateLiquidContent.js";import{renderBadgeInFirstTime as n}from"./utils/renderBadgeLiquid.js";import{createClass as d,createStyle as l,createAttr as u,createStateOrContext as m}from"@gem-sdk/system";import{IS_LIQUID as g}from"./constants.js";import{getContainerStyle as y,getSubWrapperStyle as $,getContentStyleInternal as v,getTextBadgeWrapperStyles as f,getTextContentStyle as j,getImageContainerStyles as P}from"./common/styles.js";import{getContainerClasses as D,getWrapperClasses as V,getSubWrapperClass as S,getTextContainerClasses as b,getTextWrapperClasses as C,getTextContentClasses as I,getImageContainerClasses as T,getImageClasses as k}from"./common/classes.js";import{getSubWrapperAttrs as q,getContainerAttrs as A,getTextContentAttrs as B,getImageAttr as E}from"./common/attrs.js";import{ProductBadge as K}from"../../settings/product-badge/configs/translate.js";import{checkDiscountContentProductBadge as N}from"./utils/common.js";let ProductBadge=_=>{let{styles:h,setting:L,builderProps:O,pageContext:Q}=_,w=L?.shape!=="image",G=w&&L?.displayContent?.trim()==="",J=N(L?.displayContent),x=d({...D({isInstant:!1,props:_})}),M=l({...y(_,g)}),R=d({...V(_)}),Y=d({...S(_)}),z=l({...$({props:_})}),F=u({...q(_)}),H=v(_),U=d({...b()}),W=u({...A(_)}),X=d({...C()}),Z=l({...f({setting:L,styles:h})}),ee=d({...I(h)}),et=l({...j({setting:L,styles:h})}),es=u({...B()}),ei=d({...T()}),er=l({...P({setting:L,styles:h})}),ea=d({...k()}),eo=u({...E({setting:L})}),ec=m({minPrice:"{{ minPriceValue | replace: '\"', '\\\"' | escape }}",variantIDs:'{{ product.variants | map: "id" | json | escape }}',variantInventoryQuantities:'{{ product.variants | map: "inventory_quantity" | json | escape }}',amountDiscount:"{{amountDiscountValue | replace: '\"', '\\\"' | escape }}",percentDiscount:"{{percentDiscountValue}}",price:"{{price}}",displayTrigger:JSON.parse(JSON.stringify(L?.displayTrigger).replaceAll("'","'")),uid:_.builderProps?.uid,productCreatedAt:'{{product.created_at | date: "%Y-%m-%d" }}',productTags:"{{ product.tags | join: \",\" | replace: '\"', '\\\"' | escape }}",isTextBadge:w}),{displayContent:ep}=L??{},en=o({val:ep?.trim(),uid:O?.uid,settingId:K?.displayContent?.id,isLiquid:!0,pageContext:Q});return e`
|
|
2
2
|
{% if product %}
|
|
3
3
|
${p(en,Q?.isPreviewing)}
|
|
4
|
-
${n(
|
|
4
|
+
${n(L?.displayTrigger,!G,J)}
|
|
5
5
|
<gp-product-badge
|
|
6
6
|
${{...W}}
|
|
7
|
-
class="${x}"
|
|
7
|
+
class="${x} {{ className }}"
|
|
8
8
|
style="${M}"
|
|
9
9
|
data-display-content="${Q?.isPreviewing?en:t(`{{${en}}}`)}"
|
|
10
10
|
>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gem-sdk/components",
|
|
3
|
-
"version": "12.0.0-dev.
|
|
3
|
+
"version": "12.0.0-dev.41",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"i18n:generate": "node ./scripts/update-locales-to-setting.js"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@gem-sdk/core": "12.0.0-dev.
|
|
30
|
+
"@gem-sdk/core": "12.0.0-dev.41",
|
|
31
31
|
"@gem-sdk/styles": "12.0.0-dev.38",
|
|
32
32
|
"@gem-sdk/system": "12.0.0-dev.38",
|
|
33
33
|
"@types/react-transition-group": "^4.4.12",
|