@gem-sdk/pages 23.0.0-dev.2 → 23.0.0-dev.33

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.
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react/jsx-runtime"),e=require("./toolbar/utils/getChildrenByAttrSelector.js"),r=require("./toolbar/utils/waitForElementToExist.js"),o=require("./toolbar/const.js"),a=require("./toolbar/utils/getDOMElementParents.js"),i=require("./toolbar/utils/findOverflowParent.js"),n=require("./toolbar/utils/findDOMClosest.js"),l=require("react"),d=require("./toolbar/utils/isOverParent.js"),u=l.memo(()=>{let u=l.useRef(null),c=l.useRef(!1),s=l.useRef(),b=l.useRef(!1),f=l.useRef([]),m=l.useRef([]),v=l.useRef([]),h=({state:t,$toolbar:e,$component:r})=>{let a=i.findOverflowParent(r,e),n=e.getBoundingClientRect(),l=r.getBoundingClientRect(),d=window.innerWidth;a?l?.height<=60?e.setAttribute(`data-toolbar-${t}-revert`,"true"):e.setAttribute(`data-toolbar-${t}-inside`,"true"):n.top<o.TOOLBAR_ACTIVE_HEIGHT+1&&(l?.height<=60?e.setAttribute(`data-toolbar-${t}-revert`,"true"):e.setAttribute(`data-toolbar-${t}-inside`,"true")),l.left+n.width>d&&e.setAttribute(`data-toolbar-${t}-overflow`,"true");let u=r?.closest('[aria-label="Dialog body"]');if(u){let r=u.getBoundingClientRect(),o=r.left+r.width-20;l.left+n.width>o&&e.setAttribute(`data-toolbar-${t}-overflow`,"true")}},g=l.useCallback(({$component:t,componentUid:r,focus:o,isPreventSection:a,isParent:i})=>{if(!t&&!r)return;if(!t){let e=document.body.querySelector("#storefront")?.querySelector(`[data-uid="${r}"]`);if(!e)return;t=e}if(!r){let e=t.getAttribute("data-uid");if(!e)return;r=e}f.current.push(t);let n=e.getChildrenByAttrSelector(t,"data-toolbar"),l=e.getChildrenByAttrSelector(t,"data-outline"),d=e.getChildrenByAttrSelector(t,"data-toolbar-add-top"),u=e.getChildrenByAttrSelector(t,"data-toolbar-add-bottom"),c=e.getChildrenByAttrSelector(t,"data-theme-section-status");a&&c&&c.setAttribute("data-theme-section-status-active","true"),n&&(n.removeAttribute("style"),i||n.setAttribute("data-toolbar-hover","true"),o&&n.setAttribute("data-toolbar-hover-focus","true"),h({$toolbar:n,$component:t,state:"hover"})),l&&(l.setAttribute("data-outline-hover","true"),i&&l.setAttribute("data-outline-parent-hover","true"),a&&(m.current.push(t),l.setAttribute("data-outline-overlay-theme-section","true")),o&&l.setAttribute("data-outline-hover-focus","true")),d&&!i&&d.setAttribute("data-toolbar-add-hover","true"),u&&!i&&u.setAttribute("data-toolbar-add-hover","true")},[]),p=l.useCallback(({$component:t,componentUid:e})=>{if(!t){let r=document.body.querySelector("#storefront")?.querySelector(`[data-uid="${e}"]`);if(!r)return;t=r}let r=a.getDOMElementParents(t,'[data-uid][data-component-type="component"]:not([data-component-no-setting])',1);if(r.length){for(let t of r)t&&g({$component:t,isParent:!0});A({$component:t,$parents:r})}},[g]),A=({$component:t,$parents:r})=>{if(!t||!r?.length)return;let a=e.getChildrenByAttrSelector(t,"data-toolbar-hover-focus");if(a){let t=a.getBoundingClientRect(),i=!!a.getAttribute("data-toolbar-hover-revert"),n=!!a.getAttribute("data-toolbar-hover-inside"),l=1;for(let a of r)if(a){let r=a.getAttribute("data-component-tag");if("Section"===r)continue;let u=e.getChildrenByAttrSelector(a,"data-toolbar-hover");if(u){let e=u.getAttribute("data-toolbar-active");if(e)continue;let r=u.getBoundingClientRect(),a=i||n;if(d.isOverParent({current:t,parent:r,index:l,revert:a})){let e=getComputedStyle(u),i=t.top-r.top,n=t.left-r.left,d=parseFloat(e.top)+i-(o.TOOLBAR_HOVER_HEIGHT-1)*l;a&&(d=parseFloat(e.top)-i+(o.TOOLBAR_HOVER_HEIGHT-1)*l);let c=parseFloat(e.left)+n;u.setAttribute("style",`top: ${d}px;left: ${c}px;`),l++}}}}},y=l.useCallback(()=>{let t=["data-outline-overlay-theme-section","data-theme-section-status-active"],e=m.current;if(e.length)for(let r of e){let e=r.querySelectorAll(t.map(t=>`[${t}]`).join(","));e&&t.forEach(t=>{e.forEach(e=>e.removeAttribute(t))})}m.current=[]},[]),w=l.useCallback(()=>{let t=["data-toolbar-hover-focus","data-toolbar-hover","data-outline-hover-focus","data-toolbar-hover-revert","data-toolbar-hover-inside","data-outline-hover","data-toolbar-add-hover","data-outline-parent-hover","data-toolbar-hover-overflow"],e=f.current;if(e.length)for(let r of e){let e=r.querySelectorAll(t.map(t=>`[${t}]`).join(","));e&&t.forEach(t=>{e.forEach(e=>e.removeAttribute(t))})}y(),f.current=[]},[y]),E=l.useCallback(()=>{u.current=null;let t=["data-toolbar-active","data-outline-active","data-toolbar-add-active","data-toolbar-active-revert","data-toolbar-active-inside","data-spacing-margin-bottom-active","data-toolbar-force-hover","data-outline-force-hover","data-toolbar-active-overflow"],e=v.current;if(e.length)for(let r of e){let e=r.querySelectorAll(t.map(t=>`[${t}]`).join(","));e&&t.forEach(t=>{e.forEach(e=>e.removeAttribute(t))})}v.current=[],q(!1),s.current&&s.current()},[]),C=l.useCallback(({$component:t})=>{if(!t)return;let r=getComputedStyle(t),o=e.getChildrenByAttrSelector(t,"data-spacing"),a=o?.querySelector("[data-spacing-margin-bottom]")||null;if(a){let t=a.querySelector("[data-spacing-margin-bottom-bg]")||null,e=a.querySelector("[data-spacing-margin-bottom-drag]")||null;if(t&&e){let o=r.marginBottom;t.style.height=o,e.style.top=o,a.setAttribute("data-spacing-margin-bottom-active","true")}}},[]),S=({componentUid:t,productId:e,articleId:r,marqueeKey:o,carouselItemKey:a})=>r?`${r?`[data-article-id="${r}"][data-uid="${t}"], [data-article-id="${r}"] [data-uid="${t}"]`:`[data-uid="${t}"]`}`:o?`[marquee-item-key="${o}"] [data-uid="${t}"]`:a?`[data-carousel-item-key="${a}"] [data-uid="${t}"]`:`${e?`[data-product-id="${e}"][data-uid="${t}"], [data-product-id="${e}"] [data-uid="${t}"]`:`[data-uid="${t}"]`}`,$=l.useCallback(async({componentUid:t,productId:o,timeAwait:a=600,articleId:i,forceReActive:l,marqueeKey:d,carouselItemKey:c})=>{if(!t)return;let s=S({componentUid:t,productId:o,articleId:i,marqueeKey:d,carouselItemKey:c}),b=await r.waitForElementToExist(s,a);if(!b||!l&&t==u.current?.componentUid&&o==u.current?.productId&&i==u.current?.articleId&&d==u.current?.marqueeKey&&c==u.current?.carouselItemKey)return;(t!==u.current?.componentUid||o!==u.current?.productId||i!==u.current?.articleId||c!==u.current?.carouselItemKey||l)&&E(),(l||t===u.current?.componentUid)&&o===u.current?.productId&&d===u.current?.marqueeKey&&c===u.current?.carouselItemKey||E(),v.current.push(b);let f=e.getChildrenByAttrSelector(b,"data-toolbar"),m=e.getChildrenByAttrSelector(b,"data-outline"),g=e.getChildrenByAttrSelector(b,"data-toolbar-add-top"),p=e.getChildrenByAttrSelector(b,"data-toolbar-add-bottom");f&&(u.current={componentUid:t,productId:o,articleId:i,marqueeKey:d,carouselItemKey:c},f.removeAttribute("style"),f.setAttribute("data-toolbar-active","true"),h({$toolbar:f,$component:b,state:"active"})),m&&m.setAttribute("data-outline-active","true"),g&&g.setAttribute("data-toolbar-add-active","true"),p&&p.setAttribute("data-toolbar-add-active","true");let{$isChildOfMarquee:A,$section:y}=n.findDOMClosest(b,{$isChildOfMarquee:'[data-component-tag="Marquee"]',$section:'[data-component-tag="Section"]'});if(y&&(o||i||A)){let r=y.querySelectorAll(`[data-uid="${t}"]`);r?.length&&r.forEach(t=>{v.current.push(t);let r=e.getChildrenByAttrSelector(t,"data-outline");r&&r.setAttribute("data-outline-active","true")})}C({$component:b}),w()},[E,w,C]),q=async t=>{if(t){if(u.current?.componentUid){let o=S({...u.current}),a=await r.waitForElementToExist(o,500);if(a){let r=e.getChildrenByAttrSelector(a,"data-toolbar"),o=e.getChildrenByAttrSelector(a,"data-outline"),i=e.getChildrenByAttrSelector(a,"data-spacing");r&&t&&r.setAttribute("data-toolbar-editor-inline-focus","true"),o&&t&&o.setAttribute("data-outline-editor-inline-focus","true"),i&&t&&i.setAttribute("data-spacing-hidden","true")}}}else{let t=document.body.querySelector("#storefront")?.querySelectorAll("[data-outline-editor-inline-focus],[data-toolbar-editor-inline-focus],[data-spacing-hidden]");t?.length&&t.forEach(t=>{t&&(t.removeAttribute("data-toolbar-editor-inline-focus"),t.removeAttribute("data-outline-editor-inline-focus"),t.removeAttribute("data-spacing-hidden"))})}},B=l.useCallback(t=>{let r=t.closest("[data-theme-section]"),o=r?.getAttribute("data-uid"),a=r&&o===u.current?.componentUid;if(!a)return;m.current.push(r);let i=e.getChildrenByAttrSelector(r,"data-theme-section-status");i&&i.setAttribute("data-theme-section-status-active","true")},[]),L=async({value:t})=>{if(!t||!u.current)return;let o=!1,a=S({...u.current}),i=await r.waitForElementToExist(a,500);if(i){let t=i?.querySelectorAll("[data-toolbar-parent]");if(t.length){let a=t=>{if(o)return;let r=t.getAttribute("data-parent-uid");if(!r)return;let a=document.body.querySelector("#storefront")?.querySelectorAll(`[data-uid="${r}"]`);a?.length&&a.forEach(t=>{let r=e.getChildrenByAttrSelector(t,"data-outline");r&&(r.setAttribute("data-outline-force-hover","true"),r.setAttribute("data-outline-force-overlay","true"))})},i=t=>{let r=t.getAttribute("data-parent-uid");if(!r)return;let o=document.body.querySelector("#storefront")?.querySelectorAll(`[data-uid="${r}"]`);o?.length&&o.forEach(t=>{let r=e.getChildrenByAttrSelector(t,"data-outline");r&&(r.removeAttribute("data-outline-force-hover"),r.removeAttribute("data-outline-force-overlay"))})},n=async t=>{o=!0;let e=t.getAttribute("data-parent-uid");if(!e)return;let a=async()=>{let t=await r.waitForElementToExist(`[data-uid="${e}"]`,500),o=t?.closest("[data-product-id]");return!!o?.getAttribute("data-product-id")},n=async()=>{let t=await r.waitForElementToExist(`[data-uid="${e}"]`,500),o=t?.closest("[data-article-id]");return!!o?.getAttribute("data-article-id")},l=async()=>{let t=await r.waitForElementToExist(`[data-uid="${e}"]`,500),o=t?.closest("[data-carousel-item-key]");return!!o?.getAttribute("data-carousel-item-key")},d="",c="",s="";await a()&&(d=u.current?.productId||""),await n()&&(c=u.current?.articleId||""),await l()&&(s=u.current?.carouselItemKey||"");let b=new CustomEvent("editor:toolbar:force-active-component",{bubbles:!0,detail:{componentUid:e,productId:d,articleId:c,carouselItemKey:s,elementTag:t.getAttribute("data-component-tag")||""}});i(t),window.dispatchEvent(b),setTimeout(()=>{o=!1},0)};t.forEach(t=>{t.addEventListener("mouseover",()=>a(t)),t.addEventListener("mouseout",()=>i(t)),t.addEventListener("click",()=>n(t))})}}},I=l.useCallback(t=>{if(c.current||b.current)return;let r=t.target;if(!r||"function"!=typeof r.closest){y(),w();return}let{$toolbarHover:o,$component:a,$themeSection:i,$shopifySection:l}=n.findDOMClosest(r,{$toolbarHover:"[data-toolbar-hover]",$component:"[data-toolbar-wrap]",$themeSection:"[data-theme-section]",$shopifySection:"[data-shopify-section]"});if(o)return;let d=a?.getAttribute("data-uid");if(!a||!d||"ROOT"==d){w();return}let s=e.getChildrenByAttrSelector(a,"data-toolbar");if(!d||"ROOT"==d||s?.getAttribute("data-toolbar-hover-focus"))return;s?.getAttribute("data-toolbar-hover-focus")||w(),B(r);let f=i||l;if(d==u.current?.componentUid){if(u.current.productId){let t=a.closest("[data-product-id]");if(t){let e=t.getAttribute("data-product-id");if(e==u.current.productId){w();return}}}if(!f)return;g({$component:f,focus:!0,isPreventSection:!0})}f?g({$component:f,focus:!0,isPreventSection:!0}):(g({$component:a,componentUid:d,focus:!0}),p({$component:a,componentUid:d}))},[B,w,g,p,y,u]),O=l.useCallback(t=>{if(c.current)return;let e=t.detail;e?.componentUid?$({componentUid:e.componentUid,productId:e.productId,articleId:e.articleId,marqueeKey:e.marqueeKey,carouselItemKey:e.carouselItemKey}):E()},[$,E,c]),k=l.useCallback(()=>{w()},[w]),R=l.useCallback(t=>{let e=t.detail;e.value&&(w(),E()),c.current=e.value},[w,E]),T=l.useCallback(t=>{let e=t.detail;e.value?q(!0):q(!1)},[]),x=l.useCallback(t=>{if(c.current)return;let e=t.detail;L({value:e?.value||!1})},[]),U=l.useCallback(t=>{let e=t.detail;e?.value?(w(),b.current=!0):b.current=!1},[w]),j=(t,r)=>{if(!t)return;let o=document.body.querySelector("#storefront")?.querySelectorAll(`[data-uid="${t}"]`);o?.length&&o.forEach(t=>{let o=e.getChildrenByAttrSelector(t,"data-outline");o&&("in"===r?(o.setAttribute("data-outline-force-hover","true"),o.setAttribute("data-outline-force-overlay","true")):(o.removeAttribute("data-outline-force-hover"),o.removeAttribute("data-outline-force-overlay")))})},F=l.useCallback(t=>{if(c.current)return;let e=t.detail;e?.componentUid&&j(e?.componentUid,e?.type)},[c]),K=t=>{let e=t.detail;u.current?.componentUid&&e?.componentUid==u.current?.componentUid&&$({...u.current})},P=l.useCallback(t=>{let e=t.detail;document.body.toggleAttribute("data-editor-mobile",!!e?.isEditorMobile)},[]);return l.useEffect(()=>(document.addEventListener("mousemove",I),window.addEventListener("editor:active-component",O),window.addEventListener("editor:focus-outside-preview",k),window.addEventListener("editor:is-dragging",R),window.addEventListener("editor:is-editing-text-editor",T),window.addEventListener("editor:toolbar:show-parents",x),window.addEventListener("editor:toolbar:resize-spacing",U),window.addEventListener("editor:hover-component",F),window.addEventListener("editor:component:render",K),window.addEventListener("editor:editor-mobile-change",P),()=>{document.removeEventListener("mousemove",I),window.removeEventListener("editor:active-component",O),window.removeEventListener("editor:is-dragging",k),window.removeEventListener("editor:is-dragging",R),window.removeEventListener("editor:is-editing-text-editor",T),window.removeEventListener("editor:toolbar:show-parents",x),window.removeEventListener("editor:toolbar:resize-spacing",U),window.removeEventListener("editor:hover-component",F),window.removeEventListener("editor:component:render",K),window.removeEventListener("editor:editor-mobile-change",P),document.body.removeAttribute("data-editor-mobile")}),[I,O,k,R,T,x,U,F,K,P]),t.jsx(t.Fragment,{})});exports.default=u;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react/jsx-runtime"),e=require("./toolbar/utils/syncOverlayRect.js"),r=require("./toolbar/utils/getChildrenByAttrSelector.js"),o=require("./toolbar/utils/waitForElementToExist.js"),a=require("./toolbar/const.js"),i=require("./toolbar/utils/getDOMElementParents.js"),n=require("./toolbar/utils/findOverflowParent.js"),l=require("./toolbar/utils/findDOMClosest.js"),d=require("react"),u=require("./toolbar/utils/isOverParent.js"),c=d.memo(()=>{let c=d.useRef(null),s=d.useRef(!1),b=d.useRef(),v=d.useRef(!1),f=d.useRef([]),m=d.useRef([]),h=d.useRef([]),g=d.useRef(),p=d.useCallback(()=>{h.current.forEach(t=>e.syncOverlayRect({$component:t}))},[]),y=d.useCallback(t=>{g.current||(g.current=new ResizeObserver(()=>p())),g.current.observe(t);let r=e.getOverlayContainingBlock(t);r&&g.current.observe(r)},[p]),A=d.useCallback(()=>{g.current?.disconnect()},[]),w=({state:t,$toolbar:e,$component:r})=>{let o=n.findOverflowParent(r,e),i=e.getBoundingClientRect(),l=r.getBoundingClientRect(),d=window.innerWidth;o?l?.height<=60?e.setAttribute(`data-toolbar-${t}-revert`,"true"):e.setAttribute(`data-toolbar-${t}-inside`,"true"):i.top<a.TOOLBAR_ACTIVE_HEIGHT+1&&(l?.height<=60?e.setAttribute(`data-toolbar-${t}-revert`,"true"):e.setAttribute(`data-toolbar-${t}-inside`,"true")),l.left+i.width>d&&e.setAttribute(`data-toolbar-${t}-overflow`,"true");let u=r?.closest('[aria-label="Dialog body"]');if(u){let r=u.getBoundingClientRect(),o=r.left+r.width-20;l.left+i.width>o&&e.setAttribute(`data-toolbar-${t}-overflow`,"true")}},E=d.useCallback(({$component:t,componentUid:o,focus:a,isPreventSection:i,isParent:n})=>{if(!t&&!o)return;if(!t){let e=document.body.querySelector("#storefront")?.querySelector(`[data-uid="${o}"]`);if(!e)return;t=e}if(!o){let e=t.getAttribute("data-uid");if(!e)return;o=e}f.current.push(t),e.syncOverlayRect({$component:t});let l=r.getChildrenByAttrSelector(t,"data-toolbar"),d=r.getChildrenByAttrSelector(t,"data-outline"),u=r.getChildrenByAttrSelector(t,"data-toolbar-add-top"),c=r.getChildrenByAttrSelector(t,"data-toolbar-add-bottom"),s=r.getChildrenByAttrSelector(t,"data-theme-section-status");i&&s&&s.setAttribute("data-theme-section-status-active","true"),l&&(l.removeAttribute("style"),n||l.setAttribute("data-toolbar-hover","true"),a&&l.setAttribute("data-toolbar-hover-focus","true"),w({$toolbar:l,$component:t,state:"hover"})),d&&(d.setAttribute("data-outline-hover","true"),n&&d.setAttribute("data-outline-parent-hover","true"),i&&(m.current.push(t),d.setAttribute("data-outline-overlay-theme-section","true")),a&&d.setAttribute("data-outline-hover-focus","true")),u&&!n&&u.setAttribute("data-toolbar-add-hover","true"),c&&!n&&c.setAttribute("data-toolbar-add-hover","true")},[]),C=d.useCallback(({$component:t,componentUid:e})=>{if(!t){let r=document.body.querySelector("#storefront")?.querySelector(`[data-uid="${e}"]`);if(!r)return;t=r}let r=i.getDOMElementParents(t,'[data-uid][data-component-type="component"]:not([data-component-no-setting])',1);if(r.length){for(let t of r)t&&E({$component:t,isParent:!0});S({$component:t,$parents:r})}},[E]),S=({$component:t,$parents:e})=>{if(!t||!e?.length)return;let o=r.getChildrenByAttrSelector(t,"data-toolbar-hover-focus");if(o){let t=o.getBoundingClientRect(),i=!!o.getAttribute("data-toolbar-hover-revert"),n=!!o.getAttribute("data-toolbar-hover-inside"),l=1;for(let o of e)if(o){let e=o.getAttribute("data-component-tag");if("Section"===e)continue;let d=r.getChildrenByAttrSelector(o,"data-toolbar-hover");if(d){let e=d.getAttribute("data-toolbar-active");if(e)continue;let r=d.getBoundingClientRect(),o=i||n;if(u.isOverParent({current:t,parent:r,index:l,revert:o})){let e=getComputedStyle(d),i=t.top-r.top,n=t.left-r.left,u=parseFloat(e.top)+i-(a.TOOLBAR_HOVER_HEIGHT-1)*l;o&&(u=parseFloat(e.top)-i+(a.TOOLBAR_HOVER_HEIGHT-1)*l);let c=parseFloat(e.left)+n;d.setAttribute("style",`top: ${u}px;left: ${c}px;`),l++}}}}},$=d.useCallback(()=>{let t=["data-outline-overlay-theme-section","data-theme-section-status-active"],e=m.current;if(e.length)for(let r of e){let e=r.querySelectorAll(t.map(t=>`[${t}]`).join(","));e&&t.forEach(t=>{e.forEach(e=>e.removeAttribute(t))})}m.current=[]},[]),q=d.useCallback(()=>{let t=["data-toolbar-hover-focus","data-toolbar-hover","data-outline-hover-focus","data-toolbar-hover-revert","data-toolbar-hover-inside","data-outline-hover","data-toolbar-add-hover","data-outline-parent-hover","data-toolbar-hover-overflow"],r=f.current;if(r.length)for(let o of r){h.current.includes(o)||e.clearOverlayRect({$component:o});let r=o.querySelectorAll(t.map(t=>`[${t}]`).join(","));r&&t.forEach(t=>{r.forEach(e=>e.removeAttribute(t))})}$(),f.current=[]},[$]),B=d.useCallback(()=>{c.current=null,A();let t=["data-toolbar-active","data-outline-active","data-toolbar-add-active","data-toolbar-active-revert","data-toolbar-active-inside","data-spacing-margin-bottom-active","data-toolbar-force-hover","data-outline-force-hover","data-toolbar-active-overflow"],r=h.current;if(r.length)for(let o of r){f.current.includes(o)||e.clearOverlayRect({$component:o});let r=o.querySelectorAll(t.map(t=>`[${t}]`).join(","));r&&t.forEach(t=>{r.forEach(e=>e.removeAttribute(t))})}h.current=[],L(!1),b.current&&b.current()},[A]),O=d.useCallback(({$component:t})=>{if(!t)return;let e=getComputedStyle(t),o=r.getChildrenByAttrSelector(t,"data-spacing"),a=o?.querySelector("[data-spacing-margin-bottom]")||null;if(a){let t=a.querySelector("[data-spacing-margin-bottom-bg]")||null,r=a.querySelector("[data-spacing-margin-bottom-drag]")||null;if(t&&r){let o=e.marginBottom;t.style.height=o,r.style.top=o,a.setAttribute("data-spacing-margin-bottom-active","true")}}},[]),k=({componentUid:t,productId:e,articleId:r,marqueeKey:o,carouselItemKey:a})=>r?`${r?`[data-article-id="${r}"][data-uid="${t}"], [data-article-id="${r}"] [data-uid="${t}"]`:`[data-uid="${t}"]`}`:o?`[marquee-item-key="${o}"] [data-uid="${t}"]`:a?`[data-carousel-item-key="${a}"] [data-uid="${t}"]`:`${e?`[data-product-id="${e}"][data-uid="${t}"], [data-product-id="${e}"] [data-uid="${t}"]`:`[data-uid="${t}"]`}`,R=d.useCallback(async({componentUid:t,productId:a,timeAwait:i=600,articleId:n,forceReActive:d,marqueeKey:u,carouselItemKey:s})=>{if(!t)return;let b=k({componentUid:t,productId:a,articleId:n,marqueeKey:u,carouselItemKey:s}),v=await o.waitForElementToExist(b,i);if(!v||!d&&t==c.current?.componentUid&&a==c.current?.productId&&n==c.current?.articleId&&u==c.current?.marqueeKey&&s==c.current?.carouselItemKey)return;(t!==c.current?.componentUid||a!==c.current?.productId||n!==c.current?.articleId||s!==c.current?.carouselItemKey||d)&&B(),(d||t===c.current?.componentUid)&&a===c.current?.productId&&u===c.current?.marqueeKey&&s===c.current?.carouselItemKey||B(),h.current.push(v),e.syncOverlayRect({$component:v}),y(v);let f=r.getChildrenByAttrSelector(v,"data-toolbar"),m=r.getChildrenByAttrSelector(v,"data-outline"),g=r.getChildrenByAttrSelector(v,"data-toolbar-add-top"),p=r.getChildrenByAttrSelector(v,"data-toolbar-add-bottom");f&&(c.current={componentUid:t,productId:a,articleId:n,marqueeKey:u,carouselItemKey:s},f.removeAttribute("style"),f.setAttribute("data-toolbar-active","true"),w({$toolbar:f,$component:v,state:"active"})),m&&m.setAttribute("data-outline-active","true"),g&&g.setAttribute("data-toolbar-add-active","true"),p&&p.setAttribute("data-toolbar-add-active","true");let{$isChildOfMarquee:A,$section:E}=l.findDOMClosest(v,{$isChildOfMarquee:'[data-component-tag="Marquee"]',$section:'[data-component-tag="Section"]'});if(E&&(a||n||A)){let o=E.querySelectorAll(`[data-uid="${t}"]`);o?.length&&o.forEach(t=>{h.current.push(t),e.syncOverlayRect({$component:t}),y(t);let o=r.getChildrenByAttrSelector(t,"data-outline");o&&o.setAttribute("data-outline-active","true")})}O({$component:v}),q()},[y,B,q,O]),L=async t=>{if(t){if(c.current?.componentUid){let e=k({...c.current}),a=await o.waitForElementToExist(e,500);if(a){let e=r.getChildrenByAttrSelector(a,"data-toolbar"),o=r.getChildrenByAttrSelector(a,"data-outline"),i=r.getChildrenByAttrSelector(a,"data-spacing");e&&t&&e.setAttribute("data-toolbar-editor-inline-focus","true"),o&&t&&o.setAttribute("data-outline-editor-inline-focus","true"),i&&t&&i.setAttribute("data-spacing-hidden","true")}}}else{let t=document.body.querySelector("#storefront")?.querySelectorAll("[data-outline-editor-inline-focus],[data-toolbar-editor-inline-focus],[data-spacing-hidden]");t?.length&&t.forEach(t=>{t&&(t.removeAttribute("data-toolbar-editor-inline-focus"),t.removeAttribute("data-outline-editor-inline-focus"),t.removeAttribute("data-spacing-hidden"))})}},I=d.useCallback(t=>{let e=t.closest("[data-theme-section]"),o=e?.getAttribute("data-uid"),a=e&&o===c.current?.componentUid;if(!a)return;m.current.push(e);let i=r.getChildrenByAttrSelector(e,"data-theme-section-status");i&&i.setAttribute("data-theme-section-status-active","true")},[]),T=async({value:t})=>{if(!t||!c.current)return;let e=!1,a=k({...c.current}),i=await o.waitForElementToExist(a,500);if(i){let t=i?.querySelectorAll("[data-toolbar-parent]");if(t.length){let a=t=>{if(e)return;let o=t.getAttribute("data-parent-uid");if(!o)return;let a=document.body.querySelector("#storefront")?.querySelectorAll(`[data-uid="${o}"]`);a?.length&&a.forEach(t=>{let e=r.getChildrenByAttrSelector(t,"data-outline");e&&(e.setAttribute("data-outline-force-hover","true"),e.setAttribute("data-outline-force-overlay","true"))})},i=t=>{let e=t.getAttribute("data-parent-uid");if(!e)return;let o=document.body.querySelector("#storefront")?.querySelectorAll(`[data-uid="${e}"]`);o?.length&&o.forEach(t=>{let e=r.getChildrenByAttrSelector(t,"data-outline");e&&(e.removeAttribute("data-outline-force-hover"),e.removeAttribute("data-outline-force-overlay"))})},n=async t=>{e=!0;let r=t.getAttribute("data-parent-uid");if(!r)return;let a=async()=>{let t=await o.waitForElementToExist(`[data-uid="${r}"]`,500),e=t?.closest("[data-product-id]");return!!e?.getAttribute("data-product-id")},n=async()=>{let t=await o.waitForElementToExist(`[data-uid="${r}"]`,500),e=t?.closest("[data-article-id]");return!!e?.getAttribute("data-article-id")},l=async()=>{let t=await o.waitForElementToExist(`[data-uid="${r}"]`,500),e=t?.closest("[data-carousel-item-key]");return!!e?.getAttribute("data-carousel-item-key")},d="",u="",s="";await a()&&(d=c.current?.productId||""),await n()&&(u=c.current?.articleId||""),await l()&&(s=c.current?.carouselItemKey||"");let b=new CustomEvent("editor:toolbar:force-active-component",{bubbles:!0,detail:{componentUid:r,productId:d,articleId:u,carouselItemKey:s,elementTag:t.getAttribute("data-component-tag")||""}});i(t),window.dispatchEvent(b),setTimeout(()=>{e=!1},0)};t.forEach(t=>{t.addEventListener("mouseover",()=>a(t)),t.addEventListener("mouseout",()=>i(t)),t.addEventListener("click",()=>n(t))})}}},x=d.useCallback(t=>{if(s.current||v.current)return;let e=t.target;if(!e||"function"!=typeof e.closest){$(),q();return}let{$toolbarHover:o,$component:a,$themeSection:i,$shopifySection:n,$bundleDiscountLocked:d}=l.findDOMClosest(e,{$toolbarHover:"[data-toolbar-hover]",$component:"[data-toolbar-wrap]",$themeSection:"[data-theme-section]",$shopifySection:"[data-shopify-section]",$bundleDiscountLocked:"[data-bundle-discount-locked]"});if(o)return;let u=a?.getAttribute("data-uid");if(!a||!u||"ROOT"==u||d&&a!==d){q();return}let b=r.getChildrenByAttrSelector(a,"data-toolbar");if(!u||"ROOT"==u||b?.getAttribute("data-toolbar-hover-focus"))return;b?.getAttribute("data-toolbar-hover-focus")||q(),I(e);let f=i||n;if(u==c.current?.componentUid){if(c.current.productId){let t=a.closest("[data-product-id]");if(t){let e=t.getAttribute("data-product-id");if(e==c.current.productId){q();return}}}if(!f)return;E({$component:f,focus:!0,isPreventSection:!0})}f?E({$component:f,focus:!0,isPreventSection:!0}):(E({$component:a,componentUid:u,focus:!0}),C({$component:a,componentUid:u}))},[I,q,E,C,$,c]),U=d.useCallback(t=>{if(s.current)return;let e=t.detail;e?.componentUid?R({componentUid:e.componentUid,productId:e.productId,articleId:e.articleId,marqueeKey:e.marqueeKey,carouselItemKey:e.carouselItemKey}):B()},[R,B,s]),j=d.useCallback(()=>{q()},[q]),F=d.useCallback(t=>{let e=t.detail;e.value&&(q(),B()),s.current=e.value},[q,B]),K=d.useCallback(t=>{let e=t.detail;e.value?L(!0):L(!1)},[]),P=d.useCallback(t=>{if(s.current)return;let e=t.detail;T({value:e?.value||!1})},[]),H=d.useCallback(t=>{let e=t.detail;e?.value?(q(),v.current=!0):v.current=!1},[q]),M=(t,e)=>{if(!t)return;let o=document.body.querySelector("#storefront")?.querySelectorAll(`[data-uid="${t}"]`);o?.length&&o.forEach(t=>{let o=r.getChildrenByAttrSelector(t,"data-outline");o&&("in"===e?(o.setAttribute("data-outline-force-hover","true"),o.setAttribute("data-outline-force-overlay","true")):(o.removeAttribute("data-outline-force-hover"),o.removeAttribute("data-outline-force-overlay")))})},_=d.useCallback(t=>{if(s.current)return;let e=t.detail;e?.componentUid&&M(e?.componentUid,e?.type)},[s]),D=t=>{let e=t.detail;c.current?.componentUid&&e?.componentUid==c.current?.componentUid&&(R({...c.current}),requestAnimationFrame(()=>p()))},z=d.useCallback(t=>{let e=t.detail;document.body.toggleAttribute("data-editor-mobile",!!e?.isEditorMobile)},[]);return d.useEffect(()=>(document.addEventListener("mousemove",x),window.addEventListener("editor:active-component",U),window.addEventListener("editor:focus-outside-preview",j),window.addEventListener("editor:is-dragging",F),window.addEventListener("editor:is-editing-text-editor",K),window.addEventListener("editor:toolbar:show-parents",P),window.addEventListener("editor:toolbar:resize-spacing",H),window.addEventListener("editor:hover-component",_),window.addEventListener("editor:component:render",D),window.addEventListener("editor:editor-mobile-change",z),()=>{document.removeEventListener("mousemove",x),window.removeEventListener("editor:active-component",U),window.removeEventListener("editor:is-dragging",j),window.removeEventListener("editor:is-dragging",F),window.removeEventListener("editor:is-editing-text-editor",K),window.removeEventListener("editor:toolbar:show-parents",P),window.removeEventListener("editor:toolbar:resize-spacing",H),window.removeEventListener("editor:hover-component",_),window.removeEventListener("editor:component:render",D),window.removeEventListener("editor:editor-mobile-change",z),document.body.removeAttribute("data-editor-mobile")}),[x,U,j,F,K,P,H,_,D,z]),t.jsx(t.Fragment,{})});exports.default=c;
@@ -0,0 +1 @@
1
+ "use strict";const t={X:"--gp-ol-x",Y:"--gp-ol-y",WIDTH:"--gp-ol-w",HEIGHT:"--gp-ol-h",RIGHT:"--gp-ol-r",BOTTOM:"--gp-ol-b"},e=({$component:e})=>{e instanceof HTMLElement&&Object.values(t).forEach(t=>e.style.removeProperty(t))},r=t=>!!("static"!==t.position||"none"!==t.transform||"none"!==t.perspective||"none"!==t.filter||"none"!==t.backdropFilter||"normal"!==t.containerType||/transform|perspective|filter/.test(t.willChange))||/layout|paint|strict|content/.test(t.contain),o=t=>{let e=t.parentElement;for(;e;){if(r(getComputedStyle(e)))return e;e=e.parentElement}return null};exports.clearOverlayRect=e,exports.getOverlayContainingBlock=o,exports.syncOverlayRect=({$component:r})=>{if(!(r instanceof HTMLElement))return;if("static"!==getComputedStyle(r).position){e({$component:r});return}let n=o(r);if(!(n instanceof HTMLElement)){e({$component:r});return}let p=r.getBoundingClientRect(),l=n.getBoundingClientRect(),i=getComputedStyle(n),s=parseFloat(i.borderTopWidth)||0,a=parseFloat(i.borderLeftWidth)||0,c=parseFloat(i.borderRightWidth)||0,g=parseFloat(i.borderBottomWidth)||0,{style:y}=r;y.setProperty(t.X,`${p.left-l.left-a}px`),y.setProperty(t.Y,`${p.top-l.top-s}px`),y.setProperty(t.WIDTH,`${p.width}px`),y.setProperty(t.HEIGHT,`${p.height}px`),y.setProperty(t.RIGHT,`${l.right-c-p.right}px`),y.setProperty(t.BOTTOM,`${l.bottom-g-p.bottom}px`)};
@@ -1 +1 @@
1
- "use strict";var e=require("@gem-sdk/core"),a=require("../google-fonts.js"),t=require("../helpers/normalize.js"),l=require("../helpers/get-metafield.js"),s=require("../helpers/parse-json.js"),i=require("../helpers/generate-seo-links.js"),o=require("../../constants/index.js"),r=require("@gem-sdk/adapter-shopify"),d=require("../helpers/get-fallback.js"),u=require("@sentry/nextjs"),n=require("../custom-fonts.js"),h=require("../helpers/gen-css.js");exports.getHomePagePropsV2=(g,m)=>async()=>{try{let[u,P,p,c]=await Promise.allSettled([g([e.PublishedThemePagesDocument.toString(),{slugType:"STATIC"}]),g([e.StorePropertyDocument.toString()]),m([r.ShopMetaDocument]),g([e.PublishedShopMetasDocument.toString(),{keys:["source_font",o.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,o.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===u.status)throw Error(u.reason?.[0]);let T="fulfilled"===c.status?c.value:void 0,f=T?.publishedShopMetas?.find(e=>e?.key==="source_font"),y=u.value?.publishedThemePages?.[0],M=u.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!y)throw Error("No data builder found for Home page");let b=t.parseBuilderTemplateV2(y),[S,_,A,I]=await Promise.all([a.getStaticFontFacesFromPageTemplate({pageTemplate:b,sourceFont:f?.value,data:y?.pageStyle?.data}),a.getStaticFontFacesFromGlobalStyle({data:y?.pageStyle?.data,sourceFont:f?.value}),d.getFallbackV2(g,b),n.getCustomFonts(M)]),B=y.isMobile??!1,C=l.getPublishedThemePageMetafieldByKey(o.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,y?.metafields)||T?.publishedShopMetas?.find(e=>e?.key===o.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,L=s.parseJson(l.getPublishedThemePageMetafieldByKey(o.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,y?.metafields)||T?.publishedShopMetas?.find(e=>e?.key===o.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),v="fulfilled"===p.status?p.value:void 0,D="fulfilled"===P.status?P.value:void 0,E=D?.storeProperty?.favicon??"/favicon/favicon-32x32.png",k={defaultTitle:v?.shop.name,title:y?.name??"Home",description:C??v?.shop.description,openGraph:{locale:v?.localization.country.isoCode,title:y?.name??v?.shop.name,description:C??v?.shop.description,images:L?[L]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`https://${D?.storeProperty?.primaryDomain}/`,additionalLinkTags:i.generateSeoLinks({favicon:E,shopMeta:v})},F=v?.localization.language.isoCode??null,O=v?.localization.country.isoCode??null,j=F&&O?`${F}-${O}`:null;return s.serializableJson({id:u.value?.publishedThemePages?.[0]?.id??null,shopID:u.value?.publishedThemePages?.[0]?.shopID??null,themeStyle:h.genCSS(y?.pageStyle?.data,B),fontStyle:_,elementFontStyle:S,builderData:b,swr:{fallback:A},moneyFormat:v?.shop.moneyFormat??null,currency:v?.localization.country.currency.isoCode??null,languageIsoCode:F,countryIsoCode:O,locale:j,swatches:s.parseJson(D?.storeProperty?.swatchesConfig),seo:k,mobileOnly:B,gaTrackingId:l.getPublishedThemePageMetafieldByKey(o.PublishedThemePageMetafields.ANALYTICS_GA_TRACKING_ID,y?.metafields)??null,facebookPixelId:l.getPublishedThemePageMetafieldByKey(o.PublishedThemePageMetafields.ANALYTICS_FB_PIXEL_ID,y?.metafields)??null,tiktokPixelId:l.getPublishedThemePageMetafieldByKey(o.PublishedThemePageMetafields.ANALYTICS_TIKTOK_PIXEL_ID,y?.metafields)??null,customCodeHeader:l.getPublishedThemePageMetafieldByKey(o.PublishedThemePageMetafields.CUSTOM_CODE_HEADER,y?.metafields)??null,customCodeBody:l.getPublishedThemePageMetafieldByKey(o.PublishedThemePageMetafields.CUSTOM_CODE_BODY,y?.metafields)??null,pageHandle:y.handle??null,customFonts:I,pageBackground:t.extractPageBackground(y)})}catch(e){throw u.captureException(e),e}};
1
+ "use strict";var e=require("@gem-sdk/core"),a=require("../google-fonts.js"),t=require("../helpers/normalize.js"),l=require("../helpers/get-metafield.js"),s=require("../helpers/parse-json.js"),i=require("../helpers/generate-seo-links.js"),o=require("../../constants/index.js"),d=require("@gem-sdk/adapter-shopify"),u=require("../helpers/get-fallback.js"),r=require("@sentry/nextjs"),h=require("../custom-fonts.js"),n=require("../helpers/gen-css.js");exports.getHomePagePropsV2=(g,m)=>async()=>{try{let[r,P,T,f]=await Promise.allSettled([g([e.PublishedThemePagesDocument.toString(),{slugType:"STATIC"}]),g([e.StorePropertyDocument.toString()]),m([d.ShopMetaDocument]),g([e.PublishedShopMetasDocument.toString(),{keys:["source_font",o.PublishedThemePageMetafields.GLOBAL_META_TITLE,o.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,o.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===r.status)throw Error(r.reason?.[0]);let p="fulfilled"===f.status?f.value:void 0,c=p?.publishedShopMetas?.find(e=>e?.key==="source_font"),M=r.value?.publishedThemePages?.[0],y=r.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!M)throw Error("No data builder found for Home page");let b=t.parseBuilderTemplateV2(M),[_,L,S,A]=await Promise.all([a.getStaticFontFacesFromPageTemplate({pageTemplate:b,sourceFont:c?.value,data:M?.pageStyle?.data}),a.getStaticFontFacesFromGlobalStyle({data:M?.pageStyle?.data,sourceFont:c?.value}),u.getFallbackV2(g,b),h.getCustomFonts(y)]),E=M.isMobile??!1,I=l.getPublishedThemePageMetafieldByKey(o.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,M?.metafields)||p?.publishedShopMetas?.find(e=>e?.key===o.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,B=l.getPublishedThemePageMetafieldByKey(o.PublishedThemePageMetafields.GLOBAL_META_TITLE,M?.metafields)||p?.publishedShopMetas?.find(e=>e?.key===o.PublishedThemePageMetafields.GLOBAL_META_TITLE)?.value,O=s.parseJson(l.getPublishedThemePageMetafieldByKey(o.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,M?.metafields)||p?.publishedShopMetas?.find(e=>e?.key===o.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),C=l.getPublishedThemePageMetafieldByKey(o.PublishedThemePageMetafields.NOINDEX_KEY,M?.metafields)||p?.publishedShopMetas?.find(e=>e?.key===o.PublishedThemePageMetafields.NOINDEX_KEY)?.value,v=l.getPublishedThemePageMetafieldByKey(o.PublishedThemePageMetafields.NOFOLLOW_KEY,M?.metafields)||p?.publishedShopMetas?.find(e=>e?.key===o.PublishedThemePageMetafields.NOFOLLOW_KEY)?.value,k="fulfilled"===T.status?T.value:void 0,D="fulfilled"===P.status?P.value:void 0,F=D?.storeProperty?.favicon??"/favicon/favicon-32x32.png",K={defaultTitle:k?.shop.name,title:B||M?.name||"Home",description:I??k?.shop.description,openGraph:{locale:k?.localization.country.isoCode,title:B||M?.name||k?.shop.name,description:I??k?.shop.description,images:O?[O]:[]},noindex:"true"===C,nofollow:"true"===v,additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`https://${D?.storeProperty?.primaryDomain}/`,additionalLinkTags:i.generateSeoLinks({favicon:F,shopMeta:k})},N=k?.localization.language.isoCode??null,G=k?.localization.country.isoCode??null,j=N&&G?`${N}-${G}`:null;return s.serializableJson({id:r.value?.publishedThemePages?.[0]?.id??null,shopID:r.value?.publishedThemePages?.[0]?.shopID??null,themeStyle:n.genCSS(M?.pageStyle?.data,E),fontStyle:L,elementFontStyle:_,builderData:b,swr:{fallback:S},moneyFormat:k?.shop.moneyFormat??null,currency:k?.localization.country.currency.isoCode??null,languageIsoCode:N,countryIsoCode:G,locale:j,swatches:s.parseJson(D?.storeProperty?.swatchesConfig),seo:K,mobileOnly:E,gaTrackingId:l.getPublishedThemePageMetafieldByKey(o.PublishedThemePageMetafields.ANALYTICS_GA_TRACKING_ID,M?.metafields)??null,facebookPixelId:l.getPublishedThemePageMetafieldByKey(o.PublishedThemePageMetafields.ANALYTICS_FB_PIXEL_ID,M?.metafields)??null,tiktokPixelId:l.getPublishedThemePageMetafieldByKey(o.PublishedThemePageMetafields.ANALYTICS_TIKTOK_PIXEL_ID,M?.metafields)??null,customCodeHeader:l.getPublishedThemePageMetafieldByKey(o.PublishedThemePageMetafields.CUSTOM_CODE_HEADER,M?.metafields)??null,customCodeBody:l.getPublishedThemePageMetafieldByKey(o.PublishedThemePageMetafields.CUSTOM_CODE_BODY,M?.metafields)??null,pageHandle:M.handle??null,customFonts:A,interactions:M?.interactions,pageBackground:t.extractPageBackground(M)})}catch(e){throw r.captureException(e),e}};
@@ -1 +1 @@
1
- "use strict";var e=require("../helpers/normalize.js"),t=require("../google-fonts.js"),o=require("@gem-sdk/core"),a=require("../helpers/parse-json.js"),r=require("../helpers/generate-seo-links.js"),l=require("@gem-sdk/adapter-shopify"),i=require("../helpers/sentry.js"),n=require("../helpers/get-fallback.js"),s=require("@sentry/nextjs"),u=require("../custom-fonts.js"),c=require("../helpers/gen-css.js");exports.getStaticPagePropsPreview=(d,m)=>async p=>{try{let s="STATIC",g={handleURL:p,pageType:s},[h,y,f]=await Promise.allSettled([d([o.PreviewThemePageDocument.toString(),g]),d([o.StorePropertyDocument.toString()]),m([l.ShopMetaDocument])]);if("rejected"===h.status)throw i.sentryCaptureException("PreviewThemePageDocument",h.reason,{variables:g,theme:h}),Error(h.reason?.[0]);let k=h.value.previewThemePage;if(!k)throw Error(`No data builder found for slug: /preview/${p}`);let P=k.customFonts,v={...k,shopID:""},S=e.parseBuilderTemplateV2(v),[w,b,C,T]=await Promise.all([t.getFontStyleFromPageTemplate(S,void 0,k?.themeStyle?.data),t.getFontLinkFromGlobalStyle(k?.themeStyle?.data),n.getFallbackV2(d,S),u.getCustomFonts(P)]),j=!!k.isMobile,q=k?.dataSEO?.find(e=>e?.key==="global-meta-description")?.value,x=a.parseJson(k?.dataSEO?.find(e=>e?.key==="global-meta-thumbnail")?.value),F="fulfilled"===f.status?f.value:void 0,D="fulfilled"===y.status?y.value:void 0,I=D?.storeProperty?.favicon??"/favicon/favicon-32x32.png",z={defaultTitle:F?.shop.name,title:k?.name,description:q??F?.shop.description,openGraph:{locale:F?.localization.country.isoCode,title:k?.name??F?.shop.name,description:q??F?.shop.description,images:x?[x]:[]},nofollow:!0,noindex:!0,canonical:`/preview/${p}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:r.generateSeoLinks({favicon:I,shopMeta:F})},E=F?.localization.language.isoCode??null,B=F?.localization.country.isoCode??null,L=E&&B?`${E}-${B}`:null;return a.serializableJson({themeStyle:c.genCSS(k?.themeStyle?.data,j),fontStyle:b,elementFontStyle:w,builderData:S,pageType:s,moneyFormat:F?.shop?.moneyFormat??null,currency:F?.localization?.country?.currency?.isoCode??null,languageIsoCode:E,countryIsoCode:B,locale:L,swr:{fallback:C},swatches:a.parseJson(D?.storeProperty?.swatchesConfig),seo:z,mobileOnly:j,gaTrackingId:k.analytic?.gaTrackingID??null,facebookPixelId:k.analytic?.fbPixelID??null,tiktokPixelId:k.analytic?.tiktokPixelID??null,customCodeHeader:k.customCode?.header??null,customCodeBody:k.customCode?.body??null,customFonts:T,pageBackground:e.extractPageBackground(v),interaction:k?.interaction})}catch(e){throw s.captureException(e),e}};
1
+ "use strict";var e=require("../helpers/normalize.js"),t=require("../google-fonts.js"),o=require("@gem-sdk/core"),a=require("../helpers/parse-json.js"),r=require("../helpers/generate-seo-links.js"),l=require("@gem-sdk/adapter-shopify"),i=require("../helpers/sentry.js"),n=require("../helpers/get-fallback.js"),s=require("@sentry/nextjs"),u=require("../custom-fonts.js"),c=require("../helpers/gen-css.js");exports.getStaticPagePropsPreview=(d,m)=>async p=>{try{let s="STATIC",g={handleURL:p,pageType:s},[h,y,f]=await Promise.allSettled([d([o.PreviewThemePageDocument.toString(),g]),d([o.StorePropertyDocument.toString()]),m([l.ShopMetaDocument])]);if("rejected"===h.status)throw i.sentryCaptureException("PreviewThemePageDocument",h.reason,{variables:g,theme:h}),Error(h.reason?.[0]);let k=h.value.previewThemePage;if(!k)throw Error(`No data builder found for slug: /preview/${p}`);let P=k.customFonts,v={...k,shopID:""},S=e.parseBuilderTemplateV2(v),[w,b,C,T]=await Promise.all([t.getFontStyleFromPageTemplate(S,void 0,k?.themeStyle?.data),t.getFontLinkFromGlobalStyle(k?.themeStyle?.data),n.getFallbackV2(d,S),u.getCustomFonts(P)]),j=!!k.isMobile,q=k?.dataSEO?.find(e=>e?.key==="global-meta-description")?.value,x=a.parseJson(k?.dataSEO?.find(e=>e?.key==="global-meta-thumbnail")?.value),F="fulfilled"===f.status?f.value:void 0,D="fulfilled"===y.status?y.value:void 0,I=D?.storeProperty?.favicon??"/favicon/favicon-32x32.png",z={defaultTitle:F?.shop.name,title:k?.name,description:q??F?.shop.description,openGraph:{locale:F?.localization.country.isoCode,title:k?.name??F?.shop.name,description:q??F?.shop.description,images:x?[x]:[]},nofollow:!0,noindex:!0,canonical:`/preview/${p}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:r.generateSeoLinks({favicon:I,shopMeta:F})},E=F?.localization.language.isoCode??null,B=F?.localization.country.isoCode??null,L=E&&B?`${E}-${B}`:null;return a.serializableJson({themeStyle:c.genCSS(k?.themeStyle?.data,j),fontStyle:b,elementFontStyle:w,builderData:S,pageType:s,moneyFormat:F?.shop?.moneyFormat??null,currency:F?.localization?.country?.currency?.isoCode??null,languageIsoCode:E,countryIsoCode:B,locale:L,swr:{fallback:C},swatches:a.parseJson(D?.storeProperty?.swatchesConfig),seo:z,mobileOnly:j,gaTrackingId:k.analytic?.gaTrackingID??null,facebookPixelId:k.analytic?.fbPixelID??null,tiktokPixelId:k.analytic?.tiktokPixelID??null,customCodeHeader:k.customCode?.header??null,customCodeBody:k.customCode?.body??null,customFonts:T,pageBackground:e.extractPageBackground(v),interactions:k?.interactions})}catch(e){throw s.captureException(e),e}};
@@ -1 +1 @@
1
- "use strict";var e=require("@gem-sdk/core"),a=require("../google-fonts.js"),l=require("../helpers/normalize.js"),t=require("../helpers/get-metafield.js"),s=require("../helpers/parse-json.js"),i=require("../helpers/generate-seo-links.js"),d=require("../../constants/index.js"),o=require("@gem-sdk/adapter-shopify"),u=require("../helpers/get-fallback.js"),h=require("@sentry/nextjs"),r=require("../custom-fonts.js"),n=require("../helpers/gen-css.js");exports.getStaticPagePropsV2=(P,g)=>async m=>{try{let h="STATIC",[T,f,p,c]=await Promise.allSettled([P([e.PublishedThemePagesDocument.toString(),{slug:m,slugType:h}]),P([e.StorePropertyDocument.toString()]),g([o.ShopMetaDocument]),P([e.PublishedShopMetasDocument.toString(),{keys:["source_font",d.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,d.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,d.PublishedThemePageMetafields.SHOW_PRICE_CURRENCY,d.PublishedThemePageMetafields.MONEY_WITH_CURRENCY_FORMAT]}])]);if("rejected"===T.status)throw Error(T.reason?.[0]);let M="fulfilled"===c.status?c.value:void 0,b=M?.publishedShopMetas?.find(e=>e?.key==="source_font"),y=M?.publishedShopMetas?.find(e=>e?.key===d.PublishedThemePageMetafields.SHOW_PRICE_CURRENCY),_=M?.publishedShopMetas?.find(e=>e?.key===d.PublishedThemePageMetafields.MONEY_WITH_CURRENCY_FORMAT),S=T.value.publishedThemePages?.[0],E=T.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!S)throw Error(`No data builder found for slug: /${m}`);let I=l.parseBuilderTemplateV2(S),[C,L,A,O]=await Promise.all([a.getStaticFontFacesFromPageTemplate({pageTemplate:I,sourceFont:b?.value,data:S?.pageStyle?.data}),a.getStaticFontFacesFromGlobalStyle({data:S?.pageStyle?.data,sourceFont:b?.value}),u.getFallbackV2(P,I),r.getCustomFonts(E)]),B=S.isMobile??!1,v=t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,S?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===d.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,N=t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.GLOBAL_META_TITLE,S?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===d.PublishedThemePageMetafields.GLOBAL_META_TITLE)?.value,k=s.parseJson(t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,S?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===d.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),D=t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.NOINDEX_KEY,S?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===d.PublishedThemePageMetafields.NOINDEX_KEY)?.value,F=t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.NOFOLLOW_KEY,S?.metafields)||M?.publishedShopMetas?.find(e=>e?.key===d.PublishedThemePageMetafields.NOFOLLOW_KEY)?.value,K="fulfilled"===p.status?p.value:void 0,R="fulfilled"===f.status?f.value:void 0,Y=R?.storeProperty?.favicon??"/favicon/favicon-32x32.png",j={defaultTitle:K?.shop.name,title:N||S?.name,description:v??K?.shop.description,openGraph:{locale:K?.localization.country.isoCode,title:(N||S?.name)??K?.shop.name,description:v??K?.shop.description,images:k?[k]:[]},noindex:"true"===D,nofollow:"true"===F,canonical:`https://${R?.storeProperty?.primaryDomain}/${m}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:i.generateSeoLinks({favicon:Y,shopMeta:K})},q=K?.localization.language.isoCode??null,G=K?.localization.country.isoCode??null,H=q&&G?`${q}-${G}`:null;return s.serializableJson({id:T.value?.publishedThemePages?.[0]?.id??null,shopID:T.value?.publishedThemePages?.[0]?.shopID??null,themeStyle:n.genCSS(S?.pageStyle?.data,B),fontStyle:L,elementFontStyle:C,builderData:I,pageType:h,moneyFormat:y?.value==="true"?_?.value:K?.shop.moneyFormat??null,currency:K?.localization.country.currency.isoCode??null,languageIsoCode:q,countryIsoCode:G,locale:H,swr:{fallback:A},swatches:s.parseJson(R?.storeProperty?.swatchesConfig),seo:j,mobileOnly:B,gaTrackingId:t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.ANALYTICS_GA_TRACKING_ID,S?.metafields)??null,facebookPixelId:t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.ANALYTICS_FB_PIXEL_ID,S?.metafields)??null,tiktokPixelId:t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.ANALYTICS_TIKTOK_PIXEL_ID,S?.metafields)??null,customCodeHeader:t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.CUSTOM_CODE_HEADER,S?.metafields)??null,customCodeBody:t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.CUSTOM_CODE_BODY,S?.metafields)??null,pageHandle:S.handle??null,customFonts:O,interaction:S?.interaction,pageBackground:l.extractPageBackground(S)})}catch(e){throw h.captureException(e),e}};
1
+ "use strict";var e=require("@gem-sdk/core"),a=require("../google-fonts.js"),l=require("../helpers/normalize.js"),t=require("../helpers/get-metafield.js"),s=require("../helpers/parse-json.js"),i=require("../helpers/generate-seo-links.js"),d=require("../../constants/index.js"),o=require("@gem-sdk/adapter-shopify"),u=require("../helpers/get-fallback.js"),h=require("@sentry/nextjs"),r=require("../custom-fonts.js"),n=require("../helpers/gen-css.js");exports.getStaticPagePropsV2=(P,g)=>async m=>{try{let h="STATIC",[T,f,p,M]=await Promise.allSettled([P([e.PublishedThemePagesDocument.toString(),{slug:m,slugType:h}]),P([e.StorePropertyDocument.toString()]),g([o.ShopMetaDocument]),P([e.PublishedShopMetasDocument.toString(),{keys:["source_font",d.PublishedThemePageMetafields.GLOBAL_META_TITLE,d.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,d.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,d.PublishedThemePageMetafields.SHOW_PRICE_CURRENCY,d.PublishedThemePageMetafields.MONEY_WITH_CURRENCY_FORMAT]}])]);if("rejected"===T.status)throw Error(T.reason?.[0]);let c="fulfilled"===M.status?M.value:void 0,b=c?.publishedShopMetas?.find(e=>e?.key==="source_font"),y=c?.publishedShopMetas?.find(e=>e?.key===d.PublishedThemePageMetafields.SHOW_PRICE_CURRENCY),_=c?.publishedShopMetas?.find(e=>e?.key===d.PublishedThemePageMetafields.MONEY_WITH_CURRENCY_FORMAT),E=T.value.publishedThemePages?.[0],S=T.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!E)throw Error(`No data builder found for slug: /${m}`);let L=l.parseBuilderTemplateV2(E),[I,A,C,O]=await Promise.all([a.getStaticFontFacesFromPageTemplate({pageTemplate:L,sourceFont:b?.value,data:E?.pageStyle?.data}),a.getStaticFontFacesFromGlobalStyle({data:E?.pageStyle?.data,sourceFont:b?.value}),u.getFallbackV2(P,L),r.getCustomFonts(S)]),B=E.isMobile??!1,v=t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION,E?.metafields)||c?.publishedShopMetas?.find(e=>e?.key===d.PublishedThemePageMetafields.GLOBAL_META_DESCRIPTION)?.value,N=t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.GLOBAL_META_TITLE,E?.metafields)||c?.publishedShopMetas?.find(e=>e?.key===d.PublishedThemePageMetafields.GLOBAL_META_TITLE)?.value,k=s.parseJson(t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL,E?.metafields)||c?.publishedShopMetas?.find(e=>e?.key===d.PublishedThemePageMetafields.GLOBAL_META_THUMBNAIL)?.value),D=t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.NOINDEX_KEY,E?.metafields)||c?.publishedShopMetas?.find(e=>e?.key===d.PublishedThemePageMetafields.NOINDEX_KEY)?.value,F=t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.NOFOLLOW_KEY,E?.metafields)||c?.publishedShopMetas?.find(e=>e?.key===d.PublishedThemePageMetafields.NOFOLLOW_KEY)?.value,K="fulfilled"===p.status?p.value:void 0,R="fulfilled"===f.status?f.value:void 0,Y=R?.storeProperty?.favicon??"/favicon/favicon-32x32.png",G={defaultTitle:K?.shop.name,title:N||E?.name,description:v??K?.shop.description,openGraph:{locale:K?.localization.country.isoCode,title:(N||E?.name)??K?.shop.name,description:v??K?.shop.description,images:k?[k]:[]},noindex:"true"===D,nofollow:"true"===F,canonical:`https://${R?.storeProperty?.primaryDomain}/${m}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:i.generateSeoLinks({favicon:Y,shopMeta:K})},j=K?.localization.language.isoCode??null,q=K?.localization.country.isoCode??null,H=j&&q?`${j}-${q}`:null;return s.serializableJson({id:T.value?.publishedThemePages?.[0]?.id??null,shopID:T.value?.publishedThemePages?.[0]?.shopID??null,themeStyle:n.genCSS(E?.pageStyle?.data,B),fontStyle:A,elementFontStyle:I,builderData:L,pageType:h,moneyFormat:y?.value==="true"?_?.value:K?.shop.moneyFormat??null,currency:K?.localization.country.currency.isoCode??null,languageIsoCode:j,countryIsoCode:q,locale:H,swr:{fallback:C},swatches:s.parseJson(R?.storeProperty?.swatchesConfig),seo:G,mobileOnly:B,gaTrackingId:t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.ANALYTICS_GA_TRACKING_ID,E?.metafields)??null,facebookPixelId:t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.ANALYTICS_FB_PIXEL_ID,E?.metafields)??null,tiktokPixelId:t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.ANALYTICS_TIKTOK_PIXEL_ID,E?.metafields)??null,customCodeHeader:t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.CUSTOM_CODE_HEADER,E?.metafields)??null,customCodeBody:t.getPublishedThemePageMetafieldByKey(d.PublishedThemePageMetafields.CUSTOM_CODE_BODY,E?.metafields)??null,pageHandle:E.handle??null,customFonts:O,interactions:E?.interactions,pageBackground:l.extractPageBackground(E)})}catch(e){throw h.captureException(e),e}};
@@ -0,0 +1 @@
1
+ "use strict";const t=t=>{let e=t.key??"";return!e||e.startsWith("gp-interaction-")?0:Number(e.split("-").pop())||0};exports.joinInteractionParts=e=>{let r=[...e??[]].filter(t=>!!t),i=r.filter(e=>t(e)>0);return(i.length?i:r).sort((e,r)=>t(e)-t(r)).flatMap(t=>t.value??[])};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";var e=require("react/jsx-runtime"),r=require("@gem-sdk/core"),t=require("../components/EmptyPagePlaceholder.js"),s=require("../components/AddSectionFromBottom.js"),i=require("../components/builder/PopupManager.js"),o=require("../components/builder/SwitchView.js"),n=require("react"),d=require("../components/builder/Toolbox.js"),l=require("../components/builder/Toolbar.js"),a=require("../components/builder/Header.js"),u=require("../components/builder/Footer.js"),p=require("../components/builder/Body.js"),c=require("next-seo"),g=require("next/head");exports.BuilderPage=({components:j,seo:x,themeStyle:m,fontStyle:f,sectionData:h,pageType:b,isThemeSectionEditor:q,hiddenToolbar:y,pageName:T,isOriginTemplate:v})=>{let[P,S]=n.useState(!1),{t:O}=r.useI18n(),w=n.useMemo(()=>({ROOT:{uid:"ROOT",tag:"Root",label:"Root",childrens:[]}}),[]);n.useEffect(()=>{S(!0)},[]);let B=()=>{window?.parent?.postMessage(JSON.stringify({type:"open-page-setting"}),"*")};return e.jsxs(e.Fragment,{children:[e.jsx(c.NextSeo,{...x}),e.jsxs(g,{children:[m&&e.jsx("style",{type:"text/css",id:"global-style",dangerouslySetInnerHTML:{__html:m}}),f&&e.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:f}})]}),e.jsx(r.PageProvider,{children:e.jsx(r.BuilderComponentProvider,{components:j,children:e.jsx(r.SectionProvider,{data:h,children:e.jsx(r.I18nProvider,{t:O,children:e.jsxs(r.BuilderPreviewProvider,{pageName:T,state:w,isThemeSectionEditor:q,children:[e.jsx(d.default,{}),!y&&e.jsx(l.default,{}),e.jsx(i.default,{}),P&&e.jsxs("div",{className:"builder gp-relative gp-z-1",children:[!y&&(q?e.jsx("div",{className:"gp-h-[40px] gp-border-b-[1px] gp-border-[#eeeeee] gp-bg-[#ffffff]",children:e.jsx(o.default,{})}):e.jsx(a.default,{pageType:b,isOriginTemplate:v,openPageSetting:B})),e.jsx(p.default,{pageType:b,isThemeSectionEditor:q}),e.jsx(t.default,{isThemeSectionEditor:q}),e.jsx(s.default,{}),e.jsx("div",{id:"visual-content"}),!q&&!y&&e.jsx(u.default,{pageType:b,isOriginTemplate:v,openPageSetting:B})]})]},"preview")})})})})]})};
2
+ "use strict";var e=require("react/jsx-runtime"),r=require("@gem-sdk/core"),t=require("../components/EmptyPagePlaceholder.js"),s=require("../components/AddSectionFromBottom.js"),i=require("../components/builder/PopupManager.js"),o=require("../components/builder/SwitchView.js"),n=require("react"),d=require("../components/builder/Toolbox.js"),a=require("../components/builder/Toolbar.js"),l=require("../components/builder/Header.js"),u=require("../components/builder/Footer.js"),p=require("../components/builder/Body.js"),c=require("next-seo"),g=require("next/head");exports.BuilderPage=({components:j,seo:x,themeStyle:m,fontStyle:f,sectionData:h,pageType:b,isThemeSectionEditor:P,hiddenToolbar:q,pageName:y,isOriginTemplate:T})=>{let[v,S]=n.useState(!1),{t:O}=r.useI18n(),w=n.useMemo(()=>({ROOT:{uid:"ROOT",tag:"Root",label:"Root",childrens:[]}}),[]);n.useEffect(()=>{S(!0)},[]);let B=()=>{window?.parent?.postMessage(JSON.stringify({type:"open-page-setting"}),"*")};return e.jsxs(e.Fragment,{children:[e.jsx(c.NextSeo,{...x}),e.jsxs(g,{children:[m&&e.jsx("style",{type:"text/css",id:"global-style",dangerouslySetInnerHTML:{__html:m}}),f&&e.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:f}})]}),e.jsx(r.PageProvider,{children:e.jsx(r.BuilderComponentProvider,{components:j,children:e.jsx(r.SectionProvider,{data:h,children:e.jsx(r.I18nProvider,{t:O,children:e.jsxs(r.BuilderPreviewProvider,{pageName:y,state:w,isThemeSectionEditor:P,children:[e.jsx(d.default,{}),!q&&e.jsx(r.PasteErrorPageBanner,{}),!q&&e.jsx(a.default,{}),e.jsx(i.default,{}),v&&e.jsxs("div",{className:"builder gp-relative gp-z-1",children:[!q&&(P?e.jsx("div",{className:"gp-h-[40px] gp-border-b-[1px] gp-border-[#eeeeee] gp-bg-[#ffffff]",children:e.jsx(o.default,{})}):e.jsx(l.default,{pageType:b,isOriginTemplate:T,openPageSetting:B})),e.jsx(p.default,{pageType:b,isThemeSectionEditor:P}),e.jsx(t.default,{isThemeSectionEditor:P}),e.jsx(s.default,{}),e.jsx("div",{id:"visual-content"}),!P&&!q&&e.jsx(u.default,{pageType:b,isOriginTemplate:T,openPageSetting:B})]})]},"preview")})})})})]})};
@@ -1,5 +1,5 @@
1
- "use strict";var e=require("react/jsx-runtime"),s=require("@gem-sdk/core"),t=require("../libs/hooks/usePageViewedTracking.js"),r=require("../libs/parse-html.js"),a=require("next/router"),n=require("next-seo"),l=require("react"),i=require("next/script"),d=require("next/head");exports.Headless=({components:o,builderData:c,sectionData:g,seo:u,themeStyle:p,fontStyle:m,elementFontStyle:h,customCodeHeader:x,customFonts:f,isPostPurchase:y,productOffers:_,publicStoreFrontData:j,dynamicDiscountOffer:v,isPreview:b,interaction:q,pageBackground:P,sellingPlanSetting:S,buyerConsentPreCheck:k,id:N,shopID:T,domainTrackingIlp:H})=>{let I=a.useRouter(),L=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets.gemcommerce.com";t.usePageViewedTracking({id:N,shopID:T,domain:H});let M="custom-code-header";if(l.useEffect(()=>{let e=document.querySelectorAll(`[class*="${M}-"]`),s=[];e.length>1&&e.forEach(e=>{let t=e.className;if(s.includes(t)){e.remove();return}s.push(t)})},[]),I.isFallback)return e.jsx("div",{className:"gp-flex gp-h-[100vh] gp-items-center gp-justify-center",children:e.jsxs("div",{className:"gp-flex gp-gap-2",children:[e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_alternate] gp-rounded-full gp-bg-slate-800"}),e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_200ms_linear_alternate] gp-rounded-full gp-bg-slate-800"}),e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_500ms_alternate] gp-rounded-full gp-bg-slate-800"})]})});let B=(q?.value||[]).length>0,E=P?.isUsePageBackground?P?.background:P?.themeBackground;return e.jsxs(e.Fragment,{children:[e.jsx(n.NextSeo,{...u}),e.jsxs(d,{children:[r.parseHtml(M,x,!0),p&&e.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:p}},"global-style"),m&&e.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:m}},"google-fonts"),h&&h.map(s=>e.jsx("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:s}},s)),f&&e.jsx("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:f}},m),E&&e.jsx("style",{children:`
1
+ "use strict";var e=require("react/jsx-runtime"),s=require("@gem-sdk/core"),t=require("../libs/hooks/usePageViewedTracking.js"),r=require("../libs/interaction.js"),a=require("../libs/parse-html.js"),n=require("next/router"),i=require("next-seo"),l=require("react"),o=require("next/script"),d=require("next/head");exports.Headless=({components:c,builderData:g,sectionData:u,seo:p,themeStyle:m,fontStyle:h,elementFontStyle:x,customCodeHeader:f,customFonts:j,isPostPurchase:y,productOffers:_,publicStoreFrontData:v,dynamicDiscountOffer:b,isPreview:q,interactions:P,pageBackground:S,sellingPlanSetting:k,buyerConsentPreCheck:N,id:T,shopID:H,domainTrackingIlp:I})=>{let L=n.useRouter(),M=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets.gemcommerce.com";t.usePageViewedTracking({id:T,shopID:H,domain:I});let B="custom-code-header";if(l.useEffect(()=>{let e=document.querySelectorAll(`[class*="${B}-"]`),s=[];e.length>1&&e.forEach(e=>{let t=e.className;if(s.includes(t)){e.remove();return}s.push(t)})},[]),L.isFallback)return e.jsx("div",{className:"gp-flex gp-h-[100vh] gp-items-center gp-justify-center",children:e.jsxs("div",{className:"gp-flex gp-gap-2",children:[e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_alternate] gp-rounded-full gp-bg-slate-800"}),e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_200ms_linear_alternate] gp-rounded-full gp-bg-slate-800"}),e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_500ms_alternate] gp-rounded-full gp-bg-slate-800"})]})});let E=r.joinInteractionParts(P),$=E.length>0,w=S?.isUsePageBackground?S?.background:S?.themeBackground;return e.jsxs(e.Fragment,{children:[e.jsx(i.NextSeo,{...p}),e.jsxs(d,{children:[a.parseHtml(B,f,!0),m&&e.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:m}},"global-style"),h&&e.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:h}},"google-fonts"),x&&x.map(s=>e.jsx("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:s}},s)),j&&e.jsx("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:j}},h),w&&e.jsx("style",{children:`
2
2
  body {
3
- background: ${E};
3
+ background: ${w};
4
4
  }
5
- `},`page_background_${E}`)]}),e.jsx(s.PageProvider,{productOffers:_,publicStoreFrontData:j,dynamicDiscountOffer:v,sellingPlanMeta:S,buyerConsentChecked:k,children:e.jsx(s.BuilderComponentProvider,{components:o,children:e.jsxs("div",{role:"main",children:[B&&e.jsx("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${JSON.stringify(q?.value||[])}</div>`}}),e.jsx(s.SectionProvider,{data:g,children:c?.map(t=>e.jsxs(s.BuilderProvider,{state:t.data,lazy:t.lazy,priority:t.priority,isPostPurchase:y,isPreview:b,children:[e.jsx(s.Render,{uid:t.uid}),B&&e.jsx(i,{defer:!0,src:`${L}/assets-v2/gp-flow-action-lip-v7-5.js`})]}))})]})})})]})};
5
+ `},`page_background_${w}`)]}),e.jsx(s.PageProvider,{productOffers:_,publicStoreFrontData:v,dynamicDiscountOffer:b,sellingPlanMeta:k,buyerConsentChecked:N,children:e.jsx(s.BuilderComponentProvider,{components:c,children:e.jsxs("div",{role:"main",children:[$&&e.jsx("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${JSON.stringify(E)}</div>`}}),e.jsx(s.SectionProvider,{data:u,children:g?.map(t=>e.jsxs(s.BuilderProvider,{state:t.data,lazy:t.lazy,priority:t.priority,isPostPurchase:y,isPreview:q,children:[e.jsx(s.Render,{uid:t.uid}),$&&e.jsx(o,{defer:!0,src:`${M}/assets-v2/gp-flow-action-lip-v7-5.js`})]}))})]})})})]})};
@@ -1,5 +1,5 @@
1
- "use strict";var e=require("react/jsx-runtime"),s=require("@gem-sdk/core"),t=require("../libs/hooks/usePageViewedTracking.js"),r=require("../components/FooterForPostPurchase.js"),a=require("../components/builder/Header.js"),n=require("../libs/parse-html.js"),i=require("next/router"),l=require("next-seo"),o=require("react"),d=require("next/script"),c=require("next/head");exports.StaticPageV2=({components:g,builderData:u,sectionData:p,seo:m,themeStyle:h,fontStyle:x,elementFontStyle:j,customCodeHeader:f,customFonts:y,isPostPurchase:_,shopName:v,productOffers:P,publicStoreFrontData:b,dynamicDiscountOffer:S,isPreview:q,interaction:k,pageBackground:N,sellingPlanSetting:T,buyerConsentPreCheck:H,id:I,shopID:E,domainTrackingIlp:L})=>{let M=i.useRouter(),{t:$}=s.useI18n(),w=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets-dev.gemcommerce.xyz";t.usePageViewedTracking({id:I,shopID:E,domain:L});let B="custom-code-header";if(o.useEffect(()=>{let e=document.querySelectorAll(`[class*="${B}-"]`),s=[];e.length>1&&e.forEach(e=>{let t=e.className;if(s.includes(t)){e.remove();return}s.push(t)})},[]),M.isFallback)return e.jsx("div",{className:"gp-flex gp-h-[100vh] gp-items-center gp-justify-center",children:e.jsxs("div",{className:"gp-flex gp-gap-2",children:[e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_alternate] gp-rounded-full gp-bg-slate-800"}),e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_200ms_linear_alternate] gp-rounded-full gp-bg-slate-800"}),e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_500ms_alternate] gp-rounded-full gp-bg-slate-800"})]})});let F=(k?.value||[]).length>0,A=N?.isUsePageBackground?N?.background:N?.themeBackground;return e.jsxs(e.Fragment,{children:[e.jsx(l.NextSeo,{...m}),e.jsxs(c,{children:[n.parseHtml(B,f,!0),h&&e.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:h}},"global-style"),x&&e.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:x}},"google-fonts"),j&&j.map(s=>e.jsx("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:s}},s)),y&&e.jsx("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:y}},x),A&&e.jsx("style",{children:`
1
+ "use strict";var e=require("react/jsx-runtime"),s=require("@gem-sdk/core"),t=require("../libs/hooks/usePageViewedTracking.js"),r=require("../components/FooterForPostPurchase.js"),a=require("../libs/interaction.js"),n=require("../components/builder/Header.js"),i=require("../libs/parse-html.js"),l=require("next/router"),o=require("next-seo"),d=require("react"),c=require("next/script"),g=require("next/head");exports.StaticPageV2=({components:u,builderData:p,sectionData:m,seo:h,themeStyle:x,fontStyle:j,elementFontStyle:f,customCodeHeader:y,customFonts:_,isPostPurchase:P,shopName:v,productOffers:b,publicStoreFrontData:q,dynamicDiscountOffer:S,isPreview:k,interactions:N,pageBackground:T,sellingPlanSetting:I,buyerConsentPreCheck:H,id:E,shopID:L,domainTrackingIlp:M})=>{let $=l.useRouter(),{t:w}=s.useI18n(),B=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets-dev.gemcommerce.xyz";t.usePageViewedTracking({id:E,shopID:L,domain:M});let F="custom-code-header";if(d.useEffect(()=>{let e=document.querySelectorAll(`[class*="${F}-"]`),s=[];e.length>1&&e.forEach(e=>{let t=e.className;if(s.includes(t)){e.remove();return}s.push(t)})},[]),$.isFallback)return e.jsx("div",{className:"gp-flex gp-h-[100vh] gp-items-center gp-justify-center",children:e.jsxs("div",{className:"gp-flex gp-gap-2",children:[e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_alternate] gp-rounded-full gp-bg-slate-800"}),e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_200ms_linear_alternate] gp-rounded-full gp-bg-slate-800"}),e.jsx("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_500ms_alternate] gp-rounded-full gp-bg-slate-800"})]})});let A=a.joinInteractionParts(N),C=A.length>0,O=T?.isUsePageBackground?T?.background:T?.themeBackground;return e.jsxs(e.Fragment,{children:[e.jsx(o.NextSeo,{...h}),e.jsxs(g,{children:[i.parseHtml(F,y,!0),x&&e.jsx("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:x}},"global-style"),j&&e.jsx("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:j}},"google-fonts"),f&&f.map(s=>e.jsx("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:s}},s)),_&&e.jsx("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:_}},j),O&&e.jsx("style",{children:`
2
2
  body {
3
- background: ${A};
3
+ background: ${O};
4
4
  }
5
- `},`page_background_${A}`)]}),e.jsx(s.PageProvider,{productOffers:P,publicStoreFrontData:b,dynamicDiscountOffer:S,sellingPlanMeta:T,buyerConsentChecked:H,children:e.jsx(s.BuilderComponentProvider,{components:g,children:e.jsx(s.I18nProvider,{t:$,children:e.jsxs("div",{className:`${_?"post-purchase-page gp-bg-white":""} `,role:"main",children:[_&&e.jsx(a.default,{pageType:"POST_PURCHASE"}),F&&e.jsx("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${JSON.stringify(k?.value||[])}</div>`}}),e.jsx(s.SectionProvider,{data:p,children:u?.map(t=>e.jsxs(s.BuilderProvider,{state:t.data,lazy:t.lazy,priority:t.priority,isPostPurchase:_,isPreview:q,children:[e.jsx(s.Render,{uid:t.uid}),F&&e.jsx(d,{defer:!0,src:`${w}/assets-v2/gp-flow-action-lip-v7-5.js`})]},t.uid))}),_&&e.jsx(r.default,{shopName:v||""})]})})})})]})};
5
+ `},`page_background_${O}`)]}),e.jsx(s.PageProvider,{productOffers:b,publicStoreFrontData:q,dynamicDiscountOffer:S,sellingPlanMeta:I,buyerConsentChecked:H,children:e.jsx(s.BuilderComponentProvider,{components:u,children:e.jsx(s.I18nProvider,{t:w,children:e.jsxs("div",{className:`${P?"post-purchase-page gp-bg-white":""} `,role:"main",children:[P&&e.jsx(n.default,{pageType:"POST_PURCHASE"}),C&&e.jsx("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${JSON.stringify(A)}</div>`}}),e.jsx(s.SectionProvider,{data:m,children:p?.map(t=>e.jsxs(s.BuilderProvider,{state:t.data,lazy:t.lazy,priority:t.priority,isPostPurchase:P,isPreview:k,children:[e.jsx(s.Render,{uid:t.uid}),C&&e.jsx(c,{defer:!0,src:`${B}/assets-v2/gp-flow-action-lip-v7-5.js`})]},t.uid))}),P&&e.jsx(r.default,{shopName:v||""})]})})})})]})};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as t,Fragment as e}from"react/jsx-runtime";import{getChildrenByAttrSelector as r}from"./toolbar/utils/getChildrenByAttrSelector.js";import{waitForElementToExist as o}from"./toolbar/utils/waitForElementToExist.js";import{TOOLBAR_ACTIVE_HEIGHT as a,TOOLBAR_HOVER_HEIGHT as i}from"./toolbar/const.js";import{getDOMElementParents as n}from"./toolbar/utils/getDOMElementParents.js";import{findOverflowParent as d}from"./toolbar/utils/findOverflowParent.js";import{findDOMClosest as u}from"./toolbar/utils/findDOMClosest.js";import{memo as l,useRef as c,useCallback as s,useEffect as b}from"react";import{isOverParent as m}from"./toolbar/utils/isOverParent.js";var f=l(()=>{let l=c(null),f=c(!1),v=c(),p=c(!1),h=c([]),g=c([]),A=c([]),y=({state:t,$toolbar:e,$component:r})=>{let o=d(r,e),i=e.getBoundingClientRect(),n=r.getBoundingClientRect(),u=window.innerWidth;o?n?.height<=60?e.setAttribute(`data-toolbar-${t}-revert`,"true"):e.setAttribute(`data-toolbar-${t}-inside`,"true"):i.top<a+1&&(n?.height<=60?e.setAttribute(`data-toolbar-${t}-revert`,"true"):e.setAttribute(`data-toolbar-${t}-inside`,"true")),n.left+i.width>u&&e.setAttribute(`data-toolbar-${t}-overflow`,"true");let l=r?.closest('[aria-label="Dialog body"]');if(l){let r=l.getBoundingClientRect(),o=r.left+r.width-20;n.left+i.width>o&&e.setAttribute(`data-toolbar-${t}-overflow`,"true")}},w=s(({$component:t,componentUid:e,focus:o,isPreventSection:a,isParent:i})=>{if(!t&&!e)return;if(!t){let r=document.body.querySelector("#storefront")?.querySelector(`[data-uid="${e}"]`);if(!r)return;t=r}if(!e){let r=t.getAttribute("data-uid");if(!r)return;e=r}h.current.push(t);let n=r(t,"data-toolbar"),d=r(t,"data-outline"),u=r(t,"data-toolbar-add-top"),l=r(t,"data-toolbar-add-bottom"),c=r(t,"data-theme-section-status");a&&c&&c.setAttribute("data-theme-section-status-active","true"),n&&(n.removeAttribute("style"),i||n.setAttribute("data-toolbar-hover","true"),o&&n.setAttribute("data-toolbar-hover-focus","true"),y({$toolbar:n,$component:t,state:"hover"})),d&&(d.setAttribute("data-outline-hover","true"),i&&d.setAttribute("data-outline-parent-hover","true"),a&&(g.current.push(t),d.setAttribute("data-outline-overlay-theme-section","true")),o&&d.setAttribute("data-outline-hover-focus","true")),u&&!i&&u.setAttribute("data-toolbar-add-hover","true"),l&&!i&&l.setAttribute("data-toolbar-add-hover","true")},[]),$=s(({$component:t,componentUid:e})=>{if(!t){let r=document.body.querySelector("#storefront")?.querySelector(`[data-uid="${e}"]`);if(!r)return;t=r}let r=n(t,'[data-uid][data-component-type="component"]:not([data-component-no-setting])',1);if(r.length){for(let t of r)t&&w({$component:t,isParent:!0});E({$component:t,$parents:r})}},[w]),E=({$component:t,$parents:e})=>{if(!t||!e?.length)return;let o=r(t,"data-toolbar-hover-focus");if(o){let t=o.getBoundingClientRect(),a=!!o.getAttribute("data-toolbar-hover-revert"),n=!!o.getAttribute("data-toolbar-hover-inside"),d=1;for(let o of e)if(o){let e=o.getAttribute("data-component-tag");if("Section"===e)continue;let u=r(o,"data-toolbar-hover");if(u){let e=u.getAttribute("data-toolbar-active");if(e)continue;let r=u.getBoundingClientRect(),o=a||n;if(m({current:t,parent:r,index:d,revert:o})){let e=getComputedStyle(u),a=t.top-r.top,n=t.left-r.left,l=parseFloat(e.top)+a-(i-1)*d;o&&(l=parseFloat(e.top)-a+(i-1)*d);let c=parseFloat(e.left)+n;u.setAttribute("style",`top: ${l}px;left: ${c}px;`),d++}}}}},S=s(()=>{let t=["data-outline-overlay-theme-section","data-theme-section-status-active"],e=g.current;if(e.length)for(let r of e){let e=r.querySelectorAll(t.map(t=>`[${t}]`).join(","));e&&t.forEach(t=>{e.forEach(e=>e.removeAttribute(t))})}g.current=[]},[]),q=s(()=>{let t=["data-toolbar-hover-focus","data-toolbar-hover","data-outline-hover-focus","data-toolbar-hover-revert","data-toolbar-hover-inside","data-outline-hover","data-toolbar-add-hover","data-outline-parent-hover","data-toolbar-hover-overflow"],e=h.current;if(e.length)for(let r of e){let e=r.querySelectorAll(t.map(t=>`[${t}]`).join(","));e&&t.forEach(t=>{e.forEach(e=>e.removeAttribute(t))})}S(),h.current=[]},[S]),L=s(()=>{l.current=null;let t=["data-toolbar-active","data-outline-active","data-toolbar-add-active","data-toolbar-active-revert","data-toolbar-active-inside","data-spacing-margin-bottom-active","data-toolbar-force-hover","data-outline-force-hover","data-toolbar-active-overflow"],e=A.current;if(e.length)for(let r of e){let e=r.querySelectorAll(t.map(t=>`[${t}]`).join(","));e&&t.forEach(t=>{e.forEach(e=>e.removeAttribute(t))})}A.current=[],C(!1),v.current&&v.current()},[]),I=s(({$component:t})=>{if(!t)return;let e=getComputedStyle(t),o=r(t,"data-spacing"),a=o?.querySelector("[data-spacing-margin-bottom]")||null;if(a){let t=a.querySelector("[data-spacing-margin-bottom-bg]")||null,r=a.querySelector("[data-spacing-margin-bottom-drag]")||null;if(t&&r){let o=e.marginBottom;t.style.height=o,r.style.top=o,a.setAttribute("data-spacing-margin-bottom-active","true")}}},[]),U=({componentUid:t,productId:e,articleId:r,marqueeKey:o,carouselItemKey:a})=>r?`${r?`[data-article-id="${r}"][data-uid="${t}"], [data-article-id="${r}"] [data-uid="${t}"]`:`[data-uid="${t}"]`}`:o?`[marquee-item-key="${o}"] [data-uid="${t}"]`:a?`[data-carousel-item-key="${a}"] [data-uid="${t}"]`:`${e?`[data-product-id="${e}"][data-uid="${t}"], [data-product-id="${e}"] [data-uid="${t}"]`:`[data-uid="${t}"]`}`,j=s(async({componentUid:t,productId:e,timeAwait:a=600,articleId:i,forceReActive:n,marqueeKey:d,carouselItemKey:c})=>{if(!t)return;let s=U({componentUid:t,productId:e,articleId:i,marqueeKey:d,carouselItemKey:c}),b=await o(s,a);if(!b||!n&&t==l.current?.componentUid&&e==l.current?.productId&&i==l.current?.articleId&&d==l.current?.marqueeKey&&c==l.current?.carouselItemKey)return;(t!==l.current?.componentUid||e!==l.current?.productId||i!==l.current?.articleId||c!==l.current?.carouselItemKey||n)&&L(),(n||t===l.current?.componentUid)&&e===l.current?.productId&&d===l.current?.marqueeKey&&c===l.current?.carouselItemKey||L(),A.current.push(b);let m=r(b,"data-toolbar"),f=r(b,"data-outline"),v=r(b,"data-toolbar-add-top"),p=r(b,"data-toolbar-add-bottom");m&&(l.current={componentUid:t,productId:e,articleId:i,marqueeKey:d,carouselItemKey:c},m.removeAttribute("style"),m.setAttribute("data-toolbar-active","true"),y({$toolbar:m,$component:b,state:"active"})),f&&f.setAttribute("data-outline-active","true"),v&&v.setAttribute("data-toolbar-add-active","true"),p&&p.setAttribute("data-toolbar-add-active","true");let{$isChildOfMarquee:h,$section:g}=u(b,{$isChildOfMarquee:'[data-component-tag="Marquee"]',$section:'[data-component-tag="Section"]'});if(g&&(e||i||h)){let e=g.querySelectorAll(`[data-uid="${t}"]`);e?.length&&e.forEach(t=>{A.current.push(t);let e=r(t,"data-outline");e&&e.setAttribute("data-outline-active","true")})}I({$component:b}),q()},[L,q,I]),C=async t=>{if(t){if(l.current?.componentUid){let e=U({...l.current}),a=await o(e,500);if(a){let e=r(a,"data-toolbar"),o=r(a,"data-outline"),i=r(a,"data-spacing");e&&t&&e.setAttribute("data-toolbar-editor-inline-focus","true"),o&&t&&o.setAttribute("data-outline-editor-inline-focus","true"),i&&t&&i.setAttribute("data-spacing-hidden","true")}}}else{let t=document.body.querySelector("#storefront")?.querySelectorAll("[data-outline-editor-inline-focus],[data-toolbar-editor-inline-focus],[data-spacing-hidden]");t?.length&&t.forEach(t=>{t&&(t.removeAttribute("data-toolbar-editor-inline-focus"),t.removeAttribute("data-outline-editor-inline-focus"),t.removeAttribute("data-spacing-hidden"))})}},K=s(t=>{let e=t.closest("[data-theme-section]"),o=e?.getAttribute("data-uid"),a=e&&o===l.current?.componentUid;if(!a)return;g.current.push(e);let i=r(e,"data-theme-section-status");i&&i.setAttribute("data-theme-section-status-active","true")},[]),O=async({value:t})=>{if(!t||!l.current)return;let e=!1,a=U({...l.current}),i=await o(a,500);if(i){let t=i?.querySelectorAll("[data-toolbar-parent]");if(t.length){let a=t=>{if(e)return;let o=t.getAttribute("data-parent-uid");if(!o)return;let a=document.body.querySelector("#storefront")?.querySelectorAll(`[data-uid="${o}"]`);a?.length&&a.forEach(t=>{let e=r(t,"data-outline");e&&(e.setAttribute("data-outline-force-hover","true"),e.setAttribute("data-outline-force-overlay","true"))})},i=t=>{let e=t.getAttribute("data-parent-uid");if(!e)return;let o=document.body.querySelector("#storefront")?.querySelectorAll(`[data-uid="${e}"]`);o?.length&&o.forEach(t=>{let e=r(t,"data-outline");e&&(e.removeAttribute("data-outline-force-hover"),e.removeAttribute("data-outline-force-overlay"))})},n=async t=>{e=!0;let r=t.getAttribute("data-parent-uid");if(!r)return;let a=async()=>{let t=await o(`[data-uid="${r}"]`,500),e=t?.closest("[data-product-id]");return!!e?.getAttribute("data-product-id")},n=async()=>{let t=await o(`[data-uid="${r}"]`,500),e=t?.closest("[data-article-id]");return!!e?.getAttribute("data-article-id")},d=async()=>{let t=await o(`[data-uid="${r}"]`,500),e=t?.closest("[data-carousel-item-key]");return!!e?.getAttribute("data-carousel-item-key")},u="",c="",s="";await a()&&(u=l.current?.productId||""),await n()&&(c=l.current?.articleId||""),await d()&&(s=l.current?.carouselItemKey||"");let b=new CustomEvent("editor:toolbar:force-active-component",{bubbles:!0,detail:{componentUid:r,productId:u,articleId:c,carouselItemKey:s,elementTag:t.getAttribute("data-component-tag")||""}});i(t),window.dispatchEvent(b),setTimeout(()=>{e=!1},0)};t.forEach(t=>{t.addEventListener("mouseover",()=>a(t)),t.addEventListener("mouseout",()=>i(t)),t.addEventListener("click",()=>n(t))})}}},x=s(t=>{if(f.current||p.current)return;let e=t.target;if(!e||"function"!=typeof e.closest){S(),q();return}let{$toolbarHover:o,$component:a,$themeSection:i,$shopifySection:n}=u(e,{$toolbarHover:"[data-toolbar-hover]",$component:"[data-toolbar-wrap]",$themeSection:"[data-theme-section]",$shopifySection:"[data-shopify-section]"});if(o)return;let d=a?.getAttribute("data-uid");if(!a||!d||"ROOT"==d){q();return}let c=r(a,"data-toolbar");if(!d||"ROOT"==d||c?.getAttribute("data-toolbar-hover-focus"))return;c?.getAttribute("data-toolbar-hover-focus")||q(),K(e);let s=i||n;if(d==l.current?.componentUid){if(l.current.productId){let t=a.closest("[data-product-id]");if(t){let e=t.getAttribute("data-product-id");if(e==l.current.productId){q();return}}}if(!s)return;w({$component:s,focus:!0,isPreventSection:!0})}s?w({$component:s,focus:!0,isPreventSection:!0}):(w({$component:a,componentUid:d,focus:!0}),$({$component:a,componentUid:d}))},[K,q,w,$,S,l]),B=s(t=>{if(f.current)return;let e=t.detail;e?.componentUid?j({componentUid:e.componentUid,productId:e.productId,articleId:e.articleId,marqueeKey:e.marqueeKey,carouselItemKey:e.carouselItemKey}):L()},[j,L,f]),R=s(()=>{q()},[q]),P=s(t=>{let e=t.detail;e.value&&(q(),L()),f.current=e.value},[q,L]),T=s(t=>{let e=t.detail;e.value?C(!0):C(!1)},[]),k=s(t=>{if(f.current)return;let e=t.detail;O({value:e?.value||!1})},[]),M=s(t=>{let e=t.detail;e?.value?(q(),p.current=!0):p.current=!1},[q]),F=(t,e)=>{if(!t)return;let o=document.body.querySelector("#storefront")?.querySelectorAll(`[data-uid="${t}"]`);o?.length&&o.forEach(t=>{let o=r(t,"data-outline");o&&("in"===e?(o.setAttribute("data-outline-force-hover","true"),o.setAttribute("data-outline-force-overlay","true")):(o.removeAttribute("data-outline-force-hover"),o.removeAttribute("data-outline-force-overlay")))})},D=s(t=>{if(f.current)return;let e=t.detail;e?.componentUid&&F(e?.componentUid,e?.type)},[f]),z=t=>{let e=t.detail;l.current?.componentUid&&e?.componentUid==l.current?.componentUid&&j({...l.current})},H=s(t=>{let e=t.detail;document.body.toggleAttribute("data-editor-mobile",!!e?.isEditorMobile)},[]);return b(()=>(document.addEventListener("mousemove",x),window.addEventListener("editor:active-component",B),window.addEventListener("editor:focus-outside-preview",R),window.addEventListener("editor:is-dragging",P),window.addEventListener("editor:is-editing-text-editor",T),window.addEventListener("editor:toolbar:show-parents",k),window.addEventListener("editor:toolbar:resize-spacing",M),window.addEventListener("editor:hover-component",D),window.addEventListener("editor:component:render",z),window.addEventListener("editor:editor-mobile-change",H),()=>{document.removeEventListener("mousemove",x),window.removeEventListener("editor:active-component",B),window.removeEventListener("editor:is-dragging",R),window.removeEventListener("editor:is-dragging",P),window.removeEventListener("editor:is-editing-text-editor",T),window.removeEventListener("editor:toolbar:show-parents",k),window.removeEventListener("editor:toolbar:resize-spacing",M),window.removeEventListener("editor:hover-component",D),window.removeEventListener("editor:component:render",z),window.removeEventListener("editor:editor-mobile-change",H),document.body.removeAttribute("data-editor-mobile")}),[x,B,R,P,T,k,M,D,z,H]),t(e,{})});export{f as default};
2
+ import{jsx as t,Fragment as e}from"react/jsx-runtime";import{syncOverlayRect as r,getOverlayContainingBlock as o,clearOverlayRect as a}from"./toolbar/utils/syncOverlayRect.js";import{getChildrenByAttrSelector as i}from"./toolbar/utils/getChildrenByAttrSelector.js";import{waitForElementToExist as n}from"./toolbar/utils/waitForElementToExist.js";import{TOOLBAR_ACTIVE_HEIGHT as d,TOOLBAR_HOVER_HEIGHT as u}from"./toolbar/const.js";import{getDOMElementParents as l}from"./toolbar/utils/getDOMElementParents.js";import{findOverflowParent as c}from"./toolbar/utils/findOverflowParent.js";import{findDOMClosest as s}from"./toolbar/utils/findDOMClosest.js";import{memo as b,useRef as m,useCallback as f,useEffect as v}from"react";import{isOverParent as p}from"./toolbar/utils/isOverParent.js";var h=b(()=>{let b=m(null),h=m(!1),g=m(),A=m(!1),y=m([]),w=m([]),$=m([]),E=m(),S=f(()=>{$.current.forEach(t=>r({$component:t}))},[]),q=f(t=>{E.current||(E.current=new ResizeObserver(()=>S())),E.current.observe(t);let e=o(t);e&&E.current.observe(e)},[S]),L=f(()=>{E.current?.disconnect()},[]),I=({state:t,$toolbar:e,$component:r})=>{let o=c(r,e),a=e.getBoundingClientRect(),i=r.getBoundingClientRect(),n=window.innerWidth;o?i?.height<=60?e.setAttribute(`data-toolbar-${t}-revert`,"true"):e.setAttribute(`data-toolbar-${t}-inside`,"true"):a.top<d+1&&(i?.height<=60?e.setAttribute(`data-toolbar-${t}-revert`,"true"):e.setAttribute(`data-toolbar-${t}-inside`,"true")),i.left+a.width>n&&e.setAttribute(`data-toolbar-${t}-overflow`,"true");let u=r?.closest('[aria-label="Dialog body"]');if(u){let r=u.getBoundingClientRect(),o=r.left+r.width-20;i.left+a.width>o&&e.setAttribute(`data-toolbar-${t}-overflow`,"true")}},U=f(({$component:t,componentUid:e,focus:o,isPreventSection:a,isParent:n})=>{if(!t&&!e)return;if(!t){let r=document.body.querySelector("#storefront")?.querySelector(`[data-uid="${e}"]`);if(!r)return;t=r}if(!e){let r=t.getAttribute("data-uid");if(!r)return;e=r}y.current.push(t),r({$component:t});let d=i(t,"data-toolbar"),u=i(t,"data-outline"),l=i(t,"data-toolbar-add-top"),c=i(t,"data-toolbar-add-bottom"),s=i(t,"data-theme-section-status");a&&s&&s.setAttribute("data-theme-section-status-active","true"),d&&(d.removeAttribute("style"),n||d.setAttribute("data-toolbar-hover","true"),o&&d.setAttribute("data-toolbar-hover-focus","true"),I({$toolbar:d,$component:t,state:"hover"})),u&&(u.setAttribute("data-outline-hover","true"),n&&u.setAttribute("data-outline-parent-hover","true"),a&&(w.current.push(t),u.setAttribute("data-outline-overlay-theme-section","true")),o&&u.setAttribute("data-outline-hover-focus","true")),l&&!n&&l.setAttribute("data-toolbar-add-hover","true"),c&&!n&&c.setAttribute("data-toolbar-add-hover","true")},[]),j=f(({$component:t,componentUid:e})=>{if(!t){let r=document.body.querySelector("#storefront")?.querySelector(`[data-uid="${e}"]`);if(!r)return;t=r}let r=l(t,'[data-uid][data-component-type="component"]:not([data-component-no-setting])',1);if(r.length){for(let t of r)t&&U({$component:t,isParent:!0});C({$component:t,$parents:r})}},[U]),C=({$component:t,$parents:e})=>{if(!t||!e?.length)return;let r=i(t,"data-toolbar-hover-focus");if(r){let t=r.getBoundingClientRect(),o=!!r.getAttribute("data-toolbar-hover-revert"),a=!!r.getAttribute("data-toolbar-hover-inside"),n=1;for(let r of e)if(r){let e=r.getAttribute("data-component-tag");if("Section"===e)continue;let d=i(r,"data-toolbar-hover");if(d){let e=d.getAttribute("data-toolbar-active");if(e)continue;let r=d.getBoundingClientRect(),i=o||a;if(p({current:t,parent:r,index:n,revert:i})){let e=getComputedStyle(d),o=t.top-r.top,a=t.left-r.left,l=parseFloat(e.top)+o-(u-1)*n;i&&(l=parseFloat(e.top)-o+(u-1)*n);let c=parseFloat(e.left)+a;d.setAttribute("style",`top: ${l}px;left: ${c}px;`),n++}}}}},O=f(()=>{let t=["data-outline-overlay-theme-section","data-theme-section-status-active"],e=w.current;if(e.length)for(let r of e){let e=r.querySelectorAll(t.map(t=>`[${t}]`).join(","));e&&t.forEach(t=>{e.forEach(e=>e.removeAttribute(t))})}w.current=[]},[]),K=f(()=>{let t=["data-toolbar-hover-focus","data-toolbar-hover","data-outline-hover-focus","data-toolbar-hover-revert","data-toolbar-hover-inside","data-outline-hover","data-toolbar-add-hover","data-outline-parent-hover","data-toolbar-hover-overflow"],e=y.current;if(e.length)for(let r of e){$.current.includes(r)||a({$component:r});let e=r.querySelectorAll(t.map(t=>`[${t}]`).join(","));e&&t.forEach(t=>{e.forEach(e=>e.removeAttribute(t))})}O(),y.current=[]},[O]),R=f(()=>{b.current=null,L();let t=["data-toolbar-active","data-outline-active","data-toolbar-add-active","data-toolbar-active-revert","data-toolbar-active-inside","data-spacing-margin-bottom-active","data-toolbar-force-hover","data-outline-force-hover","data-toolbar-active-overflow"],e=$.current;if(e.length)for(let r of e){y.current.includes(r)||a({$component:r});let e=r.querySelectorAll(t.map(t=>`[${t}]`).join(","));e&&t.forEach(t=>{e.forEach(e=>e.removeAttribute(t))})}$.current=[],P(!1),g.current&&g.current()},[L]),k=f(({$component:t})=>{if(!t)return;let e=getComputedStyle(t),r=i(t,"data-spacing"),o=r?.querySelector("[data-spacing-margin-bottom]")||null;if(o){let t=o.querySelector("[data-spacing-margin-bottom-bg]")||null,r=o.querySelector("[data-spacing-margin-bottom-drag]")||null;if(t&&r){let a=e.marginBottom;t.style.height=a,r.style.top=a,o.setAttribute("data-spacing-margin-bottom-active","true")}}},[]),x=({componentUid:t,productId:e,articleId:r,marqueeKey:o,carouselItemKey:a})=>r?`${r?`[data-article-id="${r}"][data-uid="${t}"], [data-article-id="${r}"] [data-uid="${t}"]`:`[data-uid="${t}"]`}`:o?`[marquee-item-key="${o}"] [data-uid="${t}"]`:a?`[data-carousel-item-key="${a}"] [data-uid="${t}"]`:`${e?`[data-product-id="${e}"][data-uid="${t}"], [data-product-id="${e}"] [data-uid="${t}"]`:`[data-uid="${t}"]`}`,B=f(async({componentUid:t,productId:e,timeAwait:o=600,articleId:a,forceReActive:d,marqueeKey:u,carouselItemKey:l})=>{if(!t)return;let c=x({componentUid:t,productId:e,articleId:a,marqueeKey:u,carouselItemKey:l}),m=await n(c,o);if(!m||!d&&t==b.current?.componentUid&&e==b.current?.productId&&a==b.current?.articleId&&u==b.current?.marqueeKey&&l==b.current?.carouselItemKey)return;(t!==b.current?.componentUid||e!==b.current?.productId||a!==b.current?.articleId||l!==b.current?.carouselItemKey||d)&&R(),(d||t===b.current?.componentUid)&&e===b.current?.productId&&u===b.current?.marqueeKey&&l===b.current?.carouselItemKey||R(),$.current.push(m),r({$component:m}),q(m);let f=i(m,"data-toolbar"),v=i(m,"data-outline"),p=i(m,"data-toolbar-add-top"),h=i(m,"data-toolbar-add-bottom");f&&(b.current={componentUid:t,productId:e,articleId:a,marqueeKey:u,carouselItemKey:l},f.removeAttribute("style"),f.setAttribute("data-toolbar-active","true"),I({$toolbar:f,$component:m,state:"active"})),v&&v.setAttribute("data-outline-active","true"),p&&p.setAttribute("data-toolbar-add-active","true"),h&&h.setAttribute("data-toolbar-add-active","true");let{$isChildOfMarquee:g,$section:A}=s(m,{$isChildOfMarquee:'[data-component-tag="Marquee"]',$section:'[data-component-tag="Section"]'});if(A&&(e||a||g)){let e=A.querySelectorAll(`[data-uid="${t}"]`);e?.length&&e.forEach(t=>{$.current.push(t),r({$component:t}),q(t);let e=i(t,"data-outline");e&&e.setAttribute("data-outline-active","true")})}k({$component:m}),K()},[q,R,K,k]),P=async t=>{if(t){if(b.current?.componentUid){let e=x({...b.current}),r=await n(e,500);if(r){let e=i(r,"data-toolbar"),o=i(r,"data-outline"),a=i(r,"data-spacing");e&&t&&e.setAttribute("data-toolbar-editor-inline-focus","true"),o&&t&&o.setAttribute("data-outline-editor-inline-focus","true"),a&&t&&a.setAttribute("data-spacing-hidden","true")}}}else{let t=document.body.querySelector("#storefront")?.querySelectorAll("[data-outline-editor-inline-focus],[data-toolbar-editor-inline-focus],[data-spacing-hidden]");t?.length&&t.forEach(t=>{t&&(t.removeAttribute("data-toolbar-editor-inline-focus"),t.removeAttribute("data-outline-editor-inline-focus"),t.removeAttribute("data-spacing-hidden"))})}},T=f(t=>{let e=t.closest("[data-theme-section]"),r=e?.getAttribute("data-uid"),o=e&&r===b.current?.componentUid;if(!o)return;w.current.push(e);let a=i(e,"data-theme-section-status");a&&a.setAttribute("data-theme-section-status-active","true")},[]),F=async({value:t})=>{if(!t||!b.current)return;let e=!1,r=x({...b.current}),o=await n(r,500);if(o){let t=o?.querySelectorAll("[data-toolbar-parent]");if(t.length){let r=t=>{if(e)return;let r=t.getAttribute("data-parent-uid");if(!r)return;let o=document.body.querySelector("#storefront")?.querySelectorAll(`[data-uid="${r}"]`);o?.length&&o.forEach(t=>{let e=i(t,"data-outline");e&&(e.setAttribute("data-outline-force-hover","true"),e.setAttribute("data-outline-force-overlay","true"))})},o=t=>{let e=t.getAttribute("data-parent-uid");if(!e)return;let r=document.body.querySelector("#storefront")?.querySelectorAll(`[data-uid="${e}"]`);r?.length&&r.forEach(t=>{let e=i(t,"data-outline");e&&(e.removeAttribute("data-outline-force-hover"),e.removeAttribute("data-outline-force-overlay"))})},a=async t=>{e=!0;let r=t.getAttribute("data-parent-uid");if(!r)return;let a=async()=>{let t=await n(`[data-uid="${r}"]`,500),e=t?.closest("[data-product-id]");return!!e?.getAttribute("data-product-id")},i=async()=>{let t=await n(`[data-uid="${r}"]`,500),e=t?.closest("[data-article-id]");return!!e?.getAttribute("data-article-id")},d=async()=>{let t=await n(`[data-uid="${r}"]`,500),e=t?.closest("[data-carousel-item-key]");return!!e?.getAttribute("data-carousel-item-key")},u="",l="",c="";await a()&&(u=b.current?.productId||""),await i()&&(l=b.current?.articleId||""),await d()&&(c=b.current?.carouselItemKey||"");let s=new CustomEvent("editor:toolbar:force-active-component",{bubbles:!0,detail:{componentUid:r,productId:u,articleId:l,carouselItemKey:c,elementTag:t.getAttribute("data-component-tag")||""}});o(t),window.dispatchEvent(s),setTimeout(()=>{e=!1},0)};t.forEach(t=>{t.addEventListener("mouseover",()=>r(t)),t.addEventListener("mouseout",()=>o(t)),t.addEventListener("click",()=>a(t))})}}},M=f(t=>{if(h.current||A.current)return;let e=t.target;if(!e||"function"!=typeof e.closest){O(),K();return}let{$toolbarHover:r,$component:o,$themeSection:a,$shopifySection:n,$bundleDiscountLocked:d}=s(e,{$toolbarHover:"[data-toolbar-hover]",$component:"[data-toolbar-wrap]",$themeSection:"[data-theme-section]",$shopifySection:"[data-shopify-section]",$bundleDiscountLocked:"[data-bundle-discount-locked]"});if(r)return;let u=o?.getAttribute("data-uid");if(!o||!u||"ROOT"==u||d&&o!==d){K();return}let l=i(o,"data-toolbar");if(!u||"ROOT"==u||l?.getAttribute("data-toolbar-hover-focus"))return;l?.getAttribute("data-toolbar-hover-focus")||K(),T(e);let c=a||n;if(u==b.current?.componentUid){if(b.current.productId){let t=o.closest("[data-product-id]");if(t){let e=t.getAttribute("data-product-id");if(e==b.current.productId){K();return}}}if(!c)return;U({$component:c,focus:!0,isPreventSection:!0})}c?U({$component:c,focus:!0,isPreventSection:!0}):(U({$component:o,componentUid:u,focus:!0}),j({$component:o,componentUid:u}))},[T,K,U,j,O,b]),D=f(t=>{if(h.current)return;let e=t.detail;e?.componentUid?B({componentUid:e.componentUid,productId:e.productId,articleId:e.articleId,marqueeKey:e.marqueeKey,carouselItemKey:e.carouselItemKey}):R()},[B,R,h]),z=f(()=>{K()},[K]),H=f(t=>{let e=t.detail;e.value&&(K(),R()),h.current=e.value},[K,R]),W=f(t=>{let e=t.detail;e.value?P(!0):P(!1)},[]),G=f(t=>{if(h.current)return;let e=t.detail;F({value:e?.value||!1})},[]),J=f(t=>{let e=t.detail;e?.value?(K(),A.current=!0):A.current=!1},[K]),N=(t,e)=>{if(!t)return;let r=document.body.querySelector("#storefront")?.querySelectorAll(`[data-uid="${t}"]`);r?.length&&r.forEach(t=>{let r=i(t,"data-outline");r&&("in"===e?(r.setAttribute("data-outline-force-hover","true"),r.setAttribute("data-outline-force-overlay","true")):(r.removeAttribute("data-outline-force-hover"),r.removeAttribute("data-outline-force-overlay")))})},Q=f(t=>{if(h.current)return;let e=t.detail;e?.componentUid&&N(e?.componentUid,e?.type)},[h]),V=t=>{let e=t.detail;b.current?.componentUid&&e?.componentUid==b.current?.componentUid&&(B({...b.current}),requestAnimationFrame(()=>S()))},X=f(t=>{let e=t.detail;document.body.toggleAttribute("data-editor-mobile",!!e?.isEditorMobile)},[]);return v(()=>(document.addEventListener("mousemove",M),window.addEventListener("editor:active-component",D),window.addEventListener("editor:focus-outside-preview",z),window.addEventListener("editor:is-dragging",H),window.addEventListener("editor:is-editing-text-editor",W),window.addEventListener("editor:toolbar:show-parents",G),window.addEventListener("editor:toolbar:resize-spacing",J),window.addEventListener("editor:hover-component",Q),window.addEventListener("editor:component:render",V),window.addEventListener("editor:editor-mobile-change",X),()=>{document.removeEventListener("mousemove",M),window.removeEventListener("editor:active-component",D),window.removeEventListener("editor:is-dragging",z),window.removeEventListener("editor:is-dragging",H),window.removeEventListener("editor:is-editing-text-editor",W),window.removeEventListener("editor:toolbar:show-parents",G),window.removeEventListener("editor:toolbar:resize-spacing",J),window.removeEventListener("editor:hover-component",Q),window.removeEventListener("editor:component:render",V),window.removeEventListener("editor:editor-mobile-change",X),document.body.removeAttribute("data-editor-mobile")}),[M,D,z,H,W,G,J,Q,V,X]),t(e,{})});export{h as default};
@@ -0,0 +1 @@
1
+ let t={X:"--gp-ol-x",Y:"--gp-ol-y",WIDTH:"--gp-ol-w",HEIGHT:"--gp-ol-h",RIGHT:"--gp-ol-r",BOTTOM:"--gp-ol-b"},e=({$component:e})=>{e instanceof HTMLElement&&Object.values(t).forEach(t=>e.style.removeProperty(t))},r=t=>!!("static"!==t.position||"none"!==t.transform||"none"!==t.perspective||"none"!==t.filter||"none"!==t.backdropFilter||"normal"!==t.containerType||/transform|perspective|filter/.test(t.willChange))||/layout|paint|strict|content/.test(t.contain),o=t=>{let e=t.parentElement;for(;e;){if(r(getComputedStyle(e)))return e;e=e.parentElement}return null},n=({$component:r})=>{if(!(r instanceof HTMLElement))return;if("static"!==getComputedStyle(r).position){e({$component:r});return}let n=o(r);if(!(n instanceof HTMLElement)){e({$component:r});return}let l=r.getBoundingClientRect(),p=n.getBoundingClientRect(),i=getComputedStyle(n),a=parseFloat(i.borderTopWidth)||0,s=parseFloat(i.borderLeftWidth)||0,c=parseFloat(i.borderRightWidth)||0,g=parseFloat(i.borderBottomWidth)||0,{style:y}=r;y.setProperty(t.X,`${l.left-p.left-s}px`),y.setProperty(t.Y,`${l.top-p.top-a}px`),y.setProperty(t.WIDTH,`${l.width}px`),y.setProperty(t.HEIGHT,`${l.height}px`),y.setProperty(t.RIGHT,`${p.right-c-l.right}px`),y.setProperty(t.BOTTOM,`${p.bottom-g-l.bottom}px`)};export{e as clearOverlayRect,o as getOverlayContainingBlock,n as syncOverlayRect};
@@ -1 +1 @@
1
- import{PublishedThemePagesDocument as e,StorePropertyDocument as o,PublishedShopMetasDocument as t}from"@gem-sdk/core";import{getStaticFontFacesFromPageTemplate as a,getStaticFontFacesFromGlobalStyle as l}from"../google-fonts.js";import{parseBuilderTemplateV2 as s,extractPageBackground as i}from"../helpers/normalize.js";import{getPublishedThemePageMetafieldByKey as r}from"../helpers/get-metafield.js";import{parseJson as n,serializableJson as d}from"../helpers/parse-json.js";import{generateSeoLinks as m}from"../helpers/generate-seo-links.js";import{PublishedThemePageMetafields as p}from"../../constants/index.js";import{ShopMetaDocument as u}from"@gem-sdk/adapter-shopify";import{getFallbackV2 as f}from"../helpers/get-fallback.js";import{captureException as c}from"@sentry/nextjs";import{getCustomFonts as h}from"../custom-fonts.js";import{genCSS as g}from"../helpers/gen-css.js";let T=(T,_)=>async()=>{try{let[c,y,A,I]=await Promise.allSettled([T([e.toString(),{slugType:"STATIC"}]),T([o.toString()]),_([u]),T([t.toString(),{keys:["source_font",p.GLOBAL_META_DESCRIPTION,p.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===c.status)throw Error(c.reason?.[0]);let L="fulfilled"===I.status?I.value:void 0,C=L?.publishedShopMetas?.find(e=>e?.key==="source_font"),S=c.value?.publishedThemePages?.[0],P=c.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!S)throw Error("No data builder found for Home page");let v=s(S),[E,M,O,k]=await Promise.all([a({pageTemplate:v,sourceFont:C?.value,data:S?.pageStyle?.data}),l({data:S?.pageStyle?.data,sourceFont:C?.value}),f(T,v),h(P)]),D=S.isMobile??!1,B=r(p.GLOBAL_META_DESCRIPTION,S?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===p.GLOBAL_META_DESCRIPTION)?.value,b=n(r(p.GLOBAL_META_THUMBNAIL,S?.metafields)||L?.publishedShopMetas?.find(e=>e?.key===p.GLOBAL_META_THUMBNAIL)?.value),j="fulfilled"===A.status?A.value:void 0,N="fulfilled"===y.status?y.value:void 0,G=N?.storeProperty?.favicon??"/favicon/favicon-32x32.png",H={defaultTitle:j?.shop.name,title:S?.name??"Home",description:B??j?.shop.description,openGraph:{locale:j?.localization.country.isoCode,title:S?.name??j?.shop.name,description:B??j?.shop.description,images:b?[b]:[]},additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`https://${N?.storeProperty?.primaryDomain}/`,additionalLinkTags:m({favicon:G,shopMeta:j})},w=j?.localization.language.isoCode??null,x=j?.localization.country.isoCode??null,F=w&&x?`${w}-${x}`:null;return d({id:c.value?.publishedThemePages?.[0]?.id??null,shopID:c.value?.publishedThemePages?.[0]?.shopID??null,themeStyle:g(S?.pageStyle?.data,D),fontStyle:M,elementFontStyle:E,builderData:v,swr:{fallback:O},moneyFormat:j?.shop.moneyFormat??null,currency:j?.localization.country.currency.isoCode??null,languageIsoCode:w,countryIsoCode:x,locale:F,swatches:n(N?.storeProperty?.swatchesConfig),seo:H,mobileOnly:D,gaTrackingId:r(p.ANALYTICS_GA_TRACKING_ID,S?.metafields)??null,facebookPixelId:r(p.ANALYTICS_FB_PIXEL_ID,S?.metafields)??null,tiktokPixelId:r(p.ANALYTICS_TIKTOK_PIXEL_ID,S?.metafields)??null,customCodeHeader:r(p.CUSTOM_CODE_HEADER,S?.metafields)??null,customCodeBody:r(p.CUSTOM_CODE_BODY,S?.metafields)??null,pageHandle:S.handle??null,customFonts:k,pageBackground:i(S)})}catch(e){throw c(e),e}};export{T as getHomePagePropsV2};
1
+ import{PublishedThemePagesDocument as e,StorePropertyDocument as o,PublishedShopMetasDocument as t}from"@gem-sdk/core";import{getStaticFontFacesFromPageTemplate as a,getStaticFontFacesFromGlobalStyle as l}from"../google-fonts.js";import{parseBuilderTemplateV2 as s,extractPageBackground as i}from"../helpers/normalize.js";import{getPublishedThemePageMetafieldByKey as r}from"../helpers/get-metafield.js";import{parseJson as n,serializableJson as d}from"../helpers/parse-json.js";import{generateSeoLinks as m}from"../helpers/generate-seo-links.js";import{PublishedThemePageMetafields as p}from"../../constants/index.js";import{ShopMetaDocument as u}from"@gem-sdk/adapter-shopify";import{getFallbackV2 as f}from"../helpers/get-fallback.js";import{captureException as h}from"@sentry/nextjs";import{getCustomFonts as c}from"../custom-fonts.js";import{genCSS as T}from"../helpers/gen-css.js";let _=(_,g)=>async()=>{try{let[h,L,A,I]=await Promise.allSettled([_([e.toString(),{slugType:"STATIC"}]),_([o.toString()]),g([u]),_([t.toString(),{keys:["source_font",p.GLOBAL_META_TITLE,p.GLOBAL_META_DESCRIPTION,p.GLOBAL_META_THUMBNAIL]}])]);if("rejected"===h.status)throw Error(h.reason?.[0]);let E="fulfilled"===I.status?I.value:void 0,y=E?.publishedShopMetas?.find(e=>e?.key==="source_font"),O=h.value?.publishedThemePages?.[0],S=h.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!O)throw Error("No data builder found for Home page");let M=s(O),[v,C,P,k]=await Promise.all([a({pageTemplate:M,sourceFont:y?.value,data:O?.pageStyle?.data}),l({data:O?.pageStyle?.data,sourceFont:y?.value}),f(_,M),c(S)]),N=O.isMobile??!1,B=r(p.GLOBAL_META_DESCRIPTION,O?.metafields)||E?.publishedShopMetas?.find(e=>e?.key===p.GLOBAL_META_DESCRIPTION)?.value,D=r(p.GLOBAL_META_TITLE,O?.metafields)||E?.publishedShopMetas?.find(e=>e?.key===p.GLOBAL_META_TITLE)?.value,b=n(r(p.GLOBAL_META_THUMBNAIL,O?.metafields)||E?.publishedShopMetas?.find(e=>e?.key===p.GLOBAL_META_THUMBNAIL)?.value),j=r(p.NOINDEX_KEY,O?.metafields)||E?.publishedShopMetas?.find(e=>e?.key===p.NOINDEX_KEY)?.value,G=r(p.NOFOLLOW_KEY,O?.metafields)||E?.publishedShopMetas?.find(e=>e?.key===p.NOFOLLOW_KEY)?.value,w="fulfilled"===A.status?A.value:void 0,H="fulfilled"===L.status?L.value:void 0,F=H?.storeProperty?.favicon??"/favicon/favicon-32x32.png",Y={defaultTitle:w?.shop.name,title:D||O?.name||"Home",description:B??w?.shop.description,openGraph:{locale:w?.localization.country.isoCode,title:D||O?.name||w?.shop.name,description:B??w?.shop.description,images:b?[b]:[]},noindex:"true"===j,nofollow:"true"===G,additionalMetaTags:[{name:"theme-color",content:"#000000"}],canonical:`https://${H?.storeProperty?.primaryDomain}/`,additionalLinkTags:m({favicon:F,shopMeta:w})},x=w?.localization.language.isoCode??null,K=w?.localization.country.isoCode??null,z=x&&K?`${x}-${K}`:null;return d({id:h.value?.publishedThemePages?.[0]?.id??null,shopID:h.value?.publishedThemePages?.[0]?.shopID??null,themeStyle:T(O?.pageStyle?.data,N),fontStyle:C,elementFontStyle:v,builderData:M,swr:{fallback:P},moneyFormat:w?.shop.moneyFormat??null,currency:w?.localization.country.currency.isoCode??null,languageIsoCode:x,countryIsoCode:K,locale:z,swatches:n(H?.storeProperty?.swatchesConfig),seo:Y,mobileOnly:N,gaTrackingId:r(p.ANALYTICS_GA_TRACKING_ID,O?.metafields)??null,facebookPixelId:r(p.ANALYTICS_FB_PIXEL_ID,O?.metafields)??null,tiktokPixelId:r(p.ANALYTICS_TIKTOK_PIXEL_ID,O?.metafields)??null,customCodeHeader:r(p.CUSTOM_CODE_HEADER,O?.metafields)??null,customCodeBody:r(p.CUSTOM_CODE_BODY,O?.metafields)??null,pageHandle:O.handle??null,customFonts:k,interactions:O?.interactions,pageBackground:i(O)})}catch(e){throw h(e),e}};export{_ as getHomePagePropsV2};
@@ -1 +1 @@
1
- import{parseBuilderTemplateV2 as e,extractPageBackground as o}from"../helpers/normalize.js";import{getFontStyleFromPageTemplate as t,getFontLinkFromGlobalStyle as a}from"../google-fonts.js";import{PreviewThemePageDocument as r,StorePropertyDocument as l}from"@gem-sdk/core";import{parseJson as i,serializableJson as n}from"../helpers/parse-json.js";import{generateSeoLinks as s}from"../helpers/generate-seo-links.js";import{ShopMetaDocument as m}from"@gem-sdk/adapter-shopify";import{sentryCaptureException as c}from"../helpers/sentry.js";import{getFallbackV2 as d}from"../helpers/get-fallback.js";import{captureException as p}from"@sentry/nextjs";import{getCustomFonts as u}from"../custom-fonts.js";import{genCSS as f}from"../helpers/gen-css.js";let h=(h,g)=>async y=>{try{let p="STATIC",v={handleURL:y,pageType:p},[k,w,P]=await Promise.allSettled([h([r.toString(),v]),h([l.toString()]),g([m])]);if("rejected"===k.status)throw c("PreviewThemePageDocument",k.reason,{variables:v,theme:k}),Error(k.reason?.[0]);let j=k.value.previewThemePage;if(!j)throw Error(`No data builder found for slug: /preview/${y}`);let S=j.customFonts,b={...j,shopID:""},C=e(b),[T,x,I,D]=await Promise.all([t(C,void 0,j?.themeStyle?.data),a(j?.themeStyle?.data),d(h,C),u(S)]),z=!!j.isMobile,E=j?.dataSEO?.find(e=>e?.key==="global-meta-description")?.value,$=i(j?.dataSEO?.find(e=>e?.key==="global-meta-thumbnail")?.value),F="fulfilled"===P.status?P.value:void 0,B="fulfilled"===w.status?w.value:void 0,L=B?.storeProperty?.favicon??"/favicon/favicon-32x32.png",M={defaultTitle:F?.shop.name,title:j?.name,description:E??F?.shop.description,openGraph:{locale:F?.localization.country.isoCode,title:j?.name??F?.shop.name,description:E??F?.shop.description,images:$?[$]:[]},nofollow:!0,noindex:!0,canonical:`/preview/${y}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:s({favicon:L,shopMeta:F})},O=F?.localization.language.isoCode??null,A=F?.localization.country.isoCode??null,G=O&&A?`${O}-${A}`:null;return n({themeStyle:f(j?.themeStyle?.data,z),fontStyle:x,elementFontStyle:T,builderData:C,pageType:p,moneyFormat:F?.shop?.moneyFormat??null,currency:F?.localization?.country?.currency?.isoCode??null,languageIsoCode:O,countryIsoCode:A,locale:G,swr:{fallback:I},swatches:i(B?.storeProperty?.swatchesConfig),seo:M,mobileOnly:z,gaTrackingId:j.analytic?.gaTrackingID??null,facebookPixelId:j.analytic?.fbPixelID??null,tiktokPixelId:j.analytic?.tiktokPixelID??null,customCodeHeader:j.customCode?.header??null,customCodeBody:j.customCode?.body??null,customFonts:D,pageBackground:o(b),interaction:j?.interaction})}catch(e){throw p(e),e}};export{h as getStaticPagePropsPreview};
1
+ import{parseBuilderTemplateV2 as e,extractPageBackground as o}from"../helpers/normalize.js";import{getFontStyleFromPageTemplate as t,getFontLinkFromGlobalStyle as a}from"../google-fonts.js";import{PreviewThemePageDocument as r,StorePropertyDocument as l}from"@gem-sdk/core";import{parseJson as i,serializableJson as n}from"../helpers/parse-json.js";import{generateSeoLinks as s}from"../helpers/generate-seo-links.js";import{ShopMetaDocument as m}from"@gem-sdk/adapter-shopify";import{sentryCaptureException as c}from"../helpers/sentry.js";import{getFallbackV2 as d}from"../helpers/get-fallback.js";import{captureException as p}from"@sentry/nextjs";import{getCustomFonts as u}from"../custom-fonts.js";import{genCSS as f}from"../helpers/gen-css.js";let h=(h,g)=>async y=>{try{let p="STATIC",v={handleURL:y,pageType:p},[k,w,P]=await Promise.allSettled([h([r.toString(),v]),h([l.toString()]),g([m])]);if("rejected"===k.status)throw c("PreviewThemePageDocument",k.reason,{variables:v,theme:k}),Error(k.reason?.[0]);let j=k.value.previewThemePage;if(!j)throw Error(`No data builder found for slug: /preview/${y}`);let S=j.customFonts,b={...j,shopID:""},C=e(b),[T,x,I,D]=await Promise.all([t(C,void 0,j?.themeStyle?.data),a(j?.themeStyle?.data),d(h,C),u(S)]),z=!!j.isMobile,E=j?.dataSEO?.find(e=>e?.key==="global-meta-description")?.value,$=i(j?.dataSEO?.find(e=>e?.key==="global-meta-thumbnail")?.value),F="fulfilled"===P.status?P.value:void 0,B="fulfilled"===w.status?w.value:void 0,L=B?.storeProperty?.favicon??"/favicon/favicon-32x32.png",M={defaultTitle:F?.shop.name,title:j?.name,description:E??F?.shop.description,openGraph:{locale:F?.localization.country.isoCode,title:j?.name??F?.shop.name,description:E??F?.shop.description,images:$?[$]:[]},nofollow:!0,noindex:!0,canonical:`/preview/${y}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:s({favicon:L,shopMeta:F})},O=F?.localization.language.isoCode??null,A=F?.localization.country.isoCode??null,G=O&&A?`${O}-${A}`:null;return n({themeStyle:f(j?.themeStyle?.data,z),fontStyle:x,elementFontStyle:T,builderData:C,pageType:p,moneyFormat:F?.shop?.moneyFormat??null,currency:F?.localization?.country?.currency?.isoCode??null,languageIsoCode:O,countryIsoCode:A,locale:G,swr:{fallback:I},swatches:i(B?.storeProperty?.swatchesConfig),seo:M,mobileOnly:z,gaTrackingId:j.analytic?.gaTrackingID??null,facebookPixelId:j.analytic?.fbPixelID??null,tiktokPixelId:j.analytic?.tiktokPixelID??null,customCodeHeader:j.customCode?.header??null,customCodeBody:j.customCode?.body??null,customFonts:D,pageBackground:o(b),interactions:j?.interactions})}catch(e){throw p(e),e}};export{h as getStaticPagePropsPreview};
@@ -1 +1 @@
1
- import{PublishedThemePagesDocument as e,StorePropertyDocument as o,PublishedShopMetasDocument as t}from"@gem-sdk/core";import{getStaticFontFacesFromPageTemplate as a,getStaticFontFacesFromGlobalStyle as l}from"../google-fonts.js";import{parseBuilderTemplateV2 as s,extractPageBackground as i}from"../helpers/normalize.js";import{getPublishedThemePageMetafieldByKey as r}from"../helpers/get-metafield.js";import{parseJson as n,serializableJson as d}from"../helpers/parse-json.js";import{generateSeoLinks as u}from"../helpers/generate-seo-links.js";import{PublishedThemePageMetafields as p}from"../../constants/index.js";import{ShopMetaDocument as m}from"@gem-sdk/adapter-shopify";import{getFallbackV2 as f}from"../helpers/get-fallback.js";import{captureException as h}from"@sentry/nextjs";import{getCustomFonts as c}from"../custom-fonts.js";import{genCSS as _}from"../helpers/gen-css.js";let T=(T,g)=>async E=>{try{let h="STATIC",[I,A,L,O]=await Promise.allSettled([T([e.toString(),{slug:E,slugType:h}]),T([o.toString()]),g([m]),T([t.toString(),{keys:["source_font",p.GLOBAL_META_DESCRIPTION,p.GLOBAL_META_THUMBNAIL,p.SHOW_PRICE_CURRENCY,p.MONEY_WITH_CURRENCY_FORMAT]}])]);if("rejected"===I.status)throw Error(I.reason?.[0]);let y="fulfilled"===O.status?O.value:void 0,C=y?.publishedShopMetas?.find(e=>e?.key==="source_font"),S=y?.publishedShopMetas?.find(e=>e?.key===p.SHOW_PRICE_CURRENCY),M=y?.publishedShopMetas?.find(e=>e?.key===p.MONEY_WITH_CURRENCY_FORMAT),N=I.value.publishedThemePages?.[0],v=I.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!N)throw Error(`No data builder found for slug: /${E}`);let P=s(N),[k,b,R,D]=await Promise.all([a({pageTemplate:P,sourceFont:C?.value,data:N?.pageStyle?.data}),l({data:N?.pageStyle?.data,sourceFont:C?.value}),f(T,P),c(v)]),B=N.isMobile??!1,Y=r(p.GLOBAL_META_DESCRIPTION,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===p.GLOBAL_META_DESCRIPTION)?.value,j=r(p.GLOBAL_META_TITLE,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===p.GLOBAL_META_TITLE)?.value,G=n(r(p.GLOBAL_META_THUMBNAIL,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===p.GLOBAL_META_THUMBNAIL)?.value),F=r(p.NOINDEX_KEY,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===p.NOINDEX_KEY)?.value,H=r(p.NOFOLLOW_KEY,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===p.NOFOLLOW_KEY)?.value,w="fulfilled"===L.status?L.value:void 0,U="fulfilled"===A.status?A.value:void 0,x=U?.storeProperty?.favicon??"/favicon/favicon-32x32.png",K={defaultTitle:w?.shop.name,title:j||N?.name,description:Y??w?.shop.description,openGraph:{locale:w?.localization.country.isoCode,title:(j||N?.name)??w?.shop.name,description:Y??w?.shop.description,images:G?[G]:[]},noindex:"true"===F,nofollow:"true"===H,canonical:`https://${U?.storeProperty?.primaryDomain}/${E}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:u({favicon:x,shopMeta:w})},W=w?.localization.language.isoCode??null,z=w?.localization.country.isoCode??null,$=W&&z?`${W}-${z}`:null;return d({id:I.value?.publishedThemePages?.[0]?.id??null,shopID:I.value?.publishedThemePages?.[0]?.shopID??null,themeStyle:_(N?.pageStyle?.data,B),fontStyle:b,elementFontStyle:k,builderData:P,pageType:h,moneyFormat:S?.value==="true"?M?.value:w?.shop.moneyFormat??null,currency:w?.localization.country.currency.isoCode??null,languageIsoCode:W,countryIsoCode:z,locale:$,swr:{fallback:R},swatches:n(U?.storeProperty?.swatchesConfig),seo:K,mobileOnly:B,gaTrackingId:r(p.ANALYTICS_GA_TRACKING_ID,N?.metafields)??null,facebookPixelId:r(p.ANALYTICS_FB_PIXEL_ID,N?.metafields)??null,tiktokPixelId:r(p.ANALYTICS_TIKTOK_PIXEL_ID,N?.metafields)??null,customCodeHeader:r(p.CUSTOM_CODE_HEADER,N?.metafields)??null,customCodeBody:r(p.CUSTOM_CODE_BODY,N?.metafields)??null,pageHandle:N.handle??null,customFonts:D,interaction:N?.interaction,pageBackground:i(N)})}catch(e){throw h(e),e}};export{T as getStaticPagePropsV2};
1
+ import{PublishedThemePagesDocument as e,StorePropertyDocument as o,PublishedShopMetasDocument as t}from"@gem-sdk/core";import{getStaticFontFacesFromPageTemplate as a,getStaticFontFacesFromGlobalStyle as l}from"../google-fonts.js";import{parseBuilderTemplateV2 as s,extractPageBackground as i}from"../helpers/normalize.js";import{getPublishedThemePageMetafieldByKey as r}from"../helpers/get-metafield.js";import{parseJson as n,serializableJson as d}from"../helpers/parse-json.js";import{generateSeoLinks as u}from"../helpers/generate-seo-links.js";import{PublishedThemePageMetafields as p}from"../../constants/index.js";import{ShopMetaDocument as m}from"@gem-sdk/adapter-shopify";import{getFallbackV2 as f}from"../helpers/get-fallback.js";import{captureException as h}from"@sentry/nextjs";import{getCustomFonts as _}from"../custom-fonts.js";import{genCSS as c}from"../helpers/gen-css.js";let T=(T,E)=>async g=>{try{let h="STATIC",[I,L,A,O]=await Promise.allSettled([T([e.toString(),{slug:g,slugType:h}]),T([o.toString()]),E([m]),T([t.toString(),{keys:["source_font",p.GLOBAL_META_TITLE,p.GLOBAL_META_DESCRIPTION,p.GLOBAL_META_THUMBNAIL,p.SHOW_PRICE_CURRENCY,p.MONEY_WITH_CURRENCY_FORMAT]}])]);if("rejected"===I.status)throw Error(I.reason?.[0]);let y="fulfilled"===O.status?O.value:void 0,C=y?.publishedShopMetas?.find(e=>e?.key==="source_font"),M=y?.publishedShopMetas?.find(e=>e?.key===p.SHOW_PRICE_CURRENCY),S=y?.publishedShopMetas?.find(e=>e?.key===p.MONEY_WITH_CURRENCY_FORMAT),N=I.value.publishedThemePages?.[0],v=I.value?.publishedThemePages?.[0]?.themePageCustomFonts;if(!N)throw Error(`No data builder found for slug: /${g}`);let P=s(N),[k,b,R,B]=await Promise.all([a({pageTemplate:P,sourceFont:C?.value,data:N?.pageStyle?.data}),l({data:N?.pageStyle?.data,sourceFont:C?.value}),f(T,P),_(v)]),D=N.isMobile??!1,Y=r(p.GLOBAL_META_DESCRIPTION,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===p.GLOBAL_META_DESCRIPTION)?.value,j=r(p.GLOBAL_META_TITLE,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===p.GLOBAL_META_TITLE)?.value,G=n(r(p.GLOBAL_META_THUMBNAIL,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===p.GLOBAL_META_THUMBNAIL)?.value),F=r(p.NOINDEX_KEY,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===p.NOINDEX_KEY)?.value,H=r(p.NOFOLLOW_KEY,N?.metafields)||y?.publishedShopMetas?.find(e=>e?.key===p.NOFOLLOW_KEY)?.value,w="fulfilled"===A.status?A.value:void 0,U="fulfilled"===L.status?L.value:void 0,x=U?.storeProperty?.favicon??"/favicon/favicon-32x32.png",K={defaultTitle:w?.shop.name,title:j||N?.name,description:Y??w?.shop.description,openGraph:{locale:w?.localization.country.isoCode,title:(j||N?.name)??w?.shop.name,description:Y??w?.shop.description,images:G?[G]:[]},noindex:"true"===F,nofollow:"true"===H,canonical:`https://${U?.storeProperty?.primaryDomain}/${g}`,additionalMetaTags:[{name:"theme-color",content:"#000000"}],additionalLinkTags:u({favicon:x,shopMeta:w})},W=w?.localization.language.isoCode??null,z=w?.localization.country.isoCode??null,$=W&&z?`${W}-${z}`:null;return d({id:I.value?.publishedThemePages?.[0]?.id??null,shopID:I.value?.publishedThemePages?.[0]?.shopID??null,themeStyle:c(N?.pageStyle?.data,D),fontStyle:b,elementFontStyle:k,builderData:P,pageType:h,moneyFormat:M?.value==="true"?S?.value:w?.shop.moneyFormat??null,currency:w?.localization.country.currency.isoCode??null,languageIsoCode:W,countryIsoCode:z,locale:$,swr:{fallback:R},swatches:n(U?.storeProperty?.swatchesConfig),seo:K,mobileOnly:D,gaTrackingId:r(p.ANALYTICS_GA_TRACKING_ID,N?.metafields)??null,facebookPixelId:r(p.ANALYTICS_FB_PIXEL_ID,N?.metafields)??null,tiktokPixelId:r(p.ANALYTICS_TIKTOK_PIXEL_ID,N?.metafields)??null,customCodeHeader:r(p.CUSTOM_CODE_HEADER,N?.metafields)??null,customCodeBody:r(p.CUSTOM_CODE_BODY,N?.metafields)??null,pageHandle:N.handle??null,customFonts:B,interactions:N?.interactions,pageBackground:i(N)})}catch(e){throw h(e),e}};export{T as getStaticPagePropsV2};
@@ -0,0 +1 @@
1
+ let t=t=>{let e=t.key??"";return!e||e.startsWith("gp-interaction-")?0:Number(e.split("-").pop())||0},e=e=>{let r=[...e??[]].filter(t=>!!t),l=r.filter(e=>t(e)>0);return(l.length?l:r).sort((e,r)=>t(e)-t(r)).flatMap(t=>t.value??[])};export{e as joinInteractionParts};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsxs as e,Fragment as o,jsx as t}from"react/jsx-runtime";import{useI18n as r,PageProvider as i,BuilderComponentProvider as n,SectionProvider as p,I18nProvider as m,BuilderPreviewProvider as s}from"@gem-sdk/core";import l from"../components/EmptyPagePlaceholder.js";import d from"../components/AddSectionFromBottom.js";import a from"../components/builder/PopupManager.js";import c from"../components/builder/SwitchView.js";import{useState as g,useMemo as f,useEffect as h}from"react";import b from"../components/builder/Toolbox.js";import u from"../components/builder/Toolbar.js";import y from"../components/builder/Header.js";import T from"../components/builder/Footer.js";import j from"../components/builder/Body.js";import{NextSeo as S}from"next-seo";import x from"next/head";let O=({components:O,seo:v,themeStyle:P,fontStyle:w,sectionData:E,pageType:M,isThemeSectionEditor:N,hiddenToolbar:R,pageName:_,isOriginTemplate:B})=>{let[H,F]=g(!1),{t:I}=r(),L=f(()=>({ROOT:{uid:"ROOT",tag:"Root",label:"Root",childrens:[]}}),[]);h(()=>{F(!0)},[]);let k=()=>{window?.parent?.postMessage(JSON.stringify({type:"open-page-setting"}),"*")};return e(o,{children:[t(S,{...v}),e(x,{children:[P&&t("style",{type:"text/css",id:"global-style",dangerouslySetInnerHTML:{__html:P}}),w&&t("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:w}})]}),t(i,{children:t(n,{components:O,children:t(p,{data:E,children:t(m,{t:I,children:e(s,{pageName:_,state:L,isThemeSectionEditor:N,children:[t(b,{}),!R&&t(u,{}),t(a,{}),H&&e("div",{className:"builder gp-relative gp-z-1",children:[!R&&(N?t("div",{className:"gp-h-[40px] gp-border-b-[1px] gp-border-[#eeeeee] gp-bg-[#ffffff]",children:t(c,{})}):t(y,{pageType:M,isOriginTemplate:B,openPageSetting:k})),t(j,{pageType:M,isThemeSectionEditor:N}),t(l,{isThemeSectionEditor:N}),t(d,{}),t("div",{id:"visual-content"}),!N&&!R&&t(T,{pageType:M,isOriginTemplate:B,openPageSetting:k})]})]},"preview")})})})})]})};export{O as BuilderPage};
2
+ import{jsxs as e,Fragment as o,jsx as t}from"react/jsx-runtime";import{useI18n as r,PageProvider as i,BuilderComponentProvider as n,SectionProvider as p,I18nProvider as m,BuilderPreviewProvider as s,PasteErrorPageBanner as l}from"@gem-sdk/core";import d from"../components/EmptyPagePlaceholder.js";import a from"../components/AddSectionFromBottom.js";import c from"../components/builder/PopupManager.js";import g from"../components/builder/SwitchView.js";import{useState as f,useMemo as h,useEffect as b}from"react";import u from"../components/builder/Toolbox.js";import y from"../components/builder/Toolbar.js";import T from"../components/builder/Header.js";import j from"../components/builder/Footer.js";import S from"../components/builder/Body.js";import{NextSeo as x}from"next-seo";import O from"next/head";let v=({components:v,seo:P,themeStyle:w,fontStyle:E,sectionData:M,pageType:N,isThemeSectionEditor:R,hiddenToolbar:_,pageName:B,isOriginTemplate:H})=>{let[F,I]=f(!1),{t:L}=r(),k=h(()=>({ROOT:{uid:"ROOT",tag:"Root",label:"Root",childrens:[]}}),[]);b(()=>{I(!0)},[]);let z=()=>{window?.parent?.postMessage(JSON.stringify({type:"open-page-setting"}),"*")};return e(o,{children:[t(x,{...P}),e(O,{children:[w&&t("style",{type:"text/css",id:"global-style",dangerouslySetInnerHTML:{__html:w}}),E&&t("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:E}})]}),t(i,{children:t(n,{components:v,children:t(p,{data:M,children:t(m,{t:L,children:e(s,{pageName:B,state:k,isThemeSectionEditor:R,children:[t(u,{}),!_&&t(l,{}),!_&&t(y,{}),t(c,{}),F&&e("div",{className:"builder gp-relative gp-z-1",children:[!_&&(R?t("div",{className:"gp-h-[40px] gp-border-b-[1px] gp-border-[#eeeeee] gp-bg-[#ffffff]",children:t(g,{})}):t(T,{pageType:N,isOriginTemplate:H,openPageSetting:z})),t(S,{pageType:N,isThemeSectionEditor:R}),t(d,{isThemeSectionEditor:R}),t(a,{}),t("div",{id:"visual-content"}),!R&&!_&&t(j,{pageType:N,isOriginTemplate:H,openPageSetting:z})]})]},"preview")})})})})]})};export{v as BuilderPage};
@@ -1,5 +1,5 @@
1
- import{jsx as e,jsxs as t,Fragment as s}from"react/jsx-runtime";import{PageProvider as a,BuilderComponentProvider as r,SectionProvider as l,BuilderProvider as n,Render as i}from"@gem-sdk/core";import{usePageViewedTracking as o}from"../libs/hooks/usePageViewedTracking.js";import{parseHtml as d}from"../libs/parse-html.js";import{useRouter as p}from"next/router";import{NextSeo as c}from"next-seo";import{useEffect as g}from"react";import m from"next/script";import u from"next/head";let h=({components:h,builderData:f,sectionData:y,seo:_,themeStyle:b,fontStyle:v,elementFontStyle:x,customCodeHeader:S,customFonts:k,isPostPurchase:N,productOffers:T,publicStoreFrontData:P,dynamicDiscountOffer:H,isPreview:I,interaction:L,pageBackground:M,sellingPlanSetting:j,buyerConsentPreCheck:$,id:q,shopID:E,domainTrackingIlp:w})=>{let A=p(),B=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets.gemcommerce.com";o({id:q,shopID:E,domain:w});let D="custom-code-header";if(g(()=>{let e=document.querySelectorAll(`[class*="${D}-"]`),t=[];e.length>1&&e.forEach(e=>{let s=e.className;if(t.includes(s)){e.remove();return}t.push(s)})},[]),A.isFallback)return e("div",{className:"gp-flex gp-h-[100vh] gp-items-center gp-justify-center",children:t("div",{className:"gp-flex gp-gap-2",children:[e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_alternate] gp-rounded-full gp-bg-slate-800"}),e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_200ms_linear_alternate] gp-rounded-full gp-bg-slate-800"}),e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_500ms_alternate] gp-rounded-full gp-bg-slate-800"})]})});let O=(L?.value||[]).length>0,z=M?.isUsePageBackground?M?.background:M?.themeBackground;return t(s,{children:[e(c,{..._}),t(u,{children:[d(D,S,!0),b&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:b}},"global-style"),v&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:v}},"google-fonts"),x&&x.map(t=>e("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:t}},t)),k&&e("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:k}},v),z&&e("style",{children:`
1
+ import{jsx as e,jsxs as t,Fragment as s}from"react/jsx-runtime";import{PageProvider as a,BuilderComponentProvider as r,SectionProvider as n,BuilderProvider as l,Render as i}from"@gem-sdk/core";import{usePageViewedTracking as o}from"../libs/hooks/usePageViewedTracking.js";import{joinInteractionParts as d}from"../libs/interaction.js";import{parseHtml as p}from"../libs/parse-html.js";import{useRouter as m}from"next/router";import{NextSeo as c}from"next-seo";import{useEffect as g}from"react";import u from"next/script";import f from"next/head";let h=({components:h,builderData:y,sectionData:_,seo:b,themeStyle:v,fontStyle:x,elementFontStyle:S,customCodeHeader:k,customFonts:N,isPostPurchase:T,productOffers:P,publicStoreFrontData:j,dynamicDiscountOffer:H,isPreview:I,interactions:L,pageBackground:M,sellingPlanSetting:$,buyerConsentPreCheck:q,id:E,shopID:w,domainTrackingIlp:A})=>{let B=m(),D=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets.gemcommerce.com";o({id:E,shopID:w,domain:A});let O="custom-code-header";if(g(()=>{let e=document.querySelectorAll(`[class*="${O}-"]`),t=[];e.length>1&&e.forEach(e=>{let s=e.className;if(t.includes(s)){e.remove();return}t.push(s)})},[]),B.isFallback)return e("div",{className:"gp-flex gp-h-[100vh] gp-items-center gp-justify-center",children:t("div",{className:"gp-flex gp-gap-2",children:[e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_alternate] gp-rounded-full gp-bg-slate-800"}),e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_200ms_linear_alternate] gp-rounded-full gp-bg-slate-800"}),e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_500ms_alternate] gp-rounded-full gp-bg-slate-800"})]})});let z=d(L),C=z.length>0,F=M?.isUsePageBackground?M?.background:M?.themeBackground;return t(s,{children:[e(c,{...b}),t(f,{children:[p(O,k,!0),v&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:v}},"global-style"),x&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:x}},"google-fonts"),S&&S.map(t=>e("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:t}},t)),N&&e("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:N}},x),F&&e("style",{children:`
2
2
  body {
3
- background: ${z};
3
+ background: ${F};
4
4
  }
5
- `},`page_background_${z}`)]}),e(a,{productOffers:T,publicStoreFrontData:P,dynamicDiscountOffer:H,sellingPlanMeta:j,buyerConsentChecked:$,children:e(r,{components:h,children:t("div",{role:"main",children:[O&&e("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${JSON.stringify(L?.value||[])}</div>`}}),e(l,{data:y,children:f?.map(s=>t(n,{state:s.data,lazy:s.lazy,priority:s.priority,isPostPurchase:N,isPreview:I,children:[e(i,{uid:s.uid}),O&&e(m,{defer:!0,src:`${B}/assets-v2/gp-flow-action-lip-v7-5.js`})]}))})]})})})]})};export{h as Headless};
5
+ `},`page_background_${F}`)]}),e(a,{productOffers:P,publicStoreFrontData:j,dynamicDiscountOffer:H,sellingPlanMeta:$,buyerConsentChecked:q,children:e(r,{components:h,children:t("div",{role:"main",children:[C&&e("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${JSON.stringify(z)}</div>`}}),e(n,{data:_,children:y?.map(s=>t(l,{state:s.data,lazy:s.lazy,priority:s.priority,isPostPurchase:T,isPreview:I,children:[e(i,{uid:s.uid}),C&&e(u,{defer:!0,src:`${D}/assets-v2/gp-flow-action-lip-v7-5.js`})]}))})]})})})]})};export{h as Headless};
@@ -1,5 +1,5 @@
1
- import{jsx as e,jsxs as t,Fragment as s}from"react/jsx-runtime";import{useI18n as a,PageProvider as r,BuilderComponentProvider as n,I18nProvider as l,SectionProvider as o,BuilderProvider as i,Render as p}from"@gem-sdk/core";import{usePageViewedTracking as d}from"../libs/hooks/usePageViewedTracking.js";import m from"../components/FooterForPostPurchase.js";import c from"../components/builder/Header.js";import{parseHtml as g}from"../libs/parse-html.js";import{useRouter as u}from"next/router";import{NextSeo as h}from"next-seo";import{useEffect as f}from"react";import y from"next/script";import _ from"next/head";let b=({components:b,builderData:v,sectionData:S,seo:x,themeStyle:P,fontStyle:k,elementFontStyle:N,customCodeHeader:T,customFonts:j,isPostPurchase:H,shopName:I,productOffers:L,publicStoreFrontData:M,dynamicDiscountOffer:$,isPreview:E,interaction:q,pageBackground:w,sellingPlanSetting:A,buyerConsentPreCheck:F,id:O,shopID:z,domainTrackingIlp:B})=>{let C=u(),{t:D}=a(),U=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets-dev.gemcommerce.xyz";d({id:O,shopID:z,domain:B});let R="custom-code-header";if(f(()=>{let e=document.querySelectorAll(`[class*="${R}-"]`),t=[];e.length>1&&e.forEach(e=>{let s=e.className;if(t.includes(s)){e.remove();return}t.push(s)})},[]),C.isFallback)return e("div",{className:"gp-flex gp-h-[100vh] gp-items-center gp-justify-center",children:t("div",{className:"gp-flex gp-gap-2",children:[e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_alternate] gp-rounded-full gp-bg-slate-800"}),e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_200ms_linear_alternate] gp-rounded-full gp-bg-slate-800"}),e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_500ms_alternate] gp-rounded-full gp-bg-slate-800"})]})});let V=(q?.value||[]).length>0,G=w?.isUsePageBackground?w?.background:w?.themeBackground;return t(s,{children:[e(h,{...x}),t(_,{children:[g(R,T,!0),P&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:P}},"global-style"),k&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:k}},"google-fonts"),N&&N.map(t=>e("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:t}},t)),j&&e("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:j}},k),G&&e("style",{children:`
1
+ import{jsx as e,jsxs as t,Fragment as s}from"react/jsx-runtime";import{useI18n as r,PageProvider as a,BuilderComponentProvider as n,I18nProvider as i,SectionProvider as l,BuilderProvider as o,Render as p}from"@gem-sdk/core";import{usePageViewedTracking as m}from"../libs/hooks/usePageViewedTracking.js";import c from"../components/FooterForPostPurchase.js";import{joinInteractionParts as d}from"../libs/interaction.js";import g from"../components/builder/Header.js";import{parseHtml as u}from"../libs/parse-html.js";import{useRouter as h}from"next/router";import{NextSeo as f}from"next-seo";import{useEffect as y}from"react";import _ from"next/script";import b from"next/head";let S=({components:S,builderData:v,sectionData:x,seo:P,themeStyle:k,fontStyle:N,elementFontStyle:T,customCodeHeader:j,customFonts:H,isPostPurchase:I,shopName:L,productOffers:M,publicStoreFrontData:$,dynamicDiscountOffer:E,isPreview:q,interactions:w,pageBackground:A,sellingPlanSetting:F,buyerConsentPreCheck:O,id:z,shopID:B,domainTrackingIlp:C})=>{let D=h(),{t:U}=r(),R=process.env.NEXT_GP_BASE_ASSET_URL||"https://assets-dev.gemcommerce.xyz";m({id:z,shopID:B,domain:C});let V="custom-code-header";if(y(()=>{let e=document.querySelectorAll(`[class*="${V}-"]`),t=[];e.length>1&&e.forEach(e=>{let s=e.className;if(t.includes(s)){e.remove();return}t.push(s)})},[]),D.isFallback)return e("div",{className:"gp-flex gp-h-[100vh] gp-items-center gp-justify-center",children:t("div",{className:"gp-flex gp-gap-2",children:[e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_alternate] gp-rounded-full gp-bg-slate-800"}),e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_200ms_linear_alternate] gp-rounded-full gp-bg-slate-800"}),e("span",{className:"gp-aspect-square gp-h-2 gp-animate-[flashing_500ms_infinite_500ms_alternate] gp-rounded-full gp-bg-slate-800"})]})});let G=d(w),J=G.length>0,X=A?.isUsePageBackground?A?.background:A?.themeBackground;return t(s,{children:[e(f,{...P}),t(b,{children:[u(V,j,!0),k&&e("style",{"data-id":"global-style",type:"text/css",dangerouslySetInnerHTML:{__html:k}},"global-style"),N&&e("style",{"data-id":"google-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:N}},"google-fonts"),T&&T.map(t=>e("style",{"data-id":"google-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:t}},t)),H&&e("style",{"data-id":"custom-element-fonts",type:"text/css",dangerouslySetInnerHTML:{__html:H}},N),X&&e("style",{children:`
2
2
  body {
3
- background: ${G};
3
+ background: ${X};
4
4
  }
5
- `},`page_background_${G}`)]}),e(r,{productOffers:L,publicStoreFrontData:M,dynamicDiscountOffer:$,sellingPlanMeta:A,buyerConsentChecked:F,children:e(n,{components:b,children:e(l,{t:D,children:t("div",{className:`${H?"post-purchase-page gp-bg-white":""} `,role:"main",children:[H&&e(c,{pageType:"POST_PURCHASE"}),V&&e("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${JSON.stringify(q?.value||[])}</div>`}}),e(o,{data:S,children:v?.map(s=>t(i,{state:s.data,lazy:s.lazy,priority:s.priority,isPostPurchase:H,isPreview:E,children:[e(p,{uid:s.uid}),V&&e(y,{defer:!0,src:`${U}/assets-v2/gp-flow-action-lip-v7-5.js`})]},s.uid))}),H&&e(m,{shopName:I||""})]})})})})]})};export{b as StaticPageV2};
5
+ `},`page_background_${X}`)]}),e(a,{productOffers:M,publicStoreFrontData:$,dynamicDiscountOffer:E,sellingPlanMeta:F,buyerConsentChecked:O,children:e(n,{components:S,children:e(i,{t:U,children:t("div",{className:`${I?"post-purchase-page gp-bg-white":""} `,role:"main",children:[I&&e(g,{pageType:"POST_PURCHASE"}),J&&e("div",{dangerouslySetInnerHTML:{__html:`<div id="gp-interaction" style="display: none;">${JSON.stringify(G)}</div>`}}),e(l,{data:x,children:v?.map(s=>t(o,{state:s.data,lazy:s.lazy,priority:s.priority,isPostPurchase:I,isPreview:q,children:[e(p,{uid:s.uid}),J&&e(_,{defer:!0,src:`${R}/assets-v2/gp-flow-action-lip-v7-5.js`})]},s.uid))}),I&&e(c,{shopName:L||""})]})})})})]})};export{S as StaticPageV2};
@@ -40,7 +40,8 @@ type PageBuilderProps = {
40
40
  customCodeBody?: string | null;
41
41
  isStorefront?: boolean;
42
42
  customFonts?: string | null;
43
- interaction?: ShopType.Maybe<Pick<ShopType.PublishedPageInteraction, 'id' | 'value'>>;
43
+ /** Mỗi row là một Shopify metafield; ghép lại bằng `joinInteractionParts`. */
44
+ interactions?: ShopType.Maybe<Array<ShopType.Maybe<Pick<ShopType.PublishedPageInteraction, 'id' | 'key' | 'value'>>>>;
44
45
  timezone?: string;
45
46
  pageBackground?: {
46
47
  isUsePageBackground?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/pages",
3
- "version": "23.0.0-dev.2",
3
+ "version": "23.0.0-dev.33",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -20,20 +20,17 @@
20
20
  "watch": "rollup -c ./../../helpers/rollup.config.mjs -w"
21
21
  },
22
22
  "dependencies": {
23
- "@sentry/nextjs": "7.77.0",
23
+ "@sentry/nextjs": "^10.74.0",
24
24
  "deepmerge": "4.3.1",
25
25
  "html-react-parser": "4.2.10",
26
- "next": "14.2.35",
26
+ "next": "16.3.5",
27
27
  "next-seo": "6.8.0"
28
28
  },
29
29
  "devDependencies": {
30
- "@gem-sdk/core": "23.0.0-dev.2",
31
- "@gem-sdk/plugin-cookie-bar": "23.0.0-dev.2",
32
- "@gem-sdk/plugin-quick-view": "23.0.0-dev.2",
33
- "@gem-sdk/plugin-sticky-add-to-cart": "23.0.0-dev.2"
34
- },
35
- "peerDependencies": {
36
- "next": "14.2.35"
30
+ "@gem-sdk/core": "23.0.0-dev.33",
31
+ "@gem-sdk/plugin-cookie-bar": "23.0.0-dev.18",
32
+ "@gem-sdk/plugin-quick-view": "23.0.0-dev.18",
33
+ "@gem-sdk/plugin-sticky-add-to-cart": "23.0.0-dev.18"
37
34
  },
38
35
  "module": "dist/esm/index.js",
39
36
  "types": "dist/types/index.d.ts",