@gem-sdk/core 17.0.0-dev.84 → 17.0.0-dev.85

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";var e=require("react/jsx-runtime"),t=require("react"),i=require("zustand"),s=require("../helpers/clone-deep.js"),r=require("../helpers/normalize-builder-data.js");function l(e,t,i){let s=e.splice(t,1)[0];void 0!==s&&e.splice(i,0,s)}const n=t.createContext(null),d={uid:"ROOT",tag:"Root",label:"Root",childrens:[]},a=(e,t,n)=>i.createStore((i,a)=>({state:e,loaded:!1,isThemeSectionEditor:!!n,pageName:t,dynamicProduct:null,dynamicCollection:null,errorSectionList:null,addItem:e=>{let{position:t,data:l}=e,n=a().state,d=Date.now();if("section"===e.type){if(!Array.isArray(l)){let e=l.uid,r=n.ROOT;r.childrens?r.childrens.splice(t??0,0,e):r.childrens=[e],r.dateModified=d,i({state:{...n,[e]:{uid:e,type:"section",label:l.label},ROOT:s.cloneDeep(r)}})}}else{let{id:l,data:a}=e,c=l?n[l]??n.ROOT:n.ROOT;if("section"===c.type)return;if(Array.isArray(a)){let e=a.map(e=>e.uid),l=a.reduceRight((e,t)=>{let i=r.normalizeBuilderData(t);return{...e,...i}},{});c.dateModified=d,c.childrens=c.childrens??[],c.childrens.splice(t??0,0,...e),i({state:{...n,...l,[c.uid]:s.cloneDeep(c)}})}else{let e=r.normalizeBuilderData(a);c.dateModified=d,c.childrens=c.childrens??[],c.childrens.splice(t??0,0,a.uid),i({state:{...n,...e,[c.uid]:s.cloneDeep(c)}})}}},changeItemProp:(e,t,s)=>{if(!s||!["setting","style","advanced"].includes(s))return;let r=a().state,l=r[e];if(l?.type!=="section"&&l){let n=Date.now();switch(l.dateModified=n,s){case"setting":i({state:{...r,[e]:{...l,settings:{...l.settings,...t}}}});break;case"style":i({state:{...r,[e]:{...l,styles:{...l.styles,...t}}}});break;case"advanced":i({state:{...r,[e]:{...l,advanced:{...l.advanced,...t}}}})}}},forceChangeItemProp:(e,t,s)=>{if(!s||!["setting","style","advanced"].includes(s))return;let r=a().state,l=r[e];if(l?.type!=="section"&&l){let n=Date.now();switch(l.dateModified=n,s){case"setting":i({state:{...r,[e]:{...l,settings:t}}});break;case"style":i({state:{...r,[e]:{...l,styles:t}}});break;case"advanced":i({state:{...r,[e]:{...l,advanced:t}}})}}},changeItemPropByKey:({id:e,key:t,data:s,group:r})=>{if(!r||!["setting","style","advanced"].includes(r))return;let l=a().state,n=l[e];if(n?.type!=="section"&&n){let d={style:n.styles??{},advanced:n.advanced??{},setting:n.settings??{}};void 0===s?(console.warn("Data is undefined"),delete d[r][t]):d[r][t]=s,i({state:{...l,[e]:{...n,settings:{...d.setting},styles:{...d.style},advanced:{...d.advanced}}}})}},getItem:e=>a().state[e],getState:()=>a().state,removeItem:e=>{if("ROOT"===e)i({state:{ROOT:d}});else{let t=a().state;!function e(t,i){let s=i[t];s&&(delete i[t],"section"!==s.type&&s.childrens?.map(t=>e(t,i)))}(e,t);let r=Object.entries(t).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(r){let l=Date.now(),[n,d]=r;if("section"===d.type)return;d.childrens=d.childrens?.filter(t=>t!==e),d.dateModified=l,i({state:{...t,[n]:s.cloneDeep(d)}})}}},moveItem:(e,t,r)=>{let n=a().state,d=n[e],c=n[t];if(d&&c&&"section"!==c.type){if("section"===d.type){let t=n.ROOT;if(!t.childrens)return;let d=t.childrens.findIndex(t=>t===e);l(t.childrens,d,r??0),i({state:{...n,ROOT:s.cloneDeep(t)}})}else{let a=Object.entries(n).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(d&&a){let o=Date.now(),[,u]=a;if("section"===u.type)return;if(u.dateModified=o,t===u.uid&&u.childrens){let t=u.childrens.findIndex(t=>t===e);u.childrens&&t!==r&&(l(u.childrens,t,r??0),i({state:{...n,[u.uid]:s.cloneDeep(u)}}))}else u.childrens=u.childrens?.filter(t=>t!==e),c&&(c.dateModified=o,c.childrens=c.childrens??[],c.childrens.splice(r??0,0,d.uid),i({state:{...n,[c.uid]:s.cloneDeep(c),[u.uid]:s.cloneDeep(u)}}))}}}},forceChangeState:e=>{i({state:e,loaded:!0})},initState:e=>{if(Array.isArray(e)){let t=e.map(e=>e.uid),s=e.reduceRight((e,t)=>{let i=r.normalizeBuilderData(t);return{...e,...i}},{});i({loaded:!0,state:{ROOT:{...d,childrens:t},...s}})}else{let t=r.normalizeBuilderData(e);i({loaded:!0,state:{ROOT:{...d,childrens:[e.uid]},...t}})}},addSection:(e,t)=>{let r=a().state,l=r.ROOT;l.childrens||(l.childrens=[]),l.childrens.splice(t??0,0,e.uid),i({state:{...r,ROOT:s.cloneDeep(l)}})},getParents:(e,t)=>{let i=a().state,s=[],r=0,l=e;for(;!t||!(r>=t);){let e=Object.entries(i).find(([,e])=>"section"!==e.type&&e.childrens?.includes(l));if(!e)break;let[,t]=e;if(!t)break;s.push(t),l=t.uid,r++}return s},updateItemName:(e,t)=>{let r=a().state,l=r[e];l&&(l.name=t,i({state:{...r,[e]:s.cloneDeep(l)}}))},updateItemAttribute:(e,t,s)=>{if(!s||!["label","customLabel","isShopifyVisibility","tag"].includes(s))return;let r=a().state,l=r[e];if(l){if("section"!==l.type){let e=Date.now();l.dateModified=e}let n={...l,[s]:t};i({state:{...r,[e]:n}})}},dismissPublishError:e=>{let t=a().errorSectionList;if(!Array.isArray(t))return;let s=t.map(t=>t.uid===e?{...t,isDismissed:!0}:t);i({errorSectionList:s})},setErrorSectionList:e=>i({errorSectionList:e})}));exports.BuilderPreviewProvider=({children:i,state:s,isThemeSectionEditor:r,pageName:l,lazy:d,...c})=>{let o=d?t.Suspense:t.Fragment,u=t.useMemo(()=>a(s,l,r),[s,r,l]);return e.jsx(o,{children:e.jsx(n.Provider,{...c,value:u,children:i})})},exports.useBuilderPreviewStore=(e,s)=>{let r=t.useContext(n);if(!r)throw Error("useBuilderPreviewStore must be used within a BuilderPreviewProvider");return i.useStore(r,e,s)};
2
+ "use strict";var e=require("react/jsx-runtime"),t=require("react"),i=require("zustand"),s=require("../helpers/clone-deep.js"),r=require("../helpers/normalize-builder-data.js");function l(e,t,i){let s=e.splice(t,1)[0];void 0!==s&&e.splice(i,0,s)}const n=t.createContext(null),d={uid:"ROOT",tag:"Root",label:"Root",childrens:[]},a=(e,t,n)=>i.createStore((i,a)=>({state:e,loaded:!1,isThemeSectionEditor:!!n,pageName:t,dynamicProduct:null,dynamicCollection:null,errorSectionList:null,addItem:e=>{let{position:t,data:l}=e,n=a().state,d=Date.now();if("section"===e.type){if(!Array.isArray(l)){let e=l.uid,r=n.ROOT;r.childrens?r.childrens.splice(t??0,0,e):r.childrens=[e],r.dateModified=d,i({state:{...n,[e]:{uid:e,type:"section",label:l.label},ROOT:s.cloneDeep(r)}})}}else{let{id:l,data:a}=e,c=l?n[l]??n.ROOT:n.ROOT;if("section"===c.type)return;if(Array.isArray(a)){let e=a.map(e=>e.uid),l=a.reduceRight((e,t)=>{let i=r.normalizeBuilderData(t);return{...e,...i}},{});c.dateModified=d,c.childrens=c.childrens??[],c.childrens.splice(t??0,0,...e),i({state:{...n,...l,[c.uid]:s.cloneDeep(c)}})}else{let e=r.normalizeBuilderData(a);c.dateModified=d,c.childrens=c.childrens??[],c.childrens.splice(t??0,0,a.uid),i({state:{...n,...e,[c.uid]:s.cloneDeep(c)}})}}},changeItemProp:(e,t,s)=>{if(!s||!["setting","style","advanced"].includes(s))return;let r=a().state,l=r[e];if(l?.type!=="section"&&l){let n=Date.now();switch(l.dateModified=n,s){case"setting":i({state:{...r,[e]:{...l,settings:{...l.settings,...t}}}});break;case"style":i({state:{...r,[e]:{...l,styles:{...l.styles,...t}}}});break;case"advanced":i({state:{...r,[e]:{...l,advanced:{...l.advanced,...t}}}})}}},forceChangeItemProp:(e,t,s)=>{if(!s||!["setting","style","advanced"].includes(s))return;let r=a().state,l=r[e];if(l?.type!=="section"&&l){let n=Date.now();switch(l.dateModified=n,s){case"setting":i({state:{...r,[e]:{...l,settings:t}}});break;case"style":i({state:{...r,[e]:{...l,styles:t}}});break;case"advanced":i({state:{...r,[e]:{...l,advanced:t}}})}}},changeItemPropByKey:({id:e,key:t,data:s,group:r})=>{if(!r||!["setting","style","advanced"].includes(r))return;let l=a().state,n=l[e];if(n?.type!=="section"&&n){let d={style:n.styles??{},advanced:n.advanced??{},setting:n.settings??{}};void 0===s?(console.warn("Data is undefined"),delete d[r][t]):d[r][t]=s,i({state:{...l,[e]:{...n,settings:{...d.setting},styles:{...d.style},advanced:{...d.advanced}}}})}},getItem:e=>a().state[e],getState:()=>a().state,removeItem:e=>{if("ROOT"===e)i({state:{ROOT:d}});else{let t=a().state;!function e(t,i){let s=i[t];s&&(delete i[t],"section"!==s.type&&s.childrens?.map(t=>e(t,i)))}(e,t);let r=Object.entries(t).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(r){let l=Date.now(),[n,d]=r;if("section"===d.type)return;d.childrens=d.childrens?.filter(t=>t!==e),d.dateModified=l,i({state:{...t,[n]:s.cloneDeep(d)}})}}},moveItem:(e,t,r)=>{let n=a().state,d=n[e],c=n[t];if(d&&c&&"section"!==c.type){if("section"===d.type){let t=n.ROOT;if(!t.childrens)return;let d=t.childrens.findIndex(t=>t===e);l(t.childrens,d,r??0),i({state:{...n,ROOT:s.cloneDeep(t)}})}else{let a=Object.entries(n).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(d&&a){let o=Date.now(),[,u]=a;if("section"===u.type)return;if(u.dateModified=o,t===u.uid&&u.childrens){let t=u.childrens.findIndex(t=>t===e);u.childrens&&t!==r&&(l(u.childrens,t,r??0),i({state:{...n,[u.uid]:s.cloneDeep(u)}}))}else u.childrens=u.childrens?.filter(t=>t!==e),c&&(c.dateModified=o,c.childrens=c.childrens??[],c.childrens.splice(r??0,0,d.uid),i({state:{...n,[c.uid]:s.cloneDeep(c),[u.uid]:s.cloneDeep(u)}}))}}}},forceChangeState:e=>{i({state:e,loaded:!0})},initState:e=>{if(Array.isArray(e)){let t=e.map(e=>e.uid),s=e.reduceRight((e,t)=>{let i=r.normalizeBuilderData(t);return{...e,...i}},{});i({loaded:!0,state:{ROOT:{...d,childrens:t},...s}})}else{let t=r.normalizeBuilderData(e);i({loaded:!0,state:{ROOT:{...d,childrens:[e.uid]},...t}})}},addSection:(e,t)=>{let r=a().state,l=r.ROOT;l.childrens||(l.childrens=[]),l.childrens.splice(t??0,0,e.uid),i({state:{...r,ROOT:s.cloneDeep(l)}})},getParents:(e,t)=>{let i=a().state,s=[],r=0,l=e;for(;!t||!(r>=t);){let e=Object.entries(i).find(([,e])=>"section"!==e.type&&e.childrens?.includes(l));if(!e)break;let[,t]=e;if(!t)break;s.push(t),l=t.uid,r++}return s},updateItemName:(e,t)=>{let r=a().state,l=r[e];l&&(l.name=t,i({state:{...r,[e]:s.cloneDeep(l)}}))},updateItemAttribute:(e,t,s)=>{if(!s||!["label","customLabel","isShopifyVisibility","tag"].includes(s))return;let r=a().state,l=r[e];if(l){if("section"!==l.type){let e=Date.now();l.dateModified=e}let n={...l,[s]:t};i({state:{...r,[e]:n}})}},updateAllItemAttribute:(e,t)=>{if(!e||!["tag"].includes(e))return;let s=a().state,r={};for(let{uid:i,value:l}of t){let t=s[i];if(!t)continue;let n={...t,..."section"!==t.type&&{dateModified:Date.now()},[e]:l};r[i]=n}Object.keys(r).length>0&&i({state:{...s,...r}})},dismissPublishError:e=>{let t=a().errorSectionList;if(!Array.isArray(t))return;let s=t.map(t=>t.uid===e?{...t,isDismissed:!0}:t);i({errorSectionList:s})},setErrorSectionList:e=>i({errorSectionList:e})}));exports.BuilderPreviewProvider=({children:i,state:s,isThemeSectionEditor:r,pageName:l,lazy:d,...c})=>{let o=d?t.Suspense:t.Fragment,u=t.useMemo(()=>a(s,l,r),[s,r,l]);return e.jsx(o,{children:e.jsx(n.Provider,{...c,value:u,children:i})})},exports.useBuilderPreviewStore=(e,s)=>{let r=t.useContext(n);if(!r)throw Error("useBuilderPreviewStore must be used within a BuilderPreviewProvider");return i.useStore(r,e,s)};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e}from"react/jsx-runtime";import{useContext as t,createContext as i,useMemo as s,Suspense as d,Fragment as r}from"react";import{useStore as l,createStore as n}from"zustand";import{cloneDeep as a}from"../helpers/clone-deep.js";import{normalizeBuilderData as c}from"../helpers/normalize-builder-data.js";function o(e,t,i){let s=e.splice(t,1)[0];void 0!==s&&e.splice(i,0,s)}let u=i(null),f={uid:"ROOT",tag:"Root",label:"Root",childrens:[]},h=(e,t,i)=>n((s,d)=>({state:e,loaded:!1,isThemeSectionEditor:!!i,pageName:t,dynamicProduct:null,dynamicCollection:null,errorSectionList:null,addItem:e=>{let{position:t,data:i}=e,r=d().state,l=Date.now();if("section"===e.type){if(!Array.isArray(i)){let e=i.uid,d=r.ROOT;d.childrens?d.childrens.splice(t??0,0,e):d.childrens=[e],d.dateModified=l,s({state:{...r,[e]:{uid:e,type:"section",label:i.label},ROOT:a(d)}})}}else{let{id:i,data:d}=e,n=i?r[i]??r.ROOT:r.ROOT;if("section"===n.type)return;if(Array.isArray(d)){let e=d.map(e=>e.uid),i=d.reduceRight((e,t)=>{let i=c(t);return{...e,...i}},{});n.dateModified=l,n.childrens=n.childrens??[],n.childrens.splice(t??0,0,...e),s({state:{...r,...i,[n.uid]:a(n)}})}else{let e=c(d);n.dateModified=l,n.childrens=n.childrens??[],n.childrens.splice(t??0,0,d.uid),s({state:{...r,...e,[n.uid]:a(n)}})}}},changeItemProp:(e,t,i)=>{if(!i||!["setting","style","advanced"].includes(i))return;let r=d().state,l=r[e];if(l?.type!=="section"&&l){let d=Date.now();switch(l.dateModified=d,i){case"setting":s({state:{...r,[e]:{...l,settings:{...l.settings,...t}}}});break;case"style":s({state:{...r,[e]:{...l,styles:{...l.styles,...t}}}});break;case"advanced":s({state:{...r,[e]:{...l,advanced:{...l.advanced,...t}}}})}}},forceChangeItemProp:(e,t,i)=>{if(!i||!["setting","style","advanced"].includes(i))return;let r=d().state,l=r[e];if(l?.type!=="section"&&l){let d=Date.now();switch(l.dateModified=d,i){case"setting":s({state:{...r,[e]:{...l,settings:t}}});break;case"style":s({state:{...r,[e]:{...l,styles:t}}});break;case"advanced":s({state:{...r,[e]:{...l,advanced:t}}})}}},changeItemPropByKey:({id:e,key:t,data:i,group:r})=>{if(!r||!["setting","style","advanced"].includes(r))return;let l=d().state,n=l[e];if(n?.type!=="section"&&n){let d={style:n.styles??{},advanced:n.advanced??{},setting:n.settings??{}};void 0===i?(console.warn("Data is undefined"),delete d[r][t]):d[r][t]=i,s({state:{...l,[e]:{...n,settings:{...d.setting},styles:{...d.style},advanced:{...d.advanced}}}})}},getItem:e=>d().state[e],getState:()=>d().state,removeItem:e=>{if("ROOT"===e)s({state:{ROOT:f}});else{let t=d().state;!function e(t,i){let s=i[t];s&&(delete i[t],"section"!==s.type&&s.childrens?.map(t=>e(t,i)))}(e,t);let i=Object.entries(t).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(i){let d=Date.now(),[r,l]=i;if("section"===l.type)return;l.childrens=l.childrens?.filter(t=>t!==e),l.dateModified=d,s({state:{...t,[r]:a(l)}})}}},moveItem:(e,t,i)=>{let r=d().state,l=r[e],n=r[t];if(l&&n&&"section"!==n.type){if("section"===l.type){let t=r.ROOT;if(!t.childrens)return;let d=t.childrens.findIndex(t=>t===e);o(t.childrens,d,i??0),s({state:{...r,ROOT:a(t)}})}else{let d=Object.entries(r).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(l&&d){let c=Date.now(),[,u]=d;if("section"===u.type)return;if(u.dateModified=c,t===u.uid&&u.childrens){let t=u.childrens.findIndex(t=>t===e);u.childrens&&t!==i&&(o(u.childrens,t,i??0),s({state:{...r,[u.uid]:a(u)}}))}else u.childrens=u.childrens?.filter(t=>t!==e),n&&(n.dateModified=c,n.childrens=n.childrens??[],n.childrens.splice(i??0,0,l.uid),s({state:{...r,[n.uid]:a(n),[u.uid]:a(u)}}))}}}},forceChangeState:e=>{s({state:e,loaded:!0})},initState:e=>{if(Array.isArray(e)){let t=e.map(e=>e.uid),i=e.reduceRight((e,t)=>{let i=c(t);return{...e,...i}},{});s({loaded:!0,state:{ROOT:{...f,childrens:t},...i}})}else{let t=c(e);s({loaded:!0,state:{ROOT:{...f,childrens:[e.uid]},...t}})}},addSection:(e,t)=>{let i=d().state,r=i.ROOT;r.childrens||(r.childrens=[]),r.childrens.splice(t??0,0,e.uid),s({state:{...i,ROOT:a(r)}})},getParents:(e,t)=>{let i=d().state,s=[],r=0,l=e;for(;!t||!(r>=t);){let e=Object.entries(i).find(([,e])=>"section"!==e.type&&e.childrens?.includes(l));if(!e)break;let[,t]=e;if(!t)break;s.push(t),l=t.uid,r++}return s},updateItemName:(e,t)=>{let i=d().state,r=i[e];r&&(r.name=t,s({state:{...i,[e]:a(r)}}))},updateItemAttribute:(e,t,i)=>{if(!i||!["label","customLabel","isShopifyVisibility","tag"].includes(i))return;let r=d().state,l=r[e];if(l){if("section"!==l.type){let e=Date.now();l.dateModified=e}let d={...l,[i]:t};s({state:{...r,[e]:d}})}},dismissPublishError:e=>{let t=d().errorSectionList;if(!Array.isArray(t))return;let i=t.map(t=>t.uid===e?{...t,isDismissed:!0}:t);s({errorSectionList:i})},setErrorSectionList:e=>s({errorSectionList:e})})),p=({children:t,state:i,isThemeSectionEditor:l,pageName:n,lazy:a,...c})=>{let o=a?d:r,f=s(()=>h(i,n,l),[i,l,n]);return e(o,{children:e(u.Provider,{...c,value:f,children:t})})},y=(e,i)=>{let s=t(u);if(!s)throw Error("useBuilderPreviewStore must be used within a BuilderPreviewProvider");return l(s,e,i)};export{p as BuilderPreviewProvider,y as useBuilderPreviewStore};
2
+ import{jsx as e}from"react/jsx-runtime";import{useContext as t,createContext as i,useMemo as s,Suspense as d,Fragment as r}from"react";import{useStore as l,createStore as n}from"zustand";import{cloneDeep as a}from"../helpers/clone-deep.js";import{normalizeBuilderData as c}from"../helpers/normalize-builder-data.js";function o(e,t,i){let s=e.splice(t,1)[0];void 0!==s&&e.splice(i,0,s)}let u=i(null),f={uid:"ROOT",tag:"Root",label:"Root",childrens:[]},h=(e,t,i)=>n((s,d)=>({state:e,loaded:!1,isThemeSectionEditor:!!i,pageName:t,dynamicProduct:null,dynamicCollection:null,errorSectionList:null,addItem:e=>{let{position:t,data:i}=e,r=d().state,l=Date.now();if("section"===e.type){if(!Array.isArray(i)){let e=i.uid,d=r.ROOT;d.childrens?d.childrens.splice(t??0,0,e):d.childrens=[e],d.dateModified=l,s({state:{...r,[e]:{uid:e,type:"section",label:i.label},ROOT:a(d)}})}}else{let{id:i,data:d}=e,n=i?r[i]??r.ROOT:r.ROOT;if("section"===n.type)return;if(Array.isArray(d)){let e=d.map(e=>e.uid),i=d.reduceRight((e,t)=>{let i=c(t);return{...e,...i}},{});n.dateModified=l,n.childrens=n.childrens??[],n.childrens.splice(t??0,0,...e),s({state:{...r,...i,[n.uid]:a(n)}})}else{let e=c(d);n.dateModified=l,n.childrens=n.childrens??[],n.childrens.splice(t??0,0,d.uid),s({state:{...r,...e,[n.uid]:a(n)}})}}},changeItemProp:(e,t,i)=>{if(!i||!["setting","style","advanced"].includes(i))return;let r=d().state,l=r[e];if(l?.type!=="section"&&l){let d=Date.now();switch(l.dateModified=d,i){case"setting":s({state:{...r,[e]:{...l,settings:{...l.settings,...t}}}});break;case"style":s({state:{...r,[e]:{...l,styles:{...l.styles,...t}}}});break;case"advanced":s({state:{...r,[e]:{...l,advanced:{...l.advanced,...t}}}})}}},forceChangeItemProp:(e,t,i)=>{if(!i||!["setting","style","advanced"].includes(i))return;let r=d().state,l=r[e];if(l?.type!=="section"&&l){let d=Date.now();switch(l.dateModified=d,i){case"setting":s({state:{...r,[e]:{...l,settings:t}}});break;case"style":s({state:{...r,[e]:{...l,styles:t}}});break;case"advanced":s({state:{...r,[e]:{...l,advanced:t}}})}}},changeItemPropByKey:({id:e,key:t,data:i,group:r})=>{if(!r||!["setting","style","advanced"].includes(r))return;let l=d().state,n=l[e];if(n?.type!=="section"&&n){let d={style:n.styles??{},advanced:n.advanced??{},setting:n.settings??{}};void 0===i?(console.warn("Data is undefined"),delete d[r][t]):d[r][t]=i,s({state:{...l,[e]:{...n,settings:{...d.setting},styles:{...d.style},advanced:{...d.advanced}}}})}},getItem:e=>d().state[e],getState:()=>d().state,removeItem:e=>{if("ROOT"===e)s({state:{ROOT:f}});else{let t=d().state;!function e(t,i){let s=i[t];s&&(delete i[t],"section"!==s.type&&s.childrens?.map(t=>e(t,i)))}(e,t);let i=Object.entries(t).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(i){let d=Date.now(),[r,l]=i;if("section"===l.type)return;l.childrens=l.childrens?.filter(t=>t!==e),l.dateModified=d,s({state:{...t,[r]:a(l)}})}}},moveItem:(e,t,i)=>{let r=d().state,l=r[e],n=r[t];if(l&&n&&"section"!==n.type){if("section"===l.type){let t=r.ROOT;if(!t.childrens)return;let d=t.childrens.findIndex(t=>t===e);o(t.childrens,d,i??0),s({state:{...r,ROOT:a(t)}})}else{let d=Object.entries(r).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(l&&d){let c=Date.now(),[,u]=d;if("section"===u.type)return;if(u.dateModified=c,t===u.uid&&u.childrens){let t=u.childrens.findIndex(t=>t===e);u.childrens&&t!==i&&(o(u.childrens,t,i??0),s({state:{...r,[u.uid]:a(u)}}))}else u.childrens=u.childrens?.filter(t=>t!==e),n&&(n.dateModified=c,n.childrens=n.childrens??[],n.childrens.splice(i??0,0,l.uid),s({state:{...r,[n.uid]:a(n),[u.uid]:a(u)}}))}}}},forceChangeState:e=>{s({state:e,loaded:!0})},initState:e=>{if(Array.isArray(e)){let t=e.map(e=>e.uid),i=e.reduceRight((e,t)=>{let i=c(t);return{...e,...i}},{});s({loaded:!0,state:{ROOT:{...f,childrens:t},...i}})}else{let t=c(e);s({loaded:!0,state:{ROOT:{...f,childrens:[e.uid]},...t}})}},addSection:(e,t)=>{let i=d().state,r=i.ROOT;r.childrens||(r.childrens=[]),r.childrens.splice(t??0,0,e.uid),s({state:{...i,ROOT:a(r)}})},getParents:(e,t)=>{let i=d().state,s=[],r=0,l=e;for(;!t||!(r>=t);){let e=Object.entries(i).find(([,e])=>"section"!==e.type&&e.childrens?.includes(l));if(!e)break;let[,t]=e;if(!t)break;s.push(t),l=t.uid,r++}return s},updateItemName:(e,t)=>{let i=d().state,r=i[e];r&&(r.name=t,s({state:{...i,[e]:a(r)}}))},updateItemAttribute:(e,t,i)=>{if(!i||!["label","customLabel","isShopifyVisibility","tag"].includes(i))return;let r=d().state,l=r[e];if(l){if("section"!==l.type){let e=Date.now();l.dateModified=e}let d={...l,[i]:t};s({state:{...r,[e]:d}})}},updateAllItemAttribute:(e,t)=>{if(!e||!["tag"].includes(e))return;let i=d().state,r={};for(let{uid:s,value:d}of t){let t=i[s];if(!t)continue;let l={...t,..."section"!==t.type&&{dateModified:Date.now()},[e]:d};r[s]=l}Object.keys(r).length>0&&s({state:{...i,...r}})},dismissPublishError:e=>{let t=d().errorSectionList;if(!Array.isArray(t))return;let i=t.map(t=>t.uid===e?{...t,isDismissed:!0}:t);s({errorSectionList:i})},setErrorSectionList:e=>s({errorSectionList:e})})),p=({children:t,state:i,isThemeSectionEditor:l,pageName:n,lazy:a,...c})=>{let o=a?d:r,f=s(()=>h(i,n,l),[i,l,n]);return e(o,{children:e(u.Provider,{...c,value:f,children:t})})},y=(e,i)=>{let s=t(u);if(!s)throw Error("useBuilderPreviewStore must be used within a BuilderPreviewProvider");return l(s,e,i)};export{p as BuilderPreviewProvider,y as useBuilderPreviewStore};
@@ -42839,6 +42839,10 @@ type BuilderPreviewContextProps = {
42839
42839
  getParents: (id: string, limit?: number) => BuilderEntity[];
42840
42840
  updateItemName: (id: string, name: string) => void;
42841
42841
  updateItemAttribute: (id: string, value: string, attr: string) => void;
42842
+ updateAllItemAttribute: (attr: string, data: {
42843
+ uid: string;
42844
+ value: string;
42845
+ }[]) => void;
42842
42846
  dismissPublishError: (uid: string) => void;
42843
42847
  setErrorSectionList: (list: PublishErrorSectionListEventDetail) => void;
42844
42848
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/core",
3
- "version": "17.0.0-dev.84",
3
+ "version": "17.0.0-dev.85",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",