efficient-easel 3.1.0 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/blocks/index.d.ts +2 -2
- package/dist/{chunk-EF3YSWT5.js → chunk-2I7MAA2U.js} +1 -1
- package/dist/chunk-55IKQFBW.js +5 -0
- package/dist/{chunk-JVUGLF5I.js → chunk-6B4276GZ.js} +3 -3
- package/dist/{chunk-TGF7KEO7.js → chunk-6QSPOILR.js} +1 -1
- package/dist/chunk-7P6IFCR4.js +1 -0
- package/dist/{chunk-LHZIMK3M.js → chunk-FRGCTHDB.js} +1 -1
- package/dist/{chunk-PT6V53OO.js → chunk-J2JBETVO.js} +1 -1
- package/dist/chunk-MCHMF32I.js +1 -0
- package/dist/{chunk-53NZMIRT.js → chunk-MTRFMGBO.js} +1 -1
- package/dist/{chunk-BVUPKIM3.js → chunk-OFNXIZEP.js} +1 -1
- package/dist/{chunk-VX5GDBRI.js → chunk-PAM3NLFL.js} +1 -1
- package/dist/chunk-PDZXAFNX.js +9 -0
- package/dist/chunk-QASZFO4S.js +1 -0
- package/dist/chunk-QVWPI2FL.js +5 -0
- package/dist/{chunk-7HGVGKWU.js → chunk-TNTV7UZ6.js} +65 -64
- package/dist/{chunk-TCNPQKY6.js → chunk-UVAIY7VO.js} +1 -1
- package/dist/{chunk-QMBB7SU5.js → chunk-WSNVBUPL.js} +1 -1
- package/dist/{chunk-VGV5D667.js → chunk-WZMU646D.js} +2 -2
- package/dist/{chunk-4LD4KA27.js → chunk-ZN752E2O.js} +1 -1
- package/dist/easel/index.d.ts +5 -5
- package/dist/easel/index.js +1 -1
- package/dist/node-ops/index.d.ts +2 -2
- package/dist/node-ops/index.js +1 -1
- package/dist/{plan-DChbUXdS.d.ts → plan-BdQ9mLIf.d.ts} +20 -1
- package/dist/screen/components/AddBlockRow.js +1 -1
- package/dist/screen/components/AddSidePanel.js +1 -1
- package/dist/screen/components/MediaSidePanel.d.ts +2 -2
- package/dist/screen/components/MediaSidePanel.js +1 -1
- package/dist/screen/components/NodeContextMenu.d.ts +3 -3
- package/dist/screen/components/NodeContextMenu.js +1 -1
- package/dist/screen/components/PageEditGuardNotices.js +1 -1
- package/dist/screen/components/ScreenChrome.js +1 -1
- package/dist/screen/components/ScreenDocumentContext.d.ts +2 -2
- package/dist/screen/components/ScreenDocumentContext.js +1 -1
- package/dist/screen/components/ScreenMount.d.ts +2 -2
- package/dist/screen/components/ScreenMount.js +1 -1
- package/dist/screen/components/ScreenStoreProvider.d.ts +2 -2
- package/dist/screen/components/ScreenStoreProvider.js +1 -1
- package/dist/screen/components/SectionScreenShell.js +15 -15
- package/dist/screen/components/usePartBridge.d.ts +2 -2
- package/dist/screen/components/usePartBridge.js +1 -1
- package/dist/screen/index.d.ts +2 -2
- package/dist/screen/index.js +1 -1
- package/dist/screen/lib/admin-bridge.d.ts +2 -2
- package/dist/screen/lib/document-addressing.d.ts +2 -2
- package/dist/screen/lib/document-hooks.d.ts +2 -2
- package/dist/screen/lib/host.d.ts +2 -2
- package/dist/screen/lib/key-scope.js +1 -1
- package/dist/screen/lib/media-panel.d.ts +2 -2
- package/dist/screen/lib/media-picker.d.ts +2 -2
- package/dist/screen/lib/page-lock.d.ts +2 -2
- package/dist/screen/lib/puck/device-fields.js +1 -1
- package/dist/screen/lib/puck/palette-sections.d.ts +2 -2
- package/dist/screen/lib/puck/section-doc.d.ts +2 -2
- package/dist/screen/lib/puck/style-clipboard.d.ts +2 -2
- package/dist/screen/lib/puck/style-clipboard.js +1 -1
- package/dist/screen/lib/puck/use-section-ops.d.ts +2 -2
- package/dist/screen/lib/puck/use-section-ops.js +1 -1
- package/dist/screen/lib/screen-parts.d.ts +4 -4
- package/dist/screen/lib/screen-parts.js +1 -1
- package/dist/screen/lib/section-templates.d.ts +2 -2
- package/dist/screen/lib/session-context.d.ts +2 -2
- package/dist/screen/lib/session.d.ts +2 -2
- package/dist/screen/words.d.ts +2 -0
- package/dist/screen/words.js +1 -1
- package/dist/strings/catalogue.js +1 -1
- package/dist/strings/index.js +1 -1
- package/dist/{types-E3HrTPg2.d.ts → types-CGFykP7c.d.ts} +1 -1
- package/dist/{useNodeOps-BF0fQsif.d.ts → useNodeOps-B3e4b8a2.d.ts} +1 -1
- package/package.json +1 -1
- package/dist/chunk-D2BCHTQR.js +0 -1
- package/dist/chunk-EJ6QAWRH.js +0 -5
- package/dist/chunk-LYALMY55.js +0 -1
- package/dist/chunk-MYC3AVG2.js +0 -1
- package/dist/chunk-PYCLHOSA.js +0 -9
- package/dist/chunk-UV4D7CDX.js +0 -5
|
@@ -1,64 +1,65 @@
|
|
|
1
|
-
import{dedupeSlotChildren as e}from"./chunk-26OOWIJJ.js";import{styleClipboardOf as n}from"./chunk-
|
|
2
|
-
return
|
|
3
|
-
return
|
|
4
|
-
/* @__PURE__ */
|
|
5
|
-
/* @__PURE__ */
|
|
6
|
-
return
|
|
7
|
-
/* @__PURE__ */
|
|
8
|
-
/* @__PURE__ */
|
|
9
|
-
/* @__PURE__ */
|
|
10
|
-
/* @__PURE__ */
|
|
11
|
-
/* @__PURE__ */
|
|
12
|
-
return new Set}});mn(()=>{try{window.localStorage.setItem(
|
|
13
|
-
return
|
|
14
|
-
return
|
|
15
|
-
return
|
|
16
|
-
/* @__PURE__ */
|
|
17
|
-
return
|
|
18
|
-
/* @__PURE__ */
|
|
19
|
-
return
|
|
20
|
-
/* @__PURE__ */
|
|
21
|
-
return
|
|
22
|
-
return
|
|
23
|
-
/* @__PURE__ */
|
|
24
|
-
return
|
|
25
|
-
return
|
|
26
|
-
/* @__PURE__ */
|
|
27
|
-
/* @__PURE__ */
|
|
28
|
-
return
|
|
29
|
-
/* @__PURE__ */
|
|
30
|
-
return
|
|
31
|
-
/* @__PURE__ */
|
|
32
|
-
/* @__PURE__ */
|
|
33
|
-
/* @__PURE__ */
|
|
34
|
-
/* @__PURE__ */
|
|
35
|
-
/* @__PURE__ */
|
|
36
|
-
/* @__PURE__ */
|
|
37
|
-
/* @__PURE__ */
|
|
38
|
-
/* @__PURE__ */
|
|
39
|
-
/* @__PURE__ */
|
|
40
|
-
/* @__PURE__ */
|
|
41
|
-
/* @__PURE__ */
|
|
42
|
-
/* @__PURE__ */
|
|
43
|
-
/* @__PURE__ */
|
|
44
|
-
/* @__PURE__ */
|
|
45
|
-
/* @__PURE__ */
|
|
46
|
-
/* @__PURE__ */
|
|
47
|
-
/* @__PURE__ */
|
|
48
|
-
/* @__PURE__ */In(
|
|
49
|
-
/* @__PURE__ */Nn(
|
|
50
|
-
/* @__PURE__ */
|
|
51
|
-
/* @__PURE__ */
|
|
52
|
-
/* @__PURE__ */
|
|
53
|
-
/* @__PURE__ */
|
|
54
|
-
/* @__PURE__ */In(
|
|
55
|
-
/* @__PURE__ */Nn("div",{className:"sf-
|
|
56
|
-
/* @__PURE__ */
|
|
57
|
-
/* @__PURE__ */
|
|
58
|
-
/* @__PURE__ */Nn("
|
|
59
|
-
/* @__PURE__ */In("span",{className:"sf-preview-gap-
|
|
60
|
-
/* @__PURE__ */Nn("span",{className:"sf-preview-gap-
|
|
61
|
-
/* @__PURE__ */
|
|
62
|
-
/* @__PURE__ */
|
|
63
|
-
/* @__PURE__ */
|
|
64
|
-
/* @__PURE__ */
|
|
1
|
+
import{dedupeSlotChildren as e}from"./chunk-26OOWIJJ.js";import{styleClipboardOf as n}from"./chunk-7P6IFCR4.js";import{markedTreeNodeId as t,revealSelectedTreeRow as o,sameSelector as r}from"./chunk-FGNR22NY.js";import{cloneNodeWithFreshIds as i}from"./chunk-2GVCAIPX.js";import{rootRowName as l,slotChildRowName as s,slotChildRenameProp as d,sectionRenameProp as c}from"./chunk-TBF5CVPA.js";import{scrollPreviewToSection as a,gotoPreviewSlide as p,scrollPreviewToTop as u}from"./chunk-4ES5JGGX.js";import{useEaselKeyTarget as f,useEaselUndoKeys as h,editorRootFocus as m}from"./chunk-J2JBETVO.js";import{SlotChildActionsProvider as g}from"./chunk-KCBEE2MC.js";import{screenStorageKeys as y,DEFAULT_PANEL_W as k,clampPanelWidth as S}from"./chunk-42TMLDSQ.js";import{usePartBridge as v}from"./chunk-OFNXIZEP.js";import{useSectionOps as w}from"./chunk-FRGCTHDB.js";import{useNodeClipboard as x,useNodeContextMenu as b}from"./chunk-MTRFMGBO.js";import{PageEditGuardNotices as z}from"./chunk-2I7MAA2U.js";import{useScreenDocument as B}from"./chunk-WZMU646D.js";import{requestMediaPick as C}from"./chunk-KG7RJWOK.js";import{heldStyle as O,styleShortcut as I}from"./chunk-V7U33NF2.js";import{AddChildRow as N}from"./chunk-5545A3PC.js";import{AddSidePanel as T}from"./chunk-QVWPI2FL.js";import{SidePanelHead as P,PanelShowStrip as $}from"./chunk-5SOSVTVI.js";import{MediaSidePanel as A}from"./chunk-ZN752E2O.js";import{useScreenSaveSwitch as M,useScreenNodeKeys as j,useScreenPinned as R,useScreenDocumentLabel as E,useScreenCanvasFrame as L,useScreenInspectorPanel as F,useScreenDevices as V,useScreenPickFollowsSelection as D,useScreenLeftView as H,useScreenAdd as W,SELECTION_MODE as U,sameInspectorMode as G,useScreenBridges as Y,useScreenBlockRules as J,useScreenBlockLook as X,useScreenStorageNamespace as K,useScreenNotify as Q,useScreenCanvasHead as _,isSlotMode as Z,useScreenStyleClipboard as q,useScreenDocumentPass as ee,useScreenCanvasDrag as ne,ScreenCanvasTargetProvider as te,isPinnedFirst as oe,isPinnedLast as re,screenSlotsOf as ie}from"./chunk-55IKQFBW.js";import{ROOT_ZONE as le,blockNodeActions as se,TREE_MAX_DEPTH as de,childSlotsOf as ce,slotFieldsOf as ae,slotChildrenIn as pe,nestsInTree as ue,newNodeId as fe}from"./chunk-PLVEGYK6.js";import{useMediaPanel as he,usePanelPick as me,useCancelPanelPick as ge}from"./chunk-R6WTQWAC.js";import{useEaselHost as ye,useHostEscape as ke}from"./chunk-U3JP4VGF.js";import{DEFAULT_STYLE_CLIPBOARD_WORDS as Se}from"./chunk-6WY6ZXJG.js";import{DEFAULT_SCREEN_WORDS as ve}from"./chunk-MCHMF32I.js";import{useEasel as we,useEaselApi as xe}from"./chunk-PDZXAFNX.js";import{TreeRow as be,Subtree as ze,LayersTree as Be,TreeGroupLabel as Ce,TreeRowAction as Oe,TreeSeam as Ie}from"./chunk-UFY6RNMT.js";import{DEFAULT_TREE_WORDS as Ne}from"./chunk-K56YDHYQ.js";import{DEFAULT_NODE_MENU_WORDS as Te}from"./chunk-WK3AFPXY.js";import{toItemSelector as Pe,useNodeOps as $e}from"./chunk-QASZFO4S.js";import{LayersIcon as Ae,MediaIcon as Me}from"./chunk-4VJATVVR.js";import{DEFAULT_SAVE_WORDS as je,saveIndicator as Re}from"./chunk-H6DDIBQ4.js";import{EaselTopBar as Ee,TopBarRail as Le,TopBarCluster as Fe,EaselIconButton as Ve,TopBarDivider as De,DeviceSwitch as He,InspectorIconButton as We,PanelResizeHandle as Ue,MAX_PANEL_W as Ge,MIN_PANEL_W as Ye,panelWidthVars as Je,SaveState as Xe,SaveStateToggle as Ke}from"./chunk-GTDLBUOC.js";import{DEFAULT_CHROME_WORDS as Qe}from"./chunk-Y2G7CU6A.js";import{useWords as _e}from"./chunk-MFIRYGHW.js";import{CanvasDragLayer as Ze}from"./chunk-6HHHBBSY.js";import{DEFAULT_DRAG_WORDS as qe}from"./chunk-O2NLQBFX.js";import{createDragSession as en,useTreeDrag as nn,gapToMoveIndex as tn}from"./chunk-67GNT6PF.js";import{useCanvasFrame as on,BLOCK_SELECTOR as rn,useCanvasEvent as ln}from"./chunk-PAELDYYS.js";import{zoneKey as sn,ROOT_ID as dn,ROOT_SLOT as cn,parseZoneKey as an,DataError as pn}from"./chunk-KRXQM65X.js";import{useRef as un,useMemo as fn,useState as hn,useEffect as mn,useCallback as gn,useLayoutEffect as yn,Fragment as kn}from"react";import{Tooltip as Sn,Button as vn,toast as wn}from"efficient-shell/ui";import{UndoIcon as xn,RedoIcon as bn,TrashIcon as zn,EyeOffIcon as Bn,EyeIcon as Cn,DuplicateIcon as On}from"efficient-shell/icons/efficient";import{jsx as In,jsxs as Nn,Fragment as Tn}from"react/jsx-runtime";function Pn({saveState:e,notSaving:n,readOnlyReason:t,toggle:o,onToggle:r,onRetry:i,words:l,saveWords:s}){if(null!==t)/* @__PURE__ */return In(Xe,{tone:"off",label:t,role:"status"});if(n)/* @__PURE__ */
|
|
2
|
+
return In(Xe,{tone:e.pending?"off-unsaved":"off",label:l.notSaving,role:"status"});const{tone:d,label:c}=Re(e,s),a=e.failed&&!e.paused&&/* @__PURE__ */In(vn,{variant:"secondary",size:"sm",onClick:i,children:l.retry});/* @__PURE__ */
|
|
3
|
+
return Nn(Tn,o?{children:[
|
|
4
|
+
/* @__PURE__ */In(Ke,{pressed:e.paused,onToggle:r,title:e.paused?l.autoSaveOff:l.autoSaveOn,children:/* @__PURE__ */In(Xe,{tone:d,label:c})}),a]}:{children:[
|
|
5
|
+
/* @__PURE__ */In(Xe,{tone:d,label:c,role:"status"}),a]})}function $n({expand:e}){/* @__PURE__ */
|
|
6
|
+
return In("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.9,strokeLinecap:"round",strokeLinejoin:"round",children:/* @__PURE__ */Nn(Tn,e?{children:[
|
|
7
|
+
/* @__PURE__ */In("path",{d:"M8 9l4-4 4 4"}),
|
|
8
|
+
/* @__PURE__ */In("path",{d:"M8 15l4 4 4-4"})]}:{children:[
|
|
9
|
+
/* @__PURE__ */In("path",{d:"M8 4l4 4 4-4"}),
|
|
10
|
+
/* @__PURE__ */In("path",{d:"M8 20l4-4 4 4"}),
|
|
11
|
+
/* @__PURE__ */In("path",{d:"M5 12h14"})]})})}function An(e,n,t){const o=t-n;if(o<6)return null;if(o<26)return{top:Math.round((n+t)/2),height:Math.round(o)};return{top:Math.round(Math.min(Math.max(e,n+13),t-13))}}var Mn="__rungs";var jn="screen:band",Rn={duplicate:!0,delete:!0};function En(){const Re=ye(),{target:Xe,docId:Ke,capabilities:En,currentSlug:Ln,siteId:Fn,onPublish:Vn,saveState:Dn,saveConflict:Hn,retrySave:Wn,toggleAutoSave:Un,readOnly:Gn,readOnlyReason:Yn=null}=B(),Jn=M(),Xn=j(),{mediaEditing:Kn,hasEditGuard:Qn,hasPinnedChrome:_n}=En,{appState:Zn,dispatch:qn,history:et,selectedItem:nt,getSelectorForId:tt,config:ot}=we(e=>e),rt=R(),{first:it,firstGroup:lt,lastGroup:st,isSectionGroup:dt,sectionGroupZone:ct,panelOf:at}=rt,pt=at(it),ut=e=>oe(rt,e),ft=e=>re(rt,e),ht="node"===rt.firstRow,mt=rt.band??null,gt=_e("screen",ve),yt=_e("tree",Ne),kt=_e("drag",qe),St=_e("save",je),vt=_e("menu",Te),wt=_e("styleClipboard",Se),xt=_e("chrome",Qe),bt=E()??`/${Ln}`,zt=L(),Bt=F(),Ct=w({readOnly:Gn}),Ot=w({readOnly:Gn,foldIntoHistory:!0}),It=un(null),Nt=xe(),Tt=fn(()=>({...Ct,select:e=>{It.current=e,Ct.select(e)},commitDocument:(e,n)=>{if(void 0!==n){const t=Nt.config;It.current=Pe(e,t,n)}Ct.commitDocument(e,n)}}),[Ct,Nt]),Pt=Zn.ui,$t=Pt.leftSideBarVisible,At=Pt.rightSideBarVisible,{options:Mt,widths:jt,initial:Rt,fluid:Et,fit:Lt}=V(),[Ft,Vt]=hn(Rt),Dt=he(),Ht=Kn&&null!==Dt,Wt=me(),Ut=ge();D(nt?.props.id);const{read:Gt,write:Yt,forSelection:Jt}=H(),[Xt,Kt]=hn(Gt);mn(()=>{Yt(Xt)},[Xt]);const[Qt,_t]=hn(0),Zt=un(null),qt=un(null),eo=on(qt,{readySelector:rn}),no=f(qt);h(qt,eo);const[to,oo]=hn(!1),ro=un(!1),io=un(!1),[lo,so]=hn(null),co=W(),ao=e=>so(null===e?null:{zone:le,index:e}),[po,uo]=hn([]),[fo,ho]=hn(U),mo="puck"===fo.kind,go=to&&!lo&&co.railTarget?co.railTarget(Zn.data,{node:nt??null,mode:fo}):null,yo=go?{zone:sn(go),index:go.index}:null,ko=lo??yo,So=ko&&ko.zone===le?ko.index:null,vo=t(fo,nt?.props.id),[wo,xo]=hn(null);mn(()=>{wo&&(o(),xo(null))},[wo]);const bo=un(tt);bo.current=tt;const zo=gn((e,{scroll:n})=>{Kt(n=>Jt(e,n)),n&&xo(e);const t=[];let o=e;for(let e=0;e<4;e++){const e=bo.current(o)?.zone;if(!e||!e.includes(":"))break;const n=e.split(":")[0];t.push(n),t.push(e),o=n}0!==t.length&&er(e=>{if(t.every(n=>!e.has(n)))return e;const n=new Set(e);return t.forEach(e=>n.delete(e)),n})},[]),Bo=un(null);mn(()=>{const e=Bo.current;Bo.current=null;const n=null==nt?.props.id?null:String(nt.props.id);ho(e&&e.id===n?e.mode:at(nt?.type)??U);const t=nt?.props.id,o=It.current;if(It.current=null,!t)return;const i=tt(t);zo(String(t),{scroll:!r(o,i??null,le)})},[nt?.props.id,zo]);const Co=gn(e=>{ho(n=>G(n,e)?n:e),qn({type:"setUi",ui:{rightSideBarVisible:!0}})},[qn]),Oo=un(()=>{});Oo.current=(e,n)=>{const t=e?Gr(e.zone??le)[e.index]?.props.id:null,o=null==t?null:String(t),r=null==nt?.props.id?null:String(nt.props.id);ho(e=>G(e,n)?e:n),o!==r&&(Bo.current={id:o,mode:n},Tt.select(e))};const Io=gn((e,n)=>Oo.current(e,n),[]),No={kind:fo.kind,mode:fo,open:Co,show:e=>ho(e),reveal:()=>{At||qn({type:"setUi",ui:{rightSideBarVisible:!0}})},select:Io},To=Y(No,{data:Zn.data,selected:nt??null,zoneOf:e=>tt(e)?.zone,readOnly:Boolean(Gn),select:e=>{ho(U),Tt.select({index:e})},replace:(e,n)=>Tt.replaceComponent(le,e,n),scrollTo:e=>gi(e)},{device:Ft,refreshes:Qt},{setView:Kt,reveal:()=>{$t||qn({type:"setUi",ui:{leftSideBarVisible:!0}})}}),Po=To.pinnedSource??!1,$o=To.resolveLeftView?To.resolveLeftView(Xt,Ht):"media"===Xt&&Ht?Xt:"sections",Ao=J(),{isLockedBlock:Mo,duplicateBlocked:jo,nestDepth:Ro,newSectionNode:Eo,canAddTo:Lo,blockIsOffered:Fo}=Ao,Vo=X(),{labelAtLevel:Do,Icon:Ho,useProducts:Wo}=Vo,Uo=Vo.rowName?(e,n,t)=>Vo.rowName(e,n,t):void 0,Go=gn(e=>{qn({type:"setUi",ui:{rightSideBarVisible:!0}}),a(e),zo(e,{scroll:!0})},[qn,zo]),{selectNode:Yo,openPartId:Jo}=v({mode:fo,setMode:ho,onOpenPart:Go}),[Xo,Ko]=hn(null);ke(null!==Xo,()=>Ko(null));const Qo=y(K()),_o=Qo.collapsed,Zo=Qo.panelWidths,[qo,er]=hn(()=>{if("undefined"==typeof window)/* @__PURE__ */return new Set;try{const e=window.localStorage.getItem(_o);return new Set(e?JSON.parse(e):[])}catch{/* @__PURE__ */
|
|
12
|
+
return new Set}});mn(()=>{try{window.localStorage.setItem(_o,JSON.stringify([...qo]))}catch{}},[qo]);const[nr,tr]=hn(()=>{if("undefined"==typeof window)return{...k};try{const e=window.localStorage.getItem(Zo);if(!e)return{...k};const n=JSON.parse(e);return{left:S(Number(n.left)||k.left),right:S(Number(n.right)||k.right)}}catch{return{...k}}});mn(()=>{const e=setTimeout(()=>{try{window.localStorage.setItem(Zo,JSON.stringify(nr))}catch{}},300);return()=>clearTimeout(e)},[nr]);const or=gn((e,n)=>tr(t=>{const o="function"==typeof n?n(t[e]):n;return t[e]===o?t:{...t,[e]:o}}),[]),rr=gn(e=>or("left",e),[or]),ir=gn(e=>or("right",e),[or]),lr=e=>qo.has(e),sr=e=>er(n=>{const t=new Set(n);return t.has(e)?t.delete(e):t.add(e),t}),dr=un(!1),cr=un(null);mn(()=>{if(dr.current&&!to){const e=cr.current,n=e&&e.isConnected&&!e.closest('[aria-hidden="true"]')?e:null;(n??qt.current?.querySelector(`button[aria-label="${CSS.escape(gt.add.title)}"]`))?.focus(),cr.current=null}dr.current=to},[to]),mn(()=>{if(!to||!no)return;const e=e=>{"Escape"===e.key&&Bi()};return no.addEventListener("keydown",e),()=>no.removeEventListener("keydown",e)},[to,no]),ke(to,()=>Bi()),mn(()=>{!$t&&to&&(oo(!1),so(null),ro.current=!1)},[$t]),mn(()=>{if(!Wt)return io.current&&qn({type:"setUi",ui:{leftSideBarVisible:!1}}),void(io.current=!1);to&&(oo(!1),so(null),io.current=ro.current,ro.current=!1),$t||(io.current=!0,qn({type:"setUi",ui:{leftSideBarVisible:!0}}))},[Wt]),mn(()=>{!$t&&Wt&&(io.current=!1,Ut())},[$t]),mn(()=>{if(!Wt||!no)return;const e=e=>{"Escape"===e.key&&Ut()};return no.addEventListener("keydown",e),()=>no.removeEventListener("keydown",e)},[Wt,no]),ke(null!==Wt,()=>Ut());const ar=Q(),pr=(e,n="success")=>{ar?ar(e,"error"===n?"error":"info"):"error"===n?wn.error(e,{duration:3200,sound:!1}):wn.success(e,{duration:1900,sound:!1})},ur=un(null),[fr,hr]=hn(0),[mr,gr]=hn(0),yr=_(),kr=un(null),Sr=e=>Math.max(0,e.clientHeight-(kr.current?.offsetHeight??0));mn(()=>{const e=ur.current;if(!e)return;const n=()=>{hr(e.clientWidth),gr(Sr(e))};n();const t=new ResizeObserver(n);return t.observe(e),kr.current&&t.observe(kr.current),()=>t.disconnect()},[]),yn(()=>{ur.current&&(hr(ur.current.clientWidth),gr(Sr(ur.current)))},[nr,$t,At]);const vr=Ft===Et?fr>0?fr:jt[Et]:jt[Ft],wr=fr>0?Math.min(fr/vr,"shrink"===Lt?1:2):1,xr=vr*wr,br=fr>0&&xr>fr+1,zr={width:xr,height:mr||"100%",flex:"none",position:"relative"},Br={width:vr,height:mr?mr/wr:"100%",maxHeight:"none",transform:1!==wr?`scale(${wr})`:void 0,transformOrigin:"top left"},Cr=()=>qn({type:"setUi",ui:{leftSideBarVisible:!$t}}),Or=()=>qn({type:"setUi",ui:{rightSideBarVisible:!At}}),Ir=e=>{to&&(oo(!1),so(null),ro.current=!1,$t&&Xt===e)||Wt&&(io.current=!1,Ut(),$t&&Xt===e)||($t&&Xt===e?Cr():(Kt(e),$t||qn({type:"setUi",ui:{leftSideBarVisible:!0}})))},Nr=()=>{C(Re,{accept:"image/*",title:xt.mediaLibrary})},Tr=()=>{ho(U),Tt.select(null),u()},Pr=()=>{ho(pt??U),At||qn({type:"setUi",ui:{rightSideBarVisible:!0}})},$r=Zn.data.content??[],Ar=()=>{const e=$r.findIndex(ut),n=$r.findIndex(ft);return{floor:e>=0?e+1:0,cap:n>=0?n:$r.length}},Mr=ot,jr=Ao.stripCopy,Rr=e=>i(e,jr),Er=x(),Lr=$e({data:Zn.data,config:Mr,readOnly:Boolean(Gn),clipboard:Er,strip:jr?e=>jr(e):void 0,afterRemove:"none",stepBounds:(e,n)=>{if(e.parentId!==dn||e.slot!==cn)return{min:0,max:n-1};const{floor:t,cap:o}=Ar();return{min:t,max:o-1}},commit:(e,{select:n})=>{void 0!==n&&ho(U);const t=void 0===n||"node"===n?.kind?n:null;Tt.commitDocument(e,t)}}),Fr=e=>Do(e,"block",ot.components[e]?.label??e),Vr=gn(e=>ot.components[e]?.defaultProps??{},[ot]),Dr=e=>Do(e,"section",Fr(e)),Hr=e=>l({type:e.type,props:e.props??{}},Dr(e.type),Uo),{nodeAddresses:Wr,zoneItems:Ur}=fn(()=>{const e=/* @__PURE__ */new Map,n=/* @__PURE__ */new Map,t=(o,r,i)=>{n.set(r,o),o.forEach((n,o)=>{const l=String(n.props?.id??"");if(l&&e.set(l,{zone:r,index:o}),i>=de)return;const s=/* @__PURE__ */new Map;for(const{child:e,zone:t}of ce(ot,n))s.set(t,[...s.get(t)??[],e]);for(const[e,n]of s)t(n,e,i+1)})};return t($r,le,0),{nodeAddresses:e,zoneItems:n}},[$r,ot]),Gr=gn(e=>Ur.get(e)??[],[Ur]),Yr=e=>{const n=Wr.get(e);return n?Gr(n.zone)[n.index]:void 0},Jr=e=>ie(Ao,ot,e),Xr=e=>{if(!Ao.slotsOf||e===le)return null;const n=e.lastIndexOf(":");if(n<=0)return null;const t=Yr(e.slice(0,n));if(!t)return null;const o=Jr(t).filter(e=>e.rung),r=o.findIndex(t=>t.slot===e.slice(n+1));return r<0?null:{node:t,slot:o[r],position:r}},Kr=(()=>{if(!Z(fo))return null;const e=`${fo.nodeId}:${fo.slot}`;return Xr(e)?.slot.panel===fo.kind?e:null})(),Qr=un(null);mn(()=>{const e=Qr.current;if(Qr.current=null,!Kr||!Z(fo))return;const n=fo.nodeId;zo(n,{scroll:e!==Kr}),er(e=>{if(!e.has(n))return e;const t=new Set(e);return t.delete(n),t})},[fo]);const _r=(e,n,t)=>{const o=String(e.props.id);if(!n.panel)return void(e=>{const n=Wr.get(e);n&&(n.zone===le?yi(n.index):Ji(n.zone,n.index,e,Yr(n.zone.slice(0,n.zone.lastIndexOf(":")))?.type??""))})(o);const r={kind:n.panel,nodeId:o,slot:n.slot},i=`${o}:${n.slot}`;t&&Kr!==i&&(Qr.current=i),Io(null,r),At||qn({type:"setUi",ui:{rightSideBarVisible:!0}}),gi(o)},Zr=(e,n,t)=>{const o=`${e}:${n}`;if(er(n=>{if(!n.has(o)&&!n.has(e))return n;const t=new Set(n);return t.delete(o),t.delete(e),t}),!t)return;Kr!==o&&(Qr.current=o);Io(null,{kind:t,nodeId:e,slot:n})},qr=(e,n,t)=>{if(Gn||!Ao.moveSlot)return;const o=Yr(e),r=o?Jr(o).filter(e=>e.rung):[],i=r[n];if(!i)return;const l={parentId:e,slot:Mn,index:n},s=tn(l,{...l,index:Math.min(Math.max(t,0),r.length)});if(s===n)return;const d=Ao.moveSlot(e,n,s);"string"==typeof d&&Zr(e,d,i.panel)},ei=Wo(),ni=fn(()=>{const e=/* @__PURE__ */new Map;for(const n of ei??[])e.set(n.slug,n.name);return e},[ei]),ti=e=>s(e,Fr,Vo.plainText,e=>ni.get(e),Vo.rowName),oi=(e,n)=>{const t=ot.components[e.type]?.fields,o=n===le||pl(n)?"section":"block",r=n===le&&(ut(e)||ft(e)||dt(e.type)),i="block"===o?d(t):r?null:c(t);return Vo.renamePropOf?Vo.renamePropOf(e,o,i):i},ri=(e,n,t,o)=>{if(!(!Gn&&Xo?.zone===e&&Xo.index===n))return;const r=(t,o)=>{Ko(null),o&&((e,n,t)=>{const o=Gr(e)[n];if(!o)return;const r=oi(o,e);r&&Tt.replaceComponent(e,n,{...o,props:{...o.props,[r]:t.trim()}})})(e,n,t)};/* @__PURE__ */
|
|
13
|
+
return In("input",{className:"es-tree-rename",defaultValue:o,autoFocus:!0,"aria-label":gt.rename,onClick:e=>e.stopPropagation(),onBlur:e=>r(e.currentTarget.value,!0),onKeyDown:e=>{"Enter"===e.key?(e.preventDefault(),r(e.currentTarget.value,!0)):"Escape"===e.key&&(e.preventDefault(),r("",!1))}},t)},ii=n(q(),wt),li=ii.scope({target:Xe,siteId:Fn,docId:Ke}),si=ot,di=(e,n)=>n===le?Dr(e):Fr(e),ci=(e,n,t)=>{const o=ii.plan(li,t,di(t.type,e),si);o&&(o.changed&&Tt.replaceComponent(e,n,{...t,props:{...o.props,id:t.props.id}}),pr(o.message))},ai=b({nodesIn:Gr,nodeAt:(e,n)=>Gr(e)[n]??null,labelOf:(e,n)=>n===le?Dr(e):Fr(e),renamePropOf:oi,beginRename:(e,n)=>Ko({zone:e,index:n}),history:{hasPast:et.hasPast,hasFuture:et.hasFuture,back:()=>et.back(),forward:()=>et.forward()},openAddSection:()=>{Tt.select(null),bi(null)},openPageSettings:()=>{Tt.select(null),ho(U)},pageSettingsLabel:gt.pageSettings,words:{menu:vt,styleClipboard:wt,screen:gt.menu},readOnly:Boolean(Gn),collapseAll:()=>er(new Set(Gr(le).map(e=>String(e.props.id)))),onPasteRefused:e=>pr(e?gt.pasteRefused({name:e.label}):gt.menu.clipboardRefused,"error"),canPasteAt:(e,n)=>fl(e,n),menuRows:To.menuRows,isLocked:e=>Mo(e.type),duplicateBlocked:e=>jo(Zn.data,e),permits:e=>se(ot,e.type),canAddTo:Lo,nodeOps:Lr,isPinned:(e,n)=>n===le&&(ut(e)||ft(e)),sectionBand:Ar,openAddInside:(e,n)=>{e===le?yi(n):Tt.select({zone:e,index:n}),bi(null)},locate:e=>Wr.get(e)??null,rowNameOf:(e,n)=>n===le?Hr(e):ti(e),selectAt:(e,n,t,o)=>{e===le?yi(n):Ji(e,n,t,o??"")},slotRung:e=>{const n=Xr(e);return n?.slot.panel?{label:n.slot.label,select:()=>_r(n.node,n.slot,!1)}:null},style:{held:()=>O(li),canCopy:e=>ii.rows(si,e).some(e=>!1!==e.counted),copy:(e,n)=>ii.copy(li,e,di(e.type,n),si),paste:(e,n,t)=>ci(e,n,t)},keys:Xn?{target:no,selected:()=>{const e=Zn.ui.itemSelector;return e?{zone:e.zone??le,index:e.index}:null},held:()=>Er.get(),readOnly:Boolean(Gn),onDone:({done:e,name:n})=>{"copied"===e&&pr(gt.copied({name:n}))}}:void 0},eo),pi=un({copy:(e,n)=>{},paste:(e,n,t)=>{},at:()=>null,readOnly:!1});mn(()=>{pi.current={copy:(e,n)=>ii.copy(li,e,di(e.type,n),si),paste:ci,at:()=>{const e=Zn.ui.itemSelector;if(!e)return null;const n=e.zone??le,t=Gr(n)[e.index];return t?{zone:n,index:e.index,node:t}:null},readOnly:Boolean(Gn)}});const ui=gn(e=>{const n=I(e);if(!n)return;const t=pi.current,o=t.at();o&&(e.preventDefault(),"copy"===n?t.copy(o.node,o.zone):t.readOnly||t.paste(o.zone,o.index,o.node))},[]);mn(()=>{if(!no)return;const e=e=>ui(e);return no.addEventListener("keydown",e),()=>no.removeEventListener("keydown",e)},[ui,no]),ln(eo,"keydown",ui);const fi=$r.map(e=>e.props.id).join("|");mn(()=>{const e=eo?.document??null,n=eo?.window??null;let t=0;const o=[],r=()=>{if(!e)return void uo(e=>e.length?[]:e);const n=$r.findIndex(ft),t=n>=0?n:$r.length,o=n=>{const t=$r[n]?.props?.id;return null==t?null:e.querySelector(`[data-puck-component="${CSS.escape(String(t))}"]`)},r=e=>e?[...e.querySelectorAll(rn)].map(e=>e.getBoundingClientRect()).filter(e=>e.width>0||e.height>0):[],i=[];for(let e=1;e<=t;e++){const n=o(e),t=o(e-1),l=n?.getBoundingClientRect()??null,s=t?.getBoundingClientRect()??null;if(!l&&!s)continue;const d=An(l&&s?(s.bottom+l.top)/2:l?l.top:s.bottom,Math.max(-1/0,...r(t).map(e=>e.bottom)),Math.min(1/0,...r(n).map(e=>e.top)));d&&i.push({...d,index:e})}uo(e=>function(e,n){if(e.length!==n.length)return!1;for(let t=0;t<e.length;t++)if(e[t].top!==n[t].top||e[t].index!==n[t].index||e[t].height!==n[t].height)return!1;return!0}(e,i)?e:i)},i=()=>{cancelAnimationFrame(t),t=requestAnimationFrame(r)};if(!e||!n)return void r();n.addEventListener("scroll",i,{passive:!0});const l=new ResizeObserver(i);return l.observe(e.documentElement),r(),o.push(setTimeout(r,150),setTimeout(r,450)),()=>{cancelAnimationFrame(t),o.forEach(clearTimeout),n.removeEventListener("scroll",i),l.disconnect()}},[eo,fi,Ft,wr,$t,At,nt?.props.id]);const hi=eo?.document??null,mi=eo?.window??null;mn(()=>{const e=Zt.current;if(!e||!hi||!mi)return;const n=[],t=()=>{const n=hi.querySelector(`[data-puck-component="${CSS.escape(e.id)}"]`);if(!n)return!1;const t=n.getBoundingClientRect().top-e.offset;return Math.abs(t)>1&&mi.scrollTo({left:mi.scrollX,top:mi.scrollY+t,behavior:"instant"}),!0};return Zt.current=null,t()&&n.push(setTimeout(t,150),setTimeout(t,450)),()=>n.forEach(clearTimeout)},[hi,mi]);const gi=e=>{To.holdCanvasOn?To.holdCanvasOn(e):a(e)},yi=e=>{ho(U),Tt.select({index:e}),To.sectionPressed?.($r[e]);const n=$r[e]?.props?.id;n&&gi(n)},ki=e=>{const{floor:n,cap:t}=Ar(),o=e=>Math.min(Math.max(n,e),t);if("number"==typeof e)return o(e);const r=nt&&fo.kind!==pt?.kind?$r.findIndex(e=>e.props.id===nt.props.id):-1;return o(r>=0?r+1:t)},Si=(e,n)=>{const{floor:t,cap:o}=Ar(),r=Math.min(Math.max(n,t),o),i=e<r?r-1:r;return i===e?{moved:!1,dest:e}:(Tt.reorderComponent(le,e,i),Tt.select({index:i}),{moved:!0,dest:i})},vi=(e,n,t,o)=>{ho(U),Tt.select(o?{index:o.index,zone:o.zone}:{index:e}),a(n),pr(gt.sectionAdded({name:t}))},wi=(e,n)=>{const t=ki(n),o=Eo(e,{nodeDefaults:Vr,newNodeId:fe,sectionLabel:Dr,blockIsOffered:Fo}),r=o?Tt.insertNode(le,t,o):Tt.insertSection(e,t);return vi(t,r,Dr(e),o?((e,n,t)=>{if(e.type===t)return null;const o={at:null},r=(e,n,i)=>{const l=i.filter(n=>n===e.type).length;for(const{child:s,zone:d,index:c}of ce(ot,e)){if(s.type===t&&(!o.at||n>o.at.depth)){const r=Lo(e.type,l,d.slice(d.lastIndexOf(":")+1)),i=r?.choices??(r?.spec?[{type:r.spec.childType,label:r.spec.childType}]:[]);null!==r&&"footer"!==r.source&&`${e.props.id}:${r.slot}`===d&&i.some(e=>e.type===t)&&(o.at={zone:d,index:c,depth:n})}r(s,n+1,[...i,e.type])}};return r({type:e.type,props:{...e.props,id:n}},1,[]),o.at?{zone:o.at.zone,index:o.at.index}:null})(o,r,e):null),t},xi=(e,n,t)=>{const o=ki(t),r=Tt.insertNode(le,o,n);return vi(o,r,e),o},bi=e=>zi(le,e),zi=(e,n)=>{cr.current=document.activeElement??null,Wt&&(ro.current=io.current,io.current=!1,Ut()),so(null===n?null:{zone:e,index:n}),oo(!0),$t||(ro.current=!0,qn({type:"setUi",ui:{leftSideBarVisible:!0}}))},Bi=()=>{oo(!1),so(null),ro.current&&qn({type:"setUi",ui:{leftSideBarVisible:!1}}),ro.current=!1},Ci=(e,n,t)=>{if("section"===e.kind)Tt.insertComponent(n,e.type,t);else{if("template"!==e.kind)return;Tt.insertNode(n,t,Rr(e.template.node))}ho(U),Tt.select({index:t,zone:n})},Oi=(e,n)=>Vo.rowName?n?ut(e)?Vo.rowName(e,"section",gt.header):ft(e)?Vo.rowName(e,"section",gt.footer):dt(e.type)?Vo.rowName(e,"section",Fr(e.type)):Hr(e):ti(e):n?Dr(e.type):Fr(e.type),Ii=e=>n=>{e()},Ni=()=>To.editPinnedSource?.(),Ti=(e,n,t)=>{if(Gn)return null;const o=Gr(e)[n];return o&&!se(ot,o.type).delete?null:/* @__PURE__ */In(Oe,{kind:"delete",label:gt.deleteNamed({name:t}),onClick:()=>((e,n)=>{const t=Gr(e)[n]?.props?.id;null!=t&&Lr.remove(String(t))})(e,n),children:/* @__PURE__ */In(zn,{size:15})})},Pi=e=>Vo.rowPreview?.(e)||void 0,$i=e=>Vo.rowMarks?.(e)??void 0,Ai=(e,n,t)=>Vo.rowActions?.(e,n,t)??null,Mi=(e,n,t,o)=>{if(Gn)return null;const r=Boolean(t.props._hidden);/* @__PURE__ */
|
|
14
|
+
return In(Oe,{kind:"eye",label:r?gt.showNamed({name:o}):gt.hideNamed({name:o}),onClick:()=>Ri(e,n,t),children:/* @__PURE__ */In(r?Bn:Cn,{size:14,strokeWidth:1.8,strokeLinecap:void 0,strokeLinejoin:void 0})})},ji=e=>{const n=Dr($r[e]?.type??""),t=n?gt.addSectionBefore({name:n}):gt.addSectionHere;return Al(le,e,()=>bi(e),t)},Ri=(e,n,t)=>{Tt.replaceComponent(e,n,{...t,props:{...t.props,_hidden:!t.props._hidden}})},Ei=e=>ae(ot,e),Li=e=>ce(ot,e),Fi=e=>Ao.slotsOf?Jr(e).map(n=>({slot:n.slot,rung:n.rung?n:null,kids:pe(e,n.slot)})):[{slot:null,rung:null,kids:Li(e)}],Vi=e=>Ao.slotsOf?Fi(e).flatMap(e=>e.kids):Li(e),Di=e=>Boolean(Ao.slotsOf)&&Jr(e).some(e=>e.rung),Hi=(e,n,t)=>null===t?void 0===n?Lo(e):Lo(e,n):Lo(e,n,t),Wi=(e,n,t)=>{const o=ue(ot,e.type,n)&&(t||Vi(e).length>0||Di(e));return{collapsible:o,folded:o&&lr(String(e.props.id))}},Ui=(e,n,t)=>Fi(e).flatMap(o=>{const r=o.rung?n+1:n,i=o.kids.flatMap(({child:e})=>Wi(e,r,t(e.type)).collapsible?[String(e.props.id),...Ui(e,r+1,t)]:[]);return o.rung?[`${e.props.id}:${o.rung.slot}`,...i]:i}),Gi=e=>Vi(e).length>0||Di(e)||Boolean(Lo(e.type)),Yi=e=>Boolean(Lo(e)),Ji=(e,n,t,o)=>{if(ho(U),Lo(o)?.spec?.slider){const t=e.split(":")[0];p(t,n),Tt.select({index:n,zone:e}),a(t)}else Tt.select({index:n,zone:e}),gi(t)},Xi=(e,n,t,o,r)=>{const i=`${e}:${n}`;Tt.insertComponent(i,t,o),Lo(r)?.spec?.slider?requestAnimationFrame(()=>{p(e,o),Tt.select({index:o,zone:i})}):Tt.select({index:o,zone:i})},Ki=(e,n,t)=>{Tt.insertComponent(e,n,t),ho(U),Tt.select({index:t,zone:e})},Qi=un(/* @__PURE__ */new Set);mn(()=>{$r.forEach(e=>{const n=Lo(e.type)?.spec;if(!n)return;const t=e.props.id;if(Qi.current.has(t))return;Qi.current.add(t);if((Array.isArray(e.props[n.slot])?e.props[n.slot]:[]).length>0)return;if(n.skipSeed?.(e.props))return;const o=`${t}:${n.slot}`,r=n.legacy?.(e.props)??[];(r.length?r:n.seeds(Vr)).forEach((e,t)=>Ot.seedChild(o,t,n.childType,e))})},[$r,Ot,Vr]);const _i=un(/* @__PURE__ */new Set);mn(()=>{$r.forEach((n,t)=>{const o=n.props.id;if(_i.current.has(o))return;const r=e(n,Ei(n.type));_i.current.add(o),r&&Ot.replaceComponent(le,t,{...n,props:r})})},[$r,Ot]),ee(Ot,ot);const Zi=$r.findIndex(ft),qi=Zi>=0?$r[Zi]:null,el=ht?$r.findIndex(ut):-1,nl=el>=0?$r[el]:null,tl=$r.find(e=>e.type===lt)??null,ol=$r.find(e=>e.type===st)??null,rl=Zi>=0?Zi:$r.length,il=[];$r.forEach(e=>{ft(e)||(Gi(e)&&il.push(String(e.props.id)),il.push(...Ui(e,1,Yi)))}),qi&&(il.push(String(qi.props.id)),il.push(...Ui(qi,1,Yi)));const ll=il.length>0&&il.every(e=>qo.has(e)),sl=e=>{const n=Vo.blockRowName(e,Fr);return Vo.rowName?Vo.rowName(e,"block",n):n},dl=(e,n,t,o)=>{const r=Gr(e)[t];if(!r)return;const i={...an(e),index:t},l={...an(n),index:Math.min(Math.max(o,0),Gr(n).length)},s=tn(i,l);if(e!==n||s!==t)try{Lr.move(String(r.props.id),{...l,index:s})}catch(e){if(!(e instanceof pn))throw e}},cl=e=>{const n=/* @__PURE__ */new Set,t=e=>{for(const{child:o,zone:r}of Li(e))n.add(r),t(o)};for(const t of Ei(e.type))n.add(`${e.props.id}:${t}`);return t(e),n},al=e=>{let n=e.slice(0,e.indexOf(":"));for(let e=0;e<64;e++){const e=Wr.get(n);if(!e)return null;if(e.zone===le)return n;n=e.zone.slice(0,e.zone.indexOf(":"))}return null},pl=e=>{const n=e.slice(0,e.indexOf(":")),t=$r.find(e=>dt(e.type)&&String(e.props.id)===n);return t&&ct(n)===e?t:null},ul=(e,n,t)=>{if(e.rung){const t=Yr(e.rung.nodeId),o=t?Jr(t).filter(e=>e.rung).length:0;return n.parentId===e.rung.nodeId&&n.slot===Mn&&n.index>=0&&n.index<=o}if(n.slot===Mn)return!1;if(e.add)return ml(e.add,n);const o=sn(n);if(dt(e.type))return!1;const r=pl(o),i=pl(e.zone);if(r||i)return!(!r||!i)&&(n.index>=0&&n.index<=Gr(o).length);if(e.zone===le||o===le){if(e.zone!==o)return!1;const{floor:t,cap:r}=Ar();return n.index>=t&&n.index<=r}if(n.index<0||n.index>Gr(o).length)return!1;if(e.zone===o)return!0;const l=qi&&!rt.lastIsOpen?String(qi.props.id):null;return(!l||al(e.zone)!==l&&al(o)!==l)&&((e,n,t,o)=>{if(e===n)return!0;const r=o??Gr(e)[t];if(!r)return!1;const i=n.split(":")[0],l=Wr.get(i),s=l?Gr(l.zone)[l.index]:void 0;if(!s)return!1;if(!o&&cl(r).has(n))return!1;const d=Lo(s.type,Ro(Zn?.data,s.type,i),n.slice(n.lastIndexOf(":")+1));return!!d&&(!!(d.choices?d.choices.some(e=>e.type===r.type):d.spec?.childType===r.type)&&!d.spec?.addBlocked?.(Gr(n),r))})(e.zone,o,e.index,t)},fl=(e,n)=>{const t=sn(e.from);if(t===sn(n))return!0;const o=e.node;return ul({id:String(o.props?.id??""),zone:t,index:-1,type:o.type},n,o)},hl=e=>{const n=e.slice(0,e.indexOf(":")),t=Wr.get(n),o=t?Gr(t.zone)[t.index]:void 0;if(!t||!o)return null;const r=Lo(o.type,Ro(Zn?.data,o.type,n),e.slice(e.lastIndexOf(":")+1));if(!r||`${n}:${r.slot}`!==e)return null;if("footer"===r.source)return null;const i=r.choices??(r.spec?[{type:r.spec.childType,label:Fr(r.spec.childType)}]:[]),l=Xr(e);return{parent:o,parentId:n,target:r,choices:i,parentName:l?l.slot.label:Oi(o,t.zone===le)}},ml=(e,n)=>{const t=sn(n);if("block"!==e.kind){if(pl(t))return n.index>=0&&n.index<=Gr(t).length;if(t!==le)return!1;const{floor:e,cap:o}=Ar();return n.index>=e&&n.index<=o}if(t===le)return!1;const o=hl(t);return!(!o||!o.choices.some(n=>n.type===e.type))&&!o.target.spec?.addBlocked?.(Gr(t))},gl=(e,n)=>{e.rung?qr(e.rung.nodeId,e.index,n.index):e.add?((e,n)=>{if("block"!==e.kind&&pl(sn(n)))return void Ci(e,sn(n),n.index);if("section"===e.kind)return void wi(e.type,n.index);if("template"===e.kind)return void xi(e.template.name,Rr(e.template.node),n.index);const t=sn(n),o=hl(t);o&&(o.target.spec?Xi(o.parentId,o.target.slot,e.type,n.index,o.parent.type):Ki(t,e.type,n.index))})(e.add,n):e.zone===le?Si(e.index,n.index):dl(e.zone,sn(n),e.index,n.index)},[yl]=hn(()=>en()),kl=nn({keyOf:e=>e.id,readOnly:Boolean(Gn),session:yl,canDrop:ul,onDrop:gl,onStep:(e,n)=>{e.rung?qr(e.rung.nodeId,e.index,n<0?e.index-1:e.index+2):e.zone===le?((e,n)=>{const t=Dr($r[e]?.type??""),o=Si(e,n<0?e-1:e+2);if(!o.moved)return void pr(n<0?gt.sectionFirst({name:t}):gt.sectionLast({name:t}));const{floor:r,cap:i}=Ar();pr(gt.sectionMoved({name:t,n:o.dest-r+1,total:i-r}))})(e.index,n):dl(e.zone,e.zone,e.index,n<0?e.index-1:e.index+2)}}),Sl=gn(e=>{const{floor:n,cap:t}=Ar(),o=[];for(const r of e.nodes){const e=sn(r.place),i=Gr(e)[r.place.index];if(!i||String(i.props.id)!==r.id)continue;if(ut(i)||ft(i)||Mo(i.type))continue;if(dt(i.type))continue;const l=Boolean(pl(e)),s=e===le||l;e===le&&t-n<2||o.push({key:r.id,item:{id:r.id,zone:e,index:r.place.index,type:i.type},box:r.box,label:s?Dr(i.type):ti(i),from:r.place})}return{sources:o,zones:e.zones.filter(e=>e.children.length>0||Boolean(hl(sn(e.list))?.choices.length)||Boolean(pl(sn(e.list))))}},[Zn.data]),vl=e=>{ho(U),Tt.select(e.zone===le?{index:e.index}:{index:e.index,zone:e.zone})},wl=ne(),xl=()=>({data:Zn.data,device:Ft,ops:Tt,inspector:No}),bl=wl?.model,zl=fn(()=>bl?e=>bl(e,Sl(e),xl()):Sl,[bl,Sl,Ft]),Bl=wl?.measure,Cl=Bl?(e,n)=>Bl(e,n,xl()):void 0,Ol=wl?.canDrop,Il=Ol?(e,n)=>Ol(e,n,ul,xl()):ul,Nl=wl?.drop,Tl=Nl?(e,n)=>Nl(e,n,gl,xl()):gl,Pl=wl?.pick,$l=Pl?e=>Pl(e,vl,xl()):vl,Al=(e,n,t,o)=>/* @__PURE__ */In(Ie,{...Gn?{}:kl.seam({place:{...an(e),index:n}}),onAdd:Gn?void 0:t,label:o},`seam:${e}:${n}`),Ml={rowClick:Ii,isCollapsed:lr,toggleCollapse:sr},jl=e=>{const n=String(e.props.id),t=$r.findIndex(e=>String(e.props.id)===n),o=ct(n),r=Gr(o),i=lr(n),l=Fr(e.type),s=Vo.rowName?Vo.rowName(e,"section",l):l,d=e=>Al(o,e,()=>zi(o,e),gt.addSectionHere);/* @__PURE__ */
|
|
15
|
+
return Nn(Tn,{children:[
|
|
16
|
+
/* @__PURE__ */In(be,{words:yt,icon:/* @__PURE__ */In(Ho,{type:e.type,size:13}),name:s,preview:Pi(e),marks:$i(e),onSelect:()=>yi(t),nameSlot:ri(le,t,n,s),selected:vo===n,actions:Ai(e,le,t)??void 0,rowProps:{"data-node-id":n,onClick:Ii(()=>yi(t))},fold:{open:!i,label:"section",onToggle:()=>sr(n)}}),!i&&/* @__PURE__ */Nn(ze,{children:[r.map((n,t)=>{const r=String(n.props.id),i=Hr(n),l=Gi(n),s=l&&lr(r),c=()=>Ji(o,t,r,e.type),{rowProps:a,...p}=kl.row({item:{id:r,zone:o,index:t,type:n.type},place:{...an(o),index:t}},{"data-node-id":r,onClick:Ii(c)});/* @__PURE__ */
|
|
17
|
+
return Nn(kn,{children:[d(t),
|
|
18
|
+
/* @__PURE__ */In(be,{words:yt,icon:/* @__PURE__ */In(Ho,{type:n.type,size:13}),name:i,preview:Pi(n),marks:$i(n),onSelect:c,nameSlot:ri(o,t,r,i),selected:vo===r,hidden:Boolean(n.props._hidden),...p,fold:l?{open:!s,label:"section",onToggle:()=>sr(r)}:void 0,actions:/* @__PURE__ */Nn(Tn,{children:[Ti(o,t,i),Ai(n,o,t),Mi(o,t,n,i)]}),rowProps:a}),l&&!s&&/* @__PURE__ */In(ze,{children:Ll(n,2)})]},r)}),d(r.length)]})]})},Rl=(e,n,t,o,r)=>{const i=String(e.props.id),l=`${i}:${n.slot}`,s=kl.dragging,d=!lr(l)&&s?.rung?.nodeId!==i,c={...an(l),index:0},a=s&&!s.rung&&ul(s,c)?c:void 0,p=()=>_r(e,n,!0),{rowProps:u,...f}=kl.row({item:{id:`rung:${l}`,zone:`${i}:${Mn}`,index:t,type:e.type,rung:{nodeId:i,slot:n.slot}},place:{parentId:i,slot:Mn,index:t},into:a,canDrag:Boolean(Ao.moveSlot)&&!1!==n.movable&&o>1},{"data-slot-zone":l,onClick:Ii(p)}),h=Gn?null:Ao.slotActions?.(e,n.slot);/* @__PURE__ */
|
|
19
|
+
return Nn(kn,{children:[n.heading,
|
|
20
|
+
/* @__PURE__ */In(be,{words:yt,icon:n.glyph??null,name:n.label,badge:n.badge,onSelect:p,selected:Kr===l,...f,dragHint:n.dragHint,fold:{open:d,label:n.label,onToggle:()=>sr(l)},actions:h&&h.length>0?/* @__PURE__ */In(Tn,{children:h.map((t,o)=>/* @__PURE__ */In(Oe,{kind:"delete"===t.kind?"delete":"plain",label:t.label,disabled:t.disabled,onClick:()=>((e,n,t)=>{if(Gn||t.disabled)return;const o=String(e.props.id),r=e=>{"string"==typeof e&&Zr(o,e,n.panel)},i=t.run();i&&"function"==typeof i.then?i.then(r):r(i)})(e,n,t),children:"delete"===t.kind?/* @__PURE__ */In(zn,{size:15}):/* @__PURE__ */In(On,{size:15})},`${o}:${t.kind}`))}):void 0,rowProps:u}),d&&/* @__PURE__ */In(ze,{children:r})]},l)},El=(e,n)=>{const t=Fi(e),o=t.filter(e=>e.rung).length;let r=0;/* @__PURE__ */
|
|
21
|
+
return In(Tn,{children:t.map(t=>{const i=t.kids,l=t.rung?n+1:n,s=Hi(e.type,void 0,t.slot),d=s?`${e.props.id}:${s.slot}`:null,c=null===t.slot?null:`${e.props.id}:${t.slot}`,a=null!==c&&Boolean(hl(c)?.choices.length),p=(e,n)=>a?Al(e,n,()=>zi(e,n),gt.addBlockHere):Al(e,n),u=/* @__PURE__ */Nn(Tn,{children:[i.map(({child:n,zone:t,index:o})=>{const r=vo===String(n.props.id),{collapsible:i,folded:s}=Wi(n,l,Yi(n.type)),d=String(n.props.id),c=sl(n),a=()=>Ji(t,o,d,e.type),{rowProps:u,...f}=kl.row({item:{id:d,zone:t,index:o,type:n.type},place:{...an(t),index:o}},{"data-node-id":d,onClick:Ii(a)});/* @__PURE__ */
|
|
22
|
+
return Nn(kn,{children:[0===o&&p(t,0),
|
|
23
|
+
/* @__PURE__ */In(be,{words:yt,icon:/* @__PURE__ */In(Ho,{type:n.type,size:13}),name:c,preview:Pi(n),marks:$i(n),onSelect:a,nameSlot:ri(t,o,d,c),selected:r,hidden:Boolean(n.props._hidden),...f,fold:i?{open:!s,label:"group",onToggle:()=>sr(d)}:void 0,actions:/* @__PURE__ */Nn(Tn,{children:[Ti(t,o,c),Ai(n,t,o),Mi(t,o,n,c)]}),rowProps:u}),i&&!s&&/* @__PURE__ */In(ze,{children:El(n,l+1)}),p(t,o+1)]},String(n.props.id??`${t}-${o}`))}),null===c?d&&!i.some(e=>e.zone===d)?p(d,0):null:0!==i.length||!t.rung&&d!==c?null:p(c,0)]});return t.rung?Rl(e,t.rung,r++,o,u):/* @__PURE__ */In(kn,{children:u},t.slot??"")})})},Ll=(e,n)=>{const t=Ro(Zn?.data,e.type,String(e.props.id)),o=Fi(e),r=o.filter(e=>e.rung).length;let i=0;/* @__PURE__ */
|
|
24
|
+
return In(Tn,{children:o.map(o=>{const l=o.kids,s=o.rung?n+1:n,d=Hi(e.type,t,o.slot),c=d?.spec??null,a=c&&Array.isArray(e.props[c.slot])?e.props[c.slot]:[],p=d&&d.choices?{slot:d.slot,choices:d.choices}:null,u=String(e.props.id),f=c&&!c.fixed?`${u}:${c.slot}`:null,h=p?`${u}:${p.slot}`:null,m=(n,t)=>{const o=n===f&&c&&!c.addBlocked?.(a)?()=>Xi(e.props.id,c.slot,c.childType,t,e.type):n===h?()=>zi(n,t):void 0;return Al(n,t,o,n===f&&c?c.addLabel:gt.addBlockHere)},g=null===o.slot?null:`${u}:${o.slot}`,y=Boolean(c&&!c.fixed&&(null===g||g===f)),k=/* @__PURE__ */Nn(Tn,{children:[l.map(({child:n,zone:t,index:o})=>{const r=vo===String(n.props.id),i=ti(n),l=String(n.props.id),{collapsible:d,folded:c}=Wi(n,s,Yi(n.type)),a=Ei(n.type),p=1===a.length?`${l}:${a[0]}`:null,u=p?{...an(p),index:Gr(p).length}:void 0,f=kl.dragging,h=u&&f&&ul(f,u)?u:void 0,g=()=>Ji(t,o,l,e.type),{rowProps:y,...k}=kl.row({item:{id:l,zone:t,index:o,type:n.type},place:{...an(t),index:o},into:h,canDrag:!Mo(n.type)},{"data-node-id":l,onClick:Ii(g)});/* @__PURE__ */
|
|
25
|
+
return Nn(kn,{children:[0===o&&m(t,0),
|
|
26
|
+
/* @__PURE__ */In(be,{words:yt,icon:/* @__PURE__ */In(Ho,{type:n.type,size:13}),name:i,preview:Pi(n),marks:$i(n),onSelect:g,nameSlot:ri(t,o,l,i),selected:r,hidden:Boolean(n.props._hidden),...k,fold:d?{open:!c,label:"group",onToggle:()=>sr(l)}:void 0,actions:Mo(n.type)?Ai(n,t,o)??void 0:/* @__PURE__ */Nn(Tn,{children:[Ti(t,o,i),Ai(n,t,o),Mi(t,o,n,i)]}),rowProps:y}),d&&!c&&/* @__PURE__ */In(ze,{children:Ll(n,s+1)}),m(t,o+1)]},String(n.props.id??`${t}-${o}`))}),y&&c&&
|
|
27
|
+
/* @__PURE__ */In(N,{small:!0,label:c.addLabel,blocked:c.addBlocked?.(a)??null,onAdd:()=>Xi(e.props.id,c.slot,c.childType,a.length,e.type)}),null===g?h&&!l.some(e=>e.zone===h)?m(h,0):null:0!==l.length||(o.rung?y:g!==h)?null:m(g,0)]});return o.rung?Rl(e,o.rung,i++,r,k):/* @__PURE__ */In(kn,{children:k},o.slot??"")})})},Fl=(()=>{if(!nt||!mo)return null;const e=String(nt.type),n=String(nt.props.id),t=Lo(e,Ro(Zn?.data,e,n));if(!t||"footer"===t.source)return null;const o=$r.some(e=>String(e.props?.id)===n),r=Array.isArray(nt.props[t.slot])?nt.props[t.slot]:[];if(t.spec?.addBlocked?.(r))return null;const i=t.choices??(t.spec?[{type:t.spec.childType,label:Fr(t.spec.childType)}]:[]);return 0===i.length?null:{parentName:Oi(nt,o),choices:i,onPick:o=>{t.spec?Xi(n,t.slot,o,r.length,e):Ki(`${n}:${t.slot}`,o,r.length)}}})(),Vl=ko&&ko.zone!==le&&!pl(ko.zone)?ko.zone:null,Dl=!0===co.blocksFirst,Hl=Vl?hl(Vl):Dl&&ko?null:Fl,Wl=Boolean(lo&&Vl)||Dl&&Boolean(Hl&&Hl.choices.length>0),Ul=to||null!==Wt,Gl=e=>"panel"in e?{id:e.id,label:e.label,icon:e.icon,active:$t&&!Ul&&$o===e.id,onSelect:()=>Ir(e.id)}:e,Yl=[{id:"add",label:gt.add.title,icon:/* @__PURE__ */In("span",{className:"sf-rail-plus","aria-hidden":"true",children:"+"}),active:to,onSelect:()=>to?Bi():bi(null)},...(To.railLead??[]).map(Gl),{id:"sections",label:gt.layers,icon:/* @__PURE__ */In(Ae,{}),active:$t&&!Ul&&"sections"===$o,onSelect:()=>Ir("sections")},...(To.railTrail??[]).map(Gl)];Ht?Yl.push({id:"media",label:gt.railMedia,icon:/* @__PURE__ */In(Me,{}),active:$t&&!to&&(null!==Wt||"media"===$o),onSelect:()=>Ir("media")}):Kn&&Yl.push({id:"media",label:gt.railMedia,icon:/* @__PURE__ */In(Me,{}),onSelect:Nr});const Jl=[...To.railLead??[],...To.railTrail??[]].find(e=>"panel"in e&&e.id===$o),Xl=Boolean(mt?.foldable)&&!Po,Kl=mt?.label??(Qn?gt.pageSections:gt.templateSections),Ql=Xl&&lr(jn),_l=/* @__PURE__ */Nn(Tn,{children:[$r.map((e,n)=>{if(ut(e)||ft(e)||dt(e.type))return null;const t=vo===String(e.props.id),o=Boolean(e.props._hidden);Li(e);const r=String(e.props.id),i=To.hasOwnRows?.(e)??!1,l=Gi(e)||i,s=l&&lr(r),{rowProps:d,...c}=kl.row({item:{id:r,zone:le,index:n,type:e.type},place:{...an(le),index:n}},{"data-node-id":r,onClick:Ii(()=>yi(n))});/* @__PURE__ */
|
|
28
|
+
return Nn(kn,{children:[n>0&&ji(n),
|
|
29
|
+
/* @__PURE__ */In(be,{words:yt,icon:/* @__PURE__ */In(Ho,{type:e.type,size:13}),name:Hr(e),preview:Pi(e),marks:$i(e),onSelect:()=>yi(n),nameSlot:ri(le,n,r,Hr(e)),selected:t,hidden:o,...c,fold:l?{open:!s,label:"section",onToggle:()=>sr(r)}:void 0,actions:/* @__PURE__ */Nn(Tn,{children:[Ti(le,n,Hr(e)),Ai(e,le,n),Mi(le,n,e,Hr(e))]}),rowProps:d}),Gi(e)&&!s&&/* @__PURE__ */Nn(ze,{children:[Ll(e,1),To.partRows?.(e,Ml)]}),i&&!s&&/* @__PURE__ */In(ze,{children:To.ownRows?.(e,n,Ml)})]},String(e.props.id??n))}),!Po&&rl>0&&ji(rl),mt?.addAtEnd&&!Po&&!Gn&&/* @__PURE__ */In(N,{small:!0,label:gt.addSection,blocked:null,onAdd:()=>bi(rl)})]}),Zl=(e,n,t)=>{const o=String(e.props.id),r=Vi(e).length>0||Di(e)||Boolean(Lo(e.type)),i=r&&lr(o),l="header"===t?gt.header:gt.footer,s=Vo.rowName?Vo.rowName(e,"section",l):l;/* @__PURE__ */
|
|
30
|
+
return Nn(Tn,{children:[
|
|
31
|
+
/* @__PURE__ */In(be,{words:yt,icon:/* @__PURE__ */In(Ho,{type:t,size:13}),name:s,preview:Pi(e),marks:$i(e),onSelect:()=>yi(n),nameSlot:ri(le,n,o,s),selected:vo===String(e.props.id),fold:r?{open:!i,label:"section",onToggle:()=>sr(o)}:void 0,actions:Ai(e,le,n)??void 0,rowProps:{"data-node-id":o,onClick:Ii(()=>yi(n))}}),r&&!i&&/* @__PURE__ */In(ze,{children:El(e,1)})]})};return(To.wrap??(e=>e))(
|
|
32
|
+
/* @__PURE__ */In(te,{target:eo,children:/* @__PURE__ */Nn("div",{ref:qt,className:"sf-editor es-editor",style:Je(nr),onContextMenu:ai.onEditorContextMenu,...m(Re),children:[
|
|
33
|
+
/* @__PURE__ */Nn(Ee,{children:[
|
|
34
|
+
/* @__PURE__ */In(Le,{items:Yl,ariaLabel:gt.bar.views}),
|
|
35
|
+
/* @__PURE__ */Nn(Fe,{children:[
|
|
36
|
+
/* @__PURE__ */In(Ve,{label:gt.bar.undo,disabled:Boolean(Gn)||!et.hasPast,onClick:()=>et.back(),children:/* @__PURE__ */In(xn,{})}),
|
|
37
|
+
/* @__PURE__ */In(Ve,{label:gt.bar.redo,disabled:Boolean(Gn)||!et.hasFuture,onClick:()=>et.forward(),children:/* @__PURE__ */In(bn,{})}),
|
|
38
|
+
/* @__PURE__ */In(De,{}),
|
|
39
|
+
/* @__PURE__ */In(He,{devices:Mt,value:Ft,onChange:Vt})]}),
|
|
40
|
+
/* @__PURE__ */Nn(Fe,{kind:"right",style:{minWidth:300},children:[
|
|
41
|
+
/* @__PURE__ */In(Pn,{saveState:Dn,notSaving:Boolean(Gn)||null!=Hn,readOnlyReason:Yn,toggle:Jn,onToggle:Un,onRetry:Wn,words:gt.bar,saveWords:St}),To.barLead?.(),
|
|
42
|
+
/* @__PURE__ */In(Sn,{content:gt.bar.refreshTip,side:"bottom",children:/* @__PURE__ */In(vn,{variant:"secondary",onClick:()=>{Zt.current=(()=>{const e=eo?.document;if(!e)return null;const n=$r.findIndex(ft),t=n>=0?n:$r.length;let o=null;for(let n=0;n<t;n++){const t=$r[n]?.props?.id;if(null==t)continue;const r=e.querySelector(`[data-puck-component="${CSS.escape(String(t))}"]`);if(!r)continue;const i=r.getBoundingClientRect().top;i<=4&&(null===o||i>o.offset)&&(o={id:String(t),offset:i})}if(!o){const e=nt?.props?.id??$r[0]?.props?.id;null!=e&&(o={id:String(e),offset:0})}return o})(),_t(e=>e+1)},children:gt.bar.refresh})}),To.barTrail?.(),To.barMain?To.barMain():/* @__PURE__ */In(vn,{variant:"primary",disabled:null!==Yn,onClick:()=>{Vn(Zn.data)},children:gt.done})]})]}),
|
|
43
|
+
/* @__PURE__ */In(z,{}),
|
|
44
|
+
/* @__PURE__ */Nn("div",{className:"sf-body",children:[$t?/* @__PURE__ */Nn(Tn,{children:[
|
|
45
|
+
/* @__PURE__ */In("aside",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left","aria-label":gt.leftPanel,children:to?/* @__PURE__ */In(T,{blocks:Hl,blocksOnly:Wl,at:lo?{label:(e=>{const n=pl(e.zone);if(n)return gt.add.addingTo({name:Vo.rowName?Oi(n,!0):Fr(n.type)});if(e.zone===le){const n=$r[e.index];return n&&!ft(n)?gt.add.addingBefore({name:Oi(n,!0)}):gt.add.addingAtEnd}const t=hl(e.zone);return t?gt.add.addingTo({name:t.parentName}):gt.add.addingHere})(lo),onClear:()=>so(null)}:void 0,onAdd:e=>{const n=ko,t=(e,n)=>{lo&&so({zone:e,index:n})};if(n&&"block"!==e.kind&&pl(n.zone))return Ci(e,n.zone,n.index),void t(n.zone,n.index+1);if("section"===e.kind)return(e=>{if(null===So)return void wi(e);const n=wi(e,So);lo&&ao(n+1)})(e.type);if("template"===e.kind)return((e,n)=>{if(null===So)return void xi(e,n);const t=xi(e,n,So);lo&&ao(t+1)})(e.template.name,Rr(e.template.node));if(n&&n.zone!==le){const o=hl(n.zone);if(!o)return;return o.target.spec?Xi(o.parentId,o.target.slot,e.type,n.index,o.parent.type):Ki(n.zone,e.type,n.index),void t(n.zone,n.index+1)}Fl?.onPick(e.type)},itemFor:e=>({id:`new:${e.kind}:${"template"===e.kind?e.template.id:e.type}`,zone:"",index:-1,type:"template"===e.kind?e.template.node.type:e.type,add:e}),session:yl,siteWide:To.addPanelRow?.(Bi),onClose:Bi,onHide:Cr,readOnly:Boolean(Gn)}):Wt&&Dt?
|
|
46
|
+
/* @__PURE__ */In(A,{panel:Dt,pick:Wt,onHide:Cr}):Jl?Jl.panel({onHide:Cr,notify:pr}):"media"===$o&&Dt?/* @__PURE__ */In(A,{panel:Dt,pick:null,onHide:Cr}):/* @__PURE__ */Nn(Tn,{children:[
|
|
47
|
+
/* @__PURE__ */In(P,{icon:/* @__PURE__ */In(Ae,{}),title:gt.layers,context:bt,actions:
|
|
48
|
+
/* @__PURE__ */In(We,{label:ll?gt.expandAll:gt.collapseAll,title:0===il.length?gt.nothingToFold:void 0,disabled:0===il.length,onClick:()=>er(e=>{const n=new Set(il);return ll?new Set([...e].filter(e=>!n.has(e))):/* @__PURE__ */new Set([...e,...il])}),children:/* @__PURE__ */In($n,{expand:ll})}),onHide:Cr}),
|
|
49
|
+
/* @__PURE__ */Nn(Be,{className:"sf-tree sf-scroll",words:yt,children:[
|
|
50
|
+
/* @__PURE__ */In(be,{words:yt,icon:/* @__PURE__ */In(Ho,{type:"page",size:13}),name:gt.pageSettings,onSelect:Tr,selected:!nt&&mo,rowProps:{onClick:Ii(Tr)}}),tl&&/* @__PURE__ */Nn(Tn,{children:[
|
|
51
|
+
/* @__PURE__ */In(Ce,{children:gt.header}),jl(tl)]}),!Po&&_n&&/* @__PURE__ */Nn(Tn,{children:[
|
|
52
|
+
/* @__PURE__ */In(Ce,{children:gt.header}),!ht&&/* @__PURE__ */In(be,{words:yt,icon:/* @__PURE__ */In(Ho,{type:"header",size:13}),name:gt.header,onSelect:Pr,selected:fo.kind===pt?.kind,rowProps:{onClick:Ii(Pr)}})]}),!Po&&nl&&Zl(nl,el,"header"),!Po&&!Xl&&/* @__PURE__ */In(Ce,{children:Kl}),Xl?/* @__PURE__ */Nn(Tn,{children:[
|
|
53
|
+
/* @__PURE__ */In(be,{words:yt,icon:null,name:Kl,fold:{open:!Ql,label:Kl,onToggle:()=>sr(jn)}}),!Ql&&/* @__PURE__ */In(ze,{children:_l})]}):_l,_n&&/* @__PURE__ */In(Ce,{children:gt.footer}),qi&&Zl(qi,Zi,"footer"),!Po&&!qi&&_n&&/* @__PURE__ */In(be,{words:yt,icon:/* @__PURE__ */In(Ho,{type:"footer",size:13}),name:gt.footer,onSelect:Ni,rowProps:{onClick:Ii(Ni),title:gt.editFooter}}),ol&&jl(ol),To.treeFoot?.()]})]})}),
|
|
54
|
+
/* @__PURE__ */In(Ue,{side:"left",width:nr.left,min:Ye,max:Ge,defaultWidth:k.left,label:gt.resizeLeftPanel,onResize:rr})]}):/* @__PURE__ */In($,{side:"left",onShow:Cr}),
|
|
55
|
+
/* @__PURE__ */Nn("div",{ref:ur,className:"sf-center sf-scroll","data-sf-canvas-head":yr?"":void 0,style:{overflowX:br?"auto":"hidden",overflowY:"hidden"},children:[yr&&/* @__PURE__ */In("div",{ref:kr,className:"sf-canvas-head",children:/* @__PURE__ */In(yr,{device:Ft})}),
|
|
56
|
+
/* @__PURE__ */In("div",{className:"sf-frame-scaler",style:zr,children:/* @__PURE__ */In("div",{className:"sf-frame "+(Ft===Et?"":`sf-frame--${Ft}`),style:Br,children:/* @__PURE__ */Nn("div",{className:"sf-preview-host",children:[
|
|
57
|
+
/* @__PURE__ */In(zt,{},Qt),
|
|
58
|
+
/* @__PURE__ */In(Ze,{canvas:eo,session:yl,model:zl,measure:Cl,canDrop:Il,onDrop:Tl,onPick:$l,onZoneAdd:e=>{const n=sn(e),t=Xr(n);t&&_r(t.node,t.slot,!1),zi(n,0)},zoneAddLabel:gt.canvasAddBlock,words:kt.canvas,readOnly:Boolean(Gn),revision:Zn.data}),po.length>0&&/* @__PURE__ */In("div",{className:"sf-preview-gaps","aria-hidden":"true",children:po.map(e=>/* @__PURE__ */Nn("button",{type:"button",tabIndex:-1,className:void 0===e.height?"sf-preview-gap":"sf-preview-gap sf-preview-gap--tight",style:void 0===e.height?{top:e.top}:{top:e.top,height:e.height},onClick:()=>bi(e.index),children:[
|
|
59
|
+
/* @__PURE__ */In("span",{className:"sf-preview-gap-line"}),
|
|
60
|
+
/* @__PURE__ */Nn("span",{className:"sf-preview-gap-pill",children:[
|
|
61
|
+
/* @__PURE__ */In("span",{className:"sf-preview-gap-plus",children:"+"}),
|
|
62
|
+
/* @__PURE__ */In("span",{className:"sf-preview-gap-label",children:gt.addSection})]})]},e.index))})]})})})]}),At?/* @__PURE__ */Nn(Tn,{children:[
|
|
63
|
+
/* @__PURE__ */In(g,{value:{selectChild:Ji,addChild:Xi,childRowName:ti,blockRowName:sl},children:/* @__PURE__ */In(Bt,{mode:fo,onOpenWebsiteSettings:To.openSettings??(()=>{}),onOpenSiteStyles:To.openStyles,onSelectNode:Yo,onNotify:pr,onHidePanel:Or,nodeActions:nt?se(ot,nt.type):Rn})}),
|
|
64
|
+
/* @__PURE__ */In(Ue,{side:"right",width:nr.right,min:Ye,max:Ge,defaultWidth:k.right,label:gt.resizeSettingsPanel,onResize:ir})]}):
|
|
65
|
+
/* @__PURE__ */In($,{side:"right",onShow:Or})]}),ai.menu]})}))}export{En as ScreenChrome};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{blockRuns as e}from"./chunk-HQ4VVRIC.js";import{useScreenBlockLook as r}from"./chunk-
|
|
1
|
+
import{blockRuns as e}from"./chunk-HQ4VVRIC.js";import{useScreenBlockLook as r}from"./chunk-55IKQFBW.js";import{DEFAULT_SCREEN_WORDS as s}from"./chunk-MCHMF32I.js";import{useWords as t}from"./chunk-MFIRYGHW.js";import{DropdownMenu as n}from"efficient-shell/ui";import{jsxs as c,Fragment as i,jsx as o}from"react/jsx-runtime";function l({choices:l,onPick:p}){const{Icon:a}=r(),m=t("screen",s),u=e(l).flatMap(e=>[...e.group?[{type:"label",key:`group:${e.group}`,label:/* @__PURE__ */c(i,{children:[e.group," ",
|
|
2
2
|
/* @__PURE__ */o("span",{className:"sf-menugroup-count",children:e.items.length})]})}]:[],...e.items.map(e=>({key:e.type,label:e.label,icon:/* @__PURE__ */o("span",{className:"sf-chip",children:/* @__PURE__ */o(a,{type:e.type,size:13})}),onSelect:()=>p(e.type)}))]);/* @__PURE__ */
|
|
3
3
|
return o(n,{align:"start",triggerClassName:"sf-add-card",items:u,trigger:/* @__PURE__ */c(i,{children:[
|
|
4
4
|
/* @__PURE__ */o("span",{className:"sf-plus sf-plus--sm",children:"+"}),m.addBlockMenu]})})}export{l as AddBlockRow};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DEFAULT_TEXT_STYLES_WORDS as o}from"./chunk-M6F6LS3H.js";import{DEFAULT_PICK_WORDS as r}from"./chunk-ZAOM6PFH.js";import{DEFAULT_STYLE_CLIPBOARD_WORDS as t}from"./chunk-6WY6ZXJG.js";import{DEFAULT_SCREEN_WORDS as m}from"./chunk-
|
|
1
|
+
import{DEFAULT_TEXT_STYLES_WORDS as o}from"./chunk-M6F6LS3H.js";import{DEFAULT_PICK_WORDS as r}from"./chunk-ZAOM6PFH.js";import{DEFAULT_STYLE_CLIPBOARD_WORDS as t}from"./chunk-6WY6ZXJG.js";import{DEFAULT_SCREEN_WORDS as m}from"./chunk-MCHMF32I.js";import{DEFAULT_CANVAS_WORDS as n}from"./chunk-AELNNAFM.js";import{DEFAULT_TREE_WORDS as c}from"./chunk-K56YDHYQ.js";import{DEFAULT_PANEL_WORDS as s}from"./chunk-QTLAVDJE.js";import{DEFAULT_NODE_MENU_WORDS as f}from"./chunk-WK3AFPXY.js";import{DEFAULT_SAVE_WORDS as p}from"./chunk-H6DDIBQ4.js";import{DEFAULT_CHROME_WORDS as e,DEFAULT_NOTICE_WORDS as i}from"./chunk-Y2G7CU6A.js";import{DEFAULT_LOCK_WORDS as u}from"./chunk-RE4LP46F.js";import{DEFAULT_RAIL_WORDS as k}from"./chunk-2OAZYSWJ.js";import{DEFAULT_COPY_WORDS as j}from"./chunk-JZDEIRH4.js";import{DEFAULT_FIELDS_WORDS as h}from"./chunk-FFYXVAAL.js";import{DEFAULT_DRAG_WORDS as l}from"./chunk-O2NLQBFX.js";var A={notice:i,lock:u,save:p,chrome:e,rail:k,tree:c,panel:s,fields:h,pick:r,drag:l,menu:f,styleClipboard:t,copy:j,canvas:n,textStyles:o,screen:m},F=o=>"object"==typeof o&&null!==o;function a(o,r){const t={};for(const m of Object.keys(o)){const n=o[m],c=r[m];null==c?t[m]=n:F(n)?t[m]=F(c)?a(n,c):n:t[m]=typeof c==typeof n?c:n}return t}function y(o,r){return r?a(o,r):o}export{A as DEFAULT_EASEL_STRINGS,y as mergeEaselStrings};
|
|
@@ -1,2 +1,2 @@
|
|
|
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-VPFNZ7TB.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-
|
|
2
|
-
return
|
|
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-VPFNZ7TB.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-MCHMF32I.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 w,holderOf as S}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 R,useRef as C}from"react";import{jsx as H}from"react/jsx-runtime";var M={content:[],root:{},zones:{}};var O=I(null);function E(){const e=P(O);if(!e)throw new Error("useStorefrontDocument must be used within StorefrontDocumentProvider");return e}function A({target:I,addressing:P=o,onHostMessage:E,children:A}){const D=P,{homeSlug:F,entryMayBounce:V,entryBounce:L,onSwitch:N,tellsHost:W,adapterFor:J,migrateRenamedProps:X,describeMissing:Y,onLoadFailed:Z}=D,[x,G]=j(I),U=f(),K=l(),Q=T(()=>c(K),[K]),z=T(()=>t(K),[K]),_="template"===x.kind,q="template"===x.kind?x.id:null,$="template"===x.kind?x.pageSlug??F??"":"document"===x.kind?x.slug??"":x.slug,ee="page"===x.kind?x.siteId??null:null,re=K.blocks,ne=T(()=>J(x,Q,re),[J,Q,re,x.kind,"template"===x.kind?x.id:"document"===x.kind?x.record:x.siteId]),te=ne.capabilities,oe=B(e=>K.documentHooks?.stored?.(e)??e,[K]),ue="page"===x.kind?x.originSlug??null:null;R(()=>{d(K,ee)},[K,ee]);const ae=C(x);R(()=>{ae.current=x},[x]);const{token:se,tokenRef:ie,capabilities:le}=i({onMessage:r=>{if(E?.(r)||e(r))return;const n=r;if("storefront-editor:navigate"===n?.type){const e=r;e?.target&&Pr(e.target)}}}),ce=!K.usesBridgedToken||null!==se,de=ne.lock,fe=Boolean(Q.lock),[me,ge]=j(null),[ke,ve]=j(null),[pe,he]=j(null),[ye,we]=j(null),Se=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,Se):null,[Ie,Pe]=j(null),je=C(null),Te=C(null),[Be,Re]=j(!1),Ce=C(null),[He,Me]=j(null),Oe=C(null),[Ee,Ae]=j(null),De=C(null);R(()=>{De.current=Ee},[Ee]);const[Fe,Ve]=j(te.hasEditLock?{kind:"checking"}:{kind:"editing"}),Le=C(Fe);R(()=>{Le.current=Fe},[Fe]);const Ne=C(()=>Promise.resolve(!1)),We=B(e=>{Te.current=e,Re(!0)},[]),Je=g({save:async({id:e,data:r})=>{if(k(Le.current)){if(!await Ne.current(e,r)){if(!k(Le.current))return void We({id:e,data:r});throw new Error("page save did not land")}}else We({id:e,data:r})},onFailure:(e,r)=>{0===r&&U.send("storefront-editor:save-failed")}}),{state:Xe,push:Ye,flush:Ze,pause:xe,resume:Ge,stop:Ue,reset:Ke,retryNow:Qe,hasPending:ze}=Je,_e=C(Xe);R(()=>{_e.current=Xe},[Xe]);const qe=u(Xe),$e=B(()=>{const e=Te.current;e&&(Te.current=null,Re(!1),Ye(e))},[Ye]),er=C("");er.current||(er.current=v());const[rr,nr]=j(0),tr=C(!1),[or,ur]=j(V(I)),ar=C(!1);R(()=>{if(ar.current)return;ar.current=!0;const e=U.address.search(),r=L(I,e);r?U.address.load(r):V(I)&&ur(!1)},[I,U]);const sr=U.send;R(()=>{if(!ce)return;let e=!1;const t=ae.current,o=ne.resolve($),u=K.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}):(we({target:t,slug:$,missing:!0,sentence:Y?.(t)??null}),void Z?.(t,null));const n=r.readOnlyReason?r.readOnlyReason:null;je.current=n,Pe(n),ge(r.id),ve(r.kind??null),Oe.current=r.version??null;const o=r.layout,a=o&&Object.keys(o).length?o:M,s=X(a),i=u?await u(s):s;e||he(i)}).catch(o=>{e||(console.error("[storefront-editor] document load failed",o),we({target:t,slug:$,missing:!1,sentence:n(o,{slug:$},K),cause:r(o,K)}),Z?.(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&&K.usesBridgedToken)return{ok:!1,error:new Error("no editor token")};try{return{ok:!0,value:await e(r??"")}}catch(n){if(s(n,K)){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,K]),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(Le.current))return!1;if(De.current)return!1;const t=await lr(()=>ne.saveLayout(e,r,Oe.current,er.current));if(t.ok)return Oe.current=t.value.version??Oe.current,!0;const o=z.readLockTaken(t.error);if(o){const e={kind:"takenover",holder:o};return Le.current=e,Ve(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 Oe.current=n.value,Ne.current(e,r,!0)}Ue(),De.current=u,Ae(u)}return!1},[ne,lr,Ue]);R(()=>{Ne.current=dr},[dr]);const fr=B(e=>{if(null!==je.current)return;if(sr("storefront-editor:dirty"),!me)return;const r=oe(e);Ce.current=r,k(Le.current)?Ye({id:me,data:r}):We({id:me,data:r})},[me,sr,We,Ye,oe]),mr=B(async()=>{k(Le.current)&&$e();return await Ze()&&null==Te.current},[$e,Ze]),gr=C(mr);R(()=>{gr.current=mr},[mr]);const kr=C(lr);R(()=>{kr.current=lr},[lr]);const vr=B(()=>{U.address.reload()},[U]),pr=C(()=>Promise.resolve(!1));R(()=>{pr.current=()=>{const e=ne.rereadVersion;return me&&e?p({ours:Oe.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;R(()=>{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:()=>Le.current,heldWrite:()=>({pending:null!=Te.current||ze(),autoSaveEnabled:!_e.current.paused,saveConflict:null!=De.current}),setAccess:e=>{Le.current=e,Ve(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||(Ve({kind:"checking"}),n=setTimeout(()=>{n=null,h(o)&&o.startHeartbeat(y)},w)),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]),wr=B(()=>{Ve(e=>{const r="blocked"===e.kind||"takenover"===e.kind?e.holder:null;return r?{kind:"readonly",holder:r}:e})},[]),Sr=B(()=>{_e.current.paused?(k(Le.current)&&$e(),Ge()):xe()},[$e,xe,Ge]),br=B(()=>{Qe()},[Qe]),Ir=B(e=>{Ce.current=null,a("template"!==e.kind&&fe,{resetAutosave:()=>{Ke(),Te.current=null,Re(!1)},setVersion:e=>{Oe.current=e},setSaveConflict:Ae,setAccess:Ve}),N(e),G(e),je.current=null,Pe(null),ge(null),ve(null),he(null),we(null),U.address.show(e),"document"!==e.kind&&W(e)&&U.send("storefront-editor:navigated",{target:e})},[Ke,U,fe,N,W]),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?Me(e):Ze().then(r=>{r?Ir(e):Me(e)})},[Ir,ze,Ze,F]),jr=B(()=>Me(null),[]),Tr=B(()=>{Me(e=>(e&&Ir(e),null))},[Ir]),Br=B(async()=>{const e=He;if(!e)return;await mr()&&(Me(null),Ir(e))},[He,mr,Ir]),Rr=B(async e=>{if(null!==je.current)return;if(!me)return;if(!k(Le.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,Oe.current??void 0));t.ok?(Oe.current=t.value.version??Oe.current,sr("storefront-editor:published")):sr("storefront-editor:save-failed")},[me,ne,te.canPublish,sr,dr,lr,oe]);/* @__PURE__ */
|
|
2
|
+
return H(O.Provider,{value:{target:x,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:()=>Ce.current??pe,footerOriginSlug:ue,error:be,redirecting:or,saveStatus:qe,saveState:Xe,autoSaveEnabled:!Xe.paused,autoSaveStoppedByConflict:Xe.stopped,hasUnsavedEdits:Xe.pending||Be,toggleAutoSave:Sr,retrySave:br,onChange:fr,flushSave:mr,onPublish:Rr,access:Fe,readOnly:null!==S(Fe)||null!==Ie||null!==Ee,readOnlyReason:Ie,takeOverEditing:yr,viewReadOnly:wr,saveConflict:Ee,reloadFromServer:vr,navigate:Pr,pendingNav:He,cancelPendingNav:jr,discardAndNavigate:Tr,saveAndNavigate:Br},children:A})}export{O as ScreenDocumentContext,A as ScreenDocumentProvider,E as useScreenDocument};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{useScreenOwnerName as e}from"./chunk-
|
|
1
|
+
import{useScreenOwnerName as e}from"./chunk-55IKQFBW.js";import{settlePanelPick as n}from"./chunk-R6WTQWAC.js";import{MediaPanelHead as i,mediaPickKind as c}from"./chunk-GTDLBUOC.js";import{jsxs as o,Fragment as r,jsx as t}from"react/jsx-runtime";function l({panel:l,pick:d,onHide:m}){const p=e();/* @__PURE__ */
|
|
2
2
|
return o(r,{children:[
|
|
3
3
|
/* @__PURE__ */t(i,{context:p,pick:d?{kind:c(d.accept),field:d.title||void 0}:null,onCancel:()=>d&&n(d.requestId,null),onHide:m}),
|
|
4
4
|
/* @__PURE__ */t("div",{className:"sf-media-panel",children:/* @__PURE__ */t(l,{pick:d,onPick:e=>d&&n(d.requestId,e)})})]})}export{l as MediaSidePanel};
|
package/dist/easel/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { DataInput } from '../data/index.js';
|
|
2
|
-
import { N as NodeSelection } from '../plan-
|
|
3
|
-
export { I as ItemSelector } from '../plan-
|
|
4
|
-
import { E as EaselConfig, a as EaselView, b as EaselAction, P as Permissions, c as EaselCore, d as EaselUi } from '../types-
|
|
5
|
-
export { A as AppState, e as EaselHistory, H as HistoryEntry, S as SetDataPatch } from '../types-
|
|
2
|
+
import { N as NodeSelection } from '../plan-BdQ9mLIf.js';
|
|
3
|
+
export { I as ItemSelector } from '../plan-BdQ9mLIf.js';
|
|
4
|
+
import { E as EaselConfig, a as EaselView, b as EaselAction, P as Permissions, c as EaselCore, d as EaselUi } from '../types-CGFykP7c.js';
|
|
5
|
+
export { A as AppState, e as EaselHistory, H as HistoryEntry, S as SetDataPatch } from '../types-CGFykP7c.js';
|
|
6
6
|
import { S as SlotAddress, D as Data, P as Place } from '../types-41704JE4.js';
|
|
7
7
|
import { c as ResolveTrigger, a as ResolveCache, R as ResolvableItem } from '../resolve-D68pb3Bx.js';
|
|
8
8
|
import * as react from 'react';
|
|
9
9
|
import { ReactNode, CSSProperties, ComponentType, ReactElement } from 'react';
|
|
10
|
-
import { b as NodeOpsHost, C as ClipboardEntry } from '../useNodeOps-
|
|
10
|
+
import { b as NodeOpsHost, C as ClipboardEntry } from '../useNodeOps-B3e4b8a2.js';
|
|
11
11
|
import { I as InspectorFields } from '../types-CWxUxPGO.js';
|
|
12
12
|
import '../buckets-CuLM47h9.js';
|
|
13
13
|
|
package/dist/easel/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{CanvasFrame,DEFAULT_UI,EaselCanvas,EaselProvider,EditDocument,bindUndoKeys,createEasel,createUseEasel,recordsByDefault,reduce,uiView,useEasel,useEaselApi,useEaselNodeOps,useSelectedFields,validSelection}from"../chunk-
|
|
1
|
+
export{CanvasFrame,DEFAULT_UI,EaselCanvas,EaselProvider,EditDocument,bindUndoKeys,createEasel,createUseEasel,recordsByDefault,reduce,uiView,useEasel,useEaselApi,useEaselNodeOps,useSelectedFields,validSelection}from"../chunk-PDZXAFNX.js";import"../chunk-AELNNAFM.js";import"../chunk-YRLPFZW3.js";import"../chunk-QASZFO4S.js";import"../chunk-MFIRYGHW.js";import"../chunk-ZNCEOSXO.js";import"../chunk-KRXQM65X.js";import"../chunk-NKB3KVAB.js";
|
package/dist/node-ops/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { A as AfterRemove, I as ItemSelector, N as NodeSelection, P as Planned, S as StepBounds, c as canStep, f as fromItemSelector, p as parentStep,
|
|
2
|
-
export { C as ClipboardEntry, N as NodeClipboard, a as NodeOps, b as NodeOpsHost, c as createNodeClipboard, u as useNodeOps } from '../useNodeOps-
|
|
1
|
+
export { A as AfterRemove, I as ItemSelector, N as NodeSelection, P as Planned, S as StepBounds, c as canStep, f as fromItemSelector, n as nextInChain, a as nodeChain, p as parentStep, b as planDuplicate, d as planMove, e as planPaste, g as planRemove, h as planSetProps, i as planStep, t as toItemSelector } from '../plan-BdQ9mLIf.js';
|
|
2
|
+
export { C as ClipboardEntry, N as NodeClipboard, a as NodeOps, b as NodeOpsHost, c as createNodeClipboard, u as useNodeOps } from '../useNodeOps-B3e4b8a2.js';
|
|
3
3
|
import { ReactNode } from 'react';
|
|
4
4
|
import { E as EaselContextMenuItem } from '../types-BsyPh6EW.js';
|
|
5
5
|
import { N as NodeMenuWords } from '../words-DMG4dYq2.js';
|
package/dist/node-ops/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{createNodeClipboard,nodeMenuItems}from"../chunk-OSPUG6S6.js";import"../chunk-WK3AFPXY.js";export{canStep,fromItemSelector,parentStep,planDuplicate,planMove,planPaste,planRemove,planSetProps,planStep,toItemSelector,useNodeOps}from"../chunk-
|
|
1
|
+
export{createNodeClipboard,nodeMenuItems}from"../chunk-OSPUG6S6.js";import"../chunk-WK3AFPXY.js";export{canStep,fromItemSelector,nextInChain,nodeChain,parentStep,planDuplicate,planMove,planPaste,planRemove,planSetProps,planStep,toItemSelector,useNodeOps}from"../chunk-QASZFO4S.js";import"../chunk-KRXQM65X.js";import"../chunk-NKB3KVAB.js";
|
|
@@ -75,6 +75,25 @@ declare function planSetProps(data: Data, config: DataConfig, id: string, patch:
|
|
|
75
75
|
* - a top-level node, or nothing selected: `null` (there is nothing above).
|
|
76
76
|
*/
|
|
77
77
|
declare function parentStep(data: Data, config: DataConfig, selection: NodeSelection, slotIsLevel?: (parent: Node, slot: string) => boolean): NodeSelection;
|
|
78
|
+
/**
|
|
79
|
+
* The nodes from the outermost (the top-level node) down to `id`, by id — the
|
|
80
|
+
* CHAIN a click on the canvas walks (`nextInChain`). Read off `find`'s path,
|
|
81
|
+
* the same lookup `parentStep` climbs, so "what holds what" is asked of the
|
|
82
|
+
* document once. Empty when `id` is not in it.
|
|
83
|
+
*/
|
|
84
|
+
declare function nodeChain(data: Data, config: DataConfig, id: string): string[];
|
|
85
|
+
/**
|
|
86
|
+
* CLICK THROUGH LAYERS (owner 2026-10-12, Wix's rule): what a click on a chain
|
|
87
|
+
* picks, given what is selected now. `chain` is outer → inner.
|
|
88
|
+
*
|
|
89
|
+
* - the selection is in the chain and not its last rung → the next rung in;
|
|
90
|
+
* - the selection IS the last rung → it stays (a click never wraps back out);
|
|
91
|
+
* - anything else (nothing, or something outside the chain) → the first rung.
|
|
92
|
+
*
|
|
93
|
+
* Pure, and over plain ids, so a host that adds rungs of its own (the website's
|
|
94
|
+
* parts: a section's background image) walks them by the SAME rule.
|
|
95
|
+
*/
|
|
96
|
+
declare function nextInChain(chain: readonly string[], selected: string | null): string | null;
|
|
78
97
|
/** A node by its place: the zone key `"<parentId>:<slot>"` and its index. */
|
|
79
98
|
interface ItemSelector {
|
|
80
99
|
zone?: string;
|
|
@@ -85,4 +104,4 @@ declare function toItemSelector(data: Data, config: DataConfig, selection: NodeS
|
|
|
85
104
|
/** Puck's `itemSelector` as a node selection; `null` when it points at nothing. */
|
|
86
105
|
declare function fromItemSelector(data: Data, config: DataConfig, selector: ItemSelector | null | undefined): NodeSelection;
|
|
87
106
|
|
|
88
|
-
export { type AfterRemove as A, type ItemSelector as I, type NodeSelection as N, type Planned as P, type StepBounds as S,
|
|
107
|
+
export { type AfterRemove as A, type ItemSelector as I, type NodeSelection as N, type Planned as P, type StepBounds as S, nodeChain as a, planDuplicate as b, canStep as c, planMove as d, planPaste as e, fromItemSelector as f, planRemove as g, planSetProps as h, planStep as i, nextInChain as n, parentStep as p, toItemSelector as t };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{AddBlockRow as default}from"../../chunk-
|
|
1
|
+
export{AddBlockRow as default}from"../../chunk-UVAIY7VO.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-55IKQFBW.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-MCHMF32I.js";import"../../chunk-PDZXAFNX.js";import"../../chunk-AELNNAFM.js";import"../../chunk-CRPJGCSO.js";import"../../chunk-OZ72A6MY.js";import"../../chunk-UFY6RNMT.js";import"../../chunk-YNOZ5NXW.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-EA2HTX37.js";import"../../chunk-QASZFO4S.js";import"../../chunk-66LWADFP.js";import"../../chunk-QLD57GBB.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-67GNT6PF.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{blockKey,AddSidePanel as default,sectionKey,templateKey}from"../../chunk-
|
|
1
|
+
export{blockKey,AddSidePanel as default,sectionKey,templateKey}from"../../chunk-QVWPI2FL.js";import"../../chunk-5ZBY24K7.js";import"../../chunk-PA3PNTVV.js";import"../../chunk-BVN33R76.js";import"../../chunk-5SOSVTVI.js";import"../../chunk-KQMML6JM.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-55IKQFBW.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-MCHMF32I.js";import"../../chunk-PDZXAFNX.js";import"../../chunk-AELNNAFM.js";import"../../chunk-CRPJGCSO.js";import"../../chunk-OZ72A6MY.js";import"../../chunk-UFY6RNMT.js";import"../../chunk-YNOZ5NXW.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-EA2HTX37.js";import"../../chunk-QASZFO4S.js";import"../../chunk-GTDLBUOC.js";import"../../chunk-Y2G7CU6A.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-66LWADFP.js";import"../../chunk-QLD57GBB.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-6HHHBBSY.js";import"../../chunk-O2NLQBFX.js";import"../../chunk-67GNT6PF.js";import"../../chunk-PAELDYYS.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
|
|
@@ -2,11 +2,11 @@ import * as react from 'react';
|
|
|
2
2
|
import { MediaPanelComponent, MediaPickRequest } from '../lib/media-panel.js';
|
|
3
3
|
import '../../host-CiuzZJXj.js';
|
|
4
4
|
import '../../blocks/index.js';
|
|
5
|
-
import '../../types-
|
|
5
|
+
import '../../types-CGFykP7c.js';
|
|
6
6
|
import '../../data/index.js';
|
|
7
7
|
import '../../types-41704JE4.js';
|
|
8
8
|
import '../../resolve-D68pb3Bx.js';
|
|
9
|
-
import '../../plan-
|
|
9
|
+
import '../../plan-BdQ9mLIf.js';
|
|
10
10
|
import '../lib/document-contract.js';
|
|
11
11
|
import '../lib/session.js';
|
|
12
12
|
import '../lib/backend-error.js';
|