efficient-easel 3.6.0 → 4.0.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 (78) 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-4JSBIW5H.js +9 -0
  5. package/dist/{chunk-OFNXIZEP.js → chunk-4YBMSUPL.js} +1 -1
  6. package/dist/chunk-7GVPKRW2.js +14 -0
  7. package/dist/{chunk-6B4276GZ.js → chunk-D4BUPPPV.js} +1 -1
  8. package/dist/chunk-FUOZKV7A.js +9 -0
  9. package/dist/chunk-KFMJ4IM4.js +5 -0
  10. package/dist/chunk-LJOYIXO4.js +65 -0
  11. package/dist/{chunk-CRPJGCSO.js → chunk-NJOPEWYN.js} +16 -16
  12. package/dist/{chunk-UVAIY7VO.js → chunk-QBJJVMVB.js} +1 -1
  13. package/dist/chunk-QEWRHH6R.js +5 -0
  14. package/dist/{chunk-FRGCTHDB.js → chunk-SNMCF2ZD.js} +1 -1
  15. package/dist/{chunk-ZN752E2O.js → chunk-TJOUAFJE.js} +1 -1
  16. package/dist/chunk-UK2FQOUT.js +1 -0
  17. package/dist/{chunk-J2JBETVO.js → chunk-X2GNFJRC.js} +1 -1
  18. package/dist/{chunk-6QSPOILR.js → chunk-XJPNW26S.js} +1 -1
  19. package/dist/{chunk-MTRFMGBO.js → chunk-ZHTQCAQ2.js} +1 -1
  20. package/dist/drag/drag.css +5 -56
  21. package/dist/drag/index.d.ts +1 -1
  22. package/dist/drag/index.js +1 -1
  23. package/dist/easel/index.d.ts +5 -5
  24. package/dist/easel/index.js +1 -1
  25. package/dist/fields/index.js +1 -1
  26. package/dist/node-ops/index.d.ts +2 -2
  27. package/dist/node-ops/index.js +1 -1
  28. package/dist/{plan-BdQ9mLIf.d.ts → plan-CHKjPr6l.d.ts} +10 -1
  29. package/dist/screen/components/AddBlockRow.js +1 -1
  30. package/dist/screen/components/AddSidePanel.js +1 -1
  31. package/dist/screen/components/MediaSidePanel.d.ts +2 -2
  32. package/dist/screen/components/MediaSidePanel.js +1 -1
  33. package/dist/screen/components/NodeContextMenu.d.ts +5 -5
  34. package/dist/screen/components/NodeContextMenu.js +1 -1
  35. package/dist/screen/components/ScreenChrome.js +1 -1
  36. package/dist/screen/components/ScreenDocumentContext.d.ts +2 -2
  37. package/dist/screen/components/ScreenMount.d.ts +4 -4
  38. package/dist/screen/components/ScreenMount.js +1 -1
  39. package/dist/screen/components/ScreenStoreProvider.d.ts +4 -4
  40. package/dist/screen/components/ScreenStoreProvider.js +1 -1
  41. package/dist/screen/components/SectionScreenShell.js +16 -16
  42. package/dist/screen/components/usePartBridge.d.ts +4 -4
  43. package/dist/screen/components/usePartBridge.js +1 -1
  44. package/dist/screen/index.d.ts +4 -4
  45. package/dist/screen/index.js +1 -1
  46. package/dist/screen/lib/admin-bridge.d.ts +2 -2
  47. package/dist/screen/lib/document-addressing.d.ts +2 -2
  48. package/dist/screen/lib/document-hooks.d.ts +2 -2
  49. package/dist/screen/lib/host.d.ts +2 -2
  50. package/dist/screen/lib/key-scope.js +1 -1
  51. package/dist/screen/lib/media-panel.d.ts +2 -2
  52. package/dist/screen/lib/media-picker.d.ts +2 -2
  53. package/dist/screen/lib/page-lock.d.ts +2 -2
  54. package/dist/screen/lib/puck/palette-sections.d.ts +2 -2
  55. package/dist/screen/lib/puck/section-doc.d.ts +2 -2
  56. package/dist/screen/lib/puck/style-clipboard.d.ts +4 -4
  57. package/dist/screen/lib/puck/use-section-ops.d.ts +2 -2
  58. package/dist/screen/lib/puck/use-section-ops.js +1 -1
  59. package/dist/screen/lib/screen-parts.d.ts +4 -4
  60. package/dist/screen/lib/screen-parts.js +1 -1
  61. package/dist/screen/lib/section-templates.d.ts +2 -2
  62. package/dist/screen/lib/session-context.d.ts +2 -2
  63. package/dist/screen/lib/session.d.ts +2 -2
  64. package/dist/screen/screen.css +9 -42
  65. package/dist/tree/index.d.ts +8 -4
  66. package/dist/tree/index.js +1 -1
  67. package/dist/tree/tree.css +6 -3
  68. package/dist/{types-BqGnUVX5.d.ts → types-BLRK6_JO.d.ts} +7 -0
  69. package/dist/{types-CGFykP7c.d.ts → types-tNFRS_AW.d.ts} +1 -1
  70. package/dist/{useNodeOps-B3e4b8a2.d.ts → useNodeOps-CLbZyd43.d.ts} +1 -1
  71. package/package.json +3 -3
  72. package/dist/chunk-55IKQFBW.js +0 -5
  73. package/dist/chunk-6HHHBBSY.js +0 -16
  74. package/dist/chunk-PDZXAFNX.js +0 -9
  75. package/dist/chunk-QASZFO4S.js +0 -1
  76. package/dist/chunk-QVWPI2FL.js +0 -5
  77. package/dist/chunk-TNTV7UZ6.js +0 -65
  78. package/dist/chunk-UFY6RNMT.js +0 -9
@@ -1,9 +0,0 @@
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 i,nextInChain as a,nodeChain as s}from"./chunk-QASZFO4S.js";import{useWords as d}from"./chunk-MFIRYGHW.js";import{setCanvasNonce as l,isTypingTarget as c}from"./chunk-ZNCEOSXO.js";import{find as u,ROOT_ID as p,getList as f,remove as h,parseZoneKey as m,move as v,duplicate as g,replaceNode as y,createNode as k,insert as S,normalizeData as w,createResolveCache as b,resolveNodeData as I,ROOT_SLOT as C,slotsOf as E}from"./chunk-KRXQM65X.js";import{topLevelSlotKeys as O,fieldsFrom as x,defaultsFrom as A}from"./chunk-NKB3KVAB.js";import{createContext as D,useEffect as z,useContext as M,useRef as Z,useSyncExternalStore as N,useState as j,useMemo as P,useCallback as $,useLayoutEffect as L}from"react";import{jsx as R,jsxs as B}from"react/jsx-runtime";import{createPortal as F}from"react-dom";function K(e){return!["setData","setUi","set"].includes(e.type)}var V=(e,t,n,o)=>{const r=f(e,t,m(n));return r?.[o]??null},H=(e,t,n,o,r)=>{const i=V(e,t,n,o);if(!i)throw new Error(`${r}: nothing at ${n}[${o}]`);return i};function T(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 q(e,t,n){return n?"node"===n.kind?u(e,t,n.id)?n:null:n.parentId===p?f(e,t,n)?n:null:u(e,t,n.parentId)&&f(e,t,n)?n:null:null}function Y(e,t,n,r=!1){const{itemSelector:i,selectedSlot:a,...s}=n;let d=e.selection;var l;return"itemSelector"in n&&(d=o(e.data,t,i??null)),"selectedSlot"in n&&(a?d=(l=a)?{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=W(e,t,n);if(o===e)return e;const r=q(o.data,n,o.selection);return r===o.selection?o:{...o,selection:r}}function W(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 Y(e,n,"function"==typeof t.ui?t.ui(T(e,n)):t.ui);case"set":{const r={data:o,ui:T(e,n)},i="function"==typeof t.state?t.state(r):t.state;let a=i.data?{...e,data:i.data}:e;return i.ui&&(a=Y(a,n,i.ui,!0)),a}case"insert":{const r={...m(t.destinationZone),index:t.destinationIndex},i=k(n,t.componentType,{},t.id?{id:t.id}:{});return{...e,data:S(o,n,r,i)}}case"replace":{const r=H(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:y(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=H(o,n,t.sourceZone,t.sourceIndex,"duplicate"),i=g(o,n,r.props.id),a=V(i,n,t.sourceZone,t.sourceIndex+1);return{...e,data:i,selection:a?{kind:"node",id:a.props.id}:e.selection}}case"reorder":return W(e,{...t,type:"move",sourceZone:t.destinationZone},n);case"move":{if(t.sourceZone===t.destinationZone&&t.sourceIndex===t.destinationIndex)return e;const r=V(o,n,t.sourceZone,t.sourceIndex);if(!r)return e;const i={...m(t.destinationZone),index:t.destinationIndex};return{...e,data:v(o,n,r.props.id,i)}}case"remove":{const r=H(o,n,t.zone,t.index,"remove");return{...e,data:h(o,n,r.props.id)}}default:return e}}var X={drag:!0,duplicate:!0,delete:!0,edit:!0,insert:!0},Q={leftSideBarVisible:!0,rightSideBarVisible:!0,arrayState:{},componentList:{},isDragging:!1,previewMode:"edit",viewports:{current:{width:360,height:"auto"},options:[],controlsVisible:!0},field:{focus:null}},G=0,J=()=>`history-${G+=1}`;function _(e){let t=e.config;const r=e.now??(()=>Date.now()),i=e.historyCoalesceMs??250;let a=e.permissions??{};const s=w(e.data,t);let d={data:s,selection:null,ui:{...Q}};if(e.ui){const{itemSelector:n,selectedSlot:r,...i}=e.ui;d={data:s,selection:r?{kind:"slot",...r}:o(s,t,n??null),ui:{...Q,...i}}}let l=[{core:d,at:-1/0,sealed:!0,id:J()}],c=0;const p=e=>{const t=l[c],n=r();!e&&c===l.length-1&&c>0&&!t.sealed&&n-t.at<i?l=[...l.slice(0,c),{...t,core:d,at:n}]:(l=[...l.slice(0,c+1),{core:d,at:n,sealed:e,id:J()}],c=l.length-1)},h=/* @__PURE__ */new Set;let m=null,v=null,g=0,k=null,S=!1;const C=()=>{for(const e of[...h])e()},E=()=>{l=[...l.slice(0,c),{...l[c],core:d},...l.slice(c+1)]},O=(t,n)=>{g>0?S=S||n:(n?p(!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??K(e);O(n,o&&d.data!==n.data)},A=t=>{0===g&&(k=d,S=!1),g+=1;try{t()}catch(e){throw g-=1,0===g&&k&&(d=k,k=null),e}if(g-=1,g>0||!k)return;const n=k;k=null,S&&d.data!==n.data?p(!0):d!==n&&E(),d.data!==n.data&&e.onChange?.(d.data),d!==n&&C()},D=e=>{const n=d,o=q(d.data,t,e);var r,i;(r=o,i=d.selection,r===i||r&&i&&r.kind===i.kind&&("node"===r.kind&&"node"===i.kind?r.id===i.id:"slot"===r.kind&&"slot"===i.kind&&r.parentId===i.parentId&&r.slot===i.slot))||(d={...d,selection:o},O(n,!1))},z=t=>{const n=d;c=t,d=l[c].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{...X,...a,...n}};let Z=M();const N=b(),j={resolveCache:N,async resolveAll({trigger:e="load",metadata:n}={}){const o=d.data,r={type:"root",props:{...o.root.props??{}}},i=[...o.content,...Object.values(o.zones??{}).flat()],[a,...s]=await Promise.all([I(r,t,{cache:N,trigger:e,metadata:n}),...i.map(o=>I(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 a=i[r].props.id,s=u(n,t,a)?.node;s&&s===u(o,t,a)?.node&&(n=y(n,t,a,e.node))}),a.didChange&&n.root===o.root&&(n={...n,root:{...n.root,props:a.node.props,readOnly:a.node.readOnly??n.root.readOnly}}),n!==d.data&&(d={...d,data:n,selection:q(n,t,d.selection)},O(e,!1))})},async resolveNode(e,{trigger:n="replace",metadata:o}={}){const r=u(d.data,t,e)?.node;if(!r)return!1;const i=await I(r,t,{cache:N,trigger:n,metadata:o});if(!i.didChange)return!1;let a=!1;return A(()=>{const n=d;if(u(d.data,t,e)?.node!==r)return;const o=y(d.data,t,e,i.node);o!==d.data&&(d={...d,data:o,selection:q(o,t,d.selection)},O(n,!1),a=!0)}),a},get config(){return t},getState(){if(m&&v===d)return m;const e=d,o={data:e.data,ui:T(e,t)},r="node"===e.selection?.kind?u(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:c>0,hasFuture:c<l.length-1,histories:l.map(e=>({id:e.id,state:{data:e.core.data,ui:T(e.core,t)}})),index:c,setHistoryIndex:e=>{e>=0&&e<l.length&&e!==c&&z(e)}},getPermissions:Z,getItemById:n=>u(e.data,t,n)?.node,getItemBySelector:n=>function(e,t,n){const[o,r]=(n.zone??"root:default-zone").split(/:(.*)/s);return f(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:q(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:q(r,t,n.selection??d.selection)},n.keepHistory||(l=[{core:d,at:-1/0,sealed:!0,id:J()}],c=0),d!==o&&C()},undo(){c>0&&z(c-1)},redo(){c<l.length-1&&z(c+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,a)||(a=e,Z=M(),m=null,C())},setConfig(e){e!==t&&(t=e,Z=M(),m=null,C())}};return j}function ee(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&&c(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 te=D(null),ne=D(!0);function oe({easel:e,hotkeys:t=!0,resolveOnMount:n=!0,children:o}){return z(()=>{n&&e.resolveAll()},[e,n]),z(()=>{if(t&&"undefined"!=typeof document)return ee(document,e)},[e,t]),/* @__PURE__ */R(te.Provider,{value:e,children:/* @__PURE__ */R(ne.Provider,{value:t,children:o})})}function re(){const e=M(te);if(!e)throw new Error("useEasel: no <EaselProvider> above this component");return e}function ie(e){const t=re(),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 i=e(o);return r.has&&Object.is(r.value,i)?(n.current={view:o,selector:e,value:r.value,has:!0},r.value):(n.current={view:o,selector:e,value:i,has:!0},i)};return N(t.subscribe,o,o)}function ae(){return function(e){return ie(e)}}var se="data-puck-component",de="data-puck-dropzone",le={},ce="data-es-mirror",ue="undefined"==typeof window?z:L;function pe(e,t,n){for(const e of Array.from(t.head.querySelectorAll(`[${ce}]`)))e.remove();for(const o of Array.from(e.head.querySelectorAll('style, link[rel="stylesheet"]'))){const e=o.cloneNode(!0);e.setAttribute(ce,""),n&&e.setAttribute("nonce",n),t.head.appendChild(e)}}function fe({children:t,id:n="preview-frame",title:o,className:r,style:i,mirrorStyles:a=!0,onDocument:s,height:c="auto",nonce:u}){const p=d("canvas",e),f=Z(null),[h,m]=j(null);return ue(()=>{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]),ue(()=>{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),l(e,u),m(t),s?.(e);let n=null;const o=f.current?.ownerDocument;if(a&&o){pe(o,e,u);const t=o.defaultView;t&&"MutationObserver"in t&&(n=new t.MutationObserver(()=>pe(o,e,u)),n.observe(o.head,{childList:!0,subtree:!0,characterData:!0}))}return()=>{n?.disconnect(),t.remove(),m(null),s?.(null)}},[]),/* @__PURE__ */R("iframe",{ref:f,id:n,title:o??p.frame,className:["es-canvas-frame","fill"===c?"is-fill":"",r??""].filter(Boolean).join(" "),style:i,children:h?F(t,h):null})}var he=D(null),me=D(le),ve=[];function ge({parentId:e,slot:t,className:n,style:o,minEmptyHeight:r=128}){const i=re(),a=ie(n=>f(n.appState.data,i.config,{parentId:e,slot:t})??ve),s=ie(t=>"node"===t.selection?.kind&&t.selection.id===e&&e!==p),d=ie(n=>"slot"===n.selection?.kind&&n.selection.parentId===e&&n.selection.slot===t),l=M(he),c=["es-zone"];return a.length&&c.push("has-children"),e===p&&c.push("is-root"),(s||d)&&c.push("is-area-selected"),null!==l&&l===e&&e!==p&&c.push("is-hovering-area"),n&&c.push(n),/* @__PURE__ */R("div",{className:c.join(" "),[de]:`${e}:${t}`,style:{...o,"--min-empty-height":`${r}px`},children:a.map(e=>/* @__PURE__ */R(Se,{node:e},e.props.id))})}function ye(e,t,n,o){const r="root"===t?e.root:e.components[t],i={...o};for(const e of O(x(r)))i[e]=function(t={}){/* @__PURE__ */
2
- return R(ge,{parentId:n,slot:e,...t})};return i}function ke(e){return function({zone:t,...n}){/* @__PURE__ */
3
- return R(ge,{parentId:e,slot:t,...n})}}function Se({node:e}){const t=re().config,n=t.components[e.type],o=e.props.id,r=function(e){const t=Z(null);return P(()=>n=>{const o=t.current;o&&o!==n&&(o.removeAttribute(se),o.removeAttribute("data-puck-dnd")),t.current=n,n&&(n.setAttribute(se,e),n.setAttribute("data-puck-dnd",e),n.style.position="relative")},[e])}(o),i=M(me);if(!n?.render)return null;const a=n.render,s=ye(t,e.type,o,{...A(n),...e.props}),d={renderDropZone:ke(o),isEditing:!0,dragRef:n.inline?r:null,metadata:{...i,...n.metadata}};return n.inline?/* @__PURE__ */R(a,{...s,puck:d,editMode:!0}):/* @__PURE__ */R("div",{[se]:o,"data-puck-dnd":o,style:{position:"relative"},children:/* @__PURE__ */R(a,{...s,puck:d,editMode:!0})})}function we({metadata:e}){const t=ie(e=>e.config),n=ie(e=>e.appState.data.root).props??{},o=t.root?.render,r=/* @__PURE__ */R(ge,{parentId:p,slot:C}),i=o?/* @__PURE__ */R(o,{id:"puck-root",...ye(t,"root",p,n),puck:{renderDropZone:ke(p),isEditing:!0,dragRef:null,metadata:e??{}},editMode:!0,children:r}):r;/* @__PURE__ */
4
- return R(me.Provider,{value:e??le,children:i})}function be({id:e,kind:t,overlay:n}){const o=Z(null),[r,i]=j(null);ue(()=>{const t=o.current?.ownerDocument,n=t?.defaultView;if(!t||!n||!e)return void i(null);let r=0;const a=()=>{r=0;const a=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(`[${se}="${n.CSS?.escape?n.CSS.escape(e):e}"]`),o.current?.parentElement??null);i(e=>{return(t=e)===(n=a)||t&&n&&t.top===n.top&&t.left===n.left&&t.width===n.width&&t.height===n.height?e:a;var t,n})},s=()=>{r||(r=(n.requestAnimationFrame??(e=>n.setTimeout(e,16)))(a))};a();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 a=/* @__PURE__ */R("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__ */R(n,{componentId:e,kind:t,children:a}):a}function Ie({frame:e=!0,className:t,style:n,metadata:o,mirrorStyles:r,onDocument:d,height:l,title:c,nonce:p,hotkeys:f,frameWrapper:h,overlay:m,children:v}){const g=re(),y=M(ne),k=f??y,[S,w]=j(void 0),b=ie(e=>"node"===e.selection?.kind?e.selection.id:null),[I,C]=j(null),O=e=>{const t=e.closest?.(`[${se}]`)?.getAttribute(se);if(!t)return;const n=g.getState(),o=n.appState.data,r=u(o,g.config,t);if(!r||0===E(r.node,g.config).length)return t;const i="node"===n.selection?.kind?n.selection.id:null;return a(s(o,g.config,t),i)??t},x=/* @__PURE__ */B("div",{className:"es-canvas-content",style:{position:"relative"},onClick:e=>{const t=e.target;t.closest?.("a[href]")&&e.preventDefault();const n=O(t);void 0===n?t.hasAttribute?.(de)||g.select(null):g.select(n)},onMouseOver:e=>{const t=O(e.target)??null;t!==I&&C(t)},onMouseLeave:()=>C(null),children:[
5
- /* @__PURE__ */R(he.Provider,{value:I,children:/* @__PURE__ */R(we,{metadata:o})}),
6
- /* @__PURE__ */B("div",{className:"es-canvas-outlines",style:{position:"absolute",top:0,left:0,pointerEvents:"none"},children:[
7
- /* @__PURE__ */R(be,{id:I&&I!==b?I:null,kind:"hover",overlay:m}),
8
- /* @__PURE__ */R(be,{id:b,kind:"selected",overlay:m})]}),v]}),A=h?/* @__PURE__ */R(h,{document:S,children:x}):x;z(()=>{if(S&&k)return ee(S,g)},[S,k,g]),z(()=>{if(!S)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=g.getState();if("node"!==n.selection?.kind)return;const o=i(n.appState.data,g.config,n.selection);"node"===o?.kind&&g.select(o.id)};return S.addEventListener("keydown",e),()=>S.removeEventListener("keydown",e)},[S,g]);/* @__PURE__ */
9
- return R("div",{className:"es-canvas"+(t?` ${t}`:""),style:n,"data-puck-preview":"",children:e?/* @__PURE__ */R(fe,{mirrorStyles:r,onDocument:e=>{w(e??void 0),d?.(e)},height:l,title:c,nonce:p,children:A}):/* @__PURE__ */R("div",{id:"preview-frame","data-puck-entry":"",children:A})})}function Ce(e={}){const t=re(),n=ie(e=>e.appState.data);return r({...e,data:n,config:t.config,commit:(e,{select:n})=>t.run({data:e,select:n})})}function Ee(){const e=re(),n=ie(e=>e.config),o=e.resolveCache,r=ie(e=>e.selectedItem),i=ie(e=>e.appState.data.root),a=r?r.props.id:"root",s=i.props??{},d=P(()=>r||{type:"root",props:s},[r,s]),l=r?n.components[r.type]:n.root,c=e.getState(),p=r?u(c.appState.data,n,a):null,f=p&&"root"!==p.place.parentId?p.place.parentId:null,h=f?c.getItemById(f)??null:null,{fields:m}=t({id:a,node:d,block:l,parent:h,appState:c.appState}),v=ie(e=>!1===e.getPermissions(r?{item:r}:{root:!0}).edit),g=$((t,r)=>{(async()=>{const i=e.getState();if("root"!==a){const s=i.getItemById(a),d=i.getSelectorForId(a);if(!s||!d)return;const l={...s,props:{...s.props,[t]:r}},{node:c}=await I(l,n,{cache:o,trigger:"replace"}),u=e.getState().getSelectorForId(a);if(!u)return;return void e.dispatch({type:"replace",destinationZone:u.zone??"root:default-zone",destinationIndex:u.index,data:c})}const s=i.appState.data.root.props??{},{node:d}=await I({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,a]);return{id:a,node:d,fields:m,values:d.props,readOnly:v,onChange:g}}export{fe as CanvasFrame,Q as DEFAULT_UI,Ie as EaselCanvas,oe as EaselProvider,we as EditDocument,ee as bindUndoKeys,_ as createEasel,ae as createUseEasel,K as recordsByDefault,U as reduce,T as uiView,ie as useEasel,re as useEaselApi,Ce as useEaselNodeOps,Ee as useSelectedFields,q as validSelection};
@@ -1 +0,0 @@
1
- import{find as t,remove as n,getList as e,newId as r,duplicate as o,move as a,copyNode as l,insert as c,setProps as d}from"./chunk-KRXQM65X.js";import{useRef as i,useSyncExternalStore as s,useCallback as p,useMemo as u}from"react";var f=t=>({kind:"node",id:t});function m(r,o,a,l="none"){const c=t(r,o,a),d=n(r,o,a);if("none"===l||!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:f(s.props.id)}:"root"!==c.place.parentId?{data:d,select:f(c.place.parentId)}:{data:d,select:null}}function x(n,e,a,l={}){const c=t(n,e,a)?.node,d=l.id??r(c?.type??"Node");return{data:o(n,e,a,{strip:l.strip,id:d}),select:f(d)}}function I(t,n,e,r){return{data:a(t,n,e,r),select:f(e)}}var g=(t,n)=>({min:0,max:n-1});function v(n,r,o,a,l=g){const c=t(n,r,o);if(!c)return!1;const d=e(n,r,c.place)?.length??0,{min:i,max:s}=l(c.place,d),p=c.place.index+a;return c.place.index>=i&&c.place.index<=s&&p>=i&&p<=s}function b(n,e,r,o,a=g){if(!v(n,e,r,o,a))return null;const l=t(n,e,r);return I(n,e,r,{...l.place,index:l.place.index+o})}function h(t,n,e,r,o={}){const a=l(e,n,{strip:o.strip});return{data:c(t,n,r,a),select:f(a.props.id)}}function k(t,n,e,r){return{data:d(t,n,e,r),select:void 0}}function y(n,e,r,o=()=>!1){if(!r)return null;if("slot"===r.kind)return t(n,e,r.parentId)?f(r.parentId):null;const a=t(n,e,r.id);if(!a||"root"===a.place.parentId)return null;const l=t(n,e,a.place.parentId);return l?o(l.node,a.place.slot)?{kind:"slot",parentId:l.node.props.id,slot:a.place.slot}:f(l.node.props.id):null}function O(n,e,r){const o=t(n,e,r);return o?[...o.path.filter(t=>"root"!==t.parentId).map(t=>t.parentId),r]:[]}function z(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 R(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 B(t,n,r){if(!r)return null;const[o,a]=(r.zone??"root:default-zone").split(/:(.*)/s),l={parentId:o,slot:a},c=e(t,n,l)?.[r.index];return c?.props?.id?f(c.props.id):null}var M={get:()=>null,set:()=>{},subscribe:()=>()=>{}};function X(n){const e=i(n);e.current=n;const r=n.clipboard??M,o=s(r.subscribe,r.get,r.get),a=p(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 u(()=>{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=>a((e,r)=>m(e,r,t,n().afterRemove)),duplicate:t=>a((e,r)=>x(e,r,t,{strip:n().strip})),move:(t,n)=>a((e,r)=>I(e,r,t,n)),step:(t,e)=>a((r,o)=>b(r,o,t,e,n().stepBounds)),canStep:(t,e)=>v(n().data,n().config,t,e,n().stepBounds),setProps:(t,n)=>a((e,r)=>k(e,r,t,n)),copy:(t,e)=>{const o=r(t,e);return o&&(n().clipboard??M).set(o),!!o},cut:(t,e)=>{if(n().readOnly)return!1;const o=r(t,e);return!!o&&((n().clipboard??M).set(o),a((e,r)=>m(e,r,t,n().afterRemove)))},paste:t=>{const e=(n().clipboard??M).get();return!!e&&a((r,o)=>h(r,o,e.node,t,{strip:n().strip}))},parentOf:t=>y(n().data,n().config,t,n().slotIsLevel)}},[o,a])}export{v as canStep,B as fromItemSelector,z as nextInChain,O as nodeChain,y as parentStep,x as planDuplicate,I as planMove,h as planPaste,m as planRemove,k as planSetProps,b as planStep,R as toItemSelector,X as useNodeOps};
@@ -1,5 +0,0 @@
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-55IKQFBW.js";import{DEFAULT_SCREEN_WORDS as d}from"./chunk-MCHMF32I.js";import{useEasel as f}from"./chunk-PDZXAFNX.js";import{useWords as u}from"./chunk-MFIRYGHW.js";import{AddPanel as k}from"./chunk-6HHHBBSY.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 B,jsxs as $,Fragment as O}from"react/jsx-runtime";var H=e=>`section:${e}`,I=e=>`block:${e}`,v=e=>`template:${e}`;function F({blocks:F,blocksOnly:V,at:x,onAdd:N,itemFor:A,session:L,siteWide:S,onClose:C,onHide:D,readOnly:Q}){const T=f(e=>e.config),w=p(),{labelAtLevel:M,categoryLabel:P,firstSection:R,Icon:W,Thumbnail:X}=w,{blockIsOffered:Y}=m(),z=u("screen",d).add,K=u("drag",h).add,Z=l(),[E,G]=y([]);b(()=>{let t=!1;const o=e=>Y(e,Z);return s(Z).list().then(n=>{if(t)return;const i=T.components;G(n.filter(t=>t.node?.type&&i[t.node.type]&&e(t.node).every(o)))}).catch(()=>{}),()=>{t=!0}},[T,Z]);const J=j(()=>t(T,w),[T]),q=e=>({type:H(e.type),label:e.name,cover:/* @__PURE__ */B(X,{type:e.type}),title:e.desc?`${e.name} — ${e.desc}`:z.tile({name:e.name}),keywords:[e.alias??"",e.desc,e.type,e.catLabel].filter(Boolean)}),U=j(()=>{const e=[];if(F&&F.choices.length>0&&a(F.choices).forEach((t,o)=>{e.push({key:`blocks:${o}`,title:0===o?`${z.inside({name:F.parentName})}${t.group?` · ${t.group}`:""}`:t.group??"",tiles:t.items.map(e=>({type:I(e.type),label:e.label,icon:/* @__PURE__ */B(W,{type:e.type,size:18}),title:z.tile({name:e.label})}))})}),V)return e;const t=o(J,R);t&&e.push({key:"start",title:z.startBlank,tiles:[q(t)]}),E.length>0&&e.push({key:"templates",title:z.templates,tiles:E.map(e=>{return{type:v(e.id),label:e.name,cover:/* @__PURE__ */B(X,{type:e.node.type}),keywords:[(t=e.node.type,M(t,"section",T.components[t]?.label??t)),e.node.type]};var t})});const s=n(J,R);for(const t of Object.keys(T.categories??{})){const o=s.filter(e=>e.cat===t);0!==o.length&&e.push({key:`category:${t}`,title:i(T,t,P),tiles:o.map(q)})}return e},[F,V,E,J,T,z]),_=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,{children:[
3
- /* @__PURE__ */B(r,{icon:/* @__PURE__ */B(g,{size:15}),title:z.title,context:V?z.contextBlocks:z.contextAll,actions:/* @__PURE__ */B(c,{label:z.done,description:z.doneDescription,onClick:C}),onHide:D}),
4
- /* @__PURE__ */$("div",{className:"sf-addside sf-scroll",children:[
5
- /* @__PURE__ */B(k,{groups:U,session:L,itemFor:e=>A(_(e)??{kind:"section",type:e}),onInsert:e=>{const t=_(e);t&&N(t)},at:x,hint:V?z.hintBlocks:z.hint,searchLabel:V?z.searchBlocks:z.searchSections,readOnly:Q,words:K}),S&&!V?S:null]})]})}export{F as AddSidePanel,I as blockKey,H as sectionKey,v as templateKey};
@@ -1,65 +0,0 @@
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-J2JBETVO.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-OFNXIZEP.js";import{useSectionOps as w}from"./chunk-FRGCTHDB.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 O,styleShortcut as I}from"./chunk-V7U33NF2.js";import{AddChildRow as N}from"./chunk-5545A3PC.js";import{AddSidePanel as T}from"./chunk-QVWPI2FL.js";import{SidePanelHead as P,PanelShowStrip as $}from"./chunk-5SOSVTVI.js";import{MediaSidePanel as A}from"./chunk-ZN752E2O.js";import{useScreenSaveSwitch as M,useScreenNodeKeys as j,useScreenPinned as R,useScreenDocumentLabel as E,useScreenCanvasFrame as L,useScreenInspectorPanel as F,useScreenDevices as V,useScreenPickFollowsSelection as D,useScreenLeftView as H,useScreenAdd as W,SELECTION_MODE as U,sameInspectorMode as G,useScreenBridges as Y,useScreenBlockRules as J,useScreenBlockLook as X,useScreenStorageNamespace as K,useScreenNotify as Q,useScreenCanvasHead as _,isSlotMode as Z,useScreenStyleClipboard as q,useScreenDocumentPass as ee,useScreenCanvasDrag as ne,ScreenCanvasTargetProvider as te,isPinnedFirst as oe,isPinnedLast as re,screenSlotsOf as ie}from"./chunk-55IKQFBW.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-PDZXAFNX.js";import{TreeRow as be,Subtree as ze,LayersTree as Be,TreeGroupLabel as Ce,TreeRowAction as Oe,TreeSeam as Ie}from"./chunk-UFY6RNMT.js";import{DEFAULT_TREE_WORDS as Ne}from"./chunk-K56YDHYQ.js";import{DEFAULT_NODE_MENU_WORDS as Te}from"./chunk-WK3AFPXY.js";import{toItemSelector as Pe,useNodeOps as $e}from"./chunk-QASZFO4S.js";import{LayersIcon as Ae,MediaIcon as Me}from"./chunk-4VJATVVR.js";import{DEFAULT_SAVE_WORDS as je,saveIndicator as Re}from"./chunk-H6DDIBQ4.js";import{EaselTopBar as Ee,TopBarRail as Le,TopBarCluster as Fe,EaselIconButton as Ve,TopBarDivider as De,DeviceSwitch as He,InspectorIconButton as We,PanelResizeHandle as Ue,MAX_PANEL_W as Ge,MIN_PANEL_W as Ye,panelWidthVars as Je,SaveState as Xe,SaveStateToggle as Ke}from"./chunk-GTDLBUOC.js";import{DEFAULT_CHROME_WORDS as Qe}from"./chunk-Y2G7CU6A.js";import{useWords as _e}from"./chunk-MFIRYGHW.js";import{CanvasDragLayer as Ze}from"./chunk-6HHHBBSY.js";import{DEFAULT_DRAG_WORDS as qe}from"./chunk-O2NLQBFX.js";import{createDragSession as en,useTreeDrag as nn,gapToMoveIndex as tn}from"./chunk-67GNT6PF.js";import{useCanvasFrame as on,BLOCK_SELECTOR as rn,useCanvasEvent as ln}from"./chunk-PAELDYYS.js";import{zoneKey as sn,ROOT_ID as dn,ROOT_SLOT as cn,parseZoneKey as an,DataError as pn}from"./chunk-KRXQM65X.js";import{useRef as un,useMemo as fn,useState as hn,useEffect as mn,useCallback as gn,useLayoutEffect as yn,Fragment as kn}from"react";import{Tooltip as Sn,Button as vn,toast as wn}from"efficient-shell/ui";import{UndoIcon as xn,RedoIcon as bn,TrashIcon as zn,EyeOffIcon as Bn,EyeIcon as Cn,DuplicateIcon as On}from"efficient-shell/icons/efficient";import{jsx as In,jsxs as Nn,Fragment as Tn}from"react/jsx-runtime";function Pn({saveState:e,notSaving:n,readOnlyReason:t,toggle:o,onToggle:r,onRetry:i,words:l,saveWords:s}){if(null!==t)/* @__PURE__ */return In(Xe,{tone:"off",label:t,role:"status"});if(n)/* @__PURE__ */
2
- return In(Xe,{tone:e.pending?"off-unsaved":"off",label:l.notSaving,role:"status"});const{tone:d,label:c}=Re(e,s),a=e.failed&&!e.paused&&/* @__PURE__ */In(vn,{variant:"secondary",size:"sm",onClick:i,children:l.retry});/* @__PURE__ */
3
- return Nn(Tn,o?{children:[
4
- /* @__PURE__ */In(Ke,{pressed:e.paused,onToggle:r,title:e.paused?l.autoSaveOff:l.autoSaveOn,children:/* @__PURE__ */In(Xe,{tone:d,label:c})}),a]}:{children:[
5
- /* @__PURE__ */In(Xe,{tone:d,label:c,role:"status"}),a]})}function $n({expand:e}){/* @__PURE__ */
6
- return In("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.9,strokeLinecap:"round",strokeLinejoin:"round",children:/* @__PURE__ */Nn(Tn,e?{children:[
7
- /* @__PURE__ */In("path",{d:"M8 9l4-4 4 4"}),
8
- /* @__PURE__ */In("path",{d:"M8 15l4 4 4-4"})]}:{children:[
9
- /* @__PURE__ */In("path",{d:"M8 4l4 4 4-4"}),
10
- /* @__PURE__ */In("path",{d:"M8 20l4-4 4 4"}),
11
- /* @__PURE__ */In("path",{d:"M5 12h14"})]})})}function An(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 Mn="__rungs";var jn="screen:band",Rn={duplicate:!0,delete:!0};function En(){const Re=ye(),{target:Xe,docId:Ke,capabilities:En,currentSlug:Ln,siteId:Fn,onPublish:Vn,saveState:Dn,saveConflict:Hn,retrySave:Wn,toggleAutoSave:Un,readOnly:Gn,readOnlyReason:Yn=null}=B(),Jn=M(),Xn=j(),{mediaEditing:Kn,hasEditGuard:Qn,hasPinnedChrome:_n}=En,{appState:Zn,dispatch:qn,history:et,selectedItem:nt,getSelectorForId:tt,config:ot}=we(e=>e),rt=R(),{first:it,firstGroup:lt,lastGroup:st,isSectionGroup:dt,sectionGroupZone:ct,panelOf:at}=rt,pt=at(it),ut=e=>oe(rt,e),ft=e=>re(rt,e),ht="node"===rt.firstRow,mt=rt.band??null,gt=_e("screen",ve),yt=_e("tree",Ne),kt=_e("drag",qe),St=_e("save",je),vt=_e("menu",Te),wt=_e("styleClipboard",Se),xt=_e("chrome",Qe),bt=E()??`/${Ln}`,zt=L(),Bt=F(),Ct=w({readOnly:Gn}),Ot=w({readOnly:Gn,foldIntoHistory:!0}),It=un(null),Nt=xe(),Tt=fn(()=>({...Ct,select:e=>{It.current=e,Ct.select(e)},commitDocument:(e,n)=>{if(void 0!==n){const t=Nt.config;It.current=Pe(e,t,n)}Ct.commitDocument(e,n)}}),[Ct,Nt]),Pt=Zn.ui,$t=Pt.leftSideBarVisible,At=Pt.rightSideBarVisible,{options:Mt,widths:jt,initial:Rt,fluid:Et,fit:Lt}=V(),[Ft,Vt]=hn(Rt),Dt=he(),Ht=Kn&&null!==Dt,Wt=me(),Ut=ge();D(nt?.props.id);const{read:Gt,write:Yt,forSelection:Jt}=H(),[Xt,Kt]=hn(Gt);mn(()=>{Yt(Xt)},[Xt]);const[Qt,_t]=hn(0),Zt=un(null),qt=un(null),eo=on(qt,{readySelector:rn}),no=f(qt);h(qt,eo);const[to,oo]=hn(!1),ro=un(!1),io=un(!1),[lo,so]=hn(null),co=W(),ao=e=>so(null===e?null:{zone:le,index:e}),[po,uo]=hn([]),[fo,ho]=hn(U),mo="puck"===fo.kind,go=to&&!lo&&co.railTarget?co.railTarget(Zn.data,{node:nt??null,mode:fo}):null,yo=go?{zone:sn(go),index:go.index}:null,ko=lo??yo,So=ko&&ko.zone===le?ko.index:null,vo=t(fo,nt?.props.id),[wo,xo]=hn(null);mn(()=>{wo&&(o(),xo(null))},[wo]);const bo=un(tt);bo.current=tt;const zo=gn((e,{scroll:n})=>{Kt(n=>Jt(e,n)),n&&xo(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&&er(e=>{if(t.every(n=>!e.has(n)))return e;const n=new Set(e);return t.forEach(e=>n.delete(e)),n})},[]),Bo=un(null);mn(()=>{const e=Bo.current;Bo.current=null;const n=null==nt?.props.id?null:String(nt.props.id);ho(e&&e.id===n?e.mode:at(nt?.type)??U);const t=nt?.props.id,o=It.current;if(It.current=null,!t)return;const i=tt(t);zo(String(t),{scroll:!r(o,i??null,le)})},[nt?.props.id,zo]);const Co=gn(e=>{ho(n=>G(n,e)?n:e),qn({type:"setUi",ui:{rightSideBarVisible:!0}})},[qn]),Oo=un(()=>{});Oo.current=(e,n)=>{const t=e?Gr(e.zone??le)[e.index]?.props.id:null,o=null==t?null:String(t),r=null==nt?.props.id?null:String(nt.props.id);ho(e=>G(e,n)?e:n),o!==r&&(Bo.current={id:o,mode:n},Tt.select(e))};const Io=gn((e,n)=>Oo.current(e,n),[]),No={kind:fo.kind,mode:fo,open:Co,show:e=>ho(e),reveal:()=>{At||qn({type:"setUi",ui:{rightSideBarVisible:!0}})},select:Io},To=Y(No,{data:Zn.data,selected:nt??null,zoneOf:e=>tt(e)?.zone,readOnly:Boolean(Gn),select:e=>{ho(U),Tt.select({index:e})},replace:(e,n)=>Tt.replaceComponent(le,e,n),scrollTo:e=>gi(e)},{device:Ft,refreshes:Qt},{setView:Kt,reveal:()=>{$t||qn({type:"setUi",ui:{leftSideBarVisible:!0}})}}),Po=To.pinnedSource??!1,$o=To.resolveLeftView?To.resolveLeftView(Xt,Ht):"media"===Xt&&Ht?Xt:"sections",Ao=J(),{isLockedBlock:Mo,duplicateBlocked:jo,nestDepth:Ro,newSectionNode:Eo,canAddTo:Lo,blockIsOffered:Fo}=Ao,Vo=X(),{labelAtLevel:Do,Icon:Ho,useProducts:Wo}=Vo,Uo=Vo.rowName?(e,n,t)=>Vo.rowName(e,n,t):void 0,Go=gn(e=>{qn({type:"setUi",ui:{rightSideBarVisible:!0}}),a(e),zo(e,{scroll:!0})},[qn,zo]),{selectNode:Yo,openPartId:Jo}=v({mode:fo,setMode:ho,onOpenPart:Go}),[Xo,Ko]=hn(null);ke(null!==Xo,()=>Ko(null));const Qo=y(K()),_o=Qo.collapsed,Zo=Qo.panelWidths,[qo,er]=hn(()=>{if("undefined"==typeof window)/* @__PURE__ */return new Set;try{const e=window.localStorage.getItem(_o);return new Set(e?JSON.parse(e):[])}catch{/* @__PURE__ */
12
- return new Set}});mn(()=>{try{window.localStorage.setItem(_o,JSON.stringify([...qo]))}catch{}},[qo]);const[nr,tr]=hn(()=>{if("undefined"==typeof window)return{...k};try{const e=window.localStorage.getItem(Zo);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}}});mn(()=>{const e=setTimeout(()=>{try{window.localStorage.setItem(Zo,JSON.stringify(nr))}catch{}},300);return()=>clearTimeout(e)},[nr]);const or=gn((e,n)=>tr(t=>{const o="function"==typeof n?n(t[e]):n;return t[e]===o?t:{...t,[e]:o}}),[]),rr=gn(e=>or("left",e),[or]),ir=gn(e=>or("right",e),[or]),lr=e=>qo.has(e),sr=e=>er(n=>{const t=new Set(n);return t.has(e)?t.delete(e):t.add(e),t}),dr=un(!1),cr=un(null);mn(()=>{if(dr.current&&!to){const e=cr.current,n=e&&e.isConnected&&!e.closest('[aria-hidden="true"]')?e:null;(n??qt.current?.querySelector(`button[aria-label="${CSS.escape(gt.add.title)}"]`))?.focus(),cr.current=null}dr.current=to},[to]),mn(()=>{if(!to||!no)return;const e=e=>{"Escape"===e.key&&Bi()};return no.addEventListener("keydown",e),()=>no.removeEventListener("keydown",e)},[to,no]),ke(to,()=>Bi()),mn(()=>{!$t&&to&&(oo(!1),so(null),ro.current=!1)},[$t]),mn(()=>{if(!Wt)return io.current&&qn({type:"setUi",ui:{leftSideBarVisible:!1}}),void(io.current=!1);to&&(oo(!1),so(null),io.current=ro.current,ro.current=!1),$t||(io.current=!0,qn({type:"setUi",ui:{leftSideBarVisible:!0}}))},[Wt]),mn(()=>{!$t&&Wt&&(io.current=!1,Ut())},[$t]),mn(()=>{if(!Wt||!no)return;const e=e=>{"Escape"===e.key&&Ut()};return no.addEventListener("keydown",e),()=>no.removeEventListener("keydown",e)},[Wt,no]),ke(null!==Wt,()=>Ut());const ar=Q(),pr=(e,n="success")=>{ar?ar(e,"error"===n?"error":"info"):"error"===n?wn.error(e,{duration:3200,sound:!1}):wn.success(e,{duration:1900,sound:!1})},ur=un(null),[fr,hr]=hn(0),[mr,gr]=hn(0),yr=_(),kr=un(null),Sr=e=>Math.max(0,e.clientHeight-(kr.current?.offsetHeight??0));mn(()=>{const e=ur.current;if(!e)return;const n=()=>{hr(e.clientWidth),gr(Sr(e))};n();const t=new ResizeObserver(n);return t.observe(e),kr.current&&t.observe(kr.current),()=>t.disconnect()},[]),yn(()=>{ur.current&&(hr(ur.current.clientWidth),gr(Sr(ur.current)))},[nr,$t,At]);const vr=Ft===Et?fr>0?fr:jt[Et]:jt[Ft],wr=fr>0?Math.min(fr/vr,"shrink"===Lt?1:2):1,xr=vr*wr,br=fr>0&&xr>fr+1,zr={width:xr,height:mr||"100%",flex:"none",position:"relative"},Br={width:vr,height:mr?mr/wr:"100%",maxHeight:"none",transform:1!==wr?`scale(${wr})`:void 0,transformOrigin:"top left"},Cr=()=>qn({type:"setUi",ui:{leftSideBarVisible:!$t}}),Or=()=>qn({type:"setUi",ui:{rightSideBarVisible:!At}}),Ir=e=>{to&&(oo(!1),so(null),ro.current=!1,$t&&Xt===e)||Wt&&(io.current=!1,Ut(),$t&&Xt===e)||($t&&Xt===e?Cr():(Kt(e),$t||qn({type:"setUi",ui:{leftSideBarVisible:!0}})))},Nr=()=>{C(Re,{accept:"image/*",title:xt.mediaLibrary})},Tr=()=>{ho(U),Tt.select(null),u()},Pr=()=>{ho(pt??U),At||qn({type:"setUi",ui:{rightSideBarVisible:!0}})},$r=Zn.data.content??[],Ar=()=>{const e=$r.findIndex(ut),n=$r.findIndex(ft);return{floor:e>=0?e+1:0,cap:n>=0?n:$r.length}},Mr=ot,jr=Ao.stripCopy,Rr=e=>i(e,jr),Er=x(),Lr=$e({data:Zn.data,config:Mr,readOnly:Boolean(Gn),clipboard:Er,strip:jr?e=>jr(e):void 0,afterRemove:"none",stepBounds:(e,n)=>{if(e.parentId!==dn||e.slot!==cn)return{min:0,max:n-1};const{floor:t,cap:o}=Ar();return{min:t,max:o-1}},commit:(e,{select:n})=>{void 0!==n&&ho(U);const t=void 0===n||"node"===n?.kind?n:null;Tt.commitDocument(e,t)}}),Fr=e=>Do(e,"block",ot.components[e]?.label??e),Vr=gn(e=>ot.components[e]?.defaultProps??{},[ot]),Dr=e=>Do(e,"section",Fr(e)),Hr=e=>l({type:e.type,props:e.props??{}},Dr(e.type),Uo),{nodeAddresses:Wr,zoneItems:Ur}=fn(()=>{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(ot,n))s.set(t,[...s.get(t)??[],e]);for(const[e,n]of s)t(n,e,i+1)})};return t($r,le,0),{nodeAddresses:e,zoneItems:n}},[$r,ot]),Gr=gn(e=>Ur.get(e)??[],[Ur]),Yr=e=>{const n=Wr.get(e);return n?Gr(n.zone)[n.index]:void 0},Jr=e=>ie(Ao,ot,e),Xr=e=>{if(!Ao.slotsOf||e===le)return null;const n=e.lastIndexOf(":");if(n<=0)return null;const t=Yr(e.slice(0,n));if(!t)return null;const o=Jr(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}},Kr=(()=>{if(!Z(fo))return null;const e=`${fo.nodeId}:${fo.slot}`;return Xr(e)?.slot.panel===fo.kind?e:null})(),Qr=un(null);mn(()=>{const e=Qr.current;if(Qr.current=null,!Kr||!Z(fo))return;const n=fo.nodeId;zo(n,{scroll:e!==Kr}),er(e=>{if(!e.has(n))return e;const t=new Set(e);return t.delete(n),t})},[fo]);const _r=(e,n,t)=>{const o=String(e.props.id);if(!n.panel)return void(e=>{const n=Wr.get(e);n&&(n.zone===le?yi(n.index):Ji(n.zone,n.index,e,Yr(n.zone.slice(0,n.zone.lastIndexOf(":")))?.type??""))})(o);const r={kind:n.panel,nodeId:o,slot:n.slot},i=`${o}:${n.slot}`;t&&Kr!==i&&(Qr.current=i),Io(null,r),At||qn({type:"setUi",ui:{rightSideBarVisible:!0}}),gi(o)},Zr=(e,n,t)=>{const o=`${e}:${n}`;if(er(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;Kr!==o&&(Qr.current=o);Io(null,{kind:t,nodeId:e,slot:n})},qr=(e,n,t)=>{if(Gn||!Ao.moveSlot)return;const o=Yr(e),r=o?Jr(o).filter(e=>e.rung):[],i=r[n];if(!i)return;const l={parentId:e,slot:Mn,index:n},s=tn(l,{...l,index:Math.min(Math.max(t,0),r.length)});if(s===n)return;const d=Ao.moveSlot(e,n,s);"string"==typeof d&&Zr(e,d,i.panel)},ei=Wo(),ni=fn(()=>{const e=/* @__PURE__ */new Map;for(const n of ei??[])e.set(n.slug,n.name);return e},[ei]),ti=e=>s(e,Fr,Vo.plainText,e=>ni.get(e),Vo.rowName),oi=(e,n)=>{const t=ot.components[e.type]?.fields,o=n===le||pl(n)?"section":"block",r=n===le&&(ut(e)||ft(e)||dt(e.type)),i="block"===o?d(t):r?null:c(t);return Vo.renamePropOf?Vo.renamePropOf(e,o,i):i},ri=(e,n,t,o)=>{if(!(!Gn&&Xo?.zone===e&&Xo.index===n))return;const r=(t,o)=>{Ko(null),o&&((e,n,t)=>{const o=Gr(e)[n];if(!o)return;const r=oi(o,e);r&&Tt.replaceComponent(e,n,{...o,props:{...o.props,[r]:t.trim()}})})(e,n,t)};/* @__PURE__ */
13
- return In("input",{className:"es-tree-rename",defaultValue:o,autoFocus:!0,"aria-label":gt.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)},ii=n(q(),wt),li=ii.scope({target:Xe,siteId:Fn,docId:Ke}),si=ot,di=(e,n)=>n===le?Dr(e):Fr(e),ci=(e,n,t)=>{const o=ii.plan(li,t,di(t.type,e),si);o&&(o.changed&&Tt.replaceComponent(e,n,{...t,props:{...o.props,id:t.props.id}}),pr(o.message))},ai=b({nodesIn:Gr,nodeAt:(e,n)=>Gr(e)[n]??null,labelOf:(e,n)=>n===le?Dr(e):Fr(e),renamePropOf:oi,beginRename:(e,n)=>Ko({zone:e,index:n}),history:{hasPast:et.hasPast,hasFuture:et.hasFuture,back:()=>et.back(),forward:()=>et.forward()},openAddSection:()=>{Tt.select(null),bi(null)},openPageSettings:()=>{Tt.select(null),ho(U)},pageSettingsLabel:gt.pageSettings,words:{menu:vt,styleClipboard:wt,screen:gt.menu},readOnly:Boolean(Gn),collapseAll:()=>er(new Set(Gr(le).map(e=>String(e.props.id)))),onPasteRefused:e=>pr(e?gt.pasteRefused({name:e.label}):gt.menu.clipboardRefused,"error"),canPasteAt:(e,n)=>fl(e,n),menuRows:To.menuRows,isLocked:e=>Mo(e.type),duplicateBlocked:e=>jo(Zn.data,e),permits:e=>se(ot,e.type),canAddTo:Lo,nodeOps:Lr,isPinned:(e,n)=>n===le&&(ut(e)||ft(e)),sectionBand:Ar,openAddInside:(e,n)=>{e===le?yi(n):Tt.select({zone:e,index:n}),bi(null)},locate:e=>Wr.get(e)??null,rowNameOf:(e,n)=>n===le?Hr(e):ti(e),selectAt:(e,n,t,o)=>{e===le?yi(n):Ji(e,n,t,o??"")},slotRung:e=>{const n=Xr(e);return n?.slot.panel?{label:n.slot.label,select:()=>_r(n.node,n.slot,!1)}:null},style:{held:()=>O(li),canCopy:e=>ii.rows(si,e).some(e=>!1!==e.counted),copy:(e,n)=>ii.copy(li,e,di(e.type,n),si),paste:(e,n,t)=>ci(e,n,t)},keys:Xn?{target:no,selected:()=>{const e=Zn.ui.itemSelector;return e?{zone:e.zone??le,index:e.index}:null},held:()=>Er.get(),readOnly:Boolean(Gn),onDone:({done:e,name:n})=>{"copied"===e&&pr(gt.copied({name:n}))}}:void 0},eo),pi=un({copy:(e,n)=>{},paste:(e,n,t)=>{},at:()=>null,readOnly:!1});mn(()=>{pi.current={copy:(e,n)=>ii.copy(li,e,di(e.type,n),si),paste:ci,at:()=>{const e=Zn.ui.itemSelector;if(!e)return null;const n=e.zone??le,t=Gr(n)[e.index];return t?{zone:n,index:e.index,node:t}:null},readOnly:Boolean(Gn)}});const ui=gn(e=>{const n=I(e);if(!n)return;const t=pi.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))},[]);mn(()=>{if(!no)return;const e=e=>ui(e);return no.addEventListener("keydown",e),()=>no.removeEventListener("keydown",e)},[ui,no]),ln(eo,"keydown",ui);const fi=$r.map(e=>e.props.id).join("|");mn(()=>{const e=eo?.document??null,n=eo?.window??null;let t=0;const o=[],r=()=>{if(!e)return void uo(e=>e.length?[]:e);const n=$r.findIndex(ft),t=n>=0?n:$r.length,o=n=>{const t=$r[n]?.props?.id;return null==t?null:e.querySelector(`[data-puck-component="${CSS.escape(String(t))}"]`)},r=e=>e?[...e.querySelectorAll(rn)].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=An(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})}uo(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()}},[eo,fi,Ft,wr,$t,At,nt?.props.id]);const hi=eo?.document??null,mi=eo?.window??null;mn(()=>{const e=Zt.current;if(!e||!hi||!mi)return;const n=[],t=()=>{const n=hi.querySelector(`[data-puck-component="${CSS.escape(e.id)}"]`);if(!n)return!1;const t=n.getBoundingClientRect().top-e.offset;return Math.abs(t)>1&&mi.scrollTo({left:mi.scrollX,top:mi.scrollY+t,behavior:"instant"}),!0};return Zt.current=null,t()&&n.push(setTimeout(t,150),setTimeout(t,450)),()=>n.forEach(clearTimeout)},[hi,mi]);const gi=e=>{To.holdCanvasOn?To.holdCanvasOn(e):a(e)},yi=e=>{ho(U),Tt.select({index:e}),To.sectionPressed?.($r[e]);const n=$r[e]?.props?.id;n&&gi(n)},ki=e=>{const{floor:n,cap:t}=Ar(),o=e=>Math.min(Math.max(n,e),t);if("number"==typeof e)return o(e);const r=nt&&fo.kind!==pt?.kind?$r.findIndex(e=>e.props.id===nt.props.id):-1;return o(r>=0?r+1:t)},Si=(e,n)=>{const{floor:t,cap:o}=Ar(),r=Math.min(Math.max(n,t),o),i=e<r?r-1:r;return i===e?{moved:!1,dest:e}:(Tt.reorderComponent(le,e,i),Tt.select({index:i}),{moved:!0,dest:i})},vi=(e,n,t,o)=>{ho(U),Tt.select(o?{index:o.index,zone:o.zone}:{index:e}),a(n),pr(gt.sectionAdded({name:t}))},wi=(e,n)=>{const t=ki(n),o=Eo(e,{nodeDefaults:Vr,newNodeId:fe,sectionLabel:Dr,blockIsOffered:Fo}),r=o?Tt.insertNode(le,t,o):Tt.insertSection(e,t);return vi(t,r,Dr(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(ot,e)){if(s.type===t&&(!o.at||n>o.at.depth)){const r=Lo(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},xi=(e,n,t)=>{const o=ki(t),r=Tt.insertNode(le,o,n);return vi(o,r,e),o},bi=e=>zi(le,e),zi=(e,n)=>{cr.current=document.activeElement??null,Wt&&(ro.current=io.current,io.current=!1,Ut()),so(null===n?null:{zone:e,index:n}),oo(!0),$t||(ro.current=!0,qn({type:"setUi",ui:{leftSideBarVisible:!0}}))},Bi=()=>{oo(!1),so(null),ro.current&&qn({type:"setUi",ui:{leftSideBarVisible:!1}}),ro.current=!1},Ci=(e,n,t)=>{if("section"===e.kind)Tt.insertComponent(n,e.type,t);else{if("template"!==e.kind)return;Tt.insertNode(n,t,Rr(e.template.node))}ho(U),Tt.select({index:t,zone:n})},Oi=(e,n)=>Vo.rowName?n?ut(e)?Vo.rowName(e,"section",gt.header):ft(e)?Vo.rowName(e,"section",gt.footer):dt(e.type)?Vo.rowName(e,"section",Fr(e.type)):Hr(e):ti(e):n?Dr(e.type):Fr(e.type),Ii=e=>n=>{e()},Ni=()=>To.editPinnedSource?.(),Ti=(e,n,t)=>{if(Gn)return null;const o=Gr(e)[n];return o&&!se(ot,o.type).delete?null:/* @__PURE__ */In(Oe,{kind:"delete",label:gt.deleteNamed({name:t}),onClick:()=>((e,n)=>{const t=Gr(e)[n]?.props?.id;null!=t&&Lr.remove(String(t))})(e,n),children:/* @__PURE__ */In(zn,{size:15})})},Pi=e=>Vo.rowPreview?.(e)||void 0,$i=e=>Vo.rowMarks?.(e)??void 0,Ai=(e,n,t)=>Vo.rowActions?.(e,n,t)??null,Mi=(e,n,t,o)=>{if(Gn)return null;const r=Boolean(t.props._hidden);/* @__PURE__ */
14
- return In(Oe,{kind:"eye",label:r?gt.showNamed({name:o}):gt.hideNamed({name:o}),onClick:()=>Ri(e,n,t),children:/* @__PURE__ */In(r?Bn:Cn,{size:14,strokeWidth:1.8,strokeLinecap:void 0,strokeLinejoin:void 0})})},ji=e=>{const n=Dr($r[e]?.type??""),t=n?gt.addSectionBefore({name:n}):gt.addSectionHere;return Al(le,e,()=>bi(e),t)},Ri=(e,n,t)=>{Tt.replaceComponent(e,n,{...t,props:{...t.props,_hidden:!t.props._hidden}})},Ei=e=>ae(ot,e),Li=e=>ce(ot,e),Fi=e=>Ao.slotsOf?Jr(e).map(n=>({slot:n.slot,rung:n.rung?n:null,kids:pe(e,n.slot)})):[{slot:null,rung:null,kids:Li(e)}],Vi=e=>Ao.slotsOf?Fi(e).flatMap(e=>e.kids):Li(e),Di=e=>Boolean(Ao.slotsOf)&&Jr(e).some(e=>e.rung),Hi=(e,n,t)=>null===t?void 0===n?Lo(e):Lo(e,n):Lo(e,n,t),Wi=(e,n,t)=>{const o=ue(ot,e.type,n)&&(t||Vi(e).length>0||Di(e));return{collapsible:o,folded:o&&lr(String(e.props.id))}},Ui=(e,n,t)=>Fi(e).flatMap(o=>{const r=o.rung?n+1:n,i=o.kids.flatMap(({child:e})=>Wi(e,r,t(e.type)).collapsible?[String(e.props.id),...Ui(e,r+1,t)]:[]);return o.rung?[`${e.props.id}:${o.rung.slot}`,...i]:i}),Gi=e=>Vi(e).length>0||Di(e)||Boolean(Lo(e.type)),Yi=e=>Boolean(Lo(e)),Ji=(e,n,t,o)=>{if(ho(U),Lo(o)?.spec?.slider){const t=e.split(":")[0];p(t,n),Tt.select({index:n,zone:e}),a(t)}else Tt.select({index:n,zone:e}),gi(t)},Xi=(e,n,t,o,r)=>{const i=`${e}:${n}`;Tt.insertComponent(i,t,o),Lo(r)?.spec?.slider?requestAnimationFrame(()=>{p(e,o),Tt.select({index:o,zone:i})}):Tt.select({index:o,zone:i})},Ki=(e,n,t)=>{Tt.insertComponent(e,n,t),ho(U),Tt.select({index:t,zone:e})},Qi=un(/* @__PURE__ */new Set);mn(()=>{$r.forEach(e=>{const n=Lo(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(Vr)).forEach((e,t)=>Ot.seedChild(o,t,n.childType,e))})},[$r,Ot,Vr]);const _i=un(/* @__PURE__ */new Set);mn(()=>{$r.forEach((n,t)=>{const o=n.props.id;if(_i.current.has(o))return;const r=e(n,Ei(n.type));_i.current.add(o),r&&Ot.replaceComponent(le,t,{...n,props:r})})},[$r,Ot]),ee(Ot,ot);const Zi=$r.findIndex(ft),qi=Zi>=0?$r[Zi]:null,el=ht?$r.findIndex(ut):-1,nl=el>=0?$r[el]:null,tl=$r.find(e=>e.type===lt)??null,ol=$r.find(e=>e.type===st)??null,rl=Zi>=0?Zi:$r.length,il=[];$r.forEach(e=>{ft(e)||(Gi(e)&&il.push(String(e.props.id)),il.push(...Ui(e,1,Yi)))}),qi&&(il.push(String(qi.props.id)),il.push(...Ui(qi,1,Yi)));const ll=il.length>0&&il.every(e=>qo.has(e)),sl=e=>{const n=Vo.blockRowName(e,Fr);return Vo.rowName?Vo.rowName(e,"block",n):n},dl=(e,n,t,o)=>{const r=Gr(e)[t];if(!r)return;const i={...an(e),index:t},l={...an(n),index:Math.min(Math.max(o,0),Gr(n).length)},s=tn(i,l);if(e!==n||s!==t)try{Lr.move(String(r.props.id),{...l,index:s})}catch(e){if(!(e instanceof pn))throw e}},cl=e=>{const n=/* @__PURE__ */new Set,t=e=>{for(const{child:o,zone:r}of Li(e))n.add(r),t(o)};for(const t of Ei(e.type))n.add(`${e.props.id}:${t}`);return t(e),n},al=e=>{let n=e.slice(0,e.indexOf(":"));for(let e=0;e<64;e++){const e=Wr.get(n);if(!e)return null;if(e.zone===le)return n;n=e.zone.slice(0,e.zone.indexOf(":"))}return null},pl=e=>{const n=e.slice(0,e.indexOf(":")),t=$r.find(e=>dt(e.type)&&String(e.props.id)===n);return t&&ct(n)===e?t:null},ul=(e,n,t)=>{if(e.rung){const t=Yr(e.rung.nodeId),o=t?Jr(t).filter(e=>e.rung).length:0;return n.parentId===e.rung.nodeId&&n.slot===Mn&&n.index>=0&&n.index<=o}if(n.slot===Mn)return!1;if(e.add)return ml(e.add,n);const o=sn(n);if(dt(e.type))return!1;const r=pl(o),i=pl(e.zone);if(r||i)return!(!r||!i)&&(n.index>=0&&n.index<=Gr(o).length);if(e.zone===le||o===le){if(e.zone!==o)return!1;const{floor:t,cap:r}=Ar();return n.index>=t&&n.index<=r}if(n.index<0||n.index>Gr(o).length)return!1;if(e.zone===o)return!0;const l=qi&&!rt.lastIsOpen?String(qi.props.id):null;return(!l||al(e.zone)!==l&&al(o)!==l)&&((e,n,t,o)=>{if(e===n)return!0;const r=o??Gr(e)[t];if(!r)return!1;const i=n.split(":")[0],l=Wr.get(i),s=l?Gr(l.zone)[l.index]:void 0;if(!s)return!1;if(!o&&cl(r).has(n))return!1;const d=Lo(s.type,Ro(Zn?.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?.(Gr(n),r))})(e.zone,o,e.index,t)},fl=(e,n)=>{const t=sn(e.from);if(t===sn(n))return!0;const o=e.node;return ul({id:String(o.props?.id??""),zone:t,index:-1,type:o.type},n,o)},hl=e=>{const n=e.slice(0,e.indexOf(":")),t=Wr.get(n),o=t?Gr(t.zone)[t.index]:void 0;if(!t||!o)return null;const r=Lo(o.type,Ro(Zn?.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:Fr(r.spec.childType)}]:[]),l=Xr(e);return{parent:o,parentId:n,target:r,choices:i,parentName:l?l.slot.label:Oi(o,t.zone===le)}},ml=(e,n)=>{const t=sn(n);if("block"!==e.kind){if(pl(t))return n.index>=0&&n.index<=Gr(t).length;if(t!==le)return!1;const{floor:e,cap:o}=Ar();return n.index>=e&&n.index<=o}if(t===le)return!1;const o=hl(t);return!(!o||!o.choices.some(n=>n.type===e.type))&&!o.target.spec?.addBlocked?.(Gr(t))},gl=(e,n)=>{e.rung?qr(e.rung.nodeId,e.index,n.index):e.add?((e,n)=>{if("block"!==e.kind&&pl(sn(n)))return void Ci(e,sn(n),n.index);if("section"===e.kind)return void wi(e.type,n.index);if("template"===e.kind)return void xi(e.template.name,Rr(e.template.node),n.index);const t=sn(n),o=hl(t);o&&(o.target.spec?Xi(o.parentId,o.target.slot,e.type,n.index,o.parent.type):Ki(t,e.type,n.index))})(e.add,n):e.zone===le?Si(e.index,n.index):dl(e.zone,sn(n),e.index,n.index)},[yl]=hn(()=>en()),kl=nn({keyOf:e=>e.id,readOnly:Boolean(Gn),session:yl,canDrop:ul,onDrop:gl,onStep:(e,n)=>{e.rung?qr(e.rung.nodeId,e.index,n<0?e.index-1:e.index+2):e.zone===le?((e,n)=>{const t=Dr($r[e]?.type??""),o=Si(e,n<0?e-1:e+2);if(!o.moved)return void pr(n<0?gt.sectionFirst({name:t}):gt.sectionLast({name:t}));const{floor:r,cap:i}=Ar();pr(gt.sectionMoved({name:t,n:o.dest-r+1,total:i-r}))})(e.index,n):dl(e.zone,e.zone,e.index,n<0?e.index-1:e.index+2)}}),Sl=gn(e=>{const{floor:n,cap:t}=Ar(),o=[];for(const r of e.nodes){const e=sn(r.place),i=Gr(e)[r.place.index];if(!i||String(i.props.id)!==r.id)continue;if(ut(i)||ft(i)||Mo(i.type))continue;if(dt(i.type))continue;const l=Boolean(pl(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?Dr(i.type):ti(i),from:r.place})}return{sources:o,zones:e.zones.filter(e=>e.children.length>0||Boolean(hl(sn(e.list))?.choices.length)||Boolean(pl(sn(e.list))))}},[Zn.data]),vl=e=>{ho(U),Tt.select(e.zone===le?{index:e.index}:{index:e.index,zone:e.zone})},wl=ne(),xl=()=>({data:Zn.data,device:Ft,ops:Tt,inspector:No}),bl=wl?.model,zl=fn(()=>bl?e=>bl(e,Sl(e),xl()):Sl,[bl,Sl,Ft]),Bl=wl?.measure,Cl=Bl?(e,n)=>Bl(e,n,xl()):void 0,Ol=wl?.canDrop,Il=Ol?(e,n)=>Ol(e,n,ul,xl()):ul,Nl=wl?.drop,Tl=Nl?(e,n)=>Nl(e,n,gl,xl()):gl,Pl=wl?.pick,$l=Pl?e=>Pl(e,vl,xl()):vl,Al=(e,n,t,o)=>/* @__PURE__ */In(Ie,{...Gn?{}:kl.seam({place:{...an(e),index:n}}),onAdd:Gn?void 0:t,label:o},`seam:${e}:${n}`),Ml={rowClick:Ii,isCollapsed:lr,toggleCollapse:sr},jl=e=>{const n=String(e.props.id),t=$r.findIndex(e=>String(e.props.id)===n),o=ct(n),r=Gr(o),i=lr(n),l=Fr(e.type),s=Vo.rowName?Vo.rowName(e,"section",l):l,d=e=>Al(o,e,()=>zi(o,e),gt.addSectionHere);/* @__PURE__ */
15
- return Nn(Tn,{children:[
16
- /* @__PURE__ */In(be,{words:yt,icon:/* @__PURE__ */In(Ho,{type:e.type,size:13}),name:s,preview:Pi(e),marks:$i(e),onSelect:()=>yi(t),nameSlot:ri(le,t,n,s),selected:vo===n,actions:Ai(e,le,t)??void 0,rowProps:{"data-node-id":n,onClick:Ii(()=>yi(t))},fold:{open:!i,label:"section",onToggle:()=>sr(n)}}),!i&&/* @__PURE__ */Nn(ze,{children:[r.map((n,t)=>{const r=String(n.props.id),i=Hr(n),l=Gi(n),s=l&&lr(r),c=()=>Ji(o,t,r,e.type),{rowProps:a,...p}=kl.row({item:{id:r,zone:o,index:t,type:n.type},place:{...an(o),index:t}},{"data-node-id":r,onClick:Ii(c)});/* @__PURE__ */
17
- return Nn(kn,{children:[d(t),
18
- /* @__PURE__ */In(be,{words:yt,icon:/* @__PURE__ */In(Ho,{type:n.type,size:13}),name:i,preview:Pi(n),marks:$i(n),onSelect:c,nameSlot:ri(o,t,r,i),selected:vo===r,hidden:Boolean(n.props._hidden),...p,fold:l?{open:!s,label:"section",onToggle:()=>sr(r)}:void 0,actions:/* @__PURE__ */Nn(Tn,{children:[Ti(o,t,i),Ai(n,o,t),Mi(o,t,n,i)]}),rowProps:a}),l&&!s&&/* @__PURE__ */In(ze,{children:Ll(n,2)})]},r)}),d(r.length)]})]})},Rl=(e,n,t,o,r)=>{const i=String(e.props.id),l=`${i}:${n.slot}`,s=kl.dragging,d=!lr(l)&&s?.rung?.nodeId!==i,c={...an(l),index:0},a=s&&!s.rung&&ul(s,c)?c:void 0,p=()=>_r(e,n,!0),{rowProps:u,...f}=kl.row({item:{id:`rung:${l}`,zone:`${i}:${Mn}`,index:t,type:e.type,rung:{nodeId:i,slot:n.slot}},place:{parentId:i,slot:Mn,index:t},into:a,canDrag:Boolean(Ao.moveSlot)&&!1!==n.movable&&o>1},{"data-slot-zone":l,onClick:Ii(p)}),h=Gn?null:Ao.slotActions?.(e,n.slot);/* @__PURE__ */
19
- return Nn(kn,{children:[n.heading,
20
- /* @__PURE__ */In(be,{words:yt,icon:n.glyph??null,name:n.label,badge:n.badge,onSelect:p,selected:Kr===l,...f,dragHint:n.dragHint,fold:{open:d,label:n.label,onToggle:()=>sr(l)},actions:h&&h.length>0?/* @__PURE__ */In(Tn,{children:h.map((t,o)=>/* @__PURE__ */In(Oe,{kind:"delete"===t.kind?"delete":"plain",label:t.label,disabled:t.disabled,onClick:()=>((e,n,t)=>{if(Gn||t.disabled)return;const o=String(e.props.id),r=e=>{"string"==typeof e&&Zr(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__ */In(zn,{size:15}):/* @__PURE__ */In(On,{size:15})},`${o}:${t.kind}`))}):void 0,rowProps:u}),d&&/* @__PURE__ */In(ze,{children:r})]},l)},El=(e,n)=>{const t=Fi(e),o=t.filter(e=>e.rung).length;let r=0;/* @__PURE__ */
21
- return In(Tn,{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(hl(c)?.choices.length),p=(e,n)=>a?Al(e,n,()=>zi(e,n),gt.addBlockHere):Al(e,n),u=/* @__PURE__ */Nn(Tn,{children:[i.map(({child:n,zone:t,index:o})=>{const r=vo===String(n.props.id),{collapsible:i,folded:s}=Wi(n,l,Yi(n.type)),d=String(n.props.id),c=sl(n),a=()=>Ji(t,o,d,e.type),{rowProps:u,...f}=kl.row({item:{id:d,zone:t,index:o,type:n.type},place:{...an(t),index:o}},{"data-node-id":d,onClick:Ii(a)});/* @__PURE__ */
22
- return Nn(kn,{children:[0===o&&p(t,0),
23
- /* @__PURE__ */In(be,{words:yt,icon:/* @__PURE__ */In(Ho,{type:n.type,size:13}),name:c,preview:Pi(n),marks:$i(n),onSelect:a,nameSlot:ri(t,o,d,c),selected:r,hidden:Boolean(n.props._hidden),...f,fold:i?{open:!s,label:"group",onToggle:()=>sr(d)}:void 0,actions:/* @__PURE__ */Nn(Tn,{children:[Ti(t,o,c),Ai(n,t,o),Mi(t,o,n,c)]}),rowProps:u}),i&&!s&&/* @__PURE__ */In(ze,{children:El(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?Rl(e,t.rung,r++,o,u):/* @__PURE__ */In(kn,{children:u},t.slot??"")})})},Ll=(e,n)=>{const t=Ro(Zn?.data,e.type,String(e.props.id)),o=Fi(e),r=o.filter(e=>e.rung).length;let i=0;/* @__PURE__ */
24
- return In(Tn,{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)?()=>Xi(e.props.id,c.slot,c.childType,t,e.type):n===h?()=>zi(n,t):void 0;return Al(n,t,o,n===f&&c?c.addLabel:gt.addBlockHere)},g=null===o.slot?null:`${u}:${o.slot}`,y=Boolean(c&&!c.fixed&&(null===g||g===f)),k=/* @__PURE__ */Nn(Tn,{children:[l.map(({child:n,zone:t,index:o})=>{const r=vo===String(n.props.id),i=ti(n),l=String(n.props.id),{collapsible:d,folded:c}=Wi(n,s,Yi(n.type)),a=Ei(n.type),p=1===a.length?`${l}:${a[0]}`:null,u=p?{...an(p),index:Gr(p).length}:void 0,f=kl.dragging,h=u&&f&&ul(f,u)?u:void 0,g=()=>Ji(t,o,l,e.type),{rowProps:y,...k}=kl.row({item:{id:l,zone:t,index:o,type:n.type},place:{...an(t),index:o},into:h,canDrag:!Mo(n.type)},{"data-node-id":l,onClick:Ii(g)});/* @__PURE__ */
25
- return Nn(kn,{children:[0===o&&m(t,0),
26
- /* @__PURE__ */In(be,{words:yt,icon:/* @__PURE__ */In(Ho,{type:n.type,size:13}),name:i,preview:Pi(n),marks:$i(n),onSelect:g,nameSlot:ri(t,o,l,i),selected:r,hidden:Boolean(n.props._hidden),...k,fold:d?{open:!c,label:"group",onToggle:()=>sr(l)}:void 0,actions:Mo(n.type)?Ai(n,t,o)??void 0:/* @__PURE__ */Nn(Tn,{children:[Ti(t,o,i),Ai(n,t,o),Mi(t,o,n,i)]}),rowProps:y}),d&&!c&&/* @__PURE__ */In(ze,{children:Ll(n,s+1)}),m(t,o+1)]},String(n.props.id??`${t}-${o}`))}),y&&c&&
27
- /* @__PURE__ */In(N,{small:!0,label:c.addLabel,blocked:c.addBlocked?.(a)??null,onAdd:()=>Xi(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?Rl(e,o.rung,i++,r,k):/* @__PURE__ */In(kn,{children:k},o.slot??"")})})},Fl=(()=>{if(!nt||!mo)return null;const e=String(nt.type),n=String(nt.props.id),t=Lo(e,Ro(Zn?.data,e,n));if(!t||"footer"===t.source)return null;const o=$r.some(e=>String(e.props?.id)===n),r=Array.isArray(nt.props[t.slot])?nt.props[t.slot]:[];if(t.spec?.addBlocked?.(r))return null;const i=t.choices??(t.spec?[{type:t.spec.childType,label:Fr(t.spec.childType)}]:[]);return 0===i.length?null:{parentName:Oi(nt,o),choices:i,onPick:o=>{t.spec?Xi(n,t.slot,o,r.length,e):Ki(`${n}:${t.slot}`,o,r.length)}}})(),Vl=ko&&ko.zone!==le&&!pl(ko.zone)?ko.zone:null,Dl=!0===co.blocksFirst,Hl=Vl?hl(Vl):Dl&&ko?null:Fl,Wl=Boolean(lo&&Vl)||Dl&&Boolean(Hl&&Hl.choices.length>0),Ul=to||null!==Wt,Gl=e=>"panel"in e?{id:e.id,label:e.label,icon:e.icon,active:$t&&!Ul&&$o===e.id,onSelect:()=>Ir(e.id)}:e,Yl=[{id:"add",label:gt.add.title,icon:/* @__PURE__ */In("span",{className:"sf-rail-plus","aria-hidden":"true",children:"+"}),active:to,onSelect:()=>to?Bi():bi(null)},...(To.railLead??[]).map(Gl),{id:"sections",label:gt.layers,icon:/* @__PURE__ */In(Ae,{}),active:$t&&!Ul&&"sections"===$o,onSelect:()=>Ir("sections")},...(To.railTrail??[]).map(Gl)];Ht?Yl.push({id:"media",label:gt.railMedia,icon:/* @__PURE__ */In(Me,{}),active:$t&&!to&&(null!==Wt||"media"===$o),onSelect:()=>Ir("media")}):Kn&&Yl.push({id:"media",label:gt.railMedia,icon:/* @__PURE__ */In(Me,{}),onSelect:Nr});const Jl=[...To.railLead??[],...To.railTrail??[]].find(e=>"panel"in e&&e.id===$o),Xl=Boolean(mt?.foldable)&&!Po,Kl=mt?.label??(Qn?gt.pageSections:gt.templateSections),Ql=Xl&&lr(jn),_l=/* @__PURE__ */Nn(Tn,{children:[$r.map((e,n)=>{if(ut(e)||ft(e)||dt(e.type))return null;const t=vo===String(e.props.id),o=Boolean(e.props._hidden);Li(e);const r=String(e.props.id),i=To.hasOwnRows?.(e)??!1,l=Gi(e)||i,s=l&&lr(r),{rowProps:d,...c}=kl.row({item:{id:r,zone:le,index:n,type:e.type},place:{...an(le),index:n}},{"data-node-id":r,onClick:Ii(()=>yi(n))});/* @__PURE__ */
28
- return Nn(kn,{children:[n>0&&ji(n),
29
- /* @__PURE__ */In(be,{words:yt,icon:/* @__PURE__ */In(Ho,{type:e.type,size:13}),name:Hr(e),preview:Pi(e),marks:$i(e),onSelect:()=>yi(n),nameSlot:ri(le,n,r,Hr(e)),selected:t,hidden:o,...c,fold:l?{open:!s,label:"section",onToggle:()=>sr(r)}:void 0,actions:/* @__PURE__ */Nn(Tn,{children:[Ti(le,n,Hr(e)),Ai(e,le,n),Mi(le,n,e,Hr(e))]}),rowProps:d}),Gi(e)&&!s&&/* @__PURE__ */Nn(ze,{children:[Ll(e,1),To.partRows?.(e,Ml)]}),i&&!s&&/* @__PURE__ */In(ze,{children:To.ownRows?.(e,n,Ml)})]},String(e.props.id??n))}),!Po&&rl>0&&ji(rl),mt?.addAtEnd&&!Po&&!Gn&&/* @__PURE__ */In(N,{small:!0,label:gt.addSection,blocked:null,onAdd:()=>bi(rl)})]}),Zl=(e,n,t)=>{const o=String(e.props.id),r=Vi(e).length>0||Di(e)||Boolean(Lo(e.type)),i=r&&lr(o),l="header"===t?gt.header:gt.footer,s=Vo.rowName?Vo.rowName(e,"section",l):l;/* @__PURE__ */
30
- return Nn(Tn,{children:[
31
- /* @__PURE__ */In(be,{words:yt,icon:/* @__PURE__ */In(Ho,{type:t,size:13}),name:s,preview:Pi(e),marks:$i(e),onSelect:()=>yi(n),nameSlot:ri(le,n,o,s),selected:vo===String(e.props.id),fold:r?{open:!i,label:"section",onToggle:()=>sr(o)}:void 0,actions:Ai(e,le,n)??void 0,rowProps:{"data-node-id":o,onClick:Ii(()=>yi(n))}}),r&&!i&&/* @__PURE__ */In(ze,{children:El(e,1)})]})};return(To.wrap??(e=>e))(
32
- /* @__PURE__ */In(te,{target:eo,children:/* @__PURE__ */Nn("div",{ref:qt,className:"sf-editor es-editor",style:Je(nr),onContextMenu:ai.onEditorContextMenu,...m(Re),children:[
33
- /* @__PURE__ */Nn(Ee,{children:[
34
- /* @__PURE__ */In(Le,{items:Yl,ariaLabel:gt.bar.views}),
35
- /* @__PURE__ */Nn(Fe,{children:[
36
- /* @__PURE__ */In(Ve,{label:gt.bar.undo,disabled:Boolean(Gn)||!et.hasPast,onClick:()=>et.back(),children:/* @__PURE__ */In(xn,{})}),
37
- /* @__PURE__ */In(Ve,{label:gt.bar.redo,disabled:Boolean(Gn)||!et.hasFuture,onClick:()=>et.forward(),children:/* @__PURE__ */In(bn,{})}),
38
- /* @__PURE__ */In(De,{}),
39
- /* @__PURE__ */In(He,{devices:Mt,value:Ft,onChange:Vt})]}),
40
- /* @__PURE__ */Nn(Fe,{kind:"right",style:{minWidth:300},children:[
41
- /* @__PURE__ */In(Pn,{saveState:Dn,notSaving:Boolean(Gn)||null!=Hn,readOnlyReason:Yn,toggle:Jn,onToggle:Un,onRetry:Wn,words:gt.bar,saveWords:St}),To.barLead?.(),
42
- /* @__PURE__ */In(Sn,{content:gt.bar.refreshTip,side:"bottom",children:/* @__PURE__ */In(vn,{variant:"secondary",onClick:()=>{Zt.current=(()=>{const e=eo?.document;if(!e)return null;const n=$r.findIndex(ft),t=n>=0?n:$r.length;let o=null;for(let n=0;n<t;n++){const t=$r[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=nt?.props?.id??$r[0]?.props?.id;null!=e&&(o={id:String(e),offset:0})}return o})(),_t(e=>e+1)},children:gt.bar.refresh})}),To.barTrail?.(),To.barMain?To.barMain():/* @__PURE__ */In(vn,{variant:"primary",disabled:null!==Yn,onClick:()=>{Vn(Zn.data)},children:gt.done})]})]}),
43
- /* @__PURE__ */In(z,{}),
44
- /* @__PURE__ */Nn("div",{className:"sf-body",children:[$t?/* @__PURE__ */Nn(Tn,{children:[
45
- /* @__PURE__ */In("aside",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left","aria-label":gt.leftPanel,children:to?/* @__PURE__ */In(T,{blocks:Hl,blocksOnly:Wl,at:lo?{label:(e=>{const n=pl(e.zone);if(n)return gt.add.addingTo({name:Vo.rowName?Oi(n,!0):Fr(n.type)});if(e.zone===le){const n=$r[e.index];return n&&!ft(n)?gt.add.addingBefore({name:Oi(n,!0)}):gt.add.addingAtEnd}const t=hl(e.zone);return t?gt.add.addingTo({name:t.parentName}):gt.add.addingHere})(lo),onClear:()=>so(null)}:void 0,onAdd:e=>{const n=ko,t=(e,n)=>{lo&&so({zone:e,index:n})};if(n&&"block"!==e.kind&&pl(n.zone))return Ci(e,n.zone,n.index),void t(n.zone,n.index+1);if("section"===e.kind)return(e=>{if(null===So)return void wi(e);const n=wi(e,So);lo&&ao(n+1)})(e.type);if("template"===e.kind)return((e,n)=>{if(null===So)return void xi(e,n);const t=xi(e,n,So);lo&&ao(t+1)})(e.template.name,Rr(e.template.node));if(n&&n.zone!==le){const o=hl(n.zone);if(!o)return;return o.target.spec?Xi(o.parentId,o.target.slot,e.type,n.index,o.parent.type):Ki(n.zone,e.type,n.index),void t(n.zone,n.index+1)}Fl?.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:yl,siteWide:To.addPanelRow?.(Bi),onClose:Bi,onHide:Cr,readOnly:Boolean(Gn)}):Wt&&Dt?
46
- /* @__PURE__ */In(A,{panel:Dt,pick:Wt,onHide:Cr}):Jl?Jl.panel({onHide:Cr,notify:pr}):"media"===$o&&Dt?/* @__PURE__ */In(A,{panel:Dt,pick:null,onHide:Cr}):/* @__PURE__ */Nn(Tn,{children:[
47
- /* @__PURE__ */In(P,{icon:/* @__PURE__ */In(Ae,{}),title:gt.layers,context:bt,actions:
48
- /* @__PURE__ */In(We,{label:ll?gt.expandAll:gt.collapseAll,title:0===il.length?gt.nothingToFold:void 0,disabled:0===il.length,onClick:()=>er(e=>{const n=new Set(il);return ll?new Set([...e].filter(e=>!n.has(e))):/* @__PURE__ */new Set([...e,...il])}),children:/* @__PURE__ */In($n,{expand:ll})}),onHide:Cr}),
49
- /* @__PURE__ */Nn(Be,{className:"sf-tree sf-scroll",words:yt,children:[
50
- /* @__PURE__ */In(be,{words:yt,icon:/* @__PURE__ */In(Ho,{type:"page",size:13}),name:gt.pageSettings,onSelect:Tr,selected:!nt&&mo,rowProps:{onClick:Ii(Tr)}}),tl&&/* @__PURE__ */Nn(Tn,{children:[
51
- /* @__PURE__ */In(Ce,{children:gt.header}),jl(tl)]}),!Po&&_n&&/* @__PURE__ */Nn(Tn,{children:[
52
- /* @__PURE__ */In(Ce,{children:gt.header}),!ht&&/* @__PURE__ */In(be,{words:yt,icon:/* @__PURE__ */In(Ho,{type:"header",size:13}),name:gt.header,onSelect:Pr,selected:fo.kind===pt?.kind,rowProps:{onClick:Ii(Pr)}})]}),!Po&&nl&&Zl(nl,el,"header"),!Po&&!Xl&&/* @__PURE__ */In(Ce,{children:Kl}),Xl?/* @__PURE__ */Nn(Tn,{children:[
53
- /* @__PURE__ */In(be,{words:yt,icon:null,name:Kl,fold:{open:!Ql,label:Kl,onToggle:()=>sr(jn)}}),!Ql&&/* @__PURE__ */In(ze,{children:_l})]}):_l,_n&&/* @__PURE__ */In(Ce,{children:gt.footer}),qi&&Zl(qi,Zi,"footer"),!Po&&!qi&&_n&&/* @__PURE__ */In(be,{words:yt,icon:/* @__PURE__ */In(Ho,{type:"footer",size:13}),name:gt.footer,onSelect:Ni,rowProps:{onClick:Ii(Ni),title:gt.editFooter}}),ol&&jl(ol),To.treeFoot?.()]})]})}),
54
- /* @__PURE__ */In(Ue,{side:"left",width:nr.left,min:Ye,max:Ge,defaultWidth:k.left,label:gt.resizeLeftPanel,onResize:rr})]}):/* @__PURE__ */In($,{side:"left",onShow:Cr}),
55
- /* @__PURE__ */Nn("div",{ref:ur,className:"sf-center sf-scroll","data-sf-canvas-head":yr?"":void 0,style:{overflowX:br?"auto":"hidden",overflowY:"hidden"},children:[yr&&/* @__PURE__ */In("div",{ref:kr,className:"sf-canvas-head",children:/* @__PURE__ */In(yr,{device:Ft})}),
56
- /* @__PURE__ */In("div",{className:"sf-frame-scaler",style:zr,children:/* @__PURE__ */In("div",{className:"sf-frame "+(Ft===Et?"":`sf-frame--${Ft}`),style:Br,children:/* @__PURE__ */Nn("div",{className:"sf-preview-host",children:[
57
- /* @__PURE__ */In(zt,{},Qt),
58
- /* @__PURE__ */In(Ze,{canvas:eo,session:yl,model:zl,measure:Cl,canDrop:Il,onDrop:Tl,onPick:$l,onZoneAdd:e=>{const n=sn(e),t=Xr(n);t&&_r(t.node,t.slot,!1),zi(n,0)},zoneAddLabel:gt.canvasAddBlock,words:kt.canvas,readOnly:Boolean(Gn),revision:Zn.data}),po.length>0&&/* @__PURE__ */In("div",{className:"sf-preview-gaps","aria-hidden":"true",children:po.map(e=>/* @__PURE__ */Nn("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__ */In("span",{className:"sf-preview-gap-line"}),
60
- /* @__PURE__ */Nn("span",{className:"sf-preview-gap-pill",children:[
61
- /* @__PURE__ */In("span",{className:"sf-preview-gap-plus",children:"+"}),
62
- /* @__PURE__ */In("span",{className:"sf-preview-gap-label",children:gt.addSection})]})]},e.index))})]})})})]}),At?/* @__PURE__ */Nn(Tn,{children:[
63
- /* @__PURE__ */In(g,{value:{selectChild:Ji,addChild:Xi,childRowName:ti,blockRowName:sl},children:/* @__PURE__ */In(Bt,{mode:fo,onOpenWebsiteSettings:To.openSettings??(()=>{}),onOpenSiteStyles:To.openStyles,onSelectNode:Yo,onNotify:pr,onHidePanel:Or,nodeActions:nt?se(ot,nt.type):Rn})}),
64
- /* @__PURE__ */In(Ue,{side:"right",width:nr.right,min:Ye,max:Ge,defaultWidth:k.right,label:gt.resizeSettingsPanel,onResize:ir})]}):
65
- /* @__PURE__ */In($,{side:"right",onShow:Or})]}),ai.menu]})}))}export{En as ScreenChrome};
@@ -1,9 +0,0 @@
1
- import{DEFAULT_TREE_WORDS as e}from"./chunk-K56YDHYQ.js";import{useContext as r,createContext as a,isValidElement as l}from"react";import{Tree as o,TreeGroupLabel as n,TreeGroup as i,Tooltip as s,TreeRow as t,IconButton as d,TreeSeam as c,TreeEmptySlot as m}from"efficient-shell/ui";import{jsx as p,jsxs as g,Fragment as h}from"react/jsx-runtime";var u,b=()=>u??=a(1),f=()=>r(b());function k({className:r,children:a,rootProps:l,ariaLabel:n,words:i=e}){/* @__PURE__ */
2
- return p(o,{"aria-label":n??i.name??e.name,className:r?`es-tree ${r}`:"es-tree",rootProps:l,children:a})}function v({children:e}){/* @__PURE__ */
3
- return p(n,{children:e})}function w({children:e}){const r=f(),a=b();/* @__PURE__ */
4
- return p(a.Provider,{value:r+1,children:/* @__PURE__ */p(i,{children:e})})}var N=e.dragHint,P=e=>[e].flat(1/0).some(e=>l(e)&&!0===e.props.pressed);function y({icon:r,name:a,preview:l,selected:o,hidden:n,draggable:i,dragHint:d,dragging:c,drop:m,fold:u,actions:b,nameSlot:k,onSelect:v,marks:w,badge:N,trailing:y,children:A,rowProps:S,level:T,words:H=e}){const j=f(),B=["es-tree-row",o?"is-selected":"",n?"is-hidden":"",i?"is-draggable":"",c?"is-dragging":"",m?`is-drop-${m}`:""].filter(Boolean).join(" "),C=/* @__PURE__ */g(h,{children:[
5
- /* @__PURE__ */p("span",{className:"es-tree-name",children:a}),w?.map(e=>/* @__PURE__ */p(s,{content:e.label,children:/* @__PURE__ */p("span",{className:"es-tree-mark","aria-label":e.label,role:"img",children:e.icon})},e.key)),y?/* @__PURE__ */p(s,{content:y.label,children:/* @__PURE__ */p("span",{className:"es-tree-trailing","aria-label":y.label,role:"img",children:y.icon})}):null,A]}),x=S?.onClick,$={click:!1},D=x?e=>{x(e),$.click=!0,queueMicrotask(()=>{$.click=!1})}:void 0,L=v?()=>{$.click||v()}:void 0;/* @__PURE__ */
6
- return p(t,{label:C,level:T??j,icon:r,preview:l,selected:!!o,expanded:u?u.open:void 0,onToggle:u?.onToggle,onSelect:L,muted:!!n,badge:N,actions:b,actionsPinned:P(b),rename:k,drop:m,dragging:!!c,draggable:!!i,dragHint:d??H.dragHint,className:B,rowProps:{...S,onClick:D,...i?{"aria-keyshortcuts":"Alt+ArrowUp Alt+ArrowDown"}:{}}})}function A({kind:e,label:r,onClick:a,pressed:l,disabled:o,children:n}){/* @__PURE__ */
7
- return p(s,{content:r,children:/* @__PURE__ */p(d,{"aria-label":r,"aria-pressed":l,"aria-disabled":o||void 0,variant:"delete"===e?"ghost-danger":"ghost",size:"sm","data-kind":e,className:o?"es-tree-act-off":void 0,onClick:e=>{e.stopPropagation(),a()},children:n})})}function S({drop:e,onAdd:r,label:a,seamProps:l}){const o=["es-tree-seam",e?"is-drop":"",r?"has-add":"",l?.className??""].filter(Boolean).join(" "),n={...l,className:o};/* @__PURE__ */
8
- return p(c,{drop:!!e,onInsert:r,label:a,seamProps:n})}function T({drop:r,onAdd:a,label:l,seamProps:o,words:n=e}){const i=l??(a?n.addBlock??e.addBlock:n.emptySlot??e.emptySlot),s={...o,className:o?.className?`es-tree-empty ${o.className}`:"es-tree-empty"};/* @__PURE__ */
9
- return p(m,{drop:!!r,onAdd:a,label:i,slotProps:s})}export{k as LayersTree,w as Subtree,N as TREE_DRAG_HINT,T as TreeEmptySlot,v as TreeGroupLabel,y as TreeRow,A as TreeRowAction,S as TreeSeam};