@gem-sdk/components 12.0.0-staging.66 → 12.0.0-staging.67
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/cjs/hero-banner/components/HeroBanner.liquid.js +1 -1
- package/dist/cjs/hero-banner/components/HeroBannerItem.liquid.js +9 -9
- package/dist/cjs/product/components/product-button/helpers/getButtonDynamicSourceLocales.js +1 -1
- package/dist/cjs/video/common/helpers.js +1 -1
- package/dist/esm/helpers.js +1 -1
- package/dist/esm/hero-banner/components/HeroBanner.liquid.js +1 -1
- package/dist/esm/hero-banner/components/HeroBannerItem.liquid.js +9 -9
- package/dist/esm/product/components/product-button/helpers/getButtonDynamicSourceLocales.js +1 -1
- package/dist/esm/video/common/helpers.js +1 -1
- package/dist/types/index.d.ts +2 -1
- package/package.json +1 -1
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;let g=new RegExp(/\{\{.*?\}\}|\{%.*?%\}/).test(e?.toString()??""),u=n?.mode===core.SectionMode.GLOBAL,d=n?.schema??"",f=n?.isTranslateWithLocale?1e3:5e3;if(!r||!e?.toString().trim()||e.toString().length>f||g||n?.isPreviewing)return e??a;let h=`section.settings.${p=u?core.getThemeSectionTranslateKey({uid:t,settingId:r,schema:d,value:e?.toString()??a??""}):createTranslateKey(t,r)}`;return(n?.isTranslateWithLocale&&(h=`'sections.${n.sectionName}.${p}_html' | t`),l&&(h+=" | replace: '$locationOrigin', locationOrigin"),s&&(h+=" | replace: '$max_size', '10MB'"),c&&(h+=" | replace: '<$quantity$>', inventory_quantity | replace: '<$quantity$>', inventory_quantity"),o&&(h=`${h} | downcase`),i)?h:u?core.replaceOuterTagContent(e?.toString()??a??"",void 0,`{{ ${h} }}`):`{{ ${h} }}`},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
|
|
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;let g=new RegExp(/\{\{.*?\}\}|\{%.*?%\}/).test(e?.toString()??""),u=n?.mode===core.SectionMode.GLOBAL,d=n?.schema??"",f=n?.isTranslateWithLocale?1e3:5e3;if(!r||!e?.toString().trim()||e.toString().length>f||g||n?.isPreviewing)return e??a;let h=`section.settings.${p=u?core.getThemeSectionTranslateKey({uid:t,settingId:r,schema:d,value:e?.toString()??a??""}):createTranslateKey(t,r)}`;return(n?.isTranslateWithLocale&&(h=`'sections.${n.sectionName}.${p}_html' | t`),l&&(h+=" | replace: '$locationOrigin', locationOrigin"),s&&(h+=" | replace: '$max_size', '10MB'"),c&&(h+=" | replace: '<$quantity$>', inventory_quantity | replace: '<$quantity$>', inventory_quantity"),o&&(h=`${h} | downcase`),i)?h:u?core.replaceOuterTagContent(e?.toString()??a??"",void 0,`{{ ${h} }}`):`{{ ${h} }}`},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,pageContext:i})=>{if(!t||!translate.HeroBanner?.[r]?.id)return e;let n=getDynamicSourceLocales({val:e,settingId:createSettingId({id:translate.HeroBanner?.[r]?.id}),uid:t,pageContext:i});return null!=n?String(n):e},getBackgroundTranslated=({background:e,enableTranslate:t,uid:r,pageContext:i,isTranslateVideo:n=!0})=>{if(!e)return{};if(!t||!r||i?.isPreviewing)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/",""),filterPageContext=e=>{if(!e)return;let{schema:t,mode:r,...i}=e;return i};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.filterPageContext=filterPageContext,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;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var HeroBannerItem_liquid=require("./HeroBannerItem.liquid.js"),attrs=require("../common/attrs.js"),styles=require("../common/styles.js"),classes=require("../common/classes.js"),system=require("@gem-sdk/system"),core=require("@gem-sdk/core"),helpers=require("../../helpers.js"),helpers$1=require("../common/helpers.js"),translate=require("../settings/configs/translate.js");const HeroBanner=e=>{let{builderAttrs:t,builderProps:s,setting:r,styles:a,style:n,children:i,advanced:l,pageContext:o}=e,{enableLazyLoadImage:c}=o??{},{enableLink:d,enableParallax:g}=r??{},u=helpers.getBackgroundTranslated({background:a?.background,uid:s?.uid,enableTranslate:!!translate.HeroBanner?.background?.id,pageContext:o,isTranslateVideo:!0}),p=helpers$1.getBannerLink(r),{cssClass:f}=l??{},{urlData:h}=helpers.getInsertLinkData("",p),m=system.createStateOrContext({background:helpers$1.getResponsiveSetting(u||{}),uid:s?.uid,enableParallax:g&&Number(r?.speedParallax||0)>0,speedParallax:Number(r?.speedParallax)||0,hoverEffect:a?.hoverEffect,hoverEffectScale:a?.hoverEffectScale,layout:r?.layout,contentPosition1Col:a?.contentPosition1Col,contentPosition2Col:a?.contentPosition2Col,aspectRatio:r?.aspectRatio,sizeSetting:helpers$1.getResponsiveSetting(a?.sizeSetting||{}),videoObjectFit:helpers$1.getResponsiveSetting(a?.videoObjectFit||{}),target:p?.target??"_self",href:h?.href??"",linkType:p?.type??"",hoverEffectDuration:a?.hoverEffectDuration,isYoutubeVideoMigrated:r?.isYoutubeVideoMigrated}),y=!!p?.link&&d,v=system.createAttr({...attrs.getAttr({uid:s?.uid||""})}),$=system.createAttr(attrs.getAttrLink()),b=system.createStyle({...styles.getStyle(a,r,n)}),S=system.createClass({...classes.getClasses({setting:r,builderProps:s,advancedCssClass:f})}),k=system.createClass({...classes.getLinkClasses()}),C=()=>HeroBannerItem_liquid.default({setting:r,translatedBackground:u,styles:a,children:i,enableLazyLoadImage:c,rawChildren:e.rawChildren,builderProps:s});return core.template`
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var HeroBannerItem_liquid=require("./HeroBannerItem.liquid.js"),attrs=require("../common/attrs.js"),styles=require("../common/styles.js"),classes=require("../common/classes.js"),system=require("@gem-sdk/system"),core=require("@gem-sdk/core"),helpers=require("../../helpers.js"),helpers$1=require("../common/helpers.js"),translate=require("../settings/configs/translate.js");const HeroBanner=e=>{let{builderAttrs:t,builderProps:s,setting:r,styles:a,style:n,children:i,advanced:l,pageContext:o}=e,{enableLazyLoadImage:c}=o??{},{enableLink:d,enableParallax:g}=r??{},u=helpers.getBackgroundTranslated({background:a?.background,uid:s?.uid,enableTranslate:!!translate.HeroBanner?.background?.id,pageContext:o,isTranslateVideo:!0}),p=helpers$1.getBannerLink(r),{cssClass:f}=l??{},{urlData:h}=helpers.getInsertLinkData("",p),m=system.createStateOrContext({background:helpers$1.getResponsiveSetting(u||{}),uid:s?.uid,enableParallax:g&&Number(r?.speedParallax||0)>0,speedParallax:Number(r?.speedParallax)||0,hoverEffect:a?.hoverEffect,hoverEffectScale:a?.hoverEffectScale,layout:r?.layout,contentPosition1Col:a?.contentPosition1Col,contentPosition2Col:a?.contentPosition2Col,aspectRatio:r?.aspectRatio,sizeSetting:helpers$1.getResponsiveSetting(a?.sizeSetting||{}),videoObjectFit:helpers$1.getResponsiveSetting(a?.videoObjectFit||{}),target:p?.target??"_self",href:h?.href??"",linkType:p?.type??"",hoverEffectDuration:a?.hoverEffectDuration,isYoutubeVideoMigrated:r?.isYoutubeVideoMigrated}),y=!!p?.link&&d,v=system.createAttr({...attrs.getAttr({uid:s?.uid||""})}),$=system.createAttr(attrs.getAttrLink()),b=system.createStyle({...styles.getStyle(a,r,n)}),S=system.createClass({...classes.getClasses({setting:r,builderProps:s,advancedCssClass:f})}),k=system.createClass({...classes.getLinkClasses()}),C=()=>HeroBannerItem_liquid.default({setting:r,translatedBackground:u,styles:a,children:i,enableLazyLoadImage:c,rawChildren:e.rawChildren,builderProps:s,pageContext:o});return core.template`
|
|
2
2
|
<gp-hero-banner
|
|
3
3
|
${{...t}}
|
|
4
4
|
${{...v}}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),Row_liquid=require("../../grid/components/row/Row.liquid.js"),system=require("@gem-sdk/system"),AdaptiveImage_liquid=require("../../image/components/AdaptiveImage.liquid.js"),HTML5Embed_liquid=require("../../video/components/HTML5Embed.liquid.js"),styles=require("../common/styles.js"),classes=require("../common/classes.js"),helpers=require("../common/helpers.js"),helpers$2=require("../../image/common/helpers.js"),NextImage_liquid=require("../../image/components/NextImage.liquid.js"),LiteYouTubeEmbed_liquid=require("../../video/components/LiteYouTubeEmbed.liquid.js"),helpers$4=require("../../video/common/helpers.js"),helpers$3=require("../../grid/components/row/common/helpers.js"),constants=require("../../image/constants.js"),helpers$1=require("../../helpers.js");const HeroBannerItem=e=>{let{enableLazyLoadImage:s=!0,translatedBackground:t,setting:l,styles:a,children:r,builderProps:i,rawChildren:o}=e,{layout:
|
|
2
|
-
<div class="${
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core=require("@gem-sdk/core"),Row_liquid=require("../../grid/components/row/Row.liquid.js"),system=require("@gem-sdk/system"),AdaptiveImage_liquid=require("../../image/components/AdaptiveImage.liquid.js"),HTML5Embed_liquid=require("../../video/components/HTML5Embed.liquid.js"),styles=require("../common/styles.js"),classes=require("../common/classes.js"),helpers=require("../common/helpers.js"),helpers$2=require("../../image/common/helpers.js"),NextImage_liquid=require("../../image/components/NextImage.liquid.js"),LiteYouTubeEmbed_liquid=require("../../video/components/LiteYouTubeEmbed.liquid.js"),helpers$4=require("../../video/common/helpers.js"),helpers$3=require("../../grid/components/row/common/helpers.js"),constants=require("../../image/constants.js"),helpers$1=require("../../helpers.js");const HeroBannerItem=e=>{let{enableLazyLoadImage:s=!0,translatedBackground:t,setting:l,styles:a,children:r,builderProps:i,rawChildren:o,pageContext:d}=e,{layout:u,verticalAlign:c,enableParallax:m,alt:n,title:y,preload:g,isYoutubeVideoMigrated:p}=l??{},{background:h,overlayColor:v,verticalGutter:q,sizeSetting:C,contentWidth:S,hoverEffect:I,contentPosition1Col:b,contentPosition2Col:$,videoObjectFit:f}=a??{},T=!g&&s,j=helpers.getAspectRatio(C,h),R=helpers.getYoutubeAspectRatio(h,f,j),B=helpers.getResponsiveSetting(t||{}),k=B.desktop,A=system.createStyle({...styles.getContainerStyle(a)}),_=system.createClass({...classes.getContainerClasses(l,a)}),w=system.createStyle({...styles.getOverlayStyle(a)}),H=system.createClass({...classes.getOverlayClasses(a)}),V=system.createStyle({...styles.getRowStyle(a)}),L=system.createClass({...classes.getRowClasses(a,l)}),E=system.createStyle({...styles.getAdaptiveStyle(a)}),Y=system.createClass({...classes.getAdaptivePictureClasses()}),N=system.createClass({...classes.getAdaptiveClasses()}),x=system.createClass({...classes.getBackgroundClasses(I,T)}),z=system.createStyle({...helpers.getBackgroundImageHeroBanner(t,T,!1),...styles.getBackgroundStyle(a,m,"")}),O=system.createClass({...classes.getContainBackgroundClasses()}),D=system.createStyle({...styles.getContainBackgroundStyle(a)}),M=system.createClass({...classes.getHtml5VideoClasses(!1)}),P=system.createStyle({...styles.getYoutubeIframeStyle(R,f)}),W=system.createClass({...classes.getWrapperYoutubeClasses(p)}),G=system.createStyle({...styles.getHtml5VideoStyle(j,f,h)}),U=system.createClass({...classes.getIframeYoutubeClasses()}),F=e=>system.createClass({...classes.getLazyBackgroundClasses(e)}),J=()=>{if(!g)return core.DEVICES.map(e=>system.If(helpers.getEnableBgImageByDevice(e,t),NextImage_liquid.default({src:helpers$2.getImageSrc(core.getResponsiveValueByScreen(helpers.getBgImage(t),e),e),alt:helpers$1.getSeoTranslated({valueTranslate:n,uid:i?.uid,settingId:"alt",pageContext:d}),title:helpers$1.getSeoTranslated({valueTranslate:y,uid:i?.uid,settingId:"title"}),className:F(e),isDisableAspectStyle:!0,enableLazyLoadImage:s}))).join("")},K=()=>{if(!helpers.showVideoType(h))return;if(helpers$3.isRenderHtmlVideo(h))return HTML5Embed_liquid.default({uid:i?.uid,muted:!0,loop:k?.loop,controls:!1,autoplay:!0,src:k?.videoHtml5||"",title:"Video",style:G,className:M});let e=k?.video??"",s=helpers$4.getYoutubeVideoId(e),t=`&loop=false&playlist=${s}&showinfo=0&rel=0&fs=0&enablejsapi=1`,l=core.hasTranslatedLiquid(e);if(k?.type==="video"&&k?.videoType==="youtube"&&s&&helpers$4.youtubeVideoRegex.test(e)||l)return LiteYouTubeEmbed_liquid.default({uid:i?.uid,id:s??"",translatedVideoUrl:l?e:"",isHeroBanner:!0,autoplay:!0,title:"Video",controls:!1,params:t,adNetwork:!1,noCookie:!0,muted:!0,lazy:k?.lazyLoad??!0,preload:!0,style:P,wrapperClass:W,iframeClass:U})};return core.template`
|
|
2
|
+
<div class="${_}" style="${A}">
|
|
3
3
|
<div
|
|
4
|
-
class="${
|
|
5
|
-
style="${
|
|
4
|
+
class="${O}"
|
|
5
|
+
style="${D}"
|
|
6
6
|
>
|
|
7
|
-
<div class="${
|
|
8
|
-
${F()}
|
|
7
|
+
<div class="${x}" style="${z}">
|
|
9
8
|
${J()}
|
|
9
|
+
${K()}
|
|
10
10
|
</div>
|
|
11
|
-
${system.If(!!
|
|
11
|
+
${system.If(!!v,core.template`<div aria-label="Overlay" class="${H}" style="${w}"> </div>`)}
|
|
12
12
|
</div>
|
|
13
|
-
${Row_liquid.default({className:
|
|
14
|
-
${AdaptiveImage_liquid.default({pictureClass:
|
|
13
|
+
${Row_liquid.default({className:L,style:V,setting:{layout:u,horizontalAlign:helpers.horizontalAlign(u,b,$),verticalAlign:c},styles:{verticalGutter:q,width:helpers.getWidth(S),fullWidth:{desktop:!1,tablet:!1,mobile:!1}},children:r,rawChildren:o})}
|
|
14
|
+
${AdaptiveImage_liquid.default({pictureClass:Y,srcSet:helpers.getBgImage(t),className:N,...g&&constants.PRIORITY_LOAD_ATTRS,aspectRatio:core.getAspectRatioGlobalSize(C),style:E,alt:helpers$1.getSeoTranslated({valueTranslate:n,uid:i?.uid,settingId:"alt"}),title:helpers$1.getSeoTranslated({valueTranslate:y,uid:i?.uid,settingId:"title"}),enableLazyLoadImage:s,fallbackImg:helpers.fallbackImg})}
|
|
15
15
|
</div>
|
|
16
16
|
`};exports.default=HeroBannerItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var helpers=require("../../../../helpers.js"),translate=require("../../../settings/product-button/configs/translate.js");const getButtonDynamicSourceLocales=({setting:e,builderProps:t,pageContext:s})=>{let a={pageContext:s,uid:t?.uid},r=(e,t)=>{let
|
|
1
|
+
"use strict";var helpers=require("../../../../helpers.js"),translate=require("../../../settings/product-button/configs/translate.js");const getButtonDynamicSourceLocales=({setting:e,builderProps:t,pageContext:s})=>{let a={pageContext:s,uid:t?.uid},r=(e,t)=>{let r=helpers.getDynamicSourceLocales({...a,pageContext:s,settingId:helpers.createSettingId({id:translate.ProductButton[e]?.id}),val:t??""});return r};return{outOfStockButtonLabel:r("outOfStockLabel",e?.outOfStockLabel),unavailableButtonLabel:r("unavailableLabel","Unavailable"),variantSelectionRequiredMessage:r("variantSelectionRequiredMessage",e?.variantSelectionRequiredMessage),successMessage:r("successMessage",e?.successMessage),errorMessage:r("errorMessage",e?.errorMessage)}};exports.getButtonDynamicSourceLocales=getButtonDynamicSourceLocales;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var core=require("@gem-sdk/core"),helpers=require("../../helpers.js"),translate=require("../settings/configs/translate.js");const getAspectRatioSettings=(e,t)=>{let o={desktop:e?.desktop?.width,tablet:e?.tablet?.width,mobile:e?.mobile?.width},i={desktop:e?.desktop?.height,tablet:e?.tablet?.height,mobile:e?.mobile?.height},s={desktop:t?.desktop==="custom"?`${core.getResponsiveValueByScreen(o,"desktop")}/${core.getResponsiveValueByScreen(i,"desktop")}`:t?.desktop==="cover"?"unset":t?.desktop,tablet:t?.tablet==="custom"?`${core.getResponsiveValueByScreen(o,"tablet")}/${core.getResponsiveValueByScreen(i,"tablet")}`:t?.tablet==="cover"?"unset":t?.tablet,mobile:t?.mobile==="custom"?`${core.getResponsiveValueByScreen(o,"mobile")}/${core.getResponsiveValueByScreen(i,"mobile")}`:t?.mobile==="cover"?"unset":t?.mobile};return s},getSettingTranslatedVideoAndThumbnail=(e,t,o)=>{if(!e||!t)return{};if(o?.isPreviewing)return e;let i=core.cloneDeep(e);if(i.youtubeUrl&&"youtube"===i.type){let e=helpers.getDynamicSourceLocales({val:i.youtubeUrl,uid:t,settingId:helpers.createSettingId({id:translate.Video?.youtubeUrl?.id})});i.youtubeUrlTranslated=String(e)}if(i.vimeoUrl&&"vimeo"===i.type){let e=helpers.getDynamicSourceLocales({val:i.vimeoUrl,uid:t,settingId:helpers.createSettingId({id:translate.Video?.vimeoUrl?.id})});i.vimeoUrlTranslated=String(e)}if(i.html5Url&&"html5"===i.type){let e=helpers.getDynamicSourceLocales({val:i.html5Url,uid:t,settingId:helpers.createSettingId({id:translate.Video?.html5Url?.id})});i.html5Url=String(e)}if(i.poster){let e=helpers.getDynamicSourceLocales({val:i.poster?.src,uid:t,settingId:translate.Video?.poster?.id?`${translate.Video.poster.id}_src`:""});i.poster.src=String(e)}return i},getYoutubeParams=e=>{let{id:t,params:o,muted:i,webp:s,controls:r,adNetwork:l,autoplay:a,lazy:n}=e,p=encodeURIComponent(t),d="hqdefault",m=`${o}`||"",u=i?"&mute=1":"",g=s?"webp":"jpg",c=s?"vi_webp":"vi",b=e.thumbnail||`https://i.ytimg.com/${c}/${p}/${d}.${g}`,h=e.noCookie?"https://www.youtube-nocookie.com":"https://www.youtube.com",v=`${h}/embed/${p}?autoplay=${!!n||a}&state=1${u}${m}&controls=${r?1:0}`,V=l||!1;return{videoId:p,posterImp:d,paramsImp:m,mutedImp:u,format:g,vi:c,posterUrl:b,ytUrl:h,iframeSrc:v,adNetworkImp:V}},getVimeoParams=e=>{let{id:t,autoplay:o,muted:i,controls:s,loop:r,lazy:l}=e,a=encodeURIComponent(t),n=`?&autoplay=${l?1:o?1:0}&muted=${i?1:0}&loop=${r?1:0}&controls=${s}&autopause=false`,p=`https://player.vimeo.com/video/${a}${n}`;return{videoId:a,params:n,iframeSrc:p}},makeStyleResponsiveRatio=(e,t)=>({[`--${e}`]:t?.desktop,[`--${e}-tablet`]:t?.tablet,[`--${e}-mobile`]:t?.mobile}),fallbackImageVideoUrl="https://cdn.shopify.com/s/files/1/0703/5214/2562/files/gempages_518090459516502570-3d3a4631-1d7d-4a2f-9ef0-9bbe7220e02d.jpg",youtubeVideoRegex=/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=|shorts\/)|youtu\.be\/)([^"&?/\s]{11})/i,vimeoVideoRegex=/^(?:http:\/\/|https:\/\/)vimeo\.com\/[\w/]+(?:\?.*)?$/im,getYoutubeVideoId=e=>{let t=e.match(youtubeVideoRegex);return t?.[1]??void 0},getVimeoVideoId=e=>{let t=/https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|album\/(\d+)\/video\/|video\/)?(\d+)(?:$|\/|\?)/,o=e.match(t);return o?.[3]},parseTimeVideo=e=>{let t=e.split(":",2);return t.length<=1?parseInt(t[0]||"0"):60*parseInt(t[0]||"0")+parseInt(t[1]||"0")},covertStrParamsToObj=e=>{let t=e.split("&");return t.shift(),t.reduce((e,t)=>{let[o,i]=t.split("=");return"loop"!==o?{...e,[o]:i}:e},{})},isSettingLoop=e=>e.includes("loop=1");exports.covertStrParamsToObj=covertStrParamsToObj,exports.fallbackImageVideoUrl="https://cdn.shopify.com/s/files/1/0703/5214/2562/files/gempages_518090459516502570-3d3a4631-1d7d-4a2f-9ef0-9bbe7220e02d.jpg",exports.getAspectRatioSettings=getAspectRatioSettings,exports.getSettingTranslatedVideoAndThumbnail=getSettingTranslatedVideoAndThumbnail,exports.getVimeoParams=getVimeoParams,exports.getVimeoVideoId=getVimeoVideoId,exports.getYoutubeParams=getYoutubeParams,exports.getYoutubeVideoId=getYoutubeVideoId,exports.isSettingLoop=isSettingLoop,exports.makeStyleResponsiveRatio=makeStyleResponsiveRatio,exports.parseTimeVideo=parseTimeVideo,exports.vimeoVideoRegex=vimeoVideoRegex,exports.youtubeVideoRegex=youtubeVideoRegex;
|
|
1
|
+
"use strict";var core=require("@gem-sdk/core"),helpers=require("../../helpers.js"),translate=require("../settings/configs/translate.js");const getAspectRatioSettings=(e,t)=>{let o={desktop:e?.desktop?.width,tablet:e?.tablet?.width,mobile:e?.mobile?.width},i={desktop:e?.desktop?.height,tablet:e?.tablet?.height,mobile:e?.mobile?.height},s={desktop:t?.desktop==="custom"?`${core.getResponsiveValueByScreen(o,"desktop")}/${core.getResponsiveValueByScreen(i,"desktop")}`:t?.desktop==="cover"?"unset":t?.desktop,tablet:t?.tablet==="custom"?`${core.getResponsiveValueByScreen(o,"tablet")}/${core.getResponsiveValueByScreen(i,"tablet")}`:t?.tablet==="cover"?"unset":t?.tablet,mobile:t?.mobile==="custom"?`${core.getResponsiveValueByScreen(o,"mobile")}/${core.getResponsiveValueByScreen(i,"mobile")}`:t?.mobile==="cover"?"unset":t?.mobile};return s},getSettingTranslatedVideoAndThumbnail=(e,t,o)=>{if(!e||!t)return{};if(o?.isPreviewing)return e;let i=core.cloneDeep(e);if(i.youtubeUrl&&"youtube"===i.type){let e=helpers.getDynamicSourceLocales({val:i.youtubeUrl,uid:t,settingId:helpers.createSettingId({id:translate.Video?.youtubeUrl?.id}),pageContext:o});i.youtubeUrlTranslated=String(e)}if(i.vimeoUrl&&"vimeo"===i.type){let e=helpers.getDynamicSourceLocales({val:i.vimeoUrl,uid:t,settingId:helpers.createSettingId({id:translate.Video?.vimeoUrl?.id}),pageContext:o});i.vimeoUrlTranslated=String(e)}if(i.html5Url&&"html5"===i.type){let e=helpers.getDynamicSourceLocales({val:i.html5Url,uid:t,settingId:helpers.createSettingId({id:translate.Video?.html5Url?.id}),pageContext:o});i.html5Url=String(e)}if(i.poster){let e=helpers.getDynamicSourceLocales({val:i.poster?.src,uid:t,settingId:translate.Video?.poster?.id?`${translate.Video.poster.id}_src`:"",pageContext:o});i.poster.src=String(e)}return i},getYoutubeParams=e=>{let{id:t,params:o,muted:i,webp:s,controls:r,adNetwork:l,autoplay:a,lazy:n}=e,p=encodeURIComponent(t),d="hqdefault",m=`${o}`||"",u=i?"&mute=1":"",g=s?"webp":"jpg",c=s?"vi_webp":"vi",b=e.thumbnail||`https://i.ytimg.com/${c}/${p}/${d}.${g}`,h=e.noCookie?"https://www.youtube-nocookie.com":"https://www.youtube.com",v=`${h}/embed/${p}?autoplay=${!!n||a}&state=1${u}${m}&controls=${r?1:0}`,V=l||!1;return{videoId:p,posterImp:d,paramsImp:m,mutedImp:u,format:g,vi:c,posterUrl:b,ytUrl:h,iframeSrc:v,adNetworkImp:V}},getVimeoParams=e=>{let{id:t,autoplay:o,muted:i,controls:s,loop:r,lazy:l}=e,a=encodeURIComponent(t),n=`?&autoplay=${l?1:o?1:0}&muted=${i?1:0}&loop=${r?1:0}&controls=${s}&autopause=false`,p=`https://player.vimeo.com/video/${a}${n}`;return{videoId:a,params:n,iframeSrc:p}},makeStyleResponsiveRatio=(e,t)=>({[`--${e}`]:t?.desktop,[`--${e}-tablet`]:t?.tablet,[`--${e}-mobile`]:t?.mobile}),fallbackImageVideoUrl="https://cdn.shopify.com/s/files/1/0703/5214/2562/files/gempages_518090459516502570-3d3a4631-1d7d-4a2f-9ef0-9bbe7220e02d.jpg",youtubeVideoRegex=/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=|shorts\/)|youtu\.be\/)([^"&?/\s]{11})/i,vimeoVideoRegex=/^(?:http:\/\/|https:\/\/)vimeo\.com\/[\w/]+(?:\?.*)?$/im,getYoutubeVideoId=e=>{let t=e.match(youtubeVideoRegex);return t?.[1]??void 0},getVimeoVideoId=e=>{let t=/https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|album\/(\d+)\/video\/|video\/)?(\d+)(?:$|\/|\?)/,o=e.match(t);return o?.[3]},parseTimeVideo=e=>{let t=e.split(":",2);return t.length<=1?parseInt(t[0]||"0"):60*parseInt(t[0]||"0")+parseInt(t[1]||"0")},covertStrParamsToObj=e=>{let t=e.split("&");return t.shift(),t.reduce((e,t)=>{let[o,i]=t.split("=");return"loop"!==o?{...e,[o]:i}:e},{})},isSettingLoop=e=>e.includes("loop=1");exports.covertStrParamsToObj=covertStrParamsToObj,exports.fallbackImageVideoUrl="https://cdn.shopify.com/s/files/1/0703/5214/2562/files/gempages_518090459516502570-3d3a4631-1d7d-4a2f-9ef0-9bbe7220e02d.jpg",exports.getAspectRatioSettings=getAspectRatioSettings,exports.getSettingTranslatedVideoAndThumbnail=getSettingTranslatedVideoAndThumbnail,exports.getVimeoParams=getVimeoParams,exports.getVimeoVideoId=getVimeoVideoId,exports.getYoutubeParams=getYoutubeParams,exports.getYoutubeVideoId=getYoutubeVideoId,exports.isSettingLoop=isSettingLoop,exports.makeStyleResponsiveRatio=makeStyleResponsiveRatio,exports.parseTimeVideo=parseTimeVideo,exports.vimeoVideoRegex=vimeoVideoRegex,exports.youtubeVideoRegex=youtubeVideoRegex;
|
package/dist/esm/helpers.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getThemeSectionTranslateKey as e,replaceOuterTagContent as t,DEVICES as r,globalEvent as i,cloneDeep as n,SectionMode as l}from"@gem-sdk/core";import o from"./link/components/Link.js";import{HeroBanner as a}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:r,uid:i,settingId:n,isLiquid:o,pageContext:a,isCapitalize:s,defaultVal:c="",isReplaceLocationOrigin:g,isReplaceMaxSize:p,isReplaceInventoryQuantity:u})=>{let f;let d=new RegExp(/\{\{.*?\}\}|\{%.*?%\}/).test(r?.toString()??""),m=a?.mode===l.GLOBAL,h=a?.schema??"",y=a?.isTranslateWithLocale?1e3:5e3;if(!n||!r?.toString().trim()||r.toString().length>y||d||a?.isPreviewing)return r??c;let S=`section.settings.${f=m?e({uid:i,settingId:n,schema:h,value:r?.toString()??c??""}):createTranslateKey(i,n)}`;return(a?.isTranslateWithLocale&&(S=`'sections.${a.sectionName}.${f}_html' | t`),g&&(S+=" | replace: '$locationOrigin', locationOrigin"),p&&(S+=" | replace: '$max_size', '10MB'"),u&&(S+=" | replace: '<$quantity$>', inventory_quantity | replace: '<$quantity$>', inventory_quantity"),s&&(S=`${S} | downcase`),o)?S:m?t(r?.toString()??c??"",void 0,`{{ ${S} }}`):`{{ ${S} }}`},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??"",s="/"===a,c=new RegExp(/^(?:https?:\/\/)?[\w.-]+\.[a-z]{2,}/i),g=l&&c.test(a);g&&(a=getHttpUrl(a)),l&&a.toLowerCase().startsWith("mailto:")&&a.includes("+")&&(a=normalizeMailto(a));let p=()=>!!(i.find(e=>a.startsWith(e))||n.find(e=>a.includes(e))),u=g||isShopifyDomain(l,a)||p()||s||isLinkedToSalesPage(t?.type);(isShopifyDomain(l,a)||s)&&(a=t?.isTranslate?"$locationOrigin"+a:"{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}"+a);let f=u?t?.isLiquid?"a":o: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:"],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=()=>!!(l.find(e=>s.includes(e))||a.find(e=>s.startsWith(e))),d=n&&(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":o: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,t)=>{let i={};return r.forEach(r=>{i={...i,[`--d${"desktop"===r?"":`-${r}`}`]:`${e(r)?"none":t}`}}),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-","#");i.dispatch("onOpenDialog",{popupUId:t});return}e?.link?.startsWith("#")&&i.dispatch("onOpenDialog",{popupUId:e?.link})}},getSeoTranslated=({valueTranslate:e,uid:t,settingId:r})=>{if(!t||!a?.[r]?.id)return e;let
|
|
1
|
+
import{getThemeSectionTranslateKey as e,replaceOuterTagContent as t,DEVICES as r,globalEvent as i,cloneDeep as n,SectionMode as l}from"@gem-sdk/core";import o from"./link/components/Link.js";import{HeroBanner as a}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:r,uid:i,settingId:n,isLiquid:o,pageContext:a,isCapitalize:s,defaultVal:c="",isReplaceLocationOrigin:g,isReplaceMaxSize:p,isReplaceInventoryQuantity:u})=>{let f;let d=new RegExp(/\{\{.*?\}\}|\{%.*?%\}/).test(r?.toString()??""),m=a?.mode===l.GLOBAL,h=a?.schema??"",y=a?.isTranslateWithLocale?1e3:5e3;if(!n||!r?.toString().trim()||r.toString().length>y||d||a?.isPreviewing)return r??c;let S=`section.settings.${f=m?e({uid:i,settingId:n,schema:h,value:r?.toString()??c??""}):createTranslateKey(i,n)}`;return(a?.isTranslateWithLocale&&(S=`'sections.${a.sectionName}.${f}_html' | t`),g&&(S+=" | replace: '$locationOrigin', locationOrigin"),p&&(S+=" | replace: '$max_size', '10MB'"),u&&(S+=" | replace: '<$quantity$>', inventory_quantity | replace: '<$quantity$>', inventory_quantity"),s&&(S=`${S} | downcase`),o)?S:m?t(r?.toString()??c??"",void 0,`{{ ${S} }}`):`{{ ${S} }}`},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??"",s="/"===a,c=new RegExp(/^(?:https?:\/\/)?[\w.-]+\.[a-z]{2,}/i),g=l&&c.test(a);g&&(a=getHttpUrl(a)),l&&a.toLowerCase().startsWith("mailto:")&&a.includes("+")&&(a=normalizeMailto(a));let p=()=>!!(i.find(e=>a.startsWith(e))||n.find(e=>a.includes(e))),u=g||isShopifyDomain(l,a)||p()||s||isLinkedToSalesPage(t?.type);(isShopifyDomain(l,a)||s)&&(a=t?.isTranslate?"$locationOrigin"+a:"{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}"+a);let f=u?t?.isLiquid?"a":o: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:"],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=()=>!!(l.find(e=>s.includes(e))||a.find(e=>s.startsWith(e))),d=n&&(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":o: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,t)=>{let i={};return r.forEach(r=>{i={...i,[`--d${"desktop"===r?"":`-${r}`}`]:`${e(r)?"none":t}`}}),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-","#");i.dispatch("onOpenDialog",{popupUId:t});return}e?.link?.startsWith("#")&&i.dispatch("onOpenDialog",{popupUId:e?.link})}},getSeoTranslated=({valueTranslate:e,uid:t,settingId:r,pageContext:i})=>{if(!t||!a?.[r]?.id)return e;let n=getDynamicSourceLocales({val:e,settingId:createSettingId({id:a?.[r]?.id}),uid:t,pageContext:i});return null!=n?String(n):e},getBackgroundTranslated=({background:e,enableTranslate:t,uid:r,pageContext:i,isTranslateVideo:l=!0})=>{if(!e)return{};if(!t||!r||i?.isPreviewing)return e;let o=n(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(l){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/",""),filterPageContext=e=>{if(!e)return;let{schema:t,mode:r,...i}=e;return i};export{REGEX_PAGE_TYPE,checkIsOpenPopup,checkIsScrollToTop,convertUnitToNumber,createSettingId,createTranslateKey,extractProductID,filterPageContext,filterTruthyObject,filterTruthyStyles,getAllHrefFromString,getBackgroundTranslated,getDisplayStyle,getDynamicSourceLocales,getInsertLinkData,getLinkArticle,getLinkData,getSeoTranslated,getSettingPreloadData,getStaticLocale,handleClickLink,isEmptyObject,isHexTransparent,isLinkedToSalesPage,isShopifyDomain,isTransparentColor,isTransparentRGBA,normalizeMailto,replaceAllHrefFromString,replaceLinkData,youtubeShortsRegex};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import e from"./HeroBannerItem.liquid.js";import{getAttr as r,getAttrLink as t}from"../common/attrs.js";import{getStyle as o}from"../common/styles.js";import{getClasses as s,getLinkClasses as a}from"../common/classes.js";import{createStateOrContext as i,createAttr as n,createStyle as l,createClass as d,If as c}from"@gem-sdk/system";import{template as m,dataStringify as f,RenderIf as p,isLocalEnv as u,baseAssetURL as g}from"@gem-sdk/core";import{getBackgroundTranslated as h,getInsertLinkData as v,getSettingPreloadData as b}from"../../helpers.js";import{getResponsiveSetting as $,getBannerLink as j}from"../common/helpers.js";import{HeroBanner as k}from"../settings/configs/translate.js";let HeroBanner=E=>{let{builderAttrs:y,builderProps:P,setting:S,styles:C,style:x,children:B,advanced:H,pageContext:T}=E,{enableLazyLoadImage:V}=T??{},{enableLink:M,enableParallax:N}=S??{},O=h({background:C?.background,uid:P?.uid,enableTranslate:!!k?.background?.id,pageContext:T,isTranslateVideo:!0}),R=j(S),{cssClass:_}=H??{},{urlData:w}=v("",R),z=i({background:$(O||{}),uid:P?.uid,enableParallax:N&&Number(S?.speedParallax||0)>0,speedParallax:Number(S?.speedParallax)||0,hoverEffect:C?.hoverEffect,hoverEffectScale:C?.hoverEffectScale,layout:S?.layout,contentPosition1Col:C?.contentPosition1Col,contentPosition2Col:C?.contentPosition2Col,aspectRatio:S?.aspectRatio,sizeSetting:$(C?.sizeSetting||{}),videoObjectFit:$(C?.videoObjectFit||{}),target:R?.target??"_self",href:w?.href??"",linkType:R?.type??"",hoverEffectDuration:C?.hoverEffectDuration,isYoutubeVideoMigrated:S?.isYoutubeVideoMigrated}),A=!!R?.link&&M,D=n({...r({uid:P?.uid||""})}),F=n(t()),G=l({...o(C,S,x)}),I=d({...s({setting:S,builderProps:P,advancedCssClass:_})}),Y=d({...a()}),q=()=>e({setting:S,translatedBackground:O,styles:C,children:B,enableLazyLoadImage:V,rawChildren:E.rawChildren,builderProps:P});return m`
|
|
1
|
+
import e from"./HeroBannerItem.liquid.js";import{getAttr as r,getAttrLink as t}from"../common/attrs.js";import{getStyle as o}from"../common/styles.js";import{getClasses as s,getLinkClasses as a}from"../common/classes.js";import{createStateOrContext as i,createAttr as n,createStyle as l,createClass as d,If as c}from"@gem-sdk/system";import{template as m,dataStringify as f,RenderIf as p,isLocalEnv as u,baseAssetURL as g}from"@gem-sdk/core";import{getBackgroundTranslated as h,getInsertLinkData as v,getSettingPreloadData as b}from"../../helpers.js";import{getResponsiveSetting as $,getBannerLink as j}from"../common/helpers.js";import{HeroBanner as k}from"../settings/configs/translate.js";let HeroBanner=E=>{let{builderAttrs:y,builderProps:P,setting:S,styles:C,style:x,children:B,advanced:H,pageContext:T}=E,{enableLazyLoadImage:V}=T??{},{enableLink:M,enableParallax:N}=S??{},O=h({background:C?.background,uid:P?.uid,enableTranslate:!!k?.background?.id,pageContext:T,isTranslateVideo:!0}),R=j(S),{cssClass:_}=H??{},{urlData:w}=v("",R),z=i({background:$(O||{}),uid:P?.uid,enableParallax:N&&Number(S?.speedParallax||0)>0,speedParallax:Number(S?.speedParallax)||0,hoverEffect:C?.hoverEffect,hoverEffectScale:C?.hoverEffectScale,layout:S?.layout,contentPosition1Col:C?.contentPosition1Col,contentPosition2Col:C?.contentPosition2Col,aspectRatio:S?.aspectRatio,sizeSetting:$(C?.sizeSetting||{}),videoObjectFit:$(C?.videoObjectFit||{}),target:R?.target??"_self",href:w?.href??"",linkType:R?.type??"",hoverEffectDuration:C?.hoverEffectDuration,isYoutubeVideoMigrated:S?.isYoutubeVideoMigrated}),A=!!R?.link&&M,D=n({...r({uid:P?.uid||""})}),F=n(t()),G=l({...o(C,S,x)}),I=d({...s({setting:S,builderProps:P,advancedCssClass:_})}),Y=d({...a()}),q=()=>e({setting:S,translatedBackground:O,styles:C,children:B,enableLazyLoadImage:V,rawChildren:E.rawChildren,builderProps:P,pageContext:T});return m`
|
|
2
2
|
<gp-hero-banner
|
|
3
3
|
${{...y}}
|
|
4
4
|
${{...D}}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import{template as e,getAspectRatioGlobalSize as t,DEVICES as o,getResponsiveValueByScreen as s,hasTranslatedLiquid as i}from"@gem-sdk/core";import l from"../../grid/components/row/Row.liquid.js";import{createStyle as r,createClass as a,If as m}from"@gem-sdk/system";import d from"../../image/components/AdaptiveImage.liquid.js";import n from"../../video/components/HTML5Embed.liquid.js";import{getContainerStyle as p,getOverlayStyle as u,getRowStyle as c,getAdaptiveStyle as f,getBackgroundStyle as v,getContainBackgroundStyle as y,getYoutubeIframeStyle as g,getHtml5VideoStyle as j}from"../common/styles.js";import{getContainerClasses as $,getOverlayClasses as b,getRowClasses as h,getAdaptivePictureClasses as I,getAdaptiveClasses as w,getBackgroundClasses as T,getContainBackgroundClasses as k,getHtml5VideoClasses as N,getWrapperYoutubeClasses as q,getIframeYoutubeClasses as H,getLazyBackgroundClasses as C}from"../common/classes.js";import{getAspectRatio as z,getYoutubeAspectRatio as A,getBackgroundImageHeroBanner as B,horizontalAlign as L,getWidth as V,getBgImage as x,fallbackImg as E,getEnableBgImageByDevice as R,showVideoType as S,getResponsiveSetting as D}from"../common/helpers.js";import{getImageSrc as M}from"../../image/common/helpers.js";import O from"../../image/components/NextImage.liquid.js";import U from"../../video/components/LiteYouTubeEmbed.liquid.js";import{getYoutubeVideoId as W,youtubeVideoRegex as Y}from"../../video/common/helpers.js";import{isRenderHtmlVideo as F}from"../../grid/components/row/common/helpers.js";import{PRIORITY_LOAD_ATTRS as G}from"../../image/constants.js";import{getSeoTranslated as J}from"../../helpers.js";let HeroBannerItem=K=>{let{enableLazyLoadImage:P=!0,translatedBackground:Q,setting:X,styles:Z,children:_,builderProps:ee,rawChildren:et}=K,{layout:
|
|
2
|
-
<div class="${
|
|
1
|
+
import{template as e,getAspectRatioGlobalSize as t,DEVICES as o,getResponsiveValueByScreen as s,hasTranslatedLiquid as i}from"@gem-sdk/core";import l from"../../grid/components/row/Row.liquid.js";import{createStyle as r,createClass as a,If as m}from"@gem-sdk/system";import d from"../../image/components/AdaptiveImage.liquid.js";import n from"../../video/components/HTML5Embed.liquid.js";import{getContainerStyle as p,getOverlayStyle as u,getRowStyle as c,getAdaptiveStyle as f,getBackgroundStyle as v,getContainBackgroundStyle as y,getYoutubeIframeStyle as g,getHtml5VideoStyle as j}from"../common/styles.js";import{getContainerClasses as $,getOverlayClasses as b,getRowClasses as h,getAdaptivePictureClasses as I,getAdaptiveClasses as w,getBackgroundClasses as T,getContainBackgroundClasses as k,getHtml5VideoClasses as N,getWrapperYoutubeClasses as q,getIframeYoutubeClasses as H,getLazyBackgroundClasses as C}from"../common/classes.js";import{getAspectRatio as z,getYoutubeAspectRatio as A,getBackgroundImageHeroBanner as B,horizontalAlign as L,getWidth as V,getBgImage as x,fallbackImg as E,getEnableBgImageByDevice as R,showVideoType as S,getResponsiveSetting as D}from"../common/helpers.js";import{getImageSrc as M}from"../../image/common/helpers.js";import O from"../../image/components/NextImage.liquid.js";import U from"../../video/components/LiteYouTubeEmbed.liquid.js";import{getYoutubeVideoId as W,youtubeVideoRegex as Y}from"../../video/common/helpers.js";import{isRenderHtmlVideo as F}from"../../grid/components/row/common/helpers.js";import{PRIORITY_LOAD_ATTRS as G}from"../../image/constants.js";import{getSeoTranslated as J}from"../../helpers.js";let HeroBannerItem=K=>{let{enableLazyLoadImage:P=!0,translatedBackground:Q,setting:X,styles:Z,children:_,builderProps:ee,rawChildren:et,pageContext:eo}=K,{layout:es,verticalAlign:ei,enableParallax:el,alt:er,title:ea,preload:em,isYoutubeVideoMigrated:ed}=X??{},{background:en,overlayColor:ep,verticalGutter:eu,sizeSetting:ec,contentWidth:ef,hoverEffect:ev,contentPosition1Col:ey,contentPosition2Col:eg,videoObjectFit:ej}=Z??{},e$=!em&&P,eb=z(ec,en),eh=A(en,ej,eb),eI=D(Q||{}),ew=eI.desktop,eT=r({...p(Z)}),ek=a({...$(X,Z)}),eN=r({...u(Z)}),eq=a({...b(Z)}),eH=r({...c(Z)}),eC=a({...h(Z,X)}),ez=r({...f(Z)}),eA=a({...I()}),eB=a({...w()}),eL=a({...T(ev,e$)}),eV=r({...B(Q,e$,!1),...v(Z,el,"")}),ex=a({...k()}),eE=r({...y(Z)}),eR=a({...N(!1)}),eS=r({...g(eh,ej)}),eD=a({...q(ed)}),eM=r({...j(eb,ej,en)}),eO=a({...H()}),eU=e=>a({...C(e)}),eW=()=>{if(!em)return o.map(e=>m(R(e,Q),O({src:M(s(x(Q),e),e),alt:J({valueTranslate:er,uid:ee?.uid,settingId:"alt",pageContext:eo}),title:J({valueTranslate:ea,uid:ee?.uid,settingId:"title"}),className:eU(e),isDisableAspectStyle:!0,enableLazyLoadImage:P}))).join("")},eY=()=>{if(!S(en))return;if(F(en))return n({uid:ee?.uid,muted:!0,loop:ew?.loop,controls:!1,autoplay:!0,src:ew?.videoHtml5||"",title:"Video",style:eM,className:eR});let e=ew?.video??"",t=W(e),o=`&loop=false&playlist=${t}&showinfo=0&rel=0&fs=0&enablejsapi=1`,s=i(e);if(ew?.type==="video"&&ew?.videoType==="youtube"&&t&&Y.test(e)||s)return U({uid:ee?.uid,id:t??"",translatedVideoUrl:s?e:"",isHeroBanner:!0,autoplay:!0,title:"Video",controls:!1,params:o,adNetwork:!1,noCookie:!0,muted:!0,lazy:ew?.lazyLoad??!0,preload:!0,style:eS,wrapperClass:eD,iframeClass:eO})};return e`
|
|
2
|
+
<div class="${ek}" style="${eT}">
|
|
3
3
|
<div
|
|
4
|
-
class="${
|
|
5
|
-
style="${
|
|
4
|
+
class="${ex}"
|
|
5
|
+
style="${eE}"
|
|
6
6
|
>
|
|
7
|
-
<div class="${
|
|
8
|
-
${eU()}
|
|
7
|
+
<div class="${eL}" style="${eV}">
|
|
9
8
|
${eW()}
|
|
9
|
+
${eY()}
|
|
10
10
|
</div>
|
|
11
|
-
${m(!!
|
|
11
|
+
${m(!!ep,e`<div aria-label="Overlay" class="${eq}" style="${eN}"> </div>`)}
|
|
12
12
|
</div>
|
|
13
|
-
${l({className:
|
|
14
|
-
${d({pictureClass:
|
|
13
|
+
${l({className:eC,style:eH,setting:{layout:es,horizontalAlign:L(es,ey,eg),verticalAlign:ei},styles:{verticalGutter:eu,width:V(ef),fullWidth:{desktop:!1,tablet:!1,mobile:!1}},children:_,rawChildren:et})}
|
|
14
|
+
${d({pictureClass:eA,srcSet:x(Q),className:eB,...em&&G,aspectRatio:t(ec),style:ez,alt:J({valueTranslate:er,uid:ee?.uid,settingId:"alt"}),title:J({valueTranslate:ea,uid:ee?.uid,settingId:"title"}),enableLazyLoadImage:P,fallbackImg:E})}
|
|
15
15
|
</div>
|
|
16
16
|
`};export{HeroBannerItem as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getDynamicSourceLocales as e,createSettingId as t}from"../../../../helpers.js";import{ProductButton as s}from"../../../settings/product-button/configs/translate.js";let getButtonDynamicSourceLocales=({setting:a,builderProps:r,pageContext:o})=>{let i={pageContext:o,uid:r?.uid},u=(a,r)=>{let
|
|
1
|
+
import{getDynamicSourceLocales as e,createSettingId as t}from"../../../../helpers.js";import{ProductButton as s}from"../../../settings/product-button/configs/translate.js";let getButtonDynamicSourceLocales=({setting:a,builderProps:r,pageContext:o})=>{let i={pageContext:o,uid:r?.uid},u=(a,r)=>{let u=e({...i,pageContext:o,settingId:t({id:s[a]?.id}),val:r??""});return u};return{outOfStockButtonLabel:u("outOfStockLabel",a?.outOfStockLabel),unavailableButtonLabel:u("unavailableLabel","Unavailable"),variantSelectionRequiredMessage:u("variantSelectionRequiredMessage",a?.variantSelectionRequiredMessage),successMessage:u("successMessage",a?.successMessage),errorMessage:u("errorMessage",a?.errorMessage)}};export{getButtonDynamicSourceLocales};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getResponsiveValueByScreen as e,cloneDeep as t}from"@gem-sdk/core";import{getDynamicSourceLocales as o,createSettingId as i}from"../../helpers.js";import{Video as l}from"../settings/configs/translate.js";let getAspectRatioSettings=(t,o)=>{let i={desktop:t?.desktop?.width,tablet:t?.tablet?.width,mobile:t?.mobile?.width},l={desktop:t?.desktop?.height,tablet:t?.tablet?.height,mobile:t?.mobile?.height},s={desktop:o?.desktop==="custom"?`${e(i,"desktop")}/${e(l,"desktop")}`:o?.desktop==="cover"?"unset":o?.desktop,tablet:o?.tablet==="custom"?`${e(i,"tablet")}/${e(l,"tablet")}`:o?.tablet==="cover"?"unset":o?.tablet,mobile:o?.mobile==="custom"?`${e(i,"mobile")}/${e(l,"mobile")}`:o?.mobile==="cover"?"unset":o?.mobile};return s},getSettingTranslatedVideoAndThumbnail=(e,s,r)=>{if(!e||!s)return{};if(r?.isPreviewing)return e;let a=t(e);if(a.youtubeUrl&&"youtube"===a.type){let e=o({val:a.youtubeUrl,uid:s,settingId:i({id:l?.youtubeUrl?.id})});a.youtubeUrlTranslated=String(e)}if(a.vimeoUrl&&"vimeo"===a.type){let e=o({val:a.vimeoUrl,uid:s,settingId:i({id:l?.vimeoUrl?.id})});a.vimeoUrlTranslated=String(e)}if(a.html5Url&&"html5"===a.type){let e=o({val:a.html5Url,uid:s,settingId:i({id:l?.html5Url?.id})});a.html5Url=String(e)}if(a.poster){let e=o({val:a.poster?.src,uid:s,settingId:l?.poster?.id?`${l.poster.id}_src`:""});a.poster.src=String(e)}return a},getYoutubeParams=e=>{let{id:t,params:o,muted:i,webp:l,controls:s,adNetwork:r,autoplay:a,lazy:m}=e,d=encodeURIComponent(t),p="hqdefault",u=`${o}`||"",n=i?"&mute=1":"",b=l?"webp":"jpg",g=l?"vi_webp":"vi",c=e.thumbnail||`https://i.ytimg.com/${g}/${d}/${p}.${b}`,h=e.noCookie?"https://www.youtube-nocookie.com":"https://www.youtube.com",v=`${h}/embed/${d}?autoplay=${!!m||a}&state=1${n}${u}&controls=${s?1:0}`,$=r||!1;return{videoId:d,posterImp:p,paramsImp:u,mutedImp:n,format:b,vi:g,posterUrl:c,ytUrl:h,iframeSrc:v,adNetworkImp:$}},getVimeoParams=e=>{let{id:t,autoplay:o,muted:i,controls:l,loop:s,lazy:r}=e,a=encodeURIComponent(t),m=`?&autoplay=${r?1:o?1:0}&muted=${i?1:0}&loop=${s?1:0}&controls=${l}&autopause=false`,d=`https://player.vimeo.com/video/${a}${m}`;return{videoId:a,params:m,iframeSrc:d}},makeStyleResponsiveRatio=(e,t)=>({[`--${e}`]:t?.desktop,[`--${e}-tablet`]:t?.tablet,[`--${e}-mobile`]:t?.mobile}),fallbackImageVideoUrl="https://cdn.shopify.com/s/files/1/0703/5214/2562/files/gempages_518090459516502570-3d3a4631-1d7d-4a2f-9ef0-9bbe7220e02d.jpg",youtubeVideoRegex=/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=|shorts\/)|youtu\.be\/)([^"&?/\s]{11})/i,vimeoVideoRegex=/^(?:http:\/\/|https:\/\/)vimeo\.com\/[\w/]+(?:\?.*)?$/im,getYoutubeVideoId=e=>{let t=e.match(youtubeVideoRegex);return t?.[1]??void 0},getVimeoVideoId=e=>{let t=/https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|album\/(\d+)\/video\/|video\/)?(\d+)(?:$|\/|\?)/,o=e.match(t);return o?.[3]},parseTimeVideo=e=>{let t=e.split(":",2);return t.length<=1?parseInt(t[0]||"0"):60*parseInt(t[0]||"0")+parseInt(t[1]||"0")},covertStrParamsToObj=e=>{let t=e.split("&");return t.shift(),t.reduce((e,t)=>{let[o,i]=t.split("=");return"loop"!==o?{...e,[o]:i}:e},{})},isSettingLoop=e=>e.includes("loop=1");export{covertStrParamsToObj,fallbackImageVideoUrl,getAspectRatioSettings,getSettingTranslatedVideoAndThumbnail,getVimeoParams,getVimeoVideoId,getYoutubeParams,getYoutubeVideoId,isSettingLoop,makeStyleResponsiveRatio,parseTimeVideo,vimeoVideoRegex,youtubeVideoRegex};
|
|
1
|
+
import{getResponsiveValueByScreen as e,cloneDeep as t}from"@gem-sdk/core";import{getDynamicSourceLocales as o,createSettingId as i}from"../../helpers.js";import{Video as l}from"../settings/configs/translate.js";let getAspectRatioSettings=(t,o)=>{let i={desktop:t?.desktop?.width,tablet:t?.tablet?.width,mobile:t?.mobile?.width},l={desktop:t?.desktop?.height,tablet:t?.tablet?.height,mobile:t?.mobile?.height},s={desktop:o?.desktop==="custom"?`${e(i,"desktop")}/${e(l,"desktop")}`:o?.desktop==="cover"?"unset":o?.desktop,tablet:o?.tablet==="custom"?`${e(i,"tablet")}/${e(l,"tablet")}`:o?.tablet==="cover"?"unset":o?.tablet,mobile:o?.mobile==="custom"?`${e(i,"mobile")}/${e(l,"mobile")}`:o?.mobile==="cover"?"unset":o?.mobile};return s},getSettingTranslatedVideoAndThumbnail=(e,s,r)=>{if(!e||!s)return{};if(r?.isPreviewing)return e;let a=t(e);if(a.youtubeUrl&&"youtube"===a.type){let e=o({val:a.youtubeUrl,uid:s,settingId:i({id:l?.youtubeUrl?.id}),pageContext:r});a.youtubeUrlTranslated=String(e)}if(a.vimeoUrl&&"vimeo"===a.type){let e=o({val:a.vimeoUrl,uid:s,settingId:i({id:l?.vimeoUrl?.id}),pageContext:r});a.vimeoUrlTranslated=String(e)}if(a.html5Url&&"html5"===a.type){let e=o({val:a.html5Url,uid:s,settingId:i({id:l?.html5Url?.id}),pageContext:r});a.html5Url=String(e)}if(a.poster){let e=o({val:a.poster?.src,uid:s,settingId:l?.poster?.id?`${l.poster.id}_src`:"",pageContext:r});a.poster.src=String(e)}return a},getYoutubeParams=e=>{let{id:t,params:o,muted:i,webp:l,controls:s,adNetwork:r,autoplay:a,lazy:m}=e,d=encodeURIComponent(t),p="hqdefault",u=`${o}`||"",n=i?"&mute=1":"",b=l?"webp":"jpg",g=l?"vi_webp":"vi",c=e.thumbnail||`https://i.ytimg.com/${g}/${d}/${p}.${b}`,h=e.noCookie?"https://www.youtube-nocookie.com":"https://www.youtube.com",v=`${h}/embed/${d}?autoplay=${!!m||a}&state=1${n}${u}&controls=${s?1:0}`,$=r||!1;return{videoId:d,posterImp:p,paramsImp:u,mutedImp:n,format:b,vi:g,posterUrl:c,ytUrl:h,iframeSrc:v,adNetworkImp:$}},getVimeoParams=e=>{let{id:t,autoplay:o,muted:i,controls:l,loop:s,lazy:r}=e,a=encodeURIComponent(t),m=`?&autoplay=${r?1:o?1:0}&muted=${i?1:0}&loop=${s?1:0}&controls=${l}&autopause=false`,d=`https://player.vimeo.com/video/${a}${m}`;return{videoId:a,params:m,iframeSrc:d}},makeStyleResponsiveRatio=(e,t)=>({[`--${e}`]:t?.desktop,[`--${e}-tablet`]:t?.tablet,[`--${e}-mobile`]:t?.mobile}),fallbackImageVideoUrl="https://cdn.shopify.com/s/files/1/0703/5214/2562/files/gempages_518090459516502570-3d3a4631-1d7d-4a2f-9ef0-9bbe7220e02d.jpg",youtubeVideoRegex=/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=|shorts\/)|youtu\.be\/)([^"&?/\s]{11})/i,vimeoVideoRegex=/^(?:http:\/\/|https:\/\/)vimeo\.com\/[\w/]+(?:\?.*)?$/im,getYoutubeVideoId=e=>{let t=e.match(youtubeVideoRegex);return t?.[1]??void 0},getVimeoVideoId=e=>{let t=/https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|album\/(\d+)\/video\/|video\/)?(\d+)(?:$|\/|\?)/,o=e.match(t);return o?.[3]},parseTimeVideo=e=>{let t=e.split(":",2);return t.length<=1?parseInt(t[0]||"0"):60*parseInt(t[0]||"0")+parseInt(t[1]||"0")},covertStrParamsToObj=e=>{let t=e.split("&");return t.shift(),t.reduce((e,t)=>{let[o,i]=t.split("=");return"loop"!==o?{...e,[o]:i}:e},{})},isSettingLoop=e=>e.includes("loop=1");export{covertStrParamsToObj,fallbackImageVideoUrl,getAspectRatioSettings,getSettingTranslatedVideoAndThumbnail,getVimeoParams,getVimeoVideoId,getYoutubeParams,getYoutubeVideoId,isSettingLoop,makeStyleResponsiveRatio,parseTimeVideo,vimeoVideoRegex,youtubeVideoRegex};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -8037,10 +8037,11 @@ declare const getAllHrefFromString: (htmlString: string) => string[];
|
|
|
8037
8037
|
declare const replaceAllHrefFromString: (htmlString: string, hrefs: string[]) => string;
|
|
8038
8038
|
declare function isEmptyObject(obj: Record<string, any>): boolean;
|
|
8039
8039
|
declare const handleClickLink: (setting?: ImageLink, mode?: RenderMode) => void;
|
|
8040
|
-
declare const getSeoTranslated: ({ valueTranslate, uid, settingId, }: {
|
|
8040
|
+
declare const getSeoTranslated: ({ valueTranslate, uid, settingId, pageContext, }: {
|
|
8041
8041
|
valueTranslate?: string | undefined;
|
|
8042
8042
|
settingId: 'alt' | 'title';
|
|
8043
8043
|
uid?: string | undefined;
|
|
8044
|
+
pageContext?: PageContext | undefined;
|
|
8044
8045
|
}) => string | undefined;
|
|
8045
8046
|
declare const getBackgroundTranslated: ({ background, enableTranslate, uid, pageContext, isTranslateVideo, }: {
|
|
8046
8047
|
background?: Partial<Record<NameDevices, BackgroundMedia>> | undefined;
|