efficient-easel 7.2.2 → 8.1.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 +34 -3
- package/dist/autosave/index.d.ts +5 -5
- package/dist/autosave/index.js +1 -1
- package/dist/chrome/chrome.css +34 -0
- package/dist/chrome/index.d.ts +23 -4
- package/dist/chrome/index.js +1 -1
- package/dist/chunk-246ONJJH.js +58 -0
- package/dist/chunk-3NB2IEXA.js +1 -0
- package/dist/{chunk-QJITGBAT.js → chunk-3QK5R7RR.js} +3 -3
- package/dist/chunk-BHRC3ASL.js +1 -0
- package/dist/{chunk-MVQEEWTE.js → chunk-BRDCD4LK.js} +1 -1
- package/dist/{chunk-COCSEEXP.js → chunk-CVUMGA2T.js} +1 -1
- package/dist/{chunk-6TOYXESC.js → chunk-DPKWJTNX.js} +1 -1
- package/dist/chunk-HDUAODXJ.js +4 -0
- package/dist/{chunk-HS5DWUCH.js → chunk-JO6FBCVR.js} +1 -1
- package/dist/chunk-JTUUIVBZ.js +1 -0
- package/dist/{chunk-E4MAYJX5.js → chunk-NCQSBU3O.js} +1 -1
- package/dist/chunk-NDRZP6YR.js +1 -0
- package/dist/{chunk-6Z5VENIE.js → chunk-OGCROOTI.js} +1 -1
- package/dist/chunk-QVUVDBGA.js +23 -0
- package/dist/{chunk-LC62L4P2.js → chunk-R2G64ZNC.js} +1 -1
- package/dist/chunk-RKTF5XLP.js +1 -0
- package/dist/{chunk-JVTSUA2U.js → chunk-SQMUAXUS.js} +1 -1
- package/dist/chunk-THZ46DC5.js +2 -0
- package/dist/{chunk-PFNIVZPN.js → chunk-XTJCKV6Z.js} +1 -1
- package/dist/chunk-ZPXKNO5L.js +5 -0
- package/dist/easel/easel.css +20 -0
- package/dist/{engine-DBxp_v6B.d.ts → engine-CvXpFE86.d.ts} +18 -0
- package/dist/{host-CiuzZJXj.d.ts → host-Ud6rLpph.d.ts} +6 -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/SaveControls.d.ts +85 -0
- package/dist/screen/components/SaveControls.js +1 -0
- 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 +3 -3
- package/dist/screen/components/ScreenMount.js +1 -1
- package/dist/screen/components/ScreenStoreProvider.d.ts +3 -3
- package/dist/screen/components/SectionScreenShell.js +16 -16
- package/dist/screen/components/SidePanelHead.js +1 -1
- package/dist/screen/components/panel-widths.js +1 -1
- package/dist/screen/components/usePartBridge.d.ts +3 -3
- package/dist/screen/index.d.ts +4 -4
- package/dist/screen/index.js +1 -1
- package/dist/screen/lib/document-addressing.d.ts +2 -2
- package/dist/screen/lib/document-switch.d.ts +1 -1
- package/dist/screen/lib/host.d.ts +2 -2
- package/dist/screen/lib/key-scope.d.ts +16 -1
- 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/puck/device-fields.js +1 -1
- package/dist/screen/lib/puck/slot-child-name.js +1 -1
- package/dist/screen/lib/puck/style-clipboard.d.ts +3 -3
- package/dist/screen/lib/puck/style-clipboard.js +1 -1
- package/dist/screen/lib/save-status.d.ts +75 -0
- package/dist/screen/lib/save-status.js +1 -0
- package/dist/screen/lib/screen-parts.d.ts +63 -17
- package/dist/screen/screen.css +8 -0
- package/dist/screen/words.d.ts +62 -5
- package/dist/screen/words.js +1 -1
- package/dist/strings/catalogue.d.ts +3 -3
- package/dist/strings/catalogue.js +1 -1
- package/dist/strings/index.d.ts +3 -3
- package/dist/strings/index.js +1 -1
- package/dist/{types-Dt1CFR1S.d.ts → types-DGyDHiJV.d.ts} +13 -1
- package/dist/{words-CvFnwGSr.d.ts → words-pgIK0I6g.d.ts} +2 -2
- package/package.json +13 -3
- package/dist/chunk-5F3PKNT7.js +0 -1
- package/dist/chunk-64ZRPAWS.js +0 -2
- package/dist/chunk-BDTITTMW.js +0 -1
- package/dist/chunk-DOHYKMMH.js +0 -1
- package/dist/chunk-G24HQEX4.js +0 -62
- package/dist/chunk-LIH5SH6S.js +0 -5
- package/dist/chunk-TBF5CVPA.js +0 -1
- package/dist/chunk-UB4TLWVJ.js +0 -21
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{editLockOf as e}from"./chunk-GMCZXMOV.js";import{isExpiredSession as r,readEaselFailure as n}from"./chunk-CLOS6SSX.js";import{routeSharedHostMessage as t}from"./chunk-S4AWJX4Q.js";import{describeLoadFailure as o,hostLoadRefusal as u}from"./chunk-ERR437B5.js";import{useAdminBridge as a}from"./chunk-VPFNZ7TB.js";import{NO_DOCUMENT_ADDRESSING as s}from"./chunk-RLBXE4EU.js";import{saveStatusOf as i,resetForDocumentSwitch as l}from"./chunk-HNKB2ZYR.js";import{STATUS_UNREACHABLE as c}from"./chunk-KCOBHPN6.js";import{useEaselSession as d}from"./chunk-O7Q4DDJT.js";import{backendOf as f,setSessionDocumentSite as m}from"./chunk-RSCMJIWS.js";import{useEaselHost as k}from"./chunk-U3JP4VGF.js";import{DEFAULT_SCREEN_WORDS as g}from"./chunk-JTUUIVBZ.js";import{useAutosave as v}from"./chunk-NDRZP6YR.js";import{canWriteDocument as p,newEaselClientId as h,reloadIfVersionMoved as y,openUnansweredClaim as w,FAIL_OPEN_RETRY_MS as S,CLAIM_FAIL_OPEN_MS as b,holderOf as P}from"./chunk-THWO5YVZ.js";import{useWords as I}from"./chunk-MFIRYGHW.js";import{createContext as j,useContext as R,useState as B,useMemo as O,useCallback as C,useEffect as H,useRef as T}from"react";import{jsx as E}from"react/jsx-runtime";var A={content:[],root:{},zones:{}};var D=j(null);function M(){const e=R(D);if(!e)throw new Error("useStorefrontDocument must be used within StorefrontDocumentProvider");return e}function N({target:j,addressing:R=s,onHostMessage:M,children:N}){const V=R,{homeSlug:F,entryMayBounce:L,entryBounce:U,onSwitch:W,tellsHost:Z,adapterFor:J,migrateRenamedProps:Y,describeMissing:X,onLoadFailed:x}=V,[G,K]=B(j),Q=k(),z=d(),_=O(()=>f(z),[z]),q=O(()=>e(z),[z]),$="template"===G.kind,ee="template"===G.kind?G.id:null,re="template"===G.kind?G.pageSlug??F??"":"document"===G.kind?G.slug??"":G.slug,ne="page"===G.kind?G.siteId??null:null,te=z.blocks,oe=O(()=>J(G,_,te),[J,_,te,G.kind,"template"===G.kind?G.id:"document"===G.kind?G.record:G.siteId]),ue=oe.capabilities,ae=C(e=>z.documentHooks?.stored?.(e)??e,[z]),se="page"===G.kind?G.originSlug??null:null;H(()=>{m(z,ne)},[z,ne]);const ie=T(G);H(()=>{ie.current=G},[G]);const{token:le,tokenRef:ce,capabilities:de}=a({onMessage:e=>{if(M?.(e)||t(e))return;const r=e;if("storefront-editor:navigate"===r?.type){const r=e;r?.target&&Or(r.target)}}}),fe=!z.usesBridgedToken||null!==le,me=oe.lock,ke=Boolean(_.lock),[ge,ve]=B(null),[pe,he]=B(null),[ye,we]=B(null),[Se,be]=B(null),Pe=I("screen",g),Ie=Se?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})}}(Se,Pe):null,[je,Re]=B(null),Be=T(null),Oe=T(null),[Ce,He]=B(!1),Te=T(null),[Ee,Ae]=B(null),De=T(null),[Me,Ne]=B(null),[Ve,Fe]=B(!1),Le=T(null);H(()=>{Le.current=Me},[Me]);const[Ue,We]=B(ue.hasEditLock?{kind:"checking"}:{kind:"editing"}),Ze=T(Ue);H(()=>{Ze.current=Ue},[Ue]);const Je=T(()=>Promise.resolve(!1)),Ye=C(e=>{Oe.current=e,He(!0)},[]),Xe=v({save:async({id:e,data:r})=>{if(p(Ze.current)){if(!await Je.current(e,r)){if(!p(Ze.current))return void Ye({id:e,data:r});throw new Error("page save did not land")}}else Ye({id:e,data:r})},onFailure:(e,r)=>{0===r&&Q.send("storefront-editor:save-failed")}}),{state:xe,push:Ge,flush:Ke,pause:Qe,resume:ze,stop:_e,reset:qe,retryNow:$e,hasPending:er}=Xe,rr=T(xe);H(()=>{rr.current=xe},[xe]);const nr=i(xe),tr=C(()=>{const e=Oe.current;e&&(Oe.current=null,He(!1),Ge(e))},[Ge]),or=T("");or.current||(or.current=h());const[ur,ar]=B(0),sr=T(!1),[ir,lr]=B(L(j)),cr=T(!1);H(()=>{if(cr.current)return;cr.current=!0;const e=Q.address.search(),r=U(j,e);r?Q.address.load(r):L(j)&&lr(!1)},[j,Q]);const dr=Q.send;H(()=>{if(!fe)return;let e=!1;const r=ie.current,n=oe.resolve(re),t=z.documentHooks?.opening?.({slug:re,isTemplate:$,capabilities:ue});return n.then(async n=>{if(e)return;if(!n)return"page"===r.kind&&null!==F&&re!==F?void Q.address.load({kind:"page",slug:F,siteId:ne??void 0}):(be({target:r,slug:re,missing:!0,sentence:X?.(r)??null}),void x?.(r,null));const o=n.readOnlyReason?n.readOnlyReason:null;Be.current=o,Re(o),ve(n.id),he(n.kind??null),De.current=n.version??null;const u=n.layout,a=u&&Object.keys(u).length?u:A,s=Y(a),i=t?await t(s):s;e||we(i)}).catch(n=>{e||(console.error("[storefront-editor] document load failed",n),be({target:r,slug:re,missing:!1,sentence:u(n,{slug:re},z),cause:o(n,z)}),x?.(r,n))}),()=>{e=!0}},[fe,le,$,oe,re]);const fr=C(e=>new Promise(r=>{const n=Date.now(),t=setInterval(()=>{const o=ce.current;o&&o!==e?(clearInterval(t),r(o)):Date.now()-n>6e3&&(clearInterval(t),r(null))},200)}),[]),mr=C(async e=>{const n=ce.current;if(!n&&z.usesBridgedToken)return{ok:!1,error:new Error("no editor token")};try{return{ok:!0,value:await e(n??"")}}catch(t){if(r(t,z)){dr("storefront-editor:auth-expired");const r=n?await fr(n):null;if(r)try{return{ok:!0,value:await e(r)}}catch(e){return{ok:!1,error:e}}}return{ok:!1,error:t}}},[dr,fr,z]),kr=C(async e=>{const r=ce.current?await mr(e):{ok:!1};return r.ok||dr("storefront-editor:save-failed"),r.ok},[dr,mr]),gr=C(async(e,r,t=!1)=>{if(null!==Be.current)return!1;if(!p(Ze.current))return!1;if(Le.current)return!1;const o=await mr(()=>oe.saveLayout(e,r,De.current,or.current));if(o.ok)return De.current=o.value.version??De.current,Fe(!1),!0;const u=q.readLockTaken(o.error);if(u){const e={kind:"takenover",holder:u};return Ze.current=e,We(e),!1}const a=q.readSaveConflict(o.error);if(a){if(a.savedByYou&&!t&&oe.rereadVersion){const n=await mr(()=>oe.rereadVersion(e));if(n.ok&&n.value)return De.current=n.value,Je.current(e,r,!0)}_e(),Le.current=a,Ne(a)}return Fe(n(o.error,z)?.status===c),!1},[oe,mr,_e,z]);H(()=>{Je.current=gr},[gr]);const vr=C(e=>{if(null!==Be.current)return;if(dr("storefront-editor:dirty"),!ge)return;const r=ae(e);Te.current=r,p(Ze.current)?Ge({id:ge,data:r}):Ye({id:ge,data:r})},[ge,dr,Ye,Ge,ae]),pr=C(async()=>{p(Ze.current)&&tr();return await Ke()&&null==Oe.current},[tr,Ke]),hr=T(pr);H(()=>{hr.current=pr},[pr]);const yr=T(mr);H(()=>{yr.current=mr},[mr]);const wr=C(()=>{Q.address.reload()},[Q]),Sr=T(()=>Promise.resolve(!1));H(()=>{Sr.current=()=>{const e=oe.rereadVersion;return ge&&e?y({ours:De.current,stored:async()=>{const r=await yr.current(()=>e(ge));return r.ok?r.value:null},hasPending:()=>null!=Oe.current||er(),reload:wr}):Promise.resolve(!1)}},[oe,ge,er,wr]);const br=null!==je;H(()=>{if(!me||!ge||!fe||br)return;let e=!1,r=null,n=null;const t=or.current,o={claim:async e=>{const r=await yr.current(()=>me.claim(ge,t,e));if(r.ok)return{heartbeat_seconds:r.value.heartbeatSeconds};throw r.error},cancelled:()=>e,currentAccess:()=>Ze.current,heldWrite:()=>({pending:null!=Oe.current||er(),autoSaveEnabled:!rr.current.paused,saveConflict:null!=Le.current}),setAccess:e=>{Ze.current=e,We(e)},releaseHeldWrite:()=>{hr.current()},startHeartbeat:e=>{r&&clearInterval(r),r=setInterval(()=>{u(!1)},e)},stopHeartbeat:()=>{r&&(clearInterval(r),r=null)},reloadIfMoved:()=>{Sr.current()}},u=q.makeClaimBeat(o),a=sr.current;return sr.current=!1,a||(We({kind:"checking"}),n=setTimeout(()=>{n=null,w(o)&&o.startHeartbeat(S)},b)),u(a).finally(()=>{n&&clearTimeout(n),n=null}),()=>{e=!0,n&&clearTimeout(n),r&&clearInterval(r),me.release(ge,t).catch(()=>{})}},[ge,me,fe,le,ur,br]);const Pr=C(()=>{me&&ge&&(sr.current=!0,ar(e=>e+1))},[ge,me]),Ir=C(()=>{We(e=>{const r="blocked"===e.kind||"takenover"===e.kind?e.holder:null;return r?{kind:"readonly",holder:r}:e})},[]),jr=C(()=>{rr.current.paused?(p(Ze.current)&&tr(),ze()):Qe()},[tr,Qe,ze]),Rr=C(()=>{$e()},[$e]),Br=C(e=>{Te.current=null,l("template"!==e.kind&&ke,{resetAutosave:()=>{qe(),Oe.current=null,He(!1)},setVersion:e=>{De.current=e},setSaveConflict:Ne,setAccess:We}),W(e),K(e),Be.current=null,Re(null),ve(null),he(null),we(null),be(null),Q.address.show(e),"document"!==e.kind&&Z(e)&&Q.send("storefront-editor:navigated",{target:e})},[qe,Q,ke,W,Z]),Or=C(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,ie.current,F))return;const r=null!=Oe.current;if(!r&&!er())return void Br(e);const n=rr.current;r||n.paused||n.failed||n.stopped?Ae(e):Ke().then(r=>{r?Br(e):Ae(e)})},[Br,er,Ke,F]),Cr=C(()=>Ae(null),[]),Hr=C(()=>{Ae(e=>(e&&Br(e),null))},[Br]),Tr=C(async()=>{const e=Ee;if(!e)return;await pr()&&(Ae(null),Br(e))},[Ee,pr,Br]),Er=C(async e=>{if(null!==Be.current)return;if(!ge)return;if(!p(Ze.current)||Le.current)return;const r=ae(e);if(!await gr(ge,r))return void(Le.current||dr("storefront-editor:save-failed"));const n=oe.publish;if(!ue.canPublish||!n)return void dr("storefront-editor:saved");const t=await mr(()=>n(ge,De.current??void 0));t.ok?(De.current=t.value.version??De.current,dr("storefront-editor:published")):dr("storefront-editor:save-failed")},[ge,oe,ue.canPublish,dr,gr,mr,ae]);/* @__PURE__ */
|
|
2
|
+
return E(D.Provider,{value:{target:G,adapter:oe,capabilities:ue,templateId:ee,currentSlug:re,currentKind:pe,siteId:ne,ready:fe,token:le,tokenRef:ce,notifyParent:dr,bridgeCapabilities:de,runAuthed:kr,docId:ge,data:ye,getLiveData:()=>Te.current??ye,footerOriginSlug:se,error:Ie,redirecting:ir,saveStatus:nr,saveState:xe,autoSaveEnabled:!xe.paused,autoSaveStoppedByConflict:xe.stopped,hasUnsavedEdits:xe.pending||Ce,toggleAutoSave:jr,retrySave:Rr,onChange:vr,flushSave:pr,onPublish:Er,access:Ue,readOnly:null!==P(Ue)||null!==je||null!==Me,readOnlyReason:je,takeOverEditing:Pr,viewReadOnly:Ir,saveConflict:Me,saveUnreachable:Ve,reloadFromServer:wr,navigate:Or,pendingNav:Ee,cancelPendingNav:Cr,discardAndNavigate:Hr,saveAndNavigate:Tr},children:N})}export{D as ScreenDocumentContext,N as ScreenDocumentProvider,M as useScreenDocument};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{PanelToggleIcon as e}from"./chunk-KQMML6JM.js";import{InspectorHead as n}from"./chunk-
|
|
1
|
+
import{PanelToggleIcon as e}from"./chunk-KQMML6JM.js";import{InspectorHead as n}from"./chunk-QVUVDBGA.js";import{DEFAULT_CHROME_WORDS as i}from"./chunk-Y2G7CU6A.js";import{useWords as o}from"./chunk-MFIRYGHW.js";import{Tooltip as s,IconButton as t,Button as c}from"efficient-shell/ui";import{jsx as r,jsxs as l,Fragment as d}from"react/jsx-runtime";function a({icon:e,title:i,context:o,actions:s,side:t="left",onHide:c}){/* @__PURE__ */
|
|
2
2
|
return r(n,{icon:e,name:i,kind:o,actions:s||c?/* @__PURE__ */l(d,{children:[s,c?/* @__PURE__ */r(m,{side:t,onHide:c,divider:Boolean(s)}):null]}):void 0})}function m({side:n,onHide:c,divider:a=!1}){const m=o("chrome",i);/* @__PURE__ */
|
|
3
3
|
return l(d,{children:[a?/* @__PURE__ */r("span",{className:"sf-head-divider","aria-hidden":"true"}):null,
|
|
4
4
|
/* @__PURE__ */r(s,{content:m.hidePanel,side:"bottom",children:/* @__PURE__ */r(t,{className:"es-insp-iconbtn","aria-label":m.hidePanelLabel({side:n}),onClick:c,children:/* @__PURE__ */r(e,{side:n})})})]})}function h({side:n,onShow:c}){const l=o("chrome",i);/* @__PURE__ */
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{buildPaletteSections as e,pinnedSection as t,paletteWithoutPinned as o,categoryLabel as n}from"./chunk-PA3PNTVV.js";import{blockTypesIn as i}from"./chunk-5ZBY24K7.js";import{sectionTemplatesOf as s}from"./chunk-BVN33R76.js";import{SidePanelHead as r,PanelModeExit as c}from"./chunk-XTJCKV6Z.js";import{useEaselSession as l}from"./chunk-O7Q4DDJT.js";import{blockRuns as a}from"./chunk-HQ4VVRIC.js";import{useScreenBlockLook as p,useScreenBlockRules as m}from"./chunk-E3PD66A3.js";import{DEFAULT_SCREEN_WORDS as d}from"./chunk-JTUUIVBZ.js";import{useEasel as f}from"./chunk-KYG35KKJ.js";import{useWords as u}from"./chunk-MFIRYGHW.js";import{AddPanel as k}from"./chunk-SSORUDHE.js";import{DEFAULT_DRAG_WORDS as h}from"./chunk-O2NLQBFX.js";import{useState as y,useEffect as b,useMemo as j}from"react";import{AddIcon as g}from"efficient-shell/icons/efficient";import{jsx as $,jsxs as B,Fragment as O}from"react/jsx-runtime";var v=e=>`section:${e}`,V=e=>`block:${e}`,x=e=>`template:${e}`;function I({blocks:I,blocksOnly:A,at:D,onAdd:H,itemFor:K,session:L,siteWide:N,onClose:T,onHide:C,readOnly:F}){const J=f(e=>e.config),R=p(),{labelAtLevel:S,categoryLabel:w,firstSection:E,Icon:P,Thumbnail:Q}=R,{blockIsOffered:U}=m(),Y=u("screen",d).add,Z=u("drag",h).add,z=l(),[G,W]=y([]);b(()=>{let e=!1;const t=e=>U(e,z);return s(z).list().then(o=>{if(e)return;const n=J.components;W(o.filter(e=>e.node?.type&&n[e.node.type]&&i(e.node).every(t)))}).catch(()=>{}),()=>{e=!0}},[J,z]);const X=j(()=>e(J,R),[J]),M=e=>({type:v(e.type),label:e.name,cover:/* @__PURE__ */$(Q,{type:e.type}),title:e.desc?`${e.name} — ${e.desc}`:Y.tile({name:e.name}),keywords:[e.alias??"",e.desc,e.type,e.catLabel].filter(Boolean)}),q=j(()=>{const e=[];if(I&&I.choices.length>0&&a(I.choices).forEach((t,o)=>{e.push({key:`blocks:${o}`,title:0===o?`${Y.inside({name:I.parentName})}${t.group?` · ${t.group}`:""}`:t.group??"",tiles:t.items.map(e=>({type:V(e.type),label:e.label,icon:/* @__PURE__ */$(P,{type:e.type,size:18}),title:Y.tile({name:e.label})}))})}),A)return e;const i=t(X,E);i&&e.push({key:"start",title:Y.startBlank,tiles:[M(i)]}),G.length>0&&e.push({key:"templates",title:Y.templates,tiles:G.map(e=>{return{type:x(e.id),label:e.name,cover:/* @__PURE__ */$(Q,{type:e.node.type}),keywords:[(t=e.node.type,S(t,"section",J.components[t]?.label??t)),e.node.type]};var t})});const s=o(X,E);for(const t of Object.keys(J.categories??{})){const o=s.filter(e=>e.cat===t);0!==o.length&&e.push({key:`category:${t}`,title:n(J,t,w),tiles:o.map(M)})}return e},[I,A,G,X,J,Y]),_=e=>{const t=e.indexOf(":"),o=e.slice(0,t),n=e.slice(t+1);if("section"===o)return{kind:"section",type:n};if("block"===o)return{kind:"block",type:n};if("template"===o){const e=G.find(e=>e.id===n);return e?{kind:"template",template:e}:null}return null};/* @__PURE__ */
|
|
2
|
+
return B(O,{children:[
|
|
3
|
+
/* @__PURE__ */$(r,{icon:/* @__PURE__ */$(g,{size:15}),title:Y.title,context:A?Y.contextBlocks:Y.contextAll,actions:/* @__PURE__ */$(c,{label:Y.done,description:Y.doneDescription,onClick:T}),onHide:C}),
|
|
4
|
+
/* @__PURE__ */B("div",{className:"sf-addside sf-scroll",children:[
|
|
5
|
+
/* @__PURE__ */$(k,{groups:q,session:L,itemFor:e=>K(_(e)??{kind:"section",type:e}),onInsert:e=>{const t=_(e);t&&H(t)},at:D,hint:A?Y.hintBlocks:Y.hint,searchLabel:A?Y.searchBlocks:Y.searchSections,readOnly:F,words:Z}),N&&!A?N:null]})]})}export{I as AddSidePanel,V as blockKey,v as sectionKey,x as templateKey};
|
package/dist/easel/easel.css
CHANGED
|
@@ -19,11 +19,31 @@
|
|
|
19
19
|
border: 0;
|
|
20
20
|
width: 100%;
|
|
21
21
|
display: block;
|
|
22
|
+
/* THE DOCUMENT FLOATS ON THE CANVAS (Lewis 2026-10-15): the website's page,
|
|
23
|
+
wherever the canvas is wider than the page (tablet, phone). The shell's
|
|
24
|
+
panel shadow, no value of our own. See the floating sheet below. */
|
|
25
|
+
box-shadow: var(--elevation-panel);
|
|
22
26
|
}
|
|
23
27
|
.es-canvas-frame.is-fill {
|
|
24
28
|
height: 100%;
|
|
25
29
|
}
|
|
26
30
|
|
|
31
|
+
/* THE FLOATING SHEET, inside the frame (Lewis 2026-10-15, option A, via GG):
|
|
32
|
+
the document's BODY — the element holding its top list, the email's body
|
|
33
|
+
card — sits on the canvas with ONE soft shadow, whatever its colours. In the
|
|
34
|
+
"Forged in Fire" email the backdrop and the body are the same grey, and the
|
|
35
|
+
editor showed no edge at all. No new setting and no value of its own: the
|
|
36
|
+
shell's panel shadow (owner 2026-10-12, harness UI-24). Hosts copy the
|
|
37
|
+
shell's sheet into the frame with theirs; a frame without it simply draws
|
|
38
|
+
no shadow, which is the old look, never a wrong one.
|
|
39
|
+
EDITOR ONLY by construction: only the editing canvas draws `.es-zone`;
|
|
40
|
+
`Render` (a published page, a sent email) draws none
|
|
41
|
+
(tests/canvas-floating-sheet). `:where` gives the rule no weight
|
|
42
|
+
at all, so a document's own shadow on that element still wins. */
|
|
43
|
+
:where(:has(> .es-zone.is-root)) {
|
|
44
|
+
box-shadow: var(--elevation-panel);
|
|
45
|
+
}
|
|
46
|
+
|
|
27
47
|
/* The frame's root (CanvasFrame). Puck's `[data-puck-entry]` rule: a stacking
|
|
28
48
|
context of its own, so a block's z-index stays inside the page. */
|
|
29
49
|
[data-puck-entry] {
|
|
@@ -20,6 +20,24 @@ type AutosaveSnapshot = Readonly<{
|
|
|
20
20
|
paused: boolean;
|
|
21
21
|
/** A save was refused (`stop()`): nothing more is written. */
|
|
22
22
|
stopped: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* When the last save LANDED, by the clock (8.0.0): what "Saved 2 seconds
|
|
25
|
+
* ago" counts from. Null before any save of this document. Optional in the
|
|
26
|
+
* type so a snapshot a host builds by hand still compiles; the engine always
|
|
27
|
+
* sets it.
|
|
28
|
+
*/
|
|
29
|
+
savedAt?: number | null;
|
|
30
|
+
/** When the backoff's next retry goes, by the clock (8.0.0): what "trying
|
|
31
|
+
* again in 15 s" counts to. Null while no retry is set (none failed, or
|
|
32
|
+
* paused, or stopped). */
|
|
33
|
+
retryAt?: number | null;
|
|
34
|
+
/**
|
|
35
|
+
* A write is out for an edit that has been off the server for
|
|
36
|
+
* `unsavedAfterMs` (8.0.0): the one time "Saving" is worth drawing. False
|
|
37
|
+
* for a quick save, so the five-second rule holds for it too and a save a
|
|
38
|
+
* second does not re-render a host twice a second.
|
|
39
|
+
*/
|
|
40
|
+
saving?: boolean;
|
|
23
41
|
}>;
|
|
24
42
|
type AutosaveOptions<T> = {
|
|
25
43
|
/** Write one document. A rejection is a failed save and starts the backoff.
|
|
@@ -6,7 +6,7 @@ import { SessionBackend, SessionBlocks } from './screen/lib/session.js';
|
|
|
6
6
|
import { SaveStatus } from './screen/lib/document-switch.js';
|
|
7
7
|
import { BridgedCapabilities } from './screen/lib/admin-bridge.js';
|
|
8
8
|
import { EditAccess, SaveConflict } from './edit-lock/index.js';
|
|
9
|
-
import { A as AutosaveSnapshot } from './engine-
|
|
9
|
+
import { A as AutosaveSnapshot } from './engine-CvXpFE86.js';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* lib/document-addressing.ts — HOW A DOCUMENT IS ADDRESSED: what the
|
|
@@ -316,6 +316,11 @@ type ScreenDocumentValue = {
|
|
|
316
316
|
* never a dialog, so there is nothing to dismiss: the operator reads and
|
|
317
317
|
* copies from the screen it is warning them about. */
|
|
318
318
|
saveConflict: SaveConflict | null;
|
|
319
|
+
/** The last save failed because the server could not be REACHED (no answer
|
|
320
|
+
* at all), not because it answered no (8.0.0). With a failed save, the bar
|
|
321
|
+
* says "You're offline" where it would say "Not saved". Optional for a
|
|
322
|
+
* context built by hand, where it is absent and means false. */
|
|
323
|
+
saveUnreachable?: boolean;
|
|
319
324
|
/** Abandon this editor's version and reload what is stored. The ONLY path that
|
|
320
325
|
* throws the operator's work away, and only they can ask for it. */
|
|
321
326
|
reloadFromServer: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{AddBlockRow as default}from"../../chunk-
|
|
1
|
+
export{AddBlockRow as default}from"../../chunk-JO6FBCVR.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-E3PD66A3.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-JTUUIVBZ.js";import"../../chunk-KYG35KKJ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-PEDDDWSG.js";import"../../chunk-OZ72A6MY.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-GZH4UVDH.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-EA2HTX37.js";import"../../chunk-SOZUYCQZ.js";import"../../chunk-WQASXLXS.js";import"../../chunk-66LWADFP.js";import"../../chunk-QLD57GBB.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-546BBOPE.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-67GNT6PF.js";import"../../chunk-AWJUYMX7.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-ZPXKNO5L.js";import"../../chunk-PA3PNTVV.js";import"../../chunk-5ZBY24K7.js";import"../../chunk-BVN33R76.js";import"../../chunk-XTJCKV6Z.js";import"../../chunk-KQMML6JM.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-E3PD66A3.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-JTUUIVBZ.js";import"../../chunk-KYG35KKJ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-PEDDDWSG.js";import"../../chunk-OZ72A6MY.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-GZH4UVDH.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-EA2HTX37.js";import"../../chunk-SOZUYCQZ.js";import"../../chunk-QVUVDBGA.js";import"../../chunk-Y2G7CU6A.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-WQASXLXS.js";import"../../chunk-66LWADFP.js";import"../../chunk-QLD57GBB.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-546BBOPE.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-SSORUDHE.js";import"../../chunk-O2NLQBFX.js";import"../../chunk-67GNT6PF.js";import"../../chunk-AWJUYMX7.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { MediaPanelComponent, MediaPickRequest } from '../lib/media-panel.js';
|
|
3
|
-
import '../../host-
|
|
3
|
+
import '../../host-Ud6rLpph.js';
|
|
4
4
|
import '../../blocks/index.js';
|
|
5
5
|
import '../../types-BbkxBdG9.js';
|
|
6
6
|
import '../../data/index.js';
|
|
@@ -18,7 +18,7 @@ import '../lib/document-hooks.js';
|
|
|
18
18
|
import '../lib/section-template-types.js';
|
|
19
19
|
import '../lib/puck/content-tree.js';
|
|
20
20
|
import '../lib/document-switch.js';
|
|
21
|
-
import '../../engine-
|
|
21
|
+
import '../../engine-CvXpFE86.js';
|
|
22
22
|
import '../lib/admin-bridge.js';
|
|
23
23
|
|
|
24
24
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{MediaSidePanel as default}from"../../chunk-
|
|
1
|
+
export{MediaSidePanel as default}from"../../chunk-CVUMGA2T.js";import"../../chunk-E3PD66A3.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-KYG35KKJ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-PEDDDWSG.js";import"../../chunk-OZ72A6MY.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-GZH4UVDH.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-EA2HTX37.js";import"../../chunk-SOZUYCQZ.js";import"../../chunk-QVUVDBGA.js";import"../../chunk-Y2G7CU6A.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-WQASXLXS.js";import"../../chunk-66LWADFP.js";import"../../chunk-QLD57GBB.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-546BBOPE.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-67GNT6PF.js";import"../../chunk-AWJUYMX7.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
|
|
@@ -17,7 +17,7 @@ import '../../blocks/index.js';
|
|
|
17
17
|
import '../../types-BbkxBdG9.js';
|
|
18
18
|
import '../../data/index.js';
|
|
19
19
|
import '../../resolve-D68pb3Bx.js';
|
|
20
|
-
import '../../types-
|
|
20
|
+
import '../../types-DGyDHiJV.js';
|
|
21
21
|
import '../../types-CsgMwHHa.js';
|
|
22
22
|
import '../../wordFit-7XpmhcaW.js';
|
|
23
23
|
import '../../edit-lock/index.js';
|
|
@@ -30,10 +30,10 @@ import '../../words-Cl9xMUYY.js';
|
|
|
30
30
|
import './AddSidePanel.js';
|
|
31
31
|
import '../lib/section-template-types.js';
|
|
32
32
|
import '../lib/puck/content-tree.js';
|
|
33
|
-
import '../../host-
|
|
33
|
+
import '../../host-Ud6rLpph.js';
|
|
34
34
|
import '../lib/document-contract.js';
|
|
35
35
|
import '../lib/document-switch.js';
|
|
36
|
-
import '../../engine-
|
|
36
|
+
import '../../engine-CvXpFE86.js';
|
|
37
37
|
import '../lib/admin-bridge.js';
|
|
38
38
|
import '../lib/host-chrome.js';
|
|
39
39
|
import '../lib/links/link-filters.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{EASEL_NODE_CLIPBOARD,ancestorChain,nodeClipboardOf,nodeClipboardRules,nodeMenuItems,nodeShortcut,pageMenuItems,pastePlace,runNodeShortcut,textMenuItems,useNodeClipboard,useNodeContextMenu}from"../../chunk-
|
|
1
|
+
export{EASEL_NODE_CLIPBOARD,ancestorChain,nodeClipboardOf,nodeClipboardRules,nodeMenuItems,nodeShortcut,pageMenuItems,pastePlace,runNodeShortcut,textMenuItems,useNodeClipboard,useNodeContextMenu}from"../../chunk-R2G64ZNC.js";import"../../chunk-V7U33NF2.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-JTUUIVBZ.js";import"../../chunk-BXMXTO36.js";import"../../chunk-EA2HTX37.js";import"../../chunk-OSPUG6S6.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-SOZUYCQZ.js";import"../../chunk-AWJUYMX7.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{PageEditGuardNotices as default}from"../../chunk-
|
|
1
|
+
export{PageEditGuardNotices as default}from"../../chunk-NCQSBU3O.js";import"../../chunk-THZ46DC5.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-S4AWJX4Q.js";import"../../chunk-ERR437B5.js";import"../../chunk-KG7RJWOK.js";import"../../chunk-VPFNZ7TB.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-JTUUIVBZ.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-QVUVDBGA.js";import"../../chunk-Y2G7CU6A.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-MFIRYGHW.js";
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { SaveStatusInput } from '../lib/save-status.js';
|
|
3
|
+
import { ScreenMainAction } from '../lib/screen-parts.js';
|
|
4
|
+
import { ScreenBarWords, ScreenSaveStatusWords } from '../words.js';
|
|
5
|
+
import '../../engine-CvXpFE86.js';
|
|
6
|
+
import '../../types-DGyDHiJV.js';
|
|
7
|
+
import '../../types-CsgMwHHa.js';
|
|
8
|
+
import '../../wordFit-7XpmhcaW.js';
|
|
9
|
+
import '../../edit-lock/index.js';
|
|
10
|
+
import '../../panelWidths-D9hTLR25.js';
|
|
11
|
+
import '../../blocks/index.js';
|
|
12
|
+
import '../../types-BbkxBdG9.js';
|
|
13
|
+
import '../../data/index.js';
|
|
14
|
+
import '../../types-41704JE4.js';
|
|
15
|
+
import '../../resolve-D68pb3Bx.js';
|
|
16
|
+
import '../../plan-xc48tt77.js';
|
|
17
|
+
import '../../watch-BTYOJpQU.js';
|
|
18
|
+
import '../../CanvasDragLayer-CLb7j-CZ.js';
|
|
19
|
+
import '../../session-DSQFmIvx.js';
|
|
20
|
+
import '../../words-BDignMl_.js';
|
|
21
|
+
import '../../types-BsyPh6EW.js';
|
|
22
|
+
import '../../style-clipboard/index.js';
|
|
23
|
+
import '../../words-CnnHb9jo.js';
|
|
24
|
+
import '../../types-BLRK6_JO.js';
|
|
25
|
+
import '../../words-Cl9xMUYY.js';
|
|
26
|
+
import './AddSidePanel.js';
|
|
27
|
+
import '../lib/section-template-types.js';
|
|
28
|
+
import '../lib/puck/content-tree.js';
|
|
29
|
+
import '../lib/puck/block-choice.js';
|
|
30
|
+
import '../../host-Ud6rLpph.js';
|
|
31
|
+
import '../lib/document-contract.js';
|
|
32
|
+
import '../lib/session.js';
|
|
33
|
+
import '../lib/backend-error.js';
|
|
34
|
+
import '../lib/host-chrome.js';
|
|
35
|
+
import '../lib/links/link-filters.js';
|
|
36
|
+
import 'efficient-shell/ui';
|
|
37
|
+
import '../lib/document-hooks.js';
|
|
38
|
+
import '../lib/document-switch.js';
|
|
39
|
+
import '../lib/admin-bridge.js';
|
|
40
|
+
import '../lib/puck/add-target-types.js';
|
|
41
|
+
import '../lib/puck/slot-section-spec.js';
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* THE B3 SAVE CONTROLS (8.0.0, card [DESIGN] A Clearer Save In Both Editors,
|
|
45
|
+
* build plan E1): the save icon and the main split button with its save menu,
|
|
46
|
+
* drawn by the screen for both editors from the shell's parts only —
|
|
47
|
+
* `SplitButton`, its `DropdownMenu` entries (a status row, a check box, an
|
|
48
|
+
* item), `Kbd`, `Tooltip` and the shell's glyphs. Nothing here draws a
|
|
49
|
+
* control of its own (UI-24).
|
|
50
|
+
*
|
|
51
|
+
* Each reads the save through `describeSave` (lib/save-status), at its own
|
|
52
|
+
* clock: while its words count ("Saved 2 seconds ago", "trying again in
|
|
53
|
+
* 15 s") it re-renders once a second, and nothing else round it does.
|
|
54
|
+
*/
|
|
55
|
+
/** What both controls read: the save, as the chrome hands it in. */
|
|
56
|
+
type SaveControlsInput = Omit<SaveStatusInput, "now">;
|
|
57
|
+
/** The save icon, left of the layer's places in the bar. */
|
|
58
|
+
declare function ScreenSaveIcon({ input, words }: {
|
|
59
|
+
input: SaveControlsInput;
|
|
60
|
+
words: ScreenSaveStatusWords;
|
|
61
|
+
}): react.JSX.Element;
|
|
62
|
+
/**
|
|
63
|
+
* The main button: the shell's SplitButton. The main half is the layer's
|
|
64
|
+
* action (or the screen's Done); the chevron opens the save menu, the same in
|
|
65
|
+
* both editors:
|
|
66
|
+
*
|
|
67
|
+
* status row the save, then " · " and the layer's suffix while calm;
|
|
68
|
+
* Auto-save a check box, ticked while the autosave runs (only where the
|
|
69
|
+
* layer lets the autosave be paused, `saveSwitch`);
|
|
70
|
+
* Save now ⌘S writes what is held now; "Retry now" after a failure or
|
|
71
|
+
* offline. Off, like Auto-save, while nothing may be written.
|
|
72
|
+
*/
|
|
73
|
+
declare function ScreenMainButton({ input, action, readOnly, saveSwitch, onToggleAutoSave, onSaveNow, bar, words, }: {
|
|
74
|
+
input: SaveControlsInput;
|
|
75
|
+
action: ScreenMainAction;
|
|
76
|
+
/** Nothing may be written (`ScreenDocumentValue.readOnly`). */
|
|
77
|
+
readOnly: boolean;
|
|
78
|
+
saveSwitch: boolean;
|
|
79
|
+
onToggleAutoSave: () => void;
|
|
80
|
+
onSaveNow: () => void;
|
|
81
|
+
bar: ScreenBarWords;
|
|
82
|
+
words: ScreenSaveStatusWords;
|
|
83
|
+
}): react.JSX.Element;
|
|
84
|
+
|
|
85
|
+
export { type SaveControlsInput, ScreenMainButton, ScreenSaveIcon };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{ScreenMainButton,ScreenSaveIcon}from"../../chunk-HDUAODXJ.js";import"../../chunk-RKTF5XLP.js";import"../../chunk-QVUVDBGA.js";import"../../chunk-Y2G7CU6A.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-MFIRYGHW.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{ScreenChrome as default}from"../../chunk-
|
|
1
|
+
export{ScreenChrome as default}from"../../chunk-246ONJJH.js";import"../../chunk-2GVCAIPX.js";import"../../chunk-26OOWIJJ.js";import"../../chunk-BRDCD4LK.js";import"../../chunk-FGNR22NY.js";import"../../chunk-ZE7I3PLX.js";import"../../chunk-OGCROOTI.js";import"../../chunk-7F52SZOI.js";import"../../chunk-MQNBD6AB.js";import"../../chunk-BHRC3ASL.js";import"../../chunk-6W7WLPZH.js";import"../../chunk-4ES5JGGX.js";import"../../chunk-IQ5TA7AM.js";import"../../chunk-DUVRZ456.js";import"../../chunk-3NB2IEXA.js";import"../../chunk-KCBEE2MC.js";import"../../chunk-DPKWJTNX.js";import"../../chunk-2LBXIYF7.js";import"../../chunk-2QUWI67X.js";import"../../chunk-IYT6NN2J.js";import"../../chunk-R2G64ZNC.js";import"../../chunk-NCQSBU3O.js";import"../../chunk-BSPCSC45.js";import"../../chunk-I54UCYOU.js";import"../../chunk-GOTN2KY4.js";import"../../chunk-R5L2E7JX.js";import"../../chunk-HDUAODXJ.js";import"../../chunk-RKTF5XLP.js";import"../../chunk-THZ46DC5.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-S4AWJX4Q.js";import"../../chunk-ERR437B5.js";import"../../chunk-KG7RJWOK.js";import"../../chunk-VPFNZ7TB.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-V7U33NF2.js";import"../../chunk-5545A3PC.js";import"../../chunk-ZPXKNO5L.js";import"../../chunk-PA3PNTVV.js";import"../../chunk-5ZBY24K7.js";import"../../chunk-BVN33R76.js";import"../../chunk-XTJCKV6Z.js";import"../../chunk-KQMML6JM.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-CVUMGA2T.js";import"../../chunk-E3PD66A3.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-JTUUIVBZ.js";import"../../chunk-KYG35KKJ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-PEDDDWSG.js";import"../../chunk-OZ72A6MY.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-GZH4UVDH.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-BXMXTO36.js";import"../../chunk-EA2HTX37.js";import"../../chunk-OSPUG6S6.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-SOZUYCQZ.js";import"../../chunk-4VJATVVR.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-QVUVDBGA.js";import"../../chunk-Y2G7CU6A.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-WQASXLXS.js";import"../../chunk-66LWADFP.js";import"../../chunk-QLD57GBB.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-546BBOPE.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-SSORUDHE.js";import"../../chunk-O2NLQBFX.js";import"../../chunk-67GNT6PF.js";import"../../chunk-AWJUYMX7.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import 'react';
|
|
2
2
|
import '../../blocks/index.js';
|
|
3
|
-
export { k as AnyScreenTarget, l as DocumentTarget, m as ScreenDocumentContext, n as ScreenDocumentProvider, o as ScreenDocumentValue, p as ScreenTarget, q as useScreenDocument } from '../../host-
|
|
3
|
+
export { k as AnyScreenTarget, l as DocumentTarget, m as ScreenDocumentContext, n as ScreenDocumentProvider, o as ScreenDocumentValue, p as ScreenTarget, q as useScreenDocument } from '../../host-Ud6rLpph.js';
|
|
4
4
|
import '../lib/document-contract.js';
|
|
5
5
|
export { SaveStatus } from '../lib/document-switch.js';
|
|
6
6
|
import '../lib/admin-bridge.js';
|
|
7
7
|
import '../../edit-lock/index.js';
|
|
8
|
-
import '../../engine-
|
|
8
|
+
import '../../engine-CvXpFE86.js';
|
|
9
9
|
import '../../types-BbkxBdG9.js';
|
|
10
10
|
import '../../data/index.js';
|
|
11
11
|
import '../../types-41704JE4.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{ScreenDocumentContext,ScreenDocumentProvider,useScreenDocument}from"../../chunk-
|
|
1
|
+
export{ScreenDocumentContext,ScreenDocumentProvider,useScreenDocument}from"../../chunk-THZ46DC5.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-S4AWJX4Q.js";import"../../chunk-ERR437B5.js";import"../../chunk-KG7RJWOK.js";import"../../chunk-VPFNZ7TB.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-JTUUIVBZ.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MFIRYGHW.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { k as AnyScreenTarget, A as AnyDocumentAddressing } from '../../host-
|
|
3
|
+
import { k as AnyScreenTarget, A as AnyDocumentAddressing } from '../../host-Ud6rLpph.js';
|
|
4
4
|
import { ScreenParts } from '../lib/screen-parts.js';
|
|
5
5
|
import '../../blocks/index.js';
|
|
6
6
|
import '../../types-BbkxBdG9.js';
|
|
@@ -19,10 +19,10 @@ import '../lib/document-hooks.js';
|
|
|
19
19
|
import '../lib/section-template-types.js';
|
|
20
20
|
import '../lib/puck/content-tree.js';
|
|
21
21
|
import '../lib/document-switch.js';
|
|
22
|
-
import '../../engine-
|
|
22
|
+
import '../../engine-CvXpFE86.js';
|
|
23
23
|
import '../lib/admin-bridge.js';
|
|
24
24
|
import '../../watch-BTYOJpQU.js';
|
|
25
|
-
import '../../types-
|
|
25
|
+
import '../../types-DGyDHiJV.js';
|
|
26
26
|
import '../../types-CsgMwHHa.js';
|
|
27
27
|
import '../../wordFit-7XpmhcaW.js';
|
|
28
28
|
import '../../panelWidths-D9hTLR25.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{DocumentScreen,ScreenMount as default}from"../../chunk-
|
|
1
|
+
export{DocumentScreen,ScreenMount as default}from"../../chunk-3QK5R7RR.js";import"../../chunk-GXQCZJOP.js";import"../../chunk-BSZ54Q2T.js";import"../../chunk-246ONJJH.js";import"../../chunk-2GVCAIPX.js";import"../../chunk-26OOWIJJ.js";import"../../chunk-BRDCD4LK.js";import"../../chunk-FGNR22NY.js";import"../../chunk-ZE7I3PLX.js";import"../../chunk-OGCROOTI.js";import"../../chunk-7F52SZOI.js";import"../../chunk-MQNBD6AB.js";import"../../chunk-BHRC3ASL.js";import"../../chunk-6W7WLPZH.js";import"../../chunk-4ES5JGGX.js";import"../../chunk-IQ5TA7AM.js";import"../../chunk-DUVRZ456.js";import"../../chunk-3NB2IEXA.js";import"../../chunk-KCBEE2MC.js";import"../../chunk-DPKWJTNX.js";import"../../chunk-2LBXIYF7.js";import"../../chunk-2QUWI67X.js";import"../../chunk-IYT6NN2J.js";import"../../chunk-R2G64ZNC.js";import"../../chunk-NCQSBU3O.js";import"../../chunk-BSPCSC45.js";import"../../chunk-I54UCYOU.js";import"../../chunk-GOTN2KY4.js";import"../../chunk-R5L2E7JX.js";import"../../chunk-HDUAODXJ.js";import"../../chunk-RKTF5XLP.js";import"../../chunk-THZ46DC5.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-S4AWJX4Q.js";import"../../chunk-ERR437B5.js";import"../../chunk-KG7RJWOK.js";import"../../chunk-VPFNZ7TB.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-V7U33NF2.js";import"../../chunk-5545A3PC.js";import"../../chunk-ZPXKNO5L.js";import"../../chunk-PA3PNTVV.js";import"../../chunk-5ZBY24K7.js";import"../../chunk-BVN33R76.js";import"../../chunk-XTJCKV6Z.js";import"../../chunk-KQMML6JM.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-CVUMGA2T.js";import"../../chunk-E3PD66A3.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-JTUUIVBZ.js";import"../../chunk-KYG35KKJ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-PEDDDWSG.js";import"../../chunk-OZ72A6MY.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-GZH4UVDH.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-BXMXTO36.js";import"../../chunk-EA2HTX37.js";import"../../chunk-OSPUG6S6.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-SOZUYCQZ.js";import"../../chunk-4VJATVVR.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-QVUVDBGA.js";import"../../chunk-Y2G7CU6A.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-WQASXLXS.js";import"../../chunk-66LWADFP.js";import"../../chunk-QLD57GBB.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-546BBOPE.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-SSORUDHE.js";import"../../chunk-O2NLQBFX.js";import"../../chunk-67GNT6PF.js";import"../../chunk-AWJUYMX7.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
|
|
@@ -8,7 +8,7 @@ import '../../types-41704JE4.js';
|
|
|
8
8
|
import '../../resolve-D68pb3Bx.js';
|
|
9
9
|
import '../../plan-xc48tt77.js';
|
|
10
10
|
import '../../watch-BTYOJpQU.js';
|
|
11
|
-
import '../../types-
|
|
11
|
+
import '../../types-DGyDHiJV.js';
|
|
12
12
|
import '../../types-CsgMwHHa.js';
|
|
13
13
|
import '../../wordFit-7XpmhcaW.js';
|
|
14
14
|
import '../../edit-lock/index.js';
|
|
@@ -25,7 +25,7 @@ import './AddSidePanel.js';
|
|
|
25
25
|
import '../lib/section-template-types.js';
|
|
26
26
|
import '../lib/puck/content-tree.js';
|
|
27
27
|
import '../lib/puck/block-choice.js';
|
|
28
|
-
import '../../host-
|
|
28
|
+
import '../../host-Ud6rLpph.js';
|
|
29
29
|
import '../lib/document-contract.js';
|
|
30
30
|
import '../lib/session.js';
|
|
31
31
|
import '../lib/backend-error.js';
|
|
@@ -34,7 +34,7 @@ import '../lib/links/link-filters.js';
|
|
|
34
34
|
import 'efficient-shell/ui';
|
|
35
35
|
import '../lib/document-hooks.js';
|
|
36
36
|
import '../lib/document-switch.js';
|
|
37
|
-
import '../../engine-
|
|
37
|
+
import '../../engine-CvXpFE86.js';
|
|
38
38
|
import '../lib/admin-bridge.js';
|
|
39
39
|
import '../lib/puck/add-target-types.js';
|
|
40
40
|
import '../lib/puck/slot-section-spec.js';
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import{AddBlockRow as e}from"../../chunk-
|
|
2
|
-
return
|
|
3
|
-
return
|
|
4
|
-
/* @__PURE__ */
|
|
5
|
-
return
|
|
6
|
-
/* @__PURE__ */
|
|
7
|
-
/* @__PURE__ */
|
|
8
|
-
/* @__PURE__ */
|
|
9
|
-
/* @__PURE__ */
|
|
10
|
-
/* @__PURE__ */
|
|
11
|
-
return
|
|
12
|
-
/* @__PURE__ */
|
|
13
|
-
/* @__PURE__ */
|
|
14
|
-
/* @__PURE__ */
|
|
15
|
-
/* @__PURE__ */
|
|
16
|
-
/* @__PURE__ */
|
|
1
|
+
import{AddBlockRow as e}from"../../chunk-JO6FBCVR.js";import{slotChildRowName as n}from"../../chunk-BHRC3ASL.js";import"../../chunk-6W7WLPZH.js";import{scrollPreviewToSection as o,gotoPreviewSlide as r}from"../../chunk-4ES5JGGX.js";import"../../chunk-IQ5TA7AM.js";import"../../chunk-DUVRZ456.js";import{useEaselUndoKeys as t}from"../../chunk-3NB2IEXA.js";import{SlotChildActionsProvider as s}from"../../chunk-KCBEE2MC.js";import{DEFAULT_PANEL_W as i}from"../../chunk-DPKWJTNX.js";import{usePartBridge as c}from"../../chunk-2LBXIYF7.js";import{useSectionOps as p}from"../../chunk-2QUWI67X.js";import"../../chunk-IYT6NN2J.js";import"../../chunk-I54UCYOU.js";import"../../chunk-GOTN2KY4.js";import"../../chunk-R5L2E7JX.js";import{useScreenDocument as l}from"../../chunk-THZ46DC5.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-S4AWJX4Q.js";import"../../chunk-ERR437B5.js";import"../../chunk-KG7RJWOK.js";import"../../chunk-VPFNZ7TB.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-HQ4VVRIC.js";import{MediaSidePanel as m}from"../../chunk-CVUMGA2T.js";import{SELECTION_MODE as d,useScreenPinned as a,useScreenCanvasFrame as u,useScreenInspectorPanel as h,useScreenPickFollowsSelection as k,sameInspectorMode as f,useStandaloneScreenBridges as j,useScreenBlockLook as S,useScreenBlockRules as y}from"../../chunk-E3PD66A3.js";import{slotFieldsOf as N,nestsInTree as A}from"../../chunk-PLVEGYK6.js";import{useMediaPanel as C,usePanelPick as x,useCancelPanelPick as B}from"../../chunk-R6WTQWAC.js";import{useHostEscape as D}from"../../chunk-U3JP4VGF.js";import{DEFAULT_SCREEN_WORDS as P}from"../../chunk-JTUUIVBZ.js";import{useEasel as R}from"../../chunk-KYG35KKJ.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-PEDDDWSG.js";import"../../chunk-OZ72A6MY.js";import{LayersTree as v,Subtree as O,TreeRow as g,TreeRowAction as w,TreeSeam as z}from"../../chunk-4JSBIW5H.js";import"../../chunk-GZH4UVDH.js";import{DEFAULT_TREE_WORDS as E}from"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-EA2HTX37.js";import"../../chunk-SOZUYCQZ.js";import"../../chunk-NDRZP6YR.js";import{DEFAULT_SAVE_WORDS as Y,saveIndicator as b}from"../../chunk-H6DDIBQ4.js";import{SaveState as L,panelWidthVars as W}from"../../chunk-QVUVDBGA.js";import"../../chunk-Y2G7CU6A.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-WQASXLXS.js";import"../../chunk-66LWADFP.js";import"../../chunk-QLD57GBB.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-546BBOPE.js";import{useWords as H}from"../../chunk-MFIRYGHW.js";import"../../chunk-SSORUDHE.js";import"../../chunk-O2NLQBFX.js";import{useTreeDrag as M}from"../../chunk-67GNT6PF.js";import"../../chunk-AWJUYMX7.js";import"../../chunk-P2VEMZH5.js";import{zoneKey as V,parseZoneKey as X}from"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";import{useState as F,useRef as G,useEffect as J,useCallback as K,Fragment as T}from"react";import{Tooltip as Z}from"efficient-shell/ui";import{TrashIcon as I}from"efficient-shell/icons/efficient";import{jsxs as U,jsx as Q,Fragment as $}from"react/jsx-runtime";var q=e=>n=>{n.target.closest("button, input")||e()},_={rowClick:q};function ee(){const{saveState:ee,readOnly:ne,readOnlyReason:oe=null}=l(),re=p(),{appState:te,selectedItem:se,config:ie}=R(e=>e),[ce,pe]=F(d),le=H("screen",P),me=H("tree",E),de=H("save",Y),{first:ae,last:ue,panelOf:he}=a(),ke=he(ae),fe=u(),je=h(),Se=te.data.content?.[0]??null,ye=Se?.props.id??null,Ne=Se?.type===ae,Ae=Se?.type===ue,Ce=G(null),xe=G(null);t(xe);const Be=C(),De=x(),Pe=B();k(se?.props.id),J(()=>{const e=xe.current;if(!De||!e)return;const n=e=>{"Escape"===e.key&&Pe()};return e.addEventListener("keydown",n),()=>e.removeEventListener("keydown",n)},[De]),D(null!==De,()=>Pe()),J(()=>{ye&&Ce.current!==ye&&(Ce.current=ye,Ne?pe(ke??d):se||re.select({index:0}))},[ye,se,re,Ne]);const Re=K(e=>pe(n=>f(n,e)?n:e),[]),ve=j({kind:ce.kind,mode:ce,open:Re,show:e=>pe(e),reveal:()=>{},select:(e,n)=>{pe(e=>f(e,n)?e:n),re.select(e)}}),{selectNode:Oe}=c({mode:ce,setMode:pe,onOpenPart:o}),ge=S(),{labelAtLevel:we,Icon:ze}=ge,{canAddTo:Ee}=y(),Ye=e=>we(e,"block",ie.components[e]?.label??e),be=e=>we(e,"section",Ye(e)),Le=!Ne&&"puck"===ce.kind&&se?.props.id===ye,We=Se?Ee(Se.type)?.spec??null:null,He=Se&&We?`${Se.props.id}:${We.slot}`:null,Me=Se&&We&&Array.isArray(Se.props[We.slot])?Se.props[We.slot]:[],Ve=e=>n(e,Ye,ge.plainText),Xe=(e,n)=>{Se&&We&&He&&(pe(d),We.slider?(r(String(Se.props.id),e),re.select({index:e,zone:He}),o(String(Se.props.id))):(re.select({index:e,zone:He}),o(n)))},Fe=()=>{if(!Se||!We||!He)return;const e=Me.length;re.insertComponent(He,We.childType,e),pe(d),We.slider?requestAnimationFrame(()=>{r(String(Se.props.id),e),re.select({index:e,zone:He})}):re.select({index:e,zone:He})},Ge=e=>N(ie,e),Je=e=>{const{parentId:n,slot:o}=X(e),r=e=>{if(!e)return null;if(String(e.props.id)===n)return e;for(const n of Ge(e.type)){const o=Array.isArray(e.props[n])?e.props[n]:[];for(const e of o){const n=r(e);if(n)return n}}return null},t=r(Se)?.props[o];return Array.isArray(t)?t.length:0},Ke=(e,n,o)=>{const r=Math.min(Math.max(o,0),Je(e)),t=n<r?r-1:r;t!==n&&(re.reorderComponent(e,n,t),pe(d),re.select({index:t,zone:e}))},Te=M({keyOf:e=>e.id,readOnly:Boolean(ne),canDrop:(e,n)=>V(n)===e.zone&&n.index>=0&&n.index<=Je(e.zone),onDrop:(e,n)=>Ke(e.zone,e.index,n.index),onStep:(e,n)=>Ke(e.zone,e.index,n<0?e.index-1:e.index+2)}),Ze=(e,n)=>/* @__PURE__ */Q(z,{...ne?{}:Te.seam({place:{...X(e),index:n}})},`seam:${e}:${n}`),Ie=e=>ge.blockRowName(e,Ye),Ue=(e,n,r)=>{pe(d),re.select({index:n,zone:e}),o(r)},Qe=(e,n,o)=>{re.insertComponent(e,n,o),pe(d),re.select({index:o,zone:e})},$e=(n,o,r)=>/* @__PURE__ */Q(e,{choices:r,onPick:e=>Qe(n,e,o)}),qe=(e,n)=>{const o=Ge((r=e).type).flatMap(e=>(Array.isArray(r.props[e])?r.props[e]:[]).map((n,o)=>({child:n,zone:`${r.props.id}:${e}`,index:o})));var r;const t=Ee(e.type),s=t?.choices??null,i="footer"===t?.source?Ie:Ve;/* @__PURE__ */
|
|
2
|
+
return U($,{children:[o.map(({child:e,zone:o,index:r})=>{const t=se?.props.id===e.props.id,s=A(ie,e.type,n),c=i(e),p=String(e.props.id),l=()=>Ue(o,r,p),{rowProps:m,...a}=Te.row({item:{id:p,zone:o,index:r},place:{...X(o),index:r}},{onClick:q(l)});/* @__PURE__ */
|
|
3
|
+
return U(T,{children:[0===r&&Ze(o,0),
|
|
4
|
+
/* @__PURE__ */Q(g,{words:me,icon:/* @__PURE__ */Q(ze,{type:e.type,size:13}),name:c,selected:t,onSelect:l,...a,actions:/* @__PURE__ */Q(w,{kind:"delete",label:le.deleteNamed({name:c}),onClick:()=>{return e=o,n=r,re.removeComponent(e,n),pe(d),void re.select(null);var e,n},children:/* @__PURE__ */Q(I,{size:13})}),rowProps:m}),s&&/* @__PURE__ */Q(O,{children:qe(e,n+1)}),Ze(o,r+1)]},String(e.props.id??`${o}-${r}`))}),t&&s?$e(`${e.props.id}:${t.slot}`,o.length,s):null]})},_e="HeroSingle"===Se?.type,en=Boolean(Se)&&(Boolean(Ee(Se.type))||Ge(Se.type).length>0),nn=Boolean(Se)&&(Boolean(We)||Ae||Ne||_e||en);/* @__PURE__ */
|
|
5
|
+
return U("div",{ref:xe,className:"sf-editor es-editor",style:W(i),children:[
|
|
6
|
+
/* @__PURE__ */Q("div",{className:"sf-section-bar",children:/* @__PURE__ */Q(L,null!==oe?{tone:"off",label:oe,role:"status"}:{...b(ee,de),role:"status"})}),
|
|
7
|
+
/* @__PURE__ */U("div",{className:"sf-body",children:[De&&Be?/* @__PURE__ */Q("aside",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left",children:/* @__PURE__ */Q(m,{panel:Be,pick:De})}):nn&&Se&&/* @__PURE__ */U("aside",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left",children:[
|
|
8
|
+
/* @__PURE__ */Q("div",{className:"sf-panel-head",children:/* @__PURE__ */Q(Z,{content:Ne?le.headerSettings:le.sectionSettings({name:be(Se.type)}),side:"bottom",children:/* @__PURE__ */Q("button",{type:"button",className:"sf-panel-title sf-panel-title--btn "+(Le?"is-selected":""),"aria-pressed":Le,onClick:()=>{Ne?pe(ke??d):(pe(d),re.select({index:0}))},children:be(Se.type)})})}),
|
|
9
|
+
/* @__PURE__ */Q(v,{className:"sf-tree sf-scroll",rootProps:Te.rootProps(),words:me,children:/* @__PURE__ */Q(O,{children:Ne?
|
|
10
|
+
/* @__PURE__ */Q(g,{words:me,icon:/* @__PURE__ */Q(ze,{type:"header",size:13}),name:le.headerSettings,selected:ce.kind===ke?.kind,onSelect:()=>pe(ke??d),rowProps:{onClick:q(()=>pe(ke??d))}}):We?/* @__PURE__ */U($,{children:[Me.map((e,n)=>{const o=se?.props.id===e.props.id,r=Ve(e),t=String(e.props.id),s=()=>Xe(n,t),{rowProps:i,...c}=Te.row({item:{id:t,zone:He,index:n},place:{...X(He),index:n}},{onClick:q(s)});/* @__PURE__ */
|
|
11
|
+
return U(T,{children:[0===n&&Ze(He,0),
|
|
12
|
+
/* @__PURE__ */Q(g,{words:me,icon:/* @__PURE__ */Q(ze,{type:e.type,size:13}),name:r,selected:o,onSelect:s,...c,actions:/* @__PURE__ */Q(w,{kind:"delete",label:le.deleteNamed({name:r}),onClick:()=>{return e=n,void(He&&(re.removeComponent(He,e),pe(d),re.select(null)));var e},children:/* @__PURE__ */Q(I,{size:13})}),rowProps:i}),Ze(He,n+1)]},String(e.props.id??n))}),
|
|
13
|
+
/* @__PURE__ */U("button",{type:"button",className:"sf-add-card",onClick:Fe,children:[
|
|
14
|
+
/* @__PURE__ */Q("span",{className:"sf-plus sf-plus--sm",children:"+"}),We.addLabel]}),ye?ve.partRows?.(Se,_):null]}):qe(Se,1)})})]}),
|
|
15
|
+
/* @__PURE__ */Q("div",{className:"sf-center",children:/* @__PURE__ */Q("div",{className:"sf-preview-host",children:/* @__PURE__ */Q(fe,{})})}),
|
|
16
|
+
/* @__PURE__ */Q(s,{value:{selectChild:(e,n,o,r)=>"section"===Ee(r)?.source?Xe(n,o):Ue(e,n,o),addChild:(e,n,o,r,t)=>"section"===Ee(t)?.source?Fe():Qe(`${e}:${n}`,o,r),childRowName:Ve,blockRowName:Ie},children:/* @__PURE__ */Q(je,{mode:ce,onOpenWebsiteSettings:ve.openSettings??(()=>{}),onSelectNode:Oe,hideNodeActions:!0})})]})]})}export{ee as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{PanelHideButton,PanelModeExit,PanelShowStrip,SidePanelHead as default}from"../../chunk-
|
|
1
|
+
export{PanelHideButton,PanelModeExit,PanelShowStrip,SidePanelHead as default}from"../../chunk-XTJCKV6Z.js";import"../../chunk-KQMML6JM.js";import"../../chunk-QVUVDBGA.js";import"../../chunk-Y2G7CU6A.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-MFIRYGHW.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{COLLAPSED_SECTIONS_KEY,DEFAULT_PANEL_W,PANEL_WIDTHS_KEY,clampPanelWidth,screenStorageKeys}from"../../chunk-
|
|
1
|
+
export{COLLAPSED_SECTIONS_KEY,DEFAULT_PANEL_W,PANEL_WIDTHS_KEY,clampPanelWidth,screenStorageKeys}from"../../chunk-DPKWJTNX.js";export{MAX_PANEL_W,MIN_PANEL_W,panelWidthVars}from"../../chunk-QVUVDBGA.js";import"../../chunk-Y2G7CU6A.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-MFIRYGHW.js";
|
|
@@ -7,7 +7,7 @@ import '../../types-41704JE4.js';
|
|
|
7
7
|
import '../../resolve-D68pb3Bx.js';
|
|
8
8
|
import '../../plan-xc48tt77.js';
|
|
9
9
|
import '../../watch-BTYOJpQU.js';
|
|
10
|
-
import '../../types-
|
|
10
|
+
import '../../types-DGyDHiJV.js';
|
|
11
11
|
import '../../types-CsgMwHHa.js';
|
|
12
12
|
import '../../wordFit-7XpmhcaW.js';
|
|
13
13
|
import '../../edit-lock/index.js';
|
|
@@ -24,7 +24,7 @@ import './AddSidePanel.js';
|
|
|
24
24
|
import '../lib/section-template-types.js';
|
|
25
25
|
import '../lib/puck/content-tree.js';
|
|
26
26
|
import '../lib/puck/block-choice.js';
|
|
27
|
-
import '../../host-
|
|
27
|
+
import '../../host-Ud6rLpph.js';
|
|
28
28
|
import '../lib/document-contract.js';
|
|
29
29
|
import '../lib/session.js';
|
|
30
30
|
import '../lib/backend-error.js';
|
|
@@ -33,7 +33,7 @@ import '../lib/links/link-filters.js';
|
|
|
33
33
|
import 'efficient-shell/ui';
|
|
34
34
|
import '../lib/document-hooks.js';
|
|
35
35
|
import '../lib/document-switch.js';
|
|
36
|
-
import '../../engine-
|
|
36
|
+
import '../../engine-CvXpFE86.js';
|
|
37
37
|
import '../lib/admin-bridge.js';
|
|
38
38
|
import '../lib/puck/add-target-types.js';
|
|
39
39
|
import '../lib/puck/slot-section-spec.js';
|