@gem-sdk/pages 12.0.0-dev.65 → 12.0.0-dev.66
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 jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),react=require("react"),getStorefrontApi=require("../../libs/get-storefront-api.js"),googleFonts=require("../../libs/google-fonts.js"),genCss=require("../../libs/helpers/gen-css.js"),genFonts=require("../../libs/helpers/gen-fonts.js"),shopifyCdnWithGoogleFonts=require("../../libs/shopify-cdn-with-google-fonts.js"),libsStore=require("../../store/libs-store.js"),checkOptionFont=require("../../libs/helpers/check-option-font.js");const globalStyleId="global-style",ENABLE_THEME_FONT_EDITOR=!0,Toolbox=()=>{let e=core.useMatchMutate(),t=core.useShopStore(e=>e.provider),o=core.useShopStore(e=>e.changeStorefrontInfo),r=core.usePageStore(e=>e.setDynamicProduct),a=core.usePageStore(e=>e.setAssignedProductIds),n=core.usePageStore(e=>e.setIsApplyAllProducts),i=core.usePageStore(e=>e.setPostPurchaseProductOffers),d=core.usePageStore(e=>e.setDynamicDiscountOffer),l=core.usePageStore(e=>e.setSalePageProductId),s=core.usePageStore(e=>e.setDynamicCollection),c=core.useBuilderPreviewStore(e=>e.initState),u=core.useBuilderPreviewStore(e=>e.state),p=core.useBuilderPreviewStore(e=>e.forceChangeState),w=core.useBuilderPreviewStore(e=>e.forceChangeItemProp),v=core.useBuilderPreviewStore(e=>e.changeItemPropByKey),m=core.useBuilderPreviewStore(e=>e.addItem),g=core.useBuilderPreviewStore(e=>e.moveItem),y=core.useBuilderPreviewStore(e=>e.removeItem),h=core.useSectionStore(e=>e.addSection),S=core.useShopStore(e=>e.changeSwatches),f=core.useBuilderPreviewStore(e=>e.updateItemName),b=core.useBuilderPreviewStore(e=>e.updateItemAttribute),E=core.useShopStore(e=>e.changeLayoutSettings),L=core.useShopStore(e=>e.changeCreateThemeSectionCount),C=core.useShopStore(e=>e.changeShopPlan),k=core.useShopStore(e=>e.updatePriceWithCurrency),P=libsStore.libsStore(e=>e.changeFontType),I=libsStore.libsStore(e=>e.fontType),T=core.useModalStore(e=>e.clearModal),q=core.useShopStore(e=>e.changeLimitCreateThemeSection),F=core.usePageStore(e=>e.setInteractionIsSelectOnPage),A=core.usePageStore(e=>e.setInteractionItem),B=core.usePageStore(e=>e.setInteractionSelectType),j=core.usePageStore(e=>e.setInteractionSettingType),x=core.usePageStore(e=>e.setSidebarMode),M=core.usePageStore(e=>e.setSellingPlanMeta),O=core.usePageStore(e=>e.setBuyerConsentChecked),N=react.useMemo(()=>genFonts.getFontsFromDataBuilder(u),[u]),D=({currentFontTypeSetting:e,fontType:t,fontHref:o})=>{let r;return o.includes("bunny.net")?r="bunny":o.includes("googleapis.com")&&(r="google"),!r||t===r&&r===e},$=react.useCallback((e,t)=>{if(!I)return;if(!t?.length){let t=document.querySelectorAll(`.${e}`);t.forEach(e=>e.remove());return}let o=document.querySelectorAll(`.${e}`);for(let r of(o.forEach(e=>{let o=e.getAttribute("data-font"),r=e.getAttribute("data-font-variant"),a=e.getAttribute("href")||"";if(!o||!r){e.remove();return}let n=t.find(e=>{let t=e.family===o,n=e.variants.includes(r);return!!t&&!!n&&D({currentFontTypeSetting:e.type,fontType:I,fontHref:a})});n||e.remove()}),t))if(!(["bunny","google"].includes(r.type)&&checkOptionFont.checkNotInOptionFont(r.family,I))&&"custom"!==r.type&&r.variants?.length)for(let t of r.variants){let o={...r,variants:[t.toString()]},a=googleFonts.createFontUrls([o],void 0,I,!0)||[];if(a?.length)for(let o of a){let a=e=>window.CSS&&CSS.escape?CSS.escape(e):e.replace(/"/g,'\\"'),n=document.querySelector(`link.${e}[href="${a(o)}"]`);if(n)continue;let i=document.createElement("link");i.className=e,i.rel="stylesheet",i.href=o,i.dataset.font=r.family,i.dataset.fontVariant=t,document.head.appendChild(i)}}},[I]),H=react.useCallback(()=>{e(/query\//,{revalidate:!0})},[e]),_=react.useCallback(e=>{let r=e.detail;o({url:r.shopHandle?getStorefrontApi.getStorefrontApi(r.shopHandle,t):void 0,token:r.shopToken})},[o,t]),W=react.useCallback(e=>{let t=e.detail;try{if(t.data){let e=genCss.genCSS(t.data,t.mobileOnly),o=Object.entries(t.data?.font).map(([,e])=>e).map(e=>{if("custom"==e.type){let t=shopifyCdnWithGoogleFonts.shopifyCdnWithGoogleFonts.find(t=>t.family==e.family);if(t)return t}return e}),r=document.getElementById(globalStyleId);if($("google-font-builder",o),r)r.innerHTML=e;else{let t=document.createElement("style");t.id=globalStyleId,t.innerHTML=e,document.head.appendChild(t)}}}catch{}},[$]),G=react.useCallback(e=>{T();try{let t=e.detail;t.data&&("flat"===t.type?p(t.data):c(t.data))}catch{}},[p,c,T]),R=react.useCallback(e=>{try{let t=e.detail;t.entity&&(m({data:t.entity,id:t.id,position:t.position,type:t.type??"component"}),t?.type!=="section"||Array.isArray(t.entity)||h(t.entity.uid,t.entity))}catch{}},[m,h]),V=react.useCallback(e=>{try{let t=e.detail;t.uid&&t.propName&&v({id:t.uid,key:t.propName,data:t.propValue,group:t.group})}catch{}},[v]),K=react.useCallback(e=>{try{let t=e.detail;t.uid&&w(t.uid,t.data,t.group)}catch{}},[w]),U=react.useCallback(e=>{try{let t=e.detail;t.to&&t.uid&&g(t.uid,t.to,Number(t.position)??0)}catch{}},[g]),z=react.useCallback(e=>{try{let t=e.detail;t.uid&&y(t.uid)}catch{}},[y]),J=react.useCallback(e=>{let t=e.detail;try{t.data&&S(t.data)}catch{}},[S]),Q=react.useCallback(e=>{let t=e.detail;t&&E(t)},[E]),X=react.useCallback(e=>{let t=e.detail;t&&L(t)},[L]),Y=react.useCallback(e=>{let t=e.detail;t&&C(t)},[C]),Z=react.useCallback(e=>{let t=e.detail;t&&k(t)},[k]),ee=react.useCallback(e=>{let t=e.detail;t&&P(t)},[P]),et=react.useCallback(e=>{let t=e.detail;t&&r(t)},[r]),eo=react.useCallback(e=>{let{assignedIds:t,isApplyAllProducts:o}=e.detail;t&&a(t??[]),n(!!o)},[a,n]),er=react.useCallback(e=>{let t=e.detail;t&&s(t)},[s]);react.useEffect(()=>{N&&I&&$("google-font-element",N)},[N,I,$]);let ea=react.useCallback(e=>{let t=e.detail;t.uid&&f(t.uid,t.name||"")},[f]),en=react.useCallback(e=>{let t=e.detail;t.uid&&b(t.uid,t.value||"",t.attr||"")},[b]),ei=react.useCallback(e=>{let t=e.detail;t?.length&&i(t)},[i]),ed=react.useCallback(e=>{let t=e.detail;t&&d(t)},[d]),el=react.useCallback(e=>{let t=e.detail;t&&l(t)},[l]),es=react.useCallback(e=>{let t=e.detail;t&&q(t)},[q]),ec=react.useCallback(e=>{let t=e.detail.value,o=e.detail.mode,r=e.detail.settingType;F(t),B(o),j(r)},[F,B,j]),eu=react.useCallback(e=>{let t=e.detail.settingType;j(t)},[j]),ep=react.useCallback(e=>{let t=e.detail.mode;console.log(t),x(t)},[x]),ew=react.useCallback(e=>{let t=e.detail;A(t)},[A]),ev=react.useCallback(e=>{e.detail&&M(e.detail)},[M]),em=react.useCallback(e=>{e.detail&&O(e.detail?.data)},[O]);return react.useEffect(()=>(window.addEventListener("update-shop-info",_),window.addEventListener("revalidate-query",H),window.addEventListener("init-builder",G),window.addEventListener("add-entity",R),window.addEventListener("remove-entity",z),window.addEventListener("move-entity",U),window.addEventListener("force-update-entity-props",K),window.addEventListener("update-entity-prop",V),window.addEventListener("set-global-style",W),window.addEventListener("update-global-swatches-data",J),window.addEventListener("on-off-header-footer",Q),window.addEventListener("update-create-theme-section-count",X),window.addEventListener("update-shop-plan",Y),window.addEventListener("set-dynamic-product",et),window.addEventListener("set-assigned-product-ids",eo),window.addEventListener("set-dynamic-collection",er),window.addEventListener("update-item-name",ea),window.addEventListener("update-item-attribute",en),window.addEventListener("set-product-offer",ei),window.addEventListener("set-dynamic-discount-offer",ed),window.addEventListener("update-sale-page-product-id",el),window.addEventListener("limit-create-theme-section",es),window.addEventListener("update-interaction-is-select-on-page",ec),window.addEventListener("update-interaction-item",ew),window.addEventListener("update-interaction-setting-type",eu),window.addEventListener("change-sidebar-mode",ep),window.addEventListener("update-font-type",ee),window.addEventListener("update-price-with-currency",Z),window.addEventListener("selling-plan-meta-loaded",ev),window.addEventListener("selling-plan-meta-updated",ev),window.addEventListener("buyer-consent-pre-check-updated",em),()=>{window.removeEventListener("update-shop-info",_),window.removeEventListener("revalidate-query",H),window.removeEventListener("init-builder",G),window.removeEventListener("add-entity",R),window.removeEventListener("remove-entity",z),window.removeEventListener("move-entity",U),window.removeEventListener("update-entity-prop",V),window.removeEventListener("set-global-style",W),window.removeEventListener("update-global-swatches-data",J),window.removeEventListener("on-off-header-footer",Q),window.removeEventListener("update-create-theme-section-count",X),window.removeEventListener("update-shop-plan",Y),window.removeEventListener("update-price-with-currency",Z),window.removeEventListener("set-dynamic-product",et),window.removeEventListener("set-dynamic-collection",er),window.removeEventListener("update-item-name",ea),window.removeEventListener("update-item-attribute",en),window.removeEventListener("set-product-offer",ei),window.removeEventListener("update-sale-page-product-id",el),window.removeEventListener("limit-create-theme-section",es),window.removeEventListener("update-interaction-is-select-on-page",ec),window.removeEventListener("update-interaction-item",ew),window.removeEventListener("update-interaction-setting-type",eu),window.removeEventListener("update-font-type",ee),window.removeEventListener("selling-plan-meta-loaded",ev),window.removeEventListener("selling-plan-meta-updated",ev),window.removeEventListener("buyer-consent-pre-check-updated",em)}),[R,Y,K,V,G,U,z,W,J,H,_,Q,X,et,er,ea,en,ei,el,es,ew,ec,eu,ee,ep,ed,Z,ev,em]),jsxRuntime.jsx("div",{className:"toolbox"})};var Toolbox$1=react.memo(Toolbox);exports.default=Toolbox$1;
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),react=require("react"),getStorefrontApi=require("../../libs/get-storefront-api.js"),googleFonts=require("../../libs/google-fonts.js"),genCss=require("../../libs/helpers/gen-css.js"),genFonts=require("../../libs/helpers/gen-fonts.js"),shopifyCdnWithGoogleFonts=require("../../libs/shopify-cdn-with-google-fonts.js"),libsStore=require("../../store/libs-store.js"),checkOptionFont=require("../../libs/helpers/check-option-font.js");const globalStyleId="global-style",ENABLE_THEME_FONT_EDITOR=!0,Toolbox=()=>{let e=core.useMatchMutate(),t=core.useShopStore(e=>e.provider),r=core.useShopStore(e=>e.changeStorefrontInfo),o=core.usePageStore(e=>e.setDynamicProduct),n=core.usePageStore(e=>e.setAssignedProductIds),a=core.usePageStore(e=>e.setIsApplyAllProducts),i=core.usePageStore(e=>e.setPostPurchaseProductOffers),d=core.usePageStore(e=>e.setDynamicDiscountOffer),l=core.usePageStore(e=>e.setSalePageProductId),s=core.usePageStore(e=>e.setDynamicCollection),c=core.useBuilderPreviewStore(e=>e.initState),u=core.useBuilderPreviewStore(e=>e.state),p=core.useBuilderPreviewStore(e=>e.forceChangeState),w=core.useBuilderPreviewStore(e=>e.forceChangeItemProp),v=core.useBuilderPreviewStore(e=>e.changeItemPropByKey),m=core.useBuilderPreviewStore(e=>e.addItem),g=core.useBuilderPreviewStore(e=>e.moveItem),y=core.useBuilderPreviewStore(e=>e.removeItem),S=core.useSectionStore(e=>e.addSection),h=core.useShopStore(e=>e.changeSwatches),f=core.useBuilderPreviewStore(e=>e.updateItemName),b=core.useBuilderPreviewStore(e=>e.updateItemAttribute),E=core.useBuilderPreviewStore(e=>e.setErrorSectionList),L=core.useShopStore(e=>e.changeLayoutSettings),C=core.useShopStore(e=>e.changeCreateThemeSectionCount),k=core.useShopStore(e=>e.changeShopPlan),P=core.useShopStore(e=>e.updatePriceWithCurrency),I=libsStore.libsStore(e=>e.changeFontType),T=libsStore.libsStore(e=>e.fontType),q=core.useModalStore(e=>e.clearModal),B=core.useShopStore(e=>e.changeLimitCreateThemeSection),F=core.usePageStore(e=>e.setInteractionIsSelectOnPage),A=core.usePageStore(e=>e.setInteractionItem),j=core.usePageStore(e=>e.setInteractionSelectType),x=core.usePageStore(e=>e.setInteractionSettingType),M=core.usePageStore(e=>e.setSidebarMode),O=core.usePageStore(e=>e.setSellingPlanMeta),N=core.usePageStore(e=>e.setBuyerConsentChecked),D=react.useMemo(()=>genFonts.getFontsFromDataBuilder(u),[u]),$=({currentFontTypeSetting:e,fontType:t,fontHref:r})=>{let o;return r.includes("bunny.net")?o="bunny":r.includes("googleapis.com")&&(o="google"),!o||t===o&&o===e},H=react.useCallback((e,t)=>{if(!T)return;if(!t?.length){let t=document.querySelectorAll(`.${e}`);t.forEach(e=>e.remove());return}let r=document.querySelectorAll(`.${e}`);for(let o of(r.forEach(e=>{let r=e.getAttribute("data-font"),o=e.getAttribute("data-font-variant"),n=e.getAttribute("href")||"";if(!r||!o){e.remove();return}let a=t.find(e=>{let t=e.family===r,a=e.variants.includes(o);return!!t&&!!a&&$({currentFontTypeSetting:e.type,fontType:T,fontHref:n})});a||e.remove()}),t))if(!(["bunny","google"].includes(o.type)&&checkOptionFont.checkNotInOptionFont(o.family,T))&&"custom"!==o.type&&o.variants?.length)for(let t of o.variants){let r={...o,variants:[t.toString()]},n=googleFonts.createFontUrls([r],void 0,T,!0)||[];if(n?.length)for(let r of n){let n=e=>window.CSS&&CSS.escape?CSS.escape(e):e.replace(/"/g,'\\"'),a=document.querySelector(`link.${e}[href="${n(r)}"]`);if(a)continue;let i=document.createElement("link");i.className=e,i.rel="stylesheet",i.href=r,i.dataset.font=o.family,i.dataset.fontVariant=t,document.head.appendChild(i)}}},[T]),_=react.useCallback(()=>{e(/query\//,{revalidate:!0})},[e]),W=react.useCallback(e=>{let o=e.detail;r({url:o.shopHandle?getStorefrontApi.getStorefrontApi(o.shopHandle,t):void 0,token:o.shopToken})},[r,t]),G=react.useCallback(e=>{let t=e.detail;try{if(t.data){let e=genCss.genCSS(t.data,t.mobileOnly),r=Object.entries(t.data?.font).map(([,e])=>e).map(e=>{if("custom"==e.type){let t=shopifyCdnWithGoogleFonts.shopifyCdnWithGoogleFonts.find(t=>t.family==e.family);if(t)return t}return e}),o=document.getElementById(globalStyleId);if(H("google-font-builder",r),o)o.innerHTML=e;else{let t=document.createElement("style");t.id=globalStyleId,t.innerHTML=e,document.head.appendChild(t)}}}catch{}},[H]),R=react.useCallback(e=>{q();try{let t=e.detail;t.data&&("flat"===t.type?p(t.data):c(t.data))}catch{}},[p,c,q]),V=react.useCallback(e=>{try{let t=e.detail;t.entity&&(m({data:t.entity,id:t.id,position:t.position,type:t.type??"component"}),t?.type!=="section"||Array.isArray(t.entity)||S(t.entity.uid,t.entity))}catch{}},[m,S]),K=react.useCallback(e=>{try{let t=e.detail;t.uid&&t.propName&&v({id:t.uid,key:t.propName,data:t.propValue,group:t.group})}catch{}},[v]),U=react.useCallback(e=>{try{let t=e.detail;t.uid&&w(t.uid,t.data,t.group)}catch{}},[w]),z=react.useCallback(e=>{try{let t=e.detail;t.to&&t.uid&&g(t.uid,t.to,Number(t.position)??0)}catch{}},[g]),J=react.useCallback(e=>{try{let t=e.detail;t.uid&&y(t.uid)}catch{}},[y]),Q=react.useCallback(e=>{let t=e.detail;try{t.data&&h(t.data)}catch{}},[h]),X=react.useCallback(e=>{let t=e.detail;t&&L(t)},[L]),Y=react.useCallback(e=>{let t=e.detail;t&&C(t)},[C]),Z=react.useCallback(e=>{let t=e.detail;t&&k(t)},[k]),ee=react.useCallback(e=>{let t=e.detail;t&&P(t)},[P]),et=react.useCallback(e=>{let t=e.detail;t&&I(t)},[I]),er=react.useCallback(e=>{let t=e.detail;t&&o(t)},[o]),eo=react.useCallback(e=>{let{assignedIds:t,isApplyAllProducts:r}=e.detail;t&&n(t??[]),a(!!r)},[n,a]),en=react.useCallback(e=>{let t=e.detail;t&&s(t)},[s]);react.useEffect(()=>{D&&T&&H("google-font-element",D)},[D,T,H]);let ea=react.useCallback(e=>{let t=e.detail;t.uid&&f(t.uid,t.name||"")},[f]),ei=react.useCallback(e=>{let t=e.detail;t.uid&&b(t.uid,t.value||"",t.attr||"")},[b]),ed=react.useCallback(e=>{let t=e.detail;t?.length&&i(t)},[i]),el=react.useCallback(e=>{let t=e.detail;t&&d(t)},[d]),es=react.useCallback(e=>{let t=e.detail;t&&l(t)},[l]),ec=react.useCallback(e=>{let t=e.detail;t&&B(t)},[B]),eu=react.useCallback(e=>{let t=e.detail.value,r=e.detail.mode,o=e.detail.settingType;F(t),j(r),x(o)},[F,j,x]),ep=react.useCallback(e=>{let t=e.detail.settingType;x(t)},[x]),ew=react.useCallback(e=>{let t=e.detail.mode;console.log(t),M(t)},[M]),ev=react.useCallback(e=>{let t=e.detail;A(t)},[A]),em=react.useCallback(e=>{e.detail&&O(e.detail)},[O]),eg=react.useCallback(e=>{e.detail&&N(e.detail?.data)},[N]),ey=react.useCallback(e=>{e.detail&&E(e.detail)},[E]);return react.useEffect(()=>(window.addEventListener("update-shop-info",W),window.addEventListener("revalidate-query",_),window.addEventListener("init-builder",R),window.addEventListener("add-entity",V),window.addEventListener("remove-entity",J),window.addEventListener("move-entity",z),window.addEventListener("force-update-entity-props",U),window.addEventListener("update-entity-prop",K),window.addEventListener("set-global-style",G),window.addEventListener("update-global-swatches-data",Q),window.addEventListener("on-off-header-footer",X),window.addEventListener("update-create-theme-section-count",Y),window.addEventListener("update-shop-plan",Z),window.addEventListener("set-dynamic-product",er),window.addEventListener("set-assigned-product-ids",eo),window.addEventListener("set-dynamic-collection",en),window.addEventListener("update-item-name",ea),window.addEventListener("update-item-attribute",ei),window.addEventListener("set-product-offer",ed),window.addEventListener("set-dynamic-discount-offer",el),window.addEventListener("update-sale-page-product-id",es),window.addEventListener("limit-create-theme-section",ec),window.addEventListener("update-interaction-is-select-on-page",eu),window.addEventListener("update-interaction-item",ev),window.addEventListener("update-interaction-setting-type",ep),window.addEventListener("change-sidebar-mode",ew),window.addEventListener("update-font-type",et),window.addEventListener("update-price-with-currency",ee),window.addEventListener("selling-plan-meta-loaded",em),window.addEventListener("selling-plan-meta-updated",em),window.addEventListener("buyer-consent-pre-check-updated",eg),window.addEventListener("editor:error-section-list",ey),()=>{window.removeEventListener("update-shop-info",W),window.removeEventListener("revalidate-query",_),window.removeEventListener("init-builder",R),window.removeEventListener("add-entity",V),window.removeEventListener("remove-entity",J),window.removeEventListener("move-entity",z),window.removeEventListener("update-entity-prop",K),window.removeEventListener("set-global-style",G),window.removeEventListener("update-global-swatches-data",Q),window.removeEventListener("on-off-header-footer",X),window.removeEventListener("update-create-theme-section-count",Y),window.removeEventListener("update-shop-plan",Z),window.removeEventListener("update-price-with-currency",ee),window.removeEventListener("set-dynamic-product",er),window.removeEventListener("set-dynamic-collection",en),window.removeEventListener("update-item-name",ea),window.removeEventListener("update-item-attribute",ei),window.removeEventListener("set-product-offer",ed),window.removeEventListener("update-sale-page-product-id",es),window.removeEventListener("limit-create-theme-section",ec),window.removeEventListener("update-interaction-is-select-on-page",eu),window.removeEventListener("update-interaction-item",ev),window.removeEventListener("update-interaction-setting-type",ep),window.removeEventListener("update-font-type",et),window.removeEventListener("selling-plan-meta-loaded",em),window.removeEventListener("selling-plan-meta-updated",em),window.removeEventListener("buyer-consent-pre-check-updated",eg),window.removeEventListener("editor:error-section-list",ey)}),[V,Z,U,K,R,z,J,G,Q,_,W,X,Y,er,en,ea,ei,ed,es,ec,ev,eu,ep,et,ew,el,ee,em,eg,ey]),jsxRuntime.jsx("div",{className:"toolbox"})};var Toolbox$1=react.memo(Toolbox);exports.default=Toolbox$1;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{jsx as e}from"react/jsx-runtime";import{useMatchMutate as t,useShopStore as n,usePageStore as i,useBuilderPreviewStore as
|
|
2
|
+
import{jsx as e}from"react/jsx-runtime";import{useMatchMutate as t,useShopStore as n,usePageStore as i,useBuilderPreviewStore as o,useSectionStore as d,useModalStore as a}from"@gem-sdk/core";import{memo as r,useMemo as l,useCallback as s,useEffect as c}from"react";import{getStorefrontApi as p}from"../../libs/get-storefront-api.js";import{createFontUrls as m}from"../../libs/google-fonts.js";import{genCSS as w}from"../../libs/helpers/gen-css.js";import{getFontsFromDataBuilder as u}from"../../libs/helpers/gen-fonts.js";import{shopifyCdnWithGoogleFonts as v}from"../../libs/shopify-cdn-with-google-fonts.js";import{libsStore as y}from"../../store/libs-store.js";import{checkNotInOptionFont as f}from"../../libs/helpers/check-option-font.js";let globalStyleId="global-style",ENABLE_THEME_FONT_EDITOR=!0,Toolbox=()=>{let r=t(),g=n(e=>e.provider),E=n(e=>e.changeStorefrontInfo),L=i(e=>e.setDynamicProduct),h=i(e=>e.setAssignedProductIds),b=i(e=>e.setIsApplyAllProducts),S=i(e=>e.setPostPurchaseProductOffers),I=i(e=>e.setDynamicDiscountOffer),T=i(e=>e.setSalePageProductId),C=i(e=>e.setDynamicCollection),P=o(e=>e.initState),A=o(e=>e.state),k=o(e=>e.forceChangeState),j=o(e=>e.forceChangeItemProp),N=o(e=>e.changeItemPropByKey),x=o(e=>e.addItem),O=o(e=>e.moveItem),q=o(e=>e.removeItem),M=d(e=>e.addSection),$=n(e=>e.changeSwatches),D=o(e=>e.updateItemName),H=o(e=>e.updateItemAttribute),B=o(e=>e.setErrorSectionList),F=n(e=>e.changeLayoutSettings),_=n(e=>e.changeCreateThemeSectionCount),V=n(e=>e.changeShopPlan),K=n(e=>e.updatePriceWithCurrency),R=y(e=>e.changeFontType),W=y(e=>e.fontType),z=a(e=>e.clearModal),G=n(e=>e.changeLimitCreateThemeSection),J=i(e=>e.setInteractionIsSelectOnPage),Q=i(e=>e.setInteractionItem),U=i(e=>e.setInteractionSelectType),X=i(e=>e.setInteractionSettingType),Y=i(e=>e.setSidebarMode),Z=i(e=>e.setSellingPlanMeta),ee=i(e=>e.setBuyerConsentChecked),et=l(()=>u(A),[A]),en=({currentFontTypeSetting:e,fontType:t,fontHref:n})=>{let i;return n.includes("bunny.net")?i="bunny":n.includes("googleapis.com")&&(i="google"),!i||t===i&&i===e},ei=s((e,t)=>{if(!W)return;if(!t?.length){let t=document.querySelectorAll(`.${e}`);t.forEach(e=>e.remove());return}let n=document.querySelectorAll(`.${e}`);for(let i of(n.forEach(e=>{let n=e.getAttribute("data-font"),i=e.getAttribute("data-font-variant"),o=e.getAttribute("href")||"";if(!n||!i){e.remove();return}let d=t.find(e=>{let t=e.family===n,d=e.variants.includes(i);return!!t&&!!d&&en({currentFontTypeSetting:e.type,fontType:W,fontHref:o})});d||e.remove()}),t))if(!(["bunny","google"].includes(i.type)&&f(i.family,W))&&"custom"!==i.type&&i.variants?.length)for(let t of i.variants){let n={...i,variants:[t.toString()]},o=m([n],void 0,W,!0)||[];if(o?.length)for(let n of o){let o=e=>window.CSS&&CSS.escape?CSS.escape(e):e.replace(/"/g,'\\"'),d=document.querySelector(`link.${e}[href="${o(n)}"]`);if(d)continue;let a=document.createElement("link");a.className=e,a.rel="stylesheet",a.href=n,a.dataset.font=i.family,a.dataset.fontVariant=t,document.head.appendChild(a)}}},[W]),eo=s(()=>{r(/query\//,{revalidate:!0})},[r]),ed=s(e=>{let t=e.detail;E({url:t.shopHandle?p(t.shopHandle,g):void 0,token:t.shopToken})},[E,g]),ea=s(e=>{let t=e.detail;try{if(t.data){let e=w(t.data,t.mobileOnly),n=Object.entries(t.data?.font).map(([,e])=>e).map(e=>{if("custom"==e.type){let t=v.find(t=>t.family==e.family);if(t)return t}return e}),i=document.getElementById(globalStyleId);if(ei("google-font-builder",n),i)i.innerHTML=e;else{let t=document.createElement("style");t.id=globalStyleId,t.innerHTML=e,document.head.appendChild(t)}}}catch{}},[ei]),er=s(e=>{z();try{let t=e.detail;t.data&&("flat"===t.type?k(t.data):P(t.data))}catch{}},[k,P,z]),el=s(e=>{try{let t=e.detail;t.entity&&(x({data:t.entity,id:t.id,position:t.position,type:t.type??"component"}),t?.type!=="section"||Array.isArray(t.entity)||M(t.entity.uid,t.entity))}catch{}},[x,M]),es=s(e=>{try{let t=e.detail;t.uid&&t.propName&&N({id:t.uid,key:t.propName,data:t.propValue,group:t.group})}catch{}},[N]),ec=s(e=>{try{let t=e.detail;t.uid&&j(t.uid,t.data,t.group)}catch{}},[j]),ep=s(e=>{try{let t=e.detail;t.to&&t.uid&&O(t.uid,t.to,Number(t.position)??0)}catch{}},[O]),em=s(e=>{try{let t=e.detail;t.uid&&q(t.uid)}catch{}},[q]),ew=s(e=>{let t=e.detail;try{t.data&&$(t.data)}catch{}},[$]),eu=s(e=>{let t=e.detail;t&&F(t)},[F]),ev=s(e=>{let t=e.detail;t&&_(t)},[_]),ey=s(e=>{let t=e.detail;t&&V(t)},[V]),ef=s(e=>{let t=e.detail;t&&K(t)},[K]),eg=s(e=>{let t=e.detail;t&&R(t)},[R]),eE=s(e=>{let t=e.detail;t&&L(t)},[L]),eL=s(e=>{let{assignedIds:t,isApplyAllProducts:n}=e.detail;t&&h(t??[]),b(!!n)},[h,b]),eh=s(e=>{let t=e.detail;t&&C(t)},[C]);c(()=>{et&&W&&ei("google-font-element",et)},[et,W,ei]);let eb=s(e=>{let t=e.detail;t.uid&&D(t.uid,t.name||"")},[D]),eS=s(e=>{let t=e.detail;t.uid&&H(t.uid,t.value||"",t.attr||"")},[H]),eI=s(e=>{let t=e.detail;t?.length&&S(t)},[S]),eT=s(e=>{let t=e.detail;t&&I(t)},[I]),eC=s(e=>{let t=e.detail;t&&T(t)},[T]),eP=s(e=>{let t=e.detail;t&&G(t)},[G]),eA=s(e=>{let t=e.detail.value,n=e.detail.mode,i=e.detail.settingType;J(t),U(n),X(i)},[J,U,X]),ek=s(e=>{let t=e.detail.settingType;X(t)},[X]),ej=s(e=>{let t=e.detail.mode;console.log(t),Y(t)},[Y]),eN=s(e=>{let t=e.detail;Q(t)},[Q]),ex=s(e=>{e.detail&&Z(e.detail)},[Z]),eO=s(e=>{e.detail&&ee(e.detail?.data)},[ee]),eq=s(e=>{e.detail&&B(e.detail)},[B]);return c(()=>(window.addEventListener("update-shop-info",ed),window.addEventListener("revalidate-query",eo),window.addEventListener("init-builder",er),window.addEventListener("add-entity",el),window.addEventListener("remove-entity",em),window.addEventListener("move-entity",ep),window.addEventListener("force-update-entity-props",ec),window.addEventListener("update-entity-prop",es),window.addEventListener("set-global-style",ea),window.addEventListener("update-global-swatches-data",ew),window.addEventListener("on-off-header-footer",eu),window.addEventListener("update-create-theme-section-count",ev),window.addEventListener("update-shop-plan",ey),window.addEventListener("set-dynamic-product",eE),window.addEventListener("set-assigned-product-ids",eL),window.addEventListener("set-dynamic-collection",eh),window.addEventListener("update-item-name",eb),window.addEventListener("update-item-attribute",eS),window.addEventListener("set-product-offer",eI),window.addEventListener("set-dynamic-discount-offer",eT),window.addEventListener("update-sale-page-product-id",eC),window.addEventListener("limit-create-theme-section",eP),window.addEventListener("update-interaction-is-select-on-page",eA),window.addEventListener("update-interaction-item",eN),window.addEventListener("update-interaction-setting-type",ek),window.addEventListener("change-sidebar-mode",ej),window.addEventListener("update-font-type",eg),window.addEventListener("update-price-with-currency",ef),window.addEventListener("selling-plan-meta-loaded",ex),window.addEventListener("selling-plan-meta-updated",ex),window.addEventListener("buyer-consent-pre-check-updated",eO),window.addEventListener("editor:error-section-list",eq),()=>{window.removeEventListener("update-shop-info",ed),window.removeEventListener("revalidate-query",eo),window.removeEventListener("init-builder",er),window.removeEventListener("add-entity",el),window.removeEventListener("remove-entity",em),window.removeEventListener("move-entity",ep),window.removeEventListener("update-entity-prop",es),window.removeEventListener("set-global-style",ea),window.removeEventListener("update-global-swatches-data",ew),window.removeEventListener("on-off-header-footer",eu),window.removeEventListener("update-create-theme-section-count",ev),window.removeEventListener("update-shop-plan",ey),window.removeEventListener("update-price-with-currency",ef),window.removeEventListener("set-dynamic-product",eE),window.removeEventListener("set-dynamic-collection",eh),window.removeEventListener("update-item-name",eb),window.removeEventListener("update-item-attribute",eS),window.removeEventListener("set-product-offer",eI),window.removeEventListener("update-sale-page-product-id",eC),window.removeEventListener("limit-create-theme-section",eP),window.removeEventListener("update-interaction-is-select-on-page",eA),window.removeEventListener("update-interaction-item",eN),window.removeEventListener("update-interaction-setting-type",ek),window.removeEventListener("update-font-type",eg),window.removeEventListener("selling-plan-meta-loaded",ex),window.removeEventListener("selling-plan-meta-updated",ex),window.removeEventListener("buyer-consent-pre-check-updated",eO),window.removeEventListener("editor:error-section-list",eq)}),[el,ey,ec,es,er,ep,em,ea,ew,eo,ed,eu,ev,eE,eh,eb,eS,eI,eC,eP,eN,eA,ek,eg,ej,eT,ef,ex,eO,eq]),e("div",{className:"toolbox"})};var Toolbox$1=r(Toolbox);export{Toolbox$1 as default};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gem-sdk/pages",
|
|
3
|
-
"version": "12.0.0-dev.
|
|
3
|
+
"version": "12.0.0-dev.66",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"next": "14.2.35"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@gem-sdk/core": "12.0.0-dev.
|
|
30
|
+
"@gem-sdk/core": "12.0.0-dev.66",
|
|
31
31
|
"@gem-sdk/plugin-cookie-bar": "12.0.0-dev.53",
|
|
32
32
|
"@gem-sdk/plugin-quick-view": "12.0.0-dev.53",
|
|
33
33
|
"@gem-sdk/plugin-sticky-add-to-cart": "12.0.0-dev.53"
|