efficient-easel 25.0.0 → 25.1.0
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/{chunk-ZYOQXBJF.js → chunk-6WTWYHC2.js} +3 -3
- package/dist/{chunk-53ME3GAI.js → chunk-BBD3FLU3.js} +14 -14
- package/dist/{chunk-GEPSJJWW.js → chunk-FEP6XMNX.js} +1 -1
- package/dist/{chunk-4Y3TK65H.js → chunk-ITIVCER6.js} +1 -1
- package/dist/{chunk-KTV7ORWF.js → chunk-IW5QXREH.js} +38 -38
- package/dist/chunk-JQQFB7EZ.js +1 -0
- package/dist/{chunk-YFHKE54W.js → chunk-KF3LT7J2.js} +1 -1
- package/dist/chunk-KVIEUWTX.js +11 -0
- package/dist/{chunk-4OMAA45Q.js → chunk-LUHGBFOD.js} +5 -5
- package/dist/{chunk-MBEUSPIN.js → chunk-SQTVXE5D.js} +4 -4
- package/dist/{chunk-FYV6GZXP.js → chunk-UCZQWQNS.js} +1 -1
- package/dist/chunk-UDWXBS46.js +1 -0
- package/dist/{chunk-M4THI4OO.js → chunk-XLC7HWW3.js} +1 -1
- package/dist/{chunk-VIUES5R6.js → chunk-XTDOSL2M.js} +8 -8
- package/dist/drag/index.js +1 -1
- package/dist/easel/index.js +1 -1
- package/dist/screen/components/AddBlockRow.js +1 -1
- package/dist/screen/components/AddSidePanel.js +1 -1
- package/dist/screen/components/NodeContextMenu.js +1 -1
- package/dist/screen/components/ScreenChrome.js +1 -1
- package/dist/screen/components/ScreenMount.js +1 -1
- package/dist/screen/components/ScreenStoreProvider.js +1 -1
- package/dist/screen/components/SectionScreenShell.js +17 -17
- package/dist/screen/components/usePartBridge.js +1 -1
- package/dist/screen/index.js +1 -1
- package/dist/screen/lib/document/block-set-host.js +1 -1
- package/dist/screen/lib/document/box-fields.d.ts +91 -3
- package/dist/screen/lib/document/box-fields.js +1 -1
- package/dist/screen/lib/document/use-section-ops.js +1 -1
- package/dist/screen/lib/key-scope.js +1 -1
- package/dist/screen/lib/screen-parts.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-LUG22U5L.js +0 -1
- package/dist/chunk-SSDKT4AY.js +0 -9
- package/dist/chunk-ZLOMH2PD.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useScreenBlockRules as e}from"./chunk-
|
|
1
|
+
import{useScreenBlockRules as e}from"./chunk-LUHGBFOD.js";import{newNodeId as t,ROOT_ZONE as n}from"./chunk-TCAAOYQY.js";import{useEasel as o,useEaselApi as r}from"./chunk-BBD3FLU3.js";import{useMemo as s}from"react";function i(i={}){const{dispatch:p}=o(e=>e),d=r(),c=!0===i.readOnly,a=e().resolveOnInsert,l=!0===(i.resolveOnInsert??a),m=!0===i.foldIntoHistory;return s(()=>{const e=m?e=>p({...e,recordHistory:!1}):p,o=(n,o,r)=>{const s=t(o);return c||e({type:"insert",componentType:o,destinationZone:n,destinationIndex:r,id:s}),s},r=e=>(l&&!c&&d.resolveNode(e,{trigger:"insert"}),e),s=(t,n,o)=>{c||e({type:"replace",destinationZone:t,destinationIndex:n,data:o})},i=(e,t,n)=>r(o(e,t,n));return{insertComponent:i,insertSection:(e,t)=>i(n,e,t),replaceComponent:s,seedChild:(e,t,n,i)=>{const p=o(e,n,t);s(e,t,{type:n,props:{id:p,...i}}),r(p)},insertNode:(e,t,n)=>{const i=o(e,n.type,t);return s(e,t,{type:n.type,props:{...n.props,id:i}}),r(i)},removeComponent:(t,n)=>{c||e({type:"remove",index:n,zone:t})},reorderComponent:(t,n,o)=>{c||e({type:"reorder",sourceIndex:n,destinationIndex:o,destinationZone:t})},duplicateComponent:(t,n)=>{c||e({type:"duplicate",sourceIndex:n,sourceZone:t})},select:e=>p({type:"setUi",ui:{itemSelector:e}}),setDocument:t=>{c||e({type:"setData",data:t})},commitDocument:(t,n)=>{c||(m?d.batch(()=>{e({type:"setData",data:t}),void 0!==n&&("slot"===n?.kind?d.selectSlot({parentId:n.parentId,slot:n.slot}):d.select(n?n.id:null))}):d.run({data:t,select:n}))}}},[p,c,l,d,m])}export{i as useSectionOps};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{buildPaletteSections as e,pinnedSection as t,categoryLabel as n}from"./chunk-GDO4QJ4G.js";import{blockTypesIn as o}from"./chunk-IZGFJWH4.js";import{sectionTemplatesOf as r}from"./chunk-N7E6264U.js";import{sharedSectionsOf as l}from"./chunk-N3MJOHAG.js";import{SidePanelHead as i,PanelModeExit as s}from"./chunk-SBVIW3KJ.js";import{blockRuns as c}from"./chunk-RUQOIQWI.js";import{useScreenBlockLook as a,useScreenBlockRules as p,useScreenPinned as d}from"./chunk-
|
|
2
|
-
return
|
|
3
|
-
/* @__PURE__ */
|
|
4
|
-
/* @__PURE__ */
|
|
5
|
-
return x
|
|
6
|
-
/* @__PURE__ */
|
|
7
|
-
/* @__PURE__ */
|
|
8
|
-
/* @__PURE__ */
|
|
1
|
+
import{buildPaletteSections as e,pinnedSection as t,categoryLabel as n}from"./chunk-GDO4QJ4G.js";import{blockTypesIn as o}from"./chunk-IZGFJWH4.js";import{sectionTemplatesOf as r}from"./chunk-N7E6264U.js";import{sharedSectionsOf as l}from"./chunk-N3MJOHAG.js";import{SidePanelHead as i,PanelModeExit as s}from"./chunk-SBVIW3KJ.js";import{blockRuns as c}from"./chunk-RUQOIQWI.js";import{useScreenBlockLook as a,useScreenBlockRules as p,useScreenPinned as d}from"./chunk-LUHGBFOD.js";import{useEaselSession as m}from"./chunk-YM4UEGBV.js";import{DEFAULT_SCREEN_WORDS as f}from"./chunk-S6YOIRXQ.js";import{useEasel as u}from"./chunk-BBD3FLU3.js";import{easelMenuEntries as y}from"./chunk-FIVU2COQ.js";import{useWords as h}from"./chunk-MFIRYGHW.js";import{AddPanel as k}from"./chunk-SQTVXE5D.js";import{DEFAULT_DRAG_WORDS as g}from"./chunk-TQ5Y6S2X.js";import{useState as b,useEffect as v,useMemo as j,useRef as w}from"react";import{SharedIcon as O,AddIcon as C}from"efficient-shell/icons/efficient";import{ContextMenu as I,toast as F,Dialog as $,Button as B}from"efficient-shell/ui";import{jsx as E,jsxs as S,Fragment as x}from"react/jsx-runtime";function D({name:e,pages:t,onDelete:n,onCancel:o}){const r=h("screen",f).shared,[l,i]=b(!1),s=w(null);/* @__PURE__ */
|
|
2
|
+
return E($,{open:!0,role:"alertdialog",size:"sm",title:r.deleteTitle({name:e}),onClose:o,initialFocus:s,footer:/* @__PURE__ */S(x,{children:[
|
|
3
|
+
/* @__PURE__ */E(B,{ref:s,variant:"secondary",onClick:o,children:r.cancel}),
|
|
4
|
+
/* @__PURE__ */E(B,{variant:"danger",loading:l,onClick:()=>{(async()=>{i(!0);try{await n()}finally{i(!1)}})()},children:r.deleteShared})]}),children:r.deleteMessage({count:t})})}var G=e=>`section:${e}`,Q=e=>`block:${e}`,T=e=>`template:${e}`,H=e=>`shared:${e}`,L=e=>`preset:${e}`;function M({at:w,placeBlocks:$,canTake:B,onPick:M,itemFor:U,session:W,siteWide:z,onClose:A,onHide:J,readOnly:N}){const R=u(e=>e.config),V=a(),{labelAtLevel:Y,categoryLabel:X,firstSection:P,Icon:_,Thumbnail:K}=V,{blockIsOffered:Z,canAddTo:q}=p(),ee=h("screen",f).add,te=h("drag",g).add,ne=m(),[oe,re]=b([]);v(()=>{let e=!1;const t=e=>Z(e,ne);return r(ne).list().then(n=>{if(e)return;const r=R.components;re(n.filter(e=>e.node?.type&&r[e.node.type]&&o(e.node).every(t)))}).catch(()=>{}),()=>{e=!0}},[R,ne]);const le=d().shared,ie=h("screen",f).shared,[se,ce]=b([]),[ae,pe]=b(0);v(()=>{if(!le)return;let e=!1;const t=e=>Z(e,ne);return l(ne).list().then(n=>{if(e)return;const r=R.components;ce(n.filter(e=>e.node?.type&&r[e.node.type]&&o(e.node).every(t)))}).catch(()=>{}),()=>{e=!0}},[R,ne,ae]);const[de,me]=b(null),[fe,ue]=b(null),ye=j(()=>e(R,V),[R]),he=e=>Y(e,"section",R.components[e]?.label??e),ke=e=>({type:e.preset?L(e.preset.key):G(e.type),label:e.name,cover:/* @__PURE__ */E(K,{type:e.type}),title:e.desc?`${e.name} — ${e.desc}`:ee.tile({name:e.name}),keywords:[e.alias??"",e.desc,e.type,e.catLabel].filter(Boolean)}),ge=e=>{const t=e.indexOf(":"),n=e.slice(0,t),o=e.slice(t+1);if("section"===n)return{kind:"section",type:o};if("block"===n)return{kind:"block",type:o};if("template"===n){const e=oe.find(e=>e.id===o);return e?{kind:"template",template:e}:null}if("shared"===n){const e=se.find(e=>e.id===o);return e?{kind:"shared",section:e}:null}if("preset"===n){const e=ye.find(e=>e.preset?.key===o)?.preset;return e?{kind:"preset",preset:e}:null}return null},be=e=>/* @__PURE__ */E("span",{className:"es-add-glyph-cover",children:/* @__PURE__ */E(_,{type:e,size:26})}),ve=j(()=>{const e=t(ye,P),o=/* @__PURE__ */new Map,r=e=>{e.retired||o.has(e.type)||!Z(e.type,ne)||o.set(e.type,e)};for(const t of e?[e]:ye.filter(e=>!e.preset)){const e=q(t.type)?.choices??[];e.forEach(r),e.forEach(e=>q(e.type,1)?.choices?.forEach(r))}$?.forEach(r);const l=new Set(ye.filter(e=>!e.preset).map(e=>e.type)),i=[...o.values()].filter(e=>!l.has(e.type)),s=e=>({type:Q(e.type),label:e.label,cover:be(e.type),title:ee.tile({name:e.label}),keywords:[e.group??"",e.type].filter(Boolean)}),a=e=>!e.preset&&o.has(e.type)?{...ke(e),cover:be(e.type)}:ke(e),p=[];se.length>0&&p.push({key:"shared",title:ie.group,tiles:se.map(e=>({type:H(e.id),label:e.title,cover:/* @__PURE__ */E(K,{type:e.node.type}),mark:/* @__PURE__ */E(O,{size:12}),title:ie.onPages({count:e.used_on.length}),keywords:[he(e.node.type),e.node.type]}))}),oe.length>0&&p.push({key:"templates",title:ee.templates,tiles:oe.map(e=>({type:T(e.id),label:e.name,cover:/* @__PURE__ */E(K,{type:e.node.type}),keywords:[he(e.node.type),e.node.type]}))});const d=i.filter(e=>!e.group);let m=!1;for(const t of Object.keys(R.categories??{})){const o=ye.filter(e=>e.cat===t);if(0===o.length)continue;const r=e&&o.some(t=>t.type===e.type)?e:null,l=(r?[r,...o.filter(e=>e.type!==r.type)]:o).map(a);r&&!m&&(l.splice(1,0,...d.map(s)),m=!0),p.push({key:`category:${t}`,title:n(R,t,X),tiles:l})}const f=p.find(e=>e.key?.startsWith("category:"));if(!m&&f&&d.length>0&&(f.tiles=[...f.tiles,...d.map(s)],m=!0),c(i.filter(e=>e.group||!m)).forEach((e,t)=>{p.push({key:`blocks:${t}`,title:e.group??"",tiles:e.items.map(s)})}),!B)return p;const u=p.map(e=>({...e,tiles:e.tiles.map(e=>{const t=ge(e.type),n=t?B(t):null;return n?{...e,disabled:!0,disabledReason:n}:e})})),y=e=>e.tiles.some(e=>!e.disabled);return[...u.filter(y),...u.filter(e=>!y(e))]},[oe,se,ie,ye,R,ee,B,$,ne]);/* @__PURE__ */
|
|
5
|
+
return S(x,{children:[
|
|
6
|
+
/* @__PURE__ */E(i,{icon:/* @__PURE__ */E(C,{size:15}),title:ee.title,context:ee.contextAll,actions:/* @__PURE__ */E(s,{label:ee.done,description:ee.doneDescription,onClick:A}),onHide:J}),
|
|
7
|
+
/* @__PURE__ */S("div",{className:"sf-addside sf-scroll",children:[
|
|
8
|
+
/* @__PURE__ */E(k,{groups:ve,session:W,itemFor:e=>U(ge(e)??{kind:"section",type:e}),onInsert:M?e=>{const t=ge(e);t&&M(t)}:void 0,onTileMenu:(e,t)=>{const n=ge(e);return"shared"===n?.kind&&!N&&(me({section:n.section,...t}),!0)},at:w,hint:ee.hint,searchLabel:ee.search,readOnly:N,words:te}),z??null]}),de?/* @__PURE__ */E(I,{at:{x:de.x,y:de.y},owner:de.owner,onClose:()=>me(null),"aria-label":de.section.title,items:y([{label:ie.deleteShared,danger:!0,onClick:()=>{ue(de.section),me(null)}}])}):null,fe?/* @__PURE__ */E(D,{name:fe.title,pages:fe.used_on.length,onDelete:()=>(async e=>{try{await l(ne).remove(e.id)}catch{return void F.error(ie.deleteFailed)}ue(null),le?.removed?.(e),ce(t=>t.filter(t=>t.id!==e.id)),pe(e=>e+1)})(fe),onCancel:()=>ue(null)}):null]})}export{M as AddSidePanel,Q as blockKey,L as presetKey,G as sectionKey,H as sharedKey,T as templateKey};
|
package/dist/drag/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{AddPanel,CanvasDragLayer,CanvasInsert,EMPTY_MEASURE,HANDLE_GRACE_MS,canvasTarget,contains,gapInZone,gapLine,insertSeams,measureCanvas,pickSource,seamsBetween,sourcesAt}from"../chunk-
|
|
1
|
+
export{AddPanel,CanvasDragLayer,CanvasInsert,EMPTY_MEASURE,HANDLE_GRACE_MS,canvasTarget,contains,gapInZone,gapLine,insertSeams,measureCanvas,pickSource,seamsBetween,sourcesAt}from"../chunk-SQTVXE5D.js";import"../chunk-TQ5Y6S2X.js";export{AUTO_SCROLL_EDGE,AUTO_SCROLL_MAX_SPEED,autoScrollDelta,autoScrollSpeed,createDragSession,dropEffectFor,dropOnRow,frameScrollBox,gapToMoveIndex,isNoOpDrop,scrollBoxOf,scrollParent,startAutoScroll,stepGap,useTreeDrag}from"../chunk-3XECMGXX.js";import"../chunk-P2VEMZH5.js";import"../chunk-TOKMFZPB.js";import"../chunk-FR7EEKFF.js";import"../chunk-7UFKEX72.js";import"../chunk-EUFDQ4KL.js";import"../chunk-KXM6YRG2.js";
|
package/dist/easel/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{CHROME_ATTR,CanvasChromeContext,CanvasFrame,CanvasPartsContext,CanvasPassThroughContext,CanvasSharedContext,DEFAULT_UI,EaselCanvas,EaselProvider,EditDocument,bindUndoKeys,createEasel,createUseEasel,partHasOwnBox,recordsByDefault,reduce,uiView,useEasel,useEaselApi,useEaselNodeOps,useRootFields,useSelectedFields,useSelectedHost,validSelection}from"../chunk-
|
|
1
|
+
export{CHROME_ATTR,CanvasChromeContext,CanvasFrame,CanvasPartsContext,CanvasPassThroughContext,CanvasSharedContext,DEFAULT_UI,EaselCanvas,EaselProvider,EditDocument,bindUndoKeys,createEasel,createUseEasel,partHasOwnBox,recordsByDefault,reduce,uiView,useEasel,useEaselApi,useEaselNodeOps,useRootFields,useSelectedFields,useSelectedHost,validSelection}from"../chunk-BBD3FLU3.js";export{repeatCopyAt}from"../chunk-JQQFB7EZ.js";import"../chunk-TBY3DFKS.js";import"../chunk-K53PQAMP.js";import"../chunk-QTHQPJWA.js";import"../chunk-HZSZT3BE.js";import"../chunk-PMRN5Z3T.js";import"../chunk-MFIRYGHW.js";import"../chunk-TOKMFZPB.js";import"../chunk-FR7EEKFF.js";import"../chunk-7UFKEX72.js";import"../chunk-EUFDQ4KL.js";import"../chunk-KXM6YRG2.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{AddBlockRow as default}from"../../chunk-
|
|
1
|
+
export{AddBlockRow as default}from"../../chunk-ITIVCER6.js";import"../../chunk-RUQOIQWI.js";import"../../chunk-LUHGBFOD.js";import"../../chunk-NCXYC7WI.js";import"../../chunk-LX23TCTP.js";import"../../chunk-S6YOIRXQ.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-BBD3FLU3.js";import"../../chunk-JQQFB7EZ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-U3LTJSBU.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-YCSZAP7T.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-K53PQAMP.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-QTHQPJWA.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-PMRN5Z3T.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-MIX7EGRG.js";import"../../chunk-DX3VILZ3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-3XECMGXX.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-TOKMFZPB.js";import"../../chunk-FR7EEKFF.js";import"../../chunk-7UFKEX72.js";import"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{blockKey,AddSidePanel as default,presetKey,sectionKey,sharedKey,templateKey}from"../../chunk-
|
|
1
|
+
export{blockKey,AddSidePanel as default,presetKey,sectionKey,sharedKey,templateKey}from"../../chunk-XTDOSL2M.js";import"../../chunk-GDO4QJ4G.js";import"../../chunk-IZGFJWH4.js";import"../../chunk-N7E6264U.js";import"../../chunk-N3MJOHAG.js";import"../../chunk-SBVIW3KJ.js";import"../../chunk-UMDQ6CLQ.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-RUQOIQWI.js";import"../../chunk-LUHGBFOD.js";import"../../chunk-NCXYC7WI.js";import"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";import"../../chunk-LX23TCTP.js";import"../../chunk-S6YOIRXQ.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-BBD3FLU3.js";import"../../chunk-JQQFB7EZ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-U3LTJSBU.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-YCSZAP7T.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-K53PQAMP.js";import"../../chunk-ZKY45F5G.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-QTHQPJWA.js";import"../../chunk-VBEVZZTV.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-AJSDWWJW.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-YYD257TD.js";import"../../chunk-RE4LP46F.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-PMRN5Z3T.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-MIX7EGRG.js";import"../../chunk-DX3VILZ3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-SQTVXE5D.js";import"../../chunk-TQ5Y6S2X.js";import"../../chunk-3XECMGXX.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-TOKMFZPB.js";import"../../chunk-FR7EEKFF.js";import"../../chunk-7UFKEX72.js";import"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{EASEL_NODE_CLIPBOARD,ancestorChain,nodeClipboardOf,nodeClipboardRules,nodeMenuItems,nodeShortcut,pageMenuItems,pastePlace,runNodeShortcut,textMenuItems,useNodeClipboard,useNodeContextMenu}from"../../chunk-
|
|
1
|
+
export{EASEL_NODE_CLIPBOARD,ancestorChain,nodeClipboardOf,nodeClipboardRules,nodeMenuItems,nodeShortcut,pageMenuItems,pastePlace,runNodeShortcut,textMenuItems,useNodeClipboard,useNodeContextMenu}from"../../chunk-FEP6XMNX.js";import"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";import"../../chunk-LX23TCTP.js";import"../../chunk-S6YOIRXQ.js";import"../../chunk-CWELHADJ.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-JQQFB7EZ.js";import"../../chunk-ZKY45F5G.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-P5VYGWYO.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-QTHQPJWA.js";import"../../chunk-TOKMFZPB.js";import"../../chunk-FR7EEKFF.js";import"../../chunk-7UFKEX72.js";import"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{ScreenChrome as default}from"../../chunk-
|
|
1
|
+
export{ScreenChrome as default}from"../../chunk-IW5QXREH.js";import"../../chunk-UMBNBCL4.js";import"../../chunk-OXZDSOZV.js";import"../../chunk-7OCEPOEJ.js";import"../../chunk-H6BER2EU.js";import"../../chunk-3QB2ZQXK.js";import"../../chunk-5XL2RXFU.js";import"../../chunk-OXOUGEAT.js";import"../../chunk-22I55W37.js";import"../../chunk-LUOY3A3Q.js";import"../../chunk-UCZQWQNS.js";import"../../chunk-KCBEE2MC.js";import"../../chunk-6EDVZBUO.js";import"../../chunk-UDWXBS46.js";import"../../chunk-XLC7HWW3.js";import"../../chunk-62UGN7VM.js";import"../../chunk-PVBDKBJB.js";import"../../chunk-RKTF5XLP.js";import"../../chunk-ERB6FAZT.js";import"../../chunk-QZJKWKGH.js";import"../../chunk-ERR437B5.js";import"../../chunk-JIP5JNRB.js";import"../../chunk-GR3XRILS.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-6ATIYLUL.js";import"../../chunk-KO47WAWR.js";import"../../chunk-NQW6XCAY.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-5545A3PC.js";import"../../chunk-XTDOSL2M.js";import"../../chunk-GDO4QJ4G.js";import"../../chunk-IZGFJWH4.js";import"../../chunk-N7E6264U.js";import"../../chunk-N3MJOHAG.js";import"../../chunk-SBVIW3KJ.js";import"../../chunk-UMDQ6CLQ.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-RUQOIQWI.js";import"../../chunk-LUHGBFOD.js";import"../../chunk-T2RINM7R.js";import"../../chunk-NCXYC7WI.js";import"../../chunk-FEP6XMNX.js";import"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";import"../../chunk-LX23TCTP.js";import"../../chunk-XFYFKITX.js";import"../../chunk-S6YOIRXQ.js";import"../../chunk-CWELHADJ.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-AJ2SUSET.js";import"../../chunk-5NHQ452C.js";import"../../chunk-6UAEFOJ4.js";import"../../chunk-ANPOR6EY.js";import"../../chunk-R4AUZVA3.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-BBD3FLU3.js";import"../../chunk-JQQFB7EZ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-U3LTJSBU.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-YCSZAP7T.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-K53PQAMP.js";import"../../chunk-ZKY45F5G.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-P5VYGWYO.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-QTHQPJWA.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-VBEVZZTV.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-AJSDWWJW.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-YYD257TD.js";import"../../chunk-RE4LP46F.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-PMRN5Z3T.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-MIX7EGRG.js";import"../../chunk-DX3VILZ3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-SQTVXE5D.js";import"../../chunk-TQ5Y6S2X.js";import"../../chunk-3XECMGXX.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-TOKMFZPB.js";import"../../chunk-FR7EEKFF.js";import"../../chunk-7UFKEX72.js";import"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";import"../../chunk-BSPCSC45.js";import"../../chunk-467WWV4I.js";import"../../chunk-TIAWIOGD.js";import"../../chunk-MGVI67QV.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{DocumentScreen,ScreenMount as default}from"../../chunk-
|
|
1
|
+
export{DocumentScreen,ScreenMount as default}from"../../chunk-6WTWYHC2.js";import"../../chunk-GXQCZJOP.js";import"../../chunk-KF3LT7J2.js";import"../../chunk-IW5QXREH.js";import"../../chunk-UMBNBCL4.js";import"../../chunk-OXZDSOZV.js";import"../../chunk-7OCEPOEJ.js";import"../../chunk-H6BER2EU.js";import"../../chunk-3QB2ZQXK.js";import"../../chunk-5XL2RXFU.js";import"../../chunk-OXOUGEAT.js";import"../../chunk-22I55W37.js";import"../../chunk-LUOY3A3Q.js";import"../../chunk-UCZQWQNS.js";import"../../chunk-KCBEE2MC.js";import"../../chunk-6EDVZBUO.js";import"../../chunk-UDWXBS46.js";import"../../chunk-XLC7HWW3.js";import"../../chunk-62UGN7VM.js";import"../../chunk-PVBDKBJB.js";import"../../chunk-RKTF5XLP.js";import"../../chunk-ERB6FAZT.js";import"../../chunk-QZJKWKGH.js";import"../../chunk-ERR437B5.js";import"../../chunk-JIP5JNRB.js";import"../../chunk-GR3XRILS.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-6ATIYLUL.js";import"../../chunk-KO47WAWR.js";import"../../chunk-NQW6XCAY.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-5545A3PC.js";import"../../chunk-XTDOSL2M.js";import"../../chunk-GDO4QJ4G.js";import"../../chunk-IZGFJWH4.js";import"../../chunk-N7E6264U.js";import"../../chunk-N3MJOHAG.js";import"../../chunk-SBVIW3KJ.js";import"../../chunk-UMDQ6CLQ.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-RUQOIQWI.js";import"../../chunk-LUHGBFOD.js";import"../../chunk-T2RINM7R.js";import"../../chunk-NCXYC7WI.js";import"../../chunk-FEP6XMNX.js";import"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";import"../../chunk-LX23TCTP.js";import"../../chunk-XFYFKITX.js";import"../../chunk-S6YOIRXQ.js";import"../../chunk-CWELHADJ.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-AJ2SUSET.js";import"../../chunk-5NHQ452C.js";import"../../chunk-6UAEFOJ4.js";import"../../chunk-ANPOR6EY.js";import"../../chunk-R4AUZVA3.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-BBD3FLU3.js";import"../../chunk-JQQFB7EZ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-U3LTJSBU.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-YCSZAP7T.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-K53PQAMP.js";import"../../chunk-ZKY45F5G.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-P5VYGWYO.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-QTHQPJWA.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-VBEVZZTV.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-AJSDWWJW.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-YYD257TD.js";import"../../chunk-RE4LP46F.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-PMRN5Z3T.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-MIX7EGRG.js";import"../../chunk-DX3VILZ3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-SQTVXE5D.js";import"../../chunk-TQ5Y6S2X.js";import"../../chunk-3XECMGXX.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-TOKMFZPB.js";import"../../chunk-FR7EEKFF.js";import"../../chunk-7UFKEX72.js";import"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";import"../../chunk-BSPCSC45.js";import"../../chunk-467WWV4I.js";import"../../chunk-TIAWIOGD.js";import"../../chunk-MGVI67QV.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{ScreenStoreProvider as default}from"../../chunk-
|
|
1
|
+
export{ScreenStoreProvider as default}from"../../chunk-KF3LT7J2.js";import"../../chunk-LUHGBFOD.js";import"../../chunk-NCXYC7WI.js";import"../../chunk-LX23TCTP.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-BBD3FLU3.js";import"../../chunk-JQQFB7EZ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-U3LTJSBU.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-YCSZAP7T.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-K53PQAMP.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-QTHQPJWA.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-PMRN5Z3T.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-MIX7EGRG.js";import"../../chunk-DX3VILZ3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-3XECMGXX.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-TOKMFZPB.js";import"../../chunk-FR7EEKFF.js";import"../../chunk-7UFKEX72.js";import"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import{AddBlockRow as e}from"../../chunk-
|
|
2
|
-
return
|
|
3
|
-
return V
|
|
4
|
-
/* @__PURE__ */
|
|
5
|
-
return
|
|
6
|
-
/* @__PURE__ */
|
|
7
|
-
/* @__PURE__ */
|
|
8
|
-
/* @__PURE__ */
|
|
9
|
-
/* @__PURE__ */
|
|
10
|
-
/* @__PURE__ */
|
|
11
|
-
return V
|
|
12
|
-
/* @__PURE__ */
|
|
13
|
-
/* @__PURE__ */
|
|
14
|
-
/* @__PURE__ */
|
|
15
|
-
/* @__PURE__ */
|
|
16
|
-
/* @__PURE__ */
|
|
17
|
-
/* @__PURE__ */
|
|
1
|
+
import{AddBlockRow as e}from"../../chunk-ITIVCER6.js";import{scrollPreviewToSection as n,gotoPreviewSlide as o}from"../../chunk-LUOY3A3Q.js";import{useEaselUndoKeys as r}from"../../chunk-UCZQWQNS.js";import{SlotChildActionsProvider as t}from"../../chunk-KCBEE2MC.js";import{DEFAULT_PANEL_W as s}from"../../chunk-6EDVZBUO.js";import{usePartBridge as i}from"../../chunk-UDWXBS46.js";import{useSectionOps as c}from"../../chunk-XLC7HWW3.js";import{useScreenDocument as p}from"../../chunk-ERB6FAZT.js";import"../../chunk-QZJKWKGH.js";import"../../chunk-ERR437B5.js";import"../../chunk-JIP5JNRB.js";import"../../chunk-GR3XRILS.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-6ATIYLUL.js";import"../../chunk-KO47WAWR.js";import"../../chunk-NQW6XCAY.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-RUQOIQWI.js";import{SELECTION_MODE as l,useScreenPinned as m,useScreenCanvasFrame as d,useScreenInspectorPanel as u,useScreenPickFollowsSelection as a,sameInspectorMode as h,useStandaloneScreenBridges as k,useScreenBlockLook as j,useScreenBlockRules as f,isSelectionMode as S,shownChildSlotsOf as N}from"../../chunk-LUHGBFOD.js";import{MediaPopup as y}from"../../chunk-T2RINM7R.js";import"../../chunk-NCXYC7WI.js";import"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";import"../../chunk-LX23TCTP.js";import{DEFAULT_SCREEN_WORDS as C}from"../../chunk-S6YOIRXQ.js";import"../../chunk-AJ2SUSET.js";import{slotChildRowName as E}from"../../chunk-5NHQ452C.js";import"../../chunk-6UAEFOJ4.js";import"../../chunk-ANPOR6EY.js";import"../../chunk-R4AUZVA3.js";import{slotFieldsOf as A,nestsInTree as R}from"../../chunk-TCAAOYQY.js";import{useEasel as x}from"../../chunk-BBD3FLU3.js";import"../../chunk-JQQFB7EZ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-U3LTJSBU.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-YCSZAP7T.js";import"../../chunk-ZEH6QLBH.js";import{LayersTree as B,Subtree as F,TreeRow as Q,TreeRowAction as P,TreeSeam as T}from"../../chunk-WHS6Y55E.js";import"../../chunk-FM6JO4WF.js";import{DEFAULT_TREE_WORDS as W}from"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-K53PQAMP.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-QTHQPJWA.js";import"../../chunk-NDRZP6YR.js";import{DEFAULT_SAVE_WORDS as O,saveIndicator as g}from"../../chunk-H6DDIBQ4.js";import{SaveState as I,panelWidthVars as Y}from"../../chunk-VBEVZZTV.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-AJSDWWJW.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-YYD257TD.js";import"../../chunk-RE4LP46F.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-PMRN5Z3T.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-MIX7EGRG.js";import"../../chunk-DX3VILZ3.js";import"../../chunk-JACEEVVF.js";import{useWords as v}from"../../chunk-MFIRYGHW.js";import"../../chunk-SQTVXE5D.js";import"../../chunk-TQ5Y6S2X.js";import{useTreeDrag as D}from"../../chunk-3XECMGXX.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-TOKMFZPB.js";import"../../chunk-FR7EEKFF.js";import"../../chunk-7UFKEX72.js";import{zoneKey as b,parseZoneKey as z}from"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";import"../../chunk-467WWV4I.js";import"../../chunk-TIAWIOGD.js";import"../../chunk-MGVI67QV.js";import{useState as M,useRef as X,useEffect as w,useCallback as U,Fragment as V}from"react";import{Tooltip as Z}from"efficient-shell/ui";import{TrashIcon as L}from"efficient-shell/icons/efficient";import{jsxs as H,jsx as J,Fragment as K}from"react/jsx-runtime";var G=e=>n=>{n.target.closest("button, input")||e()},$={rowClick:G};function q(){const{saveState:q,readOnly:_,readOnlyReason:ee=null}=p(),ne=c(),{appState:oe,selectedItem:re,config:te}=x(e=>e),[se,ie]=M(l),ce=v("screen",C),pe=v("tree",W),le=v("save",O),{first:me,last:de,panelOf:ue}=m(),ae=ue(me),he=d(),ke=u(),je=oe.data.content?.[0]??null,fe=je?.props.id??null,Se=je?.type===me,Ne=je?.type===de,ye=X(null),Ce=X(null);r(Ce),a(re?.props.id),w(()=>{fe&&ye.current!==fe&&(ye.current=fe,Se?ie(ae??l):re||ne.select({index:0}))},[fe,re,ne,Se]);const Ee=U(e=>ie(n=>h(n,e)?n:e),[]),Ae=k({kind:se.kind,mode:se,open:Ee,show:e=>ie(e),reveal:()=>{},select:(e,n)=>{ie(e=>h(e,n)?e:n),ne.select(e)}}),{selectNode:Re}=i({mode:se,setMode:ie,onOpenPart:n}),xe=j(),{labelAtLevel:Be,Icon:Fe}=xe,{canAddTo:Qe}=f(),Pe=e=>Be(e,"block",te.components[e]?.label??e),Te=e=>Be(e,"section",Pe(e)),We=!Se&&S(se)&&re?.props.id===fe,Oe=je?Qe(je.type)?.spec??null:null,ge=je&&Oe?`${je.props.id}:${Oe.slot}`:null,Ie=je&&Oe&&Array.isArray(je.props[Oe.slot])?je.props[Oe.slot]:[],Ye=e=>E(e,Pe,xe.plainText),ve=(e,r)=>{je&&Oe&&ge&&(ie(l),Oe.slider?(o(String(je.props.id),e),ne.select({index:e,zone:ge}),n(String(je.props.id))):(ne.select({index:e,zone:ge}),n(r)))},De=()=>{if(!je||!Oe||!ge)return;const e=Ie.length;ne.insertComponent(ge,Oe.childType,e),ie(l),Oe.slider?requestAnimationFrame(()=>{o(String(je.props.id),e),ne.select({index:e,zone:ge})}):ne.select({index:e,zone:ge})},be=e=>A(te,e),ze=e=>{const{parentId:n,slot:o}=z(e),r=e=>{if(!e)return null;if(String(e.props.id)===n)return e;for(const n of be(e.type)){const o=Array.isArray(e.props[n])?e.props[n]:[];for(const e of o){const n=r(e);if(n)return n}}return null},t=r(je)?.props[o];return Array.isArray(t)?t.length:0},Me=(e,n,o)=>{const r=Math.min(Math.max(o,0),ze(e)),t=n<r?r-1:r;t!==n&&(ne.reorderComponent(e,n,t),ie(l),ne.select({index:t,zone:e}))},Xe=D({keyOf:e=>e.id,readOnly:Boolean(_),canDrop:(e,n)=>b(n)===e.zone&&n.index>=0&&n.index<=ze(e.zone),onDrop:(e,n)=>Me(e.zone,e.index,n.index),onStep:(e,n)=>Me(e.zone,e.index,n<0?e.index-1:e.index+2)}),we=(e,n)=>/* @__PURE__ */J(T,{..._?{}:Xe.seam({place:{...z(e),index:n}})},`seam:${e}:${n}`),Ue=e=>xe.blockRowName(e,Pe),Ve=(e,o,r)=>{ie(l),ne.select({index:o,zone:e}),n(r)},Ze=(e,n,o)=>{ne.insertComponent(e,n,o),ie(l),ne.select({index:o,zone:e})},Le=(n,o,r)=>/* @__PURE__ */J(e,{choices:r,onPick:e=>Ze(n,e,o)}),He=(e,n)=>{const o=N(te,e);const r=Qe(e.type,void 0,void 0,{id:String(e.props.id??""),data:oe.data}),t=r?.choices??null,s="footer"===r?.source?Ue:Ye;/* @__PURE__ */
|
|
2
|
+
return H(K,{children:[o.map(({child:e,zone:o,index:r})=>{const t=re?.props.id===e.props.id,i=R(te,e.type,n),c=s(e),p=String(e.props.id),m=()=>Ve(o,r,p),{rowProps:d,...u}=Xe.row({item:{id:p,zone:o,index:r},place:{...z(o),index:r}},{onClick:G(m)});/* @__PURE__ */
|
|
3
|
+
return H(V,{children:[0===r&&we(o,0),
|
|
4
|
+
/* @__PURE__ */J(Q,{words:pe,icon:/* @__PURE__ */J(Fe,{type:e.type,size:13}),name:c,selected:t,onSelect:m,...u,actions:/* @__PURE__ */J(P,{kind:"delete",label:ce.deleteNamed({name:c}),onClick:()=>{return e=o,n=r,ne.removeComponent(e,n),ie(l),void ne.select(null);var e,n},children:/* @__PURE__ */J(L,{size:13})}),rowProps:d}),i&&/* @__PURE__ */J(F,{children:He(e,n+1)}),we(o,r+1)]},String(e.props.id??`${o}-${r}`))}),r&&t?Le(`${e.props.id}:${r.slot}`,o.length,t):null]})},Je="HeroSingle"===je?.type,Ke=Boolean(je)&&(Boolean(Qe(je.type))||be(je.type).length>0),Ge=Boolean(je)&&(Boolean(Oe)||Ne||Se||Je||Ke);/* @__PURE__ */
|
|
5
|
+
return H("div",{ref:Ce,className:"sf-editor es-editor",style:Y(s),children:[
|
|
6
|
+
/* @__PURE__ */J("div",{className:"sf-section-bar",children:/* @__PURE__ */J(I,null!==ee?{tone:"off",label:ee,role:"status"}:{...g(q,le),role:"status"})}),
|
|
7
|
+
/* @__PURE__ */H("div",{className:"sf-body",children:[Ge&&je&&/* @__PURE__ */H("aside",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left",children:[
|
|
8
|
+
/* @__PURE__ */J("div",{className:"sf-panel-head",children:/* @__PURE__ */J(Z,{content:Se?ce.headerSettings:ce.sectionSettings({name:Te(je.type)}),side:"bottom",children:/* @__PURE__ */J("button",{type:"button",className:"sf-panel-title sf-panel-title--btn "+(We?"is-selected":""),"aria-pressed":We,onClick:()=>{Se?ie(ae??l):(ie(l),ne.select({index:0}))},children:Te(je.type)})})}),
|
|
9
|
+
/* @__PURE__ */J(B,{className:"sf-tree sf-scroll",rootProps:Xe.rootProps(),words:pe,children:/* @__PURE__ */J(F,{children:Se?
|
|
10
|
+
/* @__PURE__ */J(Q,{words:pe,icon:/* @__PURE__ */J(Fe,{type:"header",size:13}),name:ce.headerSettings,selected:se.kind===ae?.kind,onSelect:()=>ie(ae??l),rowProps:{onClick:G(()=>ie(ae??l))}}):Oe?/* @__PURE__ */H(K,{children:[Ie.map((e,n)=>{const o=re?.props.id===e.props.id,r=Ye(e),t=String(e.props.id),s=()=>ve(n,t),{rowProps:i,...c}=Xe.row({item:{id:t,zone:ge,index:n},place:{...z(ge),index:n}},{onClick:G(s)});/* @__PURE__ */
|
|
11
|
+
return H(V,{children:[0===n&&we(ge,0),
|
|
12
|
+
/* @__PURE__ */J(Q,{words:pe,icon:/* @__PURE__ */J(Fe,{type:e.type,size:13}),name:r,selected:o,onSelect:s,...c,actions:/* @__PURE__ */J(P,{kind:"delete",label:ce.deleteNamed({name:r}),onClick:()=>{return e=n,void(ge&&(ne.removeComponent(ge,e),ie(l),ne.select(null)));var e},children:/* @__PURE__ */J(L,{size:13})}),rowProps:i}),we(ge,n+1)]},String(e.props.id??n))}),
|
|
13
|
+
/* @__PURE__ */H("button",{type:"button",className:"sf-add-card",onClick:De,children:[
|
|
14
|
+
/* @__PURE__ */J("span",{className:"sf-plus sf-plus--sm",children:"+"}),Oe.addLabel]}),fe?Ae.partRows?.(je,$):null]}):He(je,1)})})]}),
|
|
15
|
+
/* @__PURE__ */J("div",{className:"sf-center",children:/* @__PURE__ */J("div",{className:"sf-preview-host",children:/* @__PURE__ */J(he,{})})}),
|
|
16
|
+
/* @__PURE__ */J(t,{value:{selectChild:(e,n,o,r)=>"section"===Qe(r)?.source?ve(n,o):Ve(e,n,o),addChild:(e,n,o,r,t)=>"section"===Qe(t)?.source?De():Ze(`${e}:${n}`,o,r),childRowName:Ye,blockRowName:Ue},children:/* @__PURE__ */J(ke,{mode:se,onOpenWebsiteSettings:Ae.openSettings??(()=>{}),onSelectNode:Re,hideNodeActions:!0})})]}),
|
|
17
|
+
/* @__PURE__ */J(y,{})]})}export{q as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{usePartBridge}from"../../chunk-
|
|
1
|
+
export{usePartBridge}from"../../chunk-UDWXBS46.js";import"../../chunk-XLC7HWW3.js";import"../../chunk-LUHGBFOD.js";import"../../chunk-NCXYC7WI.js";import"../../chunk-LX23TCTP.js";import"../../chunk-R4AUZVA3.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-BBD3FLU3.js";import"../../chunk-JQQFB7EZ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-U3LTJSBU.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-YCSZAP7T.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-K53PQAMP.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-QTHQPJWA.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-PMRN5Z3T.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-MIX7EGRG.js";import"../../chunk-DX3VILZ3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-3XECMGXX.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-TOKMFZPB.js";import"../../chunk-FR7EEKFF.js";import"../../chunk-7UFKEX72.js";import"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";import"../../chunk-467WWV4I.js";import"../../chunk-TIAWIOGD.js";import"../../chunk-MGVI67QV.js";
|
package/dist/screen/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../chunk-GZO72N3Q.js";export{DocumentScreen,ScreenMount}from"../chunk-
|
|
1
|
+
import"../chunk-GZO72N3Q.js";export{DocumentScreen,ScreenMount}from"../chunk-6WTWYHC2.js";import"../chunk-GXQCZJOP.js";export{ScreenStoreProvider}from"../chunk-KF3LT7J2.js";import"../chunk-IW5QXREH.js";import"../chunk-UMBNBCL4.js";import"../chunk-OXZDSOZV.js";import"../chunk-7OCEPOEJ.js";import"../chunk-H6BER2EU.js";import"../chunk-3QB2ZQXK.js";import"../chunk-5XL2RXFU.js";import"../chunk-OXOUGEAT.js";import"../chunk-22I55W37.js";import"../chunk-LUOY3A3Q.js";import"../chunk-UCZQWQNS.js";import"../chunk-KCBEE2MC.js";import"../chunk-6EDVZBUO.js";import"../chunk-UDWXBS46.js";import"../chunk-XLC7HWW3.js";import"../chunk-62UGN7VM.js";import"../chunk-PVBDKBJB.js";import"../chunk-RKTF5XLP.js";import"../chunk-ERB6FAZT.js";import"../chunk-QZJKWKGH.js";import"../chunk-ERR437B5.js";import"../chunk-JIP5JNRB.js";import"../chunk-GR3XRILS.js";export{NO_DOCUMENT_ADDRESSING}from"../chunk-RLBXE4EU.js";import"../chunk-6ATIYLUL.js";import"../chunk-KO47WAWR.js";import"../chunk-NQW6XCAY.js";import"../chunk-LOMEH6DG.js";import"../chunk-5545A3PC.js";import"../chunk-XTDOSL2M.js";import"../chunk-GDO4QJ4G.js";import"../chunk-IZGFJWH4.js";import"../chunk-N7E6264U.js";import"../chunk-N3MJOHAG.js";import"../chunk-SBVIW3KJ.js";import"../chunk-UMDQ6CLQ.js";import"../chunk-KCOBHPN6.js";import"../chunk-RUQOIQWI.js";export{SELECTION_MODE,ScreenCanvasTargetProvider,ScreenPartsProvider,isPinnedFirst,isPinnedLast,isSelectionMode,isSlotMode,sameInspectorMode,screenSlotsOf,shownChildSlotsOf,shownSlotFieldsOf,useScreenBlockLook,useScreenBlockRules,useScreenBridges,useScreenCanvasDrag,useScreenCanvasFrame,useScreenCanvasHead,useScreenCanvasTarget,useScreenDevices,useScreenDocumentLabel,useScreenDocumentPass,useScreenInspectorPanel,useScreenLeftView,useScreenNodeKeys,useScreenNotify,useScreenOwnerName,useScreenParts,useScreenPickFollowsSelection,useScreenPinned,useScreenSaveSwitch,useScreenStorageNamespace,useScreenStyleClipboard,useStandaloneScreenBridges}from"../chunk-LUHGBFOD.js";import"../chunk-T2RINM7R.js";import"../chunk-NCXYC7WI.js";import"../chunk-FEP6XMNX.js";export{EaselSessionProvider,useEaselSession}from"../chunk-YM4UEGBV.js";export{EFFICIENT_BACKEND,activateEaselSession,backendOf,createEaselSession,currentEaselSession,deactivateEaselSession,efficientClientOpen,isEfficientBackend,provideDefaultBackend,resetAmbientEaselSession,sessionRegistry,setSessionBridgedSite,setSessionDocumentSite}from"../chunk-SNF5764Q.js";export{DETACHED_EASEL_HOST,EaselHostContext,EaselHostProvider,FIELD_DESCRIPTION_MARKER,createEaselHost,describedAs,useEaselHost,useHostEscape}from"../chunk-LX23TCTP.js";import"../chunk-XFYFKITX.js";import"../chunk-S6YOIRXQ.js";import"../chunk-CWELHADJ.js";import"../chunk-6WY6ZXJG.js";import"../chunk-AJ2SUSET.js";import"../chunk-5NHQ452C.js";import"../chunk-6UAEFOJ4.js";import"../chunk-ANPOR6EY.js";import"../chunk-R4AUZVA3.js";import"../chunk-TCAAOYQY.js";import"../chunk-BBD3FLU3.js";import"../chunk-JQQFB7EZ.js";import"../chunk-TBY3DFKS.js";import"../chunk-U3LTJSBU.js";import"../chunk-BPXEFVSQ.js";import"../chunk-YCSZAP7T.js";import"../chunk-ZEH6QLBH.js";import"../chunk-WHS6Y55E.js";import"../chunk-FM6JO4WF.js";import"../chunk-K56YDHYQ.js";import"../chunk-KFV7N2DJ.js";import"../chunk-K53PQAMP.js";import"../chunk-ZKY45F5G.js";import"../chunk-FIVU2COQ.js";import"../chunk-P5VYGWYO.js";import"../chunk-WK3AFPXY.js";import"../chunk-QTHQPJWA.js";import"../chunk-NDRZP6YR.js";import"../chunk-H6DDIBQ4.js";import"../chunk-VBEVZZTV.js";import"../chunk-MJM6SFD3.js";import"../chunk-AJSDWWJW.js";import"../chunk-2OAZYSWJ.js";import"../chunk-YYD257TD.js";import"../chunk-RE4LP46F.js";import"../chunk-HZSZT3BE.js";import"../chunk-PMRN5Z3T.js";import"../chunk-Y2T3JX7K.js";import"../chunk-KFWNGPW3.js";import"../chunk-MIX7EGRG.js";import"../chunk-DX3VILZ3.js";import"../chunk-JACEEVVF.js";import"../chunk-MFIRYGHW.js";import"../chunk-SQTVXE5D.js";import"../chunk-TQ5Y6S2X.js";import"../chunk-3XECMGXX.js";import"../chunk-P2VEMZH5.js";import"../chunk-TOKMFZPB.js";import"../chunk-FR7EEKFF.js";import"../chunk-7UFKEX72.js";import"../chunk-EUFDQ4KL.js";import"../chunk-KXM6YRG2.js";import"../chunk-BSPCSC45.js";import"../chunk-467WWV4I.js";import"../chunk-TIAWIOGD.js";import"../chunk-MGVI67QV.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{boxFieldSet as o}from"../../../chunk-
|
|
1
|
+
import{boxFieldSet as o}from"../../../chunk-KVIEUWTX.js";import"../../../chunk-SC6E3UUS.js";import"../../../chunk-OXOUGEAT.js";import"../../../chunk-22I55W37.js";import"../../../chunk-LX23TCTP.js";import"../../../chunk-S6YOIRXQ.js";import"../../../chunk-CWELHADJ.js";import"../../../chunk-6WY6ZXJG.js";import{phoneKey as e}from"../../../chunk-E52W3M5I.js";import{foldMetaOf as t}from"../../../chunk-ANPOR6EY.js";import"../../../chunk-BBD3FLU3.js";import"../../../chunk-JQQFB7EZ.js";import"../../../chunk-TBY3DFKS.js";import"../../../chunk-YCSZAP7T.js";import"../../../chunk-FM6JO4WF.js";import"../../../chunk-KFV7N2DJ.js";import"../../../chunk-K53PQAMP.js";import"../../../chunk-QTHQPJWA.js";import"../../../chunk-OECWLNKJ.js";import"../../../chunk-HZSZT3BE.js";import"../../../chunk-PMRN5Z3T.js";import"../../../chunk-KFWNGPW3.js";import"../../../chunk-MIX7EGRG.js";import"../../../chunk-DX3VILZ3.js";import"../../../chunk-JACEEVVF.js";import"../../../chunk-MFIRYGHW.js";import"../../../chunk-TOKMFZPB.js";import"../../../chunk-FR7EEKFF.js";import"../../../chunk-7UFKEX72.js";import"../../../chunk-EUFDQ4KL.js";import"../../../chunk-KXM6YRG2.js";import"../../../chunk-BSPCSC45.js";function n(o){return Object.keys(o).filter(e=>{return n=o[e],!(null!==t(n));var n})}function s(o,e){const n=e.off??{},s=e.keys??{};for(const[o,e]of Object.entries(n))if(!e.trim())throw new Error(`blockSetFor: off row "${o}" needs a reason.`);for(const e of[...Object.keys(n),...Object.keys(s)]){if(!Object.hasOwn(o,e))throw new Error(`blockSetFor: the set has no row "${e}".`);if(Object.hasOwn(n,e)&&Object.hasOwn(s,e))throw new Error(`blockSetFor: row "${e}" is both off and renamed.`)}const r={};let i=[];for(const[e,c]of Object.entries(o)){const a=t(c);if(a){i=i.filter(([,o])=>t(o).level<a.level),i.push([e,c]);continue}if(Object.hasOwn(n,e))continue;for(const[o,e]of i)r[o]=e;i=[];const h=Object.hasOwn(s,e)?s[e]:e;if(Object.hasOwn(r,h)||h!==e&&Object.hasOwn(o,h))throw new Error(`blockSetFor: renamed key "${h}" is already a row.`);r[h]=c}return r}function r(o){const e=o.build();s(e,o.email),s(e,o.website);const t=n(e),r=o=>new Set(Object.keys(o.off??{})),i=r(o.email),c=r(o.website),a=[];for(const e of t)i.has(e)&&!c.has(e)&&a.push({row:e,only:"website",reason:o.email.off[e]}),c.has(e)&&!i.has(e)&&a.push({row:e,only:"email",reason:o.website.off[e]});return a}var i=["button","image","box","divider","logo","text","section","social"],c={box:{build:()=>o(),email:{editor:"email",keys:{gap:"itemGap"},off:Object.fromEntries(["sectionPaddingTop","sectionPaddingRight","sectionPaddingBottom","sectionPaddingLeft"].map(o=>[e(o),"email: a Banner Box draws in the desktop view only (admin inBannerFields)"]))},website:{editor:"website"}}},a={button:"no easel set yet (plan group 1)",image:"no easel set yet (plan group 2)",box:"the set is in easel and the email Banner Box imports it; the website Flex builds its own rows (plan group 3)",divider:"no easel set yet (plan group 4)",logo:"no easel set yet (plan group 5)",text:"no easel set yet (plan group 6)",section:"no easel set yet (plan group 7)",social:"no easel set yet (plan group 7)"};export{i as BLOCK_KINDS,a as BLOCK_SETS_STILL_TWO_COPIES,c as BLOCK_SET_PAIRS,r as blockSetDifferences,s as blockSetFor,n as blockSetRowKeys};
|
|
@@ -57,6 +57,15 @@ type BoxFieldRenderProps<V> = {
|
|
|
57
57
|
* by value: a node that stores nothing holds `undefined`.
|
|
58
58
|
*/
|
|
59
59
|
storedValue?: unknown;
|
|
60
|
+
/** The editor is read-only (a sent campaign opens so): the row draws its
|
|
61
|
+
* controls disabled. */
|
|
62
|
+
readOnly?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* The value this row's EMPTY state follows, when it is a phone twin
|
|
65
|
+
* ({@link phoneTwinFields}): the desktop value. Tested by KEY: a desktop
|
|
66
|
+
* that stores nothing passes `undefined`.
|
|
67
|
+
*/
|
|
68
|
+
follows?: unknown;
|
|
60
69
|
id?: string;
|
|
61
70
|
name?: string;
|
|
62
71
|
};
|
|
@@ -180,6 +189,76 @@ declare const SIDE_PAD_KEYS: Record<PadSide, string>;
|
|
|
180
189
|
/** The props one edit of the row writes: only the sides that changed, each to
|
|
181
190
|
* its number or to `undefined` (cleared: the side follows again). */
|
|
182
191
|
declare function sidesPaddingPatch(keys: Record<PadSide, string>, before: SidesValue, next: SidesValue): Record<string, number | undefined>;
|
|
192
|
+
/** A padding stored as ONE object (the email designer's `padding`), as the
|
|
193
|
+
* row's four sides. A bare number is every side (an old Group's shape); a
|
|
194
|
+
* side that is not a number is empty — it follows. */
|
|
195
|
+
declare function sidesFromObject(stored: unknown): SidesValue;
|
|
196
|
+
/** What the row writes to a padding object: only the sides that hold a
|
|
197
|
+
* number (0 is a number), and `undefined` — nothing stored, the padding
|
|
198
|
+
* follows — when none does. */
|
|
199
|
+
declare function sidesToObject(sides: SidesValue): Partial<Record<PadSide, number>> | undefined;
|
|
200
|
+
/**
|
|
201
|
+
* Where a host keeps a row's PHONE value (twins plan E2). The website keeps
|
|
202
|
+
* it beside the desktop key (`gapPhone`, {@link PHONE_KEY_ACCESS}); the email
|
|
203
|
+
* designer keeps every phone value in one object (`mobile.gap`,
|
|
204
|
+
* {@link phoneObjectAccess}). The row is the same; only this differs, and no
|
|
205
|
+
* stored key moves.
|
|
206
|
+
*/
|
|
207
|
+
interface PhoneValueAccess {
|
|
208
|
+
/** The key the phone row is declared under in the host's fields. */
|
|
209
|
+
fieldKey: (key: string) => string;
|
|
210
|
+
/** The phone value is stored under `fieldKey` itself, so the row reads and
|
|
211
|
+
* writes through its own field (`value` / `onChange`), as any row does. */
|
|
212
|
+
ownField?: boolean;
|
|
213
|
+
/** The phone value stored for `key` on a node. */
|
|
214
|
+
read: (values: Record<string, unknown>, key: string) => unknown;
|
|
215
|
+
/** The props one write of the phone value makes (`undefined`: a clear). */
|
|
216
|
+
write: (values: Record<string, unknown>, key: string, next: unknown) => Record<string, unknown>;
|
|
217
|
+
}
|
|
218
|
+
/** The website's phone values: `phoneKey(key)`, beside the desktop key. */
|
|
219
|
+
declare const PHONE_KEY_ACCESS: PhoneValueAccess;
|
|
220
|
+
/**
|
|
221
|
+
* Phone values kept in ONE object prop (the email designer's `mobile`). A
|
|
222
|
+
* write keeps the object's other keys; a clear removes only its own, and an
|
|
223
|
+
* object left empty is removed too. The phone row is declared under
|
|
224
|
+
* `_<objectKey>_<key>`, a key nothing stores.
|
|
225
|
+
*/
|
|
226
|
+
declare function phoneObjectAccess(objectKey: string): PhoneValueAccess;
|
|
227
|
+
/**
|
|
228
|
+
* A row WITH its phone value (twins plan E2: "phone values in phone view, on
|
|
229
|
+
* the same row", Lewis 2026-10-27): the row under `key` (Desktop view only)
|
|
230
|
+
* and its twin (Phone view only) under `access.fieldKey(key)`. The twin is the
|
|
231
|
+
* same row given `follows`, the desktop value: empty, it rests on that and
|
|
232
|
+
* says so. A clear writes nothing — never a copy of the desktop value.
|
|
233
|
+
*/
|
|
234
|
+
declare function phoneTwinFields<V>(key: string, row: BoxField<V>, access?: PhoneValueAccess): Record<string, BoxField<V>>;
|
|
235
|
+
/** A slider's label-line mark, as a function of the STORED value. */
|
|
236
|
+
type SliderAction = (value: unknown, onChange: (v: unknown) => void) => ReactNode;
|
|
237
|
+
/**
|
|
238
|
+
* A slider whose value may be EMPTY, and what empty means (twins plan E2,
|
|
239
|
+
* 2026-10-30: the email designer's number rows). An empty value follows a
|
|
240
|
+
* number from above — the style's, the campaign's — so the box shows that
|
|
241
|
+
* number in grey, the track rests on it, and the label line names the state
|
|
242
|
+
* (`SettingsDefaultReset`: Default while it follows, Reset once it does not).
|
|
243
|
+
* Emptying the box and Reset both write `undefined`, never the hint.
|
|
244
|
+
*/
|
|
245
|
+
interface SliderClear {
|
|
246
|
+
/** The number an empty value follows. A function is given the render's
|
|
247
|
+
* props, for a hint that is live: it rides the field object (the way
|
|
248
|
+
* `currentValue` does), so it stays a pure read. */
|
|
249
|
+
hint: number | ((props: BoxFieldRenderProps<unknown>) => number);
|
|
250
|
+
/** The word the empty box shows instead of the number, when what it
|
|
251
|
+
* follows is not one ("Auto": a picture's own height). */
|
|
252
|
+
emptyLabel?: string;
|
|
253
|
+
}
|
|
254
|
+
/** What {@link boxFieldBuilders}' `slider` is told past its numbers. */
|
|
255
|
+
interface SliderOptions {
|
|
256
|
+
/** The label line's mark ({@link SliderAction}). A clear draws its own. */
|
|
257
|
+
action?: SliderAction;
|
|
258
|
+
clear?: SliderClear;
|
|
259
|
+
/** The typed box's ceiling, when a typed number may go past the track. */
|
|
260
|
+
inputMax?: number;
|
|
261
|
+
}
|
|
183
262
|
/** What {@link directionField} is told: the directions this container offers,
|
|
184
263
|
* in the order the strip draws them, and the one an absent value means. */
|
|
185
264
|
interface DirectionFieldOptions<V extends string = string> {
|
|
@@ -237,6 +316,15 @@ type PositionOptions = {
|
|
|
237
316
|
type SidesPaddingOptions = {
|
|
238
317
|
/** The four stored keys (default {@link SIDE_PAD_KEYS}). The phone twins are `phoneKey(key)`. */
|
|
239
318
|
keys?: Partial<Record<PadSide, string>>;
|
|
319
|
+
/**
|
|
320
|
+
* The padding is stored as ONE object under `key` (`{ top, right, bottom,
|
|
321
|
+
* left }`, the email designer's shape) instead of four keys. Its phone
|
|
322
|
+
* value is kept where `phone` says (default {@link PHONE_KEY_ACCESS}).
|
|
323
|
+
*/
|
|
324
|
+
object?: {
|
|
325
|
+
key: string;
|
|
326
|
+
phone?: PhoneValueAccess;
|
|
327
|
+
};
|
|
240
328
|
/** Give the row a phone twin (shown in phone view only). Default true. */
|
|
241
329
|
phone?: boolean;
|
|
242
330
|
/** What an EMPTY side draws, per side, shown in grey (default 0). */
|
|
@@ -344,7 +432,7 @@ declare function placementGridView(say: BoxFieldSay, { label, value, onChange, p
|
|
|
344
432
|
* builders exported below are this with no `say`, in English.
|
|
345
433
|
*/
|
|
346
434
|
declare function boxFieldBuilders(say?: BoxFieldSay): {
|
|
347
|
-
slider: (label: string, icon: ReactElement, min: number, max: number, step: number, fallback: number, suffix?: string,
|
|
435
|
+
slider: (label: string, icon: ReactElement, min: number, max: number, step: number, fallback: number, suffix?: string, actionOrOptions?: SliderAction | SliderOptions) => BoxField<number>;
|
|
348
436
|
select: (label: string, icon: ReactElement, options: readonly SelectOption[], fallback: string, note?: string) => SelectField;
|
|
349
437
|
Segmented: <V = string>(props: Parameters<typeof segmentedStrip<V>>[1]) => react.JSX.Element;
|
|
350
438
|
segmented: {
|
|
@@ -399,7 +487,7 @@ declare function boxFieldBuilders(say?: BoxFieldSay): {
|
|
|
399
487
|
};
|
|
400
488
|
};
|
|
401
489
|
/** The builders in English (no host's `say`). */
|
|
402
|
-
declare const slider: (label: string, icon: ReactElement, min: number, max: number, step: number, fallback: number, suffix?: string,
|
|
490
|
+
declare const slider: (label: string, icon: ReactElement, min: number, max: number, step: number, fallback: number, suffix?: string, actionOrOptions?: SliderAction | SliderOptions) => BoxField<number>;
|
|
403
491
|
declare const select: (label: string, icon: ReactElement, options: readonly SelectOption[], fallback: string, note?: string) => SelectField;
|
|
404
492
|
declare const Segmented: <V = string>(props: Parameters<typeof segmentedStrip<V>>[1]) => react.JSX.Element;
|
|
405
493
|
declare const segmented: {
|
|
@@ -453,4 +541,4 @@ declare const boxFieldSet: (opts?: BoxFieldSetOptions) => {
|
|
|
453
541
|
_gNudge: BoxField<undefined>;
|
|
454
542
|
};
|
|
455
543
|
|
|
456
|
-
export { ANCHOR_LABELS, type AlignmentOptions, AlignmentStrip, BOX_ALIGN_POINTS, BOX_DIRECTIONS, BOX_DIRECTION_LABEL, BOX_GAP, BOX_JUSTIFY_POINTS, BOX_NUDGE_LIMIT, BOX_PLACEMENTS, BOX_PLACEMENT_DEFAULT, BOX_WIDTH, BOX_WRAP_LABEL, BOX_WRAP_POINTS, type BlockAlignmentOptions, BlockAlignmentStrip, type BoxAlign, type BoxField, type BoxFieldRenderProps, type BoxFieldSay, type BoxFieldSetOptions, type BoxFlexRowOptions, type BoxJustify, type BoxPlacement, type BoxWrap, type DirectionFieldOptions, type GapFieldOptions, OPEN_PLACEMENT_POINTS, type PlacementFieldOptions, PlacementGridView, type PlacementPoint, type PositionOptions, SIDE_PAD_KEYS, Segmented, type SelectField, type SelectOption, type SidesPaddingOptions, alignmentField, alignmentFields, blockAlignmentField, blockAlignmentFields, boxAlignField, boxFieldBuilders, boxFieldSet, boxJustifyField, boxWrapField, directionField, gapField, group, iconOf, isNoGlyph, noGlyph, normaliseBoxPlacement, placementField, positionFields, positionPatch, section, segmented, select, sharedStyleKinds, sidesPaddingFields, sidesPaddingPatch, slider };
|
|
544
|
+
export { ANCHOR_LABELS, type AlignmentOptions, AlignmentStrip, BOX_ALIGN_POINTS, BOX_DIRECTIONS, BOX_DIRECTION_LABEL, BOX_GAP, BOX_JUSTIFY_POINTS, BOX_NUDGE_LIMIT, BOX_PLACEMENTS, BOX_PLACEMENT_DEFAULT, BOX_WIDTH, BOX_WRAP_LABEL, BOX_WRAP_POINTS, type BlockAlignmentOptions, BlockAlignmentStrip, type BoxAlign, type BoxField, type BoxFieldRenderProps, type BoxFieldSay, type BoxFieldSetOptions, type BoxFlexRowOptions, type BoxJustify, type BoxPlacement, type BoxWrap, type DirectionFieldOptions, type GapFieldOptions, OPEN_PLACEMENT_POINTS, PHONE_KEY_ACCESS, type PhoneValueAccess, type PlacementFieldOptions, PlacementGridView, type PlacementPoint, type PositionOptions, SIDE_PAD_KEYS, Segmented, type SelectField, type SelectOption, type SidesPaddingOptions, type SliderAction, type SliderClear, type SliderOptions, alignmentField, alignmentFields, blockAlignmentField, blockAlignmentFields, boxAlignField, boxFieldBuilders, boxFieldSet, boxJustifyField, boxWrapField, directionField, gapField, group, iconOf, isNoGlyph, noGlyph, normaliseBoxPlacement, phoneObjectAccess, phoneTwinFields, placementField, positionFields, positionPatch, section, segmented, select, sharedStyleKinds, sidesFromObject, sidesPaddingFields, sidesPaddingPatch, sidesToObject, slider };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{ANCHOR_LABELS,AlignmentStrip,BOX_ALIGN_POINTS,BOX_DIRECTIONS,BOX_DIRECTION_LABEL,BOX_GAP,BOX_JUSTIFY_POINTS,BOX_NUDGE_LIMIT,BOX_PLACEMENTS,BOX_PLACEMENT_DEFAULT,BOX_WIDTH,BOX_WRAP_LABEL,BOX_WRAP_POINTS,BlockAlignmentStrip,OPEN_PLACEMENT_POINTS,PlacementGridView,SIDE_PAD_KEYS,Segmented,alignmentField,alignmentFields,blockAlignmentField,blockAlignmentFields,boxAlignField,boxFieldBuilders,boxFieldSet,boxJustifyField,boxWrapField,directionField,gapField,group,iconOf,isNoGlyph,noGlyph,normaliseBoxPlacement,placementField,positionFields,positionPatch,section,segmented,select,sharedStyleKinds,sidesPaddingFields,sidesPaddingPatch,slider}from"../../../chunk-
|
|
1
|
+
export{ANCHOR_LABELS,AlignmentStrip,BOX_ALIGN_POINTS,BOX_DIRECTIONS,BOX_DIRECTION_LABEL,BOX_GAP,BOX_JUSTIFY_POINTS,BOX_NUDGE_LIMIT,BOX_PLACEMENTS,BOX_PLACEMENT_DEFAULT,BOX_WIDTH,BOX_WRAP_LABEL,BOX_WRAP_POINTS,BlockAlignmentStrip,OPEN_PLACEMENT_POINTS,PHONE_KEY_ACCESS,PlacementGridView,SIDE_PAD_KEYS,Segmented,alignmentField,alignmentFields,blockAlignmentField,blockAlignmentFields,boxAlignField,boxFieldBuilders,boxFieldSet,boxJustifyField,boxWrapField,directionField,gapField,group,iconOf,isNoGlyph,noGlyph,normaliseBoxPlacement,phoneObjectAccess,phoneTwinFields,placementField,positionFields,positionPatch,section,segmented,select,sharedStyleKinds,sidesFromObject,sidesPaddingFields,sidesPaddingPatch,sidesToObject,slider}from"../../../chunk-KVIEUWTX.js";import"../../../chunk-SC6E3UUS.js";import"../../../chunk-OXOUGEAT.js";import"../../../chunk-22I55W37.js";export{FIELD_DESCRIPTION_MARKER,describedAs}from"../../../chunk-LX23TCTP.js";import"../../../chunk-S6YOIRXQ.js";import"../../../chunk-CWELHADJ.js";import"../../../chunk-6WY6ZXJG.js";import"../../../chunk-E52W3M5I.js";import"../../../chunk-ANPOR6EY.js";import"../../../chunk-BBD3FLU3.js";import"../../../chunk-JQQFB7EZ.js";import"../../../chunk-TBY3DFKS.js";import"../../../chunk-YCSZAP7T.js";import"../../../chunk-FM6JO4WF.js";import"../../../chunk-KFV7N2DJ.js";import"../../../chunk-K53PQAMP.js";import"../../../chunk-QTHQPJWA.js";import"../../../chunk-OECWLNKJ.js";import"../../../chunk-HZSZT3BE.js";import"../../../chunk-PMRN5Z3T.js";import"../../../chunk-KFWNGPW3.js";import"../../../chunk-MIX7EGRG.js";import"../../../chunk-DX3VILZ3.js";import"../../../chunk-JACEEVVF.js";import"../../../chunk-MFIRYGHW.js";import"../../../chunk-TOKMFZPB.js";import"../../../chunk-FR7EEKFF.js";import"../../../chunk-7UFKEX72.js";import"../../../chunk-EUFDQ4KL.js";import"../../../chunk-KXM6YRG2.js";import"../../../chunk-BSPCSC45.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{useSectionOps}from"../../../chunk-
|
|
1
|
+
export{useSectionOps}from"../../../chunk-XLC7HWW3.js";import"../../../chunk-LUHGBFOD.js";import"../../../chunk-NCXYC7WI.js";import"../../../chunk-LX23TCTP.js";import"../../../chunk-TCAAOYQY.js";import"../../../chunk-BBD3FLU3.js";import"../../../chunk-JQQFB7EZ.js";import"../../../chunk-TBY3DFKS.js";import"../../../chunk-U3LTJSBU.js";import"../../../chunk-BPXEFVSQ.js";import"../../../chunk-YCSZAP7T.js";import"../../../chunk-ZEH6QLBH.js";import"../../../chunk-WHS6Y55E.js";import"../../../chunk-FM6JO4WF.js";import"../../../chunk-K56YDHYQ.js";import"../../../chunk-KFV7N2DJ.js";import"../../../chunk-K53PQAMP.js";import"../../../chunk-FIVU2COQ.js";import"../../../chunk-QTHQPJWA.js";import"../../../chunk-HZSZT3BE.js";import"../../../chunk-PMRN5Z3T.js";import"../../../chunk-Y2T3JX7K.js";import"../../../chunk-KFWNGPW3.js";import"../../../chunk-MIX7EGRG.js";import"../../../chunk-DX3VILZ3.js";import"../../../chunk-JACEEVVF.js";import"../../../chunk-MFIRYGHW.js";import"../../../chunk-3XECMGXX.js";import"../../../chunk-P2VEMZH5.js";import"../../../chunk-TOKMFZPB.js";import"../../../chunk-FR7EEKFF.js";import"../../../chunk-7UFKEX72.js";import"../../../chunk-EUFDQ4KL.js";import"../../../chunk-KXM6YRG2.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{editorRootFocus,isSaveShortcut,useEaselKeyTarget,useEaselSaveKey,useEaselUndoKeys}from"../../chunk-
|
|
1
|
+
export{editorRootFocus,isSaveShortcut,useEaselKeyTarget,useEaselSaveKey,useEaselUndoKeys}from"../../chunk-UCZQWQNS.js";import"../../chunk-LX23TCTP.js";import"../../chunk-BBD3FLU3.js";import"../../chunk-JQQFB7EZ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-K53PQAMP.js";import"../../chunk-QTHQPJWA.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-PMRN5Z3T.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-TOKMFZPB.js";import"../../chunk-FR7EEKFF.js";import"../../chunk-7UFKEX72.js";import"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{SELECTION_MODE,ScreenCanvasTargetProvider,ScreenPartsProvider,isPinnedFirst,isPinnedLast,isSelectionMode,isSlotMode,sameInspectorMode,screenSlotsOf,shownChildSlotsOf,shownSlotFieldsOf,useScreenBlockLook,useScreenBlockRules,useScreenBridges,useScreenCanvasDrag,useScreenCanvasFrame,useScreenCanvasHead,useScreenCanvasTarget,useScreenDevices,useScreenDocumentLabel,useScreenDocumentPass,useScreenInspectorPanel,useScreenLeftView,useScreenNodeKeys,useScreenNotify,useScreenOwnerName,useScreenParts,useScreenPickFollowsSelection,useScreenPinned,useScreenSaveSwitch,useScreenStorageNamespace,useScreenStyleClipboard,useStandaloneScreenBridges}from"../../chunk-
|
|
1
|
+
export{SELECTION_MODE,ScreenCanvasTargetProvider,ScreenPartsProvider,isPinnedFirst,isPinnedLast,isSelectionMode,isSlotMode,sameInspectorMode,screenSlotsOf,shownChildSlotsOf,shownSlotFieldsOf,useScreenBlockLook,useScreenBlockRules,useScreenBridges,useScreenCanvasDrag,useScreenCanvasFrame,useScreenCanvasHead,useScreenCanvasTarget,useScreenDevices,useScreenDocumentLabel,useScreenDocumentPass,useScreenInspectorPanel,useScreenLeftView,useScreenNodeKeys,useScreenNotify,useScreenOwnerName,useScreenParts,useScreenPickFollowsSelection,useScreenPinned,useScreenSaveSwitch,useScreenStorageNamespace,useScreenStyleClipboard,useStandaloneScreenBridges}from"../../chunk-LUHGBFOD.js";import"../../chunk-NCXYC7WI.js";import"../../chunk-LX23TCTP.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-BBD3FLU3.js";import"../../chunk-JQQFB7EZ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-U3LTJSBU.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-YCSZAP7T.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-K53PQAMP.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-QTHQPJWA.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-PMRN5Z3T.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-MIX7EGRG.js";import"../../chunk-DX3VILZ3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-3XECMGXX.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-TOKMFZPB.js";import"../../chunk-FR7EEKFF.js";import"../../chunk-7UFKEX72.js";import"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "efficient-easel",
|
|
3
|
-
"version": "25.
|
|
3
|
+
"version": "25.1.0",
|
|
4
4
|
"description": "Efficient Easel: the EFFICIENT editors' shared engine and chrome: the saved document as pure functions, the published renderer, and the editor frame, panels, Layers tree, text grammar and type-in-place box. Published as editor-shell up to 0.66.0 and as efficient-editor up to 0.95.0.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"author": "Efficient Pty Ltd",
|
package/dist/chunk-LUG22U5L.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{parseZoneKey as t}from"./chunk-EUFDQ4KL.js";import{repeatWrapperAt as e,REPEAT_ATTRIBUTE as r,REPEAT_INDEX_ATTRIBUTE as n}from"./chunk-7UFKEX72.js";var o=`[${r}][${n}]`;function l(l){const c=e(l);if(!c)return null;let i;try{i=t(c.zone)}catch{return null}if(!i.parentId||!i.slot)return null;const{wrapper:a,zone:p,index:f}=c;let s=a.parentElement;for(let t=a.parentElement;t;t=t.parentElement)if(t.getAttribute("data-easel-block")===i.parentId){s=t;break}const d=/* @__PURE__ */new Set;for(const t of Array.from(s?.querySelectorAll(o)??[]))t.getAttribute(r)===p&&d.add(t.getAttribute(n)??"");const m={ownerId:i.parentId,slot:i.slot,index:f,count:Math.max(d.size,f+1)},y=a.parentElement?u(a.parentElement):null;return y&&(m.outer=y),{copy:m,wrapper:a}}function u(t){return l(t)?.copy??null}function c(t,e){return t&&e?t.ownerId===e.ownerId&&t.slot===e.slot&&t.index===e.index&&c(t.outer,e.outer):t===e}function i(t,e){for(const r of Array.from(t.querySelectorAll(o))){if(r.getAttribute(n)!==String(e.index))continue;const t=l(r);if(t?.wrapper===r&&c(t.copy,e))return r}return null}export{i as findCopy,u as repeatCopyAt,l as repeatCopyWithWrapper};
|