efficient-easel 0.105.0 → 0.106.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 (79) hide show
  1. package/README.md +33 -0
  2. package/dist/chunk-2GVCAIPX.js +1 -0
  3. package/dist/chunk-37OCQYNX.js +65 -0
  4. package/dist/chunk-6WH7FA2M.js +9 -0
  5. package/dist/chunk-C6BJB5AC.js +2 -0
  6. package/dist/{chunk-TTJ54QGG.js → chunk-DX4XELD6.js} +6 -6
  7. package/dist/{chunk-PQXIFBDY.js → chunk-E2O2MRZR.js} +1 -1
  8. package/dist/{chunk-V4LF7D4F.js → chunk-FS5BLARH.js} +1 -1
  9. package/dist/{chunk-QH6LCNOX.js → chunk-I6T4TZ5Q.js} +1 -1
  10. package/dist/{chunk-NYKIQJT2.js → chunk-JWMNPRTT.js} +1 -1
  11. package/dist/{chunk-YN4KND5F.js → chunk-LY4K2ECT.js} +1 -1
  12. package/dist/chunk-M7N2V4TG.js +2 -0
  13. package/dist/chunk-MHKBLPQ2.js +1 -0
  14. package/dist/chunk-MS4QRBJ6.js +5 -0
  15. package/dist/chunk-ND55LTCA.js +5 -0
  16. package/dist/{chunk-TLZG2FCF.js → chunk-PBSEUZD6.js} +1 -1
  17. package/dist/{chunk-RQHC4TD6.js → chunk-UEVTQBM7.js} +3 -3
  18. package/dist/{chunk-BXZ6WLHC.js → chunk-VCQVNPTG.js} +16 -16
  19. package/dist/{chunk-SARZN4M7.js → chunk-VINYARYJ.js} +1 -1
  20. package/dist/chunk-WTMHT7BI.js +1 -0
  21. package/dist/chunk-Z6SOLDWV.js +1 -0
  22. package/dist/copy/index.js +9 -9
  23. package/dist/drag/index.d.ts +10 -0
  24. package/dist/drag/index.js +1 -1
  25. package/dist/easel/index.d.ts +10 -1
  26. package/dist/easel/index.js +1 -1
  27. package/dist/fields/index.js +1 -1
  28. package/dist/{host-BQ_b9Qzk.d.ts → host-CiuzZJXj.d.ts} +11 -1
  29. package/dist/index.js +1 -1
  30. package/dist/screen/components/AddBlockRow.js +1 -1
  31. package/dist/screen/components/AddSidePanel.js +1 -1
  32. package/dist/screen/components/MediaSidePanel.d.ts +1 -1
  33. package/dist/screen/components/MediaSidePanel.js +1 -1
  34. package/dist/screen/components/NodeContextMenu.d.ts +19 -1
  35. package/dist/screen/components/NodeContextMenu.js +1 -1
  36. package/dist/screen/components/PageEditGuardNotices.js +1 -1
  37. package/dist/screen/components/ScreenChrome.js +1 -1
  38. package/dist/screen/components/ScreenDocumentContext.d.ts +1 -1
  39. package/dist/screen/components/ScreenDocumentContext.js +1 -1
  40. package/dist/screen/components/ScreenMount.d.ts +1 -1
  41. package/dist/screen/components/ScreenMount.js +1 -1
  42. package/dist/screen/components/ScreenStoreProvider.d.ts +1 -1
  43. package/dist/screen/components/ScreenStoreProvider.js +1 -1
  44. package/dist/screen/components/SectionScreenShell.js +16 -16
  45. package/dist/screen/components/panel-widths.d.ts +15 -1
  46. package/dist/screen/components/panel-widths.js +1 -1
  47. package/dist/screen/components/usePartBridge.d.ts +1 -1
  48. package/dist/screen/components/usePartBridge.js +1 -1
  49. package/dist/screen/index.d.ts +2 -2
  50. package/dist/screen/index.js +1 -1
  51. package/dist/screen/lib/document-addressing.d.ts +1 -1
  52. package/dist/screen/lib/host.d.ts +1 -1
  53. package/dist/screen/lib/key-scope.d.ts +31 -2
  54. package/dist/screen/lib/key-scope.js +1 -1
  55. package/dist/screen/lib/media-panel.d.ts +1 -1
  56. package/dist/screen/lib/media-picker.d.ts +1 -1
  57. package/dist/screen/lib/puck/section-doc.d.ts +5 -1
  58. package/dist/screen/lib/puck/section-doc.js +1 -1
  59. package/dist/screen/lib/puck/style-clipboard.d.ts +1 -1
  60. package/dist/screen/lib/puck/use-section-ops.d.ts +14 -12
  61. package/dist/screen/lib/puck/use-section-ops.js +1 -1
  62. package/dist/screen/lib/screen-parts.d.ts +38 -2
  63. package/dist/screen/lib/screen-parts.js +1 -1
  64. package/dist/screen/screen.css +21 -0
  65. package/dist/screen/words.d.ts +17 -1
  66. package/dist/screen/words.js +1 -1
  67. package/dist/strings/catalogue.js +1 -1
  68. package/dist/strings/index.js +1 -1
  69. package/package.json +1 -1
  70. package/dist/chunk-4XQUWGIV.js +0 -65
  71. package/dist/chunk-53G47SWO.js +0 -1
  72. package/dist/chunk-7FBDZTUD.js +0 -2
  73. package/dist/chunk-7V5WZ46F.js +0 -2
  74. package/dist/chunk-IE4GFYKO.js +0 -1
  75. package/dist/chunk-N7VRF7PR.js +0 -5
  76. package/dist/chunk-P67FP7PG.js +0 -9
  77. package/dist/chunk-VSHV6KJQ.js +0 -5
  78. package/dist/chunk-VSOP4GUM.js +0 -1
  79. package/dist/chunk-ZTTWFAAC.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "efficient-easel",
3
- "version": "0.105.0",
3
+ "version": "0.106.0",
4
4
  "description": "Efficient Easel: the EFFICIENT editors' shared engine and chrome: the saved document as pure functions, the published renderer, and the editor frame, panels, Layers tree, text grammar and type-in-place box. Published as editor-shell up to 0.66.0 and as efficient-editor up to 0.95.0.",
5
5
  "license": "UNLICENSED",
6
6
  "author": "Efficient Pty Ltd",
@@ -1,65 +0,0 @@
1
- import{dedupeSlotChildren as e}from"./chunk-26OOWIJJ.js";import{styleClipboardOf as n}from"./chunk-SQTY6CJD.js";import{markedTreeNodeId as t,revealSelectedTreeRow as o,sameSelector as r}from"./chunk-FGNR22NY.js";import{cloneNodeWithFreshIds as i}from"./chunk-IE4GFYKO.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}from"./chunk-VSOP4GUM.js";import{SlotChildActionsProvider as m}from"./chunk-KCBEE2MC.js";import{UiIcon as g}from"./chunk-5MZ3RNQQ.js";import{DEFAULT_PANEL_W as y,PANEL_WIDTHS_KEY as k,clampPanelWidth as S}from"./chunk-ZTTWFAAC.js";import{usePartBridge as v}from"./chunk-YN4KND5F.js";import{useSectionOps as x}from"./chunk-TLZG2FCF.js";import{useNodeClipboard as b,useNodeContextMenu as w}from"./chunk-7FBDZTUD.js";import{PageEditGuardNotices as z}from"./chunk-V4LF7D4F.js";import{useScreenDocument as B}from"./chunk-7V5WZ46F.js";import{requestMediaPick as C}from"./chunk-KG7RJWOK.js";import{heldStyle as N,styleShortcut as $}from"./chunk-57DJOKXT.js";import{AddChildRow as T}from"./chunk-3QVB4AG2.js";import{AddSidePanel as O}from"./chunk-N7VRF7PR.js";import{SidePanelHead as I,PanelShowStrip as P}from"./chunk-5ZBBXZPV.js";import{MediaSidePanel as A}from"./chunk-NYKIQJT2.js";import{useScreenSaveSwitch as R,useScreenNodeKeys as j,useScreenPinned as M,useScreenDocumentLabel as E,useScreenCanvasFrame as F,useScreenInspectorPanel as V,useScreenDevices as L,useScreenPickFollowsSelection as D,useScreenLeftView as G,useScreenAdd as H,SELECTION_MODE as U,sameInspectorMode as J,useScreenBridges as W,useScreenBlockRules as Y,useScreenBlockLook as K,useScreenNotify as Q,useScreenCanvasHead as Z,isSlotMode as _,useScreenStyleClipboard as X,useScreenDocumentPass as q,useScreenCanvasDrag as ee,ScreenCanvasTargetProvider as ne,isPinnedFirst as te,isPinnedLast as oe,screenSlotsOf as re}from"./chunk-VSHV6KJQ.js";import{ROOT_ZONE as ie,blockNodeActions as le,TREE_MAX_DEPTH as se,childSlotsOf as de,slotFieldsOf as ce,slotChildrenIn as ae,nestsInTree as pe,newNodeId as ue}from"./chunk-PLVEGYK6.js";import{useMediaPanel as fe,usePanelPick as he,useCancelPanelPick as me}from"./chunk-R6WTQWAC.js";import{useEaselHost as ge,useHostEscape as ye}from"./chunk-U3JP4VGF.js";import{DEFAULT_SCREEN_WORDS as ke}from"./chunk-PQXIFBDY.js";import{useEasel as Se}from"./chunk-P67FP7PG.js";import{TreeRow as ve,Subtree as xe,LayersTree as be,TreeGroupLabel as we,TreeRowAction as ze,TreeSeam as Be}from"./chunk-ZFDCDJNZ.js";import{useNodeOps as Ce,toItemSelector as Ne}from"./chunk-D2BCHTQR.js";import{saveIndicator as $e}from"./chunk-H6DDIBQ4.js";import{EaselTopBar as Te,TopBarRail as Oe,TopBarCluster as Ie,EaselIconButton as Pe,TopBarDivider as Ae,DeviceSwitch as Re,InspectorIconButton as je,PanelResizeHandle as Me,MAX_PANEL_W as Ee,MIN_PANEL_W as Fe,panelWidthVars as Ve,SaveState as Le,SaveStateToggle as De}from"./chunk-YC4TB3CJ.js";import{useWords as Ge}from"./chunk-MFIRYGHW.js";import{CanvasDragLayer as He}from"./chunk-TTJ54QGG.js";import{createDragSession as Ue,useTreeDrag as Je,gapToMoveIndex as We}from"./chunk-67GNT6PF.js";import{useCanvasFrame as Ye,BLOCK_SELECTOR as Ke,useCanvasEvent as Qe}from"./chunk-PAELDYYS.js";import{LayersIcon as Ze,UndoIcon as _e,RedoIcon as Xe,TrashIcon as qe,MediaIcon as en,DuplicateIcon as nn}from"./chunk-L5KW4HG5.js";import{zoneKey as tn,ROOT_ID as on,ROOT_SLOT as rn,parseZoneKey as ln,DataError as sn}from"./chunk-KRXQM65X.js";import{useRef as dn,useMemo as cn,useState as an,useEffect as pn,useCallback as un,useLayoutEffect as fn,Fragment as hn}from"react";import{jsx as mn,jsxs as gn,Fragment as yn}from"react/jsx-runtime";function kn({saveState:e,notSaving:n,readOnlyReason:t,toggle:o,onToggle:r,onRetry:i}){if(null!==t)/* @__PURE__ */return mn(Le,{tone:"off",label:t,role:"status"});if(n)/* @__PURE__ */
2
- return mn(Le,{tone:e.pending?"off-unsaved":"off",label:"Not saving — see the notice above",role:"status"});const{tone:l,label:s}=$e(e),d=e.failed&&!e.paused&&/* @__PURE__ */mn("button",{type:"button",className:"es-btn-ghost",onClick:i,children:"Retry now"});/* @__PURE__ */
3
- return gn(yn,o?{children:[
4
- /* @__PURE__ */mn(De,{pressed:e.paused,onToggle:r,title:e.paused?"Auto-save is off — click to turn it back on (saves your held edits)":"Auto-save is on — click to pause it",children:/* @__PURE__ */mn(Le,{tone:l,label:s})}),d]}:{children:[
5
- /* @__PURE__ */mn(Le,{tone:l,label:s,role:"status"}),d]})}function Sn({expand:e}){/* @__PURE__ */
6
- return mn("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.9,strokeLinecap:"round",strokeLinejoin:"round",children:/* @__PURE__ */gn(yn,e?{children:[
7
- /* @__PURE__ */mn("path",{d:"M8 9l4-4 4 4"}),
8
- /* @__PURE__ */mn("path",{d:"M8 15l4 4 4-4"})]}:{children:[
9
- /* @__PURE__ */mn("path",{d:"M8 4l4 4 4-4"}),
10
- /* @__PURE__ */mn("path",{d:"M8 20l4-4 4 4"}),
11
- /* @__PURE__ */mn("path",{d:"M5 12h14"})]})})}var vn="__rungs";var xn="screen:band",bn={duplicate:!0,delete:!0};function wn(){const $e=ge(),{target:Le,docId:De,capabilities:wn,currentSlug:zn,siteId:Bn,onPublish:Cn,saveState:Nn,saveConflict:$n,retrySave:Tn,toggleAutoSave:On,readOnly:In,readOnlyReason:Pn=null}=B(),An=R(),Rn=j(),{mediaEditing:jn,hasEditGuard:Mn,hasPinnedChrome:En}=wn,{appState:Fn,dispatch:Vn,history:Ln,selectedItem:Dn,getSelectorForId:Gn,config:Hn}=Se(e=>e),Un=M(),{first:Jn,firstGroup:Wn,lastGroup:Yn,isSectionGroup:Kn,sectionGroupZone:Qn,panelOf:Zn}=Un,_n=Zn(Jn),Xn=e=>te(Un,e),qn=e=>oe(Un,e),et="node"===Un.firstRow,nt=Un.band??null,tt=Ge("screen",ke),ot=E()??`/${zn}`,rt=F(),it=V(),lt=x({readOnly:In}),st=dn(null),dt=cn(()=>({...lt,select:e=>{st.current=e,lt.select(e)}}),[lt]),ct=Fn.ui,at=ct.leftSideBarVisible,pt=ct.rightSideBarVisible,{options:ut,widths:ft,initial:ht,fluid:mt,fit:gt}=L(),[yt,kt]=an(ht),St=fe(),vt=jn&&null!==St,xt=he(),bt=me();D(Dn?.props.id);const{read:wt,write:zt,forSelection:Bt}=G(),[Ct,Nt]=an(wt);pn(()=>{zt(Ct)},[Ct]);const[$t,Tt]=an(0),Ot=dn(null),It=dn(null),Pt=Ye(It,{readySelector:Ke}),At=f(It);h(It);const[Rt,jt]=an(!1),Mt=dn(!1),Et=dn(!1),[Ft,Vt]=an(null),Lt=H(),Dt=e=>Vt(null===e?null:{zone:ie,index:e}),[Gt,Ht]=an([]),[Ut,Jt]=an(U),Wt="puck"===Ut.kind,Yt=Rt&&!Ft&&Lt.railTarget?Lt.railTarget(Fn.data,{node:Dn??null,mode:Ut}):null,Kt=Yt?{zone:tn(Yt),index:Yt.index}:null,Qt=Ft??Kt,Zt=Qt&&Qt.zone===ie?Qt.index:null,_t=t(Ut,Dn?.props.id),[Xt,qt]=an(null);pn(()=>{Xt&&(o(),qt(null))},[Xt]);const eo=dn(Gn);eo.current=Gn;const no=un((e,{scroll:n})=>{Nt(n=>Bt(e,n)),n&&qt(e);const t=[];let o=e;for(let e=0;e<4;e++){const e=eo.current(o)?.zone;if(!e||!e.includes(":"))break;const n=e.split(":")[0];t.push(n),t.push(e),o=n}0!==t.length&&Oo(e=>{if(t.every(n=>!e.has(n)))return e;const n=new Set(e);return t.forEach(e=>n.delete(e)),n})},[]),to=dn(null);pn(()=>{const e=to.current;to.current=null;const n=null==Dn?.props.id?null:String(Dn.props.id);Jt(e&&e.id===n?e.mode:Zn(Dn?.type)??U);const t=Dn?.props.id,o=st.current;if(st.current=null,!t)return;const i=Gn(t);no(String(t),{scroll:!r(o,i??null,ie)})},[Dn?.props.id,no]);const oo=un(e=>{Jt(n=>J(n,e)?n:e),Vn({type:"setUi",ui:{rightSideBarVisible:!0}})},[Vn]),ro=dn(()=>{});ro.current=(e,n)=>{const t=e?zr(e.zone??ie)[e.index]?.props.id:null,o=null==t?null:String(t),r=null==Dn?.props.id?null:String(Dn.props.id);Jt(e=>J(e,n)?e:n),o!==r&&(to.current={id:o,mode:n},dt.select(e))};const io=un((e,n)=>ro.current(e,n),[]),lo={kind:Ut.kind,mode:Ut,open:oo,show:e=>Jt(e),reveal:()=>{pt||Vn({type:"setUi",ui:{rightSideBarVisible:!0}})},select:io},so=W(lo,{data:Fn.data,selected:Dn??null,zoneOf:e=>Gn(e)?.zone,readOnly:Boolean(In),select:e=>{Jt(U),dt.select({index:e})},replace:(e,n)=>dt.replaceComponent(ie,e,n),scrollTo:e=>Qr(e)},{device:yt,refreshes:$t},{setView:Nt,reveal:()=>{at||Vn({type:"setUi",ui:{leftSideBarVisible:!0}})}}),co=so.pinnedSource??!1,ao=so.resolveLeftView?so.resolveLeftView(Ct,vt):"media"===Ct&&vt?Ct:"sections",po=Y(),{isLockedBlock:uo,duplicateBlocked:fo,nestDepth:ho,newSectionNode:mo,canAddTo:go,blockIsOffered:yo}=po,ko=K(),{labelAtLevel:So,Icon:vo,useProducts:xo}=ko,bo=ko.rowName?(e,n,t)=>ko.rowName(e,n,t):void 0,wo=un(e=>{Vn({type:"setUi",ui:{rightSideBarVisible:!0}}),a(e),no(e,{scroll:!0})},[Vn,no]),{selectNode:zo,openPartId:Bo}=v({mode:Ut,setMode:Jt,onOpenPart:wo}),[Co,No]=an(null);ye(null!==Co,()=>No(null));const $o="sf-editor-collapsed-sections",[To,Oo]=an(()=>{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}});pn(()=>{try{window.localStorage.setItem($o,JSON.stringify([...To]))}catch{}},[To]);const[Io,Po]=an(()=>{if("undefined"==typeof window)return{...y};try{const e=window.localStorage.getItem(k);if(!e)return{...y};const n=JSON.parse(e);return{left:S(Number(n.left)||y.left),right:S(Number(n.right)||y.right)}}catch{return{...y}}});pn(()=>{const e=setTimeout(()=>{try{window.localStorage.setItem(k,JSON.stringify(Io))}catch{}},300);return()=>clearTimeout(e)},[Io]);const Ao=un((e,n)=>Po(t=>{const o="function"==typeof n?n(t[e]):n;return t[e]===o?t:{...t,[e]:o}}),[]),Ro=un(e=>Ao("left",e),[Ao]),jo=un(e=>Ao("right",e),[Ao]),Mo=e=>To.has(e),Eo=e=>Oo(n=>{const t=new Set(n);return t.has(e)?t.delete(e):t.add(e),t}),Fo=dn(!1),Vo=dn(null);pn(()=>{if(Fo.current&&!Rt){const e=Vo.current,n=e&&e.isConnected&&!e.closest('[aria-hidden="true"]')?e:null;(n??It.current?.querySelector(`button[aria-label="${CSS.escape(tt.add.title)}"]`))?.focus(),Vo.current=null}Fo.current=Rt},[Rt]),pn(()=>{if(!Rt||!At)return;const e=e=>{"Escape"===e.key&&ri()};return At.addEventListener("keydown",e),()=>At.removeEventListener("keydown",e)},[Rt,At]),ye(Rt,()=>ri()),pn(()=>{!at&&Rt&&(jt(!1),Vt(null),Mt.current=!1)},[at]),pn(()=>{if(!xt)return Et.current&&Vn({type:"setUi",ui:{leftSideBarVisible:!1}}),void(Et.current=!1);Rt&&(jt(!1),Vt(null),Et.current=Mt.current,Mt.current=!1),at||(Et.current=!0,Vn({type:"setUi",ui:{leftSideBarVisible:!0}}))},[xt]),pn(()=>{!at&&xt&&(Et.current=!1,bt())},[at]),pn(()=>{if(!xt||!At)return;const e=e=>{"Escape"===e.key&&bt()};return At.addEventListener("keydown",e),()=>At.removeEventListener("keydown",e)},[xt,At]),ye(null!==xt,()=>bt());const Lo=Q(),[Do,Go]=an(null),[Ho,Uo]=an(0),Jo=dn(null),Wo=(e,n="success")=>{Lo?Lo(e,"error"===n?"error":"info"):(Go({msg:e,tone:n}),Uo(e=>e+1),Jo.current&&clearTimeout(Jo.current),Jo.current=setTimeout(()=>Go(null),"error"===n?3200:1900))};pn(()=>()=>{Jo.current&&clearTimeout(Jo.current)},[]);const Yo=dn(null),[Ko,Qo]=an(0),[Zo,_o]=an(0),Xo=Z(),qo=dn(null),er=e=>Math.max(0,e.clientHeight-(qo.current?.offsetHeight??0));pn(()=>{const e=Yo.current;if(!e)return;const n=()=>{Qo(e.clientWidth),_o(er(e))};n();const t=new ResizeObserver(n);return t.observe(e),qo.current&&t.observe(qo.current),()=>t.disconnect()},[]),fn(()=>{Yo.current&&(Qo(Yo.current.clientWidth),_o(er(Yo.current)))},[Io,at,pt]);const nr=yt===mt?Ko>0?Ko:ft[mt]:ft[yt],tr=Ko>0?Math.min(Ko/nr,"shrink"===gt?1:2):1,or=nr*tr,rr=Ko>0&&or>Ko+1,ir={width:or,height:Zo||"100%",flex:"none",position:"relative"},lr={width:nr,height:Zo?Zo/tr:"100%",maxHeight:"none",transform:1!==tr?`scale(${tr})`:void 0,transformOrigin:"top left"},sr=()=>Vn({type:"setUi",ui:{leftSideBarVisible:!at}}),dr=()=>Vn({type:"setUi",ui:{rightSideBarVisible:!pt}}),cr=e=>{Rt&&(jt(!1),Vt(null),Mt.current=!1,at&&Ct===e)||xt&&(Et.current=!1,bt(),at&&Ct===e)||(at&&Ct===e?sr():(Nt(e),at||Vn({type:"setUi",ui:{leftSideBarVisible:!0}})))},ar=()=>{C($e,{accept:"image/*",title:"Media library"})},pr=()=>{Jt(U),dt.select(null),u()},ur=()=>{Jt(_n??U),pt||Vn({type:"setUi",ui:{rightSideBarVisible:!0}})},fr=Fn.data.content??[],hr=()=>{const e=fr.findIndex(Xn),n=fr.findIndex(qn);return{floor:e>=0?e+1:0,cap:n>=0?n:fr.length}},mr=Hn,gr=b(),yr=Ce({data:Fn.data,config:mr,readOnly:Boolean(In),clipboard:gr,afterRemove:"none",stepBounds:(e,n)=>{if(e.parentId!==on||e.slot!==rn)return{min:0,max:n-1};const{floor:t,cap:o}=hr();return{min:t,max:o-1}},commit:(e,{select:n})=>{if(void 0!==n){Jt(U);const t="node"===n?.kind?Ne(e,mr,n):null;dt.select(t&&t.zone===ie?{index:t.index}:t)}dt.commitDocument(e)}}),kr=e=>Hn.components[e]?.label??e,Sr=un(e=>Hn.components[e]?.defaultProps??{},[Hn]),vr=e=>So(e,"section",kr(e)),xr=e=>l({type:e.type,props:e.props??{}},vr(e.type),bo),{nodeAddresses:br,zoneItems:wr}=cn(()=>{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>=se)return;const s=/* @__PURE__ */new Map;for(const{child:e,zone:t}of de(Hn,n))s.set(t,[...s.get(t)??[],e]);for(const[e,n]of s)t(n,e,i+1)})};return t(fr,ie,0),{nodeAddresses:e,zoneItems:n}},[fr,Hn]),zr=un(e=>wr.get(e)??[],[wr]),Br=e=>{const n=br.get(e);return n?zr(n.zone)[n.index]:void 0},Cr=e=>re(po,Hn,e),Nr=e=>{if(!po.slotsOf||e===ie)return null;const n=e.lastIndexOf(":");if(n<=0)return null;const t=Br(e.slice(0,n));if(!t)return null;const o=Cr(t).filter(e=>e.rung),r=o.findIndex(t=>t.slot===e.slice(n+1));return r<0?null:{node:t,slot:o[r],position:r}},$r=(()=>{if(!_(Ut))return null;const e=`${Ut.nodeId}:${Ut.slot}`;return Nr(e)?.slot.panel===Ut.kind?e:null})(),Tr=dn(null);pn(()=>{const e=Tr.current;if(Tr.current=null,!$r||!_(Ut))return;const n=Ut.nodeId;no(n,{scroll:e!==$r}),Oo(e=>{if(!e.has(n))return e;const t=new Set(e);return t.delete(n),t})},[Ut]);const Or=(e,n,t)=>{const o=String(e.props.id);if(!n.panel)return void(e=>{const n=br.get(e);n&&(n.zone===ie?Zr(n.index):Bi(n.zone,n.index,e,Br(n.zone.slice(0,n.zone.lastIndexOf(":")))?.type??""))})(o);const r={kind:n.panel,nodeId:o,slot:n.slot},i=`${o}:${n.slot}`;t&&$r!==i&&(Tr.current=i),io(null,r),pt||Vn({type:"setUi",ui:{rightSideBarVisible:!0}}),Qr(o)},Ir=(e,n,t)=>{const o=`${e}:${n}`;if(Oo(n=>{if(!n.has(o)&&!n.has(e))return n;const t=new Set(n);return t.delete(o),t.delete(e),t}),!t)return;$r!==o&&(Tr.current=o);io(null,{kind:t,nodeId:e,slot:n})},Pr=(e,n,t)=>{if(In||!po.moveSlot)return;const o=Br(e),r=o?Cr(o).filter(e=>e.rung):[],i=r[n];if(!i)return;const l={parentId:e,slot:vn,index:n},s=We(l,{...l,index:Math.min(Math.max(t,0),r.length)});if(s===n)return;const d=po.moveSlot(e,n,s);"string"==typeof d&&Ir(e,d,i.panel)},Ar=xo(),Rr=cn(()=>{const e=/* @__PURE__ */new Map;for(const n of Ar??[])e.set(n.slug,n.name);return e},[Ar]),jr=e=>s(e,kr,ko.plainText,e=>Rr.get(e),ko.rowName),Mr=(e,n)=>{const t=Hn.components[e.type]?.fields,o=n===ie||Hi(n)?"section":"block",r=n===ie&&(Xn(e)||qn(e)||Kn(e.type)),i="block"===o?d(t):r?null:c(t);return ko.renamePropOf?ko.renamePropOf(e,o,i):i},Er=(e,n,t,o)=>{if(!(Co?.zone===e&&Co.index===n))return;const r=(t,o)=>{No(null),o&&((e,n,t)=>{const o=zr(e)[n];if(!o)return;const r=Mr(o,e);r&&dt.replaceComponent(e,n,{...o,props:{...o.props,[r]:t.trim()}})})(e,n,t)};/* @__PURE__ */
13
- return mn("input",{className:"es-tree-rename",defaultValue:o,autoFocus:!0,"aria-label":"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)},Fr=n(X()),Vr=Fr.scope({target:Le,siteId:Bn,docId:De}),Lr=Hn,Dr=(e,n)=>n===ie?vr(e):kr(e),Gr=(e,n,t)=>{const o=Fr.plan(Vr,t,Dr(t.type,e),Lr);o&&(o.changed&&dt.replaceComponent(e,n,{...t,props:{...o.props,id:t.props.id}}),Wo(o.message))},Hr=w({nodesIn:zr,nodeAt:(e,n)=>zr(e)[n]??null,labelOf:(e,n)=>n===ie?vr(e):kr(e),renamePropOf:Mr,beginRename:(e,n)=>No({zone:e,index:n}),history:{hasPast:Ln.hasPast,hasFuture:Ln.hasFuture,back:()=>Ln.back(),forward:()=>Ln.forward()},openAddSection:()=>{dt.select(null),ti(null)},openPageSettings:()=>{dt.select(null),Jt(U)},collapseAll:()=>Oo(new Set(zr(ie).map(e=>String(e.props.id)))),onPasteRefused:e=>Wo(e?tt.pasteRefused({name:e.label}):"Your browser won’t let us read the clipboard — press ⌘V","error"),canPasteAt:(e,n)=>Ji(e,n),menuRows:so.menuRows,isLocked:e=>uo(e.type),duplicateBlocked:e=>fo(Fn.data,e),permits:e=>le(Hn,e.type),canAddTo:go,nodeOps:yr,isPinned:(e,n)=>n===ie&&(Xn(e)||qn(e)),sectionBand:hr,openAddInside:(e,n)=>{e===ie?Zr(n):dt.select({zone:e,index:n}),ti(null)},locate:e=>br.get(e)??null,rowNameOf:(e,n)=>n===ie?xr(e):jr(e),selectAt:(e,n,t,o)=>{e===ie?Zr(n):Bi(e,n,t,o??"")},slotRung:e=>{const n=Nr(e);return n?.slot.panel?{label:n.slot.label,select:()=>Or(n.node,n.slot,!1)}:null},style:{held:()=>N(Vr),canCopy:e=>Fr.rows(Lr,e).some(e=>!1!==e.counted),copy:(e,n)=>Fr.copy(Vr,e,Dr(e.type,n),Lr),paste:(e,n,t)=>Gr(e,n,t)},keys:Rn?{target:At,selected:()=>{const e=Fn.ui.itemSelector;return e?{zone:e.zone??ie,index:e.index}:null},held:()=>gr.get(),readOnly:Boolean(In),onDone:({done:e,name:n})=>{"copied"===e&&Wo(tt.copied({name:n}))}}:void 0},Pt),Ur=dn({copy:(e,n)=>{},paste:(e,n,t)=>{},at:()=>null,readOnly:!1});pn(()=>{Ur.current={copy:(e,n)=>Fr.copy(Vr,e,Dr(e.type,n),Lr),paste:Gr,at:()=>{const e=Fn.ui.itemSelector;if(!e)return null;const n=e.zone??ie,t=zr(n)[e.index];return t?{zone:n,index:e.index,node:t}:null},readOnly:Boolean(In)}});const Jr=un(e=>{const n=$(e);if(!n)return;const t=Ur.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))},[]);pn(()=>{if(!At)return;const e=e=>Jr(e);return At.addEventListener("keydown",e),()=>At.removeEventListener("keydown",e)},[Jr,At]),Qe(Pt,"keydown",Jr);const Wr=fr.map(e=>e.props.id).join("|");pn(()=>{const e=Pt?.document??null,n=Pt?.window??null;let t=0;const o=[],r=()=>{if(!e)return void Ht(e=>e.length?[]:e);const n=fr.findIndex(qn),t=n>=0?n:fr.length,o=n=>{const t=fr[n]?.props?.id;if(null==t)return null;const o=e.querySelector(`[data-puck-component="${CSS.escape(String(t))}"]`);return o?o.getBoundingClientRect():null},r=[];for(let e=1;e<=t;e++){const n=o(e),t=o(e-1);(n||t)&&r.push({top:Math.round(n?n.top:t.bottom),index:e})}Ht(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)return!1;return!0}(e,r)?e:r)},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()}},[Pt,Wr,yt,tr,at,pt,Dn?.props.id]);const Yr=Pt?.document??null,Kr=Pt?.window??null;pn(()=>{const e=Ot.current;if(!e||!Yr||!Kr)return;const n=[],t=()=>{const n=Yr.querySelector(`[data-puck-component="${CSS.escape(e.id)}"]`);if(!n)return!1;const t=n.getBoundingClientRect().top-e.offset;return Math.abs(t)>1&&Kr.scrollTo({left:Kr.scrollX,top:Kr.scrollY+t,behavior:"instant"}),!0};return Ot.current=null,t()&&n.push(setTimeout(t,150),setTimeout(t,450)),()=>n.forEach(clearTimeout)},[Yr,Kr]);const Qr=e=>{so.holdCanvasOn?so.holdCanvasOn(e):a(e)},Zr=e=>{Jt(U),dt.select({index:e}),so.sectionPressed?.(fr[e]);const n=fr[e]?.props?.id;n&&Qr(n)},_r=e=>{const{floor:n,cap:t}=hr(),o=e=>Math.min(Math.max(n,e),t);if("number"==typeof e)return o(e);const r=Dn&&Ut.kind!==_n?.kind?fr.findIndex(e=>e.props.id===Dn.props.id):-1;return o(r>=0?r+1:t)},Xr=(e,n)=>{const{floor:t,cap:o}=hr(),r=Math.min(Math.max(n,t),o),i=e<r?r-1:r;return i===e?{moved:!1,dest:e}:(dt.reorderComponent(ie,e,i),dt.select({index:i}),{moved:!0,dest:i})},qr=(e,n,t)=>{Jt(U),dt.select({index:e}),a(n),Wo(`Added “${t}” section`)},ei=(e,n)=>{const t=_r(n),o=mo(e,{nodeDefaults:Sr,newNodeId:ue,sectionLabel:vr,blockIsOffered:yo}),r=o?dt.insertNode(ie,t,o):dt.insertSection(e,t);return qr(t,r,vr(e)),t},ni=(e,n,t)=>{const o=_r(t),r=dt.insertNode(ie,o,n);return qr(o,r,e),o},ti=e=>oi(ie,e),oi=(e,n)=>{Vo.current=document.activeElement??null,xt&&(Mt.current=Et.current,Et.current=!1,bt()),Vt(null===n?null:{zone:e,index:n}),jt(!0),at||(Mt.current=!0,Vn({type:"setUi",ui:{leftSideBarVisible:!0}}))},ri=()=>{jt(!1),Vt(null),Mt.current&&Vn({type:"setUi",ui:{leftSideBarVisible:!1}}),Mt.current=!1},ii=(e,n,t)=>{if("section"===e.kind)dt.insertComponent(n,e.type,t);else{if("template"!==e.kind)return;dt.insertNode(n,t,i(e.template.node))}Jt(U),dt.select({index:t,zone:n})},li=e=>n=>{n.target.closest(".es-tree-select")||e()},si=()=>so.editPinnedSource?.(),di=(e,n,t)=>{const o=zr(e)[n];return o&&!le(Hn,o.type).delete?null:/* @__PURE__ */mn(ze,{kind:"delete",label:`Delete ${t}`,onClick:()=>((e,n)=>{const t=zr(e)[n]?.props?.id;null!=t&&yr.remove(String(t))})(e,n),children:/* @__PURE__ */mn(qe,{size:15})})},ci=e=>ko.rowPreview?.(e)||void 0,ai=e=>ko.rowMarks?.(e)??void 0,pi=(e,n,t)=>ko.rowActions?.(e,n,t)??null,ui=(e,n,t,o)=>{const r=Boolean(t.props._hidden);/* @__PURE__ */
14
- return mn(ze,{kind:"eye",label:r?`Show ${o}`:`Hide ${o}`,onClick:()=>hi(e,n,t),children:/* @__PURE__ */mn(g,r?{name:"eye-off",size:14}:{name:"eye",size:14})})},fi=e=>{const n=vr(fr[e]?.type??""),t=n?tt.addSectionBefore({name:n}):tt.addSectionHere;return pl(ie,e,()=>ti(e),t)},hi=(e,n,t)=>{dt.replaceComponent(e,n,{...t,props:{...t.props,_hidden:!t.props._hidden}})},mi=e=>ce(Hn,e),gi=e=>de(Hn,e),yi=e=>po.slotsOf?Cr(e).map(n=>({slot:n.slot,rung:n.rung?n:null,kids:ae(e,n.slot)})):[{slot:null,rung:null,kids:gi(e)}],ki=e=>po.slotsOf?yi(e).flatMap(e=>e.kids):gi(e),Si=e=>Boolean(po.slotsOf)&&Cr(e).some(e=>e.rung),vi=(e,n,t)=>null===t?void 0===n?go(e):go(e,n):go(e,n,t),xi=(e,n,t)=>{const o=pe(Hn,e.type,n)&&(t||ki(e).length>0||Si(e));return{collapsible:o,folded:o&&Mo(String(e.props.id))}},bi=(e,n,t)=>yi(e).flatMap(o=>{const r=o.rung?n+1:n,i=o.kids.flatMap(({child:e})=>xi(e,r,t(e.type)).collapsible?[String(e.props.id),...bi(e,r+1,t)]:[]);return o.rung?[`${e.props.id}:${o.rung.slot}`,...i]:i}),wi=e=>ki(e).length>0||Si(e)||Boolean(go(e.type)),zi=e=>Boolean(go(e)),Bi=(e,n,t,o)=>{if(Jt(U),go(o)?.spec?.slider){const t=e.split(":")[0];p(t,n),dt.select({index:n,zone:e}),a(t)}else dt.select({index:n,zone:e}),Qr(t)},Ci=(e,n,t,o,r)=>{const i=`${e}:${n}`;dt.insertComponent(i,t,o),go(r)?.spec?.slider?requestAnimationFrame(()=>{p(e,o),dt.select({index:o,zone:i})}):dt.select({index:o,zone:i})},Ni=(e,n,t)=>{dt.insertComponent(e,n,t),Jt(U),dt.select({index:t,zone:e})},$i=dn(/* @__PURE__ */new Set);pn(()=>{fr.forEach(e=>{const n=go(e.type)?.spec;if(!n)return;const t=e.props.id;if($i.current.has(t))return;$i.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(Sr)).forEach((e,t)=>dt.seedChild(o,t,n.childType,e))})},[fr,dt,Sr]);const Ti=dn(/* @__PURE__ */new Set);pn(()=>{fr.forEach((n,t)=>{const o=n.props.id;if(Ti.current.has(o))return;const r=e(n,mi(n.type));Ti.current.add(o),r&&dt.replaceComponent(ie,t,{...n,props:r})})},[fr,dt]),q(dt,Hn);const Oi=fr.findIndex(qn),Ii=Oi>=0?fr[Oi]:null,Pi=et?fr.findIndex(Xn):-1,Ai=Pi>=0?fr[Pi]:null,Ri=fr.find(e=>e.type===Wn)??null,ji=fr.find(e=>e.type===Yn)??null,Mi=Oi>=0?Oi:fr.length,Ei=[];fr.forEach(e=>{qn(e)||(wi(e)&&Ei.push(String(e.props.id)),Ei.push(...bi(e,1,zi)))}),Ii&&(Ei.push(String(Ii.props.id)),Ei.push(...bi(Ii,1,zi)));const Fi=Ei.length>0&&Ei.every(e=>To.has(e)),Vi=e=>{const n=ko.blockRowName(e,kr);return ko.rowName?ko.rowName(e,"block",n):n},Li=(e,n,t,o)=>{const r=zr(e)[t];if(!r)return;const i={...ln(e),index:t},l={...ln(n),index:Math.min(Math.max(o,0),zr(n).length)},s=We(i,l);if(e!==n||s!==t)try{yr.move(String(r.props.id),{...l,index:s})}catch(e){if(!(e instanceof sn))throw e}},Di=e=>{const n=/* @__PURE__ */new Set,t=e=>{for(const{child:o,zone:r}of gi(e))n.add(r),t(o)};for(const t of mi(e.type))n.add(`${e.props.id}:${t}`);return t(e),n},Gi=e=>{let n=e.slice(0,e.indexOf(":"));for(let e=0;e<64;e++){const e=br.get(n);if(!e)return null;if(e.zone===ie)return n;n=e.zone.slice(0,e.zone.indexOf(":"))}return null},Hi=e=>{const n=e.slice(0,e.indexOf(":")),t=fr.find(e=>Kn(e.type)&&String(e.props.id)===n);return t&&Qn(n)===e?t:null},Ui=(e,n,t)=>{if(e.rung){const t=Br(e.rung.nodeId),o=t?Cr(t).filter(e=>e.rung).length:0;return n.parentId===e.rung.nodeId&&n.slot===vn&&n.index>=0&&n.index<=o}if(n.slot===vn)return!1;if(e.add)return Yi(e.add,n);const o=tn(n);if(Kn(e.type))return!1;const r=Hi(o),i=Hi(e.zone);if(r||i)return!(!r||!i)&&(n.index>=0&&n.index<=zr(o).length);if(e.zone===ie||o===ie){if(e.zone!==o)return!1;const{floor:t,cap:r}=hr();return n.index>=t&&n.index<=r}if(n.index<0||n.index>zr(o).length)return!1;if(e.zone===o)return!0;const l=Ii?String(Ii.props.id):null;return(!l||Gi(e.zone)!==l&&Gi(o)!==l)&&((e,n,t,o)=>{if(e===n)return!0;const r=o??zr(e)[t];if(!r)return!1;const i=n.split(":")[0],l=br.get(i),s=l?zr(l.zone)[l.index]:void 0;if(!s)return!1;if(!o&&Di(r).has(n))return!1;const d=go(s.type,ho(Fn?.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?.(zr(n),r))})(e.zone,o,e.index,t)},Ji=(e,n)=>{const t=tn(e.from);if(t===tn(n))return!0;const o=e.node;return Ui({id:String(o.props?.id??""),zone:t,index:-1,type:o.type},n,o)},Wi=e=>{const n=e.slice(0,e.indexOf(":")),t=br.get(n),o=t?zr(t.zone)[t.index]:void 0;if(!t||!o)return null;const r=go(o.type,ho(Fn?.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:kr(r.spec.childType)}]:[]),l=Nr(e);return{parent:o,parentId:n,target:r,choices:i,parentName:l?l.slot.label:t.zone===ie?vr(o.type):kr(o.type)}},Yi=(e,n)=>{const t=tn(n);if("block"!==e.kind){if(Hi(t))return n.index>=0&&n.index<=zr(t).length;if(t!==ie)return!1;const{floor:e,cap:o}=hr();return n.index>=e&&n.index<=o}if(t===ie)return!1;const o=Wi(t);return!(!o||!o.choices.some(n=>n.type===e.type))&&!o.target.spec?.addBlocked?.(zr(t))},Ki=(e,n)=>{e.rung?Pr(e.rung.nodeId,e.index,n.index):e.add?((e,n)=>{if("block"!==e.kind&&Hi(tn(n)))return void ii(e,tn(n),n.index);if("section"===e.kind)return void ei(e.type,n.index);if("template"===e.kind)return void ni(e.template.name,i(e.template.node),n.index);const t=tn(n),o=Wi(t);o&&(o.target.spec?Ci(o.parentId,o.target.slot,e.type,n.index,o.parent.type):Ni(t,e.type,n.index))})(e.add,n):e.zone===ie?Xr(e.index,n.index):Li(e.zone,tn(n),e.index,n.index)},[Qi]=an(()=>Ue()),Zi=Je({keyOf:e=>e.id,readOnly:Boolean(In),session:Qi,canDrop:Ui,onDrop:Ki,onStep:(e,n)=>{e.rung?Pr(e.rung.nodeId,e.index,n<0?e.index-1:e.index+2):e.zone===ie?((e,n)=>{const t=vr(fr[e]?.type??""),o=Xr(e,n<0?e-1:e+2);if(!o.moved)return void Wo(`“${t}” is already ${n<0?"first":"last"}`);const{floor:r,cap:i}=hr();Wo(`Moved “${t}” to position ${o.dest-r+1} of ${i-r}`)})(e.index,n):Li(e.zone,e.zone,e.index,n<0?e.index-1:e.index+2)}}),_i=un(e=>{const{floor:n,cap:t}=hr(),o=[];for(const r of e.nodes){const e=tn(r.place),i=zr(e)[r.place.index];if(!i||String(i.props.id)!==r.id)continue;if(Xn(i)||qn(i)||uo(i.type))continue;if(Kn(i.type))continue;const l=Boolean(Hi(e)),s=e===ie||l;e===ie&&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?vr(i.type):jr(i),from:r.place})}return{sources:o,zones:e.zones.filter(e=>e.children.length>0||Boolean(Wi(tn(e.list))?.choices.length)||Boolean(Hi(tn(e.list))))}},[Fn.data]),Xi=e=>{Jt(U),dt.select(e.zone===ie?{index:e.index}:{index:e.index,zone:e.zone})},qi=ee(),el=()=>({data:Fn.data,device:yt,ops:dt,inspector:lo}),nl=qi?.model,tl=cn(()=>nl?e=>nl(e,_i(e),el()):_i,[nl,_i,yt]),ol=qi?.measure,rl=ol?(e,n)=>ol(e,n,el()):void 0,il=qi?.canDrop,ll=il?(e,n)=>il(e,n,Ui,el()):Ui,sl=qi?.drop,dl=sl?(e,n)=>sl(e,n,Ki,el()):Ki,cl=qi?.pick,al=cl?e=>cl(e,Xi,el()):Xi,pl=(e,n,t,o)=>/* @__PURE__ */mn(Be,{...In?{}:Zi.seam({place:{...ln(e),index:n}}),onAdd:In?void 0:t,label:o},`seam:${e}:${n}`),ul={rowClick:li,isCollapsed:Mo,toggleCollapse:Eo},fl=e=>{const n=String(e.props.id),t=fr.findIndex(e=>String(e.props.id)===n),o=Qn(n),r=zr(o),i=Mo(n),l=kr(e.type),s=ko.rowName?ko.rowName(e,"section",l):l,d=e=>pl(o,e,()=>oi(o,e),tt.addSectionHere);/* @__PURE__ */
15
- return gn(yn,{children:[
16
- /* @__PURE__ */mn(ve,{icon:/* @__PURE__ */mn(vo,{type:e.type,size:13}),name:s,preview:ci(e),marks:ai(e),onSelect:()=>Zr(t),nameSlot:Er(ie,t,n,s),selected:_t===n,actions:pi(e,ie,t)??void 0,rowProps:{"data-node-id":n,onClick:li(()=>Zr(t))},fold:{open:!i,label:"section",onToggle:()=>Eo(n)}}),!i&&/* @__PURE__ */gn(xe,{children:[r.map((n,t)=>{const r=String(n.props.id),i=xr(n),l=wi(n),s=l&&Mo(r),c=()=>Bi(o,t,r,e.type),{rowProps:a,...p}=Zi.row({item:{id:r,zone:o,index:t,type:n.type},place:{...ln(o),index:t}},{"data-node-id":r,onClick:li(c)});/* @__PURE__ */
17
- return gn(hn,{children:[d(t),
18
- /* @__PURE__ */mn(ve,{icon:/* @__PURE__ */mn(vo,{type:n.type,size:13}),name:i,preview:ci(n),marks:ai(n),onSelect:c,nameSlot:Er(o,t,r,i),selected:_t===r,hidden:Boolean(n.props._hidden),...p,fold:l?{open:!s,label:"section",onToggle:()=>Eo(r)}:void 0,actions:/* @__PURE__ */gn(yn,{children:[di(o,t,i),pi(n,o,t),ui(o,t,n,i)]}),rowProps:a}),l&&!s&&/* @__PURE__ */mn(xe,{children:gl(n,2)})]},r)}),d(r.length)]})]})},hl=(e,n,t,o,r)=>{const i=String(e.props.id),l=`${i}:${n.slot}`,s=Zi.dragging,d=!Mo(l)&&s?.rung?.nodeId!==i,c={...ln(l),index:0},a=s&&!s.rung&&Ui(s,c)?c:void 0,p=()=>Or(e,n,!0),{rowProps:u,...f}=Zi.row({item:{id:`rung:${l}`,zone:`${i}:${vn}`,index:t,type:e.type,rung:{nodeId:i,slot:n.slot}},place:{parentId:i,slot:vn,index:t},into:a,canDrag:Boolean(po.moveSlot)&&!1!==n.movable&&o>1},{"data-slot-zone":l,onClick:li(p)}),h=In?null:po.slotActions?.(e,n.slot);/* @__PURE__ */
19
- return gn(hn,{children:[n.heading,
20
- /* @__PURE__ */mn(ve,{icon:n.glyph??null,name:n.label,badge:n.badge,onSelect:p,selected:$r===l,...f,dragHint:n.dragHint,fold:{open:d,label:n.label,onToggle:()=>Eo(l)},actions:h&&h.length>0?/* @__PURE__ */mn(yn,{children:h.map((t,o)=>/* @__PURE__ */mn(ze,{kind:"delete"===t.kind?"delete":"plain",label:t.label,disabled:t.disabled,onClick:()=>((e,n,t)=>{if(In||t.disabled)return;const o=String(e.props.id),r=e=>{"string"==typeof e&&Ir(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__ */mn(qe,{size:15}):/* @__PURE__ */mn(nn,{size:15})},`${o}:${t.kind}`))}):void 0,rowProps:u}),d&&/* @__PURE__ */mn(xe,{children:r})]},l)},ml=(e,n)=>{const t=yi(e),o=t.filter(e=>e.rung).length;let r=0;/* @__PURE__ */
21
- return mn(yn,{children:t.map(t=>{const i=t.kids,l=t.rung?n+1:n,s=vi(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(Wi(c)?.choices.length),p=(e,n)=>a?pl(e,n,()=>oi(e,n),"Add block here"):pl(e,n),u=/* @__PURE__ */gn(yn,{children:[i.map(({child:n,zone:t,index:o})=>{const r=_t===String(n.props.id),{collapsible:i,folded:s}=xi(n,l,zi(n.type)),d=String(n.props.id),c=Vi(n),a=()=>Bi(t,o,d,e.type),{rowProps:u,...f}=Zi.row({item:{id:d,zone:t,index:o,type:n.type},place:{...ln(t),index:o}},{"data-node-id":d,onClick:li(a)});/* @__PURE__ */
22
- return gn(hn,{children:[0===o&&p(t,0),
23
- /* @__PURE__ */mn(ve,{icon:/* @__PURE__ */mn(vo,{type:n.type,size:13}),name:c,preview:ci(n),marks:ai(n),onSelect:a,nameSlot:Er(t,o,d,c),selected:r,hidden:Boolean(n.props._hidden),...f,fold:i?{open:!s,label:"group",onToggle:()=>Eo(d)}:void 0,actions:/* @__PURE__ */gn(yn,{children:[di(t,o,c),pi(n,t,o),ui(t,o,n,c)]}),rowProps:u}),i&&!s&&/* @__PURE__ */mn(xe,{children:ml(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?hl(e,t.rung,r++,o,u):/* @__PURE__ */mn(hn,{children:u},t.slot??"")})})},gl=(e,n)=>{const t=ho(Fn?.data,e.type,String(e.props.id)),o=yi(e),r=o.filter(e=>e.rung).length;let i=0;/* @__PURE__ */
24
- return mn(yn,{children:o.map(o=>{const l=o.kids,s=o.rung?n+1:n,d=vi(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)?()=>Ci(e.props.id,c.slot,c.childType,t,e.type):n===h?()=>oi(n,t):void 0;return pl(n,t,o,n===f&&c?c.addLabel:"Add block here")},g=null===o.slot?null:`${u}:${o.slot}`,y=Boolean(c&&!c.fixed&&(null===g||g===f)),k=/* @__PURE__ */gn(yn,{children:[l.map(({child:n,zone:t,index:o})=>{const r=_t===String(n.props.id),i=jr(n),l=String(n.props.id),{collapsible:d,folded:c}=xi(n,s,zi(n.type)),a=mi(n.type),p=1===a.length?`${l}:${a[0]}`:null,u=p?{...ln(p),index:zr(p).length}:void 0,f=Zi.dragging,h=u&&f&&Ui(f,u)?u:void 0,g=()=>Bi(t,o,l,e.type),{rowProps:y,...k}=Zi.row({item:{id:l,zone:t,index:o,type:n.type},place:{...ln(t),index:o},into:h,canDrag:!uo(n.type)},{"data-node-id":l,onClick:li(g)});/* @__PURE__ */
25
- return gn(hn,{children:[0===o&&m(t,0),
26
- /* @__PURE__ */mn(ve,{icon:/* @__PURE__ */mn(vo,{type:n.type,size:13}),name:i,preview:ci(n),marks:ai(n),onSelect:g,nameSlot:Er(t,o,l,i),selected:r,hidden:Boolean(n.props._hidden),...k,fold:d?{open:!c,label:"group",onToggle:()=>Eo(l)}:void 0,actions:uo(n.type)?pi(n,t,o)??void 0:/* @__PURE__ */gn(yn,{children:[di(t,o,i),pi(n,t,o),ui(t,o,n,i)]}),rowProps:y}),d&&!c&&/* @__PURE__ */mn(xe,{children:gl(n,s+1)}),m(t,o+1)]},String(n.props.id??`${t}-${o}`))}),y&&c&&
27
- /* @__PURE__ */mn(T,{small:!0,label:c.addLabel,blocked:c.addBlocked?.(a)??null,onAdd:()=>Ci(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?hl(e,o.rung,i++,r,k):/* @__PURE__ */mn(hn,{children:k},o.slot??"")})})},yl=(()=>{if(!Dn||!Wt)return null;const e=String(Dn.type),n=String(Dn.props.id),t=go(e,ho(Fn?.data,e,n));if(!t||"footer"===t.source)return null;const o=fr.some(e=>String(e.props?.id)===n),r=Array.isArray(Dn.props[t.slot])?Dn.props[t.slot]:[];if(t.spec?.addBlocked?.(r))return null;const i=t.choices??(t.spec?[{type:t.spec.childType,label:kr(t.spec.childType)}]:[]);return 0===i.length?null:{parentName:o?vr(e):kr(e),choices:i,onPick:o=>{t.spec?Ci(n,t.slot,o,r.length,e):Ni(`${n}:${t.slot}`,o,r.length)}}})(),kl=Qt&&Qt.zone!==ie&&!Hi(Qt.zone)?Qt.zone:null,Sl=!0===Lt.blocksFirst,vl=kl?Wi(kl):Sl&&Qt?null:yl,xl=Boolean(Ft&&kl)||Sl&&Boolean(vl&&vl.choices.length>0),bl=Rt||null!==xt,wl=e=>"panel"in e?{id:e.id,label:e.label,icon:e.icon,active:at&&!bl&&ao===e.id,onSelect:()=>cr(e.id)}:e,zl=[{id:"add",label:tt.add.title,icon:/* @__PURE__ */mn("span",{className:"sf-rail-plus","aria-hidden":"true",children:"+"}),active:Rt,onSelect:()=>Rt?ri():ti(null)},...(so.railLead??[]).map(wl),{id:"sections",label:"Layers",icon:/* @__PURE__ */mn(Ze,{}),active:at&&!bl&&"sections"===ao,onSelect:()=>cr("sections")},...(so.railTrail??[]).map(wl)];vt?zl.push({id:"media",label:"Media library",icon:/* @__PURE__ */mn(en,{}),active:at&&!Rt&&(null!==xt||"media"===ao),onSelect:()=>cr("media")}):jn&&zl.push({id:"media",label:"Media library",icon:/* @__PURE__ */mn(en,{}),onSelect:ar});const Bl=[...so.railLead??[],...so.railTrail??[]].find(e=>"panel"in e&&e.id===ao),Cl=Boolean(nt?.foldable)&&!co,Nl=nt?.label??(Mn?tt.pageSections:tt.templateSections),$l=Cl&&Mo(xn),Tl=/* @__PURE__ */gn(yn,{children:[fr.map((e,n)=>{if(Xn(e)||qn(e)||Kn(e.type))return null;const t=_t===String(e.props.id),o=Boolean(e.props._hidden);gi(e);const r=String(e.props.id),i=so.hasOwnRows?.(e)??!1,l=wi(e)||i,s=l&&Mo(r),{rowProps:d,...c}=Zi.row({item:{id:r,zone:ie,index:n,type:e.type},place:{...ln(ie),index:n}},{"data-node-id":r,onClick:li(()=>Zr(n))});/* @__PURE__ */
28
- return gn(hn,{children:[n>0&&fi(n),
29
- /* @__PURE__ */mn(ve,{icon:/* @__PURE__ */mn(vo,{type:e.type,size:13}),name:xr(e),preview:ci(e),marks:ai(e),onSelect:()=>Zr(n),nameSlot:Er(ie,n,r,xr(e)),selected:t,hidden:o,...c,fold:l?{open:!s,label:"section",onToggle:()=>Eo(r)}:void 0,actions:/* @__PURE__ */gn(yn,{children:[di(ie,n,xr(e)),pi(e,ie,n),ui(ie,n,e,xr(e))]}),rowProps:d}),wi(e)&&!s&&/* @__PURE__ */gn(xe,{children:[gl(e,1),so.partRows?.(e,ul)]}),i&&!s&&/* @__PURE__ */mn(xe,{children:so.ownRows?.(e,n,ul)})]},String(e.props.id??n))}),!co&&Mi>0&&fi(Mi),nt?.addAtEnd&&!co&&!In&&/* @__PURE__ */mn(T,{small:!0,label:tt.addSection,blocked:null,onAdd:()=>ti(Mi)})]}),Ol=(e,n,t)=>{const o=String(e.props.id),r=ki(e).length>0||Si(e)||Boolean(go(e.type)),i=r&&Mo(o),l="header"===t?tt.header:tt.footer,s=ko.rowName?ko.rowName(e,"section",l):l;/* @__PURE__ */
30
- return gn(yn,{children:[
31
- /* @__PURE__ */mn(ve,{icon:/* @__PURE__ */mn(vo,{type:t,size:13}),name:s,preview:ci(e),marks:ai(e),onSelect:()=>Zr(n),nameSlot:Er(ie,n,o,s),selected:_t===String(e.props.id),fold:r?{open:!i,label:"section",onToggle:()=>Eo(o)}:void 0,actions:pi(e,ie,n)??void 0,rowProps:{onClick:li(()=>Zr(n))}}),r&&!i&&/* @__PURE__ */mn(xe,{children:ml(e,1)})]})};return(so.wrap??(e=>e))(
32
- /* @__PURE__ */mn(ne,{target:Pt,children:/* @__PURE__ */gn("div",{ref:It,className:"sf-editor es-editor",style:Ve(Io),onContextMenu:Hr.onEditorContextMenu,children:[
33
- /* @__PURE__ */gn(Te,{children:[
34
- /* @__PURE__ */mn(Oe,{items:zl,ariaLabel:"Left panel views"}),
35
- /* @__PURE__ */gn(Ie,{children:[
36
- /* @__PURE__ */mn(Pe,{label:"Undo",disabled:!Ln.hasPast,onClick:()=>Ln.back(),children:/* @__PURE__ */mn(_e,{})}),
37
- /* @__PURE__ */mn(Pe,{label:"Redo",disabled:!Ln.hasFuture,onClick:()=>Ln.forward(),children:/* @__PURE__ */mn(Xe,{})}),
38
- /* @__PURE__ */mn(Ae,{}),
39
- /* @__PURE__ */mn(Re,{devices:ut,value:yt,onChange:kt})]}),
40
- /* @__PURE__ */gn(Ie,{kind:"right",style:{minWidth:300},children:[
41
- /* @__PURE__ */mn(kn,{saveState:Nn,notSaving:Boolean(In)||null!=$n,readOnlyReason:Pn,toggle:An,onToggle:On,onRetry:Tn}),so.barLead?.(),
42
- /* @__PURE__ */mn("button",{type:"button",className:"es-btn-ghost",title:"Refresh the preview (reloads the canvas, keeps your place)",onClick:()=>{Ot.current=(()=>{const e=Pt?.document;if(!e)return null;const n=fr.findIndex(qn),t=n>=0?n:fr.length;let o=null;for(let n=0;n<t;n++){const t=fr[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=Dn?.props?.id??fr[0]?.props?.id;null!=e&&(o={id:String(e),offset:0})}return o})(),Tt(e=>e+1)},children:"Refresh"}),so.barTrail?.(),so.barMain?so.barMain():/* @__PURE__ */mn("button",{type:"button",className:"es-btn-primary",disabled:null!==Pn,onClick:()=>{Cn(Fn.data)},children:tt.done})]})]}),
43
- /* @__PURE__ */mn(z,{}),
44
- /* @__PURE__ */gn("div",{className:"sf-body",children:[at?/* @__PURE__ */gn(yn,{children:[
45
- /* @__PURE__ */mn("div",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left",children:Rt?/* @__PURE__ */mn(O,{blocks:vl,blocksOnly:xl,at:Ft?{label:(e=>{const n=Hi(e.zone);if(n)return tt.add.addingTo({name:kr(n.type)});if(e.zone===ie){const n=fr[e.index];return n&&!qn(n)?tt.add.addingBefore({name:vr(n.type)}):tt.add.addingAtEnd}const t=Wi(e.zone);return t?tt.add.addingTo({name:t.parentName}):tt.add.addingHere})(Ft),onClear:()=>Vt(null)}:void 0,onAdd:e=>{const n=Qt,t=(e,n)=>{Ft&&Vt({zone:e,index:n})};if(n&&"block"!==e.kind&&Hi(n.zone))return ii(e,n.zone,n.index),void t(n.zone,n.index+1);if("section"===e.kind)return(e=>{if(null===Zt)return void ei(e);const n=ei(e,Zt);Ft&&Dt(n+1)})(e.type);if("template"===e.kind)return((e,n)=>{if(null===Zt)return void ni(e,n);const t=ni(e,n,Zt);Ft&&Dt(t+1)})(e.template.name,i(e.template.node));if(n&&n.zone!==ie){const o=Wi(n.zone);if(!o)return;return o.target.spec?Ci(o.parentId,o.target.slot,e.type,n.index,o.parent.type):Ni(n.zone,e.type,n.index),void t(n.zone,n.index+1)}yl?.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:Qi,siteWide:so.addPanelRow?.(ri),onClose:ri,onHide:sr,readOnly:Boolean(In)}):xt&&St?
46
- /* @__PURE__ */mn(A,{panel:St,pick:xt,onHide:sr}):Bl?Bl.panel({onHide:sr,notify:Wo}):"media"===ao&&St?/* @__PURE__ */mn(A,{panel:St,pick:null,onHide:sr}):/* @__PURE__ */gn(yn,{children:[
47
- /* @__PURE__ */mn(I,{icon:/* @__PURE__ */mn(Ze,{}),title:"Layers",context:ot,actions:Ei.length>0?/* @__PURE__ */mn(je,{label:Fi?"Expand all sections":"Collapse all sections",onClick:()=>Oo(e=>{const n=new Set(Ei);return Fi?new Set([...e].filter(e=>!n.has(e))):/* @__PURE__ */new Set([...e,...Ei])}),children:/* @__PURE__ */mn(Sn,{expand:Fi})}):void 0,onHide:sr}),
48
- /* @__PURE__ */gn(be,{className:"sf-tree sf-scroll",children:[
49
- /* @__PURE__ */mn(ve,{icon:/* @__PURE__ */mn(vo,{type:"page",size:13}),name:tt.pageSettings,onSelect:pr,selected:!Dn&&Wt,rowProps:{onClick:li(pr)}}),Ri&&/* @__PURE__ */gn(yn,{children:[
50
- /* @__PURE__ */mn(we,{children:tt.header}),fl(Ri)]}),!co&&En&&/* @__PURE__ */gn(yn,{children:[
51
- /* @__PURE__ */mn(we,{children:tt.header}),!et&&/* @__PURE__ */mn(ve,{icon:/* @__PURE__ */mn(vo,{type:"header",size:13}),name:tt.header,onSelect:ur,selected:Ut.kind===_n?.kind,rowProps:{onClick:li(ur)}})]}),!co&&Ai&&Ol(Ai,Pi,"header"),!co&&!Cl&&/* @__PURE__ */mn(we,{children:Nl}),Cl?/* @__PURE__ */gn(yn,{children:[
52
- /* @__PURE__ */mn(ve,{icon:null,name:Nl,fold:{open:!$l,label:Nl,onToggle:()=>Eo(xn)}}),!$l&&/* @__PURE__ */mn(xe,{children:Tl})]}):Tl,En&&/* @__PURE__ */mn(we,{children:tt.footer}),Ii&&Ol(Ii,Oi,"footer"),!co&&!Ii&&En&&/* @__PURE__ */mn(ve,{icon:/* @__PURE__ */mn(vo,{type:"footer",size:13}),name:tt.footer,onSelect:si,rowProps:{onClick:li(si),title:"Edit the site footer"}}),ji&&fl(ji),so.treeFoot?.()]})]})}),
53
- /* @__PURE__ */mn(Me,{side:"left",width:Io.left,min:Fe,max:Ee,defaultWidth:y.left,label:"Resize Sections panel",onResize:Ro})]}):/* @__PURE__ */mn(P,{side:"left",onShow:sr}),
54
- /* @__PURE__ */gn("div",{ref:Yo,className:"sf-center sf-scroll","data-sf-canvas-head":Xo?"":void 0,style:{overflowX:rr?"auto":"hidden",overflowY:"hidden"},children:[Xo&&/* @__PURE__ */mn("div",{ref:qo,className:"sf-canvas-head",children:/* @__PURE__ */mn(Xo,{device:yt})}),
55
- /* @__PURE__ */mn("div",{className:"sf-frame-scaler",style:ir,children:/* @__PURE__ */mn("div",{className:"sf-frame "+(yt===mt?"":`sf-frame--${yt}`),style:lr,children:/* @__PURE__ */gn("div",{className:"sf-preview-host",children:[
56
- /* @__PURE__ */mn(rt,{},$t),
57
- /* @__PURE__ */mn(He,{canvas:Pt,session:Qi,model:tl,measure:rl,canDrop:ll,onDrop:dl,onPick:al,onZoneAdd:e=>oi(tn(e),0),readOnly:Boolean(In),revision:Fn.data}),Gt.length>0&&/* @__PURE__ */mn("div",{className:"sf-preview-gaps","aria-hidden":"true",children:Gt.map(e=>/* @__PURE__ */gn("button",{type:"button",tabIndex:-1,className:"sf-preview-gap",style:{top:e.top},title:"Add section here",onClick:()=>ti(e.index),children:[
58
- /* @__PURE__ */mn("span",{className:"sf-preview-gap-line"}),
59
- /* @__PURE__ */gn("span",{className:"sf-preview-gap-pill",children:[
60
- /* @__PURE__ */mn("span",{className:"sf-preview-gap-plus",children:"+"}),
61
- /* @__PURE__ */mn("span",{className:"sf-preview-gap-label",children:"Add section"})]})]},e.index))})]})})})]}),pt?/* @__PURE__ */gn(yn,{children:[
62
- /* @__PURE__ */mn(m,{value:{selectChild:Bi,addChild:Ci,childRowName:jr,blockRowName:Vi},children:/* @__PURE__ */mn(it,{mode:Ut,onOpenWebsiteSettings:so.openSettings??(()=>{}),onOpenSiteStyles:so.openStyles,onSelectNode:zo,onNotify:Wo,onHidePanel:dr,nodeActions:Dn?le(Hn,Dn.type):bn})}),
63
- /* @__PURE__ */mn(Me,{side:"right",width:Io.right,min:Fe,max:Ee,defaultWidth:y.right,label:"Resize settings panel",onResize:jo})]}):
64
- /* @__PURE__ */mn(P,{side:"right",onShow:dr})]}),Do&&/* @__PURE__ */gn("div",{className:"sf-toast "+("error"===Do.tone?"sf-toast--error":""),role:"status",children:[
65
- /* @__PURE__ */mn("span",{className:"sf-toast-check","aria-hidden":"true",children:"error"===Do.tone?"!":"✓"}),Do.msg]},Ho),Hr.menu]})}))}export{wn as ScreenChrome};
@@ -1 +0,0 @@
1
- import{DEFAULT_TEXT_STYLES_WORDS as o}from"./chunk-M6F6LS3H.js";import{DEFAULT_STYLE_CLIPBOARD_WORDS as r}from"./chunk-6WY6ZXJG.js";import{DEFAULT_SCREEN_WORDS as t}from"./chunk-PQXIFBDY.js";import{DEFAULT_CANVAS_WORDS as m}from"./chunk-AELNNAFM.js";import{DEFAULT_TREE_WORDS as n}from"./chunk-3EDSDPIP.js";import{DEFAULT_PANEL_WORDS as c}from"./chunk-QTLAVDJE.js";import{DEFAULT_NODE_MENU_WORDS as s}from"./chunk-WK3AFPXY.js";import{DEFAULT_SAVE_WORDS as f}from"./chunk-H6DDIBQ4.js";import{DEFAULT_CHROME_WORDS as p,DEFAULT_NOTICE_WORDS as e}from"./chunk-ZJEBF4NB.js";import{DEFAULT_LOCK_WORDS as i}from"./chunk-RE4LP46F.js";import{DEFAULT_RAIL_WORDS as u}from"./chunk-2OAZYSWJ.js";import{DEFAULT_COPY_WORDS as k}from"./chunk-UH7IGZKF.js";import{DEFAULT_PICK_WORDS as j}from"./chunk-ZAOM6PFH.js";import{DEFAULT_FIELDS_WORDS as h}from"./chunk-FPOKPNO4.js";import{DEFAULT_DRAG_WORDS as l}from"./chunk-O2NLQBFX.js";var F={notice:e,lock:i,save:f,chrome:p,rail:u,tree:n,panel:c,fields:h,pick:j,drag:l,menu:s,styleClipboard:r,copy:k,canvas:m,textStyles:o,screen:t},a=o=>"object"==typeof o&&null!==o;function P(o,r){const t={};for(const m of Object.keys(o)){const n=o[m],c=r[m];null==c?t[m]=n:a(n)?t[m]=a(c)?P(n,c):n:t[m]=typeof c==typeof n?c:n}return t}function y(o,r){return r?P(o,r):o}export{F as DEFAULT_EASEL_STRINGS,y as mergeEaselStrings};
@@ -1,2 +0,0 @@
1
- import{styleMenuItems as e}from"./chunk-57DJOKXT.js";import{useEaselSession as n}from"./chunk-O7Q4DDJT.js";import{ROOT_ZONE as t}from"./chunk-PLVEGYK6.js";import{useHostEscape as o}from"./chunk-U3JP4VGF.js";import{EaselContextMenu as l}from"./chunk-KTVH2ZRL.js";import{createNodeClipboard as i,nodeMenuItems as r}from"./chunk-2LK54I4E.js";import{useCanvasEvent as c}from"./chunk-PAELDYYS.js";import{isTypingTarget as s,framePointToHost as a}from"./chunk-ZNCEOSXO.js";import{UndoIcon as u,RedoIcon as d,AddIcon as p,PasteIcon as f,SettingsIcon as m,LayersIcon as y,CopyIcon as h}from"./chunk-L5KW4HG5.js";import{zoneKey as k,ROOT_SLOT as b,ROOT_ID as v}from"./chunk-KRXQM65X.js";import{useState as x,useCallback as g,useRef as C,useEffect as P}from"react";import{jsx as z}from"react/jsx-runtime";function O(e,n){const o=[],l=/* @__PURE__ */new Set;let i={zone:n.zone,index:n.index};for(;i;){const n=e.nodeAt(i.zone,i.index);if(!n||l.has(n.props.id))break;if(l.add(n.props.id),o.push({zone:i.zone,index:i.index,node:n,parentType:null}),i.zone===t)break;const r=i.zone.lastIndexOf(":");if(r<=0)break;i=e.locate(i.zone.slice(0,r))}for(let e=0;e<o.length-1;e+=1)o[e].parentType=o[e+1].node.type;return o}var w=i(),A=/* @__PURE__ */new WeakMap;function K(e){if(e.claimsPage)return w;const n=e.registry;if(!n)return e.cache("easel:node-clipboard",i);let t=A.get(n);return t||(t=i(),A.set(n,t)),t}function D(){return K(n())}function T(e,n,o){if(n===t){const{floor:n,cap:t}=e.sectionBand();return{parentId:v,slot:b,index:Math.min(Math.max(o,n),t)}}const l=n.lastIndexOf(":");return{parentId:n.slice(0,l),slot:n.slice(l+1),index:o}}function j(e,n,t){const o=e.isPinned(n,t),l=!o&&!e.isLocked(n)&&!e.duplicateBlocked(n),i=e.permits?.(n)??{duplicate:!0,delete:!0};return{copy:!o&&i.duplicate,cut:l&&i.duplicate&&i.delete}}function E(e,n,t){const o=e.canPasteAt;if(!o)return k(n.from)===t.zone?T(e,t.zone,t.index+1):null;for(const l of O(e,t)){const t=T(e,l.zone,l.index+1);if(o(n,t))return t}return null}function L(e){if(e.defaultPrevented||e.altKey||e.shiftKey||!e.metaKey&&!e.ctrlKey)return null;if(s(e.target))return null;const n=e.target,t=n&&"ownerDocument"in n?n.ownerDocument??n:null,o=t?.getSelection?.();if(o&&!o.isCollapsed&&o.toString().trim())return null;const l=e.code||(1===e.key.length?`Key${e.key.toUpperCase()}`:"");return"KeyC"===l?"copy":"KeyX"===l?"cut":"KeyV"===l?"paste":null}function M(e,n,t,o){const l=e.nodeAt(t.zone,t.index);if(!l)return null;const i=l.props.id,r=e.labelOf(l.type,t.zone),c=j(e,l,t.zone);if("copy"===n)return c.copy?(e.nodeOps.copy(i,r),{done:"copied",name:r}):null;if(o.readOnly)return null;if("cut"===n)return c.cut?(e.nodeOps.cut(i,r),{done:"cut",name:r}):null;const s=o.held;if(!s)return null;const a=e.isPinned(l,t.zone)?null:E(e,s,t);return a?(e.nodeOps.paste(a),{done:"pasted",name:s.label}):(e.onPasteRefused(s),{done:"refused",name:s.label})}function S(n,o){const{zone:l,index:i}=o,c=n.nodeAt(l,i);if(!c)return[];const s=c.props.id,a=n.labelOf(c.type,l),u=Boolean(c.props._hidden),d=n.nodeOps,p=n.isPinned(c,l),f=n.isLocked(c),m=!p&&!f&&!n.duplicateBlocked(c),y=n.permits?.(c)??{duplicate:!0,delete:!0},h=j(n,c,l),k=O(n,o),b=d.held,v=b&&!p?E(n,b,o):null,x=n.style?e({held:n.style.held(),canCopy:n.style.canCopy(c,l),onCopy:()=>n.style?.copy(c,l),onPaste:()=>n.style?.paste(l,i,c)}):[];return r({title:a,layer:{group:"pick",items:k.flatMap((e,o)=>{const l={label:n.rowNameOf(e.node,e.zone),checked:0===o,onClick:()=>n.selectAt(e.zone,e.index,e.node.props.id,e.parentType)},i=e.zone===t?null:n.slotRung?.(e.zone)??null;return i?[l,{label:i.label,checked:!1,onClick:i.select}]:[l]})},actions:{addInside:n.canAddTo(c.type)?()=>n.openAddInside(l,i):void 0,duplicate:m&&y.duplicate?()=>d.duplicate(s):void 0,moveUp:d.canStep(s,-1)?()=>d.step(s,-1):void 0,moveDown:d.canStep(s,1)?()=>d.step(s,1):void 0,copy:h.copy?()=>d.copy(s,a):void 0,cut:h.cut?()=>d.cut(s,a):void 0,paste:b&&v?{label:b.label,run:()=>d.paste(v)}:void 0,rename:n.renamePropOf(c,l)?()=>n.beginRename(l,i):void 0,hide:f||p?void 0:{hidden:u,run:()=>d.setProps(s,{_hidden:!u})},delete:m&&y.delete?()=>d.remove(s):void 0},style:x,extras:n.menuRows?.(c,l,i)??void 0,pinnedLine:p?"Pinned — can’t be moved or deleted":void 0})}function X(e){const n=[];e.history.hasPast&&n.push({label:"Undo",icon:/* @__PURE__ */z(u,{}),shortcut:"⌘Z",onClick:e.history.back}),e.history.hasFuture&&n.push({label:"Redo",icon:/* @__PURE__ */z(d,{}),shortcut:"⇧⌘Z",onClick:e.history.forward});const o=[{label:"Add section",icon:/* @__PURE__ */z(p,{}),onClick:e.openAddSection}],l=e.nodeOps.held,i=T(e,t,e.sectionBand().cap);if(l&&(e.canPasteAt?e.canPasteAt(l,i):k(l.from)===t)){const n=i;o.push({label:`Paste ${l.label}`,icon:/* @__PURE__ */z(f,{}),shortcut:"⌘V",onClick:()=>e.nodeOps.paste(n)})}const r=[n,o,[{label:"Page settings",icon:/* @__PURE__ */z(m,{}),onClick:e.openPageSettings},{label:"Collapse all layers",icon:/* @__PURE__ */z(y,{}),onClick:e.collapseAll}]].filter(e=>e.length>0),c={label:"—",onClick:()=>{}};return r.flatMap((e,n)=>n?[c,...e]:e)}function I(e,n){const t=n.selectionStart??0,o=n.selectionEnd??0,l=n.value.slice(t,o),i=e=>{n.focus(),n.setRangeText(e,t,o,"end"),n.dispatchEvent(new Event("input",{bubbles:!0}))},r=[];l&&(r.push({label:"Copy",icon:/* @__PURE__ */z(h,{}),shortcut:"⌘C",onClick:()=>navigator.clipboard?.writeText(l)}),r.push({label:"Cut",icon:/* @__PURE__ */z(h,{}),shortcut:"⌘X",onClick:()=>{navigator.clipboard?.writeText(l),i("")}})),r.push({label:"Paste",icon:/* @__PURE__ */z(f,{}),shortcut:"⌘V",onClick:()=>{navigator.clipboard?.readText().then(e=>{e&&i(e)}).catch(()=>e.onPasteRefused())}});const c=[r,n.value?[{label:"Select all",shortcut:"⌘A",onClick:()=>{n.focus(),n.select()}}]:[]].filter(e=>e.length>0),s={label:"—",onClick:()=>{}};return c.flatMap((e,n)=>n?[s,...e]:e)}function R(e){return e.shiftKey}function Y(e,n){const[t,l]=x(null),i=g(()=>l(null),[]);o(null!==t,i);const r=C(e);r.current=e;const s=g(e=>{const n=r.current,t=n.keys;if(!t)return;const o=L(e);if(!o)return;const l=t.selected();if(!l)return;const i=M(n,o,l,{readOnly:t.readOnly,held:t.held()});i&&(e.preventDefault(),t.onDone?.(i))},[]),u=e.keys?.target??null;P(()=>{if(!u)return;const e=e=>s(e);return u.addEventListener("keydown",e),()=>u.removeEventListener("keydown",e)},[u,s]),c(n,"keydown",s);const d=g(n=>{if(R(n))return;const t=n.target,o=function(e){const n=e?.closest?.("input, textarea");return n?n instanceof HTMLInputElement&&!["text","search","url","email","tel","number",""].includes(n.type)?null:n:null}(t);if(o)return n.preventDefault(),void l({kind:"input",x:n.clientX,y:n.clientY,el:o});const i=t?.closest?.("[data-node-id]")?.getAttribute("data-node-id"),r=i?e.locate(i):null;n.preventDefault(),l(r?{kind:"node",x:n.clientX,y:n.clientY,...r}:{kind:"empty",x:n.clientX,y:n.clientY})},[e]);c(n,"contextmenu",t=>{if(R(t)||!n)return;const o=t.target?.closest?.("[data-puck-component]")??null,i=o?.getAttribute("data-puck-component"),r=i?e.locate(i):null;t.preventDefault();const c=a(n.frame,t.clientX,t.clientY);l(r?{kind:"node",...c,...r}:{kind:"empty",...c})}),c(n,"mousedown",i),c(n,"scroll",i,{on:"window"});return{onEditorContextMenu:d,menu:t?/* @__PURE__ */z(V,{host:e,target:t,onClose:i}):null,closeMenu:i}}function V({host:e,target:n,onClose:t}){/* @__PURE__ */
2
- return z(l,{x:n.x,y:n.y,items:"node"===n.kind?S(e,n):"input"===n.kind?I(e,n.el):X(e),onClose:t})}export{w as EASEL_NODE_CLIPBOARD,O as ancestorChain,K as nodeClipboardOf,j as nodeClipboardRules,S as nodeMenuItems,L as nodeShortcut,X as pageMenuItems,E as pastePlace,M as runNodeShortcut,I as textMenuItems,D as useNodeClipboard,Y as useNodeContextMenu};
@@ -1,2 +0,0 @@
1
- import{routeSharedHostMessage as e}from"./chunk-S4AWJX4Q.js";import{describeLoadFailure as r,hostLoadRefusal as n}from"./chunk-ERR437B5.js";import{editLockOf as t}from"./chunk-GMCZXMOV.js";import{NO_DOCUMENT_ADDRESSING as o}from"./chunk-RLBXE4EU.js";import{saveStatusOf as u,resetForDocumentSwitch as a}from"./chunk-HNKB2ZYR.js";import{isExpiredSession as s}from"./chunk-CLOS6SSX.js";import{useAdminBridge as i}from"./chunk-3P6AMTOS.js";import{useEaselSession as l}from"./chunk-O7Q4DDJT.js";import{backendOf as c,setSessionDocumentSite as d}from"./chunk-RSCMJIWS.js";import{useEaselHost as f}from"./chunk-U3JP4VGF.js";import{DEFAULT_SCREEN_WORDS as m}from"./chunk-PQXIFBDY.js";import{useAutosave as g}from"./chunk-BDTITTMW.js";import{canWriteDocument as k,newEaselClientId as v,reloadIfVersionMoved as p,openUnansweredClaim as h,FAIL_OPEN_RETRY_MS as y,CLAIM_FAIL_OPEN_MS as S,holderOf as w}from"./chunk-THWO5YVZ.js";import{useWords as b}from"./chunk-MFIRYGHW.js";import{createContext as I,useContext as P,useState as j,useMemo as T,useCallback as B,useEffect as O,useRef as R}from"react";import{jsx as C}from"react/jsx-runtime";var E={content:[],root:{},zones:{}};var H=I(null);function M(){const e=P(H);if(!e)throw new Error("useStorefrontDocument must be used within StorefrontDocumentProvider");return e}function A({target:I,addressing:P=o,onHostMessage:M,children:A}){const D=P,{homeSlug:F,entryMayBounce:L,entryBounce:V,onSwitch:W,tellsHost:N,adapterFor:X,migrateRenamedProps:Y,describeMissing:J,onLoadFailed:x}=D,[G,Q]=j(I),U=f(),Z=l(),K=T(()=>c(Z),[Z]),z=T(()=>t(Z),[Z]),_="template"===G.kind,q="template"===G.kind?G.id:null,$="template"===G.kind?G.pageSlug??F??"":"document"===G.kind?G.slug??"":G.slug,ee="page"===G.kind?G.siteId??null:null,re=Z.blocks,ne=T(()=>X(G,K,re),[X,K,re,G.kind,"template"===G.kind?G.id:"document"===G.kind?G.record:G.siteId]),te=ne.capabilities,oe=B(e=>Z.documentHooks?.stored?.(e)??e,[Z]),ue="page"===G.kind?G.originSlug??null:null;O(()=>{d(Z,ee)},[Z,ee]);const ae=R(G);O(()=>{ae.current=G},[G]);const{token:se,tokenRef:ie,capabilities:le}=i({onMessage:r=>{if(M?.(r)||e(r))return;const n=r;if("storefront-editor:navigate"===n?.type){const e=r;e?.target&&Pr(e.target)}}}),ce=!Z.usesBridgedToken||null!==se,de=ne.lock,fe=Boolean(K.lock),[me,ge]=j(null),[ke,ve]=j(null),[pe,he]=j(null),[ye,Se]=j(null),we=b("screen",m),be=ye?function(e,r){if(null!==e.sentence)return e.sentence;if(!e.missing)return r.loadFailed({cause:e.cause});switch(e.target.kind){case"template":return r.missingTemplatePage;case"document":return r.missingDocument;default:return r.missingPage({slug:e.slug})}}(ye,we):null,[Ie,Pe]=j(null),je=R(null),Te=R(null),[Be,Oe]=j(!1),Re=R(null),[Ce,Ee]=j(null),He=R(null),[Me,Ae]=j(null),De=R(null);O(()=>{De.current=Me},[Me]);const[Fe,Le]=j(te.hasEditLock?{kind:"checking"}:{kind:"editing"}),Ve=R(Fe);O(()=>{Ve.current=Fe},[Fe]);const We=R(()=>Promise.resolve(!1)),Ne=B(e=>{Te.current=e,Oe(!0)},[]),Xe=g({save:async({id:e,data:r})=>{if(k(Ve.current)){if(!await We.current(e,r)){if(!k(Ve.current))return void Ne({id:e,data:r});throw new Error("page save did not land")}}else Ne({id:e,data:r})},onFailure:(e,r)=>{0===r&&U.send("storefront-editor:save-failed")}}),{state:Ye,push:Je,flush:xe,pause:Ge,resume:Qe,stop:Ue,reset:Ze,retryNow:Ke,hasPending:ze}=Xe,_e=R(Ye);O(()=>{_e.current=Ye},[Ye]);const qe=u(Ye),$e=B(()=>{const e=Te.current;e&&(Te.current=null,Oe(!1),Je(e))},[Je]),er=R("");er.current||(er.current=v());const[rr,nr]=j(0),tr=R(!1),[or,ur]=j(L(I)),ar=R(!1);O(()=>{if(ar.current)return;ar.current=!0;const e=U.address.search(),r=V(I,e);r?U.address.load(r):L(I)&&ur(!1)},[I,U]);const sr=U.send;O(()=>{if(!ce)return;let e=!1;const t=ae.current,o=ne.resolve($),u=Z.documentHooks?.opening?.({slug:$,isTemplate:_,capabilities:te});return o.then(async r=>{if(e)return;if(!r)return"page"===t.kind&&null!==F&&$!==F?void U.address.load({kind:"page",slug:F,siteId:ee??void 0}):(Se({target:t,slug:$,missing:!0,sentence:J?.(t)??null}),void x?.(t,null));const n=r.readOnlyReason?r.readOnlyReason:null;je.current=n,Pe(n),ge(r.id),ve(r.kind??null),He.current=r.version??null;const o=r.layout,a=o&&Object.keys(o).length?o:E,s=Y(a),i=u?await u(s):s;e||he(i)}).catch(o=>{e||(console.error("[storefront-editor] document load failed",o),Se({target:t,slug:$,missing:!1,sentence:n(o,{slug:$},Z),cause:r(o,Z)}),x?.(t,o))}),()=>{e=!0}},[ce,se,_,ne,$]);const ir=B(e=>new Promise(r=>{const n=Date.now(),t=setInterval(()=>{const o=ie.current;o&&o!==e?(clearInterval(t),r(o)):Date.now()-n>6e3&&(clearInterval(t),r(null))},200)}),[]),lr=B(async e=>{const r=ie.current;if(!r&&Z.usesBridgedToken)return{ok:!1,error:new Error("no editor token")};try{return{ok:!0,value:await e(r??"")}}catch(n){if(s(n,Z)){sr("storefront-editor:auth-expired");const n=r?await ir(r):null;if(n)try{return{ok:!0,value:await e(n)}}catch(e){return{ok:!1,error:e}}}return{ok:!1,error:n}}},[sr,ir,Z]),cr=B(async e=>{const r=ie.current?await lr(e):{ok:!1};return r.ok||sr("storefront-editor:save-failed"),r.ok},[sr,lr]),dr=B(async(e,r,n=!1)=>{if(null!==je.current)return!1;if(!k(Ve.current))return!1;if(De.current)return!1;const t=await lr(()=>ne.saveLayout(e,r,He.current,er.current));if(t.ok)return He.current=t.value.version??He.current,!0;const o=z.readLockTaken(t.error);if(o){const e={kind:"takenover",holder:o};return Ve.current=e,Le(e),!1}const u=z.readSaveConflict(t.error);if(u){if(u.savedByYou&&!n&&ne.rereadVersion){const n=await lr(()=>ne.rereadVersion(e));if(n.ok&&n.value)return He.current=n.value,We.current(e,r,!0)}Ue(),De.current=u,Ae(u)}return!1},[ne,lr,Ue]);O(()=>{We.current=dr},[dr]);const fr=B(e=>{if(null!==je.current)return;if(sr("storefront-editor:dirty"),!me)return;const r=oe(e);Re.current=r,k(Ve.current)?Je({id:me,data:r}):Ne({id:me,data:r})},[me,sr,Ne,Je,oe]),mr=B(async()=>{k(Ve.current)&&$e();return await xe()&&null==Te.current},[$e,xe]),gr=R(mr);O(()=>{gr.current=mr},[mr]);const kr=R(lr);O(()=>{kr.current=lr},[lr]);const vr=B(()=>{U.address.reload()},[U]),pr=R(()=>Promise.resolve(!1));O(()=>{pr.current=()=>{const e=ne.rereadVersion;return me&&e?p({ours:He.current,stored:async()=>{const r=await kr.current(()=>e(me));return r.ok?r.value:null},hasPending:()=>null!=Te.current||ze(),reload:vr}):Promise.resolve(!1)}},[ne,me,ze,vr]);const hr=null!==Ie;O(()=>{if(!de||!me||!ce||hr)return;let e=!1,r=null,n=null;const t=er.current,o={claim:async e=>{const r=await kr.current(()=>de.claim(me,t,e));if(r.ok)return{heartbeat_seconds:r.value.heartbeatSeconds};throw r.error},cancelled:()=>e,currentAccess:()=>Ve.current,heldWrite:()=>({pending:null!=Te.current||ze(),autoSaveEnabled:!_e.current.paused,saveConflict:null!=De.current}),setAccess:e=>{Ve.current=e,Le(e)},releaseHeldWrite:()=>{gr.current()},startHeartbeat:e=>{r&&clearInterval(r),r=setInterval(()=>{u(!1)},e)},stopHeartbeat:()=>{r&&(clearInterval(r),r=null)},reloadIfMoved:()=>{pr.current()}},u=z.makeClaimBeat(o),a=tr.current;return tr.current=!1,a||(Le({kind:"checking"}),n=setTimeout(()=>{n=null,h(o)&&o.startHeartbeat(y)},S)),u(a).finally(()=>{n&&clearTimeout(n),n=null}),()=>{e=!0,n&&clearTimeout(n),r&&clearInterval(r),de.release(me,t).catch(()=>{})}},[me,de,ce,se,rr,hr]);const yr=B(()=>{de&&me&&(tr.current=!0,nr(e=>e+1))},[me,de]),Sr=B(()=>{Le(e=>{const r="blocked"===e.kind||"takenover"===e.kind?e.holder:null;return r?{kind:"readonly",holder:r}:e})},[]),wr=B(()=>{_e.current.paused?(k(Ve.current)&&$e(),Qe()):Ge()},[$e,Ge,Qe]),br=B(()=>{Ke()},[Ke]),Ir=B(e=>{Re.current=null,a("template"!==e.kind&&fe,{resetAutosave:()=>{Ze(),Te.current=null,Oe(!1)},setVersion:e=>{He.current=e},setSaveConflict:Ae,setAccess:Le}),W(e),Q(e),je.current=null,Pe(null),ge(null),ve(null),he(null),Se(null),U.address.show(e),"document"!==e.kind&&N(e)&&U.send("storefront-editor:navigated",{target:e})},[Ze,U,fe,W,N]),Pr=B(e=>{if(function(e,r,n){if(e.kind!==r.kind)return!1;if("template"===e.kind){const t=r;return e.id===t.id&&(e.pageSlug??n)===(t.pageSlug??n)}if("document"===e.kind){const n=r;return e.record===n.record&&(e.slug??"")===(n.slug??"")}const t=r;return e.slug===t.slug&&e.siteId===t.siteId}(e,ae.current,F))return;const r=null!=Te.current;if(!r&&!ze())return void Ir(e);const n=_e.current;r||n.paused||n.failed||n.stopped?Ee(e):xe().then(r=>{r?Ir(e):Ee(e)})},[Ir,ze,xe,F]),jr=B(()=>Ee(null),[]),Tr=B(()=>{Ee(e=>(e&&Ir(e),null))},[Ir]),Br=B(async()=>{const e=Ce;if(!e)return;await mr()&&(Ee(null),Ir(e))},[Ce,mr,Ir]),Or=B(async e=>{if(null!==je.current)return;if(!me)return;if(!k(Ve.current)||De.current)return;const r=oe(e);if(!await dr(me,r))return void(De.current||sr("storefront-editor:save-failed"));const n=ne.publish;if(!te.canPublish||!n)return void sr("storefront-editor:saved");const t=await lr(()=>n(me,He.current??void 0));t.ok?(He.current=t.value.version??He.current,sr("storefront-editor:published")):sr("storefront-editor:save-failed")},[me,ne,te.canPublish,sr,dr,lr,oe]);/* @__PURE__ */
2
- return C(H.Provider,{value:{target:G,adapter:ne,capabilities:te,templateId:q,currentSlug:$,currentKind:ke,siteId:ee,ready:ce,token:se,tokenRef:ie,notifyParent:sr,bridgeCapabilities:le,runAuthed:cr,docId:me,data:pe,getLiveData:()=>Re.current??pe,footerOriginSlug:ue,error:be,redirecting:or,saveStatus:qe,saveState:Ye,autoSaveEnabled:!Ye.paused,autoSaveStoppedByConflict:Ye.stopped,hasUnsavedEdits:Ye.pending||Be,toggleAutoSave:wr,retrySave:br,onChange:fr,flushSave:mr,onPublish:Or,access:Fe,readOnly:null!==w(Fe)||null!==Ie,readOnlyReason:Ie,takeOverEditing:yr,viewReadOnly:Sr,saveConflict:Me,reloadFromServer:vr,navigate:Pr,pendingNav:Ce,cancelPendingNav:jr,discardAndNavigate:Tr,saveAndNavigate:Br},children:A})}export{H as ScreenDocumentContext,A as ScreenDocumentProvider,M as useScreenDocument};
@@ -1 +0,0 @@
1
- import{newNodeId as t}from"./chunk-PLVEGYK6.js";function o(t){return{root:{props:{}},content:[t],zones:{}}}function n(t){return(t.content??[])[0]??null}function r(t){return Array.isArray(t)&&t.length>0&&t.every(t=>!!t&&"object"==typeof t&&"string"==typeof t.type&&"object"==typeof t.props)}function e(o){const n={...o.props,id:t(o.type)};for(const[t,o]of Object.entries(n))r(o)&&(n[t]=o.map(e));return{type:o.type,props:n}}export{e as cloneNodeWithFreshIds,n as docToNode,o as nodeToDoc};
@@ -1,5 +0,0 @@
1
- import{blockTypesIn as e}from"./chunk-5ZBY24K7.js";import{buildPaletteSections as t,pinnedSection as n,paletteWithoutPinned as o,categoryLabel as i}from"./chunk-PA3PNTVV.js";import{sectionTemplatesOf as s}from"./chunk-BVN33R76.js";import{SidePanelHead as r,PanelModeExit as c}from"./chunk-5ZBBXZPV.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-VSHV6KJQ.js";import{DEFAULT_SCREEN_WORDS as d}from"./chunk-PQXIFBDY.js";import{useEasel as u}from"./chunk-P67FP7PG.js";import{useWords as f}from"./chunk-MFIRYGHW.js";import{AddPanel as h}from"./chunk-TTJ54QGG.js";import{AddIcon as k}from"./chunk-L5KW4HG5.js";import{useState as y,useEffect as b,useMemo as j}from"react";import{jsx as g,jsxs as B,Fragment as V}from"react/jsx-runtime";var $=e=>`section:${e}`,v=e=>`block:${e}`,O=e=>`template:${e}`;function P({blocks:P,blocksOnly:x,at:H,onAdd:I,itemFor:F,session:G,siteWide:L,onClose:Q,onHide:T,readOnly:A}){const D=u(e=>e.config),N=p(),{labelAtLevel:C,categoryLabel:J,firstSection:K,Icon:R,Thumbnail:S}=N,{blockIsOffered:W}=m(),Y=f("screen",d).add,Z=l(),[w,z]=y([]);b(()=>{let t=!1;const n=e=>W(e,Z);return s(Z).list().then(o=>{if(t)return;const i=D.components;z(o.filter(t=>t.node?.type&&i[t.node.type]&&e(t.node).every(n)))}).catch(()=>{}),()=>{t=!0}},[D,Z]);const X=j(()=>t(D,N),[D]),E=e=>({type:$(e.type),label:e.name,cover:/* @__PURE__ */g(S,{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)}),M=j(()=>{const e=[];if(P&&P.choices.length>0&&a(P.choices).forEach((t,n)=>{e.push({title:0===n?`${Y.inside({name:P.parentName})}${t.group?` · ${t.group}`:""}`:t.group??"",tiles:t.items.map(e=>({type:v(e.type),label:e.label,icon:/* @__PURE__ */g(R,{type:e.type,size:18}),title:Y.tile({name:e.label})}))})}),x)return e;const t=n(X,K);t&&e.push({title:Y.startBlank,tiles:[E(t)]}),w.length>0&&e.push({title:Y.templates,tiles:w.map(e=>{return{type:O(e.id),label:e.name,cover:/* @__PURE__ */g(S,{type:e.node.type}),keywords:[(t=e.node.type,C(t,"section",D.components[t]?.label??t)),e.node.type]};var t})});const s=o(X,K);for(const t of Object.keys(D.categories??{})){const n=s.filter(e=>e.cat===t);0!==n.length&&e.push({title:i(D,t,J),tiles:n.map(E)})}return e},[P,x,w,X,D,Y]),q=e=>{const t=e.indexOf(":"),n=e.slice(0,t),o=e.slice(t+1);if("section"===n)return{kind:"section",type:o};if("block"===n)return{kind:"block",type:o};if("template"===n){const e=w.find(e=>e.id===o);return e?{kind:"template",template:e}:null}return null};/* @__PURE__ */
2
- return B(V,{children:[
3
- /* @__PURE__ */g(r,{icon:/* @__PURE__ */g(k,{size:15}),title:Y.title,context:x?Y.contextBlocks:Y.contextAll,actions:/* @__PURE__ */g(c,{label:Y.done,description:Y.doneDescription,onClick:Q}),onHide:T}),
4
- /* @__PURE__ */B("div",{className:"sf-addside sf-scroll",children:[
5
- /* @__PURE__ */g(h,{groups:M,session:G,itemFor:e=>F(q(e)??{kind:"section",type:e}),onInsert:e=>{const t=q(e);t&&I(t)},at:H,hint:x?Y.hintBlocks:Y.hint,searchLabel:x?Y.searchBlocks:Y.searchSections,readOnly:A}),L&&!x?L:null]})]})}export{P as AddSidePanel,v as blockKey,$ as sectionKey,O as templateKey};
@@ -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}from"./chunk-D2BCHTQR.js";import{useWords as a}from"./chunk-MFIRYGHW.js";import{setCanvasNonce as i}from"./chunk-ZNCEOSXO.js";import{find as s,ROOT_ID as d,getList as l,remove as c,parseZoneKey as u,move as p,duplicate as f,replaceNode as h,createNode as m,insert as v,normalizeData as y,createResolveCache as g,resolveNodeData as k,ROOT_SLOT as b}from"./chunk-KRXQM65X.js";import{topLevelSlotKeys as w,fieldsFrom as S,defaultsFrom as I}from"./chunk-NKB3KVAB.js";import{createContext as C,useEffect as O,useContext as x,useRef as E,useSyncExternalStore as A,useState as D,useMemo as z,useCallback as M,useLayoutEffect as Z}from"react";import{jsx as N,jsxs as $}from"react/jsx-runtime";import{createPortal as j}from"react-dom";function R(e){return!["setData","setUi","set"].includes(e.type)}var B=(e,t,n,o)=>{const r=l(e,t,u(n));return r?.[o]??null},P=(e,t,n,o,r)=>{const a=B(e,t,n,o);if(!a)throw new Error(`${r}: nothing at ${n}[${o}]`);return a};function L(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 K(e,t,n){return n?"node"===n.kind?s(e,t,n.id)?n:null:n.parentId===d?l(e,t,n)?n:null:s(e,t,n.parentId)&&l(e,t,n)?n:null:null}function F(e,t,n,r=!1){const{itemSelector:a,selectedSlot:i,...s}=n;let d=e.selection;var l;return"itemSelector"in n&&(d=o(e.data,t,a??null)),"selectedSlot"in n&&(i?d=(l=i)?{kind:"slot",parentId:l.parentId,slot:l.slot}:null:"slot"===d?.kind&&(d=null)),{...e,selection:d,ui:r?s:{...e.ui,...s}}}function H(e,t,n){const o=V(e,t,n);if(o===e)return e;const r=K(o.data,n,o.selection);return r===o.selection?o:{...o,selection:r}}function V(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 F(e,n,"function"==typeof t.ui?t.ui(L(e,n)):t.ui);case"set":{const r={data:o,ui:L(e,n)},a="function"==typeof t.state?t.state(r):t.state;let i=a.data?{...e,data:a.data}:e;return a.ui&&(i=F(i,n,a.ui,!0)),i}case"insert":{const r={...u(t.destinationZone),index:t.destinationIndex},a=m(n,t.componentType,{},t.id?{id:t.id}:{});return{...e,data:v(o,n,r,a)}}case"replace":{const r=P(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:h(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=P(o,n,t.sourceZone,t.sourceIndex,"duplicate"),a=f(o,n,r.props.id),i=B(a,n,t.sourceZone,t.sourceIndex+1);return{...e,data:a,selection:i?{kind:"node",id:i.props.id}:e.selection}}case"reorder":return V(e,{...t,type:"move",sourceZone:t.destinationZone},n);case"move":{if(t.sourceZone===t.destinationZone&&t.sourceIndex===t.destinationIndex)return e;const r=B(o,n,t.sourceZone,t.sourceIndex);if(!r)return e;const a={...u(t.destinationZone),index:t.destinationIndex};return{...e,data:p(o,n,r.props.id,a)}}case"remove":{const r=P(o,n,t.zone,t.index,"remove");return{...e,data:c(o,n,r.props.id)}}default:return e}}var T={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}},Y=0,U=()=>`history-${Y+=1}`;function W(e){let t=e.config;const r=e.now??(()=>Date.now()),a=e.historyCoalesceMs??250;let i=e.permissions??{};const d=y(e.data,t);let c={data:d,selection:null,ui:{...q}};if(e.ui){const{itemSelector:n,selectedSlot:r,...a}=e.ui;c={data:d,selection:r?{kind:"slot",...r}:o(d,t,n??null),ui:{...q,...a}}}let u=[{core:c,at:-1/0,sealed:!0,id:U()}],p=0;const f=e=>{const t=u[p],n=r();!e&&p===u.length-1&&p>0&&!t.sealed&&n-t.at<a?u=[...u.slice(0,p),{...t,core:c,at:n}]:(u=[...u.slice(0,p+1),{core:c,at:n,sealed:e,id:U()}],p=u.length-1)},m=/* @__PURE__ */new Set;let v=null,b=null,w=0,S=null,I=!1;const C=()=>{for(const e of[...m])e()},O=()=>{u=[...u.slice(0,p),{...u[p],core:c},...u.slice(p+1)]},x=(t,n)=>{w>0?I=I||n:(n?f(!1):c!==t&&O(),c.data!==t.data&&e.onChange?.(c.data),c!==t&&C())},E=e=>{const n=c;if(c=H(c,e,t),c===n)return;const o=e.recordHistory??R(e);x(n,o&&c.data!==n.data)},A=t=>{0===w&&(S=c,I=!1),w+=1;try{t()}catch(e){throw w-=1,0===w&&S&&(c=S,S=null),e}if(w-=1,w>0||!S)return;const n=S;S=null,I&&c.data!==n.data?f(!0):c!==n&&O(),c.data!==n.data&&e.onChange?.(c.data),c!==n&&C()},D=e=>{const n=c,o=K(c.data,t,e);var r,a;(r=o,a=c.selection,r===a||r&&a&&r.kind===a.kind&&("node"===r.kind&&"node"===a.kind?r.id===a.id:"slot"===r.kind&&"slot"===a.kind&&r.parentId===a.parentId&&r.slot===a.slot))||(c={...c,selection:o},x(n,!1))},z=t=>{const n=c;p=t,c=u[p].core,c.data!==n.data&&e.onChange?.(c.data),c!==n&&C()},M=()=>(e={})=>{const n=e.root?t.root?.permissions:t.components[e.item?.type??e.type??""]?.permissions;return{...T,...i,...n}};let Z=M();const N=g(),$={resolveCache:N,async resolveAll({trigger:e="load",metadata:n}={}){const o=c.data,r={type:"root",props:{...o.root.props??{}}},a=[...o.content,...Object.values(o.zones??{}).flat()],[i,...d]=await Promise.all([k(r,t,{cache:N,trigger:e,metadata:n}),...a.map(o=>k(o,t,{cache:N,trigger:e,metadata:n}))]);A(()=>{const e=c;let n=c.data;d.forEach((e,r)=>{if(!e.didChange)return;const i=a[r].props.id,d=s(n,t,i)?.node;d&&d===s(o,t,i)?.node&&(n=h(n,t,i,e.node))}),i.didChange&&n.root===o.root&&(n={...n,root:{...n.root,props:i.node.props,readOnly:i.node.readOnly??n.root.readOnly}}),n!==c.data&&(c={...c,data:n,selection:K(n,t,c.selection)},x(e,!1))})},async resolveNode(e,{trigger:n="replace",metadata:o}={}){const r=s(c.data,t,e)?.node;if(!r)return!1;const a=await k(r,t,{cache:N,trigger:n,metadata:o});if(!a.didChange)return!1;let i=!1;return A(()=>{const n=c;if(s(c.data,t,e)?.node!==r)return;const o=h(c.data,t,e,a.node);o!==c.data&&(c={...c,data:o,selection:K(o,t,c.selection)},x(n,!1),i=!0)}),i},get config(){return t},getState(){if(v&&b===c)return v;const e=c,o={data:e.data,ui:L(e,t)},r="node"===e.selection?.kind?s(e.data,t,e.selection.id)?.node??null:null;return v={appState:o,selection:e.selection,selectedItem:r,config:t,dispatch:E,history:{back:()=>$.undo(),forward:()=>$.redo(),hasPast:p>0,hasFuture:p<u.length-1,histories:u.map(e=>({id:e.id,state:{data:e.core.data,ui:L(e.core,t)}})),index:p,setHistoryIndex:e=>{e>=0&&e<u.length&&e!==p&&z(e)}},getPermissions:Z,getItemById:n=>s(e.data,t,n)?.node,getItemBySelector:n=>function(e,t,n){const[o,r]=(n.zone??"root:default-zone").split(/:(.*)/s);return l(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}},b=e,v},subscribe:e=>(m.add(e),()=>{m.delete(e)}),dispatch:E,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=c,o=void 0===e.select?c.selection:e.select;c={...c,data:e.data,selection:K(e.data,t,o)},x(n,e.data!==n.data)})},load(e,n={}){const o=c,r=y(e,t);c={...c,data:r,selection:K(r,t,n.selection??c.selection)},n.keepHistory||(u=[{core:c,at:-1/0,sealed:!0,id:U()}],p=0),c!==o&&C()},undo(){p>0&&z(p-1)},redo(){p<u.length-1&&z(p+1)},setPermissions(e){(function(e,t){if(e===t)return!0;const n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(n=>e[n]===t[n])})(e,i)||(i=e,Z=M(),v=null,C())},setConfig(e){e!==t&&(t=e,Z=M(),v=null,C())}};return $}function X(e,t){const n=e=>{if(e.altKey)return;if(!(e.metaKey!==e.ctrlKey))return;const n="KeyZ"===e.code,o="KeyY"===e.code&&!e.shiftKey;(n||o)&&!1!==t.getState?.().getPermissions().edit&&(e.preventDefault(),o||e.shiftKey?t.redo():t.undo())};return e.addEventListener("keydown",n),()=>e.removeEventListener("keydown",n)}var Q=C(null),G=C(!0);function J({easel:e,hotkeys:t=!0,resolveOnMount:n=!0,children:o}){return O(()=>{n&&e.resolveAll()},[e,n]),O(()=>{if(t&&"undefined"!=typeof document)return X(document,e)},[e,t]),/* @__PURE__ */N(Q.Provider,{value:e,children:/* @__PURE__ */N(G.Provider,{value:t,children:o})})}function _(){const e=x(Q);if(!e)throw new Error("useEasel: no <EaselProvider> above this component");return e}function ee(e){const t=_(),n=E({view:null,selector:null,value:void 0,has:!1}),o=()=>{const o=t.getState(),r=n.current;if(r.has&&r.view===o&&r.selector===e)return r.value;const a=e(o);return r.has&&Object.is(r.value,a)?(n.current={view:o,selector:e,value:r.value,has:!0},r.value):(n.current={view:o,selector:e,value:a,has:!0},a)};return A(t.subscribe,o,o)}function te(){return function(e){return ee(e)}}var ne="data-puck-component",oe="data-puck-dropzone",re={},ae="data-es-mirror",ie="undefined"==typeof window?O:Z;function se(e,t,n){for(const e of Array.from(t.head.querySelectorAll(`[${ae}]`)))e.remove();for(const o of Array.from(e.head.querySelectorAll('style, link[rel="stylesheet"]'))){const e=o.cloneNode(!0);e.setAttribute(ae,""),n&&e.setAttribute("nonce",n),t.head.appendChild(e)}}function de({children:t,id:n="preview-frame",title:o,className:r,style:s,mirrorStyles:d=!0,onDocument:l,height:c="auto",nonce:u}){const p=a("canvas",e),f=E(null),[h,m]=D(null);return ie(()=>{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]),ie(()=>{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),i(e,u),m(t),l?.(e);let n=null;const o=f.current?.ownerDocument;if(d&&o){se(o,e,u);const t=o.defaultView;t&&"MutationObserver"in t&&(n=new t.MutationObserver(()=>se(o,e,u)),n.observe(o.head,{childList:!0,subtree:!0,characterData:!0}))}return()=>{n?.disconnect(),t.remove(),m(null),l?.(null)}},[]),/* @__PURE__ */N("iframe",{ref:f,id:n,title:o??p.frame,className:["es-canvas-frame","fill"===c?"is-fill":"",r??""].filter(Boolean).join(" "),style:s,children:h?j(t,h):null})}var le=C(null),ce=C(re),ue=[];function pe({parentId:e,slot:t,className:n,style:o,minEmptyHeight:r=128}){const a=_(),i=ee(n=>l(n.appState.data,a.config,{parentId:e,slot:t})??ue),s=ee(t=>"node"===t.selection?.kind&&t.selection.id===e&&e!==d),c=ee(n=>"slot"===n.selection?.kind&&n.selection.parentId===e&&n.selection.slot===t),u=x(le),p=["es-zone"];return i.length&&p.push("has-children"),e===d&&p.push("is-root"),(s||c)&&p.push("is-area-selected"),null!==u&&u===e&&e!==d&&p.push("is-hovering-area"),n&&p.push(n),/* @__PURE__ */N("div",{className:p.join(" "),[oe]:`${e}:${t}`,style:{...o,"--min-empty-height":`${r}px`},children:i.map(e=>/* @__PURE__ */N(me,{node:e},e.props.id))})}function fe(e,t,n,o){const r="root"===t?e.root:e.components[t],a={...o};for(const e of w(S(r)))a[e]=function(t={}){/* @__PURE__ */
2
- return N(pe,{parentId:n,slot:e,...t})};return a}function he(e){return function({zone:t,...n}){/* @__PURE__ */
3
- return N(pe,{parentId:e,slot:t,...n})}}function me({node:e}){const t=_().config,n=t.components[e.type],o=e.props.id,r=function(e){const t=E(null);return z(()=>n=>{const o=t.current;o&&o!==n&&(o.removeAttribute(ne),o.removeAttribute("data-puck-dnd")),t.current=n,n&&(n.setAttribute(ne,e),n.setAttribute("data-puck-dnd",e),n.style.position="relative")},[e])}(o),a=x(ce);if(!n?.render)return null;const i=n.render,s=fe(t,e.type,o,{...I(n),...e.props}),d={renderDropZone:he(o),isEditing:!0,dragRef:n.inline?r:null,metadata:{...a,...n.metadata}};return n.inline?/* @__PURE__ */N(i,{...s,puck:d,editMode:!0}):/* @__PURE__ */N("div",{[ne]:o,"data-puck-dnd":o,style:{position:"relative"},children:/* @__PURE__ */N(i,{...s,puck:d,editMode:!0})})}function ve({metadata:e}){const t=ee(e=>e.config),n=ee(e=>e.appState.data.root).props??{},o=t.root?.render,r=/* @__PURE__ */N(pe,{parentId:d,slot:b}),a=o?/* @__PURE__ */N(o,{id:"puck-root",...fe(t,"root",d,n),puck:{renderDropZone:he(d),isEditing:!0,dragRef:null,metadata:e??{}},editMode:!0,children:r}):r;/* @__PURE__ */
4
- return N(ce.Provider,{value:e??re,children:a})}function ye({id:e,kind:t,overlay:n}){const o=E(null),[r,a]=D(null);ie(()=>{const t=o.current?.ownerDocument,n=t?.defaultView;if(!t||!n||!e)return void a(null);let r=0;const i=()=>{r=0;const i=function(e,t){if(!e||!t)return null;const n=e.getBoundingClientRect(),o=t.getBoundingClientRect();return{top:n.top-o.top,left:n.left-o.left,width:n.width,height:n.height}}(t.querySelector(`[${ne}="${n.CSS?.escape?n.CSS.escape(e):e}"]`),o.current?.parentElement??null);a(e=>{return(t=e)===(n=i)||t&&n&&t.top===n.top&&t.left===n.left&&t.width===n.width&&t.height===n.height?e:i;var t,n})},s=()=>{r||(r=(n.requestAnimationFrame??(e=>n.setTimeout(e,16)))(i))};i();const d="MutationObserver"in n?new n.MutationObserver(s):null;d?.observe(t.body,{childList:!0,subtree:!0,attributes:!0,characterData:!0});const l="ResizeObserver"in n?new n.ResizeObserver(s):null;return l?.observe(t.documentElement),n.addEventListener("resize",s),()=>{d?.disconnect(),l?.disconnect(),n.removeEventListener("resize",s),r&&(n.cancelAnimationFrame??n.clearTimeout)(r)}},[e]);const i=/* @__PURE__ */N("div",{ref:o,"aria-hidden":"true",className:`es-canvas-outline is-${t}`,style:r?{position:"absolute",top:r.top,left:r.left,width:r.width,height:r.height}:{display:"none"}});return n&&e?/* @__PURE__ */N(n,{componentId:e,kind:t,children:i}):i}function ge({frame:e=!0,className:t,style:n,metadata:o,mirrorStyles:r,onDocument:a,height:i,title:s,nonce:d,hotkeys:l,frameWrapper:c,overlay:u,children:p}){const f=_(),h=x(G),m=l??h,[v,y]=D(void 0),g=ee(e=>"node"===e.selection?.kind?e.selection.id:null),[k,b]=D(null),w=/* @__PURE__ */$("div",{className:"es-canvas-content",style:{position:"relative"},onClick:e=>{const t=e.target;t.closest?.("a[href]")&&e.preventDefault();const n=t.closest?.(`[${ne}]`);n?f.select(n.getAttribute(ne)):t.hasAttribute?.(oe)||f.select(null)},onMouseOver:e=>{const t=e.target.closest?.(`[${ne}]`),n=t?.getAttribute(ne)??null;n!==k&&b(n)},onMouseLeave:()=>b(null),children:[
5
- /* @__PURE__ */N(le.Provider,{value:k,children:/* @__PURE__ */N(ve,{metadata:o})}),
6
- /* @__PURE__ */$("div",{className:"es-canvas-outlines",style:{position:"absolute",top:0,left:0,pointerEvents:"none"},children:[
7
- /* @__PURE__ */N(ye,{id:k&&k!==g?k:null,kind:"hover",overlay:u}),
8
- /* @__PURE__ */N(ye,{id:g,kind:"selected",overlay:u})]}),p]}),S=c?/* @__PURE__ */N(c,{document:v,children:w}):w;O(()=>{if(v&&m)return X(v,f)},[v,m,f]);/* @__PURE__ */
9
- return N("div",{className:"es-canvas"+(t?` ${t}`:""),style:n,"data-puck-preview":"",children:e?/* @__PURE__ */N(de,{mirrorStyles:r,onDocument:e=>{y(e??void 0),a?.(e)},height:i,title:s,nonce:d,children:S}):/* @__PURE__ */N("div",{id:"preview-frame","data-puck-entry":"",children:S})})}function ke(e={}){const t=_(),n=ee(e=>e.appState.data);return r({...e,data:n,config:t.config,commit:(e,{select:n})=>t.run({data:e,select:n})})}function be(){const e=_(),n=ee(e=>e.config),o=e.resolveCache,r=ee(e=>e.selectedItem),a=ee(e=>e.appState.data.root),i=r?r.props.id:"root",d=a.props??{},l=z(()=>r||{type:"root",props:d},[r,d]),c=r?n.components[r.type]:n.root,u=e.getState(),p=r?s(u.appState.data,n,i):null,f=p&&"root"!==p.place.parentId?p.place.parentId:null,h=f?u.getItemById(f)??null:null,{fields:m}=t({id:i,node:l,block:c,parent:h,appState:u.appState}),v=ee(e=>!1===e.getPermissions(r?{item:r}:{root:!0}).edit),y=M((t,r)=>{(async()=>{const a=e.getState();if("root"!==i){const s=a.getItemById(i),d=a.getSelectorForId(i);if(!s||!d)return;const l={...s,props:{...s.props,[t]:r}},{node:c}=await k(l,n,{cache:o,trigger:"replace"}),u=e.getState().getSelectorForId(i);if(!u)return;return void e.dispatch({type:"replace",destinationZone:u.zone??"root:default-zone",destinationIndex:u.index,data:c})}const s=a.appState.data.root.props??{},{node:d}=await k({type:"root",props:{...s,[t]:r}},n,{cache:o,trigger:"replace"});e.dispatch({type:"replaceRoot",root:{props:d.props,readOnly:d.readOnly},recordHistory:!0})})()},[e,n,o,i]);return{id:i,node:l,fields:m,values:l.props,readOnly:v,onChange:y}}export{de as CanvasFrame,q as DEFAULT_UI,ge as EaselCanvas,J as EaselProvider,ve as EditDocument,X as bindUndoKeys,W as createEasel,te as createUseEasel,R as recordsByDefault,H as reduce,L as uiView,ee as useEasel,_ as useEaselApi,ke as useEaselNodeOps,be as useSelectedFields,K as validSelection};
@@ -1,5 +0,0 @@
1
- import{slotFieldsOf as n}from"./chunk-PLVEGYK6.js";import{usePickFollowsSelection as e}from"./chunk-R6WTQWAC.js";import{EaselCanvas as t,useSelectedFields as r}from"./chunk-P67FP7PG.js";import{Inspector as o}from"./chunk-BXZ6WLHC.js";import{DesktopIcon as u}from"./chunk-L5KW4HG5.js";import{createContext as i,useContext as l}from"react";import{jsx as s}from"react/jsx-runtime";var c={kind:"puck"};function f(n,e){const t=n,r=e,o=Object.keys(t);return o.length===Object.keys(r).length&&o.every(n=>Object.is(t[n],r[n]))}function a(n){const e=n;return"string"==typeof e.nodeId&&"string"==typeof e.slot}function d(e,t,r){const o=e.slotsOf?.(r);return o||n(t,r.type).map(n=>({slot:n,label:n,rung:!1}))}function p(n,e){return n.isFirst?n.isFirst(e):e.type===n.first}function k(n,e){return n.isLast?n.isLast(e):e.type===n.last}var m={},h={},v=()=>m,y=()=>"",b=()=>null,g=()=>{},L={isLockedBlock:()=>!1,duplicateBlocked:()=>null,nestDepth:()=>0,newSectionNode:()=>null,canAddTo:()=>null,blockIsOffered:()=>!0},j={labelAtLevel:(n,e,t)=>t,descriptions:{},categoryLabel:()=>{},firstSection:null,blockRowName:(n,e)=>e(n.type),plainText:n=>n,Icon:()=>null,Thumbnail:()=>null,useProducts:()=>null},O={options:[{id:"desktop",label:"Desktop",icon:/* @__PURE__ */s(u,{})}],initial:"desktop",fluid:"desktop",widths:{desktop:2e3}},P={read:()=>"sections",write:()=>{},forSelection:(n,e)=>n?"sections":e},w={first:null,last:null,firstGroup:null,lastGroup:null,isSectionGroup:()=>!1,sectionGroupZone:()=>"",panelOf:()=>null};function C(){/* @__PURE__ */
2
- return s(t,{height:"fill"})}function G(){const{id:n,fields:e,values:t,readOnly:u,onChange:i}=r();/* @__PURE__ */
3
- return s("div",{className:"es-sidepanel es-sidepanel--right",children:/* @__PURE__ */s(o,{fields:e,values:t,onChange:i,readOnly:u,idPrefix:n})})}var S=i({});function B({parts:n,children:e}){/* @__PURE__ */
4
- return s(S.Provider,{value:n,children:e})}function D(){return l(S)}function x(){return(D().useOwnerName??y)()}function F(){return(D().useDocumentLabel??b)()}function I(n,e,t,r){return(D().useBridges??v)(n,e,t,r)}function N(n){return(D().useStandaloneBridges??v)(n)}function T(n,e){(D().useDocumentPass??g)(n,e)}function W(){return D().blockRules??L}function A(){return D().blockLook??j}function H(){return D().devices??O}function K(){return D().leftView??P}function R(){return D().pinned??w}function V(){return D().saveSwitch??!0}function Z(n){e(!0===D().pickFollowsSelection,n)}function E(){return D().add??h}function Q(){return D().styleClipboard??null}function X(){return D().nodeKeys??!0}function Y(){return D().notify??null}function q(){return D().Canvas??C}function z(){return D().CanvasHead??null}function J(){return D().canvasDrag??null}var M=i(null);function U({target:n,children:e}){/* @__PURE__ */
5
- return s(M.Provider,{value:n,children:e})}function $(){return l(M)}function _(){return D().Inspector??G}export{c as SELECTION_MODE,U as ScreenCanvasTargetProvider,B as ScreenPartsProvider,p as isPinnedFirst,k as isPinnedLast,a as isSlotMode,f as sameInspectorMode,d as screenSlotsOf,E as useScreenAdd,A as useScreenBlockLook,W as useScreenBlockRules,I as useScreenBridges,J as useScreenCanvasDrag,q as useScreenCanvasFrame,z as useScreenCanvasHead,$ as useScreenCanvasTarget,H as useScreenDevices,F as useScreenDocumentLabel,T as useScreenDocumentPass,_ as useScreenInspectorPanel,K as useScreenLeftView,X as useScreenNodeKeys,Y as useScreenNotify,x as useScreenOwnerName,D as useScreenParts,Z as useScreenPickFollowsSelection,R as useScreenPinned,V as useScreenSaveSwitch,Q as useScreenStyleClipboard,N as useStandaloneScreenBridges};
@@ -1 +0,0 @@
1
- import{useEaselHost as n}from"./chunk-U3JP4VGF.js";import{useEaselApi as o,bindUndoKeys as t}from"./chunk-P67FP7PG.js";import{useState as r,useEffect as u}from"react";function c(o){const t=n(),[c,e]=r(null);return u(()=>e(o.current),[o]),t.ownsDocument?"undefined"==typeof document?null:document:c}function e(r){const e=n(),m=o(),f=c(r);u(()=>{if(!e.ownsDocument&&f)return t(f,m)},[e,m,f])}export{c as useEaselKeyTarget,e as useEaselUndoKeys};
@@ -1 +0,0 @@
1
- import{DEFAULT_PANEL_W as a,clampPanelWidth as r}from"./chunk-YC4TB3CJ.js";var s="sf-editor-panel-widths",t={...a},e=a=>r(a);export{t as DEFAULT_PANEL_W,s as PANEL_WIDTHS_KEY,e as clampPanelWidth};