@gem-sdk/components 17.0.0-dev.111 → 17.0.0-dev.113
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 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;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@gem-sdk/core"),s=require("../../../common/components/NoDataState.js"),l=require("../../../common/components/TooltipHover.js"),i=require("../../../text/components/Text.js"),
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@gem-sdk/core"),s=require("../../../common/components/NoDataState.js"),l=require("../../../common/components/TooltipHover.js"),i=require("../../../text/components/Text.js"),r=require("@gem-sdk/system"),a=require("./common/styles.js"),o=require("./common/classes.js"),n=require("./hooks/useGpDiscountTag.js");exports.default=({setting:d,styles:u,builderProps:c,...p})=>{let{customContent:x}=d??{},m=p["bundle-item"],{textAlign:y}=u??{},{t:f}=t.useI18nStore(),{mode:g,product:j,salePrice:b,priceSave:h,currentProductId:q,unitCustomDisplay:C,shouldPlaceholderNoDiscount:S}=n.useGpDiscountTag({setting:d,styles:u,builderProps:c,...p});if(S)return e.jsx(l.default,{enable:!0,text:f("Not be displayed when published"),position:"bottom",width:"205px",children:e.jsx(s.default,{builderAttrs:c?.builderData,elementType:"secondary",description:f("No discount"),rawMode:!0,customClass:"!gp-p-[5px]"})});let v=r.createStyle(a.getWrapperTextStyle(u)),N=r.createStyle(a.getContainerStyle(u)),T=r.createClass(o.getWrapperTextClass(u)),k=r.createClass(o.getContainerClass()),D=r.createClass(o.getRootClass({mode:g,salePrice:b,priceSave:h,bundleItem:m}));return e.jsx("div",{className:D,style:{...t.makeStyleResponsive("ta",y)},id:`shopify-text-element-${c?.uid}`,"data-id":c?.uid,"data-product-id":q,"gp-data-hidden":"false",children:r.If(!j," ",e.jsx("div",{className:k,style:N,children:e.jsx("div",{className:T,style:v,children:e.jsxs("div",{className:"gp-flex gp-break-all gp-items-center",children:[e.jsx(i.default,{styles:u,setting:{...d,text:x?.prefix?.replaceAll(" "," "),options:{useState:!0,uniqueId:`${c?.uid}-prefix`},excludeFlex:!0}}),e.jsx(i.default,{styles:u,setting:{...d,text:C,options:{isCannotEditing:!0},excludeFlex:!0}}),e.jsx(i.default,{styles:u,setting:{...d,text:x?.suffix?.replaceAll(" "," "),excludeFlex:!0,options:{useState:!0,uniqueId:`${c?.uid}-suffix`}}})]})})}))})};
|
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};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useI18nStore as s,makeStyleResponsive as o}from"@gem-sdk/core";import i from"../../../common/components/NoDataState.js";import l from"../../../common/components/TooltipHover.js";import r from"../../../text/components/Text.js";import{createStyle as d,createClass as m,If as n}from"@gem-sdk/system";import{getWrapperTextStyle as a,getContainerStyle as p}from"./common/styles.js";import{getWrapperTextClass as c,getContainerClass as u,getRootClass as x}from"./common/classes.js";import{useGpDiscountTag as f}from"./hooks/useGpDiscountTag.js";let g=({setting:g,styles:y,builderProps:h,...b})=>{let{customContent:j}=g??{},N=b["bundle-item"],{textAlign:v}=y??{},{t:T}=s(),{mode:k,product:w,salePrice:A,priceSave:D,currentProductId:F,unitCustomDisplay:S,shouldPlaceholderNoDiscount:$}=f({setting:g,styles:y,builderProps:h,...b});if($)return e(l,{enable:!0,text:T("Not be displayed when published"),position:"bottom",width:"205px",children:e(i,{builderAttrs:h?.builderData,elementType:"secondary",description:T("No discount"),rawMode:!0,customClass:"!gp-p-[5px]"})});let q=d(a(y)),C=d(p(y)),I=m(c(y)),E=m(u()),G=m(x({mode:k,salePrice:A,priceSave:D,bundleItem:N}));return e("div",{className:G,style:{...o("ta",v)},id:`shopify-text-element-${h?.uid}`,"data-id":h?.uid,"data-product-id":F,"gp-data-hidden":"false",children:n(!w," ",e("div",{className:E,style:C,children:e("div",{className:I,style:q,children:t("div",{className:"gp-flex gp-break-all",children:[e(r,{styles:y,setting:{...g,text:j?.prefix?.replaceAll(" "," "),options:{useState:!0,uniqueId:`${h?.uid}-prefix`},excludeFlex:!0}}),e(r,{styles:y,setting:{...g,text:S,options:{isCannotEditing:!0},excludeFlex:!0}}),e(r,{styles:y,setting:{...g,text:j?.suffix?.replaceAll(" "," "),excludeFlex:!0,options:{useState:!0,uniqueId:`${h?.uid}-suffix`}}})]})})}))})};export{g as default};
|
|
2
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useI18nStore as s,makeStyleResponsive as o}from"@gem-sdk/core";import i from"../../../common/components/NoDataState.js";import l from"../../../common/components/TooltipHover.js";import r from"../../../text/components/Text.js";import{createStyle as d,createClass as m,If as n}from"@gem-sdk/system";import{getWrapperTextStyle as a,getContainerStyle as p}from"./common/styles.js";import{getWrapperTextClass as c,getContainerClass as u,getRootClass as x}from"./common/classes.js";import{useGpDiscountTag as f}from"./hooks/useGpDiscountTag.js";let g=({setting:g,styles:y,builderProps:h,...b})=>{let{customContent:j}=g??{},N=b["bundle-item"],{textAlign:v}=y??{},{t:T}=s(),{mode:k,product:w,salePrice:A,priceSave:D,currentProductId:F,unitCustomDisplay:S,shouldPlaceholderNoDiscount:$}=f({setting:g,styles:y,builderProps:h,...b});if($)return e(l,{enable:!0,text:T("Not be displayed when published"),position:"bottom",width:"205px",children:e(i,{builderAttrs:h?.builderData,elementType:"secondary",description:T("No discount"),rawMode:!0,customClass:"!gp-p-[5px]"})});let q=d(a(y)),C=d(p(y)),I=m(c(y)),E=m(u()),G=m(x({mode:k,salePrice:A,priceSave:D,bundleItem:N}));return e("div",{className:G,style:{...o("ta",v)},id:`shopify-text-element-${h?.uid}`,"data-id":h?.uid,"data-product-id":F,"gp-data-hidden":"false",children:n(!w," ",e("div",{className:E,style:C,children:e("div",{className:I,style:q,children:t("div",{className:"gp-flex gp-break-all gp-items-center",children:[e(r,{styles:y,setting:{...g,text:j?.prefix?.replaceAll(" "," "),options:{useState:!0,uniqueId:`${h?.uid}-prefix`},excludeFlex:!0}}),e(r,{styles:y,setting:{...g,text:S,options:{isCannotEditing:!0},excludeFlex:!0}}),e(r,{styles:y,setting:{...g,text:j?.suffix?.replaceAll(" "," "),excludeFlex:!0,options:{useState:!0,uniqueId:`${h?.uid}-suffix`}}})]})})}))})};export{g as default};
|