@gem-sdk/core 2.0.0-dev.878 → 2.0.0-dev.879

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 +1 @@
1
- "use strict";var jsxRuntime=require("react/jsx-runtime"),react=require("react"),zustand=require("zustand"),cloneDeep=require("../helpers/clone-deep.js"),normalizeBuilderData=require("../helpers/normalize-builder-data.js");function moveByIndex(e,t,i){let r=e.splice(t,1)[0];void 0!==r&&e.splice(i,0,r)}function removeByKey(e,t){let i=t[e];i&&(delete t[e],"section"!==i.type&&i.childrens?.map(e=>removeByKey(e,t)))}const BuilderPreviewContext=react.createContext(null),root={uid:"ROOT",tag:"Root",label:"Root",childrens:[]},createBuilderPreviewProvider=(e,t)=>zustand.createStore((i,r)=>({state:e,loaded:!1,isThemeSectionEditor:!!t,dynamicProduct:null,dynamicCollection:null,addItem:e=>{let{position:t,data:l}=e,s=r().state,n=Date.now();if("section"===e.type){if(!Array.isArray(l)){let e=l.uid,r=s.ROOT;r.childrens?r.childrens.splice(t??0,0,e):r.childrens=[e],r.dateModified=n,i({state:{...s,[e]:{uid:e,type:"section",label:l.label},ROOT:cloneDeep.cloneDeep(r)}})}}else{let{id:r,data:l}=e,d=r?s[r]??s.ROOT:s.ROOT;if("section"===d.type)return;if(Array.isArray(l)){let e=l.map(e=>e.uid),r=l.reduceRight((e,t)=>{let i=normalizeBuilderData.normalizeBuilderData(t);return{...e,...i}},{});d.dateModified=n,d.childrens=d.childrens??[],d.childrens.splice(t??0,0,...e),i({state:{...s,...r,[d.uid]:cloneDeep.cloneDeep(d)}})}else{let e=normalizeBuilderData.normalizeBuilderData(l);d.dateModified=n,d.childrens=d.childrens??[],d.childrens.splice(t??0,0,l.uid),i({state:{...s,...e,[d.uid]:cloneDeep.cloneDeep(d)}})}}},changeItemProp:(e,t,l)=>{if(!l||!["setting","style","advanced"].includes(l))return;let s=r().state,n=s[e];if(n?.type!=="section"&&n){let r=Date.now();switch(n.dateModified=r,l){case"setting":i({state:{...s,[e]:{...n,settings:{...n.settings,...t}}}});break;case"style":i({state:{...s,[e]:{...n,styles:{...n.styles,...t}}}});break;case"advanced":i({state:{...s,[e]:{...n,advanced:{...n.advanced,...t}}}})}}},forceChangeItemProp:(e,t,l)=>{if(!l||!["setting","style","advanced"].includes(l))return;let s=r().state,n=s[e];if(n?.type!=="section"&&n){let r=Date.now();switch(n.dateModified=r,l){case"setting":i({state:{...s,[e]:{...n,settings:t}}});break;case"style":i({state:{...s,[e]:{...n,styles:t}}});break;case"advanced":i({state:{...s,[e]:{...n,advanced:t}}})}}},changeItemPropByKey:({id:e,key:t,data:l,group:s})=>{if(!s||!["setting","style","advanced"].includes(s))return;let n=r().state,d=n[e];if(d?.type!=="section"&&d){let r={style:d.styles??{},advanced:d.advanced??{},setting:d.settings??{}};void 0===l?(console.warn("Data is undefined"),delete r[s][t]):r[s][t]=l,i({state:{...n,[e]:{...d,settings:{...r.setting},styles:{...r.style},advanced:{...r.advanced}}}})}},getItem:e=>r().state[e],removeItem:e=>{if("ROOT"===e)i({state:{ROOT:root}});else{let t=r().state;removeByKey(e,t);let l=Object.entries(t).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(l){let r=Date.now(),[s,n]=l;if("section"===n.type)return;n.childrens=n.childrens?.filter(t=>t!==e),n.dateModified=r,i({state:{...t,[s]:cloneDeep.cloneDeep(n)}})}}},moveItem:(e,t,l)=>{let s=r().state,n=s[e],d=s[t];if(n&&d&&"section"!==d.type){if("section"===n.type){let t=s.ROOT;if(!t.childrens)return;let r=t.childrens.findIndex(t=>t===e);moveByIndex(t.childrens,r,l??0),i({state:{...s,ROOT:cloneDeep.cloneDeep(t)}})}else{let r=Object.entries(s).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(n&&r){let a=Date.now(),[,c]=r;if("section"===c.type)return;if(c.dateModified=a,t===c.uid&&c.childrens){let t=c.childrens.findIndex(t=>t===e);c.childrens&&t!==l&&(moveByIndex(c.childrens,t,l??0),i({state:{...s,[c.uid]:cloneDeep.cloneDeep(c)}}))}else c.childrens=c.childrens?.filter(t=>t!==e),d&&(d.dateModified=a,d.childrens=d.childrens??[],d.childrens.splice(l??0,0,n.uid),i({state:{...s,[d.uid]:cloneDeep.cloneDeep(d),[c.uid]:cloneDeep.cloneDeep(c)}}))}}}},forceChangeState:e=>{i({state:e,loaded:!0})},initState:e=>{if(Array.isArray(e)){let t=e.map(e=>e.uid),r=e.reduceRight((e,t)=>{let i=normalizeBuilderData.normalizeBuilderData(t);return{...e,...i}},{});i({loaded:!0,state:{ROOT:{...root,childrens:t},...r}})}else{let t=normalizeBuilderData.normalizeBuilderData(e);i({loaded:!0,state:{ROOT:{...root,childrens:[e.uid]},...t}})}},addSection:(e,t)=>{let l=r().state,s=l.ROOT;s.childrens||(s.childrens=[]),s.childrens.splice(t??0,0,e.uid),i({state:{...l,ROOT:cloneDeep.cloneDeep(s)}})},getParents:(e,t)=>{let i=r().state,l=[],s=0,n=e;for(;!t||!(s>=t);){let e=Object.entries(i).find(([,e])=>"section"!==e.type&&e.childrens?.includes(n));if(!e)break;let[,t]=e;if(!t)break;l.push(t),n=t.uid,s++}return l},updateItemName:(e,t)=>{let l=r().state,s=l[e];s&&(s.name=t,i({state:{...l,[e]:cloneDeep.cloneDeep(s)}}))},updateItemAttribute:(e,t,l)=>{if(!l||!["label","customLabel","isShopifyVisibility"].includes(l))return;let s=r().state,n=s[e];if(n){if("section"!==n.type){let e=Date.now();n.dateModified=e}let r={...n,[l]:t};i({state:{...s,[e]:r}})}}})),BuilderPreviewProvider=({children:e,state:t,isThemeSectionEditor:i,lazy:r,...l})=>{let s=r?react.Suspense:react.Fragment,n=react.useMemo(()=>createBuilderPreviewProvider(t,i),[t,i]);return jsxRuntime.jsx(s,{children:jsxRuntime.jsx(BuilderPreviewContext.Provider,{...l,value:n,children:e})})},useBuilderPreviewStore=(e,t)=>{let i=react.useContext(BuilderPreviewContext);if(!i)throw Error("useBuilderPreviewStore must be used within a BuilderPreviewProvider");return zustand.useStore(i,e,t)};exports.BuilderPreviewProvider=BuilderPreviewProvider,exports.useBuilderPreviewStore=useBuilderPreviewStore;
1
+ "use strict";var jsxRuntime=require("react/jsx-runtime"),react=require("react"),zustand=require("zustand"),cloneDeep=require("../helpers/clone-deep.js"),normalizeBuilderData=require("../helpers/normalize-builder-data.js");function moveByIndex(e,t,i){let r=e.splice(t,1)[0];void 0!==r&&e.splice(i,0,r)}function removeByKey(e,t){let i=t[e];i&&(delete t[e],"section"!==i.type&&i.childrens?.map(e=>removeByKey(e,t)))}const BuilderPreviewContext=react.createContext(null),root={uid:"ROOT",tag:"Root",label:"Root",childrens:[]},createBuilderPreviewProvider=(e,t)=>zustand.createStore((i,r)=>({state:e,loaded:!1,isThemeSectionEditor:!!t,dynamicProduct:null,dynamicCollection:null,addItem:e=>{let{position:t,data:l}=e,s=r().state,n=Date.now();if("section"===e.type){if(!Array.isArray(l)){let e=l.uid,r=s.ROOT;r.childrens?r.childrens.splice(t??0,0,e):r.childrens=[e],r.dateModified=n,i({state:{...s,[e]:{uid:e,type:"section",label:l.label},ROOT:cloneDeep.cloneDeep(r)}})}}else{let{id:r,data:l}=e,d=r?s[r]??s.ROOT:s.ROOT;if("section"===d.type)return;if(Array.isArray(l)){let e=l.map(e=>e.uid),r=l.reduceRight((e,t)=>{let i=normalizeBuilderData.normalizeBuilderData(t);return{...e,...i}},{});d.dateModified=n,d.childrens=d.childrens??[],d.childrens.splice(t??0,0,...e),i({state:{...s,...r,[d.uid]:cloneDeep.cloneDeep(d)}})}else{let e=normalizeBuilderData.normalizeBuilderData(l);d.dateModified=n,d.childrens=d.childrens??[],d.childrens.splice(t??0,0,l.uid),i({state:{...s,...e,[d.uid]:cloneDeep.cloneDeep(d)}})}}},changeItemProp:(e,t,l)=>{if(!l||!["setting","style","advanced"].includes(l))return;let s=r().state,n=s[e];if(n?.type!=="section"&&n){let r=Date.now();switch(n.dateModified=r,l){case"setting":i({state:{...s,[e]:{...n,settings:{...n.settings,...t}}}});break;case"style":i({state:{...s,[e]:{...n,styles:{...n.styles,...t}}}});break;case"advanced":i({state:{...s,[e]:{...n,advanced:{...n.advanced,...t}}}})}}},forceChangeItemProp:(e,t,l)=>{if(!l||!["setting","style","advanced"].includes(l))return;let s=r().state,n=s[e];if(n?.type!=="section"&&n){let r=Date.now();switch(n.dateModified=r,l){case"setting":i({state:{...s,[e]:{...n,settings:t}}});break;case"style":i({state:{...s,[e]:{...n,styles:t}}});break;case"advanced":i({state:{...s,[e]:{...n,advanced:t}}})}}},changeItemPropByKey:({id:e,key:t,data:l,group:s})=>{if(!s||!["setting","style","advanced"].includes(s))return;let n=r().state,d=n[e];if(d?.type!=="section"&&d){let r={style:d.styles??{},advanced:d.advanced??{},setting:d.settings??{}};void 0===l?(console.warn("Data is undefined"),delete r[s][t]):r[s][t]=l,i({state:{...n,[e]:{...d,settings:{...r.setting},styles:{...r.style},advanced:{...r.advanced}}}})}},getItem:e=>{let t=r().state[e];return{...t,rawChildrens:t?.childrens?.map(e=>r().state[e])}},removeItem:e=>{if("ROOT"===e)i({state:{ROOT:root}});else{let t=r().state;removeByKey(e,t);let l=Object.entries(t).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(l){let r=Date.now(),[s,n]=l;if("section"===n.type)return;n.childrens=n.childrens?.filter(t=>t!==e),n.dateModified=r,i({state:{...t,[s]:cloneDeep.cloneDeep(n)}})}}},moveItem:(e,t,l)=>{let s=r().state,n=s[e],d=s[t];if(n&&d&&"section"!==d.type){if("section"===n.type){let t=s.ROOT;if(!t.childrens)return;let r=t.childrens.findIndex(t=>t===e);moveByIndex(t.childrens,r,l??0),i({state:{...s,ROOT:cloneDeep.cloneDeep(t)}})}else{let r=Object.entries(s).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(n&&r){let a=Date.now(),[,c]=r;if("section"===c.type)return;if(c.dateModified=a,t===c.uid&&c.childrens){let t=c.childrens.findIndex(t=>t===e);c.childrens&&t!==l&&(moveByIndex(c.childrens,t,l??0),i({state:{...s,[c.uid]:cloneDeep.cloneDeep(c)}}))}else c.childrens=c.childrens?.filter(t=>t!==e),d&&(d.dateModified=a,d.childrens=d.childrens??[],d.childrens.splice(l??0,0,n.uid),i({state:{...s,[d.uid]:cloneDeep.cloneDeep(d),[c.uid]:cloneDeep.cloneDeep(c)}}))}}}},forceChangeState:e=>{i({state:e,loaded:!0})},initState:e=>{if(Array.isArray(e)){let t=e.map(e=>e.uid),r=e.reduceRight((e,t)=>{let i=normalizeBuilderData.normalizeBuilderData(t);return{...e,...i}},{});i({loaded:!0,state:{ROOT:{...root,childrens:t},...r}})}else{let t=normalizeBuilderData.normalizeBuilderData(e);i({loaded:!0,state:{ROOT:{...root,childrens:[e.uid]},...t}})}},addSection:(e,t)=>{let l=r().state,s=l.ROOT;s.childrens||(s.childrens=[]),s.childrens.splice(t??0,0,e.uid),i({state:{...l,ROOT:cloneDeep.cloneDeep(s)}})},getParents:(e,t)=>{let i=r().state,l=[],s=0,n=e;for(;!t||!(s>=t);){let e=Object.entries(i).find(([,e])=>"section"!==e.type&&e.childrens?.includes(n));if(!e)break;let[,t]=e;if(!t)break;l.push(t),n=t.uid,s++}return l},updateItemName:(e,t)=>{let l=r().state,s=l[e];s&&(s.name=t,i({state:{...l,[e]:cloneDeep.cloneDeep(s)}}))},updateItemAttribute:(e,t,l)=>{if(!l||!["label","customLabel","isShopifyVisibility"].includes(l))return;let s=r().state,n=s[e];if(n){if("section"!==n.type){let e=Date.now();n.dateModified=e}let r={...n,[l]:t};i({state:{...s,[e]:r}})}}})),BuilderPreviewProvider=({children:e,state:t,isThemeSectionEditor:i,lazy:r,...l})=>{let s=r?react.Suspense:react.Fragment,n=react.useMemo(()=>createBuilderPreviewProvider(t,i),[t,i]);return jsxRuntime.jsx(s,{children:jsxRuntime.jsx(BuilderPreviewContext.Provider,{...l,value:n,children:e})})},useBuilderPreviewStore=(e,t)=>{let i=react.useContext(BuilderPreviewContext);if(!i)throw Error("useBuilderPreviewStore must be used within a BuilderPreviewProvider");return zustand.useStore(i,e,t)};exports.BuilderPreviewProvider=BuilderPreviewProvider,exports.useBuilderPreviewStore=useBuilderPreviewStore;
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useMemo as t,useContext as i,createContext 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 moveByIndex(e,t,i){let s=e.splice(t,1)[0];void 0!==s&&e.splice(i,0,s)}function removeByKey(e,t){let i=t[e];i&&(delete t[e],"section"!==i.type&&i.childrens?.map(e=>removeByKey(e,t)))}let BuilderPreviewContext=s(null),root={uid:"ROOT",tag:"Root",label:"Root",childrens:[]},createBuilderPreviewProvider=(e,t)=>n((i,s)=>({state:e,loaded:!1,isThemeSectionEditor:!!t,dynamicProduct:null,dynamicCollection:null,addItem:e=>{let{position:t,data:d}=e,r=s().state,l=Date.now();if("section"===e.type){if(!Array.isArray(d)){let e=d.uid,s=r.ROOT;s.childrens?s.childrens.splice(t??0,0,e):s.childrens=[e],s.dateModified=l,i({state:{...r,[e]:{uid:e,type:"section",label:d.label},ROOT:a(s)}})}}else{let{id:s,data:d}=e,n=s?r[s]??r.ROOT:r.ROOT;if("section"===n.type)return;if(Array.isArray(d)){let e=d.map(e=>e.uid),s=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),i({state:{...r,...s,[n.uid]:a(n)}})}else{let e=c(d);n.dateModified=l,n.childrens=n.childrens??[],n.childrens.splice(t??0,0,d.uid),i({state:{...r,...e,[n.uid]:a(n)}})}}},changeItemProp:(e,t,d)=>{if(!d||!["setting","style","advanced"].includes(d))return;let r=s().state,l=r[e];if(l?.type!=="section"&&l){let s=Date.now();switch(l.dateModified=s,d){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,d)=>{if(!d||!["setting","style","advanced"].includes(d))return;let r=s().state,l=r[e];if(l?.type!=="section"&&l){let s=Date.now();switch(l.dateModified=s,d){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:d,group:r})=>{if(!r||!["setting","style","advanced"].includes(r))return;let l=s().state,n=l[e];if(n?.type!=="section"&&n){let s={style:n.styles??{},advanced:n.advanced??{},setting:n.settings??{}};void 0===d?(console.warn("Data is undefined"),delete s[r][t]):s[r][t]=d,i({state:{...l,[e]:{...n,settings:{...s.setting},styles:{...s.style},advanced:{...s.advanced}}}})}},getItem:e=>s().state[e],removeItem:e=>{if("ROOT"===e)i({state:{ROOT:root}});else{let t=s().state;removeByKey(e,t);let d=Object.entries(t).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(d){let s=Date.now(),[r,l]=d;if("section"===l.type)return;l.childrens=l.childrens?.filter(t=>t!==e),l.dateModified=s,i({state:{...t,[r]:a(l)}})}}},moveItem:(e,t,d)=>{let r=s().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 s=t.childrens.findIndex(t=>t===e);moveByIndex(t.childrens,s,d??0),i({state:{...r,ROOT:a(t)}})}else{let s=Object.entries(r).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(l&&s){let c=Date.now(),[,o]=s;if("section"===o.type)return;if(o.dateModified=c,t===o.uid&&o.childrens){let t=o.childrens.findIndex(t=>t===e);o.childrens&&t!==d&&(moveByIndex(o.childrens,t,d??0),i({state:{...r,[o.uid]:a(o)}}))}else o.childrens=o.childrens?.filter(t=>t!==e),n&&(n.dateModified=c,n.childrens=n.childrens??[],n.childrens.splice(d??0,0,l.uid),i({state:{...r,[n.uid]:a(n),[o.uid]:a(o)}}))}}}},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=c(t);return{...e,...i}},{});i({loaded:!0,state:{ROOT:{...root,childrens:t},...s}})}else{let t=c(e);i({loaded:!0,state:{ROOT:{...root,childrens:[e.uid]},...t}})}},addSection:(e,t)=>{let d=s().state,r=d.ROOT;r.childrens||(r.childrens=[]),r.childrens.splice(t??0,0,e.uid),i({state:{...d,ROOT:a(r)}})},getParents:(e,t)=>{let i=s().state,d=[],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;d.push(t),l=t.uid,r++}return d},updateItemName:(e,t)=>{let d=s().state,r=d[e];r&&(r.name=t,i({state:{...d,[e]:a(r)}}))},updateItemAttribute:(e,t,d)=>{if(!d||!["label","customLabel","isShopifyVisibility"].includes(d))return;let r=s().state,l=r[e];if(l){if("section"!==l.type){let e=Date.now();l.dateModified=e}let s={...l,[d]:t};i({state:{...r,[e]:s}})}}})),BuilderPreviewProvider=({children:i,state:s,isThemeSectionEditor:l,lazy:n,...a})=>{let c=n?d:r,o=t(()=>createBuilderPreviewProvider(s,l),[s,l]);return e(c,{children:e(BuilderPreviewContext.Provider,{...a,value:o,children:i})})},useBuilderPreviewStore=(e,t)=>{let s=i(BuilderPreviewContext);if(!s)throw Error("useBuilderPreviewStore must be used within a BuilderPreviewProvider");return l(s,e,t)};export{BuilderPreviewProvider,useBuilderPreviewStore};
1
+ import{jsx as e}from"react/jsx-runtime";import{useMemo as t,useContext as i,createContext as r,Suspense as s,Fragment as d}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 moveByIndex(e,t,i){let r=e.splice(t,1)[0];void 0!==r&&e.splice(i,0,r)}function removeByKey(e,t){let i=t[e];i&&(delete t[e],"section"!==i.type&&i.childrens?.map(e=>removeByKey(e,t)))}let BuilderPreviewContext=r(null),root={uid:"ROOT",tag:"Root",label:"Root",childrens:[]},createBuilderPreviewProvider=(e,t)=>n((i,r)=>({state:e,loaded:!1,isThemeSectionEditor:!!t,dynamicProduct:null,dynamicCollection:null,addItem:e=>{let{position:t,data:s}=e,d=r().state,l=Date.now();if("section"===e.type){if(!Array.isArray(s)){let e=s.uid,r=d.ROOT;r.childrens?r.childrens.splice(t??0,0,e):r.childrens=[e],r.dateModified=l,i({state:{...d,[e]:{uid:e,type:"section",label:s.label},ROOT:a(r)}})}}else{let{id:r,data:s}=e,n=r?d[r]??d.ROOT:d.ROOT;if("section"===n.type)return;if(Array.isArray(s)){let e=s.map(e=>e.uid),r=s.reduceRight((e,t)=>{let i=c(t);return{...e,...i}},{});n.dateModified=l,n.childrens=n.childrens??[],n.childrens.splice(t??0,0,...e),i({state:{...d,...r,[n.uid]:a(n)}})}else{let e=c(s);n.dateModified=l,n.childrens=n.childrens??[],n.childrens.splice(t??0,0,s.uid),i({state:{...d,...e,[n.uid]:a(n)}})}}},changeItemProp:(e,t,s)=>{if(!s||!["setting","style","advanced"].includes(s))return;let d=r().state,l=d[e];if(l?.type!=="section"&&l){let r=Date.now();switch(l.dateModified=r,s){case"setting":i({state:{...d,[e]:{...l,settings:{...l.settings,...t}}}});break;case"style":i({state:{...d,[e]:{...l,styles:{...l.styles,...t}}}});break;case"advanced":i({state:{...d,[e]:{...l,advanced:{...l.advanced,...t}}}})}}},forceChangeItemProp:(e,t,s)=>{if(!s||!["setting","style","advanced"].includes(s))return;let d=r().state,l=d[e];if(l?.type!=="section"&&l){let r=Date.now();switch(l.dateModified=r,s){case"setting":i({state:{...d,[e]:{...l,settings:t}}});break;case"style":i({state:{...d,[e]:{...l,styles:t}}});break;case"advanced":i({state:{...d,[e]:{...l,advanced:t}}})}}},changeItemPropByKey:({id:e,key:t,data:s,group:d})=>{if(!d||!["setting","style","advanced"].includes(d))return;let l=r().state,n=l[e];if(n?.type!=="section"&&n){let r={style:n.styles??{},advanced:n.advanced??{},setting:n.settings??{}};void 0===s?(console.warn("Data is undefined"),delete r[d][t]):r[d][t]=s,i({state:{...l,[e]:{...n,settings:{...r.setting},styles:{...r.style},advanced:{...r.advanced}}}})}},getItem:e=>{let t=r().state[e];return{...t,rawChildrens:t?.childrens?.map(e=>r().state[e])}},removeItem:e=>{if("ROOT"===e)i({state:{ROOT:root}});else{let t=r().state;removeByKey(e,t);let s=Object.entries(t).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(s){let r=Date.now(),[d,l]=s;if("section"===l.type)return;l.childrens=l.childrens?.filter(t=>t!==e),l.dateModified=r,i({state:{...t,[d]:a(l)}})}}},moveItem:(e,t,s)=>{let d=r().state,l=d[e],n=d[t];if(l&&n&&"section"!==n.type){if("section"===l.type){let t=d.ROOT;if(!t.childrens)return;let r=t.childrens.findIndex(t=>t===e);moveByIndex(t.childrens,r,s??0),i({state:{...d,ROOT:a(t)}})}else{let r=Object.entries(d).find(([,t])=>"section"!==t.type&&t.childrens?.includes(e));if(l&&r){let c=Date.now(),[,o]=r;if("section"===o.type)return;if(o.dateModified=c,t===o.uid&&o.childrens){let t=o.childrens.findIndex(t=>t===e);o.childrens&&t!==s&&(moveByIndex(o.childrens,t,s??0),i({state:{...d,[o.uid]:a(o)}}))}else o.childrens=o.childrens?.filter(t=>t!==e),n&&(n.dateModified=c,n.childrens=n.childrens??[],n.childrens.splice(s??0,0,l.uid),i({state:{...d,[n.uid]:a(n),[o.uid]:a(o)}}))}}}},forceChangeState:e=>{i({state:e,loaded:!0})},initState:e=>{if(Array.isArray(e)){let t=e.map(e=>e.uid),r=e.reduceRight((e,t)=>{let i=c(t);return{...e,...i}},{});i({loaded:!0,state:{ROOT:{...root,childrens:t},...r}})}else{let t=c(e);i({loaded:!0,state:{ROOT:{...root,childrens:[e.uid]},...t}})}},addSection:(e,t)=>{let s=r().state,d=s.ROOT;d.childrens||(d.childrens=[]),d.childrens.splice(t??0,0,e.uid),i({state:{...s,ROOT:a(d)}})},getParents:(e,t)=>{let i=r().state,s=[],d=0,l=e;for(;!t||!(d>=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,d++}return s},updateItemName:(e,t)=>{let s=r().state,d=s[e];d&&(d.name=t,i({state:{...s,[e]:a(d)}}))},updateItemAttribute:(e,t,s)=>{if(!s||!["label","customLabel","isShopifyVisibility"].includes(s))return;let d=r().state,l=d[e];if(l){if("section"!==l.type){let e=Date.now();l.dateModified=e}let r={...l,[s]:t};i({state:{...d,[e]:r}})}}})),BuilderPreviewProvider=({children:i,state:r,isThemeSectionEditor:l,lazy:n,...a})=>{let c=n?s:d,o=t(()=>createBuilderPreviewProvider(r,l),[r,l]);return e(c,{children:e(BuilderPreviewContext.Provider,{...a,value:o,children:i})})},useBuilderPreviewStore=(e,t)=>{let r=i(BuilderPreviewContext);if(!r)throw Error("useBuilderPreviewStore must be used within a BuilderPreviewProvider");return l(r,e,t)};export{BuilderPreviewProvider,useBuilderPreviewStore};
@@ -6470,6 +6470,7 @@ type BlockEntity = {
6470
6470
  name?: string;
6471
6471
  dateModified?: string | number;
6472
6472
  childrens?: string[];
6473
+ rawChildrens?: BlockEntity[];
6473
6474
  settings?: Record<string, any>;
6474
6475
  advanced?: Record<string, any>;
6475
6476
  styles?: Record<string, any>;
@@ -7738,7 +7739,12 @@ type SelectProductBundleControlType<T> = SharedControlType<T> & {
7738
7739
  hide?: boolean;
7739
7740
  };
7740
7741
 
7741
- type ControlProp<T> = ProductBundleChildControlType<T> | SelectProductBundleControlType<T> | AngleControlType<T> | CheckboxControlType<T> | ColorPickerControlType<T> | GroupControlType<T> | IconControlType<T> | InputFixContentControlType<T> | InputNumberControlType<T> | InputUnitControlType<T> | InputUnitSpacingControlType<T> | InputUnitWidthControlType<T> | InputControlType<T> | MarginControlType<T> | PaddingControlType<T> | PositionControlType<T> | RadioGroupControlType | RangeControlType<T> | SegmentControlType<T> | SelectControlType<T> | TextareaControlType<T> | ToggleControlType<T> | ImageControlType<T> | ChildrensControlType | GridControlType<T> | FlexControlType<T> | TextEditorControlType<T> | ProductControlType<T> | TypographyControlType<T> | TypographyV2ControlType<T> | MenuControlType<T> | BehaviorStateControlType<T> | PickLinkControlType<T> | BoxShadowControlType<T> | TextShadowControlType<T> | BorderControlType<T> | BorderRadiusControlType<T> | RadiusPresetControlType<T> | SizeControlType<T> | ChildItemType<T> | PickMultiProductControlType<T> | CollectionControlType<T> | BackgroundControlType<T> | VisibilityControlType<T> | SelectVariantControlType | CountdownEvergreenType | Timezone<T> | CustomContentControlType<T> | DateTimePickerControlType | CountdownDailyType | KlaviyoCodes | YotpoLoyaltyCodes | InputWidthControlType<T> | LayoutSegmentControlType<T> | InputSpacing<T> | UniqueIdControlType<T> | PositionSquareControlType<T> | CustomCodeEditor | LayoutControlType<T> | LayoutBannerControlType<T> | SwatchesLinkControlType<T> | VariantSwatchesPresetControlType<T> | VariantSwatchesOnlyDefaultVariantControlType<T> | ProductListControlType<T> | ArticleListControlType<T> | CollectionBannerControlType<T> | Ratio<T> | StickyDisplayControlType<T> | SyncProductPropertiesControlType<T> | StepsGuide<T> | ImageShape<T> | GridArrange<T> | SizeSetting$1<T> | ChildIconType<T> | DropdownInput<T> | Dropdown<T> | AliPickSectionControlType<T> | ParallaxScrollingType<T> | PlayPauseControlType<T> | LayoutCustomSegmentControlType<T> | SneakPeakRange<T> | SneakPeakTypeControlType<T> | BackgroundColorPickerType<T> | ProductInputCurrencyUnitControlType<T> | TypographyPostPurchaseControlType<T> | ProductOffersControlType<T> | DiscountAndShippingFee<T> | SneakPeakControlType<T> | PostPurchaseTextareaControlType<T> | DealControlType<T>;
7742
+ type NotesControlType<T> = SharedControlType<T> & {
7743
+ type: 'notes';
7744
+ value?: string;
7745
+ };
7746
+
7747
+ type ControlProp<T> = ProductBundleChildControlType<T> | SelectProductBundleControlType<T> | AngleControlType<T> | CheckboxControlType<T> | ColorPickerControlType<T> | GroupControlType<T> | IconControlType<T> | InputFixContentControlType<T> | InputNumberControlType<T> | InputUnitControlType<T> | InputUnitSpacingControlType<T> | InputUnitWidthControlType<T> | InputControlType<T> | MarginControlType<T> | PaddingControlType<T> | PositionControlType<T> | RadioGroupControlType | RangeControlType<T> | SegmentControlType<T> | SelectControlType<T> | TextareaControlType<T> | ToggleControlType<T> | ImageControlType<T> | ChildrensControlType | GridControlType<T> | FlexControlType<T> | TextEditorControlType<T> | ProductControlType<T> | TypographyControlType<T> | TypographyV2ControlType<T> | MenuControlType<T> | BehaviorStateControlType<T> | PickLinkControlType<T> | BoxShadowControlType<T> | TextShadowControlType<T> | BorderControlType<T> | BorderRadiusControlType<T> | RadiusPresetControlType<T> | SizeControlType<T> | ChildItemType<T> | PickMultiProductControlType<T> | CollectionControlType<T> | BackgroundControlType<T> | VisibilityControlType<T> | SelectVariantControlType | CountdownEvergreenType | Timezone<T> | CustomContentControlType<T> | DateTimePickerControlType | CountdownDailyType | KlaviyoCodes | YotpoLoyaltyCodes | InputWidthControlType<T> | LayoutSegmentControlType<T> | InputSpacing<T> | UniqueIdControlType<T> | PositionSquareControlType<T> | CustomCodeEditor | LayoutControlType<T> | LayoutBannerControlType<T> | SwatchesLinkControlType<T> | VariantSwatchesPresetControlType<T> | VariantSwatchesOnlyDefaultVariantControlType<T> | ProductListControlType<T> | ArticleListControlType<T> | CollectionBannerControlType<T> | Ratio<T> | StickyDisplayControlType<T> | SyncProductPropertiesControlType<T> | StepsGuide<T> | ImageShape<T> | GridArrange<T> | SizeSetting$1<T> | ChildIconType<T> | DropdownInput<T> | Dropdown<T> | AliPickSectionControlType<T> | ParallaxScrollingType<T> | PlayPauseControlType<T> | LayoutCustomSegmentControlType<T> | SneakPeakRange<T> | SneakPeakTypeControlType<T> | BackgroundColorPickerType<T> | ProductInputCurrencyUnitControlType<T> | TypographyPostPurchaseControlType<T> | ProductOffersControlType<T> | DiscountAndShippingFee<T> | SneakPeakControlType<T> | PostPurchaseTextareaControlType<T> | DealControlType<T> | NotesControlType<T>;
7742
7748
  type ControlTriggerAction = {
7743
7749
  controlId: string;
7744
7750
  newValue?: any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/core",
3
- "version": "2.0.0-dev.878",
3
+ "version": "2.0.0-dev.879",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",