@gem-sdk/components 12.0.0-dev.33 → 12.0.0-dev.36
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 +3 -3
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>g||p||n?.isPreviewing)return e??a;let u=createTranslateKey(t,r),d=`section.settings.${u}`;return(n?.isTranslateWithLocale&&(d=`'sections.${n.sectionName}.${u}_html' | t`),l&&(d+=" | replace: '$locationOrigin', locationOrigin"),s&&(d+=" | replace: '$max_size', '10MB'"),c&&(d+=" | replace: '<$quantity$>', inventory_quantity | replace: '<$quantity$>', inventory_quantity"),o&&(d=`${d} | downcase`),i)?d:`{{ ${d} }}`},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"}},
|
|
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>g||p||n?.isPreviewing)return e??a;let u=core.createTranslateKey(t,r,e?.toString()??a??""),d=`section.settings.${u}`;return(n?.isTranslateWithLocale&&(d=`'sections.${n.sectionName}.${u}_html' | t`),l&&(d+=" | replace: '$locationOrigin', locationOrigin"),s&&(d+=" | replace: '$max_size', '10MB'"),c&&(d+=" | replace: '<$quantity$>', inventory_quantity | replace: '<$quantity$>', inventory_quantity"),o&&(d=`${d} | downcase`),i)?d:`{{ ${d} }}`},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{createTranslateKey as e,DEVICES as t,globalEvent as r,cloneDeep as i}from"@gem-sdk/core";import n from"./link/components/Link.js";import{HeroBanner as l}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:t,uid:r,settingId:i,isLiquid:n,pageContext:l,isCapitalize:a,defaultVal:o="",isReplaceLocationOrigin:s,isReplaceMaxSize:c,isReplaceInventoryQuantity:g})=>{let p=new RegExp(/\{\{.*?\}\}|\{%.*?%\}/).test(t?.toString()??""),u=l?.isTranslateWithLocale?1e3:5e3;if(!i||!t?.toString().trim()||t.toString().length>u||p||l?.isPreviewing)return t??o;let f=e(r,i,t?.toString()??o??""),d=`section.settings.${f}`;return(l?.isTranslateWithLocale&&(d=`'sections.${l.sectionName}.${f}_html' | t`),s&&(d+=" | replace: '$locationOrigin', locationOrigin"),c&&(d+=" | replace: '$max_size', '10MB'"),g&&(d+=" | replace: '<$quantity$>', inventory_quantity | replace: '<$quantity$>', inventory_quantity"),a&&(d=`${d} | downcase`),n)?d:`{{ ${d} }}`},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:"],l=["product.url"],a=t?.link!==void 0&&""!==t.link,o=t?.link??"",s="/"===o,c=new RegExp(/^(?:https?:\/\/)?[\w.-]+\.[a-z]{2,}/i),g=a&&c.test(o);g&&(o=getHttpUrl(o)),a&&o.toLowerCase().startsWith("mailto:")&&o.includes("+")&&(o=normalizeMailto(o));let p=()=>!!(i.find(e=>o.startsWith(e))||l.find(e=>o.includes(e))),u=g||isShopifyDomain(a,o)||p()||s||isLinkedToSalesPage(t?.type);(isShopifyDomain(a,o)||s)&&(o=t?.isTranslate?"$locationOrigin"+o:"{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}"+o);let f=u?t?.isLiquid?"a":n:e,d={href:o,target:t?.target,...t?.noFollow&&{rel:"nofollow"}},m=u?d:a?{...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:l=!1})=>{let a=["product.url"],o=["#","mailto:","tel:"],s=e?.link??"",c="/"===s,g=e?.link!==void 0&&""!==e.link,p=new RegExp(/^https?:\/\//i),u=g&&p.test(s);g&&s.toLowerCase().startsWith("mailto:")&&s.includes("+")&&(s=normalizeMailto(s));let f=()=>!!(a.find(e=>s.includes(e))||o.find(e=>s.startsWith(e))),d=l&&(u||isShopifyDomain(g,s)||f()||c||isLinkedToSalesPage(e?.type)),m=s;i&&(isShopifyDomain(g,s)||c)&&(m=e?.isTranslate?"$locationOrigin"+s:"{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}"+s);let h=d?i?"a":n:r,y={href:m,target:e?.target,...e?.noFollow&&{rel:"nofollow"}},S=d?y:g?{...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,r)=>{let i={};return t.forEach(t=>{i={...i,[`--d${"desktop"===t?"":`-${t}`}`]:`${e(t)?"none":r}`}}),i},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-","#");r.dispatch("onOpenDialog",{popupUId:t});return}e?.link?.startsWith("#")&&r.dispatch("onOpenDialog",{popupUId:e?.link})}},getSeoTranslated=({valueTranslate:e,uid:t,settingId:r})=>{if(!t||!l?.[r]?.id)return e;let i=getDynamicSourceLocales({val:e,settingId:createSettingId({id:l?.[r]?.id}),uid:t});return null!=i?String(i):e},getBackgroundTranslated=({background:e,enableTranslate:t,uid:r,pageContext:n,isTranslateVideo:l=!0})=>{if(!e)return{};if(!t||!r)return e;let a=i(e);for(let e in a){let t=a[e];if(t){if(t.image?.src){let i=getDynamicSourceLocales({val:t.image.src,uid:r,settingId:createSettingId({id:"background",suffix:`${e}_image_src`}),pageContext:n});t.image.src=String(i)}if(l){if("youtube"===t.videoType&&t.video){let i=getDynamicSourceLocales({val:t.video,uid:r,settingId:createSettingId({id:"background",suffix:`${e}_video`}),pageContext:n});t.video=String(i)}if("html5"===t.videoType&&t.videoHtml5){let i=getDynamicSourceLocales({val:t.videoHtml5,uid:r,settingId:createSettingId({id:"background",suffix:`${e}_videoHtml5`}),pageContext:n});t.videoHtml5=String(i)}}}}return a},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};
|
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.36",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -27,9 +27,9 @@
|
|
|
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.36",
|
|
31
31
|
"@gem-sdk/styles": "12.0.0-dev.29",
|
|
32
|
-
"@gem-sdk/system": "12.0.0-dev.
|
|
32
|
+
"@gem-sdk/system": "12.0.0-dev.35",
|
|
33
33
|
"@types/react-transition-group": "^4.4.12",
|
|
34
34
|
"tsup": "8.5.1",
|
|
35
35
|
"postcss-import": "16.1.1",
|