efficient-easel 8.2.1 → 9.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 (41) hide show
  1. package/README.md +15 -0
  2. package/dist/chrome/chrome.css +18 -0
  3. package/dist/chrome/index.d.ts +26 -3
  4. package/dist/chrome/index.js +1 -1
  5. package/dist/{chunk-ZVEJ25YG.js → chunk-CKBGJ53M.js} +1 -1
  6. package/dist/{chunk-35TOFLH6.js → chunk-CXLWPZZK.js} +4 -4
  7. package/dist/{chunk-SQMUAXUS.js → chunk-GD7QFYER.js} +1 -1
  8. package/dist/{chunk-AUT242JK.js → chunk-GMXWP5XP.js} +1 -1
  9. package/dist/{chunk-QVUVDBGA.js → chunk-IE55HNMA.js} +18 -18
  10. package/dist/chunk-NRC43NHG.js +5 -0
  11. package/dist/{chunk-NCQSBU3O.js → chunk-P4CL4YQI.js} +1 -1
  12. package/dist/{chunk-XTJCKV6Z.js → chunk-PPL7GB7D.js} +1 -1
  13. package/dist/{chunk-DPKWJTNX.js → chunk-TZIIRGVY.js} +1 -1
  14. package/dist/chunk-W3BK5T4O.js +57 -0
  15. package/dist/{chunk-HDUAODXJ.js → chunk-W4U4SHKW.js} +3 -3
  16. package/dist/chunk-Z6PVRXVY.js +1 -0
  17. package/dist/copy/copy.css +29 -15
  18. package/dist/copy/index.d.ts +2 -2
  19. package/dist/copy/index.js +13 -11
  20. package/dist/screen/components/AddSidePanel.d.ts +5 -1
  21. package/dist/screen/components/AddSidePanel.js +1 -1
  22. package/dist/screen/components/MediaSidePanel.js +1 -1
  23. package/dist/screen/components/PageEditGuardNotices.js +1 -1
  24. package/dist/screen/components/SaveControls.js +1 -1
  25. package/dist/screen/components/ScreenChrome.js +1 -1
  26. package/dist/screen/components/ScreenMount.js +1 -1
  27. package/dist/screen/components/SectionScreenShell.js +16 -16
  28. package/dist/screen/components/SidePanelHead.js +1 -1
  29. package/dist/screen/components/panel-widths.js +1 -1
  30. package/dist/screen/index.js +1 -1
  31. package/dist/screen/lib/screen-parts.d.ts +10 -0
  32. package/dist/strings/catalogue.d.ts +2 -2
  33. package/dist/strings/catalogue.js +1 -1
  34. package/dist/strings/index.d.ts +2 -2
  35. package/dist/strings/index.js +1 -1
  36. package/dist/{words-C1U_dLBh.d.ts → words-BpiVrsW5.d.ts} +8 -0
  37. package/dist/{words-BAnsDT16.d.ts → words-DohP5ieg.d.ts} +3 -2
  38. package/package.json +3 -3
  39. package/dist/chunk-KSKKRGNQ.js +0 -57
  40. package/dist/chunk-RMB2VGNY.js +0 -5
  41. package/dist/chunk-Y2G7CU6A.js +0 -1
@@ -1,57 +0,0 @@
1
- import{cloneNodeWithFreshIds as e}from"./chunk-2GVCAIPX.js";import{dedupeSlotChildren as n}from"./chunk-26OOWIJJ.js";import{styleClipboardOf as t}from"./chunk-BRDCD4LK.js";import{markedTreeNodeId as o,revealSelectedTreeRow as r,sameSelector as i}from"./chunk-FGNR22NY.js";import{rootRowName as l,slotChildRowName as s,slotChildRenameProp as d,sectionRenameProp as c}from"./chunk-BHRC3ASL.js";import{scrollPreviewToSection as a,gotoPreviewSlide as p,scrollPreviewToTop as u}from"./chunk-4ES5JGGX.js";import{useEaselKeyTarget as f,useEaselUndoKeys as h,useEaselSaveKey as m,editorRootFocus as g}from"./chunk-OWW44DVK.js";import{SlotChildActionsProvider as y}from"./chunk-KCBEE2MC.js";import{screenStorageKeys as S,DEFAULT_PANEL_W as k,clampPanelWidth as b}from"./chunk-DPKWJTNX.js";import{usePartBridge as v}from"./chunk-VNN6VB4V.js";import{useSectionOps as x}from"./chunk-NMUS2VVD.js";import{useNodeClipboard as w,useNodeContextMenu as z}from"./chunk-D6N77AOS.js";import{PageEditGuardNotices as B}from"./chunk-NCQSBU3O.js";import{ScreenSaveIcon as C,ScreenMainButton as N}from"./chunk-HDUAODXJ.js";import{useBrowserOffline as O}from"./chunk-RKTF5XLP.js";import{useScreenDocument as I}from"./chunk-THZ46DC5.js";import{requestMediaPick as $}from"./chunk-KG7RJWOK.js";import{heldStyle as P,styleShortcut as A}from"./chunk-V7U33NF2.js";import{AddChildRow as T}from"./chunk-5545A3PC.js";import{AddSidePanel as M}from"./chunk-RMB2VGNY.js";import{SidePanelHead as j,PanelShowStrip as L}from"./chunk-XTJCKV6Z.js";import{useEaselSession as V}from"./chunk-O7Q4DDJT.js";import{MediaSidePanel as E}from"./chunk-ZVEJ25YG.js";import{useScreenSaveSwitch as R,useScreenNodeKeys as D,useScreenPinned as F,useScreenDocumentLabel as H,useScreenCanvasFrame as W,useScreenInspectorPanel as U,useScreenDevices as J,useScreenPickFollowsSelection as G,useScreenLeftView as X,useScreenAdd as K,SELECTION_MODE as Y,sameInspectorMode as q,useScreenBridges as _,useScreenBlockRules as Z,useScreenBlockLook as Q,useScreenStorageNamespace as ee,useScreenNotify as ne,useScreenCanvasHead as te,isSlotMode as oe,useScreenStyleClipboard as re,useScreenDocumentPass as ie,useScreenCanvasDrag as le,ScreenCanvasTargetProvider as se,isPinnedFirst as de,isPinnedLast as ce,screenSlotsOf as ae}from"./chunk-FJRAYUCX.js";import{ROOT_ZONE as pe,blockNodeActions as ue,TREE_MAX_DEPTH as fe,childSlotsOf as he,slotFieldsOf as me,slotChildrenIn as ge,nestsInTree as ye,newNodeId as Se}from"./chunk-PLVEGYK6.js";import{useMediaPanel as ke,usePanelPick as be,useCancelPanelPick as ve}from"./chunk-R6WTQWAC.js";import{useEaselHost as xe,useHostEscape as we}from"./chunk-U3JP4VGF.js";import{DEFAULT_STYLE_CLIPBOARD_WORDS as ze}from"./chunk-6WY6ZXJG.js";import{DEFAULT_SCREEN_WORDS as Be}from"./chunk-JTUUIVBZ.js";import{useEasel as Ce,useEaselApi as Ne,CanvasPassThroughContext as Oe}from"./chunk-K5744MTM.js";import{TreeRow as Ie,Subtree as $e,LayersTree as Pe,TreeGroupLabel as Ae,TreeRowAction as Te,TreeSeam as Me}from"./chunk-4JSBIW5H.js";import{DEFAULT_TREE_WORDS as je}from"./chunk-K56YDHYQ.js";import{DEFAULT_NODE_MENU_WORDS as Le}from"./chunk-WK3AFPXY.js";import{toItemSelector as Ve,useNodeOps as Ee,clickPick as Re}from"./chunk-ECM5F6JJ.js";import{LayersIcon as De,MediaIcon as Fe}from"./chunk-4VJATVVR.js";import{EaselTopBar as He,TopBarRail as We,TopBarCluster as Ue,EaselIconButton as Je,TopBarDivider as Ge,DeviceSwitch as Xe,InspectorIconButton as Ke,PanelResizeHandle as Ye,MAX_PANEL_W as qe,MIN_PANEL_W as _e,panelWidthVars as Ze}from"./chunk-QVUVDBGA.js";import{DEFAULT_NOTICE_WORDS as Qe,DEFAULT_CHROME_WORDS as en}from"./chunk-Y2G7CU6A.js";import{holderOf as nn,nameOrSomeone as tn}from"./chunk-THWO5YVZ.js";import{DEFAULT_LOCK_WORDS as on}from"./chunk-RE4LP46F.js";import{useWords as rn}from"./chunk-MFIRYGHW.js";import{insertSeams as ln,CanvasDragLayer as sn,CanvasInsert as dn}from"./chunk-FCLW4LEN.js";import{DEFAULT_DRAG_WORDS as cn}from"./chunk-O2NLQBFX.js";import{createDragSession as an,useTreeDrag as pn,gapToMoveIndex as un}from"./chunk-67GNT6PF.js";import{useCanvasFrame as fn,LIST_SELECTOR as hn,BLOCK_SELECTOR as mn,useCanvasEvent as gn,nodeIdAt as yn,frameRectToHost as Sn,BLOCK_ATTRIBUTE as kn,drawnBox as bn}from"./chunk-ILXP5VX5.js";import{zoneKey as vn,ROOT_ID as xn,ROOT_SLOT as wn,parseZoneKey as zn,find as Bn,DataError as Cn}from"./chunk-KRXQM65X.js";import{useRef as Nn,useMemo as On,useState as In,useEffect as $n,useCallback as Pn,useLayoutEffect as An,Fragment as Tn}from"react";import{ColoredBadge as Mn,toast as jn,groupColors as Ln}from"efficient-shell/ui";import{UndoIcon as Vn,RedoIcon as En,RefreshIcon as Rn,TrashIcon as Dn,EyeOffIcon as Fn,EyeIcon as Hn,DuplicateIcon as Wn}from"efficient-shell/icons/efficient";import{jsx as Un,jsxs as Jn,Fragment as Gn}from"react/jsx-runtime";var Xn=/* @__PURE__ */new WeakSet;function Kn(e,n,t){const o=Bn(e,n,t);if(!o)return null;const r=o.path.find(e=>"root"!==e.parentId);return r?r.parentId:t}function Yn({canvas:e,tabs:n,onSelect:t}){const o=Nn(null),[r,i]=In({}),l=n.map(e=>`${e.id}:${e.below?1:0}`).join("|");return An(()=>{const t=e?.document,r=e?.window,l=e?.frame;if(!t||!r||!l||0===n.length)return void i({});let s=0;const d=()=>{s=0;const e=o.current;if(!e)return;const d=Sn(l,{left:0,top:0,width:r.innerWidth,height:r.innerHeight},e),c={};for(const o of n){const n=t.querySelector(`[${kn}="${r.CSS?.escape?r.CSS.escape(o.id):o.id}"]`),i=n?bn(n):null;if(!i||0===i.height){c[o.id]=null;continue}const s=Sn(l,{left:i.left,top:i.top,width:i.width,height:i.height},e),a=s.top+s.height;if(a<d.top||s.top>d.top+d.height){c[o.id]=null;continue}const p=o.below?a+4:Math.max(s.top,d.top)+6;c[o.id]={left:Math.max(s.left,d.left)+6,top:p}}i(c)},c=()=>{s||(s=r.requestAnimationFrame(d))};d(),r.addEventListener("scroll",c,!0),r.addEventListener("resize",c);const a=new r.MutationObserver(c);return a.observe(t.body,{childList:!0,subtree:!0,attributes:!0}),()=>{s&&r.cancelAnimationFrame(s),r.removeEventListener("scroll",c,!0),r.removeEventListener("resize",c),a.disconnect()}},[e,l]),/* @__PURE__ */Un("div",{ref:o,className:"es-band-tabs","aria-hidden":"true",children:n.map(e=>{const n=r[e.id];return n?/* @__PURE__ */Un("span",{className:"es-band-tab","data-band-tab":e.id,style:{left:n.left,top:n.top},onClick:n=>{n.stopPropagation(),t(e.id)},children:/* @__PURE__ */Un(Mn,{colorClass:Ln("info","solid"),size:"sm",children:e.label})},e.id):null})})}function qn({expand:e}){/* @__PURE__ */
2
- return Un("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.9,strokeLinecap:"round",strokeLinejoin:"round",children:/* @__PURE__ */Jn(Gn,e?{children:[
3
- /* @__PURE__ */Un("path",{d:"M8 9l4-4 4 4"}),
4
- /* @__PURE__ */Un("path",{d:"M8 15l4 4 4-4"})]}:{children:[
5
- /* @__PURE__ */Un("path",{d:"M8 4l4 4 4-4"}),
6
- /* @__PURE__ */Un("path",{d:"M8 20l4-4 4 4"}),
7
- /* @__PURE__ */Un("path",{d:"M5 12h14"})]})})}var _n=`${hn}, ${mn}`;function Zn(e,n,t){const o=t-n;if(o<6)return null;if(o<24)return{top:Math.round((n+t)/2),height:Math.round(o)};return{top:Math.round(Math.min(Math.max(e,n+12),t-12))}}var Qn="__rungs";var et="screen:band",nt={duplicate:!0,delete:!0};function tt(){const hn=xe(),{target:Sn,docId:kn,capabilities:bn,currentSlug:Ln,siteId:tt,onPublish:ot,saveState:rt,saveConflict:it,retrySave:lt,toggleAutoSave:st,flushSave:dt,access:ct,saveUnreachable:at=!1,readOnly:pt,readOnlyReason:ut=null}=I(),ft=R(),ht=D(),{mediaEditing:mt,hasEditGuard:gt,hasPinnedChrome:yt}=bn,{appState:St,dispatch:kt,history:bt,selectedItem:vt,getSelectorForId:xt,config:wt}=Ce(e=>e),zt=F(),{first:Bt,firstGroup:Ct,lastGroup:Nt,isSectionGroup:Ot,sectionGroupZone:It,panelOf:$t}=zt,Pt=$t(Bt),At=e=>de(zt,e),Tt=e=>ce(zt,e),Mt="node"===zt.firstRow,jt=zt.band??null,Lt=rn("screen",Be),Vt=rn("tree",je),Et=rn("drag",cn),Rt=rn("notice",Qe),Dt=rn("lock",on),Ft=rn("menu",Le),Ht=rn("styleClipboard",ze),Wt=rn("chrome",en),Ut=H()??`/${Ln}`,Jt=W(),Gt=U(),Xt=x({readOnly:pt}),Kt=x({readOnly:pt,foldIntoHistory:!0}),Yt=Nn(null),qt=Ne(),_t=On(()=>({...Xt,select:e=>{Yt.current=e,Xt.select(e)},commitDocument:(e,n)=>{if(void 0!==n){const t=qt.config;Yt.current=Ve(e,t,n)}Xt.commitDocument(e,n)}}),[Xt,qt]),Zt=St.ui,Qt=Zt.leftSideBarVisible,eo=Zt.rightSideBarVisible,{options:no,widths:to,initial:oo,fluid:ro,fit:io}=J(),[lo,so]=In(oo),co=ke(),ao=mt&&null!==co,po=be(),uo=ve();G(vt?.props.id);const{read:fo,write:ho,forSelection:mo}=X(),[go,yo]=In(fo);$n(()=>{ho(go)},[go]);const[So,ko]=In(0),bo=Nn(null),vo=Nn(null),xo=fn(vo,{readySelector:_n}),wo=f(vo);h(vo,xo);const zo=O(),Bo=nn(ct),Co={state:rt,offline:zo||rt.failed&&at,readOnlyReason:ut,editing:Bo?Rt.editing({name:tn(Bo.name,Dt),noun:Lt.noun}):null,conflict:null!=it,notSaving:Lt.bar.notSaving},No=()=>{pt||(rt.failed?lt():dt())};m(vo,xo,No);const[Oo,Io]=In(!1),$o=Nn(!1),Po=Nn(!1),[Ao,To]=In(null),Mo=K(),jo=e=>To(null===e?null:{zone:pe,index:e}),[Lo,Vo]=In([]),[Eo,Ro]=In(Y),Do="puck"===Eo.kind,Fo=Oo&&!Ao&&Mo.railTarget?Mo.railTarget(St.data,{node:vt??null,mode:Eo}):null,Ho=Fo?{zone:vn(Fo),index:Fo.index}:null,Wo=Ao??Ho,Uo=Wo&&Wo.zone===pe?Wo.index:null,Jo=o(Eo,vt?.props.id),[Go,Xo]=In(null);$n(()=>{Go&&(r(),Xo(null))},[Go]);const Ko=Nn(xt);Ko.current=xt;const Yo=Pn((e,{scroll:n})=>{yo(n=>mo(e,n)),n&&Xo(e);const t=[];let o=e;for(let e=0;e<4;e++){const e=Ko.current(o)?.zone;if(!e||!e.includes(":"))break;const n=e.split(":")[0];t.push(n),t.push(e),o=n}0!==t.length&&Br(e=>{if(t.every(n=>!e.has(n)))return e;const n=new Set(e);return t.forEach(e=>n.delete(e)),n})},[]),qo=Nn(null);$n(()=>{const e=qo.current;qo.current=null;const n=null==vt?.props.id?null:String(vt.props.id);Ro(t=>e&&e.id===n?e.mode:"part"===t.kind&&"nodeId"in t&&t.nodeId===n?t:$t(vt?.type)??Y);const t=vt?.props.id,o=Yt.current;if(Yt.current=null,!t)return;const r=xt(t);Yo(String(t),{scroll:!i(o,r??null,pe)})},[vt?.props.id,Yo]);const _o=Pn(e=>{Ro(n=>q(n,e)?n:e),kt({type:"setUi",ui:{rightSideBarVisible:!0}})},[kt]),Zo=Nn(()=>{});Zo.current=(e,n)=>{const t=e?Si(e.zone??pe)[e.index]?.props.id:null,o=null==t?null:String(t),r=null==vt?.props.id?null:String(vt.props.id);Ro(e=>q(e,n)?e:n),o!==r&&(qo.current={id:o,mode:n},_t.select(e))};const Qo=Pn((e,n)=>Zo.current(e,n),[]),er={kind:Eo.kind,mode:Eo,open:_o,show:e=>Ro(e),reveal:()=>{eo||kt({type:"setUi",ui:{rightSideBarVisible:!0}})},select:Qo},nr=_(er,{data:St.data,selected:vt??null,zoneOf:e=>xt(e)?.zone,readOnly:Boolean(pt),select:e=>{Ro(Y),_t.select({index:e})},replace:(e,n)=>_t.replaceComponent(pe,e,n),scrollTo:e=>Wi(e)},{device:lo,refreshes:So},{setView:yo,reveal:()=>{Qt||kt({type:"setUi",ui:{leftSideBarVisible:!0}})}}),tr=nr.pinnedSource??!1,or=nr.resolveLeftView?nr.resolveLeftView(go,ao):"media"===go&&ao?go:"sections",rr=Z(),{isLockedBlock:ir,duplicateBlocked:lr,nestDepth:sr,newSectionNode:dr,canAddTo:cr,blockIsOffered:ar}=rr,pr=Q(),{labelAtLevel:ur,Icon:fr,useProducts:hr}=pr,mr=pr.rowName?(e,n,t)=>pr.rowName(e,n,t):void 0,gr=Pn(e=>{kt({type:"setUi",ui:{rightSideBarVisible:!0}}),a(e),Yo(e,{scroll:!0})},[kt,Yo]),{selectNode:yr,openPartId:Sr}=v({mode:Eo,setMode:Ro,onOpenPart:gr}),[kr,br]=In(null);we(null!==kr,()=>br(null));const vr=S(ee()),xr=vr.collapsed,wr=vr.panelWidths,[zr,Br]=In(()=>{if("undefined"==typeof window)/* @__PURE__ */return new Set;try{const e=window.localStorage.getItem(xr);return new Set(e?JSON.parse(e):[])}catch{/* @__PURE__ */
8
- return new Set}});$n(()=>{try{window.localStorage.setItem(xr,JSON.stringify([...zr]))}catch{}},[zr]);const[Cr,Nr]=In(()=>{if("undefined"==typeof window)return{...k};try{const e=window.localStorage.getItem(wr);if(!e)return{...k};const n=JSON.parse(e);return{left:b(Number(n.left)||k.left),right:b(Number(n.right)||k.right)}}catch{return{...k}}});$n(()=>{const e=setTimeout(()=>{try{window.localStorage.setItem(wr,JSON.stringify(Cr))}catch{}},300);return()=>clearTimeout(e)},[Cr]);const Or=Pn((e,n)=>Nr(t=>{const o="function"==typeof n?n(t[e]):n;return t[e]===o?t:{...t,[e]:o}}),[]),Ir=Pn(e=>Or("left",e),[Or]),$r=Pn(e=>Or("right",e),[Or]),Pr=e=>zr.has(e),Ar=e=>Br(n=>{const t=new Set(n);return t.has(e)?t.delete(e):t.add(e),t}),Tr=Nn(!1),Mr=Nn(null);$n(()=>{if(Tr.current&&!Oo){const e=Mr.current,n=e&&e.isConnected&&!e.closest('[aria-hidden="true"]')?e:null;(n??vo.current?.querySelector(`button[aria-label="${CSS.escape(Lt.add.title)}"]`))?.focus(),Mr.current=null}Tr.current=Oo},[Oo]),$n(()=>{if(!Oo||!wo)return;const e=e=>{"Escape"===e.key&&Zi()};return wo.addEventListener("keydown",e),()=>wo.removeEventListener("keydown",e)},[Oo,wo]),we(Oo,()=>Zi()),$n(()=>{!Qt&&Oo&&(Io(!1),To(null),$o.current=!1)},[Qt]),$n(()=>{if(!po)return Po.current&&kt({type:"setUi",ui:{leftSideBarVisible:!1}}),void(Po.current=!1);Oo&&(Io(!1),To(null),Po.current=$o.current,$o.current=!1),Qt||(Po.current=!0,kt({type:"setUi",ui:{leftSideBarVisible:!0}}))},[po]),$n(()=>{!Qt&&po&&(Po.current=!1,uo())},[Qt]),$n(()=>{if(!po||!wo)return;const e=e=>{"Escape"===e.key&&uo()};return wo.addEventListener("keydown",e),()=>wo.removeEventListener("keydown",e)},[po,wo]),we(null!==po,()=>uo());const jr=ne(),Lr=(e,n="success",t)=>{if(jr)return void(t?jr(e,"error"===n?"error":"info",t):jr(e,"error"===n?"error":"info"));const o={sound:!1,action:t?.action,onClose:t?.onClose};"error"===n?jn.error(e,{...o,duration:t?.duration??3200}):jn.success(e,{...o,duration:t?.duration??1900})},Vr=Nn(null),[Er,Rr]=In(0),[Dr,Fr]=In(0),Hr=te(),Wr=Nn(null),Ur=e=>Math.max(0,e.clientHeight-(Wr.current?.offsetHeight??0));$n(()=>{const e=Vr.current;if(!e)return;const n=()=>{Rr(e.clientWidth),Fr(Ur(e))};n();const t=new ResizeObserver(n);return t.observe(e),Wr.current&&t.observe(Wr.current),()=>t.disconnect()},[]),An(()=>{Vr.current&&(Rr(Vr.current.clientWidth),Fr(Ur(Vr.current)))},[Cr,Qt,eo]);const Jr=lo===ro?Er>0?Er:to[ro]:to[lo],Gr=Er>0?Math.min(Er/Jr,"shrink"===io?1:2):1,Xr=Jr*Gr,Kr=Er>0&&Xr>Er+1,Yr={width:Xr,height:Dr||"100%",flex:"none",position:"relative"},qr={width:Jr,height:Dr?Dr/Gr:"100%",maxHeight:"none",transform:1!==Gr?`scale(${Gr})`:void 0,transformOrigin:"top left"},_r=()=>kt({type:"setUi",ui:{leftSideBarVisible:!Qt}}),Zr=()=>kt({type:"setUi",ui:{rightSideBarVisible:!eo}}),Qr=e=>{Oo&&(Io(!1),To(null),$o.current=!1,Qt&&go===e)||po&&(Po.current=!1,uo(),Qt&&go===e)||(Qt&&go===e?_r():(yo(e),Qt||kt({type:"setUi",ui:{leftSideBarVisible:!0}})))},ei=()=>{$(hn,{accept:"image/*",title:Wt.mediaLibrary})},ni=()=>{Ro(Y),_t.select(null),u()},ti=()=>{Ro(Pt??Y),eo||kt({type:"setUi",ui:{rightSideBarVisible:!0}})},oi=St.data.content??[],ri=()=>{const e=oi.findIndex(At),n=oi.findIndex(Tt);return{floor:e>=0?e+1:0,cap:n>=0?n:oi.length}},ii=wt,li=rr.stripCopy,si=n=>e(n,li),di=w(),ci=Ee({data:St.data,config:ii,readOnly:Boolean(pt),clipboard:di,strip:li?e=>li(e):void 0,afterRemove:"none",stepBounds:(e,n)=>{if(e.parentId!==xn||e.slot!==wn)return{min:0,max:n-1};const{floor:t,cap:o}=ri();return{min:t,max:o-1}},commit:(e,{select:n})=>{void 0!==n&&Ro(Y);const t=void 0===n||"node"===n?.kind?n:null;_t.commitDocument(e,t)}}),ai=e=>{const n=Bn(St.data,wt,e);if(!n)return!1;const t=vn(n.place),o=n.node,r=t===pe?mi(o):Ii(o);return!!ci.remove(e)&&(Lr(Lt.deleted({name:r}),"success",{duration:8e3,action:{label:Lt.bar.undo,onClick:()=>{ci.restore(n.node,n.place)}}}),!0)},pi={...ci,remove:ai},ui=e=>ur(e,"block",wt.components[e]?.label??e),fi=Pn(e=>wt.components[e]?.defaultProps??{},[wt]),hi=e=>ur(e,"section",ui(e)),mi=e=>l({type:e.type,props:e.props??{}},hi(e.type),mr),{nodeAddresses:gi,zoneItems:yi}=On(()=>{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>=fe)return;const s=/* @__PURE__ */new Map;for(const{child:e,zone:t}of he(wt,n))s.set(t,[...s.get(t)??[],e]);for(const[e,n]of s)t(n,e,i+1)})};return t(oi,pe,0),{nodeAddresses:e,zoneItems:n}},[oi,wt]),Si=Pn(e=>yi.get(e)??[],[yi]),ki=e=>{const n=gi.get(e);return n?Si(n.zone)[n.index]:void 0},bi=e=>ae(rr,wt,e),vi=e=>{if(!rr.slotsOf||e===pe)return null;const n=e.lastIndexOf(":");if(n<=0)return null;const t=ki(e.slice(0,n));if(!t)return null;const o=bi(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}},xi=(()=>{if(!oe(Eo))return null;const e=`${Eo.nodeId}:${Eo.slot}`;return vi(e)?.slot.panel===Eo.kind?e:null})(),wi=Nn(null);$n(()=>{const e=wi.current;if(wi.current=null,!xi||!oe(Eo))return;const n=Eo.nodeId;Yo(n,{scroll:e!==xi}),Br(e=>{if(!e.has(n))return e;const t=new Set(e);return t.delete(n),t})},[Eo]);const zi=(e,n,t)=>{const o=String(e.props.id);if(!n.panel)return void(e=>{const n=gi.get(e);n&&(n.zone===pe?Ui(n.index):bl(n.zone,n.index,e,ki(n.zone.slice(0,n.zone.lastIndexOf(":")))?.type??""))})(o);const r={kind:n.panel,nodeId:o,slot:n.slot},i=`${o}:${n.slot}`;t&&xi!==i&&(wi.current=i),Qo(null,r),eo||kt({type:"setUi",ui:{rightSideBarVisible:!0}}),Wi(o)},Bi=(e,n,t)=>{const o=`${e}:${n}`;if(Br(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;xi!==o&&(wi.current=o);Qo(null,{kind:t,nodeId:e,slot:n})},Ci=(e,n,t)=>{if(pt||!rr.moveSlot)return;const o=ki(e),r=o?bi(o).filter(e=>e.rung):[],i=r[n];if(!i)return;const l={parentId:e,slot:Qn,index:n},s=un(l,{...l,index:Math.min(Math.max(t,0),r.length)});if(s===n)return;const d=rr.moveSlot(e,n,s);"string"==typeof d&&Bi(e,d,i.panel)},Ni=hr(),Oi=On(()=>{const e=/* @__PURE__ */new Map;for(const n of Ni??[])e.set(n.slug,n.name);return e},[Ni]),Ii=e=>s(e,ui,pr.plainText,e=>Oi.get(e),pr.rowName),$i=(e,n)=>{const t=wt.components[e.type]?.fields,o=n===pe||Hl(n)?"section":"block",r=n===pe&&(At(e)||Tt(e)||Ot(e.type)),i="block"===o?d(t):r?null:c(t);return pr.renamePropOf?pr.renamePropOf(e,o,i):i},Pi=(e,n,t,o)=>{if(!(!pt&&kr?.zone===e&&kr.index===n))return;const r=(t,o)=>{br(null),o&&((e,n,t)=>{const o=Si(e)[n];if(!o)return;const r=$i(o,e);r&&_t.replaceComponent(e,n,{...o,props:{...o.props,[r]:t.trim()}})})(e,n,t)};/* @__PURE__ */
9
- return Un("input",{className:"es-tree-rename",defaultValue:o,autoFocus:!0,"aria-label":Lt.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)},Ai=t(re(),Ht),Ti=Ai.scope({target:Sn,siteId:tt,docId:kn}),Mi=wt,ji=(e,n)=>n===pe?hi(e):ui(e),Li=(e,n,t)=>{const o=Ai.plan(Ti,t,ji(t.type,e),Mi);o&&(o.changed&&_t.replaceComponent(e,n,{...t,props:{...o.props,id:t.props.id}}),Lr(o.message))},Vi=z({nodesIn:Si,nodeAt:(e,n)=>Si(e)[n]??null,labelOf:(e,n)=>n===pe?hi(e):ui(e),renamePropOf:$i,beginRename:(e,n)=>br({zone:e,index:n}),history:{hasPast:bt.hasPast,hasFuture:bt.hasFuture,back:()=>bt.back(),forward:()=>bt.forward()},openAddSection:()=>{_t.select(null),qi(null)},openPageSettings:()=>{_t.select(null),Ro(Y)},pageSettingsLabel:Lt.pageSettings,words:{menu:Ft,styleClipboard:Ht,screen:Lt.menu},readOnly:Boolean(pt),collapseAll:()=>Br(new Set(Si(pe).map(e=>String(e.props.id)))),onPasteRefused:e=>Lr(e?Lt.pasteRefused({name:e.label}):Lt.menu.clipboardRefused,"error"),canPasteAt:(e,n)=>Ul(e,n),menuRows:nr.menuRows,isLocked:e=>ir(e.type),duplicateBlocked:e=>lr(St.data,e),permits:e=>ue(wt,e.type),canAddTo:cr,nodeOps:pi,isPinned:(e,n)=>n===pe&&(At(e)||Tt(e)),sectionBand:ri,openAddInside:(e,n)=>{e===pe?Ui(n):_t.select({zone:e,index:n}),qi(null)},locate:e=>gi.get(e)??null,rowNameOf:(e,n)=>n===pe?mi(e):Ii(e),selectAt:(e,n,t,o)=>{e===pe?Ui(n):bl(e,n,t,o??"")},slotRung:e=>{const n=vi(e);return n?.slot.panel?{label:n.slot.label,select:()=>zi(n.node,n.slot,!1)}:null},style:{held:()=>P(Ti),canCopy:e=>Ai.rows(Mi,e).some(e=>!1!==e.counted),copy:(e,n)=>Ai.copy(Ti,e,ji(e.type,n),Mi),paste:(e,n,t)=>Li(e,n,t)},keys:ht?{target:wo,selected:()=>{const e=St.ui.itemSelector;return e?{zone:e.zone??pe,index:e.index}:null},held:()=>di.get(),readOnly:Boolean(pt),onDone:({done:e,name:n})=>{"copied"===e&&Lr(Lt.copied({name:n}))}}:void 0},xo),Ei=Nn({copy:(e,n)=>{},paste:(e,n,t)=>{},at:()=>null,readOnly:!1});$n(()=>{Ei.current={copy:(e,n)=>Ai.copy(Ti,e,ji(e.type,n),Mi),paste:Li,at:()=>{const e=St.ui.itemSelector;if(!e)return null;const n=e.zone??pe,t=Si(n)[e.index];return t?{zone:n,index:e.index,node:t}:null},readOnly:Boolean(pt)}});const Ri=Pn(e=>{const n=A(e);if(!n)return;const t=Ei.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))},[]);$n(()=>{if(!wo)return;const e=e=>Ri(e);return wo.addEventListener("keydown",e),()=>wo.removeEventListener("keydown",e)},[Ri,wo]),gn(xo,"keydown",Ri);const Di=oi.map(e=>e.props.id).join("|");$n(()=>{const e=xo?.document??null,n=xo?.window??null;let t=0;const o=[],r=()=>{if(!e)return void Vo(e=>e.length?[]:e);const n=oi.findIndex(Tt),t=n>=0?n:oi.length,o=n=>{const t=oi[n]?.props?.id;return null==t?null:e.querySelector(`[data-puck-component="${CSS.escape(String(t))}"]`)},r=e=>e?[...e.querySelectorAll(mn)].map(e=>e.getBoundingClientRect()).filter(e=>e.width>0||e.height>0):[],i=[];for(let e=oi.length>0&&!At(oi[0])?0: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=Zn(l&&s?(s.bottom+l.top)/2:l?0===e?l.top+12:l.top:s.bottom,Math.max(0===e?0:-1/0,...r(t).map(e=>e.bottom)),Math.min(1/0,...r(n).map(e=>e.top)));d&&i.push({...d,index:e})}Vo(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()}},[xo,Di,lo,Gr,Qt,eo,vt?.props.id]);const Fi=xo?.document??null,Hi=xo?.window??null;$n(()=>{const e=bo.current;if(!e||!Fi||!Hi)return;const n=[],t=()=>{const n=Fi.querySelector(`[data-puck-component="${CSS.escape(e.id)}"]`);if(!n)return!1;const t=n.getBoundingClientRect().top-e.offset;return Math.abs(t)>1&&Hi.scrollTo({left:Hi.scrollX,top:Hi.scrollY+t,behavior:"instant"}),!0};return bo.current=null,t()&&n.push(setTimeout(t,150),setTimeout(t,450)),()=>n.forEach(clearTimeout)},[Fi,Hi]);const Wi=e=>{nr.holdCanvasOn?nr.holdCanvasOn(e):a(e)},Ui=e=>{Ro(Y),_t.select({index:e}),nr.sectionPressed?.(oi[e]);const n=oi[e]?.props?.id;n&&Wi(n)},Ji=e=>{const{floor:n,cap:t}=ri(),o=e=>Math.min(Math.max(n,e),t);if("number"==typeof e)return o(e);const r=vt&&Eo.kind!==Pt?.kind?oi.findIndex(e=>e.props.id===vt.props.id):-1;return o(r>=0?r+1:t)},Gi=(e,n)=>{const{floor:t,cap:o}=ri(),r=Math.min(Math.max(n,t),o),i=e<r?r-1:r;return i===e?{moved:!1,dest:e}:(_t.reorderComponent(pe,e,i),_t.select({index:i}),{moved:!0,dest:i})},Xi=(e,n,t,o)=>{Ro(Y),_t.select(o?{index:o.index,zone:o.zone}:{index:e}),a(n),Lr(Lt.sectionAdded({name:t}))},Ki=(e,n)=>{const t=Ji(n),o=dr(e,{nodeDefaults:fi,newNodeId:Se,sectionLabel:hi,blockIsOffered:ar}),r=o?_t.insertNode(pe,t,o):_t.insertSection(e,t);return Xi(t,r,hi(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 he(wt,e)){if(s.type===t&&(!o.at||n>o.at.depth)){const r=cr(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},Yi=(e,n,t)=>{const o=Ji(t),r=_t.insertNode(pe,o,n);return Xi(o,r,e),o},qi=e=>_i(pe,e),_i=(e,n)=>{Mr.current=document.activeElement??null,po&&($o.current=Po.current,Po.current=!1,uo()),To(null===n?null:{zone:e,index:n}),Io(!0),Qt||($o.current=!0,kt({type:"setUi",ui:{leftSideBarVisible:!0}}))},Zi=()=>{Io(!1),To(null),$o.current&&kt({type:"setUi",ui:{leftSideBarVisible:!1}}),$o.current=!1},Qi=(e,n,t)=>{if("section"===e.kind)_t.insertComponent(n,e.type,t);else{if("template"!==e.kind)return;_t.insertNode(n,t,si(e.template.node))}Ro(Y),_t.select({index:t,zone:n})},el=(e,n)=>pr.rowName?n?At(e)?pr.rowName(e,"section",Lt.header):Tt(e)?pr.rowName(e,"section",Lt.footer):Ot(e.type)?pr.rowName(e,"section",ui(e.type)):mi(e):Ii(e):n?hi(e.type):ui(e.type),nl=e=>n=>{e()},tl=()=>nr.editPinnedSource?.(),ol=(e,n,t)=>{if(pt)return null;const o=Si(e)[n];return o&&!ue(wt,o.type).delete?null:/* @__PURE__ */Un(Te,{kind:"delete",label:Lt.deleteNamed({name:t}),onClick:()=>((e,n)=>{const t=Si(e)[n]?.props?.id;null!=t&&ai(String(t))})(e,n),children:/* @__PURE__ */Un(Dn,{size:15})})},rl=e=>pr.rowPreview?.(e)||void 0,il=e=>pr.rowMarks?.(e)??void 0,ll=(e,n,t)=>pr.rowActions?.(e,n,t)??null,sl=(e,n,t,o)=>{if(pt)return null;const r=Boolean(t.props._hidden);/* @__PURE__ */
10
- return Un(Te,{kind:"eye",label:r?Lt.showNamed({name:o}):Lt.hideNamed({name:o}),onClick:()=>cl(e,n,t),children:/* @__PURE__ */Un(r?Fn:Hn,{size:14,strokeWidth:1.8,strokeLinecap:void 0,strokeLinejoin:void 0})})},dl=e=>{const n=hi(oi[e]?.type??""),t=n?Lt.addSectionBefore({name:n}):Lt.addSectionHere;return ks(pe,e,()=>qi(e),t)},cl=(e,n,t)=>{_t.replaceComponent(e,n,{...t,props:{...t.props,_hidden:!t.props._hidden}})},al=e=>me(wt,e),pl=e=>he(wt,e),ul=e=>rr.slotsOf?bi(e).map(n=>({slot:n.slot,rung:n.rung?n:null,kids:ge(e,n.slot)})):[{slot:null,rung:null,kids:pl(e)}],fl=e=>rr.slotsOf?ul(e).flatMap(e=>e.kids):pl(e),hl=e=>Boolean(rr.slotsOf)&&bi(e).some(e=>e.rung),ml=(e,n,t)=>null===t?void 0===n?cr(e):cr(e,n):cr(e,n,t),gl=(e,n,t)=>{const o=ye(wt,e.type,n)&&(t||fl(e).length>0||hl(e));return{collapsible:o,folded:o&&Pr(String(e.props.id))}},yl=(e,n,t)=>ul(e).flatMap(o=>{const r=o.rung?n+1:n,i=o.kids.flatMap(({child:e})=>gl(e,r,t(e.type)).collapsible?[String(e.props.id),...yl(e,r+1,t)]:[]);return o.rung?[`${e.props.id}:${o.rung.slot}`,...i]:i}),Sl=e=>fl(e).length>0||hl(e)||Boolean(cr(e.type)),kl=e=>Boolean(cr(e)),bl=(e,n,t,o)=>{if(Ro(Y),cr(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}),Wi(t)},vl=(e,n,t,o,r)=>{const i=`${e}:${n}`;_t.insertComponent(i,t,o),cr(r)?.spec?.slider?requestAnimationFrame(()=>{p(e,o),_t.select({index:o,zone:i})}):_t.select({index:o,zone:i})},xl=(e,n,t)=>{_t.insertComponent(e,n,t),Ro(Y),_t.select({index:t,zone:e})},wl=Nn(/* @__PURE__ */new Set);$n(()=>{oi.forEach(e=>{const n=cr(e.type)?.spec;if(!n)return;const t=e.props.id;if(wl.current.has(t))return;wl.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(fi)).forEach((e,t)=>Kt.seedChild(o,t,n.childType,e))})},[oi,Kt,fi]);const zl=Nn(/* @__PURE__ */new Set);$n(()=>{oi.forEach((e,t)=>{const o=e.props.id;if(zl.current.has(o))return;const r=n(e,al(e.type));zl.current.add(o),r&&Kt.replaceComponent(pe,t,{...e,props:r})})},[oi,Kt]),ie(Kt,wt);const Bl=oi.findIndex(Tt),Cl=Bl>=0?oi[Bl]:null,Nl=Mt?oi.findIndex(At):-1,Ol=Nl>=0?oi[Nl]:null,Il=zt.groupTab,$l=On(()=>Il?e=>Ot(e.type):void 0,[Il]),Pl=Boolean(zt.groupBadge),Al=zt.groupBadge?/* @__PURE__ */Un("span",{className:"es-tree-group-badge",children:/* @__PURE__ */Un(Mn,{tone:"info",size:"xs",children:zt.groupBadge})}):void 0,Tl=oi.find(e=>e.type===Ct)??null,Ml=oi.find(e=>e.type===Nt)??null,jl=Bl>=0?Bl:oi.length,Ll=[];oi.forEach(e=>{Tt(e)||(Sl(e)&&Ll.push(String(e.props.id)),Ll.push(...yl(e,1,kl)))}),Cl&&(Ll.push(String(Cl.props.id)),Ll.push(...yl(Cl,1,kl)));const Vl=Ll.length>0&&Ll.every(e=>zr.has(e)),El=e=>{const n=pr.blockRowName(e,ui);return pr.rowName?pr.rowName(e,"block",n):n},Rl=(e,n,t,o)=>{const r=Si(e)[t];if(!r)return;const i={...zn(e),index:t},l={...zn(n),index:Math.min(Math.max(o,0),Si(n).length)},s=un(i,l);if(e!==n||s!==t)try{ci.move(String(r.props.id),{...l,index:s})}catch(e){if(!(e instanceof Cn))throw e}},Dl=e=>{const n=/* @__PURE__ */new Set,t=e=>{for(const{child:o,zone:r}of pl(e))n.add(r),t(o)};for(const t of al(e.type))n.add(`${e.props.id}:${t}`);return t(e),n},Fl=e=>{let n=e.slice(0,e.indexOf(":"));for(let e=0;e<64;e++){const e=gi.get(n);if(!e)return null;if(e.zone===pe)return n;n=e.zone.slice(0,e.zone.indexOf(":"))}return null},Hl=e=>{const n=e.slice(0,e.indexOf(":")),t=oi.find(e=>Ot(e.type)&&String(e.props.id)===n);return t&&It(n)===e?t:null},Wl=(e,n,t)=>{if(e.rung){const t=ki(e.rung.nodeId),o=t?bi(t).filter(e=>e.rung).length:0;return n.parentId===e.rung.nodeId&&n.slot===Qn&&n.index>=0&&n.index<=o}if(n.slot===Qn)return!1;if(e.add)return Gl(e.add,n);const o=vn(n);if(Ot(e.type))return!1;const r=Hl(o),i=Hl(e.zone);if(r||i)return!(!r||!i)&&(n.index>=0&&n.index<=Si(o).length);if(e.zone===pe||o===pe){if(e.zone!==o)return!1;const{floor:t,cap:r}=ri();return n.index>=t&&n.index<=r}if(n.index<0||n.index>Si(o).length)return!1;if(e.zone===o)return!0;const l=Cl&&!zt.lastIsOpen?String(Cl.props.id):null;return(!l||Fl(e.zone)!==l&&Fl(o)!==l)&&((e,n,t,o)=>{if(e===n)return!0;const r=o??Si(e)[t];if(!r)return!1;const i=n.split(":")[0],l=gi.get(i),s=l?Si(l.zone)[l.index]:void 0;if(!s)return!1;if(!o&&Dl(r).has(n))return!1;const d=cr(s.type,sr(St?.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?.(Si(n),r))})(e.zone,o,e.index,t)},Ul=(e,n)=>{const t=vn(e.from);if(t===vn(n))return!0;const o=e.node;return Wl({id:String(o.props?.id??""),zone:t,index:-1,type:o.type},n,o)},Jl=e=>{const n=e.slice(0,e.indexOf(":")),t=gi.get(n),o=t?Si(t.zone)[t.index]:void 0;if(!t||!o)return null;const r=cr(o.type,sr(St?.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:ui(r.spec.childType)}]:[]),l=vi(e);return{parent:o,parentId:n,target:r,choices:i,parentName:l?l.slot.label:el(o,t.zone===pe)}},Gl=(e,n)=>{const t=vn(n);if("block"!==e.kind){if(Hl(t))return n.index>=0&&n.index<=Si(t).length;if(t!==pe)return!1;const{floor:e,cap:o}=ri();return n.index>=e&&n.index<=o}if(t===pe)return!1;const o=Jl(t);return!(!o||!o.choices.some(n=>n.type===e.type))&&!o.target.spec?.addBlocked?.(Si(t))},Xl=(e,n)=>{e.rung?Ci(e.rung.nodeId,e.index,n.index):e.add?((e,n)=>{if("block"!==e.kind&&Hl(vn(n)))return void Qi(e,vn(n),n.index);if("section"===e.kind)return void Ki(e.type,n.index);if("template"===e.kind)return void Yi(e.template.name,si(e.template.node),n.index);const t=vn(n),o=Jl(t);o&&(o.target.spec?vl(o.parentId,o.target.slot,e.type,n.index,o.parent.type):xl(t,e.type,n.index))})(e.add,n):e.zone===pe?Gi(e.index,n.index):Rl(e.zone,vn(n),e.index,n.index)},[Kl]=In(()=>an()),Yl=pn({keyOf:e=>e.id,readOnly:Boolean(pt),session:Kl,canDrop:Wl,onDrop:Xl,onStep:(e,n)=>{e.rung?Ci(e.rung.nodeId,e.index,n<0?e.index-1:e.index+2):e.zone===pe?((e,n)=>{const t=hi(oi[e]?.type??""),o=Gi(e,n<0?e-1:e+2);if(!o.moved)return void Lr(n<0?Lt.sectionFirst({name:t}):Lt.sectionLast({name:t}));const{floor:r,cap:i}=ri();Lr(Lt.sectionMoved({name:t,n:o.dest-r+1,total:i-r}))})(e.index,n):Rl(e.zone,e.zone,e.index,n<0?e.index-1:e.index+2)}}),ql=Pn(e=>{const{floor:n,cap:t}=ri(),o=[];for(const r of e.nodes){const e=vn(r.place),i=Si(e)[r.place.index];if(!i||String(i.props.id)!==r.id)continue;if(At(i)||Tt(i)||ir(i.type))continue;if(Ot(i.type))continue;const l=Boolean(Hl(e)),s=e===pe||l;e===pe&&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?hi(i.type):Ii(i),from:r.place})}const r=e.zones.flatMap(e=>{const n=vn(e.list);return n===pe&&0===e.children.length?[{...e,addLabel:Lt.addSection,addAlways:!0}]:e.children.length>0||Boolean(Jl(n)?.choices.length)||Boolean(Hl(n))?[e]:[]}),i=r.flatMap(e=>{const n=vn(e.list);return n===pe||Hl(n)||!Jl(n)?.choices.length?[]:ln(e,Lt.addBlockHere)});return{sources:o,zones:r,seams:i}},[St.data]),_l=null==vt?.props.id?null:String(vt.props.id),Zl=Pn(e=>{const n=wt,t=e=>!e.item.rung&&null!==Bn(St.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(_l);return i||(r(Re(St.data,n,o.item.id,_l,$l))??o)},[St.data,wt,_l,$l]),[Ql,es]=In(null);gn(xo,"mouseover",e=>{if(!Il)return;const n=yn(e.target),t=n?Kn(St.data,wt,n):null;t!==Ql&&es(t)}),gn(xo,"mouseout",e=>{Il&&!e.relatedTarget&&es(null)});const ns=e=>At(e)||Tt(e)||Ot(e.type),ts=[];if(Il){const e=_l?Kn(St.data,wt,_l):null;for(const n of/* @__PURE__ */new Set([e,Ql])){const e=n?oi.find(e=>String(e.props.id)===n):void 0;if(!e||!ns(e))continue;const t=Il(e);t&&ts.push({id:String(e.props.id),label:t,below:At(e)||e.type===Ct})}}const os=V(),rs=Nn(null);$n(()=>{const e=zt.changeNotice;if(!e)return;const n=JSON.stringify(oi.filter(ns)),t=rs.current;if(rs.current={doc:kn,bands:n,index:bt.index},!t||t.doc!==kn||t.bands===n)return;bt.hasPast&&bt.index>=t.index&&!Xn.has(os)&&(Xn.add(os),Lr(e,"success",{action:{label:Lt.bar.undo,onClick:()=>bt.back()},duration:8e3}))},[oi]);const is=e=>{Ro(Y),_t.select(e.zone===pe?{index:e.index}:{index:e.index,zone:e.zone})},ls=le(),ss=()=>({data:St.data,device:lo,ops:_t,inspector:er}),ds=ls?.model,cs=On(()=>ds?e=>ds(e,ql(e),ss()):ql,[ds,ql,lo]),as=ls?.measure,ps=as?(e,n)=>as(e,n,ss()):void 0,us=ls?.canDrop,fs=us?(e,n)=>us(e,n,Wl,ss()):Wl,hs=ls?.drop,ms=hs?(e,n)=>hs(e,n,Xl,ss()):Xl,gs=ls?.pick,ys=gs?e=>gs(e,is,ss()):is,Ss=e=>{const n=vn(e),t=vi(n);t&&zi(t.node,t.slot,!1),_i(n,e.index)},ks=(e,n,t,o)=>/* @__PURE__ */Un(Me,{...pt?{}:Yl.seam({place:{...zn(e),index:n}}),onAdd:pt?void 0:t,label:o},`seam:${e}:${n}`),bs={rowClick:nl,isCollapsed:Pr,toggleCollapse:Ar},vs=e=>{const n=String(e.props.id),t=oi.findIndex(e=>String(e.props.id)===n),o=It(n),r=Si(o),i=Pr(n),l=ui(e.type),s=pr.rowName?pr.rowName(e,"section",l):l,d=e=>ks(o,e,()=>_i(o,e),Lt.addSectionHere);/* @__PURE__ */
11
- return Jn(Gn,{children:[
12
- /* @__PURE__ */Un(Ie,{words:Vt,icon:/* @__PURE__ */Un(fr,{type:e.type,size:13}),name:s,preview:rl(e),marks:il(e),onSelect:()=>Ui(t),nameSlot:Pi(pe,t,n,s),selected:Jo===n,badge:Al,actions:ll(e,pe,t)??void 0,rowProps:{"data-node-id":n,onClick:nl(()=>Ui(t))},fold:{open:!i,label:"section",onToggle:()=>Ar(n)}}),!i&&/* @__PURE__ */Jn($e,{children:[r.map((n,t)=>{const r=String(n.props.id),i=mi(n),l=Sl(n),s=l&&Pr(r),c=()=>bl(o,t,r,e.type),{rowProps:a,...p}=Yl.row({item:{id:r,zone:o,index:t,type:n.type},place:{...zn(o),index:t}},{"data-node-id":r,onClick:nl(c)});/* @__PURE__ */
13
- return Jn(Tn,{children:[d(t),
14
- /* @__PURE__ */Un(Ie,{words:Vt,icon:/* @__PURE__ */Un(fr,{type:n.type,size:13}),name:i,preview:rl(n),marks:il(n),onSelect:c,nameSlot:Pi(o,t,r,i),selected:Jo===r,hidden:Boolean(n.props._hidden),...p,fold:l?{open:!s,label:"section",onToggle:()=>Ar(r)}:void 0,actions:/* @__PURE__ */Jn(Gn,{children:[ol(o,t,i),ll(n,o,t),sl(o,t,n,i)]}),rowProps:a}),l&&!s&&/* @__PURE__ */Un($e,{children:zs(n,2)})]},r)}),d(r.length)]})]})},xs=(e,n,t,o,r)=>{const i=String(e.props.id),l=`${i}:${n.slot}`,s=Yl.dragging,d=!Pr(l)&&s?.rung?.nodeId!==i,c={...zn(l),index:0},a=s&&!s.rung&&Wl(s,c)?c:void 0,p=()=>zi(e,n,!0),{rowProps:u,...f}=Yl.row({item:{id:`rung:${l}`,zone:`${i}:${Qn}`,index:t,type:e.type,rung:{nodeId:i,slot:n.slot}},place:{parentId:i,slot:Qn,index:t},into:a,canDrag:Boolean(rr.moveSlot)&&!1!==n.movable&&o>1},{"data-slot-zone":l,onClick:nl(p)}),h=pt?null:rr.slotActions?.(e,n.slot);/* @__PURE__ */
15
- return Jn(Tn,{children:[n.heading,
16
- /* @__PURE__ */Un(Ie,{words:Vt,icon:n.glyph??null,name:n.label,badge:n.badge,onSelect:p,selected:xi===l,...f,dragHint:n.dragHint,fold:{open:d,label:n.label,onToggle:()=>Ar(l)},actions:h&&h.length>0?/* @__PURE__ */Un(Gn,{children:h.map((t,o)=>/* @__PURE__ */Un(Te,{kind:"delete"===t.kind?"delete":"plain",label:t.label,disabled:t.disabled,onClick:()=>((e,n,t)=>{if(pt||t.disabled)return;const o=String(e.props.id),r=e=>{"string"==typeof e&&Bi(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__ */Un(Dn,{size:15}):/* @__PURE__ */Un(Wn,{size:15})},`${o}:${t.kind}`))}):void 0,rowProps:u}),d&&/* @__PURE__ */Un($e,{children:r})]},l)},ws=(e,n)=>{const t=ul(e),o=t.filter(e=>e.rung).length;let r=0;/* @__PURE__ */
17
- return Un(Gn,{children:t.map(t=>{const i=t.kids,l=t.rung?n+1:n,s=ml(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(Jl(c)?.choices.length),p=(e,n)=>a?ks(e,n,()=>_i(e,n),Lt.addBlockHere):ks(e,n),u=/* @__PURE__ */Jn(Gn,{children:[i.map(({child:n,zone:t,index:o})=>{const r=Jo===String(n.props.id),{collapsible:i,folded:s}=gl(n,l,kl(n.type)),d=String(n.props.id),c=El(n),a=()=>bl(t,o,d,e.type),{rowProps:u,...f}=Yl.row({item:{id:d,zone:t,index:o,type:n.type},place:{...zn(t),index:o}},{"data-node-id":d,onClick:nl(a)});/* @__PURE__ */
18
- return Jn(Tn,{children:[0===o&&p(t,0),
19
- /* @__PURE__ */Un(Ie,{words:Vt,icon:/* @__PURE__ */Un(fr,{type:n.type,size:13}),name:c,preview:rl(n),marks:il(n),onSelect:a,nameSlot:Pi(t,o,d,c),selected:r,hidden:Boolean(n.props._hidden),...f,fold:i?{open:!s,label:"group",onToggle:()=>Ar(d)}:void 0,actions:/* @__PURE__ */Jn(Gn,{children:[ol(t,o,c),ll(n,t,o),sl(t,o,n,c)]}),rowProps:u}),i&&!s&&/* @__PURE__ */Un($e,{children:ws(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?xs(e,t.rung,r++,o,u):/* @__PURE__ */Un(Tn,{children:u},t.slot??"")})})},zs=(e,n)=>{const t=sr(St?.data,e.type,String(e.props.id)),o=ul(e),r=o.filter(e=>e.rung).length;let i=0;/* @__PURE__ */
20
- return Un(Gn,{children:o.map(o=>{const l=o.kids,s=o.rung?n+1:n,d=ml(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)?()=>vl(e.props.id,c.slot,c.childType,t,e.type):n===h?()=>_i(n,t):void 0;return ks(n,t,o,n===f&&c?c.addLabel:Lt.addBlockHere)},g=null===o.slot?null:`${u}:${o.slot}`,y=Boolean(c&&!c.fixed&&(null===g||g===f)),S=/* @__PURE__ */Jn(Gn,{children:[l.map(({child:n,zone:t,index:o})=>{const r=Jo===String(n.props.id),i=Ii(n),l=String(n.props.id),{collapsible:d,folded:c}=gl(n,s,kl(n.type)),a=al(n.type),p=1===a.length?`${l}:${a[0]}`:null,u=p?{...zn(p),index:Si(p).length}:void 0,f=Yl.dragging,h=u&&f&&Wl(f,u)?u:void 0,g=()=>bl(t,o,l,e.type),{rowProps:y,...S}=Yl.row({item:{id:l,zone:t,index:o,type:n.type},place:{...zn(t),index:o},into:h,canDrag:!ir(n.type)},{"data-node-id":l,onClick:nl(g)});/* @__PURE__ */
21
- return Jn(Tn,{children:[0===o&&m(t,0),
22
- /* @__PURE__ */Un(Ie,{words:Vt,icon:/* @__PURE__ */Un(fr,{type:n.type,size:13}),name:i,preview:rl(n),marks:il(n),onSelect:g,nameSlot:Pi(t,o,l,i),selected:r,hidden:Boolean(n.props._hidden),...S,fold:d?{open:!c,label:"group",onToggle:()=>Ar(l)}:void 0,actions:ir(n.type)?ll(n,t,o)??void 0:/* @__PURE__ */Jn(Gn,{children:[ol(t,o,i),ll(n,t,o),sl(t,o,n,i)]}),rowProps:y}),d&&!c&&/* @__PURE__ */Un($e,{children:zs(n,s+1)}),m(t,o+1)]},String(n.props.id??`${t}-${o}`))}),y&&c&&
23
- /* @__PURE__ */Un(T,{small:!0,label:c.addLabel,blocked:c.addBlocked?.(a)??null,onAdd:()=>vl(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?xs(e,o.rung,i++,r,S):/* @__PURE__ */Un(Tn,{children:S},o.slot??"")})})},Bs=(()=>{if(!vt||!Do)return null;const e=String(vt.type),n=String(vt.props.id),t=cr(e,sr(St?.data,e,n));if(!t||"footer"===t.source)return null;const o=oi.some(e=>String(e.props?.id)===n),r=Array.isArray(vt.props[t.slot])?vt.props[t.slot]:[];if(t.spec?.addBlocked?.(r))return null;const i=t.choices??(t.spec?[{type:t.spec.childType,label:ui(t.spec.childType)}]:[]);return 0===i.length?null:{parentName:el(vt,o),choices:i,onPick:o=>{t.spec?vl(n,t.slot,o,r.length,e):xl(`${n}:${t.slot}`,o,r.length)}}})(),Cs=Wo&&Wo.zone!==pe&&!Hl(Wo.zone)?Wo.zone:null,Ns=!0===Mo.blocksFirst,Os=Cs?Jl(Cs):Ns&&Wo?null:Bs,Is=Boolean(Ao&&Cs)||Ns&&Boolean(Os&&Os.choices.length>0),$s=Oo||null!==po,Ps=e=>"panel"in e?{id:e.id,label:e.label,icon:e.icon,active:Qt&&!$s&&or===e.id,onSelect:()=>Qr(e.id)}:e,As=[{id:"add",label:Lt.add.title,icon:/* @__PURE__ */Un("span",{className:"sf-rail-plus","aria-hidden":"true",children:"+"}),active:Oo,onSelect:()=>Oo?Zi():qi(null)},...(nr.railLead??[]).map(Ps),{id:"sections",label:Lt.layers,icon:/* @__PURE__ */Un(De,{}),active:Qt&&!$s&&"sections"===or,onSelect:()=>Qr("sections")},...(nr.railTrail??[]).map(Ps)];ao?As.push({id:"media",label:Lt.railMedia,icon:/* @__PURE__ */Un(Fe,{}),active:Qt&&!Oo&&(null!==po||"media"===or),onSelect:()=>Qr("media")}):mt&&As.push({id:"media",label:Lt.railMedia,icon:/* @__PURE__ */Un(Fe,{}),onSelect:ei});const Ts=[...nr.railLead??[],...nr.railTrail??[]].find(e=>"panel"in e&&e.id===or),Ms=Boolean(jt?.foldable)&&!tr,js=jt?.label??(gt?Lt.pageSections:Lt.templateSections),Ls=Ms&&Pr(et),Vs=/* @__PURE__ */Jn(Gn,{children:[oi.map((e,n)=>{if(At(e)||Tt(e)||Ot(e.type))return null;const t=Jo===String(e.props.id),o=Boolean(e.props._hidden);pl(e);const r=String(e.props.id),i=nr.hasOwnRows?.(e)??!1,l=Sl(e)||i,s=l&&Pr(r),d=al(e.type),c=1===d.length?`${r}:${d[0]}`:null,a=c?{...zn(c),index:Si(c).length}:void 0,p=Yl.dragging,u=a&&p&&Wl(p,a)?a:void 0,{rowProps:f,...h}=Yl.row({item:{id:r,zone:pe,index:n,type:e.type},place:{...zn(pe),index:n},into:u},{"data-node-id":r,onClick:nl(()=>Ui(n))});/* @__PURE__ */
24
- return Jn(Tn,{children:[n>0&&dl(n),
25
- /* @__PURE__ */Un(Ie,{words:Vt,icon:/* @__PURE__ */Un(fr,{type:e.type,size:13}),name:mi(e),preview:rl(e),marks:il(e),onSelect:()=>Ui(n),nameSlot:Pi(pe,n,r,mi(e)),selected:t,hidden:o,...h,fold:l?{open:!s,label:"section",onToggle:()=>Ar(r)}:void 0,actions:/* @__PURE__ */Jn(Gn,{children:[ol(pe,n,mi(e)),ll(e,pe,n),sl(pe,n,e,mi(e))]}),rowProps:f}),Sl(e)&&!s&&/* @__PURE__ */Jn($e,{children:[zs(e,1),nr.partRows?.(e,bs)]}),i&&!s&&/* @__PURE__ */Un($e,{children:nr.ownRows?.(e,n,bs)})]},String(e.props.id??n))}),!tr&&jl>0&&dl(jl),jt?.addAtEnd&&!tr&&!pt&&/* @__PURE__ */Un(T,{small:!0,label:Lt.addSection,blocked:null,onAdd:()=>qi(jl)})]}),Es=(e,n,t)=>{const o=String(e.props.id),r=fl(e).length>0||hl(e)||Boolean(cr(e.type)),i=r&&Pr(o),l="header"===t?Lt.header:Lt.footer,s=pr.rowName?pr.rowName(e,"section",l):l;/* @__PURE__ */
26
- return Jn(Gn,{children:[
27
- /* @__PURE__ */Un(Ie,{words:Vt,icon:/* @__PURE__ */Un(fr,{type:t,size:13}),name:s,preview:rl(e),marks:il(e),badge:Al,onSelect:()=>Ui(n),nameSlot:Pi(pe,n,o,s),selected:Jo===String(e.props.id),fold:r?{open:!i,label:"section",onToggle:()=>Ar(o)}:void 0,actions:ll(e,pe,n)??void 0,rowProps:{"data-node-id":o,onClick:nl(()=>Ui(n))}}),r&&!i&&/* @__PURE__ */Un($e,{children:ws(e,1)})]})};return(nr.wrap??(e=>e))(
28
- /* @__PURE__ */Un(se,{target:xo,children:/* @__PURE__ */Jn("div",{ref:vo,className:"sf-editor es-editor",style:Ze(Cr),onContextMenu:Vi.onEditorContextMenu,...g(hn),children:[
29
- /* @__PURE__ */Jn(He,{children:[
30
- /* @__PURE__ */Un(We,{items:As,ariaLabel:Lt.bar.views}),
31
- /* @__PURE__ */Jn(Ue,{children:[
32
- /* @__PURE__ */Un(Je,{label:Lt.bar.undo,disabled:Boolean(pt)||!bt.hasPast,onClick:()=>bt.back(),children:/* @__PURE__ */Un(Vn,{})}),
33
- /* @__PURE__ */Un(Je,{label:Lt.bar.redo,disabled:Boolean(pt)||!bt.hasFuture,onClick:()=>bt.forward(),children:/* @__PURE__ */Un(En,{})}),
34
- /* @__PURE__ */Un(Ge,{}),
35
- /* @__PURE__ */Un(Xe,{devices:no,value:lo,onChange:so}),
36
- /* @__PURE__ */Un(Je,{label:Lt.bar.refresh,tip:Lt.bar.refreshTip,onClick:()=>{bo.current=(()=>{const e=xo?.document;if(!e)return null;const n=oi.findIndex(Tt),t=n>=0?n:oi.length;let o=null;for(let n=0;n<t;n++){const t=oi[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=vt?.props?.id??oi[0]?.props?.id;null!=e&&(o={id:String(e),offset:0})}return o})(),ko(e=>e+1)},children:/* @__PURE__ */Un(Rn,{})})]}),
37
- /* @__PURE__ */Jn(Ue,{kind:"right",style:{minWidth:300},children:[
38
- /* @__PURE__ */Un(C,{input:Co,words:Lt.saveStatus}),nr.barLead?.(),nr.barTrail?.(),nr.mainAction||!nr.barMain?/* @__PURE__ */Un(N,{input:Co,action:nr.mainAction??{label:Lt.done,onPress:()=>{ot(St.data)}},readOnly:Boolean(pt),saveSwitch:ft,onToggleAutoSave:st,onSaveNow:No,bar:Lt.bar,words:Lt.saveStatus}):nr.barMain()]})]}),
39
- /* @__PURE__ */Un(B,{}),
40
- /* @__PURE__ */Jn("div",{className:"sf-body",children:[Qt?/* @__PURE__ */Jn(Gn,{children:[
41
- /* @__PURE__ */Un("aside",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left","aria-label":Lt.leftPanel,children:Oo?/* @__PURE__ */Un(M,{blocks:Os,blocksOnly:Is,at:Ao?{label:(e=>{const n=Hl(e.zone);if(n)return Lt.add.addingTo({name:pr.rowName?el(n,!0):ui(n.type)});if(e.zone===pe){const n=oi[e.index];return n&&!Tt(n)?Lt.add.addingBefore({name:el(n,!0)}):Lt.add.addingAtEnd}const t=Jl(e.zone);return t?Lt.add.addingTo({name:t.parentName}):Lt.add.addingHere})(Ao),onClear:()=>To(null)}:void 0,onAdd:e=>{const n=Wo,t=(e,n)=>{Ao&&To({zone:e,index:n})};if(n&&"block"!==e.kind&&Hl(n.zone))return Qi(e,n.zone,n.index),void t(n.zone,n.index+1);if("section"===e.kind)return(e=>{if(null===Uo)return void Ki(e);const n=Ki(e,Uo);Ao&&jo(n+1)})(e.type);if("template"===e.kind)return((e,n)=>{if(null===Uo)return void Yi(e,n);const t=Yi(e,n,Uo);Ao&&jo(t+1)})(e.template.name,si(e.template.node));if(n&&n.zone!==pe){const o=Jl(n.zone);if(!o)return;return o.target.spec?vl(o.parentId,o.target.slot,e.type,n.index,o.parent.type):xl(n.zone,e.type,n.index),void t(n.zone,n.index+1)}Bs?.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:Kl,siteWide:nr.addPanelRow?.(Zi),onClose:Zi,onHide:_r,readOnly:Boolean(pt)}):po&&co?
42
- /* @__PURE__ */Un(E,{panel:co,pick:po,onHide:_r}):Ts?Ts.panel({onHide:_r,notify:Lr}):"media"===or&&co?/* @__PURE__ */Un(E,{panel:co,pick:null,onHide:_r}):/* @__PURE__ */Jn(Gn,{children:[
43
- /* @__PURE__ */Un(j,{icon:/* @__PURE__ */Un(De,{}),title:Lt.layers,context:Ut,actions:
44
- /* @__PURE__ */Un(Ke,{label:Vl?Lt.expandAll:Lt.collapseAll,title:0===Ll.length?Lt.nothingToFold:void 0,disabled:0===Ll.length,onClick:()=>Br(e=>{const n=new Set(Ll);return Vl?new Set([...e].filter(e=>!n.has(e))):/* @__PURE__ */new Set([...e,...Ll])}),children:/* @__PURE__ */Un(qn,{expand:Vl})}),onHide:_r}),
45
- /* @__PURE__ */Jn(Pe,{className:"sf-tree sf-scroll",words:Vt,children:[
46
- /* @__PURE__ */Un(Ie,{words:Vt,icon:/* @__PURE__ */Un(fr,{type:"page",size:13}),name:Lt.pageSettings,onSelect:ni,selected:!vt&&Do,rowProps:{onClick:nl(ni)}}),Tl&&/* @__PURE__ */Jn(Gn,{children:[!Pl&&/* @__PURE__ */Un(Ae,{children:Lt.header}),vs(Tl)]}),!tr&&yt&&!(Pl&&Tl)&&/* @__PURE__ */Jn(Gn,{children:[!Pl&&/* @__PURE__ */Un(Ae,{children:Lt.header}),!Mt&&/* @__PURE__ */Un(Ie,{words:Vt,icon:/* @__PURE__ */Un(fr,{type:"header",size:13}),name:Lt.header,badge:Al,onSelect:ti,selected:Eo.kind===Pt?.kind,rowProps:{onClick:nl(ti)}})]}),!tr&&Ol&&!(Pl&&Tl)&&Es(Ol,Nl,"header"),!tr&&!Ms&&/* @__PURE__ */Un(Ae,{children:js}),Ms?/* @__PURE__ */Jn(Gn,{children:[
47
- /* @__PURE__ */Un(Ie,{words:Vt,icon:null,name:js,fold:{open:!Ls,label:js,onToggle:()=>Ar(et)}}),!Ls&&/* @__PURE__ */Un($e,{children:Vs})]}):Vs,yt&&!Pl&&/* @__PURE__ */Un(Ae,{children:Lt.footer}),Cl&&!(Pl&&Ml)&&Es(Cl,Bl,"footer"),!tr&&!Cl&&yt&&!Pl&&/* @__PURE__ */Un(Ie,{words:Vt,icon:/* @__PURE__ */Un(fr,{type:"footer",size:13}),name:Lt.footer,onSelect:tl,rowProps:{onClick:nl(tl),title:Lt.editFooter}}),Ml&&vs(Ml),nr.treeFoot?.()]})]})}),
48
- /* @__PURE__ */Un(Ye,{side:"left",width:Cr.left,min:_e,max:qe,defaultWidth:k.left,label:Lt.resizeLeftPanel,onResize:Ir})]}):/* @__PURE__ */Un(L,{side:"left",onShow:_r}),
49
- /* @__PURE__ */Jn("div",{ref:Vr,className:"sf-center sf-scroll","data-sf-canvas-head":Hr?"":void 0,style:{overflowX:Kr?"auto":"hidden",overflowY:"hidden"},children:[Hr&&/* @__PURE__ */Un("div",{ref:Wr,className:"sf-canvas-head",children:/* @__PURE__ */Un(Hr,{device:lo})}),
50
- /* @__PURE__ */Jn("div",{className:"sf-frame-scaler",style:Yr,children:[
51
- /* @__PURE__ */Un("div",{className:"sf-frame "+(lo===ro?"":`sf-frame--${lo}`),style:qr,children:/* @__PURE__ */Jn("div",{className:"sf-preview-host",children:[
52
- /* @__PURE__ */Un(Oe.Provider,{value:$l,children:/* @__PURE__ */Un(Jt,{},So)}),
53
- /* @__PURE__ */Un(sn,{canvas:xo,session:Kl,model:cs,measure:ps,canDrop:fs,onDrop:ms,choose:Zl,onPick:ys,onZoneAdd:Ss,onSeamAdd:Ss,zoneAddLabel:Lt.canvasAddBlock,words:Et.canvas,readOnly:Boolean(pt),revision:St.data}),Lo.length>0&&/* @__PURE__ */Un("div",{className:"sf-preview-gaps",children:Lo.map(e=>
54
- /* @__PURE__ */Un(dn,{index:e.index,label:Lt.addSectionHere,onInsert:()=>qi(e.index),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}},e.index))})]})}),Il?/* @__PURE__ */Un(Yn,{canvas:xo,tabs:ts,onSelect:e=>{const n=oi.findIndex(n=>String(n.props.id)===e);n>=0&&Ui(n)}}):null]})]}),eo?/* @__PURE__ */Jn(Gn,{children:[
55
- /* @__PURE__ */Un(y,{value:{selectChild:bl,addChild:vl,childRowName:Ii,blockRowName:El},children:/* @__PURE__ */Un(Gt,{mode:Eo,onOpenWebsiteSettings:nr.openSettings??(()=>{}),onOpenSiteStyles:nr.openStyles,onSelectNode:yr,onNotify:Lr,onHidePanel:Zr,nodeActions:vt?ue(wt,vt.type):nt})}),
56
- /* @__PURE__ */Un(Ye,{side:"right",width:Cr.right,min:_e,max:qe,defaultWidth:k.right,label:Lt.resizeSettingsPanel,onResize:$r})]}):
57
- /* @__PURE__ */Un(L,{side:"right",onShow:Zr})]}),Vi.menu]})}))}export{tt as ScreenChrome};
@@ -1,5 +0,0 @@
1
- import{buildPaletteSections as e,pinnedSection as t,paletteWithoutPinned as o,categoryLabel as n}from"./chunk-PA3PNTVV.js";import{blockTypesIn as i}from"./chunk-5ZBY24K7.js";import{sectionTemplatesOf as s}from"./chunk-BVN33R76.js";import{SidePanelHead as r,PanelModeExit as c}from"./chunk-XTJCKV6Z.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-FJRAYUCX.js";import{DEFAULT_SCREEN_WORDS as d}from"./chunk-JTUUIVBZ.js";import{useEasel as f}from"./chunk-K5744MTM.js";import{useWords as u}from"./chunk-MFIRYGHW.js";import{AddPanel as k}from"./chunk-FCLW4LEN.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 B,Fragment as O}from"react/jsx-runtime";var v=e=>`section:${e}`,L=e=>`block:${e}`,V=e=>`template:${e}`;function x({blocks:x,blocksOnly:C,at:F,onAdd:I,itemFor:N,session:T,siteWide:A,onClose:H,onHide:J,readOnly:R}){const w=f(e=>e.config),D=p(),{labelAtLevel:K,categoryLabel:M,firstSection:Q,Icon:U,Thumbnail:W}=D,{blockIsOffered:X}=m(),Y=u("screen",d).add,Z=u("drag",h).add,z=l(),[E,P]=y([]);b(()=>{let e=!1;const t=e=>X(e,z);return s(z).list().then(o=>{if(e)return;const n=w.components;P(o.filter(e=>e.node?.type&&n[e.node.type]&&i(e.node).every(t)))}).catch(()=>{}),()=>{e=!0}},[w,z]);const S=j(()=>e(w,D),[w]),G=e=>({type:v(e.type),label:e.name,cover:/* @__PURE__ */$(W,{type:e.type}),title:e.desc?`${e.name} — ${e.desc}`:Y.tile({name:e.name}),keywords:[e.alias??"",e.desc,e.type,e.catLabel].filter(Boolean)}),q=j(()=>{const e=[];if(x&&x.choices.length>0&&a(x.choices).forEach((t,o)=>{e.push({key:`blocks:${o}`,title:0===o?`${Y.inside({name:x.parentName})}${t.group?` · ${t.group}`:""}`:t.group??"",tiles:t.items.map(e=>({type:L(e.type),label:e.label,icon:/* @__PURE__ */$(U,{type:e.type,size:18}),title:Y.tile({name:e.label})}))})}),C)return e;const i=t(S,Q);i&&e.push({key:"start",title:Y.startBlank,tiles:[G(i)]}),E.length>0&&e.push({key:"templates",title:Y.templates,tiles:E.map(e=>{return{type:V(e.id),label:e.name,cover:/* @__PURE__ */$(W,{type:e.node.type}),keywords:[(t=e.node.type,K(t,"section",w.components[t]?.label??t)),e.node.type]};var t})});const s=o(S,Q);for(const t of Object.keys(w.categories??{})){const o=s.filter(e=>e.cat===t);0!==o.length&&e.push({key:`category:${t}`,title:n(w,t,M),tiles:o.map(G)})}return e},[x,C,E,S,w,Y]),_=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 B(O,{children:[
3
- /* @__PURE__ */$(r,{icon:/* @__PURE__ */$(g,{size:15}),title:Y.title,context:C?Y.contextBlocks:Y.contextAll,actions:/* @__PURE__ */$(c,{label:Y.done,description:Y.doneDescription,onClick:H}),onHide:J}),
4
- /* @__PURE__ */B("div",{className:"sf-addside sf-scroll",children:[
5
- /* @__PURE__ */$(k,{groups:q,session:T,itemFor:e=>N(_(e)??{kind:"section",type:e}),onInsert:e=>{const t=_(e);t&&I(t)},at:F,hint:C?Y.hintBlocks:Y.hint,searchLabel:C?Y.searchBlocks:Y.searchSections,readOnly:R,words:Z}),A&&!C?A:null]})]})}export{x as AddSidePanel,L as blockKey,v as sectionKey,V as templateKey};
@@ -1 +0,0 @@
1
- var e={reload:"Reload the saved version",takeOver:"Take over editing",takeBack:"Take it back",viewReadOnly:"View read-only",savedByYou:({noun:e,when:n})=>`You saved this ${e} in another tab or window ${n}.`,savedByOther:({name:e,noun:n,when:i})=>`${e} saved this ${n} ${i}.`,conflictBody:"Your last change was not saved. It is still on screen here, but this copy is out of date — copy anything you need, then reload to carry on from the saved version.",takeOverWhileDeciding:"Nobody else can save while you decide. Nothing on your screen is lost.",tookOver:({name:e,noun:n,when:i})=>`${e} took over this ${n} ${i}.`,tookOverBody:"Your changes since then are still on screen but are no longer being saved.",viewingOnly:"Viewing only.",viewingOnlyBody:({name:e,noun:n,seen:i})=>`${e} is editing this ${n} (last seen ${i}). Nothing you change here is saved.`,editing:({name:e,noun:n})=>`${e} is editing this ${n}`,editingBody:({seen:e})=>`(last seen ${e}). Nothing you change here will be saved while they are in it.`,takeOverTold:"They are told straight away and stop being able to save."},n={device:"Preview device",upLevel:"Go up one level",upLevelTo:({label:e,name:n})=>`${e} to ${n}`,resize:"Drag to resize · double-click to reset",mediaLibrary:"Media library",mediaChoose:({kind:e})=>`Choose ${e}`,mediaFor:({field:e})=>`For ${e}`,mediaKinds:{image:"image",video:"video",svg:"SVG logo"},mediaCancel:"Cancel",mediaKeep:({kind:e})=>`Keep the current ${e}`,hidePanel:"Hide panel",hidePanelLabel:({side:e})=>`Hide the ${e} panel`,showPanel:"Show panel",showPanelLabel:({side:e})=>`Show the ${e} panel`};export{n as DEFAULT_CHROME_WORDS,e as DEFAULT_NOTICE_WORDS};