@gem-sdk/pages 4.0.0-staging.1231 → 4.0.0-staging.1236
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/builder/Toolbox.js +1 -1
- package/dist/cjs/libs/helpers/gen-css.js +1 -1
- package/dist/cjs/store/libs-store.js +1 -1
- package/dist/esm/components/builder/Toolbox.js +1 -1
- package/dist/esm/libs/helpers/gen-css.js +1 -1
- package/dist/esm/store/libs-store.js +1 -1
- package/package.json +2 -2
|
@@ -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",Toolbox=()=>{let e=core.useMatchMutate(),t=core.useShopStore(e=>e.provider),o=core.useShopStore(e=>e.changeStorefrontInfo),r=core.usePageStore(e=>e.setDynamicProduct),
|
|
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",Toolbox=()=>{let e=core.useMatchMutate(),t=core.useShopStore(e=>e.provider),o=core.useShopStore(e=>e.changeStorefrontInfo),r=core.usePageStore(e=>e.setDynamicProduct),n=core.usePageStore(e=>e.setPostPurchaseProductOffers),a=core.usePageStore(e=>e.setDynamicDiscountOffer),i=core.usePageStore(e=>e.setSalePageProductId),d=core.usePageStore(e=>e.setDynamicCollection),l=core.useBuilderPreviewStore(e=>e.initState),s=core.useBuilderPreviewStore(e=>e.state),c=core.useBuilderPreviewStore(e=>e.forceChangeState),u=core.useBuilderPreviewStore(e=>e.forceChangeItemProp),p=core.useBuilderPreviewStore(e=>e.changeItemPropByKey),w=core.useBuilderPreviewStore(e=>e.addItem),v=core.useBuilderPreviewStore(e=>e.moveItem),m=core.useBuilderPreviewStore(e=>e.removeItem),g=core.useSectionStore(e=>e.addSection),y=core.useShopStore(e=>e.changeSwatches),f=core.useBuilderPreviewStore(e=>e.updateItemName),h=core.useBuilderPreviewStore(e=>e.updateItemAttribute),S=core.useShopStore(e=>e.changeLayoutSettings),b=core.useShopStore(e=>e.changeCreateThemeSectionCount),E=core.useShopStore(e=>e.changeShopPlan),L=core.useShopStore(e=>e.updatePriceWithCurrency),C=libsStore.libsStore(e=>e.changeFontType),k=libsStore.libsStore(e=>e.fontType),P=core.useModalStore(e=>e.clearModal),I=core.useShopStore(e=>e.changeLimitCreateThemeSection),q=core.usePageStore(e=>e.setInteractionIsSelectOnPage),T=core.usePageStore(e=>e.setInteractionItem),F=core.usePageStore(e=>e.setInteractionSelectType),j=core.usePageStore(e=>e.setInteractionSettingType),B=core.usePageStore(e=>e.setSidebarMode),x=react.useMemo(()=>genFonts.getFontsFromDataBuilder(s),[s]),A=({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},M=react.useCallback((e,t)=>{if(!k)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"),n=e.getAttribute("href")||"";if(!o||!r){e.remove();return}let a=t.find(e=>{let t=e.family===o,a=e.variants.includes(r);return!!t&&!!a&&A({currentFontTypeSetting:e.type,fontType:k,fontHref:n})});a||e.remove()}),t))if(!(["bunny","google"].includes(r.type)&&checkOptionFont.checkNotInOptionFont(r.family,k))&&"custom"!==r.type&&r.variants?.length)for(let t of r.variants){let o={...r,variants:[t.toString()]},n=googleFonts.createFontUrls([o],void 0,k)||[];if(n?.length)for(let o of n){let n=e=>window.CSS&&CSS.escape?CSS.escape(e):e.replace(/"/g,'\\"'),a=document.querySelector(`link.${e}[href="${n(o)}"]`);if(a)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)}}},[k]),O=react.useCallback(()=>{e(/query\//,{revalidate:!0})},[e]),N=react.useCallback(e=>{let r=e.detail;o({url:r.shopHandle?getStorefrontApi.getStorefrontApi(r.shopHandle,t):void 0,token:r.shopToken})},[o,t]),$=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(M("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{}},[M]),D=react.useCallback(e=>{P();try{let t=e.detail;t.data&&("flat"===t.type?c(t.data):l(t.data))}catch{}},[c,l,P]),H=react.useCallback(e=>{try{let t=e.detail;t.entity&&(w({data:t.entity,id:t.id,position:t.position,type:t.type??"component"}),t?.type!=="section"||Array.isArray(t.entity)||g(t.entity.uid,t.entity))}catch{}},[w,g]),W=react.useCallback(e=>{try{let t=e.detail;t.uid&&t.propName&&p({id:t.uid,key:t.propName,data:t.propValue,group:t.group})}catch{}},[p]),G=react.useCallback(e=>{try{let t=e.detail;t.uid&&u(t.uid,t.data,t.group)}catch{}},[u]),R=react.useCallback(e=>{try{let t=e.detail;t.to&&t.uid&&v(t.uid,t.to,Number(t.position)??0)}catch{}},[v]),V=react.useCallback(e=>{try{let t=e.detail;t.uid&&m(t.uid)}catch{}},[m]),_=react.useCallback(e=>{let t=e.detail;try{t.data&&y(t.data)}catch{}},[y]),K=react.useCallback(e=>{let t=e.detail;t&&S(t)},[S]),U=react.useCallback(e=>{let t=e.detail;t&&b(t)},[b]),z=react.useCallback(e=>{let t=e.detail;t&&E(t)},[E]),J=react.useCallback(e=>{let t=e.detail;t&&L(t)},[L]),Q=react.useCallback(e=>{let t=e.detail;t&&C(t)},[C]),X=react.useCallback(e=>{let t=e.detail;t&&r(t)},[r]),Y=react.useCallback(e=>{let t=e.detail;t&&d(t)},[d]);react.useEffect(()=>{x&&k&&M("google-font-element",x)},[x,k,M]);let Z=react.useCallback(e=>{let t=e.detail;t.uid&&f(t.uid,t.name||"")},[f]),ee=react.useCallback(e=>{let t=e.detail;t.uid&&h(t.uid,t.value||"",t.attr||"")},[h]),et=react.useCallback(e=>{let t=e.detail;t?.length&&n(t)},[n]),eo=react.useCallback(e=>{let t=e.detail;t&&a(t)},[a]),er=react.useCallback(e=>{let t=e.detail;t&&i(t)},[i]),en=react.useCallback(e=>{let t=e.detail;t&&I(t)},[I]),ea=react.useCallback(e=>{let t=e.detail.value,o=e.detail.mode,r=e.detail.settingType;q(t),F(o),j(r)},[q,F,j]),ei=react.useCallback(e=>{let t=e.detail.settingType;j(t)},[j]),ed=react.useCallback(e=>{let t=e.detail.mode;console.log(t),B(t)},[B]),el=react.useCallback(e=>{let t=e.detail;T(t)},[T]);return react.useEffect(()=>(window.addEventListener("update-shop-info",N),window.addEventListener("revalidate-query",O),window.addEventListener("init-builder",D),window.addEventListener("add-entity",H),window.addEventListener("remove-entity",V),window.addEventListener("move-entity",R),window.addEventListener("force-update-entity-props",G),window.addEventListener("update-entity-prop",W),window.addEventListener("set-global-style",$),window.addEventListener("update-global-swatches-data",_),window.addEventListener("on-off-header-footer",K),window.addEventListener("update-create-theme-section-count",U),window.addEventListener("update-shop-plan",z),window.addEventListener("set-dynamic-product",X),window.addEventListener("set-dynamic-collection",Y),window.addEventListener("update-item-name",Z),window.addEventListener("update-item-attribute",ee),window.addEventListener("set-product-offer",et),window.addEventListener("set-dynamic-discount-offer",eo),window.addEventListener("update-sale-page-product-id",er),window.addEventListener("limit-create-theme-section",en),window.addEventListener("update-interaction-is-select-on-page",ea),window.addEventListener("update-interaction-item",el),window.addEventListener("update-interaction-setting-type",ei),window.addEventListener("change-sidebar-mode",ed),window.addEventListener("update-font-type",Q),window.addEventListener("update-price-with-currency",J),()=>{window.removeEventListener("update-shop-info",N),window.removeEventListener("revalidate-query",O),window.removeEventListener("init-builder",D),window.removeEventListener("add-entity",H),window.removeEventListener("remove-entity",V),window.removeEventListener("move-entity",R),window.removeEventListener("update-entity-prop",W),window.removeEventListener("set-global-style",$),window.removeEventListener("update-global-swatches-data",_),window.removeEventListener("on-off-header-footer",K),window.removeEventListener("update-create-theme-section-count",U),window.removeEventListener("update-shop-plan",z),window.removeEventListener("update-price-with-currency",J),window.removeEventListener("set-dynamic-product",X),window.removeEventListener("set-dynamic-collection",Y),window.removeEventListener("update-item-name",Z),window.removeEventListener("update-item-attribute",ee),window.removeEventListener("set-product-offer",et),window.removeEventListener("update-sale-page-product-id",er),window.removeEventListener("limit-create-theme-section",en),window.removeEventListener("update-interaction-is-select-on-page",ea),window.removeEventListener("update-interaction-item",el),window.removeEventListener("update-interaction-setting-type",ei),window.removeEventListener("update-font-type",Q)}),[H,z,G,W,D,R,V,$,_,O,N,K,U,X,Y,Z,ee,et,er,en,el,ea,ei,Q,ed,eo,J]),jsxRuntime.jsx("div",{className:"toolbox"})};var Toolbox$1=react.memo(Toolbox);exports.default=Toolbox$1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var core=require("@gem-sdk/core"),merge=require("deepmerge");const baseDevices={tablet:"1024px",mobile:"767px"},flattenObject=(e,t)=>Object.keys(e).reduce((r,n)=>{let o=t?`${t}-`:"";return"object"==typeof e[n]&&null!==e[n]&&Object.keys(e[n]).length>0?Object.assign(r,flattenObject(e[n],o+n)):r[o+n]=e[n],r},{}),mapObject=e=>Object.entries(e??{}).reduce((e,[t,r])=>({...e,[core.getShortName(t)]:"object"==typeof r?mapObject(r):r}),{}),getValueByDevice=(e,t)=>{let r={typography:Object.fromEntries(Object.entries(e?.typography??{}).map(([e,r])=>{let n={...r?.[t]};return n?(n.fontFamily&&(n.fontFamily=`var(--g-font-${n.fontFamily}, ${n.fontFamily})`),[e,n]):[e,void 0]})),spacing:Object.fromEntries(Object.entries(e?.spacing??{}).map(([e,r])=>[e,r?.[t]])),container:Object.fromEntries(Object.entries(e?.container??{}).map(([e,r])=>[e,r?.[t]])),font:Object.fromEntries(Object.entries(e?.font??{}).map(([e,t])=>[e,t?.family])),theme:{font:Object.fromEntries(Object.entries(e?.theme?.font??{}).map(([e,t])=>[e,t?.family]))}};return r},quoteFontName=e=>["sans-serif"].includes(e)?e:`'${e}'`,genCSSVariable=e=>Object.entries(mapObject(flattenObject(e))).map(([e,t])=>{if(void 0!==t)
|
|
1
|
+
"use strict";var core=require("@gem-sdk/core"),merge=require("deepmerge");const baseDevices={tablet:"1024px",mobile:"767px"},flattenObject=(e,t)=>Object.keys(e).reduce((r,n)=>{let o=t?`${t}-`:"";return"object"==typeof e[n]&&null!==e[n]&&Object.keys(e[n]).length>0?Object.assign(r,flattenObject(e[n],o+n)):r[o+n]=e[n],r},{}),mapObject=e=>Object.entries(e??{}).reduce((e,[t,r])=>({...e,[core.getShortName(t)]:"object"==typeof r?mapObject(r):r}),{}),getValueByDevice=(e,t)=>{let r={typography:Object.fromEntries(Object.entries(e?.typography??{}).map(([e,r])=>{let n={...r?.[t]};return n?(n.fontFamily&&(n.fontFamily=`var(--g-font-${n.fontFamily}, ${n.fontFamily})`),[e,n]):[e,void 0]})),spacing:Object.fromEntries(Object.entries(e?.spacing??{}).map(([e,r])=>[e,r?.[t]])),container:Object.fromEntries(Object.entries(e?.container??{}).map(([e,r])=>[e,r?.[t]])),font:Object.fromEntries(Object.entries(e?.font??{}).map(([e,t])=>[e,t?.family])),theme:{font:Object.fromEntries(Object.entries(e?.theme?.font??{}).map(([e,t])=>[e,t?.family]))}};return r},quoteFontName=e=>["sans-serif"].includes(e)?e:`'${e}'`,convertLetterSpacingToEm=e=>"string"==typeof e&&e.includes("%")?`${(.01*parseFloat(e)).toFixed(2)}em`:e,genCSSVariable=e=>Object.entries(mapObject(flattenObject(e))).map(([e,t])=>{if(void 0!==t){if(["font-heading","font-body","theme-font-heading","theme-font-body"].includes(e))return`--g-${e}: ${quoteFontName(t)}`;if(e.includes("-ls")){let r=convertLetterSpacingToEm(t);return`--g-${e}:${r}`}return`--g-${e}:${t}`}}).filter(e=>void 0!==e).join(";"),genCSS=(e,t)=>{if(!e)return"";let r={};try{if(r="string"==typeof e?JSON.parse(e):e,t){let e=getValueByDevice(r,"desktop"),t=getValueByDevice(r,"mobile"),n=merge(e,t);n.color=r.color,n.radius=r.radius;let o=genCSSVariable(n);return`:root{${o}}`}return core.DEVICES.map(e=>{let t=getValueByDevice(r,e);"desktop"===e&&(t.color=r.color,t.radius=r.radius);let n=genCSSVariable(t);return"desktop"===e?`:root{${n}}`:`@media (max-width: ${baseDevices[e]}) {:root{${n}}}`}).join("\n")}catch{return""}};exports.genCSS=genCSS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var zustand=require("zustand");const libsStore=zustand.create(
|
|
1
|
+
"use strict";var zustand=require("zustand");const libsStore=zustand.create(e=>({fontType:"google",changeFontType:t=>{e({fontType:t})}}));exports.libsStore=libsStore;
|
|
@@ -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 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 m}from"../../libs/get-storefront-api.js";import{createFontUrls as p}from"../../libs/google-fonts.js";import{genCSS 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 m}from"../../libs/get-storefront-api.js";import{createFontUrls as p}from"../../libs/google-fonts.js";import{genCSS as u}from"../../libs/helpers/gen-css.js";import{getFontsFromDataBuilder as w}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",Toolbox=()=>{let r=t(),g=n(e=>e.provider),h=n(e=>e.changeStorefrontInfo),E=i(e=>e.setDynamicProduct),L=i(e=>e.setPostPurchaseProductOffers),b=i(e=>e.setDynamicDiscountOffer),S=i(e=>e.setSalePageProductId),I=i(e=>e.setDynamicCollection),T=o(e=>e.initState),C=o(e=>e.state),P=o(e=>e.forceChangeState),j=o(e=>e.forceChangeItemProp),A=o(e=>e.changeItemPropByKey),k=o(e=>e.addItem),x=o(e=>e.moveItem),q=o(e=>e.removeItem),N=d(e=>e.addSection),$=n(e=>e.changeSwatches),O=o(e=>e.updateItemName),D=o(e=>e.updateItemAttribute),H=n(e=>e.changeLayoutSettings),M=n(e=>e.changeCreateThemeSectionCount),B=n(e=>e.changeShopPlan),F=n(e=>e.updatePriceWithCurrency),V=y(e=>e.changeFontType),K=y(e=>e.fontType),W=a(e=>e.clearModal),z=n(e=>e.changeLimitCreateThemeSection),G=i(e=>e.setInteractionIsSelectOnPage),J=i(e=>e.setInteractionItem),Q=i(e=>e.setInteractionSelectType),R=i(e=>e.setInteractionSettingType),U=i(e=>e.setSidebarMode),X=l(()=>w(C),[C]),Y=({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},Z=s((e,t)=>{if(!K)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&&Y({currentFontTypeSetting:e.type,fontType:K,fontHref:o})});d||e.remove()}),t))if(!(["bunny","google"].includes(i.type)&&f(i.family,K))&&"custom"!==i.type&&i.variants?.length)for(let t of i.variants){let n={...i,variants:[t.toString()]},o=p([n],void 0,K)||[];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)}}},[K]),_=s(()=>{r(/query\//,{revalidate:!0})},[r]),ee=s(e=>{let t=e.detail;h({url:t.shopHandle?m(t.shopHandle,g):void 0,token:t.shopToken})},[h,g]),et=s(e=>{let t=e.detail;try{if(t.data){let e=u(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(Z("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{}},[Z]),en=s(e=>{W();try{let t=e.detail;t.data&&("flat"===t.type?P(t.data):T(t.data))}catch{}},[P,T,W]),ei=s(e=>{try{let t=e.detail;t.entity&&(k({data:t.entity,id:t.id,position:t.position,type:t.type??"component"}),t?.type!=="section"||Array.isArray(t.entity)||N(t.entity.uid,t.entity))}catch{}},[k,N]),eo=s(e=>{try{let t=e.detail;t.uid&&t.propName&&A({id:t.uid,key:t.propName,data:t.propValue,group:t.group})}catch{}},[A]),ed=s(e=>{try{let t=e.detail;t.uid&&j(t.uid,t.data,t.group)}catch{}},[j]),ea=s(e=>{try{let t=e.detail;t.to&&t.uid&&x(t.uid,t.to,Number(t.position)??0)}catch{}},[x]),er=s(e=>{try{let t=e.detail;t.uid&&q(t.uid)}catch{}},[q]),el=s(e=>{let t=e.detail;try{t.data&&$(t.data)}catch{}},[$]),es=s(e=>{let t=e.detail;t&&H(t)},[H]),ec=s(e=>{let t=e.detail;t&&M(t)},[M]),em=s(e=>{let t=e.detail;t&&B(t)},[B]),ep=s(e=>{let t=e.detail;t&&F(t)},[F]),eu=s(e=>{let t=e.detail;t&&V(t)},[V]),ew=s(e=>{let t=e.detail;t&&E(t)},[E]),ev=s(e=>{let t=e.detail;t&&I(t)},[I]);c(()=>{X&&K&&Z("google-font-element",X)},[X,K,Z]);let ey=s(e=>{let t=e.detail;t.uid&&O(t.uid,t.name||"")},[O]),ef=s(e=>{let t=e.detail;t.uid&&D(t.uid,t.value||"",t.attr||"")},[D]),eg=s(e=>{let t=e.detail;t?.length&&L(t)},[L]),eh=s(e=>{let t=e.detail;t&&b(t)},[b]),eE=s(e=>{let t=e.detail;t&&S(t)},[S]),eL=s(e=>{let t=e.detail;t&&z(t)},[z]),eb=s(e=>{let t=e.detail.value,n=e.detail.mode,i=e.detail.settingType;G(t),Q(n),R(i)},[G,Q,R]),eS=s(e=>{let t=e.detail.settingType;R(t)},[R]),eI=s(e=>{let t=e.detail.mode;console.log(t),U(t)},[U]),eT=s(e=>{let t=e.detail;J(t)},[J]);return c(()=>(window.addEventListener("update-shop-info",ee),window.addEventListener("revalidate-query",_),window.addEventListener("init-builder",en),window.addEventListener("add-entity",ei),window.addEventListener("remove-entity",er),window.addEventListener("move-entity",ea),window.addEventListener("force-update-entity-props",ed),window.addEventListener("update-entity-prop",eo),window.addEventListener("set-global-style",et),window.addEventListener("update-global-swatches-data",el),window.addEventListener("on-off-header-footer",es),window.addEventListener("update-create-theme-section-count",ec),window.addEventListener("update-shop-plan",em),window.addEventListener("set-dynamic-product",ew),window.addEventListener("set-dynamic-collection",ev),window.addEventListener("update-item-name",ey),window.addEventListener("update-item-attribute",ef),window.addEventListener("set-product-offer",eg),window.addEventListener("set-dynamic-discount-offer",eh),window.addEventListener("update-sale-page-product-id",eE),window.addEventListener("limit-create-theme-section",eL),window.addEventListener("update-interaction-is-select-on-page",eb),window.addEventListener("update-interaction-item",eT),window.addEventListener("update-interaction-setting-type",eS),window.addEventListener("change-sidebar-mode",eI),window.addEventListener("update-font-type",eu),window.addEventListener("update-price-with-currency",ep),()=>{window.removeEventListener("update-shop-info",ee),window.removeEventListener("revalidate-query",_),window.removeEventListener("init-builder",en),window.removeEventListener("add-entity",ei),window.removeEventListener("remove-entity",er),window.removeEventListener("move-entity",ea),window.removeEventListener("update-entity-prop",eo),window.removeEventListener("set-global-style",et),window.removeEventListener("update-global-swatches-data",el),window.removeEventListener("on-off-header-footer",es),window.removeEventListener("update-create-theme-section-count",ec),window.removeEventListener("update-shop-plan",em),window.removeEventListener("update-price-with-currency",ep),window.removeEventListener("set-dynamic-product",ew),window.removeEventListener("set-dynamic-collection",ev),window.removeEventListener("update-item-name",ey),window.removeEventListener("update-item-attribute",ef),window.removeEventListener("set-product-offer",eg),window.removeEventListener("update-sale-page-product-id",eE),window.removeEventListener("limit-create-theme-section",eL),window.removeEventListener("update-interaction-is-select-on-page",eb),window.removeEventListener("update-interaction-item",eT),window.removeEventListener("update-interaction-setting-type",eS),window.removeEventListener("update-font-type",eu)}),[ei,em,ed,eo,en,ea,er,et,el,_,ee,es,ec,ew,ev,ey,ef,eg,eE,eL,eT,eb,eS,eu,eI,eh,ep]),e("div",{className:"toolbox"})};var Toolbox$1=r(Toolbox);export{Toolbox$1 as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DEVICES as e,getShortName as t}from"@gem-sdk/core";import r from"deepmerge";let baseDevices={tablet:"1024px",mobile:"767px"},flattenObject=(e,t)=>Object.keys(e).reduce((r,
|
|
1
|
+
import{DEVICES as e,getShortName as t}from"@gem-sdk/core";import r from"deepmerge";let baseDevices={tablet:"1024px",mobile:"767px"},flattenObject=(e,t)=>Object.keys(e).reduce((r,n)=>{let o=t?`${t}-`:"";return"object"==typeof e[n]&&null!==e[n]&&Object.keys(e[n]).length>0?Object.assign(r,flattenObject(e[n],o+n)):r[o+n]=e[n],r},{}),mapObject=e=>Object.entries(e??{}).reduce((e,[r,n])=>({...e,[t(r)]:"object"==typeof n?mapObject(n):n}),{}),getValueByDevice=(e,t)=>{let r={typography:Object.fromEntries(Object.entries(e?.typography??{}).map(([e,r])=>{let n={...r?.[t]};return n?(n.fontFamily&&(n.fontFamily=`var(--g-font-${n.fontFamily}, ${n.fontFamily})`),[e,n]):[e,void 0]})),spacing:Object.fromEntries(Object.entries(e?.spacing??{}).map(([e,r])=>[e,r?.[t]])),container:Object.fromEntries(Object.entries(e?.container??{}).map(([e,r])=>[e,r?.[t]])),font:Object.fromEntries(Object.entries(e?.font??{}).map(([e,t])=>[e,t?.family])),theme:{font:Object.fromEntries(Object.entries(e?.theme?.font??{}).map(([e,t])=>[e,t?.family]))}};return r},quoteFontName=e=>["sans-serif"].includes(e)?e:`'${e}'`,convertLetterSpacingToEm=e=>"string"==typeof e&&e.includes("%")?`${(.01*parseFloat(e)).toFixed(2)}em`:e,genCSSVariable=e=>Object.entries(mapObject(flattenObject(e))).map(([e,t])=>{if(void 0!==t){if(["font-heading","font-body","theme-font-heading","theme-font-body"].includes(e))return`--g-${e}: ${quoteFontName(t)}`;if(e.includes("-ls")){let r=convertLetterSpacingToEm(t);return`--g-${e}:${r}`}return`--g-${e}:${t}`}}).filter(e=>void 0!==e).join(";"),genCSS=(t,n)=>{if(!t)return"";let o={};try{if(o="string"==typeof t?JSON.parse(t):t,n){let e=getValueByDevice(o,"desktop"),t=getValueByDevice(o,"mobile"),n=r(e,t);n.color=o.color,n.radius=o.radius;let i=genCSSVariable(n);return`:root{${i}}`}return e.map(e=>{let t=getValueByDevice(o,e);"desktop"===e&&(t.color=o.color,t.radius=o.radius);let r=genCSSVariable(t);return"desktop"===e?`:root{${r}}`:`@media (max-width: ${baseDevices[e]}) {:root{${r}}}`}).join("\n")}catch{return""}};export{genCSS};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{create as o}from"zustand";let libsStore=o(o=>({fontType:
|
|
1
|
+
import{create as o}from"zustand";let libsStore=o(o=>({fontType:"google",changeFontType:e=>{o({fontType:e})}}));export{libsStore};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gem-sdk/pages",
|
|
3
|
-
"version": "4.0.0-staging.
|
|
3
|
+
"version": "4.0.0-staging.1236",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"next": "14.2.20"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@gem-sdk/core": "4.0.0-staging.
|
|
29
|
+
"@gem-sdk/core": "4.0.0-staging.1233",
|
|
30
30
|
"@gem-sdk/plugin-cookie-bar": "4.0.0-staging.1231",
|
|
31
31
|
"@gem-sdk/plugin-quick-view": "4.0.0-staging.1231",
|
|
32
32
|
"@gem-sdk/plugin-sticky-add-to-cart": "4.0.0-staging.1231"
|