efficient-easel 3.6.0 → 3.7.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.
Files changed (66) hide show
  1. package/README.md +3 -1
  2. package/dist/{CanvasDragLayer-zgYT1xwY.d.ts → CanvasDragLayer-DVJGgA-g.d.ts} +13 -1
  3. package/dist/blocks/index.d.ts +2 -2
  4. package/dist/chunk-2GLQRNYT.js +16 -0
  5. package/dist/{chunk-OFNXIZEP.js → chunk-6N64PNWF.js} +1 -1
  6. package/dist/{chunk-6B4276GZ.js → chunk-CRG625FM.js} +3 -3
  7. package/dist/chunk-LUSM3QTY.js +5 -0
  8. package/dist/{chunk-6QSPOILR.js → chunk-LZ6EGT4Y.js} +1 -1
  9. package/dist/{chunk-UVAIY7VO.js → chunk-MUZNA23W.js} +1 -1
  10. package/dist/chunk-RKSKUGWC.js +65 -0
  11. package/dist/{chunk-ZN752E2O.js → chunk-SCPCXNTB.js} +1 -1
  12. package/dist/chunk-UK2FQOUT.js +1 -0
  13. package/dist/{chunk-J2JBETVO.js → chunk-VZGLBEAE.js} +1 -1
  14. package/dist/{chunk-FRGCTHDB.js → chunk-XBNOEQMR.js} +1 -1
  15. package/dist/chunk-XW4AV5N4.js +9 -0
  16. package/dist/{chunk-55IKQFBW.js → chunk-YIKMVF24.js} +5 -5
  17. package/dist/drag/index.d.ts +1 -1
  18. package/dist/drag/index.js +1 -1
  19. package/dist/easel/index.d.ts +5 -5
  20. package/dist/easel/index.js +1 -1
  21. package/dist/node-ops/index.d.ts +2 -2
  22. package/dist/node-ops/index.js +1 -1
  23. package/dist/{plan-BdQ9mLIf.d.ts → plan-CHKjPr6l.d.ts} +10 -1
  24. package/dist/screen/components/AddBlockRow.js +1 -1
  25. package/dist/screen/components/AddSidePanel.js +1 -1
  26. package/dist/screen/components/MediaSidePanel.d.ts +2 -2
  27. package/dist/screen/components/MediaSidePanel.js +1 -1
  28. package/dist/screen/components/NodeContextMenu.d.ts +4 -4
  29. package/dist/screen/components/NodeContextMenu.js +1 -1
  30. package/dist/screen/components/ScreenChrome.js +1 -1
  31. package/dist/screen/components/ScreenDocumentContext.d.ts +2 -2
  32. package/dist/screen/components/ScreenMount.d.ts +3 -3
  33. package/dist/screen/components/ScreenMount.js +1 -1
  34. package/dist/screen/components/ScreenStoreProvider.d.ts +3 -3
  35. package/dist/screen/components/ScreenStoreProvider.js +1 -1
  36. package/dist/screen/components/SectionScreenShell.js +16 -16
  37. package/dist/screen/components/usePartBridge.d.ts +3 -3
  38. package/dist/screen/components/usePartBridge.js +1 -1
  39. package/dist/screen/index.d.ts +3 -3
  40. package/dist/screen/index.js +1 -1
  41. package/dist/screen/lib/admin-bridge.d.ts +2 -2
  42. package/dist/screen/lib/document-addressing.d.ts +2 -2
  43. package/dist/screen/lib/document-hooks.d.ts +2 -2
  44. package/dist/screen/lib/host.d.ts +2 -2
  45. package/dist/screen/lib/key-scope.js +1 -1
  46. package/dist/screen/lib/media-panel.d.ts +2 -2
  47. package/dist/screen/lib/media-picker.d.ts +2 -2
  48. package/dist/screen/lib/page-lock.d.ts +2 -2
  49. package/dist/screen/lib/puck/palette-sections.d.ts +2 -2
  50. package/dist/screen/lib/puck/section-doc.d.ts +2 -2
  51. package/dist/screen/lib/puck/style-clipboard.d.ts +3 -3
  52. package/dist/screen/lib/puck/use-section-ops.d.ts +2 -2
  53. package/dist/screen/lib/puck/use-section-ops.js +1 -1
  54. package/dist/screen/lib/screen-parts.d.ts +3 -3
  55. package/dist/screen/lib/screen-parts.js +1 -1
  56. package/dist/screen/lib/section-templates.d.ts +2 -2
  57. package/dist/screen/lib/session-context.d.ts +2 -2
  58. package/dist/screen/lib/session.d.ts +2 -2
  59. package/dist/{types-CGFykP7c.d.ts → types-tNFRS_AW.d.ts} +1 -1
  60. package/dist/{useNodeOps-B3e4b8a2.d.ts → useNodeOps-CLbZyd43.d.ts} +1 -1
  61. package/package.json +1 -1
  62. package/dist/chunk-6HHHBBSY.js +0 -16
  63. package/dist/chunk-PDZXAFNX.js +0 -9
  64. package/dist/chunk-QASZFO4S.js +0 -1
  65. package/dist/chunk-QVWPI2FL.js +0 -5
  66. package/dist/chunk-TNTV7UZ6.js +0 -65
package/README.md CHANGED
@@ -842,7 +842,9 @@ const drag = useTreeDrag({ …, session }); // the tree
842
842
  - **The canvas measures itself:** `measureCanvas` reads the canvas's lists and
843
843
  blocks. Your `model` says what may be picked up (leave out what cannot move)
844
844
  and where "+ Add section" goes (`seamsBetween`).
845
- - **One handle,** on the smallest box under the pointer, never unmounted
845
+ - **One handle,** on the smallest box under the pointer, or the one your
846
+ `choose` names among them (handed every box under it, outermost first,
847
+ `sourcesAt`; 3.7.0), never unmounted
846
848
  mid-drag. It follows the CONTENT, not the last mouse move: it is picked
847
849
  again whenever the canvas is measured again (a wheel in a frame that scrolls
848
850
  itself, a block added above) and when a drag ends, so a host has no reason
@@ -59,6 +59,9 @@ type CanvasSeam = {
59
59
  box: Box;
60
60
  };
61
61
  declare const contains: (b: Box, x: number, y: number) => boolean;
62
+ /** Every source under the point, outermost first (largest box first; of two
63
+ * the same size, the later one is the inner). The last is `pickSource`'s. */
64
+ declare function sourcesAt<I>(sources: readonly CanvasSource<I>[], x: number, y: number): CanvasSource<I>[];
62
65
  /** The smallest source under the point — the innermost thing. */
63
66
  declare function pickSource<I>(sources: readonly CanvasSource<I>[], x: number, y: number): CanvasSource<I> | null;
64
67
  /** The gap the point means in a zone: children whose middle it has passed. */
@@ -140,6 +143,15 @@ type CanvasDragLayerProps<I> = {
140
143
  * the Add list). Left out, every refusal falls through.
141
144
  */
142
145
  fallThrough?: (item: I, refused: Place, from?: Place) => boolean;
146
+ /**
147
+ * Which of the sources under the pointer gets the handle — the thing a press
148
+ * there would drag. Handed every one under it, OUTERMOST FIRST (never
149
+ * empty). Absent: the innermost, the last (`pickSource`). The screen answers
150
+ * with the selection (owner 2026-10-12): the selected block if the pointer
151
+ * is inside it, else what a click there would select. A new function when
152
+ * its answer may have changed: the handle is picked again with it.
153
+ */
154
+ choose?: (under: readonly CanvasSource<I>[]) => CanvasSource<I> | null;
143
155
  /** The handle CLICKED, not dragged: select what it names. Absent: a click does nothing. */
144
156
  onPick?: (item: I) => void;
145
157
  /** "+ Add section" in a seam: open the Add panel at that place. */
@@ -165,4 +177,4 @@ type CanvasDragLayerProps<I> = {
165
177
  declare const HANDLE_GRACE_MS = 140;
166
178
  declare function CanvasDragLayer<I>(props: CanvasDragLayerProps<I>): react.JSX.Element;
167
179
 
168
- export { type Box as B, type CanvasDragModel as C, EMPTY_MEASURE as E, HANDLE_GRACE_MS as H, type MeasuredCanvas as M, CanvasDragLayer as a, type CanvasDragLayerProps as b, type CanvasTarget as c, type CanvasSeam as d, type CanvasSource as e, type CanvasZone as f, type MeasuredNode as g, canvasTarget as h, contains as i, gapInZone as j, gapLine as k, measureCanvas as m, pickSource as p, seamsBetween as s };
180
+ export { type Box as B, type CanvasDragModel as C, EMPTY_MEASURE as E, HANDLE_GRACE_MS as H, type MeasuredCanvas as M, CanvasDragLayer as a, type CanvasDragLayerProps as b, type CanvasTarget as c, type CanvasSeam as d, type CanvasSource as e, type CanvasZone as f, type MeasuredNode as g, canvasTarget as h, contains as i, gapInZone as j, gapLine as k, sourcesAt as l, measureCanvas as m, pickSource as p, seamsBetween as s };
@@ -1,9 +1,9 @@
1
1
  import { ReactElement, FC, CSSProperties, ReactNode, JSX } from 'react';
2
- import { P as Permissions, A as AppState } from '../types-CGFykP7c.js';
2
+ import { P as Permissions, A as AppState } from '../types-tNFRS_AW.js';
3
3
  import '../data/index.js';
4
4
  import '../types-41704JE4.js';
5
5
  import '../resolve-D68pb3Bx.js';
6
- import '../plan-BdQ9mLIf.js';
6
+ import '../plan-CHKjPr6l.js';
7
7
 
8
8
  /**
9
9
  * efficient-easel/blocks — how a block is WRITTEN: its config, its fields, the
@@ -0,0 +1,16 @@
1
+ import{DEFAULT_DRAG_WORDS as e}from"./chunk-O2NLQBFX.js";import{dropEffectFor as t,scrollBoxOf as n,frameScrollBox as l,startAutoScroll as r,isNoOpDrop as a}from"./chunk-67GNT6PF.js";import{useCanvasLayout as o,useCanvasEvent as s}from"./chunk-PAELDYYS.js";import{framePointToHost as i,elementScale as c,frameRectToLayer as d,clientPointToLayer as u}from"./chunk-ZNCEOSXO.js";import{withTip as h}from"./chunk-P2VEMZH5.js";import{parseZoneKey as f}from"./chunk-KRXQM65X.js";import{useRef as p,useEffect as m,useState as g,useCallback as b,useMemo as y,useSyncExternalStore as v,useId as x,useLayoutEffect as k}from"react";import{Tooltip as w}from"efficient-shell/ui";import{jsxs as N,jsx as A}from"react/jsx-runtime";import{CloseIcon as D,SearchIcon as z}from"efficient-shell/icons/efficient";var T=(e,t,n)=>t>=e.left&&t<=e.left+e.width&&n>=e.top&&n<=e.top+e.height,C=e=>e.width*e.height;function S(e,t,n){return e.map((e,t)=>({s:e,at:t})).filter(({s:e})=>T(e.box,t,n)).sort((e,t)=>C(t.s.box)-C(e.s.box)||e.at-t.at).map(({s:e})=>e)}function E(e,t,n){return S(e,t,n).at(-1)??null}function $(e,t,n){const l="x"===e.axis?t:n;let r=0;for(const t of e.children){l>("x"===e.axis?t.left+t.width/2:t.top+t.height/2)&&(r+=1)}return r}function L(e,t){const n=e.children;if("x"===e.axis){const l=n[t-1],r=n[t],a=l&&r?(l.left+l.width+r.left)/2:l?l.left+l.width:r?r.left:e.box.left,o=r??l??e.box;return{left:a-1,top:o.top,width:2,height:o.height}}const l=n[t-1],r=n[t],a=l&&r?(l.top+l.height+r.top)/2:l?l.top+l.height:r?r.top:e.box.top;return{left:e.box.left,top:a-1,width:e.box.width,height:2}}function j(e,t,n,l,r=()=>!1,a=()=>!0){const o=e.filter(e=>T(e.box,t,n)).sort((e,t)=>C(e.box)-C(t.box));for(const e of o){const o=$(e,t,n),s={...e.list,index:o};if(r(s))return null;if(l(s))return{zone:e,to:s,line:L(e,o)};if(!a(s))return null}return null}function M(e,t=e.key){const n=[];for(let l=1;l<e.children.length;l++){const r=e.children[l-1],a=e.children[l],o=r.top+r.height;n.push({key:`${t}:${l}`,place:{...e.list,index:l},box:{left:e.box.left,top:o,width:e.box.width,height:Math.max(a.top-o,0)}})}return n}var B={nodes:[],zones:[]},O="data-puck-dropzone",K="data-puck-component";function X(e,t){if(e.length>=2){const[t,n]=e;return Math.abs(n.top-t.top)<Math.min(t.height,n.height)/2&&n.left>t.left?"x":"y"}const n=t.ownerDocument.defaultView?.getComputedStyle(t);return n&&n.display.includes("flex")&&n.flexDirection.startsWith("row")?"x":"y"}function q(e,t){const{frame:n,document:l}=e,r=e=>d(n,function(e){const t=e.getBoundingClientRect();return{left:t.left,top:t.top,width:t.width,height:t.height}}(e),t),a=[],o=[];for(const e of l.querySelectorAll(`[${O}]`)){const t=e.getAttribute(O)??"";let n;try{n=f(t)}catch{continue}const l=[...e.querySelectorAll(`[${K}]`)].filter(t=>t.parentElement?.closest(`[${O}]`)===e),s=l.map(r);o.push({key:t,list:n,box:r(e),axis:X(s,e),children:s}),l.forEach((e,t)=>{const l=e.getAttribute(K);l&&a.push({id:l,place:{...n,index:t},box:s[t]})})}return{nodes:a,zones:o}}var P="data-es-empty-cell",Y="data-puck-dropzone",Z=140;var F=e=>({left:e.left,top:e.top,width:e.width,height:e.height});function R(d){const{canvas:h,session:f,readOnly:x,words:D=e.canvas}=d,z=p(d);m(()=>{z.current=d});const T=p(null),C=o(h),[E,$]=g(0),L=b(()=>$(e=>e+1),[]),[M,O]=g(B);m(()=>{const e=T.current;h&&e&&O((z.current.measure??q)(h,e))},[h,C,d.revision,E]);const K=d.model,X=y(()=>K(M),[K,M]),Z=v(f.subscribe,f.shown,f.shown),R=d.choose,Q=(e,t)=>{const n=S(X.sources,e,t);return 0===n.length?null:R?R(n):n[n.length-1]},[V,G]=g(null),[H,I]=g(null),W=p(null),J=()=>{W.current&&clearTimeout(W.current),W.current=null},U=()=>{J(),W.current=setTimeout(()=>{f.get()||G(null)},140)};m(()=>J,[]);const _=p(null);s(h,"mousemove",e=>{const t=T.current;if(!h||!t)return;const n=i(h.frame,e.clientX,e.clientY,t),l=c(t),r={x:n.x/l,y:n.y/l};if(_.current=r,z.current.readOnly||f.get())return;J();const a=Q(r.x,r.y);G(e=>e?.key===a?.key&&e?.box===a?.box?e:a)}),s(h,"mouseout",e=>{e.relatedTarget||(_.current=null,U())}),s(h,"mouseover",e=>{e.relatedTarget||L()});const ee=p(null),te=b(()=>{ee.current?.(),ee.current=null,I(null)},[]);m(()=>f.subscribe(()=>{f.get()?L():te()}),[f,te,L]),m(()=>te,[te]),("undefined"==typeof document?m:k)(()=>{if(f.get())return;const e=_.current;G(t=>x?null:e?Q(e.x,e.y):t?X.sources.find(e=>e.key===t.key)??null:null)},[X,Z,f,x,R]);const ne=e=>{const t=f.get(),n=T.current;if(!t||!n)return null;const l=u(n,e.clientX,e.clientY);_.current=l;const r=j(X.zones,l.x,l.y,e=>z.current.canDrop(t.item,e),e=>!!t.from&&a(t.from,e),e=>z.current.fallThrough?.(t.item,e,t.from)??!0);return r?{h:t,t:r}:null},le={onDragEnter:e=>{if(ee.current)return;const t=n(e.currentTarget.parentElement?.parentElement??null),a=h?l(h.document):null,o=[];t&&o.push(r(t)),a&&h&&o.push(r(a,h.frame)),ee.current=o.length?()=>o.forEach(e=>e()):null},onDragOver:e=>{const n=ne(e);if(!n)return void I(null);e.preventDefault(),e.dataTransfer.dropEffect=t(e.dataTransfer.effectAllowed);const l={zoneKey:n.t.zone.key,line:n.t.line,axis:n.t.zone.axis};I(e=>e&&e.zoneKey===l.zoneKey&&e.line.left===l.line.left&&e.line.top===l.line.top?e:l)},onDragLeave:e=>{const t=e.relatedTarget;t&&e.currentTarget.contains(t)||(_.current=null,I(null))},onDrop:e=>{const t=ne(e);t&&(e.preventDefault(),f.end(),te(),z.current.onDrop(t.h.item,t.t.to))}},re={draggable:!x&&!!V,onMouseEnter:J,onMouseLeave:()=>!f.get()&&U(),onDragStart:e=>{if(V&&!x){f.start({key:V.key,item:V.item,from:V.from}),e.dataTransfer.effectAllowed="move";try{e.dataTransfer.setData("text/plain",V.key)}catch{}}else e.preventDefault()},onDragEnd:()=>{f.end(),te()},onClick:()=>{V&&!x&&z.current.onPick?.(V.item)}},{seams:ae=[]}=X,oe=X.zones.filter(e=>0===e.children.length),se=d.onZoneAdd&&!x?oe:[],ie=se.map(e=>e.key).join("\n");return m(()=>{const e=h?.document;if(!e)return;const t=new Set(ie?ie.split("\n"):[]);for(const n of e.querySelectorAll(`[${Y}]`))n.toggleAttribute(P,t.has(n.getAttribute(Y)??""));return()=>{for(const t of e.querySelectorAll(`[${P}]`))t.removeAttribute(P)}},[h,ie,M,C,E]),/* @__PURE__ */N("div",{ref:T,className:"es-canvas-layer",children:[Z||!d.onSeamAdd||x?null:ae.map(e=>/* @__PURE__ */A("div",{className:"es-canvas-seam",style:{left:e.box.left,top:e.box.top+e.box.height/2-8,width:e.box.width,height:16},children:/* @__PURE__ */A("button",{type:"button",className:"es-canvas-seam-add",onClick:()=>d.onSeamAdd?.(e.place),children:D.addButton({label:d.seamLabel??D.addSection})})},e.key)),se.length?se.map(e=>/* @__PURE__ */A("button",{type:"button",className:H?.zoneKey===e.key?"es-canvas-empty is-over":"es-canvas-empty",style:F(e.box),onClick:()=>d.onZoneAdd?.({...e.list,index:0}),children:/* @__PURE__ */A("span",{className:"es-canvas-empty-add",children:D.addButton({label:d.zoneAddLabel??D.addBlock})})},e.key)):null,Z?/* @__PURE__ */A("div",{className:"es-canvas-catch",...le}):null,H&&!oe.some(e=>e.key===H.zoneKey)?/* @__PURE__ */A("div",{className:`es-canvas-line is-${H.axis}`,style:F(H.line)}):null,
2
+ /* @__PURE__ */A("div",{className:"es-canvas-handle-spot",style:V?{"--es-handle-x":`${V.box.left+2}px`,"--es-handle-y":`${Math.max(V.box.top-11,0)}px`}:void 0,children:/* @__PURE__ */A(w,{className:"es-canvas-handle-tip",side:"top",content:!V||x||Z?null:V.title??D.handle({label:V.label}),children:/* @__PURE__ */N("div",{className:["es-canvas-handle",V&&!x?"is-shown":"",Z?"is-dragging":""].filter(Boolean).join(" "),...re,children:[
3
+ /* @__PURE__ */A("span",{className:"es-canvas-grip","aria-hidden":"true",children:"⋮⋮"}),V?.label]})})})]})}var Q=e=>e.tiles.length>0&&e.tiles.every(e=>null!=e.cover);function V({groups:t,session:n,itemFor:l,onInsert:r,at:a,hint:o,searchLabel:s,readOnly:i,words:c=e.add}){const d=o??c.hint,u=s??c.search,[f,p]=g(""),m=x(),b=f.trim().toLowerCase(),y=function(e){const t=/* @__PURE__ */new Map;return e.map(e=>{const n=e.key??e.title,l=t.get(n)??0;return t.set(n,l+1),0===l?n:`${n}\0${l}`})}(t),v=t.map((e,t)=>({...e,key:y[t],tiles:b?e.tiles.filter(e=>((e,t)=>e.label.toLowerCase().includes(t)||(e.keywords??[]).some(e=>e.toLowerCase().includes(t)))(e,b)):e.tiles})).filter(e=>e.tiles.length>0),k=(e,t)=>r=>{if(t)r.preventDefault();else{n.start({key:`new:${e}`,item:l(e)}),r.dataTransfer.effectAllowed="copy";try{r.dataTransfer.setData("text/plain",e)}catch{}}};/* @__PURE__ */
4
+ return N("div",{className:"es-add",children:[a?/* @__PURE__ */N("div",{className:"es-add-at",role:"status",children:[
5
+ /* @__PURE__ */A("span",{children:a.label}),h(c.stop,/* @__PURE__ */A("button",{type:"button",className:"es-add-at-clear","aria-label":c.stop,onClick:a.onClear,children:/* @__PURE__ */A(D,{size:12,"aria-hidden":"true"})}))]}):null,
6
+ /* @__PURE__ */A("p",{className:"es-add-hint",children:d}),
7
+ /* @__PURE__ */N("div",{className:"es-add-search",children:[
8
+ /* @__PURE__ */A(z,{size:16,"aria-hidden":"true"}),
9
+ /* @__PURE__ */A("input",{id:m,type:"search","aria-label":u,placeholder:c.searchPlaceholder({label:u}),value:f,onChange:e=>p(e.target.value)}),f?/* @__PURE__ */A("button",{type:"button",className:"es-add-search-clear","aria-label":c.clearSearch,onClick:()=>p(""),children:/* @__PURE__ */A(D,{size:12,"aria-hidden":"true"})}):null]}),0===v.length?/* @__PURE__ */N("div",{className:"es-add-empty",role:"status",children:[
10
+ /* @__PURE__ */A("div",{className:"es-add-empty-title",children:c.nothing({query:f.trim()})}),
11
+ /* @__PURE__ */A("div",{className:"es-add-empty-sub",children:c.tryAnother})]}):v.map(e=>/* @__PURE__ */N("section",{className:"es-add-group","aria-label":e.title,children:[
12
+ /* @__PURE__ */N("div",{className:"es-add-group-head",children:[
13
+ /* @__PURE__ */A("span",{className:"es-add-group-title",children:e.title}),
14
+ /* @__PURE__ */A("span",{className:"es-add-group-count",children:e.tiles.length})]}),
15
+ /* @__PURE__ */A("div",{className:Q(e)?"es-add-grid is-cards":"es-add-grid",children:e.tiles.map(e=>{const t=Boolean(i||e.disabled),l=i?void 0:e.disabled?e.disabledReason:e.title??c.tile({label:e.label});return h(l,/* @__PURE__ */N("button",{type:"button",className:null!=e.cover?"es-add-tile has-cover":"es-add-tile",draggable:!t,"aria-disabled":t||void 0,"aria-label":c.tile({label:e.label}),onDragStart:k(e.type,t),onDragEnd:()=>n.end(),onClick:()=>!t&&r(e.type),children:[null!=e.cover?/* @__PURE__ */A("span",{className:"es-add-tile-cover","aria-hidden":"true",children:e.cover}):e.icon?/* @__PURE__ */A("span",{className:"es-add-tile-glyph","aria-hidden":"true",children:e.icon}):null,
16
+ /* @__PURE__ */A("span",{className:"es-add-tile-label",children:e.label})]},e.type))})})]},e.key))]})}export{V as AddPanel,R as CanvasDragLayer,B as EMPTY_MEASURE,Z as HANDLE_GRACE_MS,j as canvasTarget,T as contains,$ as gapInZone,L as gapLine,q as measureCanvas,E as pickSource,M as seamsBetween,S as sourcesAt};
@@ -1 +1 @@
1
- import{useSectionOps as o}from"./chunk-FRGCTHDB.js";import{decodePartId as e,encodePartId as r}from"./chunk-IYT6NN2J.js";import{usePreviewParts as t}from"./chunk-I54UCYOU.js";import{SELECTION_MODE as n}from"./chunk-55IKQFBW.js";import{useEasel as p}from"./chunk-PDZXAFNX.js";import{useCallback as d,useEffect as c}from"react";var s=o=>"part"===o.kind;function m({mode:m,setMode:i,onOpenPart:I}){const{getSelectorForId:a}=p(o=>o),u=o(),{setSelectedPartId:f,setSelectHandler:k}=t(),l=d(o=>{const r=e(o);if(!r)return;const{nodeId:t,propKey:p}=r;p?(i(o=>s(o)&&o.nodeId===t&&o.propKey===p?o:{kind:"part",nodeId:t,propKey:p}),I?.(t)):i(o=>"part"===o.kind?n:o)},[i,I]);c(()=>{k(l)},[k,l]);const h=s(m)?r(m.nodeId,m.propKey):null;c(()=>{f(h)},[h,f]);return{selectNode:d(o=>{i(()=>n);const e=a(o);e&&u.select(e)},[i,a,u]),openPartId:h}}export{m as usePartBridge};
1
+ import{useSectionOps as o}from"./chunk-XBNOEQMR.js";import{decodePartId as e,encodePartId as r}from"./chunk-IYT6NN2J.js";import{usePreviewParts as t}from"./chunk-I54UCYOU.js";import{SELECTION_MODE as n}from"./chunk-YIKMVF24.js";import{useEasel as p}from"./chunk-XW4AV5N4.js";import{useCallback as d,useEffect as c}from"react";var s=o=>"part"===o.kind;function m({mode:m,setMode:i,onOpenPart:I}){const{getSelectorForId:a}=p(o=>o),u=o(),{setSelectedPartId:f,setSelectHandler:k}=t(),l=d(o=>{const r=e(o);if(!r)return;const{nodeId:t,propKey:p}=r;p?(i(o=>s(o)&&o.nodeId===t&&o.propKey===p?o:{kind:"part",nodeId:t,propKey:p}),I?.(t)):i(o=>"part"===o.kind?n:o)},[i,I]);c(()=>{k(l)},[k,l]);const h=s(m)?r(m.nodeId,m.propKey):null;c(()=>{f(h)},[h,f]);return{selectNode:d(o=>{i(()=>n);const e=a(o);e&&u.select(e)},[i,a,u]),openPartId:h}}export{m as usePartBridge};
@@ -1,7 +1,7 @@
1
- import{clientOnly as n}from"./chunk-GXQCZJOP.js";import{ScreenStoreProvider as r}from"./chunk-6QSPOILR.js";import{ScreenChrome as e}from"./chunk-TNTV7UZ6.js";import{ScreenDocumentProvider as i,useScreenDocument as a}from"./chunk-WZMU646D.js";import{DEFAULT_SCREEN_WORDS as s}from"./chunk-MCHMF32I.js";import{documentPermissions as o}from"./chunk-THWO5YVZ.js";import{useWords as c}from"./chunk-MFIRYGHW.js";import{useMemo as t}from"react";import{Dialog as d,Button as l}from"efficient-shell/ui";import{jsx as m,jsxs as g,Fragment as h}from"react/jsx-runtime";var f=n(r),v=n(e);function p({saving:n,onCancel:r,onDiscard:e,onSave:i}){const a=c("screen",s).leave;/* @__PURE__ */
1
+ import{clientOnly as n}from"./chunk-GXQCZJOP.js";import{ScreenStoreProvider as r}from"./chunk-LZ6EGT4Y.js";import{ScreenChrome as e}from"./chunk-RKSKUGWC.js";import{ScreenDocumentProvider as i,useScreenDocument as a}from"./chunk-WZMU646D.js";import{DEFAULT_SCREEN_WORDS as s}from"./chunk-MCHMF32I.js";import{documentPermissions as o}from"./chunk-THWO5YVZ.js";import{useWords as c}from"./chunk-MFIRYGHW.js";import{useMemo as t}from"react";import{Dialog as d,Button as l}from"efficient-shell/ui";import{jsx as m,jsxs as g,Fragment as h}from"react/jsx-runtime";var f=n(r),v=n(e);function p({saving:n,onCancel:r,onDiscard:e,onSave:i}){const a=c("screen",s).leave;/* @__PURE__ */
2
2
  return m(d,{open:!0,role:"alertdialog",size:"sm",title:a.title,onClose:r,footer:/* @__PURE__ */g(h,{children:[
3
3
  /* @__PURE__ */m(l,{variant:"secondary",onClick:r,children:a.cancel}),
4
4
  /* @__PURE__ */m(l,{variant:"ghost-danger",onClick:e,children:a.discard}),
5
5
  /* @__PURE__ */m(l,{variant:"primary",loading:n,onClick:i,children:n?a.saving:a.save})]}),children:a.body})}function u({target:n,addressing:r,onHostMessage:e,children:a}){/* @__PURE__ */
6
- return m(i,{target:n,addressing:r,onHostMessage:e,children:a})}var k=(n,r)=>/* @__PURE__ */g(h,{children:[n,r]});function C({config:n,parts:r,wrap:e=k}){const{data:i,error:d,redirecting:l,ready:g,saveStatus:h,readOnly:u,onChange:C,pendingNav:N,cancelPendingNav:j,discardAndNavigate:M,saveAndNavigate:y}=a(),H=t(()=>o(!u),[u]),O=c("screen",s);return l?/* @__PURE__ */m("div",{className:"sf-msg",children:O.loading}):d?/* @__PURE__ */m("div",{className:"sf-msg sf-msg--error",children:d}):g?i?e(
7
- /* @__PURE__ */m(f,{config:n,data:i,onChange:C,permissions:H,parts:r,children:/* @__PURE__ */m(v,{})}),N&&/* @__PURE__ */m(p,{saving:"saving"===h,onCancel:j,onDiscard:M,onSave:()=>{y()}})):/* @__PURE__ */m("div",{className:"sf-msg",children:O.loading}):/* @__PURE__ */m("div",{className:"sf-msg",children:O.waitingForAuthorization})}export{C as DocumentScreen,u as ScreenMount};
6
+ return m(i,{target:n,addressing:r,onHostMessage:e,children:a})}var C=(n,r)=>/* @__PURE__ */g(h,{children:[n,r]});function k({config:n,parts:r,wrap:e=C}){const{data:i,error:d,redirecting:l,ready:g,saveStatus:h,readOnly:u,onChange:k,pendingNav:j,cancelPendingNav:N,discardAndNavigate:M,saveAndNavigate:y}=a(),H=t(()=>o(!u),[u]),G=c("screen",s);return l?/* @__PURE__ */m("div",{className:"sf-msg",children:G.loading}):d?/* @__PURE__ */m("div",{className:"sf-msg sf-msg--error",children:d}):g?i?e(
7
+ /* @__PURE__ */m(f,{config:n,data:i,onChange:k,permissions:H,parts:r,children:/* @__PURE__ */m(v,{})}),j&&/* @__PURE__ */m(p,{saving:"saving"===h,onCancel:N,onDiscard:M,onSave:()=>{y()}})):/* @__PURE__ */m("div",{className:"sf-msg",children:G.loading}):/* @__PURE__ */m("div",{className:"sf-msg",children:G.waitingForAuthorization})}export{k as DocumentScreen,u as ScreenMount};
@@ -0,0 +1,5 @@
1
+ import{blockTypesIn as e}from"./chunk-5ZBY24K7.js";import{buildPaletteSections as t,pinnedSection as o,paletteWithoutPinned as n,categoryLabel as i}from"./chunk-PA3PNTVV.js";import{sectionTemplatesOf as s}from"./chunk-BVN33R76.js";import{SidePanelHead as r,PanelModeExit as c}from"./chunk-5SOSVTVI.js";import{useEaselSession as l}from"./chunk-O7Q4DDJT.js";import{blockRuns as a}from"./chunk-HQ4VVRIC.js";import{useScreenBlockLook as p,useScreenBlockRules as m}from"./chunk-YIKMVF24.js";import{DEFAULT_SCREEN_WORDS as d}from"./chunk-MCHMF32I.js";import{useEasel as f}from"./chunk-XW4AV5N4.js";import{useWords as u}from"./chunk-MFIRYGHW.js";import{AddPanel as k}from"./chunk-2GLQRNYT.js";import{DEFAULT_DRAG_WORDS as h}from"./chunk-O2NLQBFX.js";import{useState as y,useEffect as b,useMemo as j}from"react";import{AddIcon as g}from"efficient-shell/icons/efficient";import{jsx as $,jsxs as O,Fragment as V}from"react/jsx-runtime";var B=e=>`section:${e}`,I=e=>`block:${e}`,v=e=>`template:${e}`;function N({blocks:N,blocksOnly:x,at:F,onAdd:L,itemFor:A,session:H,siteWide:T,onClose:C,onHide:M,readOnly:Q}){const R=f(e=>e.config),S=p(),{labelAtLevel:Y,categoryLabel:w,firstSection:D,Icon:W,Thumbnail:z}=S,{blockIsOffered:G}=m(),K=u("screen",d).add,P=u("drag",h).add,X=l(),[E,J]=y([]);b(()=>{let t=!1;const o=e=>G(e,X);return s(X).list().then(n=>{if(t)return;const i=R.components;J(n.filter(t=>t.node?.type&&i[t.node.type]&&e(t.node).every(o)))}).catch(()=>{}),()=>{t=!0}},[R,X]);const Z=j(()=>t(R,S),[R]),q=e=>({type:B(e.type),label:e.name,cover:/* @__PURE__ */$(z,{type:e.type}),title:e.desc?`${e.name} — ${e.desc}`:K.tile({name:e.name}),keywords:[e.alias??"",e.desc,e.type,e.catLabel].filter(Boolean)}),U=j(()=>{const e=[];if(N&&N.choices.length>0&&a(N.choices).forEach((t,o)=>{e.push({key:`blocks:${o}`,title:0===o?`${K.inside({name:N.parentName})}${t.group?` · ${t.group}`:""}`:t.group??"",tiles:t.items.map(e=>({type:I(e.type),label:e.label,icon:/* @__PURE__ */$(W,{type:e.type,size:18}),title:K.tile({name:e.label})}))})}),x)return e;const t=o(Z,D);t&&e.push({key:"start",title:K.startBlank,tiles:[q(t)]}),E.length>0&&e.push({key:"templates",title:K.templates,tiles:E.map(e=>{return{type:v(e.id),label:e.name,cover:/* @__PURE__ */$(z,{type:e.node.type}),keywords:[(t=e.node.type,Y(t,"section",R.components[t]?.label??t)),e.node.type]};var t})});const s=n(Z,D);for(const t of Object.keys(R.categories??{})){const o=s.filter(e=>e.cat===t);0!==o.length&&e.push({key:`category:${t}`,title:i(R,t,w),tiles:o.map(q)})}return e},[N,x,E,Z,R,K]),_=e=>{const t=e.indexOf(":"),o=e.slice(0,t),n=e.slice(t+1);if("section"===o)return{kind:"section",type:n};if("block"===o)return{kind:"block",type:n};if("template"===o){const e=E.find(e=>e.id===n);return e?{kind:"template",template:e}:null}return null};/* @__PURE__ */
2
+ return O(V,{children:[
3
+ /* @__PURE__ */$(r,{icon:/* @__PURE__ */$(g,{size:15}),title:K.title,context:x?K.contextBlocks:K.contextAll,actions:/* @__PURE__ */$(c,{label:K.done,description:K.doneDescription,onClick:C}),onHide:M}),
4
+ /* @__PURE__ */O("div",{className:"sf-addside sf-scroll",children:[
5
+ /* @__PURE__ */$(k,{groups:U,session:H,itemFor:e=>A(_(e)??{kind:"section",type:e}),onInsert:e=>{const t=_(e);t&&L(t)},at:F,hint:x?K.hintBlocks:K.hint,searchLabel:x?K.searchBlocks:K.searchSections,readOnly:Q,words:P}),T&&!x?T:null]})]})}export{N as AddSidePanel,I as blockKey,B as sectionKey,v as templateKey};
@@ -1,2 +1,2 @@
1
- import{ScreenPartsProvider as t}from"./chunk-55IKQFBW.js";import{useEaselHost as r}from"./chunk-U3JP4VGF.js";import{createEasel as e,EaselProvider as n}from"./chunk-PDZXAFNX.js";import{useState as o,useEffect as s}from"react";import{jsx as i}from"react/jsx-runtime";function a({config:a,data:c,onChange:m,permissions:p,parts:f,children:u}){const[h]=o(()=>e({config:a,data:c,permissions:p}));s(()=>{h.setConfig(a)},[h,a]),s(()=>{if(!m)return;let t=h.getState().appState.data;return h.subscribe(()=>{const r=h.getState().appState.data;r!==t&&(t=r,m(r))})},[h,m]),s(()=>{p&&h.setPermissions(p)},[h,p]);const d=r();/* @__PURE__ */
1
+ import{ScreenPartsProvider as t}from"./chunk-YIKMVF24.js";import{useEaselHost as r}from"./chunk-U3JP4VGF.js";import{createEasel as e,EaselProvider as n}from"./chunk-XW4AV5N4.js";import{useState as o,useEffect as s}from"react";import{jsx as i}from"react/jsx-runtime";function a({config:a,data:c,onChange:m,permissions:p,parts:f,children:u}){const[h]=o(()=>e({config:a,data:c,permissions:p}));s(()=>{h.setConfig(a)},[h,a]),s(()=>{if(!m)return;let t=h.getState().appState.data;return h.subscribe(()=>{const r=h.getState().appState.data;r!==t&&(t=r,m(r))})},[h,m]),s(()=>{p&&h.setPermissions(p)},[h,p]);const d=r();/* @__PURE__ */
2
2
  return i(n,{easel:h,hotkeys:d.ownsDocument,children:/* @__PURE__ */i(t,{parts:f,children:u})})}export{a as ScreenStoreProvider};
@@ -1,4 +1,4 @@
1
- import{blockRuns as e}from"./chunk-HQ4VVRIC.js";import{useScreenBlockLook as r}from"./chunk-55IKQFBW.js";import{DEFAULT_SCREEN_WORDS as s}from"./chunk-MCHMF32I.js";import{useWords as t}from"./chunk-MFIRYGHW.js";import{DropdownMenu as n}from"efficient-shell/ui";import{jsxs as c,Fragment as i,jsx as o}from"react/jsx-runtime";function l({choices:l,onPick:p}){const{Icon:a}=r(),m=t("screen",s),u=e(l).flatMap(e=>[...e.group?[{type:"label",key:`group:${e.group}`,label:/* @__PURE__ */c(i,{children:[e.group," ",
1
+ import{blockRuns as e}from"./chunk-HQ4VVRIC.js";import{useScreenBlockLook as r}from"./chunk-YIKMVF24.js";import{DEFAULT_SCREEN_WORDS as s}from"./chunk-MCHMF32I.js";import{useWords as t}from"./chunk-MFIRYGHW.js";import{DropdownMenu as n}from"efficient-shell/ui";import{jsxs as c,Fragment as i,jsx as o}from"react/jsx-runtime";function l({choices:l,onPick:p}){const{Icon:a}=r(),m=t("screen",s),u=e(l).flatMap(e=>[...e.group?[{type:"label",key:`group:${e.group}`,label:/* @__PURE__ */c(i,{children:[e.group," ",
2
2
  /* @__PURE__ */o("span",{className:"sf-menugroup-count",children:e.items.length})]})}]:[],...e.items.map(e=>({key:e.type,label:e.label,icon:/* @__PURE__ */o("span",{className:"sf-chip",children:/* @__PURE__ */o(a,{type:e.type,size:13})}),onSelect:()=>p(e.type)}))]);/* @__PURE__ */
3
3
  return o(n,{align:"start",triggerClassName:"sf-add-card",items:u,trigger:/* @__PURE__ */c(i,{children:[
4
4
  /* @__PURE__ */o("span",{className:"sf-plus sf-plus--sm",children:"+"}),m.addBlockMenu]})})}export{l as AddBlockRow};
@@ -0,0 +1,65 @@
1
+ import{dedupeSlotChildren as e}from"./chunk-26OOWIJJ.js";import{styleClipboardOf as n}from"./chunk-7P6IFCR4.js";import{markedTreeNodeId as t,revealSelectedTreeRow as o,sameSelector as r}from"./chunk-FGNR22NY.js";import{cloneNodeWithFreshIds as i}from"./chunk-2GVCAIPX.js";import{rootRowName as l,slotChildRowName as s,slotChildRenameProp as d,sectionRenameProp as c}from"./chunk-TBF5CVPA.js";import{scrollPreviewToSection as a,gotoPreviewSlide as p,scrollPreviewToTop as u}from"./chunk-4ES5JGGX.js";import{useEaselKeyTarget as f,useEaselUndoKeys as h,editorRootFocus as m}from"./chunk-VZGLBEAE.js";import{SlotChildActionsProvider as g}from"./chunk-KCBEE2MC.js";import{screenStorageKeys as y,DEFAULT_PANEL_W as k,clampPanelWidth as S}from"./chunk-42TMLDSQ.js";import{usePartBridge as v}from"./chunk-6N64PNWF.js";import{useSectionOps as w}from"./chunk-XBNOEQMR.js";import{useNodeClipboard as x,useNodeContextMenu as b}from"./chunk-MTRFMGBO.js";import{PageEditGuardNotices as z}from"./chunk-2I7MAA2U.js";import{useScreenDocument as B}from"./chunk-WZMU646D.js";import{requestMediaPick as C}from"./chunk-KG7RJWOK.js";import{heldStyle as N,styleShortcut as O}from"./chunk-V7U33NF2.js";import{AddChildRow as I}from"./chunk-5545A3PC.js";import{AddSidePanel as T}from"./chunk-LUSM3QTY.js";import{SidePanelHead as P,PanelShowStrip as $}from"./chunk-5SOSVTVI.js";import{MediaSidePanel as M}from"./chunk-SCPCXNTB.js";import{useScreenSaveSwitch as A,useScreenNodeKeys as j,useScreenPinned as R,useScreenDocumentLabel as L,useScreenCanvasFrame as E,useScreenInspectorPanel as V,useScreenDevices as F,useScreenPickFollowsSelection as D,useScreenLeftView as U,useScreenAdd as W,SELECTION_MODE as H,sameInspectorMode as G,useScreenBridges as Y,useScreenBlockRules as X,useScreenBlockLook as J,useScreenStorageNamespace as K,useScreenNotify as Q,useScreenCanvasHead as _,isSlotMode as q,useScreenStyleClipboard as Z,useScreenDocumentPass as ee,useScreenCanvasDrag as ne,ScreenCanvasTargetProvider as te,isPinnedFirst as oe,isPinnedLast as re,screenSlotsOf as ie}from"./chunk-YIKMVF24.js";import{ROOT_ZONE as le,blockNodeActions as se,TREE_MAX_DEPTH as de,childSlotsOf as ce,slotFieldsOf as ae,slotChildrenIn as pe,nestsInTree as ue,newNodeId as fe}from"./chunk-PLVEGYK6.js";import{useMediaPanel as he,usePanelPick as me,useCancelPanelPick as ge}from"./chunk-R6WTQWAC.js";import{useEaselHost as ye,useHostEscape as ke}from"./chunk-U3JP4VGF.js";import{DEFAULT_STYLE_CLIPBOARD_WORDS as Se}from"./chunk-6WY6ZXJG.js";import{DEFAULT_SCREEN_WORDS as ve}from"./chunk-MCHMF32I.js";import{useEasel as we,useEaselApi as xe}from"./chunk-XW4AV5N4.js";import{TreeRow as be,Subtree as ze,LayersTree as Be,TreeGroupLabel as Ce,TreeRowAction as Ne,TreeSeam as Oe}from"./chunk-UFY6RNMT.js";import{DEFAULT_TREE_WORDS as Ie}from"./chunk-K56YDHYQ.js";import{DEFAULT_NODE_MENU_WORDS as Te}from"./chunk-WK3AFPXY.js";import{toItemSelector as Pe,useNodeOps as $e,clickPick as Me}from"./chunk-UK2FQOUT.js";import{LayersIcon as Ae,MediaIcon as je}from"./chunk-4VJATVVR.js";import{DEFAULT_SAVE_WORDS as Re,saveIndicator as Le}from"./chunk-H6DDIBQ4.js";import{EaselTopBar as Ee,TopBarRail as Ve,TopBarCluster as Fe,EaselIconButton as De,TopBarDivider as Ue,DeviceSwitch as We,InspectorIconButton as He,PanelResizeHandle as Ge,MAX_PANEL_W as Ye,MIN_PANEL_W as Xe,panelWidthVars as Je,SaveState as Ke,SaveStateToggle as Qe}from"./chunk-GTDLBUOC.js";import{DEFAULT_CHROME_WORDS as _e}from"./chunk-Y2G7CU6A.js";import{useWords as qe}from"./chunk-MFIRYGHW.js";import{CanvasDragLayer as Ze}from"./chunk-2GLQRNYT.js";import{DEFAULT_DRAG_WORDS as en}from"./chunk-O2NLQBFX.js";import{createDragSession as nn,useTreeDrag as tn,gapToMoveIndex as on}from"./chunk-67GNT6PF.js";import{useCanvasFrame as rn,BLOCK_SELECTOR as ln,useCanvasEvent as sn}from"./chunk-PAELDYYS.js";import{zoneKey as dn,ROOT_ID as cn,ROOT_SLOT as an,parseZoneKey as pn,DataError as un,find as fn}from"./chunk-KRXQM65X.js";import{useRef as hn,useMemo as mn,useState as gn,useEffect as yn,useCallback as kn,useLayoutEffect as Sn,Fragment as vn}from"react";import{Tooltip as wn,Button as xn,toast as bn}from"efficient-shell/ui";import{UndoIcon as zn,RedoIcon as Bn,TrashIcon as Cn,EyeOffIcon as Nn,EyeIcon as On,DuplicateIcon as In}from"efficient-shell/icons/efficient";import{jsx as Tn,jsxs as Pn,Fragment as $n}from"react/jsx-runtime";function Mn({saveState:e,notSaving:n,readOnlyReason:t,toggle:o,onToggle:r,onRetry:i,words:l,saveWords:s}){if(null!==t)/* @__PURE__ */return Tn(Ke,{tone:"off",label:t,role:"status"});if(n)/* @__PURE__ */
2
+ return Tn(Ke,{tone:e.pending?"off-unsaved":"off",label:l.notSaving,role:"status"});const{tone:d,label:c}=Le(e,s),a=e.failed&&!e.paused&&/* @__PURE__ */Tn(xn,{variant:"secondary",size:"sm",onClick:i,children:l.retry});/* @__PURE__ */
3
+ return Pn($n,o?{children:[
4
+ /* @__PURE__ */Tn(Qe,{pressed:e.paused,onToggle:r,title:e.paused?l.autoSaveOff:l.autoSaveOn,children:/* @__PURE__ */Tn(Ke,{tone:d,label:c})}),a]}:{children:[
5
+ /* @__PURE__ */Tn(Ke,{tone:d,label:c,role:"status"}),a]})}function An({expand:e}){/* @__PURE__ */
6
+ return Tn("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.9,strokeLinecap:"round",strokeLinejoin:"round",children:/* @__PURE__ */Pn($n,e?{children:[
7
+ /* @__PURE__ */Tn("path",{d:"M8 9l4-4 4 4"}),
8
+ /* @__PURE__ */Tn("path",{d:"M8 15l4 4 4-4"})]}:{children:[
9
+ /* @__PURE__ */Tn("path",{d:"M8 4l4 4 4-4"}),
10
+ /* @__PURE__ */Tn("path",{d:"M8 20l4-4 4 4"}),
11
+ /* @__PURE__ */Tn("path",{d:"M5 12h14"})]})})}function jn(e,n,t){const o=t-n;if(o<6)return null;if(o<26)return{top:Math.round((n+t)/2),height:Math.round(o)};return{top:Math.round(Math.min(Math.max(e,n+13),t-13))}}var Rn="__rungs";var Ln="screen:band",En={duplicate:!0,delete:!0};function Vn(){const Le=ye(),{target:Ke,docId:Qe,capabilities:Vn,currentSlug:Fn,siteId:Dn,onPublish:Un,saveState:Wn,saveConflict:Hn,retrySave:Gn,toggleAutoSave:Yn,readOnly:Xn,readOnlyReason:Jn=null}=B(),Kn=A(),Qn=j(),{mediaEditing:_n,hasEditGuard:qn,hasPinnedChrome:Zn}=Vn,{appState:et,dispatch:nt,history:tt,selectedItem:ot,getSelectorForId:rt,config:it}=we(e=>e),lt=R(),{first:st,firstGroup:dt,lastGroup:ct,isSectionGroup:at,sectionGroupZone:pt,panelOf:ut}=lt,ft=ut(st),ht=e=>oe(lt,e),mt=e=>re(lt,e),gt="node"===lt.firstRow,yt=lt.band??null,kt=qe("screen",ve),St=qe("tree",Ie),vt=qe("drag",en),wt=qe("save",Re),xt=qe("menu",Te),bt=qe("styleClipboard",Se),zt=qe("chrome",_e),Bt=L()??`/${Fn}`,Ct=E(),Nt=V(),Ot=w({readOnly:Xn}),It=w({readOnly:Xn,foldIntoHistory:!0}),Tt=hn(null),Pt=xe(),$t=mn(()=>({...Ot,select:e=>{Tt.current=e,Ot.select(e)},commitDocument:(e,n)=>{if(void 0!==n){const t=Pt.config;Tt.current=Pe(e,t,n)}Ot.commitDocument(e,n)}}),[Ot,Pt]),Mt=et.ui,At=Mt.leftSideBarVisible,jt=Mt.rightSideBarVisible,{options:Rt,widths:Lt,initial:Et,fluid:Vt,fit:Ft}=F(),[Dt,Ut]=gn(Et),Wt=he(),Ht=_n&&null!==Wt,Gt=me(),Yt=ge();D(ot?.props.id);const{read:Xt,write:Jt,forSelection:Kt}=U(),[Qt,_t]=gn(Xt);yn(()=>{Jt(Qt)},[Qt]);const[qt,Zt]=gn(0),eo=hn(null),no=hn(null),to=rn(no,{readySelector:ln}),oo=f(no);h(no,to);const[ro,io]=gn(!1),lo=hn(!1),so=hn(!1),[co,ao]=gn(null),po=W(),uo=e=>ao(null===e?null:{zone:le,index:e}),[fo,ho]=gn([]),[mo,go]=gn(H),yo="puck"===mo.kind,ko=ro&&!co&&po.railTarget?po.railTarget(et.data,{node:ot??null,mode:mo}):null,So=ko?{zone:dn(ko),index:ko.index}:null,vo=co??So,wo=vo&&vo.zone===le?vo.index:null,xo=t(mo,ot?.props.id),[bo,zo]=gn(null);yn(()=>{bo&&(o(),zo(null))},[bo]);const Bo=hn(rt);Bo.current=rt;const Co=kn((e,{scroll:n})=>{_t(n=>Kt(e,n)),n&&zo(e);const t=[];let o=e;for(let e=0;e<4;e++){const e=Bo.current(o)?.zone;if(!e||!e.includes(":"))break;const n=e.split(":")[0];t.push(n),t.push(e),o=n}0!==t.length&&tr(e=>{if(t.every(n=>!e.has(n)))return e;const n=new Set(e);return t.forEach(e=>n.delete(e)),n})},[]),No=hn(null);yn(()=>{const e=No.current;No.current=null;const n=null==ot?.props.id?null:String(ot.props.id);go(e&&e.id===n?e.mode:ut(ot?.type)??H);const t=ot?.props.id,o=Tt.current;if(Tt.current=null,!t)return;const i=rt(t);Co(String(t),{scroll:!r(o,i??null,le)})},[ot?.props.id,Co]);const Oo=kn(e=>{go(n=>G(n,e)?n:e),nt({type:"setUi",ui:{rightSideBarVisible:!0}})},[nt]),Io=hn(()=>{});Io.current=(e,n)=>{const t=e?Xr(e.zone??le)[e.index]?.props.id:null,o=null==t?null:String(t),r=null==ot?.props.id?null:String(ot.props.id);go(e=>G(e,n)?e:n),o!==r&&(No.current={id:o,mode:n},$t.select(e))};const To=kn((e,n)=>Io.current(e,n),[]),Po={kind:mo.kind,mode:mo,open:Oo,show:e=>go(e),reveal:()=>{jt||nt({type:"setUi",ui:{rightSideBarVisible:!0}})},select:To},$o=Y(Po,{data:et.data,selected:ot??null,zoneOf:e=>rt(e)?.zone,readOnly:Boolean(Xn),select:e=>{go(H),$t.select({index:e})},replace:(e,n)=>$t.replaceComponent(le,e,n),scrollTo:e=>ki(e)},{device:Dt,refreshes:qt},{setView:_t,reveal:()=>{At||nt({type:"setUi",ui:{leftSideBarVisible:!0}})}}),Mo=$o.pinnedSource??!1,Ao=$o.resolveLeftView?$o.resolveLeftView(Qt,Ht):"media"===Qt&&Ht?Qt:"sections",jo=X(),{isLockedBlock:Ro,duplicateBlocked:Lo,nestDepth:Eo,newSectionNode:Vo,canAddTo:Fo,blockIsOffered:Do}=jo,Uo=J(),{labelAtLevel:Wo,Icon:Ho,useProducts:Go}=Uo,Yo=Uo.rowName?(e,n,t)=>Uo.rowName(e,n,t):void 0,Xo=kn(e=>{nt({type:"setUi",ui:{rightSideBarVisible:!0}}),a(e),Co(e,{scroll:!0})},[nt,Co]),{selectNode:Jo,openPartId:Ko}=v({mode:mo,setMode:go,onOpenPart:Xo}),[Qo,_o]=gn(null);ke(null!==Qo,()=>_o(null));const qo=y(K()),Zo=qo.collapsed,er=qo.panelWidths,[nr,tr]=gn(()=>{if("undefined"==typeof window)/* @__PURE__ */return new Set;try{const e=window.localStorage.getItem(Zo);return new Set(e?JSON.parse(e):[])}catch{/* @__PURE__ */
12
+ return new Set}});yn(()=>{try{window.localStorage.setItem(Zo,JSON.stringify([...nr]))}catch{}},[nr]);const[or,rr]=gn(()=>{if("undefined"==typeof window)return{...k};try{const e=window.localStorage.getItem(er);if(!e)return{...k};const n=JSON.parse(e);return{left:S(Number(n.left)||k.left),right:S(Number(n.right)||k.right)}}catch{return{...k}}});yn(()=>{const e=setTimeout(()=>{try{window.localStorage.setItem(er,JSON.stringify(or))}catch{}},300);return()=>clearTimeout(e)},[or]);const ir=kn((e,n)=>rr(t=>{const o="function"==typeof n?n(t[e]):n;return t[e]===o?t:{...t,[e]:o}}),[]),lr=kn(e=>ir("left",e),[ir]),sr=kn(e=>ir("right",e),[ir]),dr=e=>nr.has(e),cr=e=>tr(n=>{const t=new Set(n);return t.has(e)?t.delete(e):t.add(e),t}),ar=hn(!1),pr=hn(null);yn(()=>{if(ar.current&&!ro){const e=pr.current,n=e&&e.isConnected&&!e.closest('[aria-hidden="true"]')?e:null;(n??no.current?.querySelector(`button[aria-label="${CSS.escape(kt.add.title)}"]`))?.focus(),pr.current=null}ar.current=ro},[ro]),yn(()=>{if(!ro||!oo)return;const e=e=>{"Escape"===e.key&&Ni()};return oo.addEventListener("keydown",e),()=>oo.removeEventListener("keydown",e)},[ro,oo]),ke(ro,()=>Ni()),yn(()=>{!At&&ro&&(io(!1),ao(null),lo.current=!1)},[At]),yn(()=>{if(!Gt)return so.current&&nt({type:"setUi",ui:{leftSideBarVisible:!1}}),void(so.current=!1);ro&&(io(!1),ao(null),so.current=lo.current,lo.current=!1),At||(so.current=!0,nt({type:"setUi",ui:{leftSideBarVisible:!0}}))},[Gt]),yn(()=>{!At&&Gt&&(so.current=!1,Yt())},[At]),yn(()=>{if(!Gt||!oo)return;const e=e=>{"Escape"===e.key&&Yt()};return oo.addEventListener("keydown",e),()=>oo.removeEventListener("keydown",e)},[Gt,oo]),ke(null!==Gt,()=>Yt());const ur=Q(),fr=(e,n="success")=>{ur?ur(e,"error"===n?"error":"info"):"error"===n?bn.error(e,{duration:3200,sound:!1}):bn.success(e,{duration:1900,sound:!1})},hr=hn(null),[mr,gr]=gn(0),[yr,kr]=gn(0),Sr=_(),vr=hn(null),wr=e=>Math.max(0,e.clientHeight-(vr.current?.offsetHeight??0));yn(()=>{const e=hr.current;if(!e)return;const n=()=>{gr(e.clientWidth),kr(wr(e))};n();const t=new ResizeObserver(n);return t.observe(e),vr.current&&t.observe(vr.current),()=>t.disconnect()},[]),Sn(()=>{hr.current&&(gr(hr.current.clientWidth),kr(wr(hr.current)))},[or,At,jt]);const xr=Dt===Vt?mr>0?mr:Lt[Vt]:Lt[Dt],br=mr>0?Math.min(mr/xr,"shrink"===Ft?1:2):1,zr=xr*br,Br=mr>0&&zr>mr+1,Cr={width:zr,height:yr||"100%",flex:"none",position:"relative"},Nr={width:xr,height:yr?yr/br:"100%",maxHeight:"none",transform:1!==br?`scale(${br})`:void 0,transformOrigin:"top left"},Or=()=>nt({type:"setUi",ui:{leftSideBarVisible:!At}}),Ir=()=>nt({type:"setUi",ui:{rightSideBarVisible:!jt}}),Tr=e=>{ro&&(io(!1),ao(null),lo.current=!1,At&&Qt===e)||Gt&&(so.current=!1,Yt(),At&&Qt===e)||(At&&Qt===e?Or():(_t(e),At||nt({type:"setUi",ui:{leftSideBarVisible:!0}})))},Pr=()=>{C(Le,{accept:"image/*",title:zt.mediaLibrary})},$r=()=>{go(H),$t.select(null),u()},Mr=()=>{go(ft??H),jt||nt({type:"setUi",ui:{rightSideBarVisible:!0}})},Ar=et.data.content??[],jr=()=>{const e=Ar.findIndex(ht),n=Ar.findIndex(mt);return{floor:e>=0?e+1:0,cap:n>=0?n:Ar.length}},Rr=it,Lr=jo.stripCopy,Er=e=>i(e,Lr),Vr=x(),Fr=$e({data:et.data,config:Rr,readOnly:Boolean(Xn),clipboard:Vr,strip:Lr?e=>Lr(e):void 0,afterRemove:"none",stepBounds:(e,n)=>{if(e.parentId!==cn||e.slot!==an)return{min:0,max:n-1};const{floor:t,cap:o}=jr();return{min:t,max:o-1}},commit:(e,{select:n})=>{void 0!==n&&go(H);const t=void 0===n||"node"===n?.kind?n:null;$t.commitDocument(e,t)}}),Dr=e=>Wo(e,"block",it.components[e]?.label??e),Ur=kn(e=>it.components[e]?.defaultProps??{},[it]),Wr=e=>Wo(e,"section",Dr(e)),Hr=e=>l({type:e.type,props:e.props??{}},Wr(e.type),Yo),{nodeAddresses:Gr,zoneItems:Yr}=mn(()=>{const e=/* @__PURE__ */new Map,n=/* @__PURE__ */new Map,t=(o,r,i)=>{n.set(r,o),o.forEach((n,o)=>{const l=String(n.props?.id??"");if(l&&e.set(l,{zone:r,index:o}),i>=de)return;const s=/* @__PURE__ */new Map;for(const{child:e,zone:t}of ce(it,n))s.set(t,[...s.get(t)??[],e]);for(const[e,n]of s)t(n,e,i+1)})};return t(Ar,le,0),{nodeAddresses:e,zoneItems:n}},[Ar,it]),Xr=kn(e=>Yr.get(e)??[],[Yr]),Jr=e=>{const n=Gr.get(e);return n?Xr(n.zone)[n.index]:void 0},Kr=e=>ie(jo,it,e),Qr=e=>{if(!jo.slotsOf||e===le)return null;const n=e.lastIndexOf(":");if(n<=0)return null;const t=Jr(e.slice(0,n));if(!t)return null;const o=Kr(t).filter(e=>e.rung),r=o.findIndex(t=>t.slot===e.slice(n+1));return r<0?null:{node:t,slot:o[r],position:r}},_r=(()=>{if(!q(mo))return null;const e=`${mo.nodeId}:${mo.slot}`;return Qr(e)?.slot.panel===mo.kind?e:null})(),qr=hn(null);yn(()=>{const e=qr.current;if(qr.current=null,!_r||!q(mo))return;const n=mo.nodeId;Co(n,{scroll:e!==_r}),tr(e=>{if(!e.has(n))return e;const t=new Set(e);return t.delete(n),t})},[mo]);const Zr=(e,n,t)=>{const o=String(e.props.id);if(!n.panel)return void(e=>{const n=Gr.get(e);n&&(n.zone===le?Si(n.index):Ki(n.zone,n.index,e,Jr(n.zone.slice(0,n.zone.lastIndexOf(":")))?.type??""))})(o);const r={kind:n.panel,nodeId:o,slot:n.slot},i=`${o}:${n.slot}`;t&&_r!==i&&(qr.current=i),To(null,r),jt||nt({type:"setUi",ui:{rightSideBarVisible:!0}}),ki(o)},ei=(e,n,t)=>{const o=`${e}:${n}`;if(tr(n=>{if(!n.has(o)&&!n.has(e))return n;const t=new Set(n);return t.delete(o),t.delete(e),t}),!t)return;_r!==o&&(qr.current=o);To(null,{kind:t,nodeId:e,slot:n})},ni=(e,n,t)=>{if(Xn||!jo.moveSlot)return;const o=Jr(e),r=o?Kr(o).filter(e=>e.rung):[],i=r[n];if(!i)return;const l={parentId:e,slot:Rn,index:n},s=on(l,{...l,index:Math.min(Math.max(t,0),r.length)});if(s===n)return;const d=jo.moveSlot(e,n,s);"string"==typeof d&&ei(e,d,i.panel)},ti=Go(),oi=mn(()=>{const e=/* @__PURE__ */new Map;for(const n of ti??[])e.set(n.slug,n.name);return e},[ti]),ri=e=>s(e,Dr,Uo.plainText,e=>oi.get(e),Uo.rowName),ii=(e,n)=>{const t=it.components[e.type]?.fields,o=n===le||fl(n)?"section":"block",r=n===le&&(ht(e)||mt(e)||at(e.type)),i="block"===o?d(t):r?null:c(t);return Uo.renamePropOf?Uo.renamePropOf(e,o,i):i},li=(e,n,t,o)=>{if(!(!Xn&&Qo?.zone===e&&Qo.index===n))return;const r=(t,o)=>{_o(null),o&&((e,n,t)=>{const o=Xr(e)[n];if(!o)return;const r=ii(o,e);r&&$t.replaceComponent(e,n,{...o,props:{...o.props,[r]:t.trim()}})})(e,n,t)};/* @__PURE__ */
13
+ return Tn("input",{className:"es-tree-rename",defaultValue:o,autoFocus:!0,"aria-label":kt.rename,onClick:e=>e.stopPropagation(),onBlur:e=>r(e.currentTarget.value,!0),onKeyDown:e=>{"Enter"===e.key?(e.preventDefault(),r(e.currentTarget.value,!0)):"Escape"===e.key&&(e.preventDefault(),r("",!1))}},t)},si=n(Z(),bt),di=si.scope({target:Ke,siteId:Dn,docId:Qe}),ci=it,ai=(e,n)=>n===le?Wr(e):Dr(e),pi=(e,n,t)=>{const o=si.plan(di,t,ai(t.type,e),ci);o&&(o.changed&&$t.replaceComponent(e,n,{...t,props:{...o.props,id:t.props.id}}),fr(o.message))},ui=b({nodesIn:Xr,nodeAt:(e,n)=>Xr(e)[n]??null,labelOf:(e,n)=>n===le?Wr(e):Dr(e),renamePropOf:ii,beginRename:(e,n)=>_o({zone:e,index:n}),history:{hasPast:tt.hasPast,hasFuture:tt.hasFuture,back:()=>tt.back(),forward:()=>tt.forward()},openAddSection:()=>{$t.select(null),Bi(null)},openPageSettings:()=>{$t.select(null),go(H)},pageSettingsLabel:kt.pageSettings,words:{menu:xt,styleClipboard:bt,screen:kt.menu},readOnly:Boolean(Xn),collapseAll:()=>tr(new Set(Xr(le).map(e=>String(e.props.id)))),onPasteRefused:e=>fr(e?kt.pasteRefused({name:e.label}):kt.menu.clipboardRefused,"error"),canPasteAt:(e,n)=>ml(e,n),menuRows:$o.menuRows,isLocked:e=>Ro(e.type),duplicateBlocked:e=>Lo(et.data,e),permits:e=>se(it,e.type),canAddTo:Fo,nodeOps:Fr,isPinned:(e,n)=>n===le&&(ht(e)||mt(e)),sectionBand:jr,openAddInside:(e,n)=>{e===le?Si(n):$t.select({zone:e,index:n}),Bi(null)},locate:e=>Gr.get(e)??null,rowNameOf:(e,n)=>n===le?Hr(e):ri(e),selectAt:(e,n,t,o)=>{e===le?Si(n):Ki(e,n,t,o??"")},slotRung:e=>{const n=Qr(e);return n?.slot.panel?{label:n.slot.label,select:()=>Zr(n.node,n.slot,!1)}:null},style:{held:()=>N(di),canCopy:e=>si.rows(ci,e).some(e=>!1!==e.counted),copy:(e,n)=>si.copy(di,e,ai(e.type,n),ci),paste:(e,n,t)=>pi(e,n,t)},keys:Qn?{target:oo,selected:()=>{const e=et.ui.itemSelector;return e?{zone:e.zone??le,index:e.index}:null},held:()=>Vr.get(),readOnly:Boolean(Xn),onDone:({done:e,name:n})=>{"copied"===e&&fr(kt.copied({name:n}))}}:void 0},to),fi=hn({copy:(e,n)=>{},paste:(e,n,t)=>{},at:()=>null,readOnly:!1});yn(()=>{fi.current={copy:(e,n)=>si.copy(di,e,ai(e.type,n),ci),paste:pi,at:()=>{const e=et.ui.itemSelector;if(!e)return null;const n=e.zone??le,t=Xr(n)[e.index];return t?{zone:n,index:e.index,node:t}:null},readOnly:Boolean(Xn)}});const hi=kn(e=>{const n=O(e);if(!n)return;const t=fi.current,o=t.at();o&&(e.preventDefault(),"copy"===n?t.copy(o.node,o.zone):t.readOnly||t.paste(o.zone,o.index,o.node))},[]);yn(()=>{if(!oo)return;const e=e=>hi(e);return oo.addEventListener("keydown",e),()=>oo.removeEventListener("keydown",e)},[hi,oo]),sn(to,"keydown",hi);const mi=Ar.map(e=>e.props.id).join("|");yn(()=>{const e=to?.document??null,n=to?.window??null;let t=0;const o=[],r=()=>{if(!e)return void ho(e=>e.length?[]:e);const n=Ar.findIndex(mt),t=n>=0?n:Ar.length,o=n=>{const t=Ar[n]?.props?.id;return null==t?null:e.querySelector(`[data-puck-component="${CSS.escape(String(t))}"]`)},r=e=>e?[...e.querySelectorAll(ln)].map(e=>e.getBoundingClientRect()).filter(e=>e.width>0||e.height>0):[],i=[];for(let e=1;e<=t;e++){const n=o(e),t=o(e-1),l=n?.getBoundingClientRect()??null,s=t?.getBoundingClientRect()??null;if(!l&&!s)continue;const d=jn(l&&s?(s.bottom+l.top)/2:l?l.top:s.bottom,Math.max(-1/0,...r(t).map(e=>e.bottom)),Math.min(1/0,...r(n).map(e=>e.top)));d&&i.push({...d,index:e})}ho(e=>function(e,n){if(e.length!==n.length)return!1;for(let t=0;t<e.length;t++)if(e[t].top!==n[t].top||e[t].index!==n[t].index||e[t].height!==n[t].height)return!1;return!0}(e,i)?e:i)},i=()=>{cancelAnimationFrame(t),t=requestAnimationFrame(r)};if(!e||!n)return void r();n.addEventListener("scroll",i,{passive:!0});const l=new ResizeObserver(i);return l.observe(e.documentElement),r(),o.push(setTimeout(r,150),setTimeout(r,450)),()=>{cancelAnimationFrame(t),o.forEach(clearTimeout),n.removeEventListener("scroll",i),l.disconnect()}},[to,mi,Dt,br,At,jt,ot?.props.id]);const gi=to?.document??null,yi=to?.window??null;yn(()=>{const e=eo.current;if(!e||!gi||!yi)return;const n=[],t=()=>{const n=gi.querySelector(`[data-puck-component="${CSS.escape(e.id)}"]`);if(!n)return!1;const t=n.getBoundingClientRect().top-e.offset;return Math.abs(t)>1&&yi.scrollTo({left:yi.scrollX,top:yi.scrollY+t,behavior:"instant"}),!0};return eo.current=null,t()&&n.push(setTimeout(t,150),setTimeout(t,450)),()=>n.forEach(clearTimeout)},[gi,yi]);const ki=e=>{$o.holdCanvasOn?$o.holdCanvasOn(e):a(e)},Si=e=>{go(H),$t.select({index:e}),$o.sectionPressed?.(Ar[e]);const n=Ar[e]?.props?.id;n&&ki(n)},vi=e=>{const{floor:n,cap:t}=jr(),o=e=>Math.min(Math.max(n,e),t);if("number"==typeof e)return o(e);const r=ot&&mo.kind!==ft?.kind?Ar.findIndex(e=>e.props.id===ot.props.id):-1;return o(r>=0?r+1:t)},wi=(e,n)=>{const{floor:t,cap:o}=jr(),r=Math.min(Math.max(n,t),o),i=e<r?r-1:r;return i===e?{moved:!1,dest:e}:($t.reorderComponent(le,e,i),$t.select({index:i}),{moved:!0,dest:i})},xi=(e,n,t,o)=>{go(H),$t.select(o?{index:o.index,zone:o.zone}:{index:e}),a(n),fr(kt.sectionAdded({name:t}))},bi=(e,n)=>{const t=vi(n),o=Vo(e,{nodeDefaults:Ur,newNodeId:fe,sectionLabel:Wr,blockIsOffered:Do}),r=o?$t.insertNode(le,t,o):$t.insertSection(e,t);return xi(t,r,Wr(e),o?((e,n,t)=>{if(e.type===t)return null;const o={at:null},r=(e,n,i)=>{const l=i.filter(n=>n===e.type).length;for(const{child:s,zone:d,index:c}of ce(it,e)){if(s.type===t&&(!o.at||n>o.at.depth)){const r=Fo(e.type,l,d.slice(d.lastIndexOf(":")+1)),i=r?.choices??(r?.spec?[{type:r.spec.childType,label:r.spec.childType}]:[]);null!==r&&"footer"!==r.source&&`${e.props.id}:${r.slot}`===d&&i.some(e=>e.type===t)&&(o.at={zone:d,index:c,depth:n})}r(s,n+1,[...i,e.type])}};return r({type:e.type,props:{...e.props,id:n}},1,[]),o.at?{zone:o.at.zone,index:o.at.index}:null})(o,r,e):null),t},zi=(e,n,t)=>{const o=vi(t),r=$t.insertNode(le,o,n);return xi(o,r,e),o},Bi=e=>Ci(le,e),Ci=(e,n)=>{pr.current=document.activeElement??null,Gt&&(lo.current=so.current,so.current=!1,Yt()),ao(null===n?null:{zone:e,index:n}),io(!0),At||(lo.current=!0,nt({type:"setUi",ui:{leftSideBarVisible:!0}}))},Ni=()=>{io(!1),ao(null),lo.current&&nt({type:"setUi",ui:{leftSideBarVisible:!1}}),lo.current=!1},Oi=(e,n,t)=>{if("section"===e.kind)$t.insertComponent(n,e.type,t);else{if("template"!==e.kind)return;$t.insertNode(n,t,Er(e.template.node))}go(H),$t.select({index:t,zone:n})},Ii=(e,n)=>Uo.rowName?n?ht(e)?Uo.rowName(e,"section",kt.header):mt(e)?Uo.rowName(e,"section",kt.footer):at(e.type)?Uo.rowName(e,"section",Dr(e.type)):Hr(e):ri(e):n?Wr(e.type):Dr(e.type),Ti=e=>n=>{e()},Pi=()=>$o.editPinnedSource?.(),$i=(e,n,t)=>{if(Xn)return null;const o=Xr(e)[n];return o&&!se(it,o.type).delete?null:/* @__PURE__ */Tn(Ne,{kind:"delete",label:kt.deleteNamed({name:t}),onClick:()=>((e,n)=>{const t=Xr(e)[n]?.props?.id;null!=t&&Fr.remove(String(t))})(e,n),children:/* @__PURE__ */Tn(Cn,{size:15})})},Mi=e=>Uo.rowPreview?.(e)||void 0,Ai=e=>Uo.rowMarks?.(e)??void 0,ji=(e,n,t)=>Uo.rowActions?.(e,n,t)??null,Ri=(e,n,t,o)=>{if(Xn)return null;const r=Boolean(t.props._hidden);/* @__PURE__ */
14
+ return Tn(Ne,{kind:"eye",label:r?kt.showNamed({name:o}):kt.hideNamed({name:o}),onClick:()=>Ei(e,n,t),children:/* @__PURE__ */Tn(r?Nn:On,{size:14,strokeWidth:1.8,strokeLinecap:void 0,strokeLinejoin:void 0})})},Li=e=>{const n=Wr(Ar[e]?.type??""),t=n?kt.addSectionBefore({name:n}):kt.addSectionHere;return Ll(le,e,()=>Bi(e),t)},Ei=(e,n,t)=>{$t.replaceComponent(e,n,{...t,props:{...t.props,_hidden:!t.props._hidden}})},Vi=e=>ae(it,e),Fi=e=>ce(it,e),Di=e=>jo.slotsOf?Kr(e).map(n=>({slot:n.slot,rung:n.rung?n:null,kids:pe(e,n.slot)})):[{slot:null,rung:null,kids:Fi(e)}],Ui=e=>jo.slotsOf?Di(e).flatMap(e=>e.kids):Fi(e),Wi=e=>Boolean(jo.slotsOf)&&Kr(e).some(e=>e.rung),Hi=(e,n,t)=>null===t?void 0===n?Fo(e):Fo(e,n):Fo(e,n,t),Gi=(e,n,t)=>{const o=ue(it,e.type,n)&&(t||Ui(e).length>0||Wi(e));return{collapsible:o,folded:o&&dr(String(e.props.id))}},Yi=(e,n,t)=>Di(e).flatMap(o=>{const r=o.rung?n+1:n,i=o.kids.flatMap(({child:e})=>Gi(e,r,t(e.type)).collapsible?[String(e.props.id),...Yi(e,r+1,t)]:[]);return o.rung?[`${e.props.id}:${o.rung.slot}`,...i]:i}),Xi=e=>Ui(e).length>0||Wi(e)||Boolean(Fo(e.type)),Ji=e=>Boolean(Fo(e)),Ki=(e,n,t,o)=>{if(go(H),Fo(o)?.spec?.slider){const t=e.split(":")[0];p(t,n),$t.select({index:n,zone:e}),a(t)}else $t.select({index:n,zone:e}),ki(t)},Qi=(e,n,t,o,r)=>{const i=`${e}:${n}`;$t.insertComponent(i,t,o),Fo(r)?.spec?.slider?requestAnimationFrame(()=>{p(e,o),$t.select({index:o,zone:i})}):$t.select({index:o,zone:i})},_i=(e,n,t)=>{$t.insertComponent(e,n,t),go(H),$t.select({index:t,zone:e})},qi=hn(/* @__PURE__ */new Set);yn(()=>{Ar.forEach(e=>{const n=Fo(e.type)?.spec;if(!n)return;const t=e.props.id;if(qi.current.has(t))return;qi.current.add(t);if((Array.isArray(e.props[n.slot])?e.props[n.slot]:[]).length>0)return;if(n.skipSeed?.(e.props))return;const o=`${t}:${n.slot}`,r=n.legacy?.(e.props)??[];(r.length?r:n.seeds(Ur)).forEach((e,t)=>It.seedChild(o,t,n.childType,e))})},[Ar,It,Ur]);const Zi=hn(/* @__PURE__ */new Set);yn(()=>{Ar.forEach((n,t)=>{const o=n.props.id;if(Zi.current.has(o))return;const r=e(n,Vi(n.type));Zi.current.add(o),r&&It.replaceComponent(le,t,{...n,props:r})})},[Ar,It]),ee(It,it);const el=Ar.findIndex(mt),nl=el>=0?Ar[el]:null,tl=gt?Ar.findIndex(ht):-1,ol=tl>=0?Ar[tl]:null,rl=Ar.find(e=>e.type===dt)??null,il=Ar.find(e=>e.type===ct)??null,ll=el>=0?el:Ar.length,sl=[];Ar.forEach(e=>{mt(e)||(Xi(e)&&sl.push(String(e.props.id)),sl.push(...Yi(e,1,Ji)))}),nl&&(sl.push(String(nl.props.id)),sl.push(...Yi(nl,1,Ji)));const dl=sl.length>0&&sl.every(e=>nr.has(e)),cl=e=>{const n=Uo.blockRowName(e,Dr);return Uo.rowName?Uo.rowName(e,"block",n):n},al=(e,n,t,o)=>{const r=Xr(e)[t];if(!r)return;const i={...pn(e),index:t},l={...pn(n),index:Math.min(Math.max(o,0),Xr(n).length)},s=on(i,l);if(e!==n||s!==t)try{Fr.move(String(r.props.id),{...l,index:s})}catch(e){if(!(e instanceof un))throw e}},pl=e=>{const n=/* @__PURE__ */new Set,t=e=>{for(const{child:o,zone:r}of Fi(e))n.add(r),t(o)};for(const t of Vi(e.type))n.add(`${e.props.id}:${t}`);return t(e),n},ul=e=>{let n=e.slice(0,e.indexOf(":"));for(let e=0;e<64;e++){const e=Gr.get(n);if(!e)return null;if(e.zone===le)return n;n=e.zone.slice(0,e.zone.indexOf(":"))}return null},fl=e=>{const n=e.slice(0,e.indexOf(":")),t=Ar.find(e=>at(e.type)&&String(e.props.id)===n);return t&&pt(n)===e?t:null},hl=(e,n,t)=>{if(e.rung){const t=Jr(e.rung.nodeId),o=t?Kr(t).filter(e=>e.rung).length:0;return n.parentId===e.rung.nodeId&&n.slot===Rn&&n.index>=0&&n.index<=o}if(n.slot===Rn)return!1;if(e.add)return yl(e.add,n);const o=dn(n);if(at(e.type))return!1;const r=fl(o),i=fl(e.zone);if(r||i)return!(!r||!i)&&(n.index>=0&&n.index<=Xr(o).length);if(e.zone===le||o===le){if(e.zone!==o)return!1;const{floor:t,cap:r}=jr();return n.index>=t&&n.index<=r}if(n.index<0||n.index>Xr(o).length)return!1;if(e.zone===o)return!0;const l=nl&&!lt.lastIsOpen?String(nl.props.id):null;return(!l||ul(e.zone)!==l&&ul(o)!==l)&&((e,n,t,o)=>{if(e===n)return!0;const r=o??Xr(e)[t];if(!r)return!1;const i=n.split(":")[0],l=Gr.get(i),s=l?Xr(l.zone)[l.index]:void 0;if(!s)return!1;if(!o&&pl(r).has(n))return!1;const d=Fo(s.type,Eo(et?.data,s.type,i),n.slice(n.lastIndexOf(":")+1));return!!d&&(!!(d.choices?d.choices.some(e=>e.type===r.type):d.spec?.childType===r.type)&&!d.spec?.addBlocked?.(Xr(n),r))})(e.zone,o,e.index,t)},ml=(e,n)=>{const t=dn(e.from);if(t===dn(n))return!0;const o=e.node;return hl({id:String(o.props?.id??""),zone:t,index:-1,type:o.type},n,o)},gl=e=>{const n=e.slice(0,e.indexOf(":")),t=Gr.get(n),o=t?Xr(t.zone)[t.index]:void 0;if(!t||!o)return null;const r=Fo(o.type,Eo(et?.data,o.type,n),e.slice(e.lastIndexOf(":")+1));if(!r||`${n}:${r.slot}`!==e)return null;if("footer"===r.source)return null;const i=r.choices??(r.spec?[{type:r.spec.childType,label:Dr(r.spec.childType)}]:[]),l=Qr(e);return{parent:o,parentId:n,target:r,choices:i,parentName:l?l.slot.label:Ii(o,t.zone===le)}},yl=(e,n)=>{const t=dn(n);if("block"!==e.kind){if(fl(t))return n.index>=0&&n.index<=Xr(t).length;if(t!==le)return!1;const{floor:e,cap:o}=jr();return n.index>=e&&n.index<=o}if(t===le)return!1;const o=gl(t);return!(!o||!o.choices.some(n=>n.type===e.type))&&!o.target.spec?.addBlocked?.(Xr(t))},kl=(e,n)=>{e.rung?ni(e.rung.nodeId,e.index,n.index):e.add?((e,n)=>{if("block"!==e.kind&&fl(dn(n)))return void Oi(e,dn(n),n.index);if("section"===e.kind)return void bi(e.type,n.index);if("template"===e.kind)return void zi(e.template.name,Er(e.template.node),n.index);const t=dn(n),o=gl(t);o&&(o.target.spec?Qi(o.parentId,o.target.slot,e.type,n.index,o.parent.type):_i(t,e.type,n.index))})(e.add,n):e.zone===le?wi(e.index,n.index):al(e.zone,dn(n),e.index,n.index)},[Sl]=gn(()=>nn()),vl=tn({keyOf:e=>e.id,readOnly:Boolean(Xn),session:Sl,canDrop:hl,onDrop:kl,onStep:(e,n)=>{e.rung?ni(e.rung.nodeId,e.index,n<0?e.index-1:e.index+2):e.zone===le?((e,n)=>{const t=Wr(Ar[e]?.type??""),o=wi(e,n<0?e-1:e+2);if(!o.moved)return void fr(n<0?kt.sectionFirst({name:t}):kt.sectionLast({name:t}));const{floor:r,cap:i}=jr();fr(kt.sectionMoved({name:t,n:o.dest-r+1,total:i-r}))})(e.index,n):al(e.zone,e.zone,e.index,n<0?e.index-1:e.index+2)}}),wl=kn(e=>{const{floor:n,cap:t}=jr(),o=[];for(const r of e.nodes){const e=dn(r.place),i=Xr(e)[r.place.index];if(!i||String(i.props.id)!==r.id)continue;if(ht(i)||mt(i)||Ro(i.type))continue;if(at(i.type))continue;const l=Boolean(fl(e)),s=e===le||l;e===le&&t-n<2||o.push({key:r.id,item:{id:r.id,zone:e,index:r.place.index,type:i.type},box:r.box,label:s?Wr(i.type):ri(i),from:r.place})}return{sources:o,zones:e.zones.filter(e=>e.children.length>0||Boolean(gl(dn(e.list))?.choices.length)||Boolean(fl(dn(e.list))))}},[et.data]),xl=null==ot?.props.id?null:String(ot.props.id),bl=kn(e=>{const n=it,t=e=>!e.item.rung&&null!==fn(et.data,n,e.item.id),o=e[e.length-1];if(!t(o))return o;const r=n=>e.find(e=>t(e)&&e.item.id===n),i=r(xl);return i||(r(Me(et.data,n,o.item.id,xl))??o)},[et.data,it,xl]),zl=e=>{go(H),$t.select(e.zone===le?{index:e.index}:{index:e.index,zone:e.zone})},Bl=ne(),Cl=()=>({data:et.data,device:Dt,ops:$t,inspector:Po}),Nl=Bl?.model,Ol=mn(()=>Nl?e=>Nl(e,wl(e),Cl()):wl,[Nl,wl,Dt]),Il=Bl?.measure,Tl=Il?(e,n)=>Il(e,n,Cl()):void 0,Pl=Bl?.canDrop,$l=Pl?(e,n)=>Pl(e,n,hl,Cl()):hl,Ml=Bl?.drop,Al=Ml?(e,n)=>Ml(e,n,kl,Cl()):kl,jl=Bl?.pick,Rl=jl?e=>jl(e,zl,Cl()):zl,Ll=(e,n,t,o)=>/* @__PURE__ */Tn(Oe,{...Xn?{}:vl.seam({place:{...pn(e),index:n}}),onAdd:Xn?void 0:t,label:o},`seam:${e}:${n}`),El={rowClick:Ti,isCollapsed:dr,toggleCollapse:cr},Vl=e=>{const n=String(e.props.id),t=Ar.findIndex(e=>String(e.props.id)===n),o=pt(n),r=Xr(o),i=dr(n),l=Dr(e.type),s=Uo.rowName?Uo.rowName(e,"section",l):l,d=e=>Ll(o,e,()=>Ci(o,e),kt.addSectionHere);/* @__PURE__ */
15
+ return Pn($n,{children:[
16
+ /* @__PURE__ */Tn(be,{words:St,icon:/* @__PURE__ */Tn(Ho,{type:e.type,size:13}),name:s,preview:Mi(e),marks:Ai(e),onSelect:()=>Si(t),nameSlot:li(le,t,n,s),selected:xo===n,actions:ji(e,le,t)??void 0,rowProps:{"data-node-id":n,onClick:Ti(()=>Si(t))},fold:{open:!i,label:"section",onToggle:()=>cr(n)}}),!i&&/* @__PURE__ */Pn(ze,{children:[r.map((n,t)=>{const r=String(n.props.id),i=Hr(n),l=Xi(n),s=l&&dr(r),c=()=>Ki(o,t,r,e.type),{rowProps:a,...p}=vl.row({item:{id:r,zone:o,index:t,type:n.type},place:{...pn(o),index:t}},{"data-node-id":r,onClick:Ti(c)});/* @__PURE__ */
17
+ return Pn(vn,{children:[d(t),
18
+ /* @__PURE__ */Tn(be,{words:St,icon:/* @__PURE__ */Tn(Ho,{type:n.type,size:13}),name:i,preview:Mi(n),marks:Ai(n),onSelect:c,nameSlot:li(o,t,r,i),selected:xo===r,hidden:Boolean(n.props._hidden),...p,fold:l?{open:!s,label:"section",onToggle:()=>cr(r)}:void 0,actions:/* @__PURE__ */Pn($n,{children:[$i(o,t,i),ji(n,o,t),Ri(o,t,n,i)]}),rowProps:a}),l&&!s&&/* @__PURE__ */Tn(ze,{children:Ul(n,2)})]},r)}),d(r.length)]})]})},Fl=(e,n,t,o,r)=>{const i=String(e.props.id),l=`${i}:${n.slot}`,s=vl.dragging,d=!dr(l)&&s?.rung?.nodeId!==i,c={...pn(l),index:0},a=s&&!s.rung&&hl(s,c)?c:void 0,p=()=>Zr(e,n,!0),{rowProps:u,...f}=vl.row({item:{id:`rung:${l}`,zone:`${i}:${Rn}`,index:t,type:e.type,rung:{nodeId:i,slot:n.slot}},place:{parentId:i,slot:Rn,index:t},into:a,canDrag:Boolean(jo.moveSlot)&&!1!==n.movable&&o>1},{"data-slot-zone":l,onClick:Ti(p)}),h=Xn?null:jo.slotActions?.(e,n.slot);/* @__PURE__ */
19
+ return Pn(vn,{children:[n.heading,
20
+ /* @__PURE__ */Tn(be,{words:St,icon:n.glyph??null,name:n.label,badge:n.badge,onSelect:p,selected:_r===l,...f,dragHint:n.dragHint,fold:{open:d,label:n.label,onToggle:()=>cr(l)},actions:h&&h.length>0?/* @__PURE__ */Tn($n,{children:h.map((t,o)=>/* @__PURE__ */Tn(Ne,{kind:"delete"===t.kind?"delete":"plain",label:t.label,disabled:t.disabled,onClick:()=>((e,n,t)=>{if(Xn||t.disabled)return;const o=String(e.props.id),r=e=>{"string"==typeof e&&ei(o,e,n.panel)},i=t.run();i&&"function"==typeof i.then?i.then(r):r(i)})(e,n,t),children:"delete"===t.kind?/* @__PURE__ */Tn(Cn,{size:15}):/* @__PURE__ */Tn(In,{size:15})},`${o}:${t.kind}`))}):void 0,rowProps:u}),d&&/* @__PURE__ */Tn(ze,{children:r})]},l)},Dl=(e,n)=>{const t=Di(e),o=t.filter(e=>e.rung).length;let r=0;/* @__PURE__ */
21
+ return Tn($n,{children:t.map(t=>{const i=t.kids,l=t.rung?n+1:n,s=Hi(e.type,void 0,t.slot),d=s?`${e.props.id}:${s.slot}`:null,c=null===t.slot?null:`${e.props.id}:${t.slot}`,a=null!==c&&Boolean(gl(c)?.choices.length),p=(e,n)=>a?Ll(e,n,()=>Ci(e,n),kt.addBlockHere):Ll(e,n),u=/* @__PURE__ */Pn($n,{children:[i.map(({child:n,zone:t,index:o})=>{const r=xo===String(n.props.id),{collapsible:i,folded:s}=Gi(n,l,Ji(n.type)),d=String(n.props.id),c=cl(n),a=()=>Ki(t,o,d,e.type),{rowProps:u,...f}=vl.row({item:{id:d,zone:t,index:o,type:n.type},place:{...pn(t),index:o}},{"data-node-id":d,onClick:Ti(a)});/* @__PURE__ */
22
+ return Pn(vn,{children:[0===o&&p(t,0),
23
+ /* @__PURE__ */Tn(be,{words:St,icon:/* @__PURE__ */Tn(Ho,{type:n.type,size:13}),name:c,preview:Mi(n),marks:Ai(n),onSelect:a,nameSlot:li(t,o,d,c),selected:r,hidden:Boolean(n.props._hidden),...f,fold:i?{open:!s,label:"group",onToggle:()=>cr(d)}:void 0,actions:/* @__PURE__ */Pn($n,{children:[$i(t,o,c),ji(n,t,o),Ri(t,o,n,c)]}),rowProps:u}),i&&!s&&/* @__PURE__ */Tn(ze,{children:Dl(n,l+1)}),p(t,o+1)]},String(n.props.id??`${t}-${o}`))}),null===c?d&&!i.some(e=>e.zone===d)?p(d,0):null:0!==i.length||!t.rung&&d!==c?null:p(c,0)]});return t.rung?Fl(e,t.rung,r++,o,u):/* @__PURE__ */Tn(vn,{children:u},t.slot??"")})})},Ul=(e,n)=>{const t=Eo(et?.data,e.type,String(e.props.id)),o=Di(e),r=o.filter(e=>e.rung).length;let i=0;/* @__PURE__ */
24
+ return Tn($n,{children:o.map(o=>{const l=o.kids,s=o.rung?n+1:n,d=Hi(e.type,t,o.slot),c=d?.spec??null,a=c&&Array.isArray(e.props[c.slot])?e.props[c.slot]:[],p=d&&d.choices?{slot:d.slot,choices:d.choices}:null,u=String(e.props.id),f=c&&!c.fixed?`${u}:${c.slot}`:null,h=p?`${u}:${p.slot}`:null,m=(n,t)=>{const o=n===f&&c&&!c.addBlocked?.(a)?()=>Qi(e.props.id,c.slot,c.childType,t,e.type):n===h?()=>Ci(n,t):void 0;return Ll(n,t,o,n===f&&c?c.addLabel:kt.addBlockHere)},g=null===o.slot?null:`${u}:${o.slot}`,y=Boolean(c&&!c.fixed&&(null===g||g===f)),k=/* @__PURE__ */Pn($n,{children:[l.map(({child:n,zone:t,index:o})=>{const r=xo===String(n.props.id),i=ri(n),l=String(n.props.id),{collapsible:d,folded:c}=Gi(n,s,Ji(n.type)),a=Vi(n.type),p=1===a.length?`${l}:${a[0]}`:null,u=p?{...pn(p),index:Xr(p).length}:void 0,f=vl.dragging,h=u&&f&&hl(f,u)?u:void 0,g=()=>Ki(t,o,l,e.type),{rowProps:y,...k}=vl.row({item:{id:l,zone:t,index:o,type:n.type},place:{...pn(t),index:o},into:h,canDrag:!Ro(n.type)},{"data-node-id":l,onClick:Ti(g)});/* @__PURE__ */
25
+ return Pn(vn,{children:[0===o&&m(t,0),
26
+ /* @__PURE__ */Tn(be,{words:St,icon:/* @__PURE__ */Tn(Ho,{type:n.type,size:13}),name:i,preview:Mi(n),marks:Ai(n),onSelect:g,nameSlot:li(t,o,l,i),selected:r,hidden:Boolean(n.props._hidden),...k,fold:d?{open:!c,label:"group",onToggle:()=>cr(l)}:void 0,actions:Ro(n.type)?ji(n,t,o)??void 0:/* @__PURE__ */Pn($n,{children:[$i(t,o,i),ji(n,t,o),Ri(t,o,n,i)]}),rowProps:y}),d&&!c&&/* @__PURE__ */Tn(ze,{children:Ul(n,s+1)}),m(t,o+1)]},String(n.props.id??`${t}-${o}`))}),y&&c&&
27
+ /* @__PURE__ */Tn(I,{small:!0,label:c.addLabel,blocked:c.addBlocked?.(a)??null,onAdd:()=>Qi(e.props.id,c.slot,c.childType,a.length,e.type)}),null===g?h&&!l.some(e=>e.zone===h)?m(h,0):null:0!==l.length||(o.rung?y:g!==h)?null:m(g,0)]});return o.rung?Fl(e,o.rung,i++,r,k):/* @__PURE__ */Tn(vn,{children:k},o.slot??"")})})},Wl=(()=>{if(!ot||!yo)return null;const e=String(ot.type),n=String(ot.props.id),t=Fo(e,Eo(et?.data,e,n));if(!t||"footer"===t.source)return null;const o=Ar.some(e=>String(e.props?.id)===n),r=Array.isArray(ot.props[t.slot])?ot.props[t.slot]:[];if(t.spec?.addBlocked?.(r))return null;const i=t.choices??(t.spec?[{type:t.spec.childType,label:Dr(t.spec.childType)}]:[]);return 0===i.length?null:{parentName:Ii(ot,o),choices:i,onPick:o=>{t.spec?Qi(n,t.slot,o,r.length,e):_i(`${n}:${t.slot}`,o,r.length)}}})(),Hl=vo&&vo.zone!==le&&!fl(vo.zone)?vo.zone:null,Gl=!0===po.blocksFirst,Yl=Hl?gl(Hl):Gl&&vo?null:Wl,Xl=Boolean(co&&Hl)||Gl&&Boolean(Yl&&Yl.choices.length>0),Jl=ro||null!==Gt,Kl=e=>"panel"in e?{id:e.id,label:e.label,icon:e.icon,active:At&&!Jl&&Ao===e.id,onSelect:()=>Tr(e.id)}:e,Ql=[{id:"add",label:kt.add.title,icon:/* @__PURE__ */Tn("span",{className:"sf-rail-plus","aria-hidden":"true",children:"+"}),active:ro,onSelect:()=>ro?Ni():Bi(null)},...($o.railLead??[]).map(Kl),{id:"sections",label:kt.layers,icon:/* @__PURE__ */Tn(Ae,{}),active:At&&!Jl&&"sections"===Ao,onSelect:()=>Tr("sections")},...($o.railTrail??[]).map(Kl)];Ht?Ql.push({id:"media",label:kt.railMedia,icon:/* @__PURE__ */Tn(je,{}),active:At&&!ro&&(null!==Gt||"media"===Ao),onSelect:()=>Tr("media")}):_n&&Ql.push({id:"media",label:kt.railMedia,icon:/* @__PURE__ */Tn(je,{}),onSelect:Pr});const _l=[...$o.railLead??[],...$o.railTrail??[]].find(e=>"panel"in e&&e.id===Ao),ql=Boolean(yt?.foldable)&&!Mo,Zl=yt?.label??(qn?kt.pageSections:kt.templateSections),es=ql&&dr(Ln),ns=/* @__PURE__ */Pn($n,{children:[Ar.map((e,n)=>{if(ht(e)||mt(e)||at(e.type))return null;const t=xo===String(e.props.id),o=Boolean(e.props._hidden);Fi(e);const r=String(e.props.id),i=$o.hasOwnRows?.(e)??!1,l=Xi(e)||i,s=l&&dr(r),{rowProps:d,...c}=vl.row({item:{id:r,zone:le,index:n,type:e.type},place:{...pn(le),index:n}},{"data-node-id":r,onClick:Ti(()=>Si(n))});/* @__PURE__ */
28
+ return Pn(vn,{children:[n>0&&Li(n),
29
+ /* @__PURE__ */Tn(be,{words:St,icon:/* @__PURE__ */Tn(Ho,{type:e.type,size:13}),name:Hr(e),preview:Mi(e),marks:Ai(e),onSelect:()=>Si(n),nameSlot:li(le,n,r,Hr(e)),selected:t,hidden:o,...c,fold:l?{open:!s,label:"section",onToggle:()=>cr(r)}:void 0,actions:/* @__PURE__ */Pn($n,{children:[$i(le,n,Hr(e)),ji(e,le,n),Ri(le,n,e,Hr(e))]}),rowProps:d}),Xi(e)&&!s&&/* @__PURE__ */Pn(ze,{children:[Ul(e,1),$o.partRows?.(e,El)]}),i&&!s&&/* @__PURE__ */Tn(ze,{children:$o.ownRows?.(e,n,El)})]},String(e.props.id??n))}),!Mo&&ll>0&&Li(ll),yt?.addAtEnd&&!Mo&&!Xn&&/* @__PURE__ */Tn(I,{small:!0,label:kt.addSection,blocked:null,onAdd:()=>Bi(ll)})]}),ts=(e,n,t)=>{const o=String(e.props.id),r=Ui(e).length>0||Wi(e)||Boolean(Fo(e.type)),i=r&&dr(o),l="header"===t?kt.header:kt.footer,s=Uo.rowName?Uo.rowName(e,"section",l):l;/* @__PURE__ */
30
+ return Pn($n,{children:[
31
+ /* @__PURE__ */Tn(be,{words:St,icon:/* @__PURE__ */Tn(Ho,{type:t,size:13}),name:s,preview:Mi(e),marks:Ai(e),onSelect:()=>Si(n),nameSlot:li(le,n,o,s),selected:xo===String(e.props.id),fold:r?{open:!i,label:"section",onToggle:()=>cr(o)}:void 0,actions:ji(e,le,n)??void 0,rowProps:{"data-node-id":o,onClick:Ti(()=>Si(n))}}),r&&!i&&/* @__PURE__ */Tn(ze,{children:Dl(e,1)})]})};return($o.wrap??(e=>e))(
32
+ /* @__PURE__ */Tn(te,{target:to,children:/* @__PURE__ */Pn("div",{ref:no,className:"sf-editor es-editor",style:Je(or),onContextMenu:ui.onEditorContextMenu,...m(Le),children:[
33
+ /* @__PURE__ */Pn(Ee,{children:[
34
+ /* @__PURE__ */Tn(Ve,{items:Ql,ariaLabel:kt.bar.views}),
35
+ /* @__PURE__ */Pn(Fe,{children:[
36
+ /* @__PURE__ */Tn(De,{label:kt.bar.undo,disabled:Boolean(Xn)||!tt.hasPast,onClick:()=>tt.back(),children:/* @__PURE__ */Tn(zn,{})}),
37
+ /* @__PURE__ */Tn(De,{label:kt.bar.redo,disabled:Boolean(Xn)||!tt.hasFuture,onClick:()=>tt.forward(),children:/* @__PURE__ */Tn(Bn,{})}),
38
+ /* @__PURE__ */Tn(Ue,{}),
39
+ /* @__PURE__ */Tn(We,{devices:Rt,value:Dt,onChange:Ut})]}),
40
+ /* @__PURE__ */Pn(Fe,{kind:"right",style:{minWidth:300},children:[
41
+ /* @__PURE__ */Tn(Mn,{saveState:Wn,notSaving:Boolean(Xn)||null!=Hn,readOnlyReason:Jn,toggle:Kn,onToggle:Yn,onRetry:Gn,words:kt.bar,saveWords:wt}),$o.barLead?.(),
42
+ /* @__PURE__ */Tn(wn,{content:kt.bar.refreshTip,side:"bottom",children:/* @__PURE__ */Tn(xn,{variant:"secondary",onClick:()=>{eo.current=(()=>{const e=to?.document;if(!e)return null;const n=Ar.findIndex(mt),t=n>=0?n:Ar.length;let o=null;for(let n=0;n<t;n++){const t=Ar[n]?.props?.id;if(null==t)continue;const r=e.querySelector(`[data-puck-component="${CSS.escape(String(t))}"]`);if(!r)continue;const i=r.getBoundingClientRect().top;i<=4&&(null===o||i>o.offset)&&(o={id:String(t),offset:i})}if(!o){const e=ot?.props?.id??Ar[0]?.props?.id;null!=e&&(o={id:String(e),offset:0})}return o})(),Zt(e=>e+1)},children:kt.bar.refresh})}),$o.barTrail?.(),$o.barMain?$o.barMain():/* @__PURE__ */Tn(xn,{variant:"primary",disabled:null!==Jn,onClick:()=>{Un(et.data)},children:kt.done})]})]}),
43
+ /* @__PURE__ */Tn(z,{}),
44
+ /* @__PURE__ */Pn("div",{className:"sf-body",children:[At?/* @__PURE__ */Pn($n,{children:[
45
+ /* @__PURE__ */Tn("aside",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left","aria-label":kt.leftPanel,children:ro?/* @__PURE__ */Tn(T,{blocks:Yl,blocksOnly:Xl,at:co?{label:(e=>{const n=fl(e.zone);if(n)return kt.add.addingTo({name:Uo.rowName?Ii(n,!0):Dr(n.type)});if(e.zone===le){const n=Ar[e.index];return n&&!mt(n)?kt.add.addingBefore({name:Ii(n,!0)}):kt.add.addingAtEnd}const t=gl(e.zone);return t?kt.add.addingTo({name:t.parentName}):kt.add.addingHere})(co),onClear:()=>ao(null)}:void 0,onAdd:e=>{const n=vo,t=(e,n)=>{co&&ao({zone:e,index:n})};if(n&&"block"!==e.kind&&fl(n.zone))return Oi(e,n.zone,n.index),void t(n.zone,n.index+1);if("section"===e.kind)return(e=>{if(null===wo)return void bi(e);const n=bi(e,wo);co&&uo(n+1)})(e.type);if("template"===e.kind)return((e,n)=>{if(null===wo)return void zi(e,n);const t=zi(e,n,wo);co&&uo(t+1)})(e.template.name,Er(e.template.node));if(n&&n.zone!==le){const o=gl(n.zone);if(!o)return;return o.target.spec?Qi(o.parentId,o.target.slot,e.type,n.index,o.parent.type):_i(n.zone,e.type,n.index),void t(n.zone,n.index+1)}Wl?.onPick(e.type)},itemFor:e=>({id:`new:${e.kind}:${"template"===e.kind?e.template.id:e.type}`,zone:"",index:-1,type:"template"===e.kind?e.template.node.type:e.type,add:e}),session:Sl,siteWide:$o.addPanelRow?.(Ni),onClose:Ni,onHide:Or,readOnly:Boolean(Xn)}):Gt&&Wt?
46
+ /* @__PURE__ */Tn(M,{panel:Wt,pick:Gt,onHide:Or}):_l?_l.panel({onHide:Or,notify:fr}):"media"===Ao&&Wt?/* @__PURE__ */Tn(M,{panel:Wt,pick:null,onHide:Or}):/* @__PURE__ */Pn($n,{children:[
47
+ /* @__PURE__ */Tn(P,{icon:/* @__PURE__ */Tn(Ae,{}),title:kt.layers,context:Bt,actions:
48
+ /* @__PURE__ */Tn(He,{label:dl?kt.expandAll:kt.collapseAll,title:0===sl.length?kt.nothingToFold:void 0,disabled:0===sl.length,onClick:()=>tr(e=>{const n=new Set(sl);return dl?new Set([...e].filter(e=>!n.has(e))):/* @__PURE__ */new Set([...e,...sl])}),children:/* @__PURE__ */Tn(An,{expand:dl})}),onHide:Or}),
49
+ /* @__PURE__ */Pn(Be,{className:"sf-tree sf-scroll",words:St,children:[
50
+ /* @__PURE__ */Tn(be,{words:St,icon:/* @__PURE__ */Tn(Ho,{type:"page",size:13}),name:kt.pageSettings,onSelect:$r,selected:!ot&&yo,rowProps:{onClick:Ti($r)}}),rl&&/* @__PURE__ */Pn($n,{children:[
51
+ /* @__PURE__ */Tn(Ce,{children:kt.header}),Vl(rl)]}),!Mo&&Zn&&/* @__PURE__ */Pn($n,{children:[
52
+ /* @__PURE__ */Tn(Ce,{children:kt.header}),!gt&&/* @__PURE__ */Tn(be,{words:St,icon:/* @__PURE__ */Tn(Ho,{type:"header",size:13}),name:kt.header,onSelect:Mr,selected:mo.kind===ft?.kind,rowProps:{onClick:Ti(Mr)}})]}),!Mo&&ol&&ts(ol,tl,"header"),!Mo&&!ql&&/* @__PURE__ */Tn(Ce,{children:Zl}),ql?/* @__PURE__ */Pn($n,{children:[
53
+ /* @__PURE__ */Tn(be,{words:St,icon:null,name:Zl,fold:{open:!es,label:Zl,onToggle:()=>cr(Ln)}}),!es&&/* @__PURE__ */Tn(ze,{children:ns})]}):ns,Zn&&/* @__PURE__ */Tn(Ce,{children:kt.footer}),nl&&ts(nl,el,"footer"),!Mo&&!nl&&Zn&&/* @__PURE__ */Tn(be,{words:St,icon:/* @__PURE__ */Tn(Ho,{type:"footer",size:13}),name:kt.footer,onSelect:Pi,rowProps:{onClick:Ti(Pi),title:kt.editFooter}}),il&&Vl(il),$o.treeFoot?.()]})]})}),
54
+ /* @__PURE__ */Tn(Ge,{side:"left",width:or.left,min:Xe,max:Ye,defaultWidth:k.left,label:kt.resizeLeftPanel,onResize:lr})]}):/* @__PURE__ */Tn($,{side:"left",onShow:Or}),
55
+ /* @__PURE__ */Pn("div",{ref:hr,className:"sf-center sf-scroll","data-sf-canvas-head":Sr?"":void 0,style:{overflowX:Br?"auto":"hidden",overflowY:"hidden"},children:[Sr&&/* @__PURE__ */Tn("div",{ref:vr,className:"sf-canvas-head",children:/* @__PURE__ */Tn(Sr,{device:Dt})}),
56
+ /* @__PURE__ */Tn("div",{className:"sf-frame-scaler",style:Cr,children:/* @__PURE__ */Tn("div",{className:"sf-frame "+(Dt===Vt?"":`sf-frame--${Dt}`),style:Nr,children:/* @__PURE__ */Pn("div",{className:"sf-preview-host",children:[
57
+ /* @__PURE__ */Tn(Ct,{},qt),
58
+ /* @__PURE__ */Tn(Ze,{canvas:to,session:Sl,model:Ol,measure:Tl,canDrop:$l,onDrop:Al,choose:bl,onPick:Rl,onZoneAdd:e=>{const n=dn(e),t=Qr(n);t&&Zr(t.node,t.slot,!1),Ci(n,0)},zoneAddLabel:kt.canvasAddBlock,words:vt.canvas,readOnly:Boolean(Xn),revision:et.data}),fo.length>0&&/* @__PURE__ */Tn("div",{className:"sf-preview-gaps","aria-hidden":"true",children:fo.map(e=>/* @__PURE__ */Pn("button",{type:"button",tabIndex:-1,className:void 0===e.height?"sf-preview-gap":"sf-preview-gap sf-preview-gap--tight",style:void 0===e.height?{top:e.top}:{top:e.top,height:e.height},onClick:()=>Bi(e.index),children:[
59
+ /* @__PURE__ */Tn("span",{className:"sf-preview-gap-line"}),
60
+ /* @__PURE__ */Pn("span",{className:"sf-preview-gap-pill",children:[
61
+ /* @__PURE__ */Tn("span",{className:"sf-preview-gap-plus",children:"+"}),
62
+ /* @__PURE__ */Tn("span",{className:"sf-preview-gap-label",children:kt.addSection})]})]},e.index))})]})})})]}),jt?/* @__PURE__ */Pn($n,{children:[
63
+ /* @__PURE__ */Tn(g,{value:{selectChild:Ki,addChild:Qi,childRowName:ri,blockRowName:cl},children:/* @__PURE__ */Tn(Nt,{mode:mo,onOpenWebsiteSettings:$o.openSettings??(()=>{}),onOpenSiteStyles:$o.openStyles,onSelectNode:Jo,onNotify:fr,onHidePanel:Ir,nodeActions:ot?se(it,ot.type):En})}),
64
+ /* @__PURE__ */Tn(Ge,{side:"right",width:or.right,min:Xe,max:Ye,defaultWidth:k.right,label:kt.resizeSettingsPanel,onResize:sr})]}):
65
+ /* @__PURE__ */Tn($,{side:"right",onShow:Ir})]}),ui.menu]})}))}export{Vn as ScreenChrome};
@@ -1,4 +1,4 @@
1
- import{useScreenOwnerName as e}from"./chunk-55IKQFBW.js";import{settlePanelPick as n}from"./chunk-R6WTQWAC.js";import{MediaPanelHead as i,mediaPickKind as c}from"./chunk-GTDLBUOC.js";import{jsxs as o,Fragment as r,jsx as t}from"react/jsx-runtime";function l({panel:l,pick:d,onHide:m}){const p=e();/* @__PURE__ */
1
+ import{useScreenOwnerName as e}from"./chunk-YIKMVF24.js";import{settlePanelPick as n}from"./chunk-R6WTQWAC.js";import{MediaPanelHead as i,mediaPickKind as c}from"./chunk-GTDLBUOC.js";import{jsxs as o,Fragment as r,jsx as t}from"react/jsx-runtime";function l({panel:l,pick:d,onHide:m}){const p=e();/* @__PURE__ */
2
2
  return o(r,{children:[
3
3
  /* @__PURE__ */t(i,{context:p,pick:d?{kind:c(d.accept),field:d.title||void 0}:null,onCancel:()=>d&&n(d.requestId,null),onHide:m}),
4
4
  /* @__PURE__ */t("div",{className:"sf-media-panel",children:/* @__PURE__ */t(l,{pick:d,onPick:e=>d&&n(d.requestId,e)})})]})}export{l as MediaSidePanel};
@@ -0,0 +1 @@
1
+ import{find as t,remove as n,getList as e,newId as r,duplicate as o,move as l,copyNode as a,insert as c,setProps as d,slotsOf as i}from"./chunk-KRXQM65X.js";import{useRef as s,useSyncExternalStore as p,useCallback as u,useMemo as f}from"react";var m=t=>({kind:"node",id:t});function x(r,o,l,a="none"){const c=t(r,o,l),d=n(r,o,l);if("none"===a||!c)return{data:d,select:null};const i=e(r,o,c.place)??[],s=i[c.place.index+1]??i[c.place.index-1];return s?.props?.id?{data:d,select:m(s.props.id)}:"root"!==c.place.parentId?{data:d,select:m(c.place.parentId)}:{data:d,select:null}}function I(n,e,l,a={}){const c=t(n,e,l)?.node,d=a.id??r(c?.type??"Node");return{data:o(n,e,l,{strip:a.strip,id:d}),select:m(d)}}function g(t,n,e,r){return{data:l(t,n,e,r),select:m(e)}}var v=(t,n)=>({min:0,max:n-1});function b(n,r,o,l,a=v){const c=t(n,r,o);if(!c)return!1;const d=e(n,r,c.place)?.length??0,{min:i,max:s}=a(c.place,d),p=c.place.index+l;return c.place.index>=i&&c.place.index<=s&&p>=i&&p<=s}function h(n,e,r,o,l=v){if(!b(n,e,r,o,l))return null;const a=t(n,e,r);return g(n,e,r,{...a.place,index:a.place.index+o})}function k(t,n,e,r,o={}){const l=a(e,n,{strip:o.strip});return{data:c(t,n,r,l),select:m(l.props.id)}}function y(t,n,e,r){return{data:d(t,n,e,r),select:void 0}}function O(n,e,r,o=()=>!1){if(!r)return null;if("slot"===r.kind)return t(n,e,r.parentId)?m(r.parentId):null;const l=t(n,e,r.id);if(!l||"root"===l.place.parentId)return null;const a=t(n,e,l.place.parentId);return a?o(a.node,l.place.slot)?{kind:"slot",parentId:a.node.props.id,slot:l.place.slot}:m(a.node.props.id):null}function z(n,e,r){const o=t(n,e,r);return o?[...o.path.filter(t=>"root"!==t.parentId).map(t=>t.parentId),r]:[]}function R(t,n){if(0===t.length)return null;const e=null===n?-1:t.indexOf(n);return-1===e?t[0]:t[Math.min(e+1,t.length-1)]}function B(n,e,r,o){const l=t(n,e,r);return l?0===i(l.node,e).length?r:R(z(n,e,r),o):null}function M(n,e,r){if(!r||"node"!==r.kind)return null;const o=t(n,e,r.id);return o?{zone:`${o.place.parentId}:${o.place.slot}`,index:o.place.index}:null}function X(t,n,r){if(!r)return null;const[o,l]=(r.zone??"root:default-zone").split(/:(.*)/s),a={parentId:o,slot:l},c=e(t,n,a)?.[r.index];return c?.props?.id?m(c.props.id):null}var $={get:()=>null,set:()=>{},subscribe:()=>()=>{}};function j(n){const e=s(n);e.current=n;const r=n.clipboard??$,o=p(r.subscribe,r.get,r.get),l=u(t=>{const n=e.current;if(n.readOnly)return!1;const r=t(n.data,n.config);return!!r&&((r.data!==n.data||void 0!==r.select)&&(n.commit(r.data,{select:r.select}),e.current={...n,data:r.data},!0))},[]);return f(()=>{const n=()=>e.current,r=(e,r)=>{const o=t(n().data,n().config,e);return o?{node:o.node,label:r,from:{parentId:o.place.parentId,slot:o.place.slot}}:null};return{held:o,remove:t=>l((e,r)=>x(e,r,t,n().afterRemove)),duplicate:t=>l((e,r)=>I(e,r,t,{strip:n().strip})),move:(t,n)=>l((e,r)=>g(e,r,t,n)),step:(t,e)=>l((r,o)=>h(r,o,t,e,n().stepBounds)),canStep:(t,e)=>b(n().data,n().config,t,e,n().stepBounds),setProps:(t,n)=>l((e,r)=>y(e,r,t,n)),copy:(t,e)=>{const o=r(t,e);return o&&(n().clipboard??$).set(o),!!o},cut:(t,e)=>{if(n().readOnly)return!1;const o=r(t,e);return!!o&&((n().clipboard??$).set(o),l((e,r)=>x(e,r,t,n().afterRemove)))},paste:t=>{const e=(n().clipboard??$).get();return!!e&&l((r,o)=>k(r,o,e.node,t,{strip:n().strip}))},parentOf:t=>O(n().data,n().config,t,n().slotIsLevel)}},[o,l])}export{b as canStep,B as clickPick,X as fromItemSelector,R as nextInChain,z as nodeChain,O as parentStep,I as planDuplicate,g as planMove,k as planPaste,x as planRemove,y as planSetProps,h as planStep,M as toItemSelector,j as useNodeOps};
@@ -1 +1 @@
1
- import{useEaselHost as n}from"./chunk-U3JP4VGF.js";import{useEaselApi as o,bindUndoKeys as t}from"./chunk-PDZXAFNX.js";import{useState as e,useEffect as u}from"react";function r(o){const t=n(),[r,c]=e(null);return u(()=>c(o.current),[o]),t.ownsDocument?"undefined"==typeof document?null:document:r}function c(e,c){const m=n(),i=o(),f=r(e);u(()=>{if(!m.ownsDocument&&f)return t(f,i,{leaveTyping:!0})},[m,i,f]);const s=c?.document??null;u(()=>{if(!m.ownsDocument&&s)return t(s,i,{leaveTyping:!0})},[m,i,s])}function m(n){return n.ownsDocument?{}:{tabIndex:-1}}export{m as editorRootFocus,r as useEaselKeyTarget,c as useEaselUndoKeys};
1
+ import{useEaselHost as n}from"./chunk-U3JP4VGF.js";import{useEaselApi as o,bindUndoKeys as t}from"./chunk-XW4AV5N4.js";import{useState as e,useEffect as u}from"react";function r(o){const t=n(),[r,c]=e(null);return u(()=>c(o.current),[o]),t.ownsDocument?"undefined"==typeof document?null:document:r}function c(e,c){const m=n(),i=o(),f=r(e);u(()=>{if(!m.ownsDocument&&f)return t(f,i,{leaveTyping:!0})},[m,i,f]);const s=c?.document??null;u(()=>{if(!m.ownsDocument&&s)return t(s,i,{leaveTyping:!0})},[m,i,s])}function m(n){return n.ownsDocument?{}:{tabIndex:-1}}export{m as editorRootFocus,r as useEaselKeyTarget,c as useEaselUndoKeys};
@@ -1 +1 @@
1
- import{useScreenBlockRules as e}from"./chunk-55IKQFBW.js";import{newNodeId as t,ROOT_ZONE as n}from"./chunk-PLVEGYK6.js";import{useEasel as o,useEaselApi as r}from"./chunk-PDZXAFNX.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
+ import{useScreenBlockRules as e}from"./chunk-YIKMVF24.js";import{newNodeId as t,ROOT_ZONE as n}from"./chunk-PLVEGYK6.js";import{useEasel as o,useEaselApi as r}from"./chunk-XW4AV5N4.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};
@@ -0,0 +1,9 @@
1
+ import{DEFAULT_CANVAS_WORDS as e}from"./chunk-AELNNAFM.js";import{useResolvedFields as t}from"./chunk-YRLPFZW3.js";import{toItemSelector as n,fromItemSelector as o,useNodeOps as r,parentStep as a,clickPick as i}from"./chunk-UK2FQOUT.js";import{useWords as s}from"./chunk-MFIRYGHW.js";import{setCanvasNonce as d,isTypingTarget as l}from"./chunk-ZNCEOSXO.js";import{find as c,ROOT_ID as u,getList as p,remove as f,parseZoneKey as h,move as m,duplicate as v,replaceNode as g,createNode as y,insert as k,normalizeData as w,createResolveCache as S,resolveNodeData as b,ROOT_SLOT as I}from"./chunk-KRXQM65X.js";import{topLevelSlotKeys as C,fieldsFrom as E,defaultsFrom as O}from"./chunk-NKB3KVAB.js";import{createContext as x,useEffect as A,useContext as D,useRef as z,useSyncExternalStore as M,useState as Z,useMemo as N,useCallback as j,useLayoutEffect as P}from"react";import{jsx as $,jsxs as L}from"react/jsx-runtime";import{createPortal as R}from"react-dom";function B(e){return!["setData","setUi","set"].includes(e.type)}var K=(e,t,n,o)=>{const r=p(e,t,h(n));return r?.[o]??null},F=(e,t,n,o,r)=>{const a=K(e,t,n,o);if(!a)throw new Error(`${r}: nothing at ${n}[${o}]`);return a};function V(e,t){const{selection:o}=e;return{...e.ui,itemSelector:n(e.data,t,o),selectedSlot:o&&"slot"===o.kind?{parentId:o.parentId,slot:o.slot}:null}}function H(e,t,n){return n?"node"===n.kind?c(e,t,n.id)?n:null:n.parentId===u?p(e,t,n)?n:null:c(e,t,n.parentId)&&p(e,t,n)?n:null:null}function T(e,t,n,r=!1){const{itemSelector:a,selectedSlot:i,...s}=n;let d=e.selection;var l;return"itemSelector"in n&&(d=o(e.data,t,a??null)),"selectedSlot"in n&&(i?d=(l=i)?{kind:"slot",parentId:l.parentId,slot:l.slot}:null:"slot"===d?.kind&&(d=null)),{...e,selection:d,ui:r?s:{...e.ui,...s}}}function U(e,t,n){const o=q(e,t,n);if(o===e)return e;const r=H(o.data,n,o.selection);return r===o.selection?o:{...o,selection:r}}function q(e,t,n){const{data:o}=e;switch(t.type){case"setData":{const n="function"==typeof t.data?t.data(o):t.data;return{...e,data:{...o,...n}}}case"setUi":return T(e,n,"function"==typeof t.ui?t.ui(V(e,n)):t.ui);case"set":{const r={data:o,ui:V(e,n)},a="function"==typeof t.state?t.state(r):t.state;let i=a.data?{...e,data:a.data}:e;return a.ui&&(i=T(i,n,a.ui,!0)),i}case"insert":{const r={...h(t.destinationZone),index:t.destinationIndex},a=y(n,t.componentType,{},t.id?{id:t.id}:{});return{...e,data:k(o,n,r,a)}}case"replace":{const r=F(o,n,t.destinationZone,t.destinationIndex,"replace");if(r.props.id!==t.data.props.id)throw new Error("Can't change the id during a replace action. Use remove and insert for a new node.");return{...e,data:g(o,n,r.props.id,t.data)}}case"replaceRoot":{const n={...o.root,props:{...o.root.props,...t.root.props},readOnly:t.root.readOnly};return{...e,data:{...o,root:n}}}case"duplicate":{const r=F(o,n,t.sourceZone,t.sourceIndex,"duplicate"),a=v(o,n,r.props.id),i=K(a,n,t.sourceZone,t.sourceIndex+1);return{...e,data:a,selection:i?{kind:"node",id:i.props.id}:e.selection}}case"reorder":return q(e,{...t,type:"move",sourceZone:t.destinationZone},n);case"move":{if(t.sourceZone===t.destinationZone&&t.sourceIndex===t.destinationIndex)return e;const r=K(o,n,t.sourceZone,t.sourceIndex);if(!r)return e;const a={...h(t.destinationZone),index:t.destinationIndex};return{...e,data:m(o,n,r.props.id,a)}}case"remove":{const r=F(o,n,t.zone,t.index,"remove");return{...e,data:f(o,n,r.props.id)}}default:return e}}var Y={drag:!0,duplicate:!0,delete:!0,edit:!0,insert:!0},W={leftSideBarVisible:!0,rightSideBarVisible:!0,arrayState:{},componentList:{},isDragging:!1,previewMode:"edit",viewports:{current:{width:360,height:"auto"},options:[],controlsVisible:!0},field:{focus:null}},X=0,Q=()=>`history-${X+=1}`;function G(e){let t=e.config;const r=e.now??(()=>Date.now()),a=e.historyCoalesceMs??250;let i=e.permissions??{};const s=w(e.data,t);let d={data:s,selection:null,ui:{...W}};if(e.ui){const{itemSelector:n,selectedSlot:r,...a}=e.ui;d={data:s,selection:r?{kind:"slot",...r}:o(s,t,n??null),ui:{...W,...a}}}let l=[{core:d,at:-1/0,sealed:!0,id:Q()}],u=0;const f=e=>{const t=l[u],n=r();!e&&u===l.length-1&&u>0&&!t.sealed&&n-t.at<a?l=[...l.slice(0,u),{...t,core:d,at:n}]:(l=[...l.slice(0,u+1),{core:d,at:n,sealed:e,id:Q()}],u=l.length-1)},h=/* @__PURE__ */new Set;let m=null,v=null,y=0,k=null,I=!1;const C=()=>{for(const e of[...h])e()},E=()=>{l=[...l.slice(0,u),{...l[u],core:d},...l.slice(u+1)]},O=(t,n)=>{y>0?I=I||n:(n?f(!1):d!==t&&E(),d.data!==t.data&&e.onChange?.(d.data),d!==t&&C())},x=e=>{const n=d;if(d=U(d,e,t),d===n)return;const o=e.recordHistory??B(e);O(n,o&&d.data!==n.data)},A=t=>{0===y&&(k=d,I=!1),y+=1;try{t()}catch(e){throw y-=1,0===y&&k&&(d=k,k=null),e}if(y-=1,y>0||!k)return;const n=k;k=null,I&&d.data!==n.data?f(!0):d!==n&&E(),d.data!==n.data&&e.onChange?.(d.data),d!==n&&C()},D=e=>{const n=d,o=H(d.data,t,e);var r,a;(r=o,a=d.selection,r===a||r&&a&&r.kind===a.kind&&("node"===r.kind&&"node"===a.kind?r.id===a.id:"slot"===r.kind&&"slot"===a.kind&&r.parentId===a.parentId&&r.slot===a.slot))||(d={...d,selection:o},O(n,!1))},z=t=>{const n=d;u=t,d=l[u].core,d.data!==n.data&&e.onChange?.(d.data),d!==n&&C()},M=()=>(e={})=>{const n=e.root?t.root?.permissions:t.components[e.item?.type??e.type??""]?.permissions;return{...Y,...i,...n}};let Z=M();const N=S(),j={resolveCache:N,async resolveAll({trigger:e="load",metadata:n}={}){const o=d.data,r={type:"root",props:{...o.root.props??{}}},a=[...o.content,...Object.values(o.zones??{}).flat()],[i,...s]=await Promise.all([b(r,t,{cache:N,trigger:e,metadata:n}),...a.map(o=>b(o,t,{cache:N,trigger:e,metadata:n}))]);A(()=>{const e=d;let n=d.data;s.forEach((e,r)=>{if(!e.didChange)return;const i=a[r].props.id,s=c(n,t,i)?.node;s&&s===c(o,t,i)?.node&&(n=g(n,t,i,e.node))}),i.didChange&&n.root===o.root&&(n={...n,root:{...n.root,props:i.node.props,readOnly:i.node.readOnly??n.root.readOnly}}),n!==d.data&&(d={...d,data:n,selection:H(n,t,d.selection)},O(e,!1))})},async resolveNode(e,{trigger:n="replace",metadata:o}={}){const r=c(d.data,t,e)?.node;if(!r)return!1;const a=await b(r,t,{cache:N,trigger:n,metadata:o});if(!a.didChange)return!1;let i=!1;return A(()=>{const n=d;if(c(d.data,t,e)?.node!==r)return;const o=g(d.data,t,e,a.node);o!==d.data&&(d={...d,data:o,selection:H(o,t,d.selection)},O(n,!1),i=!0)}),i},get config(){return t},getState(){if(m&&v===d)return m;const e=d,o={data:e.data,ui:V(e,t)},r="node"===e.selection?.kind?c(e.data,t,e.selection.id)?.node??null:null;return m={appState:o,selection:e.selection,selectedItem:r,config:t,dispatch:x,history:{back:()=>j.undo(),forward:()=>j.redo(),hasPast:u>0,hasFuture:u<l.length-1,histories:l.map(e=>({id:e.id,state:{data:e.core.data,ui:V(e.core,t)}})),index:u,setHistoryIndex:e=>{e>=0&&e<l.length&&e!==u&&z(e)}},getPermissions:Z,getItemById:n=>c(e.data,t,n)?.node,getItemBySelector:n=>function(e,t,n){const[o,r]=(n.zone??"root:default-zone").split(/:(.*)/s);return p(e,t,{parentId:o,slot:r})?.[n.index]}(e.data,t,n),getSelectorForId:o=>{const r=n(e.data,t,{kind:"node",id:o});return r?{index:r.index,zone:r.zone??"root:default-zone"}:void 0}},v=e,m},subscribe:e=>(h.add(e),()=>{h.delete(e)}),dispatch:x,batch:A,select:e=>D(e?{kind:"node",id:e}:null),selectSlot:e=>D(e?{kind:"slot",parentId:e.parentId,slot:e.slot}:null),run(e){A(()=>{const n=d,o=void 0===e.select?d.selection:e.select;d={...d,data:e.data,selection:H(e.data,t,o)},O(n,e.data!==n.data)})},load(e,n={}){const o=d,r=w(e,t);d={...d,data:r,selection:H(r,t,n.selection??d.selection)},n.keepHistory||(l=[{core:d,at:-1/0,sealed:!0,id:Q()}],u=0),d!==o&&C()},undo(){u>0&&z(u-1)},redo(){u<l.length-1&&z(u+1)},setPermissions(e){(function(e,t){if(e===t)return!0;const n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(n=>e[n]===t[n])})(e,i)||(i=e,Z=M(),m=null,C())},setConfig(e){e!==t&&(t=e,Z=M(),m=null,C())}};return j}function J(e,t,n={}){const o=e=>{if(e.altKey)return;if(!(e.metaKey!==e.ctrlKey))return;const o="KeyZ"===e.code,r="KeyY"===e.code&&!e.shiftKey;(o||r)&&(n.leaveTyping&&l(e.target)||!1!==t.getState?.().getPermissions().edit&&(e.preventDefault(),r||e.shiftKey?t.redo():t.undo()))};return e.addEventListener("keydown",o),()=>e.removeEventListener("keydown",o)}var _=x(null),ee=x(!0);function te({easel:e,hotkeys:t=!0,resolveOnMount:n=!0,children:o}){return A(()=>{n&&e.resolveAll()},[e,n]),A(()=>{if(t&&"undefined"!=typeof document)return J(document,e)},[e,t]),/* @__PURE__ */$(_.Provider,{value:e,children:/* @__PURE__ */$(ee.Provider,{value:t,children:o})})}function ne(){const e=D(_);if(!e)throw new Error("useEasel: no <EaselProvider> above this component");return e}function oe(e){const t=ne(),n=z({view:null,selector:null,value:void 0,has:!1}),o=()=>{const o=t.getState(),r=n.current;if(r.has&&r.view===o&&r.selector===e)return r.value;const a=e(o);return r.has&&Object.is(r.value,a)?(n.current={view:o,selector:e,value:r.value,has:!0},r.value):(n.current={view:o,selector:e,value:a,has:!0},a)};return M(t.subscribe,o,o)}function re(){return function(e){return oe(e)}}var ae="data-puck-component",ie="data-puck-dropzone",se={},de="data-es-mirror",le="undefined"==typeof window?A:P;function ce(e,t,n){for(const e of Array.from(t.head.querySelectorAll(`[${de}]`)))e.remove();for(const o of Array.from(e.head.querySelectorAll('style, link[rel="stylesheet"]'))){const e=o.cloneNode(!0);e.setAttribute(de,""),n&&e.setAttribute("nonce",n),t.head.appendChild(e)}}function ue({children:t,id:n="preview-frame",title:o,className:r,style:a,mirrorStyles:i=!0,onDocument:l,height:c="auto",nonce:u}){const p=s("canvas",e),f=z(null),[h,m]=Z(null);return le(()=>{const e=f.current,t=h?.ownerDocument.defaultView;if("auto"!==c||!e||!h||!t)return;const n=()=>{e.style.height=`${Math.ceil(h.getBoundingClientRect().height)}px`};n();const o=t.ResizeObserver,r=o?new o(n):null;return r?.observe(h),()=>r?.disconnect()},[h,c]),le(()=>{let e=f.current?.contentDocument;if(!e)return;"CSS1Compat"!==e.compatMode&&(e.open(),e.write("<!DOCTYPE html><html><head></head><body></body></html>"),e.close(),e=f.current?.contentDocument??e),e.body||e.documentElement.appendChild(e.createElement("body")),e.body.style.margin="0";const t=e.createElement("div");t.setAttribute("data-puck-entry",""),t.id="frame-root","fill"===c&&t.classList.add("es-frame-fill"),e.body.appendChild(t),d(e,u),m(t),l?.(e);let n=null;const o=f.current?.ownerDocument;if(i&&o){ce(o,e,u);const t=o.defaultView;t&&"MutationObserver"in t&&(n=new t.MutationObserver(()=>ce(o,e,u)),n.observe(o.head,{childList:!0,subtree:!0,characterData:!0}))}return()=>{n?.disconnect(),t.remove(),m(null),l?.(null)}},[]),/* @__PURE__ */$("iframe",{ref:f,id:n,title:o??p.frame,className:["es-canvas-frame","fill"===c?"is-fill":"",r??""].filter(Boolean).join(" "),style:a,children:h?R(t,h):null})}var pe=x(null),fe=x(se),he=[];function me({parentId:e,slot:t,className:n,style:o,minEmptyHeight:r=128}){const a=ne(),i=oe(n=>p(n.appState.data,a.config,{parentId:e,slot:t})??he),s=oe(t=>"node"===t.selection?.kind&&t.selection.id===e&&e!==u),d=oe(n=>"slot"===n.selection?.kind&&n.selection.parentId===e&&n.selection.slot===t),l=D(pe),c=["es-zone"];return i.length&&c.push("has-children"),e===u&&c.push("is-root"),(s||d)&&c.push("is-area-selected"),null!==l&&l===e&&e!==u&&c.push("is-hovering-area"),n&&c.push(n),/* @__PURE__ */$("div",{className:c.join(" "),[ie]:`${e}:${t}`,style:{...o,"--min-empty-height":`${r}px`},children:i.map(e=>/* @__PURE__ */$(ye,{node:e},e.props.id))})}function ve(e,t,n,o){const r="root"===t?e.root:e.components[t],a={...o};for(const e of C(E(r)))a[e]=function(t={}){/* @__PURE__ */
2
+ return $(me,{parentId:n,slot:e,...t})};return a}function ge(e){return function({zone:t,...n}){/* @__PURE__ */
3
+ return $(me,{parentId:e,slot:t,...n})}}function ye({node:e}){const t=ne().config,n=t.components[e.type],o=e.props.id,r=function(e){const t=z(null);return N(()=>n=>{const o=t.current;o&&o!==n&&(o.removeAttribute(ae),o.removeAttribute("data-puck-dnd")),t.current=n,n&&(n.setAttribute(ae,e),n.setAttribute("data-puck-dnd",e),n.style.position="relative")},[e])}(o),a=D(fe);if(!n?.render)return null;const i=n.render,s=ve(t,e.type,o,{...O(n),...e.props}),d={renderDropZone:ge(o),isEditing:!0,dragRef:n.inline?r:null,metadata:{...a,...n.metadata}};return n.inline?/* @__PURE__ */$(i,{...s,puck:d,editMode:!0}):/* @__PURE__ */$("div",{[ae]:o,"data-puck-dnd":o,style:{position:"relative"},children:/* @__PURE__ */$(i,{...s,puck:d,editMode:!0})})}function ke({metadata:e}){const t=oe(e=>e.config),n=oe(e=>e.appState.data.root).props??{},o=t.root?.render,r=/* @__PURE__ */$(me,{parentId:u,slot:I}),a=o?/* @__PURE__ */$(o,{id:"puck-root",...ve(t,"root",u,n),puck:{renderDropZone:ge(u),isEditing:!0,dragRef:null,metadata:e??{}},editMode:!0,children:r}):r;/* @__PURE__ */
4
+ return $(fe.Provider,{value:e??se,children:a})}function we({id:e,kind:t,overlay:n}){const o=z(null),[r,a]=Z(null);le(()=>{const t=o.current?.ownerDocument,n=t?.defaultView;if(!t||!n||!e)return void a(null);let r=0;const i=()=>{r=0;const i=function(e,t){if(!e||!t)return null;const n=e.getBoundingClientRect(),o=t.getBoundingClientRect();return{top:n.top-o.top,left:n.left-o.left,width:n.width,height:n.height}}(t.querySelector(`[${ae}="${n.CSS?.escape?n.CSS.escape(e):e}"]`),o.current?.parentElement??null);a(e=>{return(t=e)===(n=i)||t&&n&&t.top===n.top&&t.left===n.left&&t.width===n.width&&t.height===n.height?e:i;var t,n})},s=()=>{r||(r=(n.requestAnimationFrame??(e=>n.setTimeout(e,16)))(i))};i();const d="MutationObserver"in n?new n.MutationObserver(s):null;d?.observe(t.body,{childList:!0,subtree:!0,attributes:!0,characterData:!0});const l="ResizeObserver"in n?new n.ResizeObserver(s):null;return l?.observe(t.documentElement),n.addEventListener("resize",s),()=>{d?.disconnect(),l?.disconnect(),n.removeEventListener("resize",s),r&&(n.cancelAnimationFrame??n.clearTimeout)(r)}},[e]);const i=/* @__PURE__ */$("div",{ref:o,"aria-hidden":"true",className:`es-canvas-outline is-${t}`,style:r?{position:"absolute",top:r.top,left:r.left,width:r.width,height:r.height}:{display:"none"}});return n&&e?/* @__PURE__ */$(n,{componentId:e,kind:t,children:i}):i}function Se({frame:e=!0,className:t,style:n,metadata:o,mirrorStyles:r,onDocument:s,height:d,title:l,nonce:c,hotkeys:u,frameWrapper:p,overlay:f,children:h}){const m=ne(),v=D(ee),g=u??v,[y,k]=Z(void 0),w=oe(e=>"node"===e.selection?.kind?e.selection.id:null),[S,b]=Z(null),I=e=>{const t=e.closest?.(`[${ae}]`)?.getAttribute(ae);if(!t)return;const n=m.getState(),o="node"===n.selection?.kind?n.selection.id:null;return i(n.appState.data,m.config,t,o)??t},C=/* @__PURE__ */L("div",{className:"es-canvas-content",style:{position:"relative"},onClick:e=>{const t=e.target;t.closest?.("a[href]")&&e.preventDefault();const n=I(t);void 0===n?t.hasAttribute?.(ie)||m.select(null):m.select(n)},onMouseOver:e=>{const t=I(e.target)??null;t!==S&&b(t)},onMouseLeave:()=>b(null),children:[
5
+ /* @__PURE__ */$(pe.Provider,{value:S,children:/* @__PURE__ */$(ke,{metadata:o})}),
6
+ /* @__PURE__ */L("div",{className:"es-canvas-outlines",style:{position:"absolute",top:0,left:0,pointerEvents:"none"},children:[
7
+ /* @__PURE__ */$(we,{id:S&&S!==w?S:null,kind:"hover",overlay:f}),
8
+ /* @__PURE__ */$(we,{id:w,kind:"selected",overlay:f})]}),h]}),E=p?/* @__PURE__ */$(p,{document:y,children:C}):C;A(()=>{if(y&&g)return J(y,m)},[y,g,m]),A(()=>{if(!y)return;const e=e=>{if("Escape"!==e.key||e.defaultPrevented)return;const t=e.target;if(t?.isContentEditable||t?.closest?.("input, textarea, select"))return;const n=m.getState();if("node"!==n.selection?.kind)return;const o=a(n.appState.data,m.config,n.selection);"node"===o?.kind&&m.select(o.id)};return y.addEventListener("keydown",e),()=>y.removeEventListener("keydown",e)},[y,m]);/* @__PURE__ */
9
+ return $("div",{className:"es-canvas"+(t?` ${t}`:""),style:n,"data-puck-preview":"",children:e?/* @__PURE__ */$(ue,{mirrorStyles:r,onDocument:e=>{k(e??void 0),s?.(e)},height:d,title:l,nonce:c,children:E}):/* @__PURE__ */$("div",{id:"preview-frame","data-puck-entry":"",children:E})})}function be(e={}){const t=ne(),n=oe(e=>e.appState.data);return r({...e,data:n,config:t.config,commit:(e,{select:n})=>t.run({data:e,select:n})})}function Ie(){const e=ne(),n=oe(e=>e.config),o=e.resolveCache,r=oe(e=>e.selectedItem),a=oe(e=>e.appState.data.root),i=r?r.props.id:"root",s=a.props??{},d=N(()=>r||{type:"root",props:s},[r,s]),l=r?n.components[r.type]:n.root,u=e.getState(),p=r?c(u.appState.data,n,i):null,f=p&&"root"!==p.place.parentId?p.place.parentId:null,h=f?u.getItemById(f)??null:null,{fields:m}=t({id:i,node:d,block:l,parent:h,appState:u.appState}),v=oe(e=>!1===e.getPermissions(r?{item:r}:{root:!0}).edit),g=j((t,r)=>{(async()=>{const a=e.getState();if("root"!==i){const s=a.getItemById(i),d=a.getSelectorForId(i);if(!s||!d)return;const l={...s,props:{...s.props,[t]:r}},{node:c}=await b(l,n,{cache:o,trigger:"replace"}),u=e.getState().getSelectorForId(i);if(!u)return;return void e.dispatch({type:"replace",destinationZone:u.zone??"root:default-zone",destinationIndex:u.index,data:c})}const s=a.appState.data.root.props??{},{node:d}=await b({type:"root",props:{...s,[t]:r}},n,{cache:o,trigger:"replace"});e.dispatch({type:"replaceRoot",root:{props:d.props,readOnly:d.readOnly},recordHistory:!0})})()},[e,n,o,i]);return{id:i,node:d,fields:m,values:d.props,readOnly:v,onChange:g}}export{ue as CanvasFrame,W as DEFAULT_UI,Se as EaselCanvas,te as EaselProvider,ke as EditDocument,J as bindUndoKeys,G as createEasel,re as createUseEasel,B as recordsByDefault,U as reduce,V as uiView,oe as useEasel,ne as useEaselApi,be as useEaselNodeOps,Ie as useSelectedFields,H as validSelection};
@@ -1,5 +1,5 @@
1
- import{slotFieldsOf as n}from"./chunk-PLVEGYK6.js";import{usePickFollowsSelection as e}from"./chunk-R6WTQWAC.js";import{EaselCanvas as t,useSelectedFields as r}from"./chunk-PDZXAFNX.js";import{Inspector as i}from"./chunk-CRPJGCSO.js";import{createContext as o,useContext as u}from"react";import{DesktopIcon as l}from"efficient-shell/icons/efficient";import{jsx as s}from"react/jsx-runtime";var c={kind:"puck"};function f(n,e){const t=n,r=e,i=Object.keys(t);return i.length===Object.keys(r).length&&i.every(n=>Object.is(t[n],r[n]))}function a(n){const e=n;return"string"==typeof e.nodeId&&"string"==typeof e.slot}function d(e,t,r){const i=e.slotsOf?.(r);return i||n(t,r.type).map(n=>({slot:n,label:n,rung:!1}))}function p(n,e){return n.isFirst?n.isFirst(e):e.type===n.first}function m(n,e){return n.isLast?n.isLast(e):e.type===n.last}var k={},h={},v=()=>k,g=()=>"",y=()=>null,b=()=>{},O={isLockedBlock:()=>!1,duplicateBlocked:()=>null,nestDepth:()=>0,newSectionNode:()=>null,canAddTo:()=>null,blockIsOffered:()=>!0},j={labelAtLevel:(n,e,t)=>t,descriptions:{},categoryLabel:()=>{},firstSection:null,blockRowName:(n,e)=>e(n.type),plainText:n=>n,Icon:()=>null,Thumbnail:()=>null,useProducts:()=>null},w={options:[{id:"desktop",label:"Desktop",icon:/* @__PURE__ */s(l,{})}],initial:"desktop",fluid:"desktop",widths:{desktop:2e3}},C={read:()=>"sections",write:()=>{},forSelection:(n,e)=>n?"sections":e},L={first:null,last:null,firstGroup:null,lastGroup:null,isSectionGroup:()=>!1,sectionGroupZone:()=>"",panelOf:()=>null};function P(){/* @__PURE__ */
2
- return s(t,{height:"fill"})}function S(){const{id:n,fields:e,values:t,readOnly:o,onChange:u}=r();/* @__PURE__ */
3
- return s("div",{className:"es-sidepanel es-sidepanel--right",children:/* @__PURE__ */s(i,{fields:e,values:t,onChange:u,readOnly:o,idPrefix:n})})}var D=o({});function G({parts:n,children:e}){/* @__PURE__ */
4
- return s(D.Provider,{value:n,children:e})}function N(){return u(D)}function x(){return(N().useOwnerName??g)()}function A(){return(N().useDocumentLabel??y)()}function B(n,e,t,r){return(N().useBridges??v)(n,e,t,r)}function F(n){return(N().useStandaloneBridges??v)(n)}function I(n,e){(N().useDocumentPass??b)(n,e)}function R(){return N().blockRules??O}function T(){return N().blockLook??j}function K(){return N().devices??w}function V(){return N().leftView??C}function W(){return N().pinned??L}function X(){return N().saveSwitch??!0}function Z(n){e(!0===N().pickFollowsSelection,n)}function E(){return N().add??h}function H(){return N().storageNamespace||void 0}function J(){return N().styleClipboard??null}function Q(){return N().nodeKeys??!0}function Y(){return N().notify??null}function q(){return N().Canvas??P}function z(){return N().CanvasHead??null}function M(){return N().canvasDrag??null}var U=o(null);function $({target:n,children:e}){/* @__PURE__ */
5
- return s(U.Provider,{value:n,children:e})}function _(){return u(U)}function nn(){return N().Inspector??S}export{c as SELECTION_MODE,$ as ScreenCanvasTargetProvider,G as ScreenPartsProvider,p as isPinnedFirst,m as isPinnedLast,a as isSlotMode,f as sameInspectorMode,d as screenSlotsOf,E as useScreenAdd,T as useScreenBlockLook,R as useScreenBlockRules,B as useScreenBridges,M as useScreenCanvasDrag,q as useScreenCanvasFrame,z as useScreenCanvasHead,_ as useScreenCanvasTarget,K as useScreenDevices,A as useScreenDocumentLabel,I as useScreenDocumentPass,nn as useScreenInspectorPanel,V as useScreenLeftView,Q as useScreenNodeKeys,Y as useScreenNotify,x as useScreenOwnerName,N as useScreenParts,Z as useScreenPickFollowsSelection,W as useScreenPinned,X as useScreenSaveSwitch,H as useScreenStorageNamespace,J as useScreenStyleClipboard,F as useStandaloneScreenBridges};
1
+ import{slotFieldsOf as n}from"./chunk-PLVEGYK6.js";import{usePickFollowsSelection as e}from"./chunk-R6WTQWAC.js";import{EaselCanvas as t,useSelectedFields as r}from"./chunk-XW4AV5N4.js";import{Inspector as i}from"./chunk-CRPJGCSO.js";import{createContext as o,useContext as u}from"react";import{DesktopIcon as l}from"efficient-shell/icons/efficient";import{jsx as s}from"react/jsx-runtime";var c={kind:"puck"};function f(n,e){const t=n,r=e,i=Object.keys(t);return i.length===Object.keys(r).length&&i.every(n=>Object.is(t[n],r[n]))}function a(n){const e=n;return"string"==typeof e.nodeId&&"string"==typeof e.slot}function d(e,t,r){const i=e.slotsOf?.(r);return i||n(t,r.type).map(n=>({slot:n,label:n,rung:!1}))}function p(n,e){return n.isFirst?n.isFirst(e):e.type===n.first}function m(n,e){return n.isLast?n.isLast(e):e.type===n.last}var k={},h={},v=()=>k,g=()=>"",y=()=>null,b=()=>{},O={isLockedBlock:()=>!1,duplicateBlocked:()=>null,nestDepth:()=>0,newSectionNode:()=>null,canAddTo:()=>null,blockIsOffered:()=>!0},j={labelAtLevel:(n,e,t)=>t,descriptions:{},categoryLabel:()=>{},firstSection:null,blockRowName:(n,e)=>e(n.type),plainText:n=>n,Icon:()=>null,Thumbnail:()=>null,useProducts:()=>null},w={options:[{id:"desktop",label:"Desktop",icon:/* @__PURE__ */s(l,{})}],initial:"desktop",fluid:"desktop",widths:{desktop:2e3}},C={read:()=>"sections",write:()=>{},forSelection:(n,e)=>n?"sections":e},L={first:null,last:null,firstGroup:null,lastGroup:null,isSectionGroup:()=>!1,sectionGroupZone:()=>"",panelOf:()=>null};function S(){/* @__PURE__ */
2
+ return s(t,{height:"fill"})}function P(){const{id:n,fields:e,values:t,readOnly:o,onChange:u}=r();/* @__PURE__ */
3
+ return s("div",{className:"es-sidepanel es-sidepanel--right",children:/* @__PURE__ */s(i,{fields:e,values:t,onChange:u,readOnly:o,idPrefix:n})})}var G=o({});function N({parts:n,children:e}){/* @__PURE__ */
4
+ return s(G.Provider,{value:n,children:e})}function D(){return u(G)}function x(){return(D().useOwnerName??g)()}function A(){return(D().useDocumentLabel??y)()}function B(n,e,t,r){return(D().useBridges??v)(n,e,t,r)}function I(n){return(D().useStandaloneBridges??v)(n)}function R(n,e){(D().useDocumentPass??b)(n,e)}function T(){return D().blockRules??O}function F(){return D().blockLook??j}function V(){return D().devices??w}function W(){return D().leftView??C}function K(){return D().pinned??L}function E(){return D().saveSwitch??!0}function H(n){e(!0===D().pickFollowsSelection,n)}function J(){return D().add??h}function Q(){return D().storageNamespace||void 0}function X(){return D().styleClipboard??null}function Y(){return D().nodeKeys??!0}function Z(){return D().notify??null}function q(){return D().Canvas??S}function z(){return D().CanvasHead??null}function M(){return D().canvasDrag??null}var U=o(null);function $({target:n,children:e}){/* @__PURE__ */
5
+ return s(U.Provider,{value:n,children:e})}function _(){return u(U)}function nn(){return D().Inspector??P}export{c as SELECTION_MODE,$ as ScreenCanvasTargetProvider,N as ScreenPartsProvider,p as isPinnedFirst,m as isPinnedLast,a as isSlotMode,f as sameInspectorMode,d as screenSlotsOf,J as useScreenAdd,F as useScreenBlockLook,T as useScreenBlockRules,B as useScreenBridges,M as useScreenCanvasDrag,q as useScreenCanvasFrame,z as useScreenCanvasHead,_ as useScreenCanvasTarget,V as useScreenDevices,A as useScreenDocumentLabel,R as useScreenDocumentPass,nn as useScreenInspectorPanel,W as useScreenLeftView,Y as useScreenNodeKeys,Z as useScreenNotify,x as useScreenOwnerName,D as useScreenParts,H as useScreenPickFollowsSelection,K as useScreenPinned,E as useScreenSaveSwitch,Q as useScreenStorageNamespace,X as useScreenStyleClipboard,I as useStandaloneScreenBridges};
@@ -3,7 +3,7 @@ import { HTMLAttributes, ReactNode } from 'react';
3
3
  import { P as Place } from '../types-41704JE4.js';
4
4
  import { D as DragSession } from '../session-DSQFmIvx.js';
5
5
  export { a as DragHeld, c as createDragSession } from '../session-DSQFmIvx.js';
6
- export { B as Box, a as CanvasDragLayer, b as CanvasDragLayerProps, C as CanvasDragModel, c as CanvasDropTarget, d as CanvasSeam, e as CanvasSource, f as CanvasZone, E as EMPTY_MEASURE, H as HANDLE_GRACE_MS, M as MeasuredCanvas, g as MeasuredNode, h as canvasTarget, i as contains, j as gapInZone, k as gapLine, m as measureCanvas, p as pickSource, s as seamsBetween } from '../CanvasDragLayer-zgYT1xwY.js';
6
+ export { B as Box, a as CanvasDragLayer, b as CanvasDragLayerProps, C as CanvasDragModel, c as CanvasDropTarget, d as CanvasSeam, e as CanvasSource, f as CanvasZone, E as EMPTY_MEASURE, H as HANDLE_GRACE_MS, M as MeasuredCanvas, g as MeasuredNode, h as canvasTarget, i as contains, j as gapInZone, k as gapLine, m as measureCanvas, p as pickSource, s as seamsBetween, l as sourcesAt } from '../CanvasDragLayer-DVJGgA-g.js';
7
7
  import { D as DragWords } from '../words-BDignMl_.js';
8
8
  import '../watch-BTYOJpQU.js';
9
9
 
@@ -1 +1 @@
1
- export{AddPanel,CanvasDragLayer,EMPTY_MEASURE,HANDLE_GRACE_MS,canvasTarget,contains,gapInZone,gapLine,measureCanvas,pickSource,seamsBetween}from"../chunk-6HHHBBSY.js";import"../chunk-O2NLQBFX.js";export{AUTO_SCROLL_EDGE,AUTO_SCROLL_MAX_SPEED,autoScrollDelta,autoScrollSpeed,createDragSession,dropEffectFor,dropOnRow,frameScrollBox,gapToMoveIndex,isNoOpDrop,scrollBoxOf,scrollParent,startAutoScroll,stepGap,useTreeDrag}from"../chunk-67GNT6PF.js";import"../chunk-PAELDYYS.js";import"../chunk-ZNCEOSXO.js";import"../chunk-P2VEMZH5.js";import"../chunk-KRXQM65X.js";import"../chunk-NKB3KVAB.js";
1
+ export{AddPanel,CanvasDragLayer,EMPTY_MEASURE,HANDLE_GRACE_MS,canvasTarget,contains,gapInZone,gapLine,measureCanvas,pickSource,seamsBetween,sourcesAt}from"../chunk-2GLQRNYT.js";import"../chunk-O2NLQBFX.js";export{AUTO_SCROLL_EDGE,AUTO_SCROLL_MAX_SPEED,autoScrollDelta,autoScrollSpeed,createDragSession,dropEffectFor,dropOnRow,frameScrollBox,gapToMoveIndex,isNoOpDrop,scrollBoxOf,scrollParent,startAutoScroll,stepGap,useTreeDrag}from"../chunk-67GNT6PF.js";import"../chunk-PAELDYYS.js";import"../chunk-ZNCEOSXO.js";import"../chunk-P2VEMZH5.js";import"../chunk-KRXQM65X.js";import"../chunk-NKB3KVAB.js";
@@ -1,13 +1,13 @@
1
1
  import { DataInput } from '../data/index.js';
2
- import { N as NodeSelection } from '../plan-BdQ9mLIf.js';
3
- export { I as ItemSelector } from '../plan-BdQ9mLIf.js';
4
- import { E as EaselConfig, a as EaselView, b as EaselAction, P as Permissions, c as EaselCore, d as EaselUi } from '../types-CGFykP7c.js';
5
- export { A as AppState, e as EaselHistory, H as HistoryEntry, S as SetDataPatch } from '../types-CGFykP7c.js';
2
+ import { N as NodeSelection } from '../plan-CHKjPr6l.js';
3
+ export { I as ItemSelector } from '../plan-CHKjPr6l.js';
4
+ import { E as EaselConfig, a as EaselView, b as EaselAction, P as Permissions, c as EaselCore, d as EaselUi } from '../types-tNFRS_AW.js';
5
+ export { A as AppState, e as EaselHistory, H as HistoryEntry, S as SetDataPatch } from '../types-tNFRS_AW.js';
6
6
  import { S as SlotAddress, D as Data, P as Place } from '../types-41704JE4.js';
7
7
  import { c as ResolveTrigger, a as ResolveCache, R as ResolvableItem } from '../resolve-D68pb3Bx.js';
8
8
  import * as react from 'react';
9
9
  import { ReactNode, CSSProperties, ComponentType, ReactElement } from 'react';
10
- import { b as NodeOpsHost, C as ClipboardEntry } from '../useNodeOps-B3e4b8a2.js';
10
+ import { b as NodeOpsHost, C as ClipboardEntry } from '../useNodeOps-CLbZyd43.js';
11
11
  import { I as InspectorFields } from '../types-CWxUxPGO.js';
12
12
  import '../buckets-CuLM47h9.js';
13
13
 
@@ -1 +1 @@
1
- export{CanvasFrame,DEFAULT_UI,EaselCanvas,EaselProvider,EditDocument,bindUndoKeys,createEasel,createUseEasel,recordsByDefault,reduce,uiView,useEasel,useEaselApi,useEaselNodeOps,useSelectedFields,validSelection}from"../chunk-PDZXAFNX.js";import"../chunk-AELNNAFM.js";import"../chunk-YRLPFZW3.js";import"../chunk-QASZFO4S.js";import"../chunk-MFIRYGHW.js";import"../chunk-ZNCEOSXO.js";import"../chunk-KRXQM65X.js";import"../chunk-NKB3KVAB.js";
1
+ export{CanvasFrame,DEFAULT_UI,EaselCanvas,EaselProvider,EditDocument,bindUndoKeys,createEasel,createUseEasel,recordsByDefault,reduce,uiView,useEasel,useEaselApi,useEaselNodeOps,useSelectedFields,validSelection}from"../chunk-XW4AV5N4.js";import"../chunk-AELNNAFM.js";import"../chunk-YRLPFZW3.js";import"../chunk-UK2FQOUT.js";import"../chunk-MFIRYGHW.js";import"../chunk-ZNCEOSXO.js";import"../chunk-KRXQM65X.js";import"../chunk-NKB3KVAB.js";
@@ -1,5 +1,5 @@
1
- export { A as AfterRemove, I as ItemSelector, N as NodeSelection, P as Planned, S as StepBounds, c as canStep, f as fromItemSelector, n as nextInChain, a as nodeChain, p as parentStep, b as planDuplicate, d as planMove, e as planPaste, g as planRemove, h as planSetProps, i as planStep, t as toItemSelector } from '../plan-BdQ9mLIf.js';
2
- export { C as ClipboardEntry, N as NodeClipboard, a as NodeOps, b as NodeOpsHost, c as createNodeClipboard, u as useNodeOps } from '../useNodeOps-B3e4b8a2.js';
1
+ export { A as AfterRemove, I as ItemSelector, N as NodeSelection, P as Planned, S as StepBounds, c as canStep, a as clickPick, f as fromItemSelector, n as nextInChain, b as nodeChain, p as parentStep, d as planDuplicate, e as planMove, g as planPaste, h as planRemove, i as planSetProps, j as planStep, t as toItemSelector } from '../plan-CHKjPr6l.js';
2
+ export { C as ClipboardEntry, N as NodeClipboard, a as NodeOps, b as NodeOpsHost, c as createNodeClipboard, u as useNodeOps } from '../useNodeOps-CLbZyd43.js';
3
3
  import { ReactNode } from 'react';
4
4
  import { E as EaselContextMenuItem } from '../types-BsyPh6EW.js';
5
5
  import { N as NodeMenuWords } from '../words-DMG4dYq2.js';
@@ -1 +1 @@
1
- export{createNodeClipboard,nodeMenuItems}from"../chunk-OSPUG6S6.js";import"../chunk-WK3AFPXY.js";export{canStep,fromItemSelector,nextInChain,nodeChain,parentStep,planDuplicate,planMove,planPaste,planRemove,planSetProps,planStep,toItemSelector,useNodeOps}from"../chunk-QASZFO4S.js";import"../chunk-KRXQM65X.js";import"../chunk-NKB3KVAB.js";
1
+ export{createNodeClipboard,nodeMenuItems}from"../chunk-OSPUG6S6.js";import"../chunk-WK3AFPXY.js";export{canStep,clickPick,fromItemSelector,nextInChain,nodeChain,parentStep,planDuplicate,planMove,planPaste,planRemove,planSetProps,planStep,toItemSelector,useNodeOps}from"../chunk-UK2FQOUT.js";import"../chunk-KRXQM65X.js";import"../chunk-NKB3KVAB.js";
@@ -94,6 +94,15 @@ declare function nodeChain(data: Data, config: DataConfig, id: string): string[]
94
94
  * parts: a section's background image) walks them by the SAME rule.
95
95
  */
96
96
  declare function nextInChain(chain: readonly string[], selected: string | null): string | null;
97
+ /**
98
+ * What a click on block `id` selects, given what is selected now — the canvas's
99
+ * click (efficient-easel/easel `EaselCanvas`) and the canvas drag's handle (the
100
+ * screen) both ask it, so "what would a click there pick" has one answer. A
101
+ * block with no lists of its own is a thing you click ON: `id`, at once. A
102
+ * container is a layer: `nextInChain` over `nodeChain`. `null` when `id` is not
103
+ * in the document.
104
+ */
105
+ declare function clickPick(data: Data, config: DataConfig, id: string, selected: string | null): string | null;
97
106
  /** A node by its place: the zone key `"<parentId>:<slot>"` and its index. */
98
107
  interface ItemSelector {
99
108
  zone?: string;
@@ -104,4 +113,4 @@ declare function toItemSelector(data: Data, config: DataConfig, selection: NodeS
104
113
  /** Puck's `itemSelector` as a node selection; `null` when it points at nothing. */
105
114
  declare function fromItemSelector(data: Data, config: DataConfig, selector: ItemSelector | null | undefined): NodeSelection;
106
115
 
107
- export { type AfterRemove as A, type ItemSelector as I, type NodeSelection as N, type Planned as P, type StepBounds as S, nodeChain as a, planDuplicate as b, canStep as c, planMove as d, planPaste as e, fromItemSelector as f, planRemove as g, planSetProps as h, planStep as i, nextInChain as n, parentStep as p, toItemSelector as t };
116
+ export { type AfterRemove as A, type ItemSelector as I, type NodeSelection as N, type Planned as P, type StepBounds as S, clickPick as a, nodeChain as b, canStep as c, planDuplicate as d, planMove as e, fromItemSelector as f, planPaste as g, planRemove as h, planSetProps as i, planStep as j, nextInChain as n, parentStep as p, toItemSelector as t };
@@ -1 +1 @@
1
- export{AddBlockRow as default}from"../../chunk-UVAIY7VO.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-55IKQFBW.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-MCHMF32I.js";import"../../chunk-PDZXAFNX.js";import"../../chunk-AELNNAFM.js";import"../../chunk-CRPJGCSO.js";import"../../chunk-OZ72A6MY.js";import"../../chunk-UFY6RNMT.js";import"../../chunk-YNOZ5NXW.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-EA2HTX37.js";import"../../chunk-QASZFO4S.js";import"../../chunk-66LWADFP.js";import"../../chunk-QLD57GBB.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-67GNT6PF.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
1
+ export{AddBlockRow as default}from"../../chunk-MUZNA23W.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-YIKMVF24.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-MCHMF32I.js";import"../../chunk-XW4AV5N4.js";import"../../chunk-AELNNAFM.js";import"../../chunk-CRPJGCSO.js";import"../../chunk-OZ72A6MY.js";import"../../chunk-UFY6RNMT.js";import"../../chunk-YNOZ5NXW.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-EA2HTX37.js";import"../../chunk-UK2FQOUT.js";import"../../chunk-66LWADFP.js";import"../../chunk-QLD57GBB.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-67GNT6PF.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
@@ -1 +1 @@
1
- export{blockKey,AddSidePanel as default,sectionKey,templateKey}from"../../chunk-QVWPI2FL.js";import"../../chunk-5ZBY24K7.js";import"../../chunk-PA3PNTVV.js";import"../../chunk-BVN33R76.js";import"../../chunk-5SOSVTVI.js";import"../../chunk-KQMML6JM.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-55IKQFBW.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-MCHMF32I.js";import"../../chunk-PDZXAFNX.js";import"../../chunk-AELNNAFM.js";import"../../chunk-CRPJGCSO.js";import"../../chunk-OZ72A6MY.js";import"../../chunk-UFY6RNMT.js";import"../../chunk-YNOZ5NXW.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-EA2HTX37.js";import"../../chunk-QASZFO4S.js";import"../../chunk-GTDLBUOC.js";import"../../chunk-Y2G7CU6A.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-66LWADFP.js";import"../../chunk-QLD57GBB.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-6HHHBBSY.js";import"../../chunk-O2NLQBFX.js";import"../../chunk-67GNT6PF.js";import"../../chunk-PAELDYYS.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
1
+ export{blockKey,AddSidePanel as default,sectionKey,templateKey}from"../../chunk-LUSM3QTY.js";import"../../chunk-5ZBY24K7.js";import"../../chunk-PA3PNTVV.js";import"../../chunk-BVN33R76.js";import"../../chunk-5SOSVTVI.js";import"../../chunk-KQMML6JM.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-YIKMVF24.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-MCHMF32I.js";import"../../chunk-XW4AV5N4.js";import"../../chunk-AELNNAFM.js";import"../../chunk-CRPJGCSO.js";import"../../chunk-OZ72A6MY.js";import"../../chunk-UFY6RNMT.js";import"../../chunk-YNOZ5NXW.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-EA2HTX37.js";import"../../chunk-UK2FQOUT.js";import"../../chunk-GTDLBUOC.js";import"../../chunk-Y2G7CU6A.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-66LWADFP.js";import"../../chunk-QLD57GBB.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-2GLQRNYT.js";import"../../chunk-O2NLQBFX.js";import"../../chunk-67GNT6PF.js";import"../../chunk-PAELDYYS.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
@@ -2,11 +2,11 @@ import * as react from 'react';
2
2
  import { MediaPanelComponent, MediaPickRequest } from '../lib/media-panel.js';
3
3
  import '../../host-CiuzZJXj.js';
4
4
  import '../../blocks/index.js';
5
- import '../../types-CGFykP7c.js';
5
+ import '../../types-tNFRS_AW.js';
6
6
  import '../../data/index.js';
7
7
  import '../../types-41704JE4.js';
8
8
  import '../../resolve-D68pb3Bx.js';
9
- import '../../plan-BdQ9mLIf.js';
9
+ import '../../plan-CHKjPr6l.js';
10
10
  import '../lib/document-contract.js';
11
11
  import '../lib/session.js';
12
12
  import '../lib/backend-error.js';