@gem-sdk/components 17.0.0-dev.111 → 17.0.0-dev.112
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 +1 -1
- package/dist/esm/helpers.js +1 -1
- package/package.json +1 -1
package/dist/cjs/helpers.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@gem-sdk/core"),t=require("./link/components/Link.js"),r=require("./hero-banner/settings/configs/translate.js");const i=new RegExp(/^\/?(?:collections|pages|products|blogs|checkout|cart|policies)\/?/i),o=(e,t)=>{let r=new RegExp(/^https?:\/\//i);return e&&!r.test(t)&&i.test(t)},n=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]},l=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),o=t?255&i:void 0;return 0===o||!!o},s=(e,t)=>`g${e}_${t}`,a=({id:e,index:t,suffix:r})=>e?"number"==typeof t&&t>=0?`${e}_${t}`:r?`${e}_${r}`:e:"",p=({val:t,uid:r,settingId:i,isLiquid:o,pageContext:n,isCapitalize:l,defaultVal:a="",isReplaceLocationOrigin:p,isReplaceMaxSize:c,isReplaceInventoryQuantity:u})=>{let g;let f=new RegExp(/\{\{.*?\}\}|\{%.*?%\}/).test(t?.toString()??""),d=n?.mode===e.SectionMode.GLOBAL,h=n?.schema??"",x=n?.isTranslateWithLocale?1e3:5e3;if(!i||!t?.toString().trim()||t.toString().length>x||f||n?.isPreviewing)return t??a;let m=`section.settings.${g=d?e.getThemeSectionTranslateKey({uid:r,settingId:i,schema:h,value:t?.toString()??a??""}):s(r,i)}`;return(n?.isTranslateWithLocale&&(m=`'sections.${n.sectionName}.${g}_html' | t`),p&&(m+=" | replace: '$locationOrigin', locationOrigin"),c&&(m+=" | replace: '$max_size', '10MB'"),u&&(m+=" | replace: '<$quantity$>', inventory_quantity | replace: '<$quantity$>', inventory_quantity"),l&&(m=`${m} | downcase`),o)?m:d?e.replaceOuterTagContent(t?.toString()??a??"",void 0,`{{ ${m} }}`):`{{ ${m} }}`},c=e=>e?e.match(/^https?:\/\//i)?e:`http://${e}`:"";function u(e){if(e.startsWith("mailto:")){let[t,r]=e.split("?");if(r){let i=r.replace(/\+/g,"%20");e=`${t}?${i}`}}return e}const g=(e,r,i)=>{let n=r?.link!==void 0&&""!==r.link,l=r?.link??"",s="/"===l,a=new RegExp(/^(?:https?:\/\/)?[\w.-]+\.[a-z]{2,}/i),p=n&&a.test(l);p&&(l=c(l)),n&&l.toLowerCase().startsWith("mailto:")&&l.includes("+")&&(l=u(l));let g=p||o(n,l)||!!(["#","mailto:","tel:"].find(e=>l.startsWith(e))||["product.url"].find(e=>l.includes(e)))||s||f(r?.type);(o(n,l)||s)&&(l=r?.isTranslate?"$locationOrigin"+l:"{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}"+l);let d=g?r?.isLiquid?"a":t.default:e,h={href:l,target:r?.target,...r?.noFollow&&{rel:"nofollow"}},x=g?h:n?{...h,type:i}:{type:i};return{Wrap:d,urlData:x,shouldRenderLink:g}},f=e=>"go-to-sales-page"===e,d=e=>e?.type==="scroll-to"&&e?.link==="#scroll-to-top",h=e=>e?.type==="open-popup"&&e?.link?.startsWith("#el-"),x=e=>e?.type==="open-page"&&!!e?.link;exports.REGEX_PAGE_TYPE=i,exports.checkIsOpenPage=x,exports.checkIsOpenPopup=h,exports.checkIsScrollToTop=d,exports.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)},exports.createSettingId=a,exports.createTranslateKey=s,exports.extractProductID=e=>e.replace("gid://shopify/Product/",""),exports.filterPageContext=e=>{if(!e)return;let{schema:t,mode:r,...i}=e;return i},exports.filterTruthyObject=function(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>!!e))},exports.filterTruthyStyles=function(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>!!e))},exports.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},exports.getBackgroundTranslated=({background:t,enableTranslate:r,uid:i,pageContext:o,isTranslateVideo:n=!0})=>{if(!t)return{};if(!r||!i||o?.isPreviewing)return t;let l=e.cloneDeep(t);for(let e in l){let t=l[e];if(t){if(t.image?.src){let r=p({val:t.image.src,uid:i,settingId:a({id:"background",suffix:`${e}_image_src`}),pageContext:o});t.image.src=String(r)}if(n){if("youtube"===t.videoType&&t.video){let r=p({val:t.video,uid:i,settingId:a({id:"background",suffix:`${e}_video`}),pageContext:o});t.video=String(r)}if("html5"===t.videoType&&t.videoHtml5){let r=p({val:t.videoHtml5,uid:i,settingId:a({id:"background",suffix:`${e}_videoHtml5`}),pageContext:o});t.videoHtml5=String(r)}}}}return l},exports.getDisplayStyle=(t,r)=>{let i={};return e.DEVICES.forEach(e=>{i={...i,[`--d${"desktop"===e?"":`-${e}`}`]:`${t(e)?"none":r}`}}),i},exports.getDynamicSourceLocales=p,exports.getInsertLinkData=g,exports.getLinkArticle=(e,t)=>"scroll-to"==e?t?.link:"{{article.url}}",exports.getLinkData=({setting:e,htmlType:r,defaultWrap:i,isLiquid:n=!1,enableImageLink:l=!1})=>{let s=e?.link??"",a="/"===s,p=e?.link!==void 0&&""!==e.link,c=new RegExp(/^https?:\/\//i),g=p&&c.test(s);p&&s.toLowerCase().startsWith("mailto:")&&s.includes("+")&&(s=u(s));let d=l&&(g||o(p,s)||!!(["product.url"].find(e=>s.includes(e))||["#","mailto:","tel:"].find(e=>s.startsWith(e)))||a||f(e?.type)),h=s;n&&(o(p,s)||a)&&(h=e?.isTranslate?"$locationOrigin"+s:"{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}"+s);let x=d?n?"a":t.default:i,m={href:h,target:e?.target,...e?.noFollow&&{rel:"nofollow"}},$=d?m:p?{...m,type:r}:{type:r};return{Wrapper:x,urlData:$,shouldRenderLink:d}},exports.getSeoTranslated=({valueTranslate:e,uid:t,settingId:i,pageContext:o})=>{if(!t||!r.HeroBanner?.[i]?.id)return e;let n=p({val:e,settingId:a({id:r.HeroBanner?.[i]?.id}),uid:t,pageContext:o});return null!=n?String(n):e},exports.getSettingPreloadData=(e,t)=>`{% if section.settings.section_preload ==
|
|
1
|
+
"use strict";var e=require("@gem-sdk/core"),t=require("./link/components/Link.js"),r=require("./hero-banner/settings/configs/translate.js");const i=new RegExp(/^\/?(?:collections|pages|products|blogs|checkout|cart|policies)\/?/i),o=(e,t)=>{let r=new RegExp(/^https?:\/\//i);return e&&!r.test(t)&&i.test(t)},n=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]},l=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),o=t?255&i:void 0;return 0===o||!!o},s=(e,t)=>`g${e}_${t}`,a=({id:e,index:t,suffix:r})=>e?"number"==typeof t&&t>=0?`${e}_${t}`:r?`${e}_${r}`:e:"",p=({val:t,uid:r,settingId:i,isLiquid:o,pageContext:n,isCapitalize:l,defaultVal:a="",isReplaceLocationOrigin:p,isReplaceMaxSize:c,isReplaceInventoryQuantity:u})=>{let g;let f=new RegExp(/\{\{.*?\}\}|\{%.*?%\}/).test(t?.toString()??""),d=n?.mode===e.SectionMode.GLOBAL,h=n?.schema??"",x=n?.isTranslateWithLocale?1e3:5e3;if(!i||!t?.toString().trim()||t.toString().length>x||f||n?.isPreviewing)return t??a;let m=`section.settings.${g=d?e.getThemeSectionTranslateKey({uid:r,settingId:i,schema:h,value:t?.toString()??a??""}):s(r,i)}`;return(n?.isTranslateWithLocale&&(m=`'sections.${n.sectionName}.${g}_html' | t`),p&&(m+=" | replace: '$locationOrigin', locationOrigin"),c&&(m+=" | replace: '$max_size', '10MB'"),u&&(m+=" | replace: '<$quantity$>', inventory_quantity | replace: '<$quantity$>', inventory_quantity"),l&&(m=`${m} | downcase`),o)?m:d?e.replaceOuterTagContent(t?.toString()??a??"",void 0,`{{ ${m} }}`):`{{ ${m} }}`},c=e=>e?e.match(/^https?:\/\//i)?e:`http://${e}`:"";function u(e){if(e.startsWith("mailto:")){let[t,r]=e.split("?");if(r){let i=r.replace(/\+/g,"%20");e=`${t}?${i}`}}return e}const g=(e,r,i)=>{let n=r?.link!==void 0&&""!==r.link,l=r?.link??"",s="/"===l,a=new RegExp(/^(?:https?:\/\/)?[\w.-]+\.[a-z]{2,}/i),p=n&&a.test(l);p&&(l=c(l)),n&&l.toLowerCase().startsWith("mailto:")&&l.includes("+")&&(l=u(l));let g=p||o(n,l)||!!(["#","mailto:","tel:"].find(e=>l.startsWith(e))||["product.url"].find(e=>l.includes(e)))||s||f(r?.type);(o(n,l)||s)&&(l=r?.isTranslate?"$locationOrigin"+l:"{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}"+l);let d=g?r?.isLiquid?"a":t.default:e,h={href:l,target:r?.target,...r?.noFollow&&{rel:"nofollow"}},x=g?h:n?{...h,type:i}:{type:i};return{Wrap:d,urlData:x,shouldRenderLink:g}},f=e=>"go-to-sales-page"===e,d=e=>e?.type==="scroll-to"&&e?.link==="#scroll-to-top",h=e=>e?.type==="open-popup"&&e?.link?.startsWith("#el-"),x=e=>e?.type==="open-page"&&!!e?.link;exports.REGEX_PAGE_TYPE=i,exports.checkIsOpenPage=x,exports.checkIsOpenPopup=h,exports.checkIsScrollToTop=d,exports.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)},exports.createSettingId=a,exports.createTranslateKey=s,exports.extractProductID=e=>e.replace("gid://shopify/Product/",""),exports.filterPageContext=e=>{if(!e)return;let{schema:t,mode:r,...i}=e;return i},exports.filterTruthyObject=function(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>!!e))},exports.filterTruthyStyles=function(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>!!e))},exports.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},exports.getBackgroundTranslated=({background:t,enableTranslate:r,uid:i,pageContext:o,isTranslateVideo:n=!0})=>{if(!t)return{};if(!r||!i||o?.isPreviewing)return t;let l=e.cloneDeep(t);for(let e in l){let t=l[e];if(t){if(t.image?.src){let r=p({val:t.image.src,uid:i,settingId:a({id:"background",suffix:`${e}_image_src`}),pageContext:o});t.image.src=String(r)}if(n){if("youtube"===t.videoType&&t.video){let r=p({val:t.video,uid:i,settingId:a({id:"background",suffix:`${e}_video`}),pageContext:o});t.video=String(r)}if("html5"===t.videoType&&t.videoHtml5){let r=p({val:t.videoHtml5,uid:i,settingId:a({id:"background",suffix:`${e}_videoHtml5`}),pageContext:o});t.videoHtml5=String(r)}}}}return l},exports.getDisplayStyle=(t,r)=>{let i={};return e.DEVICES.forEach(e=>{i={...i,[`--d${"desktop"===e?"":`-${e}`}`]:`${t(e)?"none":r}`}}),i},exports.getDynamicSourceLocales=p,exports.getInsertLinkData=g,exports.getLinkArticle=(e,t)=>"scroll-to"==e?t?.link:"{{article.url}}",exports.getLinkData=({setting:e,htmlType:r,defaultWrap:i,isLiquid:n=!1,enableImageLink:l=!1})=>{let s=e?.link??"",a="/"===s,p=e?.link!==void 0&&""!==e.link,c=new RegExp(/^https?:\/\//i),g=p&&c.test(s);p&&s.toLowerCase().startsWith("mailto:")&&s.includes("+")&&(s=u(s));let d=l&&(g||o(p,s)||!!(["product.url"].find(e=>s.includes(e))||["#","mailto:","tel:"].find(e=>s.startsWith(e)))||a||f(e?.type)),h=s;n&&(o(p,s)||a)&&(h=e?.isTranslate?"$locationOrigin"+s:"{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}"+s);let x=d?n?"a":t.default:i,m={href:h,target:e?.target,...e?.noFollow&&{rel:"nofollow"}},$=d?m:p?{...m,type:r}:{type:r};return{Wrapper:x,urlData:$,shouldRenderLink:d}},exports.getSeoTranslated=({valueTranslate:e,uid:t,settingId:i,pageContext:o})=>{if(!t||!r.HeroBanner?.[i]?.id)return e;let n=p({val:e,settingId:a({id:r.HeroBanner?.[i]?.id}),uid:t,pageContext:o});return null!=n?String(n):e},exports.getSettingPreloadData=(e,t)=>`{% if section.settings.section_preload == 'false' %}${e} ${t?`{% else %}${t}`:""}{% endif %}`,exports.getStaticLocale=(e,t)=>`{{ 'gempages.${e}.${t}' | t }}`,exports.handleClickLink=(t,r)=>{if("edit"!==r){if(d(t)){window.scrollTo({top:0,behavior:"smooth"});return}if(x(t)){window.open(t?.link,t?.target,t?.noFollow?"nofollow":void 0);return}if(h(t)){let r=t?.link?.replace("#el-","#");e.globalEvent.dispatch("onOpenDialog",{popupUId:r});return}t?.link?.startsWith("#")&&e.globalEvent.dispatch("onOpenDialog",{popupUId:t?.link})}},exports.isEmptyObject=function(e){return 0===Object.keys(e).length&&"object"==typeof e},exports.isHexTransparent=l,exports.isLinkedToSalesPage=f,exports.isShopifyDomain=o,exports.isTransparentColor=e=>!!e&&(e.startsWith("#")?l(e):e.startsWith("rgb")?n(e):"transparent"==e),exports.isTransparentRGBA=n,exports.normalizeMailto=u,exports.replaceAllHrefFromString=(e,t)=>{let r;if(!e)return"";let i=/href="([^"]*)"/g,o=0;for(;null!==(r=i.exec(e));)r[1]&&(e=e.replace(r[1],t[o]??""),o++);return e},exports.replaceLinkData=(e,t)=>{if(e&&/<a\s[^>]*>.*?<\/a>/.test(e)){let r;let i=/<a\s+(?:[^>]*?\s+)?href=["']([^"']*)["'](?:\s+[^>]*?)?(?:target=["']([^"']*)["'])?.*?>.*?<\/a>/gi,o=e.toString();for(;null!==(r=i.exec(o));){let e=r[1],{urlData:i}=g("",{link:e,isTranslate:t});o=o.replace(r[0],r[0].replace(/(href=['"])([^'"]*)(['"])/i,`$1${i.href}$3`))}return o}return e},exports.youtubeShortsRegex=/^(?:https?:\/\/)?(?:www\.)?youtube\.com\/shorts\/([^"&?/\s]{11})$/i;
|
package/dist/esm/helpers.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{globalEvent as e,getThemeSectionTranslateKey as t,replaceOuterTagContent as r,SectionMode as i,cloneDeep as l,DEVICES as n}from"@gem-sdk/core";import o from"./link/components/Link.js";import{HeroBanner as a}from"./hero-banner/settings/configs/translate.js";let s=new RegExp(/^\/?(?:collections|pages|products|blogs|checkout|cart|policies)\/?/i),c=(e,t)=>{let r=new RegExp(/^https?:\/\//i);return e&&!r.test(t)&&s.test(t)},p=(e,t)=>"scroll-to"==e?t?.link:"{{article.url}}",u=e=>!!e&&(e.startsWith("#")?f(e):e.startsWith("rgb")?g(e):"transparent"==e),g=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]},f=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),l=t?255&i:void 0;return 0===l||!!l},d=/^(?:https?:\/\/)?(?:www\.)?youtube\.com\/shorts\/([^"&?/\s]{11})$/i,h=(e,t)=>`g${e}_${t}`,m=({id:e,index:t,suffix:r})=>e?"number"==typeof t&&t>=0?`${e}_${t}`:r?`${e}_${r}`:e:"",$=({val:e,uid:l,settingId:n,isLiquid:o,pageContext:a,isCapitalize:s,defaultVal:c="",isReplaceLocationOrigin:p,isReplaceMaxSize:u,isReplaceInventoryQuantity:g})=>{let f;let d=new RegExp(/\{\{.*?\}\}|\{%.*?%\}/).test(e?.toString()??""),m=a?.mode===i.GLOBAL,$=a?.schema??"",k=a?.isTranslateWithLocale?1e3:5e3;if(!n||!e?.toString().trim()||e.toString().length>k||d||a?.isPreviewing)return e??c;let y=`section.settings.${f=m?t({uid:l,settingId:n,schema:$,value:e?.toString()??c??""}):h(l,n)}`;return(a?.isTranslateWithLocale&&(y=`'sections.${a.sectionName}.${f}_html' | t`),p&&(y+=" | replace: '$locationOrigin', locationOrigin"),u&&(y+=" | replace: '$max_size', '10MB'"),g&&(y+=" | replace: '<$quantity$>', inventory_quantity | replace: '<$quantity$>', inventory_quantity"),s&&(y=`${y} | downcase`),o)?y:m?r(e?.toString()??c??"",void 0,`{{ ${y} }}`):`{{ ${y} }}`},k=(e,t)=>`{{ 'gempages.${e}.${t}' | t }}`,y=(e,t)=>`{% if section.settings.section_preload ==
|
|
1
|
+
import{globalEvent as e,getThemeSectionTranslateKey as t,replaceOuterTagContent as r,SectionMode as i,cloneDeep as l,DEVICES as n}from"@gem-sdk/core";import o from"./link/components/Link.js";import{HeroBanner as a}from"./hero-banner/settings/configs/translate.js";let s=new RegExp(/^\/?(?:collections|pages|products|blogs|checkout|cart|policies)\/?/i),c=(e,t)=>{let r=new RegExp(/^https?:\/\//i);return e&&!r.test(t)&&s.test(t)},p=(e,t)=>"scroll-to"==e?t?.link:"{{article.url}}",u=e=>!!e&&(e.startsWith("#")?f(e):e.startsWith("rgb")?g(e):"transparent"==e),g=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]},f=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),l=t?255&i:void 0;return 0===l||!!l},d=/^(?:https?:\/\/)?(?:www\.)?youtube\.com\/shorts\/([^"&?/\s]{11})$/i,h=(e,t)=>`g${e}_${t}`,m=({id:e,index:t,suffix:r})=>e?"number"==typeof t&&t>=0?`${e}_${t}`:r?`${e}_${r}`:e:"",$=({val:e,uid:l,settingId:n,isLiquid:o,pageContext:a,isCapitalize:s,defaultVal:c="",isReplaceLocationOrigin:p,isReplaceMaxSize:u,isReplaceInventoryQuantity:g})=>{let f;let d=new RegExp(/\{\{.*?\}\}|\{%.*?%\}/).test(e?.toString()??""),m=a?.mode===i.GLOBAL,$=a?.schema??"",k=a?.isTranslateWithLocale?1e3:5e3;if(!n||!e?.toString().trim()||e.toString().length>k||d||a?.isPreviewing)return e??c;let y=`section.settings.${f=m?t({uid:l,settingId:n,schema:$,value:e?.toString()??c??""}):h(l,n)}`;return(a?.isTranslateWithLocale&&(y=`'sections.${a.sectionName}.${f}_html' | t`),p&&(y+=" | replace: '$locationOrigin', locationOrigin"),u&&(y+=" | replace: '$max_size', '10MB'"),g&&(y+=" | replace: '<$quantity$>', inventory_quantity | replace: '<$quantity$>', inventory_quantity"),s&&(y=`${y} | downcase`),o)?y:m?r(e?.toString()??c??"",void 0,`{{ ${y} }}`):`{{ ${y} }}`},k=(e,t)=>`{{ 'gempages.${e}.${t}' | t }}`,y=(e,t)=>`{% if section.settings.section_preload == 'false' %}${e} ${t?`{% else %}${t}`:""}{% endif %}`,v=e=>e?e.match(/^https?:\/\//i)?e:`http://${e}`:"";function b(e){if(e.startsWith("mailto:")){let[t,r]=e.split("?");if(r){let i=r.replace(/\+/g,"%20");e=`${t}?${i}`}}return e}let w=(e,t,r)=>{let i=t?.link!==void 0&&""!==t.link,l=t?.link??"",n="/"===l,a=new RegExp(/^(?:https?:\/\/)?[\w.-]+\.[a-z]{2,}/i),s=i&&a.test(l);s&&(l=v(l)),i&&l.toLowerCase().startsWith("mailto:")&&l.includes("+")&&(l=b(l));let p=s||c(i,l)||!!(["#","mailto:","tel:"].find(e=>l.startsWith(e))||["product.url"].find(e=>l.includes(e)))||n||S(t?.type);(c(i,l)||n)&&(l=t?.isTranslate?"$locationOrigin"+l:"{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}"+l);let u=p?t?.isLiquid?"a":o:e,g={href:l,target:t?.target,...t?.noFollow&&{rel:"nofollow"}},f=p?g:i?{...g,type:r}:{type:r};return{Wrap:u,urlData:f,shouldRenderLink:p}},S=e=>"go-to-sales-page"===e,T=e=>e?.type==="scroll-to"&&e?.link==="#scroll-to-top",x=e=>e?.type==="open-popup"&&e?.link?.startsWith("#el-"),L=e=>e?.type==="open-page"&&!!e?.link,O=({setting:e,htmlType:t,defaultWrap:r,isLiquid:i=!1,enableImageLink:l=!1})=>{let n=e?.link??"",a="/"===n,s=e?.link!==void 0&&""!==e.link,p=new RegExp(/^https?:\/\//i),u=s&&p.test(n);s&&n.toLowerCase().startsWith("mailto:")&&n.includes("+")&&(n=b(n));let g=l&&(u||c(s,n)||!!(["product.url"].find(e=>n.includes(e))||["#","mailto:","tel:"].find(e=>n.startsWith(e)))||a||S(e?.type)),f=n;i&&(c(s,n)||a)&&(f=e?.isTranslate?"$locationOrigin"+n:"{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}"+n);let d={href:f,target:e?.target,...e?.noFollow&&{rel:"nofollow"}},h=g?d:s?{...d,type:t}:{type:t};return{Wrapper:g?i?"a":o:r,urlData:h,shouldRenderLink:g}},_=(e,t)=>{if(e&&/<a\s[^>]*>.*?<\/a>/.test(e)){let r;let i=/<a\s+(?:[^>]*?\s+)?href=["']([^"']*)["'](?:\s+[^>]*?)?(?:target=["']([^"']*)["'])?.*?>.*?<\/a>/gi,l=e.toString();for(;null!==(r=i.exec(l));){let e=r[1],{urlData:i}=w("",{link:e,isTranslate:t});l=l.replace(r[0],r[0].replace(/(href=['"])([^'"]*)(['"])/i,`$1${i.href}$3`))}return l}return e};function j(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>!!e))}function E(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>!!e))}let W=(e,t)=>{let r={};return n.forEach(i=>{r={...r,[`--d${"desktop"===i?"":`-${i}`}`]:`${e(i)?"none":t}`}}),r},I=(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)},P=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},A=(e,t)=>{let r;if(!e)return"";let i=/href="([^"]*)"/g,l=0;for(;null!==(r=i.exec(e));)r[1]&&(e=e.replace(r[1],t[l]??""),l++);return e};function D(e){return 0===Object.keys(e).length&&"object"==typeof e}let N=(t,r)=>{if("edit"!==r){if(T(t)){window.scrollTo({top:0,behavior:"smooth"});return}if(L(t)){window.open(t?.link,t?.target,t?.noFollow?"nofollow":void 0);return}if(x(t)){let r=t?.link?.replace("#el-","#");e.dispatch("onOpenDialog",{popupUId:r});return}t?.link?.startsWith("#")&&e.dispatch("onOpenDialog",{popupUId:t?.link})}},R=({valueTranslate:e,uid:t,settingId:r,pageContext:i})=>{if(!t||!a?.[r]?.id)return e;let l=$({val:e,settingId:m({id:a?.[r]?.id}),uid:t,pageContext:i});return null!=l?String(l):e},q=({background:e,enableTranslate:t,uid:r,pageContext:i,isTranslateVideo:n=!0})=>{if(!e)return{};if(!t||!r||i?.isPreviewing)return e;let o=l(e);for(let e in o){let t=o[e];if(t){if(t.image?.src){let l=$({val:t.image.src,uid:r,settingId:m({id:"background",suffix:`${e}_image_src`}),pageContext:i});t.image.src=String(l)}if(n){if("youtube"===t.videoType&&t.video){let l=$({val:t.video,uid:r,settingId:m({id:"background",suffix:`${e}_video`}),pageContext:i});t.video=String(l)}if("html5"===t.videoType&&t.videoHtml5){let l=$({val:t.videoHtml5,uid:r,settingId:m({id:"background",suffix:`${e}_videoHtml5`}),pageContext:i});t.videoHtml5=String(l)}}}}return o},H=e=>e.replace("gid://shopify/Product/",""),C=e=>{if(!e)return;let{schema:t,mode:r,...i}=e;return i};export{s as REGEX_PAGE_TYPE,L as checkIsOpenPage,x as checkIsOpenPopup,T as checkIsScrollToTop,I as convertUnitToNumber,m as createSettingId,h as createTranslateKey,H as extractProductID,C as filterPageContext,E as filterTruthyObject,j as filterTruthyStyles,P as getAllHrefFromString,q as getBackgroundTranslated,W as getDisplayStyle,$ as getDynamicSourceLocales,w as getInsertLinkData,p as getLinkArticle,O as getLinkData,R as getSeoTranslated,y as getSettingPreloadData,k as getStaticLocale,N as handleClickLink,D as isEmptyObject,f as isHexTransparent,S as isLinkedToSalesPage,c as isShopifyDomain,u as isTransparentColor,g as isTransparentRGBA,b as normalizeMailto,A as replaceAllHrefFromString,_ as replaceLinkData,d as youtubeShortsRegex};
|