efficient-easel 0.105.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +103 -29
- package/dist/{LinkPicker-W2Rtxetz.d.ts → LinkPicker-hPEr1MJx.d.ts} +6 -4
- package/dist/autosave/index.d.ts +5 -5
- package/dist/chrome/chrome.css +50 -273
- package/dist/chrome/index.d.ts +61 -56
- package/dist/chrome/index.js +1 -1
- package/dist/chunk-2GVCAIPX.js +1 -0
- package/dist/chunk-4GNPKHV4.js +64 -0
- package/dist/chunk-5545A3PC.js +4 -0
- package/dist/chunk-7SQF6LZL.js +1 -0
- package/dist/chunk-BXMXTO36.js +1 -0
- package/dist/{chunk-NYKIQJT2.js → chunk-CKEPQNSQ.js} +1 -1
- package/dist/chunk-DJMMTWFP.js +1 -0
- package/dist/{chunk-PQXIFBDY.js → chunk-E2O2MRZR.js} +1 -1
- package/dist/chunk-EA2HTX37.js +5 -0
- package/dist/{chunk-SARZN4M7.js → chunk-FEK3S6HN.js} +1 -1
- package/dist/chunk-FPAVNX3Y.js +6 -0
- package/dist/chunk-HMJS344F.js +1 -0
- package/dist/chunk-JLTZQ4US.js +1 -0
- package/dist/chunk-JMGPPXNQ.js +24 -0
- package/dist/chunk-K56YDHYQ.js +1 -0
- package/dist/chunk-LOMEH6DG.js +1 -0
- package/dist/{chunk-V4LF7D4F.js → chunk-MAEXP3KE.js} +1 -1
- package/dist/chunk-MJM6SFD3.js +3 -0
- package/dist/chunk-NLRW4BGG.js +8 -0
- package/dist/chunk-OJAJVH7S.js +5 -0
- package/dist/chunk-ONRYLR2D.js +2 -0
- package/dist/chunk-ORR3Q4WV.js +1 -0
- package/dist/chunk-OTEXGJDU.js +5 -0
- package/dist/chunk-P2VEMZH5.js +1 -0
- package/dist/chunk-PT6V53OO.js +1 -0
- package/dist/chunk-PYCLHOSA.js +9 -0
- package/dist/chunk-Q27BB5ZC.js +14 -0
- package/dist/chunk-QLD57GBB.js +6 -0
- package/dist/{chunk-NWIW7AWH.js → chunk-QMNML7XH.js} +1 -1
- package/dist/chunk-QR4DLZ3P.js +5 -0
- package/dist/chunk-TJ7YIRWQ.js +21 -0
- package/dist/{chunk-3P6AMTOS.js → chunk-VPFNZ7TB.js} +1 -1
- package/dist/chunk-W3XX2CNW.js +16 -0
- package/dist/chunk-X6DQWK2C.js +1 -0
- package/dist/chunk-XWR5YVA7.js +9 -0
- package/dist/chunk-YABL4EWX.js +7 -0
- package/dist/chunk-ZNNATBDC.js +1 -0
- package/dist/chunk-ZP4G3X44.js +4 -0
- package/dist/copy/copy.css +66 -177
- package/dist/copy/index.d.ts +0 -2
- package/dist/copy/index.js +31 -32
- package/dist/drag/drag.css +31 -11
- package/dist/drag/index.d.ts +10 -0
- package/dist/drag/index.js +1 -1
- package/dist/easel/index.d.ts +10 -1
- package/dist/easel/index.js +1 -1
- package/dist/fields/fields.css +35 -304
- package/dist/fields/index.d.ts +87 -95
- package/dist/fields/index.js +1 -1
- package/dist/gold/gold.css +3 -3
- package/dist/gold/index.d.ts +6 -5
- package/dist/gold/index.js +1 -1
- package/dist/{host-BQ_b9Qzk.d.ts → host-CiuzZJXj.d.ts} +11 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/menu/index.d.ts +49 -93
- package/dist/menu/index.js +1 -1
- package/dist/menu/menu.css +37 -246
- package/dist/node-ops/index.d.ts +1 -1
- package/dist/panel/index.d.ts +46 -72
- package/dist/panel/index.js +17 -18
- package/dist/panel/panel.css +143 -372
- package/dist/pick/index.d.ts +52 -33
- package/dist/pick/index.js +7 -7
- package/dist/pick/pick.css +19 -150
- package/dist/rail/index.d.ts +48 -90
- package/dist/rail/index.js +1 -1
- package/dist/rail/rail.css +21 -108
- package/dist/screen/components/AddBlockRow.d.ts +8 -2
- package/dist/screen/components/AddBlockRow.js +1 -1
- package/dist/screen/components/AddChildRow.d.ts +4 -3
- package/dist/screen/components/AddChildRow.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 +31 -9
- 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 +8 -8
- package/dist/screen/components/ScreenMount.js +1 -1
- package/dist/screen/components/ScreenStoreProvider.d.ts +8 -8
- package/dist/screen/components/ScreenStoreProvider.js +1 -1
- package/dist/screen/components/SectionScreenShell.js +16 -16
- package/dist/screen/components/SidePanelHead.d.ts +4 -2
- package/dist/screen/components/SidePanelHead.js +1 -1
- package/dist/screen/components/UiIcon.d.ts +10 -26
- package/dist/screen/components/UiIcon.js +2 -1
- package/dist/screen/components/panel-widths.d.ts +15 -1
- package/dist/screen/components/panel-widths.js +1 -1
- package/dist/screen/components/usePartBridge.d.ts +8 -8
- package/dist/screen/components/usePartBridge.js +1 -1
- package/dist/screen/index.d.ts +9 -9
- package/dist/screen/index.js +1 -1
- package/dist/screen/lib/admin-bridge.d.ts +1 -1
- package/dist/screen/lib/admin-bridge.js +1 -1
- package/dist/screen/lib/chrome-theme.d.ts +20 -12
- package/dist/screen/lib/chrome-theme.js +1 -1
- package/dist/screen/lib/document-addressing.d.ts +2 -2
- package/dist/screen/lib/host-chrome.d.ts +1 -1
- package/dist/screen/lib/host.d.ts +2 -2
- package/dist/screen/lib/key-scope.d.ts +31 -2
- package/dist/screen/lib/key-scope.js +1 -1
- package/dist/screen/lib/links/link-filters.d.ts +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 +1 -1
- package/dist/screen/lib/puck/section-doc.d.ts +5 -1
- package/dist/screen/lib/puck/section-doc.js +1 -1
- package/dist/screen/lib/puck/style-clipboard.d.ts +8 -8
- package/dist/screen/lib/puck/use-section-ops.js +1 -1
- package/dist/screen/lib/screen-parts.d.ts +47 -10
- package/dist/screen/lib/screen-parts.js +1 -1
- package/dist/screen/lib/section-templates.d.ts +1 -1
- package/dist/screen/lib/session-context.d.ts +1 -1
- package/dist/screen/lib/session.d.ts +1 -1
- package/dist/screen/screen.css +54 -206
- package/dist/screen/words.d.ts +17 -1
- package/dist/screen/words.js +1 -1
- package/dist/shell/index.d.ts +134 -118
- package/dist/shell/index.js +1 -1
- package/dist/shell/shell.css +130 -88
- package/dist/strings/catalogue.d.ts +5 -5
- package/dist/strings/catalogue.js +1 -1
- package/dist/strings/index.d.ts +5 -5
- package/dist/strings/index.js +1 -1
- package/dist/style-clipboard/index.d.ts +1 -1
- package/dist/text-styles/index.d.ts +12 -3
- package/dist/text-styles/index.js +33 -38
- package/dist/text-styles/text-styles.css +39 -71
- package/dist/tree/index.d.ts +49 -44
- package/dist/tree/index.js +1 -1
- package/dist/tree/tree.css +31 -653
- package/dist/{types-DJDBtdB2.d.ts → types-BqGnUVX5.d.ts} +32 -32
- package/dist/types-BsyPh6EW.d.ts +99 -0
- package/dist/{types-DWS-s9z-.d.ts → types-CsgMwHHa.d.ts} +14 -11
- package/dist/{types-CqY85foL.d.ts → types-Dt1CFR1S.d.ts} +4 -2
- package/dist/{wordFit-D4S36PvB.d.ts → wordFit-7XpmhcaW.d.ts} +3 -5
- package/dist/words-Cl9xMUYY.d.ts +41 -0
- package/dist/{words-D_Lnw1Gr.d.ts → words-CvFnwGSr.d.ts} +1 -1
- package/package.json +5 -1
- package/dist/chunk-2UX75JDP.js +0 -1
- package/dist/chunk-3EDSDPIP.js +0 -1
- package/dist/chunk-3QVB4AG2.js +0 -3
- package/dist/chunk-3WSPDAK2.js +0 -1
- package/dist/chunk-53G47SWO.js +0 -1
- package/dist/chunk-5MZ3RNQQ.js +0 -13
- package/dist/chunk-5ZBBXZPV.js +0 -6
- package/dist/chunk-7FBDZTUD.js +0 -2
- package/dist/chunk-7V5WZ46F.js +0 -2
- package/dist/chunk-BXZ6WLHC.js +0 -22
- package/dist/chunk-BZ5ASXOL.js +0 -1
- package/dist/chunk-EOJNJCMJ.js +0 -16
- package/dist/chunk-EWVJSRRY.js +0 -6
- package/dist/chunk-FMGFZNPW.js +0 -1
- package/dist/chunk-H24N5TMZ.js +0 -11
- package/dist/chunk-HLEET6NV.js +0 -65
- package/dist/chunk-IE4GFYKO.js +0 -1
- package/dist/chunk-KTVH2ZRL.js +0 -15
- package/dist/chunk-N7VRF7PR.js +0 -5
- package/dist/chunk-OWBO4WKA.js +0 -0
- package/dist/chunk-P67FP7PG.js +0 -9
- package/dist/chunk-P6O363EE.js +0 -6
- package/dist/chunk-Q4N7C6CT.js +0 -10
- package/dist/chunk-QH6LCNOX.js +0 -8
- package/dist/chunk-RW4XBUUW.js +0 -1
- package/dist/chunk-TTJ54QGG.js +0 -18
- package/dist/chunk-VSHV6KJQ.js +0 -5
- package/dist/chunk-VSOP4GUM.js +0 -1
- package/dist/chunk-WZ7TGAAT.js +0 -3
- package/dist/chunk-YC4TB3CJ.js +0 -25
- package/dist/chunk-ZFDCDJNZ.js +0 -16
- package/dist/chunk-ZNS7727Y.js +0 -12
- package/dist/chunk-ZTTWFAAC.js +0 -1
- package/dist/types-Djdq6Xkd.d.ts +0 -138
- package/dist/words-DgHcY5qB.d.ts +0 -33
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import{AddBlockRow as e}from"../../chunk-
|
|
2
|
-
return
|
|
3
|
-
return
|
|
4
|
-
/* @__PURE__ */V(
|
|
5
|
-
return
|
|
6
|
-
/* @__PURE__ */V("div",{className:"sf-section-bar",children:/* @__PURE__ */V(
|
|
7
|
-
/* @__PURE__ */
|
|
8
|
-
/* @__PURE__ */V("div",{className:"sf-panel-head",children:/* @__PURE__ */V("button",{type:"button",className:"sf-panel-title sf-panel-title--btn "+(
|
|
9
|
-
/* @__PURE__ */V(
|
|
10
|
-
/* @__PURE__ */V(
|
|
11
|
-
return
|
|
12
|
-
/* @__PURE__ */V(
|
|
13
|
-
/* @__PURE__ */
|
|
14
|
-
/* @__PURE__ */V("span",{className:"sf-plus sf-plus--sm",children:"+"}),
|
|
15
|
-
/* @__PURE__ */V("div",{className:"sf-center",children:/* @__PURE__ */V("div",{className:"sf-preview-host",children:/* @__PURE__ */V(
|
|
16
|
-
/* @__PURE__ */V(s,{value:{selectChild:(e,n,o,r)=>"section"===
|
|
1
|
+
import{AddBlockRow as e}from"../../chunk-ZP4G3X44.js";import{slotChildRowName as n}from"../../chunk-TBF5CVPA.js";import{scrollPreviewToSection as o,gotoPreviewSlide as r}from"../../chunk-4ES5JGGX.js";import"../../chunk-IQ5TA7AM.js";import"../../chunk-DUVRZ456.js";import"../../chunk-6W7WLPZH.js";import{useEaselUndoKeys as t}from"../../chunk-PT6V53OO.js";import{SlotChildActionsProvider as s}from"../../chunk-KCBEE2MC.js";import{DEFAULT_PANEL_W as i}from"../../chunk-ORR3Q4WV.js";import{usePartBridge as c}from"../../chunk-DJMMTWFP.js";import{useSectionOps as p}from"../../chunk-QMNML7XH.js";import"../../chunk-IYT6NN2J.js";import"../../chunk-I54UCYOU.js";import"../../chunk-GOTN2KY4.js";import"../../chunk-R5L2E7JX.js";import{useScreenDocument as l}from"../../chunk-ONRYLR2D.js";import"../../chunk-S4AWJX4Q.js";import"../../chunk-ERR437B5.js";import"../../chunk-KG7RJWOK.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-VPFNZ7TB.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-HQ4VVRIC.js";import{MediaSidePanel as m}from"../../chunk-CKEPQNSQ.js";import{SELECTION_MODE as d,useScreenPinned as a,useScreenCanvasFrame as u,useScreenInspectorPanel as h,useScreenPickFollowsSelection as k,sameInspectorMode as j,useStandaloneScreenBridges as f,useScreenBlockLook as N,useScreenBlockRules as y}from"../../chunk-OJAJVH7S.js";import{nestsInTree as S,slotFieldsOf as C}from"../../chunk-PLVEGYK6.js";import{useMediaPanel as O,usePanelPick as P,useCancelPanelPick as R}from"../../chunk-R6WTQWAC.js";import{useHostEscape as x}from"../../chunk-U3JP4VGF.js";import"../../chunk-E2O2MRZR.js";import{useEasel as A}from"../../chunk-PYCLHOSA.js";import"../../chunk-AELNNAFM.js";import"../../chunk-JMGPPXNQ.js";import"../../chunk-NLRW4BGG.js";import{LayersTree as L,Subtree as B,TreeRow as M,TreeRowAction as v,TreeSeam as E}from"../../chunk-XWR5YVA7.js";import"../../chunk-Q27BB5ZC.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-EA2HTX37.js";import"../../chunk-D2BCHTQR.js";import"../../chunk-BDTITTMW.js";import{saveIndicator as T}from"../../chunk-H6DDIBQ4.js";import{SaveState as W,panelWidthVars as g}from"../../chunk-TJ7YIRWQ.js";import"../../chunk-ZJEBF4NB.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-7SQF6LZL.js";import"../../chunk-QLD57GBB.js";import"../../chunk-FPOKPNO4.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-W3XX2CNW.js";import"../../chunk-O2NLQBFX.js";import{useTreeDrag as z}from"../../chunk-67GNT6PF.js";import"../../chunk-PAELDYYS.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-P2VEMZH5.js";import{TrashIcon as Q}from"../../chunk-L5KW4HG5.js";import{zoneKey as D,parseZoneKey as H}from"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";import{useState as b,useRef as J,useEffect as X,useCallback as Y,Fragment as w}from"react";import{Tooltip as F}from"efficient-shell/ui";import{jsxs as G,jsx as V,Fragment as Z}from"react/jsx-runtime";var $=e=>n=>{n.target.closest("button, input")||e()},K={rowClick:$};function I(){const{saveState:I,readOnly:U,readOnlyReason:q=null}=l(),_=p(),{appState:ee,selectedItem:ne,config:oe}=A(e=>e),[re,te]=b(d),{first:se,last:ie,panelOf:ce}=a(),pe=ce(se),le=u(),me=h(),de=ee.data.content?.[0]??null,ae=de?.props.id??null,ue=de?.type===se,he=de?.type===ie,ke=J(null),je=J(null);t(je);const fe=O(),Ne=P(),ye=R();k(ne?.props.id),X(()=>{const e=je.current;if(!Ne||!e)return;const n=e=>{"Escape"===e.key&&ye()};return e.addEventListener("keydown",n),()=>e.removeEventListener("keydown",n)},[Ne]),x(null!==Ne,()=>ye()),X(()=>{ae&&ke.current!==ae&&(ke.current=ae,ue?te(pe??d):ne||_.select({index:0}))},[ae,ne,_,ue]);const Se=Y(e=>te(n=>j(n,e)?n:e),[]),Ce=f({kind:re.kind,mode:re,open:Se,show:e=>te(e),reveal:()=>{},select:(e,n)=>{te(e=>j(e,n)?e:n),_.select(e)}}),{selectNode:Oe}=c({mode:re,setMode:te,onOpenPart:o}),Pe=N(),{labelAtLevel:Re,Icon:xe}=Pe,{canAddTo:Ae}=y(),Le=e=>oe.components[e]?.label??e,Be=e=>Re(e,"section",Le(e)),Me=!ue&&"puck"===re.kind&&ne?.props.id===ae,ve=de?Ae(de.type)?.spec??null:null,Ee=de&&ve?`${de.props.id}:${ve.slot}`:null,Te=de&&ve&&Array.isArray(de.props[ve.slot])?de.props[ve.slot]:[],We=e=>n(e,Le,Pe.plainText),ge=(e,n)=>{de&&ve&&Ee&&(te(d),ve.slider?(r(String(de.props.id),e),_.select({index:e,zone:Ee}),o(String(de.props.id))):(_.select({index:e,zone:Ee}),o(n)))},ze=()=>{if(!de||!ve||!Ee)return;const e=Te.length;_.insertComponent(Ee,ve.childType,e),te(d),ve.slider?requestAnimationFrame(()=>{r(String(de.props.id),e),_.select({index:e,zone:Ee})}):_.select({index:e,zone:Ee})},Qe=e=>C(oe,e),De=e=>{const{parentId:n,slot:o}=H(e),r=e=>{if(!e)return null;if(String(e.props.id)===n)return e;for(const n of Qe(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(de)?.props[o];return Array.isArray(t)?t.length:0},He=(e,n,o)=>{const r=Math.min(Math.max(o,0),De(e)),t=n<r?r-1:r;t!==n&&(_.reorderComponent(e,n,t),te(d),_.select({index:t,zone:e}))},be=z({keyOf:e=>e.id,readOnly:Boolean(U),canDrop:(e,n)=>D(n)===e.zone&&n.index>=0&&n.index<=De(e.zone),onDrop:(e,n)=>He(e.zone,e.index,n.index),onStep:(e,n)=>He(e.zone,e.index,n<0?e.index-1:e.index+2)}),Je=(e,n)=>/* @__PURE__ */V(E,{...U?{}:be.seam({place:{...H(e),index:n}})},`seam:${e}:${n}`),Xe=e=>Pe.blockRowName(e,Le),Ye=(e,n,r)=>{te(d),_.select({index:n,zone:e}),o(r)},we=(e,n,o)=>{_.insertComponent(e,n,o),te(d),_.select({index:o,zone:e})},Fe=(n,o,r)=>/* @__PURE__ */V(e,{choices:r,onPick:e=>we(n,e,o)}),Ge=(e,n)=>{const o=Qe((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=Ae(e.type),s=t?.choices??null,i="footer"===t?.source?Xe:We;/* @__PURE__ */
|
|
2
|
+
return G(Z,{children:[o.map(({child:e,zone:o,index:r})=>{const t=ne?.props.id===e.props.id,s=S(oe,e.type,n),c=i(e),p=String(e.props.id),l=()=>Ye(o,r,p),{rowProps:m,...a}=be.row({item:{id:p,zone:o,index:r},place:{...H(o),index:r}},{onClick:$(l)});/* @__PURE__ */
|
|
3
|
+
return G(w,{children:[0===r&&Je(o,0),
|
|
4
|
+
/* @__PURE__ */V(M,{icon:/* @__PURE__ */V(xe,{type:e.type,size:13}),name:c,selected:t,onSelect:l,...a,actions:/* @__PURE__ */V(v,{kind:"delete",label:`Delete ${c}`,onClick:()=>{return e=o,n=r,_.removeComponent(e,n),te(d),void _.select(null);var e,n},children:/* @__PURE__ */V(Q,{size:13})}),rowProps:m}),s&&/* @__PURE__ */V(B,{children:Ge(e,n+1)}),Je(o,r+1)]},String(e.props.id??`${o}-${r}`))}),t&&s?Fe(`${e.props.id}:${t.slot}`,o.length,s):null]})},Ve="HeroSingle"===de?.type,Ze=Boolean(de)&&(Boolean(ve)||he||ue||Ve);/* @__PURE__ */
|
|
5
|
+
return G("div",{ref:je,className:"sf-editor es-editor",style:g(i),children:[
|
|
6
|
+
/* @__PURE__ */V("div",{className:"sf-section-bar",children:/* @__PURE__ */V(W,null!==q?{tone:"off",label:q,role:"status"}:{...T(I),role:"status"})}),
|
|
7
|
+
/* @__PURE__ */G("div",{className:"sf-body",children:[Ne&&fe?/* @__PURE__ */V("aside",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left",children:/* @__PURE__ */V(m,{panel:fe,pick:Ne})}):Ze&&de&&/* @__PURE__ */G("aside",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left",children:[
|
|
8
|
+
/* @__PURE__ */V("div",{className:"sf-panel-head",children:/* @__PURE__ */V(F,{content:ue?"Header settings":`${Be(de.type)} settings`,side:"bottom",children:/* @__PURE__ */V("button",{type:"button",className:"sf-panel-title sf-panel-title--btn "+(Me?"is-selected":""),"aria-pressed":Me,onClick:()=>{ue?te(pe??d):(te(d),_.select({index:0}))},children:Be(de.type)})})}),
|
|
9
|
+
/* @__PURE__ */V(L,{className:"sf-tree sf-scroll",rootProps:be.rootProps(),children:/* @__PURE__ */V(B,{children:ue?
|
|
10
|
+
/* @__PURE__ */V(M,{icon:/* @__PURE__ */V(xe,{type:"header",size:13}),name:"Header settings",selected:re.kind===pe?.kind,onSelect:()=>te(pe??d),rowProps:{onClick:$(()=>te(pe??d))}}):ve?/* @__PURE__ */G(Z,{children:[Te.map((e,n)=>{const o=ne?.props.id===e.props.id,r=We(e),t=String(e.props.id),s=()=>ge(n,t),{rowProps:i,...c}=be.row({item:{id:t,zone:Ee,index:n},place:{...H(Ee),index:n}},{onClick:$(s)});/* @__PURE__ */
|
|
11
|
+
return G(w,{children:[0===n&&Je(Ee,0),
|
|
12
|
+
/* @__PURE__ */V(M,{icon:/* @__PURE__ */V(xe,{type:e.type,size:13}),name:r,selected:o,onSelect:s,...c,actions:/* @__PURE__ */V(v,{kind:"delete",label:`Delete ${r}`,onClick:()=>{return e=n,void(Ee&&(_.removeComponent(Ee,e),te(d),_.select(null)));var e},children:/* @__PURE__ */V(Q,{size:13})}),rowProps:i}),Je(Ee,n+1)]},String(e.props.id??n))}),
|
|
13
|
+
/* @__PURE__ */G("button",{type:"button",className:"sf-add-card",onClick:ze,children:[
|
|
14
|
+
/* @__PURE__ */V("span",{className:"sf-plus sf-plus--sm",children:"+"}),ve.addLabel]}),ae?Ce.partRows?.(de,K):null]}):Ge(de,1)})})]}),
|
|
15
|
+
/* @__PURE__ */V("div",{className:"sf-center",children:/* @__PURE__ */V("div",{className:"sf-preview-host",children:/* @__PURE__ */V(le,{})})}),
|
|
16
|
+
/* @__PURE__ */V(s,{value:{selectChild:(e,n,o,r)=>"section"===Ae(r)?.source?ge(n,o):Ye(e,n,o),addChild:(e,n,o,r,t)=>"section"===Ae(t)?.source?ze():we(`${e}:${n}`,o,r),childRowName:We,blockRowName:Xe},children:/* @__PURE__ */V(me,{mode:re,onOpenWebsiteSettings:Ce.openSettings??(()=>{}),onSelectNode:Oe,hideNodeActions:!0})})]})]})}export{I as default};
|
|
@@ -25,7 +25,8 @@ import { ReactNode } from 'react';
|
|
|
25
25
|
* • the chip is the glyph of what the panel shows (a rail item's own glyph on
|
|
26
26
|
* the left, the selected thing's type on the right);
|
|
27
27
|
* • the context line says which page, website or field the panel is about;
|
|
28
|
-
* • actions are the panel's own tools, all
|
|
28
|
+
* • actions are the panel's own tools, all the shell's `IconButton`s
|
|
29
|
+
* (UI-24, efficient-easel#199 step 4), explained by its `Tooltip`;
|
|
29
30
|
* • a MODE laid over a panel (Add, choosing an image) names its way out in a
|
|
30
31
|
* WORD — "Done", "Cancel" — never a glyph;
|
|
31
32
|
* • the HIDE button is always last, on both panels; a hidden panel leaves a
|
|
@@ -49,7 +50,8 @@ declare function SidePanelHead({ icon, title, context, actions, side, onHide, }:
|
|
|
49
50
|
onHide?: () => void;
|
|
50
51
|
}): react.JSX.Element;
|
|
51
52
|
/**
|
|
52
|
-
* Hide a side panel — the
|
|
53
|
+
* Hide a side panel — the shell's `IconButton` in its `Tooltip` (UI-24) —
|
|
54
|
+
* the last button of its head, after a hairline when the
|
|
53
55
|
* panel has tools of its own. Exported for the right panel, whose head is
|
|
54
56
|
* `InspectorHead` drawn by SectionEditor around the selected node.
|
|
55
57
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{PanelHideButton,PanelModeExit,PanelShowStrip,SidePanelHead as default}from"../../chunk-
|
|
1
|
+
export{PanelHideButton,PanelModeExit,PanelShowStrip,SidePanelHead as default}from"../../chunk-QR4DLZ3P.js";import"../../chunk-KQMML6JM.js";import"../../chunk-TJ7YIRWQ.js";import"../../chunk-ZJEBF4NB.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-L5KW4HG5.js";
|
|
@@ -2,36 +2,20 @@ import * as react from 'react';
|
|
|
2
2
|
import { CSSProperties } from 'react';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* UiIcon — the
|
|
6
|
-
*
|
|
5
|
+
* UiIcon — the small line-icons that stand for an ACTION or a STATE: show,
|
|
6
|
+
* hide, search, open elsewhere, rename, delete, unfold, named by the verb.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* Card 66058 built it. Before it, seven of these drawings existed twice or more —
|
|
15
|
-
* the eye in FOUR files — and one had already drifted: the magnifier was two
|
|
16
|
-
* different pictures (`l-4.3-4.3` in the editor's two search fields,
|
|
17
|
-
* `l-3.8-3.8` in the shopper's header and command palette). That is the failure
|
|
18
|
-
* `doc/editor-ui.md` E2 exists to prevent, so the drawings live here now and the
|
|
19
|
-
* call sites reference them. `scripts/test-glyph-single-home.mjs` keeps it that
|
|
20
|
-
* way: any geometry that reappears in a second file fails `just check`.
|
|
21
|
-
*
|
|
22
|
-
* NOT `efficient-easel`, deliberately. That package is ours and E2 sends shared
|
|
23
|
-
* editor chrome to it, but two of these seven are drawn on the STOREFRONT —
|
|
24
|
-
* `Header` and `SearchDialog` — and an editor package can never be their home.
|
|
25
|
-
* A set split across two repos by which surface happens to use it is a second
|
|
26
|
-
* vocabulary with extra steps. `QUESTIONS-66048.md` reached the same answer from
|
|
27
|
-
* the other direction (draw them in the shop first; move a whole coherent set
|
|
28
|
-
* later, as one card, not one glyph at a time across two release cycles).
|
|
8
|
+
* ONE ICON SET (efficient-easel#199 step 4, harness UI-24). Up to 0.106.0 this
|
|
9
|
+
* module drew its seven glyphs itself, a second copy of drawings the
|
|
10
|
+
* package's one set (`efficient-easel/icons`) already held — the icons there
|
|
11
|
+
* were lifted from here, path for path. Now the names map onto that set and
|
|
12
|
+
* nothing is drawn twice; the subpath and its names stay because the
|
|
13
|
+
* website builder and the storefront import them.
|
|
29
14
|
*
|
|
30
15
|
* WRAPPER ATTRIBUTES ARE THE CALLER'S. Size, stroke weight and cap style are
|
|
31
16
|
* passed in rather than fixed, because they legitimately differ — a 10px caret
|
|
32
|
-
* in the dense page tree, an 18px magnifier in the storefront header.
|
|
33
|
-
*
|
|
34
|
-
* its drawn output unchanged; see `scripts/test-glyph-parity.tsx`.
|
|
17
|
+
* in the dense page tree, an 18px magnifier in the storefront header. The
|
|
18
|
+
* geometry is the icon set's, unchanged.
|
|
35
19
|
*/
|
|
36
20
|
/** What the icon means, named by the action — never by the picture. */
|
|
37
21
|
type UiIconName = "eye" | "eye-off" | "search" | "external-link" | "pencil" | "trash" | "chevron-right";
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import{ChevronIcon as e,TrashIcon as r,RenameIcon as t,ExternalIcon as o,SearchIcon as s,EyeOffIcon as i,EyeIcon as n}from"../../chunk-L5KW4HG5.js";import{jsx as a}from"react/jsx-runtime";var c={eye:n,"eye-off":i,search:s,"external-link":o,pencil:t,trash:r,"chevron-right":e};function d({name:e,size:r,strokeWidth:t=1.8,rounded:o=!1,className:s,style:i}){/* @__PURE__ */
|
|
2
|
+
return a(c[e],{size:r,strokeWidth:t,strokeLinecap:o?"round":void 0,strokeLinejoin:o?"round":void 0,className:s,style:i})}export{d as default};
|
|
@@ -21,6 +21,20 @@ import 'react';
|
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
23
|
declare const PANEL_WIDTHS_KEY = "sf-editor-panel-widths";
|
|
24
|
+
/** …and the key the Layers tree's folds are kept under, beside them. */
|
|
25
|
+
declare const COLLAPSED_SECTIONS_KEY = "sf-editor-collapsed-sections";
|
|
26
|
+
/**
|
|
27
|
+
* THE KEYS ONE MOUNT KEEPS A PERSON'S WIDTHS AND FOLDS UNDER (0.106.0, parity
|
|
28
|
+
* item #21): the website's two above, or — where the layer names a namespace
|
|
29
|
+
* of its own (`ScreenParts.storageNamespace`) — `<namespace>-panel-widths` and
|
|
30
|
+
* `<namespace>-collapsed-sections`. The campaign designer and the website
|
|
31
|
+
* editor, open in one browser, each keep their own; a website, which names
|
|
32
|
+
* none, reads what it always kept, so nobody's layout resets.
|
|
33
|
+
*/
|
|
34
|
+
declare function screenStorageKeys(namespace?: string): {
|
|
35
|
+
panelWidths: string;
|
|
36
|
+
collapsed: string;
|
|
37
|
+
};
|
|
24
38
|
declare const DEFAULT_PANEL_W: {
|
|
25
39
|
readonly left: 288;
|
|
26
40
|
readonly right: 320;
|
|
@@ -34,4 +48,4 @@ type PanelWidths = {
|
|
|
34
48
|
/** Clamp a width into the panels' resizable band and round to a whole pixel. */
|
|
35
49
|
declare const clampPanelWidth: (w: number) => number;
|
|
36
50
|
|
|
37
|
-
export { DEFAULT_PANEL_W, PANEL_WIDTHS_KEY, type PanelSide, type PanelWidths, clampPanelWidth };
|
|
51
|
+
export { COLLAPSED_SECTIONS_KEY, DEFAULT_PANEL_W, PANEL_WIDTHS_KEY, type PanelSide, type PanelWidths, clampPanelWidth, screenStorageKeys };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{DEFAULT_PANEL_W,PANEL_WIDTHS_KEY,clampPanelWidth}from"../../chunk-
|
|
1
|
+
export{COLLAPSED_SECTIONS_KEY,DEFAULT_PANEL_W,PANEL_WIDTHS_KEY,clampPanelWidth,screenStorageKeys}from"../../chunk-ORR3Q4WV.js";export{MAX_PANEL_W,MIN_PANEL_W,panelWidthVars}from"../../chunk-TJ7YIRWQ.js";import"../../chunk-ZJEBF4NB.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-L5KW4HG5.js";
|
|
@@ -7,30 +7,30 @@ import '../../types-41704JE4.js';
|
|
|
7
7
|
import '../../resolve-D68pb3Bx.js';
|
|
8
8
|
import '../../plan-DChbUXdS.js';
|
|
9
9
|
import '../../watch-BTYOJpQU.js';
|
|
10
|
-
import '../../types-
|
|
11
|
-
import '../../types-
|
|
12
|
-
import '../../wordFit-
|
|
10
|
+
import '../../types-Dt1CFR1S.js';
|
|
11
|
+
import '../../types-CsgMwHHa.js';
|
|
12
|
+
import '../../wordFit-7XpmhcaW.js';
|
|
13
13
|
import '../../edit-lock/index.js';
|
|
14
14
|
import '../../panelWidths-D9hTLR25.js';
|
|
15
15
|
import '../../CanvasDragLayer-zgYT1xwY.js';
|
|
16
16
|
import '../../session-DSQFmIvx.js';
|
|
17
17
|
import '../../words-BDignMl_.js';
|
|
18
|
-
import '../../types-
|
|
18
|
+
import '../../types-BsyPh6EW.js';
|
|
19
19
|
import '../../style-clipboard/index.js';
|
|
20
20
|
import '../../words-CnnHb9jo.js';
|
|
21
|
-
import '../../types-
|
|
22
|
-
import '../../words-
|
|
21
|
+
import '../../types-BqGnUVX5.js';
|
|
22
|
+
import '../../words-Cl9xMUYY.js';
|
|
23
23
|
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-CiuzZJXj.js';
|
|
28
28
|
import '../lib/document-contract.js';
|
|
29
29
|
import '../lib/session.js';
|
|
30
30
|
import '../lib/backend-error.js';
|
|
31
31
|
import '../lib/host-chrome.js';
|
|
32
32
|
import '../lib/links/link-filters.js';
|
|
33
|
-
import '../../LinkPicker-
|
|
33
|
+
import '../../LinkPicker-hPEr1MJx.js';
|
|
34
34
|
import '../lib/document-hooks.js';
|
|
35
35
|
import '../lib/document-switch.js';
|
|
36
36
|
import '../../engine-DBxp_v6B.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{usePartBridge}from"../../chunk-
|
|
1
|
+
export{usePartBridge}from"../../chunk-DJMMTWFP.js";import"../../chunk-QMNML7XH.js";import"../../chunk-IYT6NN2J.js";import"../../chunk-I54UCYOU.js";import"../../chunk-GOTN2KY4.js";import"../../chunk-R5L2E7JX.js";import"../../chunk-OJAJVH7S.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-PYCLHOSA.js";import"../../chunk-AELNNAFM.js";import"../../chunk-JMGPPXNQ.js";import"../../chunk-NLRW4BGG.js";import"../../chunk-XWR5YVA7.js";import"../../chunk-Q27BB5ZC.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-EA2HTX37.js";import"../../chunk-D2BCHTQR.js";import"../../chunk-7SQF6LZL.js";import"../../chunk-QLD57GBB.js";import"../../chunk-FPOKPNO4.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-67GNT6PF.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-L5KW4HG5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
|
package/dist/screen/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export { DocumentScreen, default as ScreenMount } from './components/ScreenMount.js';
|
|
2
2
|
export { default as ScreenStoreProvider } from './components/ScreenStoreProvider.js';
|
|
3
|
-
export { NodeDefaults, SELECTION_MODE, ScreenAdd, ScreenBlockLook, ScreenBlockRules, ScreenBridges, ScreenCanvas, ScreenCanvasDrag, ScreenCanvasDragContext, ScreenCanvasHeadProps, ScreenCanvasTargetProvider, ScreenDevices, ScreenDocumentOps, ScreenDragItem, ScreenInspector, ScreenInspectorMode, ScreenInspectorPanelProps, ScreenLeftPanel, ScreenLeftView, ScreenLeftViewFrame, ScreenLeftViewRules, ScreenMenuRows, ScreenNewNode, ScreenNode, ScreenNodeActions, ScreenNodeLevel, ScreenNodeMaker, ScreenPartMode, ScreenParts, ScreenPartsProvider, ScreenPinnedBand, ScreenPinnedNodes, ScreenRailItem, ScreenSelection, ScreenSelector, ScreenSlot, ScreenSlotAction, ScreenSlotMode, ScreenStyleClipboard, ScreenStyleDocument, ScreenStylePastePlan, ScreenTree, ScreenTreeFolds, ScreenTreeRows, isPinnedFirst, isPinnedLast, isSlotMode, sameInspectorMode, screenSlotsOf, useScreenAdd, useScreenBlockLook, useScreenBlockRules, useScreenBridges, useScreenCanvasDrag, useScreenCanvasFrame, useScreenCanvasHead, useScreenCanvasTarget, useScreenDevices, useScreenDocumentLabel, useScreenDocumentPass, useScreenInspectorPanel, useScreenLeftView, useScreenNodeKeys, useScreenNotify, useScreenOwnerName, useScreenParts, useScreenPickFollowsSelection, useScreenPinned, useScreenSaveSwitch, useScreenStyleClipboard, useStandaloneScreenBridges } from './lib/screen-parts.js';
|
|
3
|
+
export { NodeDefaults, SELECTION_MODE, ScreenAdd, ScreenBlockLook, ScreenBlockRules, ScreenBridges, ScreenCanvas, ScreenCanvasDrag, ScreenCanvasDragContext, ScreenCanvasHeadProps, ScreenCanvasTargetProvider, ScreenDevices, ScreenDocumentOps, ScreenDragItem, ScreenInspector, ScreenInspectorMode, ScreenInspectorPanelProps, ScreenLeftPanel, ScreenLeftView, ScreenLeftViewFrame, ScreenLeftViewRules, ScreenMenuRows, ScreenNewNode, ScreenNode, ScreenNodeActions, ScreenNodeLevel, ScreenNodeMaker, ScreenPartMode, ScreenParts, ScreenPartsProvider, ScreenPinnedBand, ScreenPinnedNodes, ScreenRailItem, ScreenSelection, ScreenSelector, ScreenSlot, ScreenSlotAction, ScreenSlotMode, ScreenStyleClipboard, ScreenStyleDocument, ScreenStylePastePlan, ScreenTree, ScreenTreeFolds, ScreenTreeRows, isPinnedFirst, isPinnedLast, isSlotMode, sameInspectorMode, screenSlotsOf, useScreenAdd, useScreenBlockLook, useScreenBlockRules, useScreenBridges, useScreenCanvasDrag, useScreenCanvasFrame, useScreenCanvasHead, useScreenCanvasTarget, useScreenDevices, useScreenDocumentLabel, useScreenDocumentPass, useScreenInspectorPanel, useScreenLeftView, useScreenNodeKeys, useScreenNotify, useScreenOwnerName, useScreenParts, useScreenPickFollowsSelection, useScreenPinned, useScreenSaveSwitch, useScreenStorageNamespace, useScreenStyleClipboard, useStandaloneScreenBridges } from './lib/screen-parts.js';
|
|
4
4
|
export { DefaultBackend, EFFICIENT_BACKEND, EaselSession, SessionBackend, SessionBlocks, activateEaselSession, backendOf, createEaselSession, currentEaselSession, deactivateEaselSession, efficientClientOpen, isEfficientBackend, provideDefaultBackend, resetAmbientEaselSession, sessionRegistry, setSessionBridgedSite, setSessionDocumentSite } from './lib/session.js';
|
|
5
5
|
export { EaselSessionProvider, useEaselSession } from './lib/session-context.js';
|
|
6
|
-
export { A as AnyDocumentAddressing, D as DETACHED_EASEL_HOST, a as DocumentAddressing, E as EaselHost, b as EaselHostAddress, c as EaselHostContext, d as EaselHostProvider, e as EaselMessageType, f as EaselToHostMessage, H as HostPickedMedia, g as HostToEaselMessage, I as InboundHostMessage, N as NO_DOCUMENT_ADDRESSING, S as SectionScreenTarget, h as SendToHost, i as createEaselHost, u as useEaselHost, j as useHostEscape } from '../host-
|
|
6
|
+
export { A as AnyDocumentAddressing, D as DETACHED_EASEL_HOST, a as DocumentAddressing, E as EaselHost, b as EaselHostAddress, c as EaselHostContext, d as EaselHostProvider, e as EaselMessageType, f as EaselToHostMessage, H as HostPickedMedia, g as HostToEaselMessage, I as InboundHostMessage, N as NO_DOCUMENT_ADDRESSING, S as SectionScreenTarget, h as SendToHost, i as createEaselHost, u as useEaselHost, j as useHostEscape } from '../host-CiuzZJXj.js';
|
|
7
7
|
export { EaselCapabilities, EaselDocument, EaselDocumentAdapter, EaselPageRow, SiteRecord, SiteRecordPatch, WebsiteEditLock } from './lib/document-contract.js';
|
|
8
8
|
import 'react';
|
|
9
9
|
import '../blocks/index.js';
|
|
@@ -13,26 +13,26 @@ import '../types-41704JE4.js';
|
|
|
13
13
|
import '../resolve-D68pb3Bx.js';
|
|
14
14
|
import '../plan-DChbUXdS.js';
|
|
15
15
|
import '../watch-BTYOJpQU.js';
|
|
16
|
-
import '../types-
|
|
17
|
-
import '../types-
|
|
18
|
-
import '../wordFit-
|
|
16
|
+
import '../types-Dt1CFR1S.js';
|
|
17
|
+
import '../types-CsgMwHHa.js';
|
|
18
|
+
import '../wordFit-7XpmhcaW.js';
|
|
19
19
|
import '../edit-lock/index.js';
|
|
20
20
|
import '../panelWidths-D9hTLR25.js';
|
|
21
21
|
import '../CanvasDragLayer-zgYT1xwY.js';
|
|
22
22
|
import '../session-DSQFmIvx.js';
|
|
23
23
|
import '../words-BDignMl_.js';
|
|
24
|
-
import '../types-
|
|
24
|
+
import '../types-BsyPh6EW.js';
|
|
25
25
|
import '../style-clipboard/index.js';
|
|
26
26
|
import '../words-CnnHb9jo.js';
|
|
27
|
-
import '../types-
|
|
28
|
-
import '../words-
|
|
27
|
+
import '../types-BqGnUVX5.js';
|
|
28
|
+
import '../words-Cl9xMUYY.js';
|
|
29
29
|
import './components/AddSidePanel.js';
|
|
30
30
|
import './lib/section-template-types.js';
|
|
31
31
|
import './lib/puck/content-tree.js';
|
|
32
32
|
import './lib/puck/block-choice.js';
|
|
33
33
|
import './lib/host-chrome.js';
|
|
34
34
|
import './lib/links/link-filters.js';
|
|
35
|
-
import '../LinkPicker-
|
|
35
|
+
import '../LinkPicker-hPEr1MJx.js';
|
|
36
36
|
import './lib/puck/add-target-types.js';
|
|
37
37
|
import './lib/puck/slot-section-spec.js';
|
|
38
38
|
import './lib/backend-error.js';
|
package/dist/screen/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../chunk-GZO72N3Q.js";export{DocumentScreen,ScreenMount}from"../chunk-
|
|
1
|
+
import"../chunk-GZO72N3Q.js";export{DocumentScreen,ScreenMount}from"../chunk-YABL4EWX.js";import"../chunk-GXQCZJOP.js";export{ScreenStoreProvider}from"../chunk-FEK3S6HN.js";import"../chunk-4GNPKHV4.js";import"../chunk-26OOWIJJ.js";import"../chunk-SQTY6CJD.js";import"../chunk-FGNR22NY.js";import"../chunk-ZE7I3PLX.js";import"../chunk-2GVCAIPX.js";import"../chunk-PWZOS45R.js";import"../chunk-7F52SZOI.js";import"../chunk-R2HLPNQF.js";import"../chunk-TBF5CVPA.js";import"../chunk-4ES5JGGX.js";import"../chunk-IQ5TA7AM.js";import"../chunk-DUVRZ456.js";import"../chunk-6W7WLPZH.js";import"../chunk-PT6V53OO.js";import"../chunk-KCBEE2MC.js";import"../chunk-ORR3Q4WV.js";import"../chunk-DJMMTWFP.js";import"../chunk-QMNML7XH.js";import"../chunk-IYT6NN2J.js";import"../chunk-JLTZQ4US.js";import"../chunk-MAEXP3KE.js";import"../chunk-BSPCSC45.js";import"../chunk-I54UCYOU.js";import"../chunk-GOTN2KY4.js";import"../chunk-R5L2E7JX.js";import"../chunk-ONRYLR2D.js";import"../chunk-S4AWJX4Q.js";import"../chunk-ERR437B5.js";import"../chunk-KG7RJWOK.js";import"../chunk-GMCZXMOV.js";export{NO_DOCUMENT_ADDRESSING}from"../chunk-RLBXE4EU.js";import"../chunk-HNKB2ZYR.js";import"../chunk-CLOS6SSX.js";import"../chunk-VPFNZ7TB.js";import"../chunk-LOMEH6DG.js";import"../chunk-57DJOKXT.js";import"../chunk-5545A3PC.js";import"../chunk-OTEXGJDU.js";import"../chunk-5ZBY24K7.js";import"../chunk-PA3PNTVV.js";import"../chunk-BVN33R76.js";import"../chunk-QR4DLZ3P.js";import"../chunk-KQMML6JM.js";import"../chunk-KCOBHPN6.js";export{EaselSessionProvider,useEaselSession}from"../chunk-O7Q4DDJT.js";export{EFFICIENT_BACKEND,activateEaselSession,backendOf,createEaselSession,currentEaselSession,deactivateEaselSession,efficientClientOpen,isEfficientBackend,provideDefaultBackend,resetAmbientEaselSession,sessionRegistry,setSessionBridgedSite,setSessionDocumentSite}from"../chunk-RSCMJIWS.js";import"../chunk-HQ4VVRIC.js";import"../chunk-CKEPQNSQ.js";export{SELECTION_MODE,ScreenCanvasTargetProvider,ScreenPartsProvider,isPinnedFirst,isPinnedLast,isSlotMode,sameInspectorMode,screenSlotsOf,useScreenAdd,useScreenBlockLook,useScreenBlockRules,useScreenBridges,useScreenCanvasDrag,useScreenCanvasFrame,useScreenCanvasHead,useScreenCanvasTarget,useScreenDevices,useScreenDocumentLabel,useScreenDocumentPass,useScreenInspectorPanel,useScreenLeftView,useScreenNodeKeys,useScreenNotify,useScreenOwnerName,useScreenParts,useScreenPickFollowsSelection,useScreenPinned,useScreenSaveSwitch,useScreenStorageNamespace,useScreenStyleClipboard,useStandaloneScreenBridges}from"../chunk-OJAJVH7S.js";import"../chunk-PLVEGYK6.js";import"../chunk-R6WTQWAC.js";export{DETACHED_EASEL_HOST,EaselHostContext,EaselHostProvider,createEaselHost,useEaselHost,useHostEscape}from"../chunk-U3JP4VGF.js";import"../chunk-6WY6ZXJG.js";import"../chunk-E2O2MRZR.js";import"../chunk-PYCLHOSA.js";import"../chunk-AELNNAFM.js";import"../chunk-JMGPPXNQ.js";import"../chunk-NLRW4BGG.js";import"../chunk-XWR5YVA7.js";import"../chunk-Q27BB5ZC.js";import"../chunk-K56YDHYQ.js";import"../chunk-QTLAVDJE.js";import"../chunk-YRLPFZW3.js";import"../chunk-BXMXTO36.js";import"../chunk-EA2HTX37.js";import"../chunk-2LK54I4E.js";import"../chunk-WK3AFPXY.js";import"../chunk-D2BCHTQR.js";import"../chunk-X6DQWK2C.js";import"../chunk-BDTITTMW.js";import"../chunk-H6DDIBQ4.js";import"../chunk-TJ7YIRWQ.js";import"../chunk-ZJEBF4NB.js";import"../chunk-THWO5YVZ.js";import"../chunk-RE4LP46F.js";import"../chunk-MJM6SFD3.js";import"../chunk-2OAZYSWJ.js";import"../chunk-7SQF6LZL.js";import"../chunk-QLD57GBB.js";import"../chunk-FPOKPNO4.js";import"../chunk-MFIRYGHW.js";import"../chunk-W3XX2CNW.js";import"../chunk-O2NLQBFX.js";import"../chunk-67GNT6PF.js";import"../chunk-PAELDYYS.js";import"../chunk-ZNCEOSXO.js";import"../chunk-P2VEMZH5.js";import"../chunk-L5KW4HG5.js";import"../chunk-KRXQM65X.js";import"../chunk-NKB3KVAB.js";
|
|
@@ -10,7 +10,7 @@ import './backend-error.js';
|
|
|
10
10
|
import '../../edit-lock/index.js';
|
|
11
11
|
import './host-chrome.js';
|
|
12
12
|
import './links/link-filters.js';
|
|
13
|
-
import '../../LinkPicker-
|
|
13
|
+
import '../../LinkPicker-hPEr1MJx.js';
|
|
14
14
|
import './document-contract.js';
|
|
15
15
|
import './document-hooks.js';
|
|
16
16
|
import './section-template-types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{NO_BRIDGED_CAPABILITIES,applyAuthGrant,useAdminBridge}from"../../chunk-
|
|
1
|
+
export{NO_BRIDGED_CAPABILITIES,applyAuthGrant,useAdminBridge}from"../../chunk-VPFNZ7TB.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-U3JP4VGF.js";
|
|
@@ -1,20 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Editor chrome theme bridge — the
|
|
2
|
+
* Editor chrome theme bridge — the editor follows the shell's theme (UI-24).
|
|
3
3
|
*
|
|
4
4
|
* The admin portal bridges its resolved efficient-shell theme in the
|
|
5
|
-
* `storefront-editor:auth` message (
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
5
|
+
* `storefront-editor:auth` message (efficient-admin-portal's PageBlockEditor:
|
|
6
|
+
* `'dark'` or `'light'`, re-sent on change). Where the editor owns its document
|
|
7
|
+
* (the website editor in its own iframe), this stamps that theme where the
|
|
8
|
+
* shell itself puts it — `data-theme` on `<html>`, as `useTheme()` does — so
|
|
9
|
+
* the shell's CSS, and through it every `--es-*` token, swaps the chrome's
|
|
10
|
+
* ramp. Inside another app's page the caller does not call this at all
|
|
11
|
+
* (`stampChromeTheme: false`): that `<html>` is the app's, and its shell has
|
|
12
|
+
* already stamped it.
|
|
13
|
+
*
|
|
14
|
+
* Up to 0.106.0 this stamped `data-editor-theme="light"` unconditionally and
|
|
15
|
+
* ignored the bridged value: the editor was pinned light by owner directive.
|
|
16
|
+
* Harness UI-24 (efficient-harness#117, 2026-10-10) reverses that — an editor
|
|
17
|
+
* does not pin itself light. The old attribute is removed when it is found.
|
|
18
|
+
*
|
|
19
|
+
* The CANVAS is not touched: the preview iframe is its own document, and the
|
|
20
|
+
* website's own light/dark is decided there by the host (output, not chrome).
|
|
13
21
|
*/
|
|
14
22
|
/**
|
|
15
|
-
* Reflect the
|
|
16
|
-
*
|
|
17
|
-
* No-op server-side.
|
|
23
|
+
* Reflect the bridged shell theme onto the editor document's `<html>`.
|
|
24
|
+
* A missing or empty theme leaves the document as it is (the host's shell
|
|
25
|
+
* decides). No-op server-side.
|
|
18
26
|
*/
|
|
19
27
|
declare function applyEaselChromeTheme(theme: string | null | undefined): void;
|
|
20
28
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{applyEaselChromeTheme}from"../../chunk-
|
|
1
|
+
export{applyEaselChromeTheme}from"../../chunk-LOMEH6DG.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { A as AnyDocumentAddressing, a as DocumentAddressing, N as NO_DOCUMENT_ADDRESSING } from '../../host-
|
|
1
|
+
export { A as AnyDocumentAddressing, a as DocumentAddressing, N as NO_DOCUMENT_ADDRESSING } from '../../host-CiuzZJXj.js';
|
|
2
2
|
import './document-contract.js';
|
|
3
3
|
import './session.js';
|
|
4
4
|
import 'react';
|
|
@@ -15,7 +15,7 @@ import './admin-bridge.js';
|
|
|
15
15
|
import './backend-error.js';
|
|
16
16
|
import './host-chrome.js';
|
|
17
17
|
import './links/link-filters.js';
|
|
18
|
-
import '../../LinkPicker-
|
|
18
|
+
import '../../LinkPicker-hPEr1MJx.js';
|
|
19
19
|
import './document-hooks.js';
|
|
20
20
|
import './section-template-types.js';
|
|
21
21
|
import './puck/content-tree.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ComponentType, ReactNode, RefObject } from 'react';
|
|
3
3
|
import { LinkPickerPage, LinkFilters } from './links/link-filters.js';
|
|
4
|
-
import '../../LinkPicker-
|
|
4
|
+
import '../../LinkPicker-hPEr1MJx.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* WHAT A HOST STANDS ROUND THE EDITOR — its own furniture, handed over as
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import 'react';
|
|
2
|
-
export { D as DETACHED_EASEL_HOST, E as EaselHost, b as EaselHostAddress, c as EaselHostContext, d as EaselHostProvider, e as EaselMessageType, f as EaselToHostMessage, H as HostPickedMedia, g as HostToEaselMessage, I as InboundHostMessage, S as SectionScreenTarget, h as SendToHost, i as createEaselHost, u as useEaselHost, j as useHostEscape } from '../../host-
|
|
2
|
+
export { D as DETACHED_EASEL_HOST, E as EaselHost, b as EaselHostAddress, c as EaselHostContext, d as EaselHostProvider, e as EaselMessageType, f as EaselToHostMessage, H as HostPickedMedia, g as HostToEaselMessage, I as InboundHostMessage, S as SectionScreenTarget, h as SendToHost, i as createEaselHost, u as useEaselHost, j as useHostEscape } from '../../host-CiuzZJXj.js';
|
|
3
3
|
import '../../blocks/index.js';
|
|
4
4
|
import '../../types-E3HrTPg2.js';
|
|
5
5
|
import '../../data/index.js';
|
|
@@ -12,7 +12,7 @@ import './backend-error.js';
|
|
|
12
12
|
import '../../edit-lock/index.js';
|
|
13
13
|
import './host-chrome.js';
|
|
14
14
|
import './links/link-filters.js';
|
|
15
|
-
import '../../LinkPicker-
|
|
15
|
+
import '../../LinkPicker-hPEr1MJx.js';
|
|
16
16
|
import './document-hooks.js';
|
|
17
17
|
import './section-template-types.js';
|
|
18
18
|
import './puck/content-tree.js';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RefObject } from 'react';
|
|
2
|
+
import { C as CanvasTarget } from '../../watch-BTYOJpQU.js';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Where the editor listens for its page-wide shortcuts — undo / redo, copy and
|
|
@@ -17,7 +18,35 @@ declare function useEaselKeyTarget(rootRef: RefObject<HTMLElement | null>): Even
|
|
|
17
18
|
* Undo / redo on the editor's own root when the editor does not own the page —
|
|
18
19
|
* the engine's `EaselProvider` binds them to `document`, and is told not to
|
|
19
20
|
* (`hotkeys={host.ownsDocument}` in ScreenStoreProvider) in exactly this case.
|
|
21
|
+
*
|
|
22
|
+
* …and in the CANVAS FRAME (`canvas`, the frame the screen found, 0.106.0): a
|
|
23
|
+
* key pressed in the frame never leaves its document, and the canvas binds
|
|
24
|
+
* the frame's keys only under the provider's switch, which is off here. Until
|
|
25
|
+
* 0.106.0 ⌘Z on the canvas did nothing in the campaign designer, and in the
|
|
26
|
+
* website editor inside the admin's window. One binder for both
|
|
27
|
+
* (`bindUndoKeys`), never a copy of it; a layer's canvas leaves its own
|
|
28
|
+
* `hotkeys` out, or the frame would answer twice.
|
|
29
|
+
*
|
|
30
|
+
* Both leave a press where a person types to the field (`leaveTyping`): ⌘Z in
|
|
31
|
+
* a settings box or an editable region of the canvas is that field's own undo.
|
|
32
|
+
* And the root takes focus without a tab stop (`editorRootFocus`), so a click
|
|
33
|
+
* on the editor's ground — the top bar between its buttons, a panel's
|
|
34
|
+
* padding — leaves focus inside it, where its keys are heard, and not on the
|
|
35
|
+
* page's body.
|
|
36
|
+
*/
|
|
37
|
+
declare function useEaselUndoKeys(rootRef: RefObject<HTMLElement | null>, canvas?: CanvasTarget | null): void;
|
|
38
|
+
/**
|
|
39
|
+
* What the editor's root carries so a click on its ground keeps focus inside
|
|
40
|
+
* it (0.106.0): a tab index of -1 — focusable, and never a tab stop — where
|
|
41
|
+
* its keys are its root's, inside another app's page; nothing where it owns
|
|
42
|
+
* the page and listens on `document`. A browser moves focus on a press to the
|
|
43
|
+
* nearest focusable thing round it, else to the body, which is outside the
|
|
44
|
+
* root and so out of its keys' hearing.
|
|
20
45
|
*/
|
|
21
|
-
declare function
|
|
46
|
+
declare function editorRootFocus(host: {
|
|
47
|
+
ownsDocument: boolean;
|
|
48
|
+
}): {
|
|
49
|
+
tabIndex?: number;
|
|
50
|
+
};
|
|
22
51
|
|
|
23
|
-
export { useEaselKeyTarget, useEaselUndoKeys };
|
|
52
|
+
export { editorRootFocus, useEaselKeyTarget, useEaselUndoKeys };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{useEaselKeyTarget,useEaselUndoKeys}from"../../chunk-
|
|
1
|
+
export{editorRootFocus,useEaselKeyTarget,useEaselUndoKeys}from"../../chunk-PT6V53OO.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-PYCLHOSA.js";import"../../chunk-AELNNAFM.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-D2BCHTQR.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ComponentType, ReactNode } from 'react';
|
|
3
|
-
import { H as HostPickedMedia, E as EaselHost } from '../../host-
|
|
3
|
+
import { H as HostPickedMedia, E as EaselHost } from '../../host-CiuzZJXj.js';
|
|
4
4
|
import '../../blocks/index.js';
|
|
5
5
|
import '../../types-E3HrTPg2.js';
|
|
6
6
|
import '../../data/index.js';
|
|
@@ -13,7 +13,7 @@ import './backend-error.js';
|
|
|
13
13
|
import '../../edit-lock/index.js';
|
|
14
14
|
import './host-chrome.js';
|
|
15
15
|
import './links/link-filters.js';
|
|
16
|
-
import '../../LinkPicker-
|
|
16
|
+
import '../../LinkPicker-hPEr1MJx.js';
|
|
17
17
|
import './document-hooks.js';
|
|
18
18
|
import './section-template-types.js';
|
|
19
19
|
import './puck/content-tree.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as EaselHost } from '../../host-
|
|
1
|
+
import { E as EaselHost } from '../../host-CiuzZJXj.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import '../../blocks/index.js';
|
|
4
4
|
import '../../types-E3HrTPg2.js';
|
|
@@ -12,7 +12,7 @@ import './backend-error.js';
|
|
|
12
12
|
import '../../edit-lock/index.js';
|
|
13
13
|
import './host-chrome.js';
|
|
14
14
|
import './links/link-filters.js';
|
|
15
|
-
import '../../LinkPicker-
|
|
15
|
+
import '../../LinkPicker-hPEr1MJx.js';
|
|
16
16
|
import './document-hooks.js';
|
|
17
17
|
import './section-template-types.js';
|
|
18
18
|
import './puck/content-tree.js';
|
|
@@ -10,7 +10,7 @@ import '../../plan-DChbUXdS.js';
|
|
|
10
10
|
import './backend-error.js';
|
|
11
11
|
import './host-chrome.js';
|
|
12
12
|
import './links/link-filters.js';
|
|
13
|
-
import '../../LinkPicker-
|
|
13
|
+
import '../../LinkPicker-hPEr1MJx.js';
|
|
14
14
|
import './document-contract.js';
|
|
15
15
|
import './document-hooks.js';
|
|
16
16
|
import './section-template-types.js';
|
|
@@ -14,7 +14,11 @@ declare function docToNode(data: Data): TreeItem | null;
|
|
|
14
14
|
* inline slot child's, recursively — so inserting the same template twice never
|
|
15
15
|
* lands two nodes with colliding ids (Puck keys selection/replace on id, and
|
|
16
16
|
* React keys render on it).
|
|
17
|
+
*
|
|
18
|
+
* `strip` (0.106.0) sees each copied node once its children are copied, and
|
|
19
|
+
* answers it as the copy should hold it — the layer's `blockRules.stripCopy`,
|
|
20
|
+
* which takes out what only an original may hold. It keeps the fresh id.
|
|
17
21
|
*/
|
|
18
|
-
declare function cloneNodeWithFreshIds(node: TreeItem): TreeItem;
|
|
22
|
+
declare function cloneNodeWithFreshIds(node: TreeItem, strip?: (node: TreeItem) => TreeItem): TreeItem;
|
|
19
23
|
|
|
20
24
|
export { cloneNodeWithFreshIds, docToNode, nodeToDoc };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{cloneNodeWithFreshIds,docToNode,nodeToDoc}from"../../../chunk-
|
|
1
|
+
export{cloneNodeWithFreshIds,docToNode,nodeToDoc}from"../../../chunk-2GVCAIPX.js";import"../../../chunk-PLVEGYK6.js";
|