efficient-easel 24.2.0 → 25.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/README.md +43 -2
  2. package/dist/{CanvasDragLayer-NZpaX6aq.d.ts → CanvasDragLayer-DXeQGrwJ.d.ts} +42 -3
  3. package/dist/canvas/index.d.ts +2 -139
  4. package/dist/canvas/index.js +1 -1
  5. package/dist/chrome/index.js +1 -1
  6. package/dist/{chunk-6NJHYXJM.js → chunk-3XECMGXX.js} +1 -1
  7. package/dist/chunk-4OMAA45Q.js +5 -0
  8. package/dist/{chunk-G67G63O5.js → chunk-4Y3TK65H.js} +1 -1
  9. package/dist/chunk-53ME3GAI.js +16 -0
  10. package/dist/{chunk-FRAIEWRC.js → chunk-62UGN7VM.js} +1 -1
  11. package/dist/{chunk-HNKB2ZYR.js → chunk-6ATIYLUL.js} +1 -1
  12. package/dist/{chunk-Y53EKN35.js → chunk-6EDVZBUO.js} +1 -1
  13. package/dist/chunk-7UFKEX72.js +1 -0
  14. package/dist/chunk-CEC5XLN4.js +1 -0
  15. package/dist/chunk-CWELHADJ.js +1 -0
  16. package/dist/chunk-DX3VILZ3.js +6 -0
  17. package/dist/chunk-ERB6FAZT.js +2 -0
  18. package/dist/{chunk-TGZCD6IP.js → chunk-EUFDQ4KL.js} +1 -1
  19. package/dist/chunk-FR7EEKFF.js +1 -0
  20. package/dist/{chunk-75C6WFNF.js → chunk-FYV6GZXP.js} +1 -1
  21. package/dist/chunk-GDO4QJ4G.js +1 -0
  22. package/dist/chunk-GEPSJJWW.js +1 -0
  23. package/dist/{chunk-GMCZXMOV.js → chunk-GR3XRILS.js} +1 -1
  24. package/dist/chunk-H6BER2EU.js +1 -0
  25. package/dist/chunk-JIP5JNRB.js +1 -0
  26. package/dist/{chunk-AGWKB77Q.js → chunk-K53PQAMP.js} +1 -1
  27. package/dist/{chunk-CLOS6SSX.js → chunk-KO47WAWR.js} +1 -1
  28. package/dist/chunk-KTV7ORWF.js +64 -0
  29. package/dist/chunk-LUG22U5L.js +1 -0
  30. package/dist/{chunk-DDH2DYQP.js → chunk-LUOY3A3Q.js} +1 -1
  31. package/dist/{chunk-OITNWE52.js → chunk-M4THI4OO.js} +1 -1
  32. package/dist/chunk-MBEUSPIN.js +18 -0
  33. package/dist/chunk-MIX7EGRG.js +2 -0
  34. package/dist/{chunk-2FYFAAAK.js → chunk-OXOUGEAT.js} +1 -1
  35. package/dist/chunk-PMRN5Z3T.js +1 -0
  36. package/dist/{chunk-55KKGABA.js → chunk-PVBDKBJB.js} +1 -1
  37. package/dist/{chunk-RPMSET77.js → chunk-QTHQPJWA.js} +1 -1
  38. package/dist/{chunk-ISS72IKO.js → chunk-QZJKWKGH.js} +1 -1
  39. package/dist/{chunk-IYHO4XQX.js → chunk-S6YOIRXQ.js} +1 -1
  40. package/dist/{chunk-5PXVT7JY.js → chunk-SBVIW3KJ.js} +1 -1
  41. package/dist/chunk-SC6E3UUS.js +13 -0
  42. package/dist/chunk-SSDKT4AY.js +9 -0
  43. package/dist/chunk-TOKMFZPB.js +1 -0
  44. package/dist/chunk-U3LTJSBU.js +20 -0
  45. package/dist/{chunk-WYTPBF3Q.js → chunk-VBEVZZTV.js} +11 -11
  46. package/dist/chunk-VIUES5R6.js +8 -0
  47. package/dist/{chunk-4ESG53BH.js → chunk-YFHKE54W.js} +1 -1
  48. package/dist/chunk-YYD257TD.js +1 -0
  49. package/dist/chunk-ZLOMH2PD.js +1 -0
  50. package/dist/{chunk-JMAOCKB2.js → chunk-ZYOQXBJF.js} +3 -3
  51. package/dist/copy/index.js +13 -13
  52. package/dist/copy-place-CQIemdtU.d.ts +25 -0
  53. package/dist/data/index.d.ts +4 -1
  54. package/dist/data/index.js +1 -1
  55. package/dist/dom-BpxMcHFP.d.ts +200 -0
  56. package/dist/drag/index.d.ts +2 -3
  57. package/dist/drag/index.js +1 -1
  58. package/dist/draw/index.d.ts +1 -1
  59. package/dist/draw/index.js +1 -1
  60. package/dist/easel/index.d.ts +67 -1
  61. package/dist/easel/index.js +1 -1
  62. package/dist/edit-lock/index.d.ts +0 -46
  63. package/dist/edit-lock/index.js +1 -1
  64. package/dist/fields/fields.css +6 -40
  65. package/dist/fields/index.d.ts +1 -6
  66. package/dist/fields/index.js +1 -1
  67. package/dist/node-ops/index.js +1 -1
  68. package/dist/page-copy/index.d.ts +110 -0
  69. package/dist/page-copy/index.js +5 -0
  70. package/dist/panel/index.d.ts +29 -34
  71. package/dist/panel/index.js +1 -1
  72. package/dist/panel/panel.css +0 -78
  73. package/dist/screen/components/AddBlockRow.js +1 -1
  74. package/dist/screen/components/AddSidePanel.d.ts +37 -57
  75. package/dist/screen/components/AddSidePanel.js +1 -1
  76. package/dist/screen/components/NodeContextMenu.d.ts +19 -11
  77. package/dist/screen/components/NodeContextMenu.js +1 -1
  78. package/dist/screen/components/PageEditGuardNotices.js +1 -1
  79. package/dist/screen/components/SaveControls.d.ts +10 -11
  80. package/dist/screen/components/SaveControls.js +1 -1
  81. package/dist/screen/components/ScreenChrome.js +1 -1
  82. package/dist/screen/components/ScreenDocumentContext.js +1 -1
  83. package/dist/screen/components/ScreenMount.d.ts +5 -6
  84. package/dist/screen/components/ScreenMount.js +1 -1
  85. package/dist/screen/components/ScreenStoreProvider.d.ts +8 -9
  86. package/dist/screen/components/ScreenStoreProvider.js +1 -1
  87. package/dist/screen/components/SectionScreenShell.js +17 -17
  88. package/dist/screen/components/SidePanelHead.js +1 -1
  89. package/dist/screen/components/panel-widths.js +1 -1
  90. package/dist/screen/components/usePartBridge.d.ts +10 -11
  91. package/dist/screen/components/usePartBridge.js +1 -1
  92. package/dist/screen/index.d.ts +9 -10
  93. package/dist/screen/index.js +1 -1
  94. package/dist/screen/lib/document/block-set-host.d.ts +55 -0
  95. package/dist/screen/lib/document/block-set-host.js +1 -0
  96. package/dist/screen/lib/document/block-types-in.js +1 -1
  97. package/dist/screen/lib/document/box-fields.d.ts +70 -3
  98. package/dist/screen/lib/document/box-fields.js +1 -9
  99. package/dist/screen/lib/document/device-fields.js +1 -1
  100. package/dist/screen/lib/document/palette-sections.d.ts +33 -97
  101. package/dist/screen/lib/document/palette-sections.js +1 -1
  102. package/dist/screen/lib/document/preview-dom.js +1 -1
  103. package/dist/screen/lib/document/section-doc.js +1 -1
  104. package/dist/screen/lib/document/style-clipboard.d.ts +10 -11
  105. package/dist/screen/lib/document/style-clipboard.js +1 -1
  106. package/dist/screen/lib/document/use-section-ops.js +1 -1
  107. package/dist/screen/lib/document-switch.js +1 -1
  108. package/dist/screen/lib/failure.js +1 -1
  109. package/dist/screen/lib/host-inbound.js +1 -1
  110. package/dist/screen/lib/key-scope.js +1 -1
  111. package/dist/screen/lib/media-picker.js +1 -1
  112. package/dist/screen/lib/page-lock.js +1 -1
  113. package/dist/screen/lib/screen-parts.d.ts +251 -12
  114. package/dist/screen/lib/screen-parts.js +1 -1
  115. package/dist/screen/screen.css +6 -0
  116. package/dist/screen/words.d.ts +9 -0
  117. package/dist/screen/words.js +1 -1
  118. package/dist/strings/index.d.ts +4 -1
  119. package/dist/strings/index.js +2 -2
  120. package/dist/style-clipboard/index.d.ts +0 -32
  121. package/dist/style-clipboard/index.js +1 -1
  122. package/dist/text-styles/index.d.ts +7 -6
  123. package/dist/text-styles/index.js +37 -36
  124. package/dist/text-styles/text-styles.css +5 -53
  125. package/dist/tree/index.d.ts +2 -2
  126. package/dist/{types-DBy3L69b.d.ts → types-CoUTWUwB.d.ts} +1 -1
  127. package/dist/words-Dl8Qja4K.d.ts +32 -0
  128. package/package.json +15 -3
  129. package/dist/chunk-3FIS2FRS.js +0 -1
  130. package/dist/chunk-7RSE6KKY.js +0 -1
  131. package/dist/chunk-CMPFUJ26.js +0 -8
  132. package/dist/chunk-CZAAGBVL.js +0 -7
  133. package/dist/chunk-DSKNJXB4.js +0 -1
  134. package/dist/chunk-FJTCSQWK.js +0 -16
  135. package/dist/chunk-G7ISR6DI.js +0 -1
  136. package/dist/chunk-H4Z2V56N.js +0 -21
  137. package/dist/chunk-K7MMLCTT.js +0 -2
  138. package/dist/chunk-KRL3IUV3.js +0 -1
  139. package/dist/chunk-LF3FUSCQ.js +0 -1
  140. package/dist/chunk-LN43DP2A.js +0 -18
  141. package/dist/chunk-QORC32JO.js +0 -5
  142. package/dist/chunk-THWO5YVZ.js +0 -1
  143. package/dist/chunk-TOHOGVAE.js +0 -15
  144. package/dist/chunk-UKPZ2YWE.js +0 -64
  145. package/dist/chunk-V7U33NF2.js +0 -1
  146. package/dist/chunk-VKPOH6MK.js +0 -1
  147. package/dist/chunk-YU3WHLGI.js +0 -1
  148. package/dist/repeat-D65bJS8d.d.ts +0 -49
  149. package/dist/session-EsjORLQ0.d.ts +0 -43
@@ -1,17 +1,17 @@
1
- import{AddBlockRow as e}from"../../chunk-G67G63O5.js";import{scrollPreviewToSection as n,gotoPreviewSlide as o}from"../../chunk-DDH2DYQP.js";import{useEaselUndoKeys as r}from"../../chunk-75C6WFNF.js";import{SlotChildActionsProvider as t}from"../../chunk-KCBEE2MC.js";import{DEFAULT_PANEL_W as s}from"../../chunk-Y53EKN35.js";import{usePartBridge as i}from"../../chunk-7RSE6KKY.js";import{useSectionOps as c}from"../../chunk-OITNWE52.js";import"../../chunk-RUQOIQWI.js";import{SELECTION_MODE as p,useScreenPinned as l,useScreenCanvasFrame as m,useScreenInspectorPanel as d,useScreenPickFollowsSelection as a,sameInspectorMode as u,useStandaloneScreenBridges as h,useScreenBlockLook as k,useScreenBlockRules as j,isSelectionMode as f,shownChildSlotsOf as S}from"../../chunk-QORC32JO.js";import{MediaPopup as C}from"../../chunk-T2RINM7R.js";import{useScreenDocument as N}from"../../chunk-K7MMLCTT.js";import"../../chunk-ISS72IKO.js";import"../../chunk-ERR437B5.js";import"../../chunk-3FIS2FRS.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-NQW6XCAY.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-NCXYC7WI.js";import"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";import"../../chunk-LX23TCTP.js";import{DEFAULT_SCREEN_WORDS as y}from"../../chunk-IYHO4XQX.js";import{slotChildRowName as A}from"../../chunk-5NHQ452C.js";import"../../chunk-6UAEFOJ4.js";import"../../chunk-AJ2SUSET.js";import"../../chunk-ANPOR6EY.js";import"../../chunk-R4AUZVA3.js";import{slotFieldsOf as x,nestsInTree as O}from"../../chunk-TCAAOYQY.js";import{useEasel as Y}from"../../chunk-FJTCSQWK.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-H4Z2V56N.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-YCSZAP7T.js";import{LayersTree as R,Subtree as F,TreeRow as P,TreeRowAction as W,TreeSeam as g}from"../../chunk-WHS6Y55E.js";import{DEFAULT_TREE_WORDS as E}from"../../chunk-K56YDHYQ.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-AGWKB77Q.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-RPMSET77.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-NDRZP6YR.js";import{DEFAULT_SAVE_WORDS as I,saveIndicator as T}from"../../chunk-H6DDIBQ4.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-KRL3IUV3.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-CZAAGBVL.js";import{SaveState as v,panelWidthVars as M}from"../../chunk-WYTPBF3Q.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-AJSDWWJW.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import{useWords as Q}from"../../chunk-MFIRYGHW.js";import"../../chunk-LN43DP2A.js";import"../../chunk-TQ5Y6S2X.js";import{useTreeDrag as b}from"../../chunk-6NJHYXJM.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-YU3WHLGI.js";import"../../chunk-LF3FUSCQ.js";import{zoneKey as z,parseZoneKey as B}from"../../chunk-TGZCD6IP.js";import"../../chunk-KXM6YRG2.js";import"../../chunk-467WWV4I.js";import"../../chunk-TIAWIOGD.js";import"../../chunk-MGVI67QV.js";import{useState as H,useRef as w,useEffect as D,useCallback as K,Fragment as V}from"react";import{Tooltip as G}from"efficient-shell/ui";import{TrashIcon as J}from"efficient-shell/icons/efficient";import{jsxs as L,jsx as Z,Fragment as X}from"react/jsx-runtime";var U=e=>n=>{n.target.closest("button, input")||e()},$={rowClick:U};function q(){const{saveState:q,readOnly:_,readOnlyReason:ee=null}=N(),ne=c(),{appState:oe,selectedItem:re,config:te}=Y(e=>e),[se,ie]=H(p),ce=Q("screen",y),pe=Q("tree",E),le=Q("save",I),{first:me,last:de,panelOf:ae}=l(),ue=ae(me),he=m(),ke=d(),je=oe.data.content?.[0]??null,fe=je?.props.id??null,Se=je?.type===me,Ce=je?.type===de,Ne=w(null),ye=w(null);r(ye),a(re?.props.id),D(()=>{fe&&Ne.current!==fe&&(Ne.current=fe,Se?ie(ue??p):re||ne.select({index:0}))},[fe,re,ne,Se]);const Ae=K(e=>ie(n=>u(n,e)?n:e),[]),xe=h({kind:se.kind,mode:se,open:Ae,show:e=>ie(e),reveal:()=>{},select:(e,n)=>{ie(e=>u(e,n)?e:n),ne.select(e)}}),{selectNode:Oe}=i({mode:se,setMode:ie,onOpenPart:n}),Ye=k(),{labelAtLevel:Re,Icon:Fe}=Ye,{canAddTo:Pe}=j(),We=e=>Re(e,"block",te.components[e]?.label??e),ge=e=>Re(e,"section",We(e)),Ee=!Se&&f(se)&&re?.props.id===fe,Ie=je?Pe(je.type)?.spec??null:null,Te=je&&Ie?`${je.props.id}:${Ie.slot}`:null,ve=je&&Ie&&Array.isArray(je.props[Ie.slot])?je.props[Ie.slot]:[],Me=e=>A(e,We,Ye.plainText),Qe=(e,r)=>{je&&Ie&&Te&&(ie(p),Ie.slider?(o(String(je.props.id),e),ne.select({index:e,zone:Te}),n(String(je.props.id))):(ne.select({index:e,zone:Te}),n(r)))},be=()=>{if(!je||!Ie||!Te)return;const e=ve.length;ne.insertComponent(Te,Ie.childType,e),ie(p),Ie.slider?requestAnimationFrame(()=>{o(String(je.props.id),e),ne.select({index:e,zone:Te})}):ne.select({index:e,zone:Te})},ze=e=>x(te,e),Be=e=>{const{parentId:n,slot:o}=B(e),r=e=>{if(!e)return null;if(String(e.props.id)===n)return e;for(const n of ze(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(je)?.props[o];return Array.isArray(t)?t.length:0},He=(e,n,o)=>{const r=Math.min(Math.max(o,0),Be(e)),t=n<r?r-1:r;t!==n&&(ne.reorderComponent(e,n,t),ie(p),ne.select({index:t,zone:e}))},we=b({keyOf:e=>e.id,readOnly:Boolean(_),canDrop:(e,n)=>z(n)===e.zone&&n.index>=0&&n.index<=Be(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)}),De=(e,n)=>/* @__PURE__ */Z(g,{..._?{}:we.seam({place:{...B(e),index:n}})},`seam:${e}:${n}`),Ke=e=>Ye.blockRowName(e,We),Ve=(e,o,r)=>{ie(p),ne.select({index:o,zone:e}),n(r)},Ge=(e,n,o)=>{ne.insertComponent(e,n,o),ie(p),ne.select({index:o,zone:e})},Je=(n,o,r)=>/* @__PURE__ */Z(e,{choices:r,onPick:e=>Ge(n,e,o)}),Le=(e,n)=>{const o=S(te,e);const r=Pe(e.type,void 0,void 0,{id:String(e.props.id??""),data:oe.data}),t=r?.choices??null,s="footer"===r?.source?Ke:Me;/* @__PURE__ */
2
- return L(X,{children:[o.map(({child:e,zone:o,index:r})=>{const t=re?.props.id===e.props.id,i=O(te,e.type,n),c=s(e),l=String(e.props.id),m=()=>Ve(o,r,l),{rowProps:d,...a}=we.row({item:{id:l,zone:o,index:r},place:{...B(o),index:r}},{onClick:U(m)});/* @__PURE__ */
3
- return L(V,{children:[0===r&&De(o,0),
4
- /* @__PURE__ */Z(P,{words:pe,icon:/* @__PURE__ */Z(Fe,{type:e.type,size:13}),name:c,selected:t,onSelect:m,...a,actions:/* @__PURE__ */Z(W,{kind:"delete",label:ce.deleteNamed({name:c}),onClick:()=>{return e=o,n=r,ne.removeComponent(e,n),ie(p),void ne.select(null);var e,n},children:/* @__PURE__ */Z(J,{size:13})}),rowProps:d}),i&&/* @__PURE__ */Z(F,{children:Le(e,n+1)}),De(o,r+1)]},String(e.props.id??`${o}-${r}`))}),r&&t?Je(`${e.props.id}:${r.slot}`,o.length,t):null]})},Ze="HeroSingle"===je?.type,Xe=Boolean(je)&&(Boolean(Pe(je.type))||ze(je.type).length>0),Ue=Boolean(je)&&(Boolean(Ie)||Ce||Se||Ze||Xe);/* @__PURE__ */
5
- return L("div",{ref:ye,className:"sf-editor es-editor",style:M(s),children:[
6
- /* @__PURE__ */Z("div",{className:"sf-section-bar",children:/* @__PURE__ */Z(v,null!==ee?{tone:"off",label:ee,role:"status"}:{...T(q,le),role:"status"})}),
7
- /* @__PURE__ */L("div",{className:"sf-body",children:[Ue&&je&&/* @__PURE__ */L("aside",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left",children:[
8
- /* @__PURE__ */Z("div",{className:"sf-panel-head",children:/* @__PURE__ */Z(G,{content:Se?ce.headerSettings:ce.sectionSettings({name:ge(je.type)}),side:"bottom",children:/* @__PURE__ */Z("button",{type:"button",className:"sf-panel-title sf-panel-title--btn "+(Ee?"is-selected":""),"aria-pressed":Ee,onClick:()=>{Se?ie(ue??p):(ie(p),ne.select({index:0}))},children:ge(je.type)})})}),
9
- /* @__PURE__ */Z(R,{className:"sf-tree sf-scroll",rootProps:we.rootProps(),words:pe,children:/* @__PURE__ */Z(F,{children:Se?
10
- /* @__PURE__ */Z(P,{words:pe,icon:/* @__PURE__ */Z(Fe,{type:"header",size:13}),name:ce.headerSettings,selected:se.kind===ue?.kind,onSelect:()=>ie(ue??p),rowProps:{onClick:U(()=>ie(ue??p))}}):Ie?/* @__PURE__ */L(X,{children:[ve.map((e,n)=>{const o=re?.props.id===e.props.id,r=Me(e),t=String(e.props.id),s=()=>Qe(n,t),{rowProps:i,...c}=we.row({item:{id:t,zone:Te,index:n},place:{...B(Te),index:n}},{onClick:U(s)});/* @__PURE__ */
11
- return L(V,{children:[0===n&&De(Te,0),
12
- /* @__PURE__ */Z(P,{words:pe,icon:/* @__PURE__ */Z(Fe,{type:e.type,size:13}),name:r,selected:o,onSelect:s,...c,actions:/* @__PURE__ */Z(W,{kind:"delete",label:ce.deleteNamed({name:r}),onClick:()=>{return e=n,void(Te&&(ne.removeComponent(Te,e),ie(p),ne.select(null)));var e},children:/* @__PURE__ */Z(J,{size:13})}),rowProps:i}),De(Te,n+1)]},String(e.props.id??n))}),
13
- /* @__PURE__ */L("button",{type:"button",className:"sf-add-card",onClick:be,children:[
14
- /* @__PURE__ */Z("span",{className:"sf-plus sf-plus--sm",children:"+"}),Ie.addLabel]}),fe?xe.partRows?.(je,$):null]}):Le(je,1)})})]}),
15
- /* @__PURE__ */Z("div",{className:"sf-center",children:/* @__PURE__ */Z("div",{className:"sf-preview-host",children:/* @__PURE__ */Z(he,{})})}),
16
- /* @__PURE__ */Z(t,{value:{selectChild:(e,n,o,r)=>"section"===Pe(r)?.source?Qe(n,o):Ve(e,n,o),addChild:(e,n,o,r,t)=>"section"===Pe(t)?.source?be():Ge(`${e}:${n}`,o,r),childRowName:Me,blockRowName:Ke},children:/* @__PURE__ */Z(ke,{mode:se,onOpenWebsiteSettings:xe.openSettings??(()=>{}),onSelectNode:Oe,hideNodeActions:!0})})]}),
17
- /* @__PURE__ */Z(C,{})]})}export{q as default};
1
+ import{AddBlockRow as e}from"../../chunk-4Y3TK65H.js";import{scrollPreviewToSection as n,gotoPreviewSlide as o}from"../../chunk-LUOY3A3Q.js";import{useEaselUndoKeys as r}from"../../chunk-FYV6GZXP.js";import{SlotChildActionsProvider as t}from"../../chunk-KCBEE2MC.js";import{DEFAULT_PANEL_W as s}from"../../chunk-6EDVZBUO.js";import{usePartBridge as i}from"../../chunk-ZLOMH2PD.js";import{useSectionOps as c}from"../../chunk-M4THI4OO.js";import{useScreenDocument as p}from"../../chunk-ERB6FAZT.js";import"../../chunk-QZJKWKGH.js";import"../../chunk-ERR437B5.js";import"../../chunk-JIP5JNRB.js";import"../../chunk-GR3XRILS.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-6ATIYLUL.js";import"../../chunk-KO47WAWR.js";import"../../chunk-NQW6XCAY.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-RUQOIQWI.js";import{SELECTION_MODE as l,useScreenPinned as m,useScreenCanvasFrame as d,useScreenInspectorPanel as u,useScreenPickFollowsSelection as a,sameInspectorMode as h,useStandaloneScreenBridges as k,useScreenBlockLook as j,useScreenBlockRules as f,isSelectionMode as S,shownChildSlotsOf as A}from"../../chunk-4OMAA45Q.js";import{MediaPopup as N}from"../../chunk-T2RINM7R.js";import"../../chunk-NCXYC7WI.js";import"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";import"../../chunk-LX23TCTP.js";import{DEFAULT_SCREEN_WORDS as y}from"../../chunk-S6YOIRXQ.js";import"../../chunk-AJ2SUSET.js";import{slotChildRowName as E}from"../../chunk-5NHQ452C.js";import"../../chunk-6UAEFOJ4.js";import"../../chunk-ANPOR6EY.js";import"../../chunk-R4AUZVA3.js";import{slotFieldsOf as C,nestsInTree as P}from"../../chunk-TCAAOYQY.js";import{useEasel as R}from"../../chunk-53ME3GAI.js";import"../../chunk-LUG22U5L.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-U3LTJSBU.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-YCSZAP7T.js";import"../../chunk-ZEH6QLBH.js";import{LayersTree as x,Subtree as O,TreeRow as M,TreeRowAction as T,TreeSeam as Y}from"../../chunk-WHS6Y55E.js";import"../../chunk-FM6JO4WF.js";import{DEFAULT_TREE_WORDS as F}from"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-K53PQAMP.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-QTHQPJWA.js";import"../../chunk-NDRZP6YR.js";import{DEFAULT_SAVE_WORDS as I,saveIndicator as g}from"../../chunk-H6DDIBQ4.js";import{SaveState as B,panelWidthVars as v}from"../../chunk-VBEVZZTV.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-AJSDWWJW.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-YYD257TD.js";import"../../chunk-RE4LP46F.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-PMRN5Z3T.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-MIX7EGRG.js";import"../../chunk-DX3VILZ3.js";import"../../chunk-JACEEVVF.js";import{useWords as Q}from"../../chunk-MFIRYGHW.js";import"../../chunk-MBEUSPIN.js";import"../../chunk-TQ5Y6S2X.js";import{useTreeDrag as W}from"../../chunk-3XECMGXX.js";import"../../chunk-P2VEMZH5.js";import{zoneKey as b,parseZoneKey as z}from"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";import"../../chunk-TOKMFZPB.js";import"../../chunk-FR7EEKFF.js";import"../../chunk-7UFKEX72.js";import"../../chunk-467WWV4I.js";import"../../chunk-TIAWIOGD.js";import"../../chunk-MGVI67QV.js";import{useState as w,useRef as D,useEffect as Z,useCallback as H,Fragment as K}from"react";import{Tooltip as L}from"efficient-shell/ui";import{TrashIcon as U}from"efficient-shell/icons/efficient";import{jsxs as V,jsx as X,Fragment as G}from"react/jsx-runtime";var J=e=>n=>{n.target.closest("button, input")||e()},$={rowClick:J};function q(){const{saveState:q,readOnly:_,readOnlyReason:ee=null}=p(),ne=c(),{appState:oe,selectedItem:re,config:te}=R(e=>e),[se,ie]=w(l),ce=Q("screen",y),pe=Q("tree",F),le=Q("save",I),{first:me,last:de,panelOf:ue}=m(),ae=ue(me),he=d(),ke=u(),je=oe.data.content?.[0]??null,fe=je?.props.id??null,Se=je?.type===me,Ae=je?.type===de,Ne=D(null),ye=D(null);r(ye),a(re?.props.id),Z(()=>{fe&&Ne.current!==fe&&(Ne.current=fe,Se?ie(ae??l):re||ne.select({index:0}))},[fe,re,ne,Se]);const Ee=H(e=>ie(n=>h(n,e)?n:e),[]),Ce=k({kind:se.kind,mode:se,open:Ee,show:e=>ie(e),reveal:()=>{},select:(e,n)=>{ie(e=>h(e,n)?e:n),ne.select(e)}}),{selectNode:Pe}=i({mode:se,setMode:ie,onOpenPart:n}),Re=j(),{labelAtLevel:xe,Icon:Oe}=Re,{canAddTo:Me}=f(),Te=e=>xe(e,"block",te.components[e]?.label??e),Ye=e=>xe(e,"section",Te(e)),Fe=!Se&&S(se)&&re?.props.id===fe,Ie=je?Me(je.type)?.spec??null:null,ge=je&&Ie?`${je.props.id}:${Ie.slot}`:null,Be=je&&Ie&&Array.isArray(je.props[Ie.slot])?je.props[Ie.slot]:[],ve=e=>E(e,Te,Re.plainText),Qe=(e,r)=>{je&&Ie&&ge&&(ie(l),Ie.slider?(o(String(je.props.id),e),ne.select({index:e,zone:ge}),n(String(je.props.id))):(ne.select({index:e,zone:ge}),n(r)))},We=()=>{if(!je||!Ie||!ge)return;const e=Be.length;ne.insertComponent(ge,Ie.childType,e),ie(l),Ie.slider?requestAnimationFrame(()=>{o(String(je.props.id),e),ne.select({index:e,zone:ge})}):ne.select({index:e,zone:ge})},be=e=>C(te,e),ze=e=>{const{parentId:n,slot:o}=z(e),r=e=>{if(!e)return null;if(String(e.props.id)===n)return e;for(const n of be(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(je)?.props[o];return Array.isArray(t)?t.length:0},we=(e,n,o)=>{const r=Math.min(Math.max(o,0),ze(e)),t=n<r?r-1:r;t!==n&&(ne.reorderComponent(e,n,t),ie(l),ne.select({index:t,zone:e}))},De=W({keyOf:e=>e.id,readOnly:Boolean(_),canDrop:(e,n)=>b(n)===e.zone&&n.index>=0&&n.index<=ze(e.zone),onDrop:(e,n)=>we(e.zone,e.index,n.index),onStep:(e,n)=>we(e.zone,e.index,n<0?e.index-1:e.index+2)}),Ze=(e,n)=>/* @__PURE__ */X(Y,{..._?{}:De.seam({place:{...z(e),index:n}})},`seam:${e}:${n}`),He=e=>Re.blockRowName(e,Te),Ke=(e,o,r)=>{ie(l),ne.select({index:o,zone:e}),n(r)},Le=(e,n,o)=>{ne.insertComponent(e,n,o),ie(l),ne.select({index:o,zone:e})},Ue=(n,o,r)=>/* @__PURE__ */X(e,{choices:r,onPick:e=>Le(n,e,o)}),Ve=(e,n)=>{const o=A(te,e);const r=Me(e.type,void 0,void 0,{id:String(e.props.id??""),data:oe.data}),t=r?.choices??null,s="footer"===r?.source?He:ve;/* @__PURE__ */
2
+ return V(G,{children:[o.map(({child:e,zone:o,index:r})=>{const t=re?.props.id===e.props.id,i=P(te,e.type,n),c=s(e),p=String(e.props.id),m=()=>Ke(o,r,p),{rowProps:d,...u}=De.row({item:{id:p,zone:o,index:r},place:{...z(o),index:r}},{onClick:J(m)});/* @__PURE__ */
3
+ return V(K,{children:[0===r&&Ze(o,0),
4
+ /* @__PURE__ */X(M,{words:pe,icon:/* @__PURE__ */X(Oe,{type:e.type,size:13}),name:c,selected:t,onSelect:m,...u,actions:/* @__PURE__ */X(T,{kind:"delete",label:ce.deleteNamed({name:c}),onClick:()=>{return e=o,n=r,ne.removeComponent(e,n),ie(l),void ne.select(null);var e,n},children:/* @__PURE__ */X(U,{size:13})}),rowProps:d}),i&&/* @__PURE__ */X(O,{children:Ve(e,n+1)}),Ze(o,r+1)]},String(e.props.id??`${o}-${r}`))}),r&&t?Ue(`${e.props.id}:${r.slot}`,o.length,t):null]})},Xe="HeroSingle"===je?.type,Ge=Boolean(je)&&(Boolean(Me(je.type))||be(je.type).length>0),Je=Boolean(je)&&(Boolean(Ie)||Ae||Se||Xe||Ge);/* @__PURE__ */
5
+ return V("div",{ref:ye,className:"sf-editor es-editor",style:v(s),children:[
6
+ /* @__PURE__ */X("div",{className:"sf-section-bar",children:/* @__PURE__ */X(B,null!==ee?{tone:"off",label:ee,role:"status"}:{...g(q,le),role:"status"})}),
7
+ /* @__PURE__ */V("div",{className:"sf-body",children:[Je&&je&&/* @__PURE__ */V("aside",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left",children:[
8
+ /* @__PURE__ */X("div",{className:"sf-panel-head",children:/* @__PURE__ */X(L,{content:Se?ce.headerSettings:ce.sectionSettings({name:Ye(je.type)}),side:"bottom",children:/* @__PURE__ */X("button",{type:"button",className:"sf-panel-title sf-panel-title--btn "+(Fe?"is-selected":""),"aria-pressed":Fe,onClick:()=>{Se?ie(ae??l):(ie(l),ne.select({index:0}))},children:Ye(je.type)})})}),
9
+ /* @__PURE__ */X(x,{className:"sf-tree sf-scroll",rootProps:De.rootProps(),words:pe,children:/* @__PURE__ */X(O,{children:Se?
10
+ /* @__PURE__ */X(M,{words:pe,icon:/* @__PURE__ */X(Oe,{type:"header",size:13}),name:ce.headerSettings,selected:se.kind===ae?.kind,onSelect:()=>ie(ae??l),rowProps:{onClick:J(()=>ie(ae??l))}}):Ie?/* @__PURE__ */V(G,{children:[Be.map((e,n)=>{const o=re?.props.id===e.props.id,r=ve(e),t=String(e.props.id),s=()=>Qe(n,t),{rowProps:i,...c}=De.row({item:{id:t,zone:ge,index:n},place:{...z(ge),index:n}},{onClick:J(s)});/* @__PURE__ */
11
+ return V(K,{children:[0===n&&Ze(ge,0),
12
+ /* @__PURE__ */X(M,{words:pe,icon:/* @__PURE__ */X(Oe,{type:e.type,size:13}),name:r,selected:o,onSelect:s,...c,actions:/* @__PURE__ */X(T,{kind:"delete",label:ce.deleteNamed({name:r}),onClick:()=>{return e=n,void(ge&&(ne.removeComponent(ge,e),ie(l),ne.select(null)));var e},children:/* @__PURE__ */X(U,{size:13})}),rowProps:i}),Ze(ge,n+1)]},String(e.props.id??n))}),
13
+ /* @__PURE__ */V("button",{type:"button",className:"sf-add-card",onClick:We,children:[
14
+ /* @__PURE__ */X("span",{className:"sf-plus sf-plus--sm",children:"+"}),Ie.addLabel]}),fe?Ce.partRows?.(je,$):null]}):Ve(je,1)})})]}),
15
+ /* @__PURE__ */X("div",{className:"sf-center",children:/* @__PURE__ */X("div",{className:"sf-preview-host",children:/* @__PURE__ */X(he,{})})}),
16
+ /* @__PURE__ */X(t,{value:{selectChild:(e,n,o,r)=>"section"===Me(r)?.source?Qe(n,o):Ke(e,n,o),addChild:(e,n,o,r,t)=>"section"===Me(t)?.source?We():Le(`${e}:${n}`,o,r),childRowName:ve,blockRowName:He},children:/* @__PURE__ */X(ke,{mode:se,onOpenWebsiteSettings:Ce.openSettings??(()=>{}),onSelectNode:Pe,hideNodeActions:!0})})]}),
17
+ /* @__PURE__ */X(N,{})]})}export{q as default};
@@ -1 +1 @@
1
- export{PanelHideButton,PanelModeExit,PanelShowStrip,SidePanelHead as default}from"../../chunk-5PXVT7JY.js";import"../../chunk-UMDQ6CLQ.js";import"../../chunk-WYTPBF3Q.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-AJSDWWJW.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MFIRYGHW.js";
1
+ export{PanelHideButton,PanelModeExit,PanelShowStrip,SidePanelHead as default}from"../../chunk-SBVIW3KJ.js";import"../../chunk-UMDQ6CLQ.js";import"../../chunk-VBEVZZTV.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-AJSDWWJW.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-YYD257TD.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";
@@ -1 +1 @@
1
- export{COLLAPSED_SECTIONS_KEY,DEFAULT_PANEL_W,PANEL_WIDTHS_KEY,clampPanelWidth,screenStorageKeys}from"../../chunk-Y53EKN35.js";export{MAX_PANEL_W,MIN_PANEL_W,MIN_PANEL_W_BY_SIDE,panelWidthVars}from"../../chunk-WYTPBF3Q.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-AJSDWWJW.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MFIRYGHW.js";
1
+ export{COLLAPSED_SECTIONS_KEY,DEFAULT_PANEL_W,PANEL_WIDTHS_KEY,clampPanelWidth,screenStorageKeys}from"../../chunk-6EDVZBUO.js";export{MAX_PANEL_W,MIN_PANEL_W,MIN_PANEL_W_BY_SIDE,panelWidthVars}from"../../chunk-VBEVZZTV.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-AJSDWWJW.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-YYD257TD.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";
@@ -1,31 +1,30 @@
1
1
  import { ScreenInspectorMode } from '../lib/screen-parts.js';
2
2
  import 'react';
3
+ import '../../CanvasDragLayer-DXeQGrwJ.js';
4
+ import '../../watch-Unf6SfUf.js';
5
+ import '../../types-Dq180WRV.js';
6
+ import '../../words-SD4neL0n.js';
7
+ import '../lib/section-template-types.js';
8
+ import '../lib/document/content-tree.js';
9
+ import '../lib/shared-section-types.js';
10
+ import '../lib/document/block-choice.js';
3
11
  import '../../blocks/index.js';
4
12
  import '../../types-BljCVdzR.js';
5
13
  import '../../data/index.js';
6
- import '../../types-Dq180WRV.js';
7
14
  import '../../resolve-Bz4mszpL.js';
8
15
  import '../../plan-D0DgSLnY.js';
9
- import '../../watch-Unf6SfUf.js';
10
16
  import '../../types-SrGNzYeO.js';
11
17
  import '../../types-Cy7rdmXt.js';
12
18
  import '../../wordFit-7XpmhcaW.js';
13
19
  import '../../edit-lock/index.js';
14
20
  import '../../panelWidths-DgQXiPXU.js';
15
- import '../../CanvasDragLayer-NZpaX6aq.js';
16
- import '../../session-EsjORLQ0.js';
17
- import '../../words-SD4neL0n.js';
21
+ import '../../copy-place-CQIemdtU.js';
18
22
  import '../../types-BbOBWXMP.js';
19
23
  import '../../style-clipboard/index.js';
20
24
  import '../../words-CnnHb9jo.js';
21
- import '../../types-DBy3L69b.js';
25
+ import '../../types-CoUTWUwB.js';
22
26
  import 'efficient-shell/ui';
23
27
  import '../../words-Cl9xMUYY.js';
24
- import './AddSidePanel.js';
25
- import '../lib/section-template-types.js';
26
- import '../lib/document/content-tree.js';
27
- import '../lib/shared-section-types.js';
28
- import '../lib/document/block-choice.js';
29
28
  import '../../ScreenDocumentContext-DPW_6gOC.js';
30
29
  import '../lib/document-contract.js';
31
30
  import '../lib/document-switch.js';
@@ -1 +1 @@
1
- export{usePartBridge}from"../../chunk-7RSE6KKY.js";import"../../chunk-OITNWE52.js";import"../../chunk-QORC32JO.js";import"../../chunk-NCXYC7WI.js";import"../../chunk-LX23TCTP.js";import"../../chunk-R4AUZVA3.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-FJTCSQWK.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-H4Z2V56N.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-YCSZAP7T.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-AGWKB77Q.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-RPMSET77.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-KRL3IUV3.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-CZAAGBVL.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-6NJHYXJM.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-YU3WHLGI.js";import"../../chunk-LF3FUSCQ.js";import"../../chunk-TGZCD6IP.js";import"../../chunk-KXM6YRG2.js";import"../../chunk-467WWV4I.js";import"../../chunk-TIAWIOGD.js";import"../../chunk-MGVI67QV.js";
1
+ export{usePartBridge}from"../../chunk-ZLOMH2PD.js";import"../../chunk-M4THI4OO.js";import"../../chunk-4OMAA45Q.js";import"../../chunk-NCXYC7WI.js";import"../../chunk-LX23TCTP.js";import"../../chunk-R4AUZVA3.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-53ME3GAI.js";import"../../chunk-LUG22U5L.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-U3LTJSBU.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-YCSZAP7T.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-K53PQAMP.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-QTHQPJWA.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-PMRN5Z3T.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-MIX7EGRG.js";import"../../chunk-DX3VILZ3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-3XECMGXX.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-EUFDQ4KL.js";import"../../chunk-KXM6YRG2.js";import"../../chunk-TOKMFZPB.js";import"../../chunk-FR7EEKFF.js";import"../../chunk-7UFKEX72.js";import"../../chunk-467WWV4I.js";import"../../chunk-TIAWIOGD.js";import"../../chunk-MGVI67QV.js";
@@ -1,6 +1,6 @@
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, ScreenBlockLook, ScreenBlockRules, ScreenBridges, ScreenCanvas, ScreenCanvasDrag, ScreenCanvasDragContext, ScreenCanvasHeadProps, ScreenCanvasTargetProvider, ScreenDevices, ScreenDocumentOps, ScreenDragItem, ScreenInspector, ScreenInspectorMode, ScreenInspectorPanelProps, ScreenLeftPanel, ScreenLeftView, ScreenLeftViewFrame, ScreenLeftViewRules, ScreenMainAction, ScreenMediaDrop, ScreenMediaFile, ScreenMenuItem, ScreenMenuRows, ScreenNewNode, ScreenNode, ScreenNodeActions, ScreenNodeAt, ScreenNodeLevel, ScreenNodeMaker, ScreenPartMode, ScreenParts, ScreenPartsProvider, ScreenPinnedBand, ScreenPinnedNodes, ScreenRailItem, ScreenSelector, ScreenSharedSections, ScreenSlot, ScreenSlotAction, ScreenSlotMode, ScreenStyleClipboard, ScreenStyleDocument, ScreenStylePastePlan, ScreenToastExtra, ScreenTree, ScreenTreeFolds, ScreenTreeRows, isPinnedFirst, isPinnedLast, isSelectionMode, isSlotMode, sameInspectorMode, screenSlotsOf, shownChildSlotsOf, shownSlotFieldsOf, 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';
3
+ export { CopyItemAction, CopyItemRequest, NodeDefaults, SELECTION_MODE, ScreenBlockLook, ScreenBlockRules, ScreenBridges, ScreenCanvas, ScreenCanvasDrag, ScreenCanvasDragContext, ScreenCanvasHeadProps, ScreenCanvasTargetProvider, ScreenDevices, ScreenDocumentOps, ScreenDragItem, ScreenInspector, ScreenInspectorMode, ScreenInspectorPanelProps, ScreenLeftPanel, ScreenLeftView, ScreenLeftViewFrame, ScreenLeftViewRules, ScreenMainAction, ScreenMediaDrop, ScreenMediaFile, ScreenMenuItem, ScreenMenuRows, ScreenNewNode, ScreenNode, ScreenNodeActions, ScreenNodeAt, ScreenNodeLevel, ScreenNodeMaker, ScreenPartMode, ScreenParts, ScreenPartsProvider, ScreenPinnedBand, ScreenPinnedNodes, ScreenRailItem, ScreenSelector, ScreenSharedSections, ScreenSlot, ScreenSlotAction, ScreenSlotMode, ScreenStyleClipboard, ScreenStyleDocument, ScreenStylePastePlan, ScreenToastExtra, ScreenTree, ScreenTreeFolds, ScreenTreeRows, isPinnedFirst, isPinnedLast, isSelectionMode, isSlotMode, sameInspectorMode, screenSlotsOf, shownChildSlotsOf, shownSlotFieldsOf, 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
6
  export { A as AnyDocumentAddressing, D as DETACHED_EASEL_HOST, a as DocumentAddressing, E as EaselBlockType, b as EaselFieldDescription, c as EaselHost, d as EaselHostAddress, e as EaselHostContext, f as EaselHostPanels, g as EaselHostProvider, h as EaselMessageType, i as EaselSelection, j as EaselToHostMessage, F as FIELD_DESCRIPTION_MARKER, H as HostPickedMedia, k as HostToEaselMessage, I as InboundHostMessage, N as NO_DOCUMENT_ADDRESSING, P as PageEditOp, l as PickedMediaSource, S as SectionScreenTarget, m as SendToHost, n as createEaselHost, o as describedAs, u as useEaselHost, p as useHostEscape } from '../ScreenDocumentContext-DPW_6gOC.js';
@@ -12,26 +12,25 @@ import '../data/index.js';
12
12
  import '../types-Dq180WRV.js';
13
13
  import '../resolve-Bz4mszpL.js';
14
14
  import '../plan-D0DgSLnY.js';
15
+ import '../CanvasDragLayer-DXeQGrwJ.js';
15
16
  import '../watch-Unf6SfUf.js';
17
+ import '../words-SD4neL0n.js';
18
+ import './lib/section-template-types.js';
19
+ import './lib/document/content-tree.js';
20
+ import './lib/shared-section-types.js';
21
+ import './lib/document/block-choice.js';
16
22
  import '../types-SrGNzYeO.js';
17
23
  import '../types-Cy7rdmXt.js';
18
24
  import '../wordFit-7XpmhcaW.js';
19
25
  import '../edit-lock/index.js';
20
26
  import '../panelWidths-DgQXiPXU.js';
21
- import '../CanvasDragLayer-NZpaX6aq.js';
22
- import '../session-EsjORLQ0.js';
23
- import '../words-SD4neL0n.js';
27
+ import '../copy-place-CQIemdtU.js';
24
28
  import '../types-BbOBWXMP.js';
25
29
  import '../style-clipboard/index.js';
26
30
  import '../words-CnnHb9jo.js';
27
- import '../types-DBy3L69b.js';
31
+ import '../types-CoUTWUwB.js';
28
32
  import 'efficient-shell/ui';
29
33
  import '../words-Cl9xMUYY.js';
30
- import './components/AddSidePanel.js';
31
- import './lib/section-template-types.js';
32
- import './lib/document/content-tree.js';
33
- import './lib/shared-section-types.js';
34
- import './lib/document/block-choice.js';
35
34
  import './lib/host-chrome.js';
36
35
  import './lib/links/link-filters.js';
37
36
  import './lib/document/add-target-types.js';
@@ -1 +1 @@
1
- import"../chunk-GZO72N3Q.js";export{DocumentScreen,ScreenMount}from"../chunk-JMAOCKB2.js";import"../chunk-GXQCZJOP.js";import"../chunk-UKPZ2YWE.js";import"../chunk-OXZDSOZV.js";import"../chunk-7OCEPOEJ.js";import"../chunk-DSKNJXB4.js";import"../chunk-UMBNBCL4.js";import"../chunk-5XL2RXFU.js";import"../chunk-2FYFAAAK.js";import"../chunk-22I55W37.js";import"../chunk-3QB2ZQXK.js";import"../chunk-DDH2DYQP.js";import"../chunk-75C6WFNF.js";import"../chunk-KCBEE2MC.js";import"../chunk-Y53EKN35.js";import"../chunk-7RSE6KKY.js";import"../chunk-OITNWE52.js";import"../chunk-55KKGABA.js";import"../chunk-RKTF5XLP.js";export{ScreenStoreProvider}from"../chunk-4ESG53BH.js";import"../chunk-5545A3PC.js";import"../chunk-CMPFUJ26.js";import"../chunk-VKPOH6MK.js";import"../chunk-IZGFJWH4.js";import"../chunk-N7E6264U.js";import"../chunk-N3MJOHAG.js";import"../chunk-5PXVT7JY.js";import"../chunk-UMDQ6CLQ.js";import"../chunk-RUQOIQWI.js";export{SELECTION_MODE,ScreenCanvasTargetProvider,ScreenPartsProvider,isPinnedFirst,isPinnedLast,isSelectionMode,isSlotMode,sameInspectorMode,screenSlotsOf,shownChildSlotsOf,shownSlotFieldsOf,useScreenBlockLook,useScreenBlockRules,useScreenBridges,useScreenCanvasDrag,useScreenCanvasFrame,useScreenCanvasHead,useScreenCanvasTarget,useScreenDevices,useScreenDocumentLabel,useScreenDocumentPass,useScreenInspectorPanel,useScreenLeftView,useScreenNodeKeys,useScreenNotify,useScreenOwnerName,useScreenParts,useScreenPickFollowsSelection,useScreenPinned,useScreenSaveSwitch,useScreenStorageNamespace,useScreenStyleClipboard,useStandaloneScreenBridges}from"../chunk-QORC32JO.js";import"../chunk-T2RINM7R.js";import"../chunk-G7ISR6DI.js";import"../chunk-FRAIEWRC.js";import"../chunk-K7MMLCTT.js";import"../chunk-ISS72IKO.js";import"../chunk-ERR437B5.js";import"../chunk-3FIS2FRS.js";import"../chunk-GMCZXMOV.js";export{NO_DOCUMENT_ADDRESSING}from"../chunk-RLBXE4EU.js";import"../chunk-HNKB2ZYR.js";import"../chunk-CLOS6SSX.js";import"../chunk-NQW6XCAY.js";import"../chunk-LOMEH6DG.js";import"../chunk-KCOBHPN6.js";import"../chunk-NCXYC7WI.js";export{EaselSessionProvider,useEaselSession}from"../chunk-YM4UEGBV.js";export{EFFICIENT_BACKEND,activateEaselSession,backendOf,createEaselSession,currentEaselSession,deactivateEaselSession,efficientClientOpen,isEfficientBackend,provideDefaultBackend,resetAmbientEaselSession,sessionRegistry,setSessionBridgedSite,setSessionDocumentSite}from"../chunk-SNF5764Q.js";export{DETACHED_EASEL_HOST,EaselHostContext,EaselHostProvider,FIELD_DESCRIPTION_MARKER,createEaselHost,describedAs,useEaselHost,useHostEscape}from"../chunk-LX23TCTP.js";import"../chunk-XFYFKITX.js";import"../chunk-IYHO4XQX.js";import"../chunk-V7U33NF2.js";import"../chunk-6WY6ZXJG.js";import"../chunk-5NHQ452C.js";import"../chunk-6UAEFOJ4.js";import"../chunk-AJ2SUSET.js";import"../chunk-ANPOR6EY.js";import"../chunk-R4AUZVA3.js";import"../chunk-TCAAOYQY.js";import"../chunk-FJTCSQWK.js";import"../chunk-TBY3DFKS.js";import"../chunk-H4Z2V56N.js";import"../chunk-BPXEFVSQ.js";import"../chunk-YCSZAP7T.js";import"../chunk-WHS6Y55E.js";import"../chunk-K56YDHYQ.js";import"../chunk-ZEH6QLBH.js";import"../chunk-AGWKB77Q.js";import"../chunk-ZKY45F5G.js";import"../chunk-FIVU2COQ.js";import"../chunk-P5VYGWYO.js";import"../chunk-WK3AFPXY.js";import"../chunk-RPMSET77.js";import"../chunk-FM6JO4WF.js";import"../chunk-KFV7N2DJ.js";import"../chunk-NDRZP6YR.js";import"../chunk-H6DDIBQ4.js";import"../chunk-HZSZT3BE.js";import"../chunk-KRL3IUV3.js";import"../chunk-Y2T3JX7K.js";import"../chunk-KFWNGPW3.js";import"../chunk-JACEEVVF.js";import"../chunk-CZAAGBVL.js";import"../chunk-WYTPBF3Q.js";import"../chunk-MJM6SFD3.js";import"../chunk-AJSDWWJW.js";import"../chunk-2OAZYSWJ.js";import"../chunk-THWO5YVZ.js";import"../chunk-RE4LP46F.js";import"../chunk-MFIRYGHW.js";import"../chunk-LN43DP2A.js";import"../chunk-TQ5Y6S2X.js";import"../chunk-6NJHYXJM.js";import"../chunk-P2VEMZH5.js";import"../chunk-YU3WHLGI.js";import"../chunk-LF3FUSCQ.js";import"../chunk-TGZCD6IP.js";import"../chunk-KXM6YRG2.js";import"../chunk-BSPCSC45.js";import"../chunk-467WWV4I.js";import"../chunk-TIAWIOGD.js";import"../chunk-MGVI67QV.js";
1
+ import"../chunk-GZO72N3Q.js";export{DocumentScreen,ScreenMount}from"../chunk-ZYOQXBJF.js";import"../chunk-GXQCZJOP.js";export{ScreenStoreProvider}from"../chunk-YFHKE54W.js";import"../chunk-KTV7ORWF.js";import"../chunk-UMBNBCL4.js";import"../chunk-OXZDSOZV.js";import"../chunk-7OCEPOEJ.js";import"../chunk-H6BER2EU.js";import"../chunk-3QB2ZQXK.js";import"../chunk-5XL2RXFU.js";import"../chunk-OXOUGEAT.js";import"../chunk-22I55W37.js";import"../chunk-LUOY3A3Q.js";import"../chunk-FYV6GZXP.js";import"../chunk-KCBEE2MC.js";import"../chunk-6EDVZBUO.js";import"../chunk-ZLOMH2PD.js";import"../chunk-M4THI4OO.js";import"../chunk-62UGN7VM.js";import"../chunk-PVBDKBJB.js";import"../chunk-RKTF5XLP.js";import"../chunk-ERB6FAZT.js";import"../chunk-QZJKWKGH.js";import"../chunk-ERR437B5.js";import"../chunk-JIP5JNRB.js";import"../chunk-GR3XRILS.js";export{NO_DOCUMENT_ADDRESSING}from"../chunk-RLBXE4EU.js";import"../chunk-6ATIYLUL.js";import"../chunk-KO47WAWR.js";import"../chunk-NQW6XCAY.js";import"../chunk-LOMEH6DG.js";import"../chunk-5545A3PC.js";import"../chunk-VIUES5R6.js";import"../chunk-GDO4QJ4G.js";import"../chunk-IZGFJWH4.js";import"../chunk-N7E6264U.js";import"../chunk-N3MJOHAG.js";import"../chunk-SBVIW3KJ.js";import"../chunk-UMDQ6CLQ.js";import"../chunk-KCOBHPN6.js";import"../chunk-RUQOIQWI.js";export{SELECTION_MODE,ScreenCanvasTargetProvider,ScreenPartsProvider,isPinnedFirst,isPinnedLast,isSelectionMode,isSlotMode,sameInspectorMode,screenSlotsOf,shownChildSlotsOf,shownSlotFieldsOf,useScreenBlockLook,useScreenBlockRules,useScreenBridges,useScreenCanvasDrag,useScreenCanvasFrame,useScreenCanvasHead,useScreenCanvasTarget,useScreenDevices,useScreenDocumentLabel,useScreenDocumentPass,useScreenInspectorPanel,useScreenLeftView,useScreenNodeKeys,useScreenNotify,useScreenOwnerName,useScreenParts,useScreenPickFollowsSelection,useScreenPinned,useScreenSaveSwitch,useScreenStorageNamespace,useScreenStyleClipboard,useStandaloneScreenBridges}from"../chunk-4OMAA45Q.js";import"../chunk-T2RINM7R.js";import"../chunk-NCXYC7WI.js";import"../chunk-GEPSJJWW.js";export{EaselSessionProvider,useEaselSession}from"../chunk-YM4UEGBV.js";export{EFFICIENT_BACKEND,activateEaselSession,backendOf,createEaselSession,currentEaselSession,deactivateEaselSession,efficientClientOpen,isEfficientBackend,provideDefaultBackend,resetAmbientEaselSession,sessionRegistry,setSessionBridgedSite,setSessionDocumentSite}from"../chunk-SNF5764Q.js";export{DETACHED_EASEL_HOST,EaselHostContext,EaselHostProvider,FIELD_DESCRIPTION_MARKER,createEaselHost,describedAs,useEaselHost,useHostEscape}from"../chunk-LX23TCTP.js";import"../chunk-XFYFKITX.js";import"../chunk-S6YOIRXQ.js";import"../chunk-CWELHADJ.js";import"../chunk-6WY6ZXJG.js";import"../chunk-AJ2SUSET.js";import"../chunk-5NHQ452C.js";import"../chunk-6UAEFOJ4.js";import"../chunk-ANPOR6EY.js";import"../chunk-R4AUZVA3.js";import"../chunk-TCAAOYQY.js";import"../chunk-53ME3GAI.js";import"../chunk-LUG22U5L.js";import"../chunk-TBY3DFKS.js";import"../chunk-U3LTJSBU.js";import"../chunk-BPXEFVSQ.js";import"../chunk-YCSZAP7T.js";import"../chunk-ZEH6QLBH.js";import"../chunk-WHS6Y55E.js";import"../chunk-FM6JO4WF.js";import"../chunk-K56YDHYQ.js";import"../chunk-KFV7N2DJ.js";import"../chunk-K53PQAMP.js";import"../chunk-ZKY45F5G.js";import"../chunk-FIVU2COQ.js";import"../chunk-P5VYGWYO.js";import"../chunk-WK3AFPXY.js";import"../chunk-QTHQPJWA.js";import"../chunk-NDRZP6YR.js";import"../chunk-H6DDIBQ4.js";import"../chunk-VBEVZZTV.js";import"../chunk-MJM6SFD3.js";import"../chunk-AJSDWWJW.js";import"../chunk-2OAZYSWJ.js";import"../chunk-YYD257TD.js";import"../chunk-RE4LP46F.js";import"../chunk-HZSZT3BE.js";import"../chunk-PMRN5Z3T.js";import"../chunk-Y2T3JX7K.js";import"../chunk-KFWNGPW3.js";import"../chunk-MIX7EGRG.js";import"../chunk-DX3VILZ3.js";import"../chunk-JACEEVVF.js";import"../chunk-MFIRYGHW.js";import"../chunk-MBEUSPIN.js";import"../chunk-TQ5Y6S2X.js";import"../chunk-3XECMGXX.js";import"../chunk-P2VEMZH5.js";import"../chunk-EUFDQ4KL.js";import"../chunk-KXM6YRG2.js";import"../chunk-TOKMFZPB.js";import"../chunk-FR7EEKFF.js";import"../chunk-7UFKEX72.js";import"../chunk-BSPCSC45.js";import"../chunk-467WWV4I.js";import"../chunk-TIAWIOGD.js";import"../chunk-MGVI67QV.js";
@@ -0,0 +1,55 @@
1
+ type BlockSetSide = 'email' | 'website';
2
+ /** What one editor tells a block's set. */
3
+ interface BlockSetHost {
4
+ editor: BlockSetSide;
5
+ /** Set key → the key this editor stores the value under. The row keeps its
6
+ * place; saved documents keep their keys, so nothing is migrated. Only for
7
+ * a row that stores ONE value under its own key (Gap): a row that writes
8
+ * fixed keys from its own builder (padding, nudge) takes its keys from the
9
+ * builder's options instead. */
10
+ keys?: Readonly<Record<string, string>>;
11
+ /** Set key → why this editor cannot draw the row (`email: no hover in a
12
+ * mail client`). The ONLY allowed one-side row. */
13
+ off?: Readonly<Record<string, string>>;
14
+ }
15
+ type FieldMap = Readonly<Record<string, unknown>>;
16
+ /** The keys of a set's rows, headings left out. */
17
+ declare function blockSetRowKeys(set: FieldMap): string[];
18
+ /**
19
+ * The set as one editor draws it: its off rows dropped, its stored keys
20
+ * renamed in place, and a heading with no row left under it dropped. Throws on
21
+ * an off row with no reason, on an off or renamed key the set does not have (a
22
+ * stale host entry hides a real difference), on a row both off and renamed,
23
+ * and on a new key another row already has (one row would overwrite another).
24
+ */
25
+ declare function blockSetFor<S extends FieldMap>(set: S, host: BlockSetHost): Record<string, S[keyof S]>;
26
+ /** One block kind, built from one set by two hosts. */
27
+ interface BlockSetPair {
28
+ /** The rows, with every host option that changes values (not rows) left to
29
+ * the editor's own call of the same builder. */
30
+ build: () => FieldMap;
31
+ email: BlockSetHost;
32
+ website: BlockSetHost;
33
+ }
34
+ /** A row only one editor draws, and the reason that editor's host gives. */
35
+ interface BlockSetDifference {
36
+ row: string;
37
+ only: BlockSetSide;
38
+ reason: string;
39
+ }
40
+ /** The rows one editor draws and the other does not, by SET key. Builds the
41
+ * set through both hosts first, so a stale host entry throws here too. */
42
+ declare function blockSetDifferences(pair: BlockSetPair): BlockSetDifference[];
43
+ /** The block kinds both editors have (the plan's pairing by what a merchant
44
+ * does). */
45
+ declare const BLOCK_KINDS: readonly ["button", "image", "box", "divider", "logo", "text", "section", "social"];
46
+ type BlockKind = (typeof BLOCK_KINDS)[number];
47
+ /** The pairs whose set is in easel, with each editor's host. A pair still
48
+ * listed in {@link BLOCK_SETS_STILL_TWO_COPIES} is not yet imported by both. */
49
+ declare const BLOCK_SET_PAIRS: Partial<Record<BlockKind, BlockSetPair>>;
50
+ /** The kinds whose rows are still built in two places, and why. Only ever
51
+ * shrinks: the PR after which both editors import the kind's easel set
52
+ * deletes its entry. */
53
+ declare const BLOCK_SETS_STILL_TWO_COPIES: Readonly<Partial<Record<BlockKind, string>>>;
54
+
55
+ export { BLOCK_KINDS, BLOCK_SETS_STILL_TWO_COPIES, BLOCK_SET_PAIRS, type BlockKind, type BlockSetDifference, type BlockSetHost, type BlockSetPair, type BlockSetSide, blockSetDifferences, blockSetFor, blockSetRowKeys };
@@ -0,0 +1 @@
1
+ import{boxFieldSet as o}from"../../../chunk-SSDKT4AY.js";import"../../../chunk-SC6E3UUS.js";import"../../../chunk-OXOUGEAT.js";import"../../../chunk-22I55W37.js";import"../../../chunk-LX23TCTP.js";import"../../../chunk-S6YOIRXQ.js";import"../../../chunk-CWELHADJ.js";import"../../../chunk-6WY6ZXJG.js";import{phoneKey as e}from"../../../chunk-E52W3M5I.js";import{foldMetaOf as t}from"../../../chunk-ANPOR6EY.js";import"../../../chunk-53ME3GAI.js";import"../../../chunk-LUG22U5L.js";import"../../../chunk-TBY3DFKS.js";import"../../../chunk-YCSZAP7T.js";import"../../../chunk-FM6JO4WF.js";import"../../../chunk-KFV7N2DJ.js";import"../../../chunk-K53PQAMP.js";import"../../../chunk-QTHQPJWA.js";import"../../../chunk-OECWLNKJ.js";import"../../../chunk-HZSZT3BE.js";import"../../../chunk-PMRN5Z3T.js";import"../../../chunk-KFWNGPW3.js";import"../../../chunk-MIX7EGRG.js";import"../../../chunk-DX3VILZ3.js";import"../../../chunk-JACEEVVF.js";import"../../../chunk-MFIRYGHW.js";import"../../../chunk-EUFDQ4KL.js";import"../../../chunk-KXM6YRG2.js";import"../../../chunk-TOKMFZPB.js";import"../../../chunk-FR7EEKFF.js";import"../../../chunk-7UFKEX72.js";import"../../../chunk-BSPCSC45.js";function n(o){return Object.keys(o).filter(e=>{return n=o[e],!(null!==t(n));var n})}function s(o,e){const n=e.off??{},s=e.keys??{};for(const[o,e]of Object.entries(n))if(!e.trim())throw new Error(`blockSetFor: off row "${o}" needs a reason.`);for(const e of[...Object.keys(n),...Object.keys(s)]){if(!Object.hasOwn(o,e))throw new Error(`blockSetFor: the set has no row "${e}".`);if(Object.hasOwn(n,e)&&Object.hasOwn(s,e))throw new Error(`blockSetFor: row "${e}" is both off and renamed.`)}const r={};let i=[];for(const[e,c]of Object.entries(o)){const a=t(c);if(a){i=i.filter(([,o])=>t(o).level<a.level),i.push([e,c]);continue}if(Object.hasOwn(n,e))continue;for(const[o,e]of i)r[o]=e;i=[];const h=Object.hasOwn(s,e)?s[e]:e;if(Object.hasOwn(r,h)||h!==e&&Object.hasOwn(o,h))throw new Error(`blockSetFor: renamed key "${h}" is already a row.`);r[h]=c}return r}function r(o){const e=o.build();s(e,o.email),s(e,o.website);const t=n(e),r=o=>new Set(Object.keys(o.off??{})),i=r(o.email),c=r(o.website),a=[];for(const e of t)i.has(e)&&!c.has(e)&&a.push({row:e,only:"website",reason:o.email.off[e]}),c.has(e)&&!i.has(e)&&a.push({row:e,only:"email",reason:o.website.off[e]});return a}var i=["button","image","box","divider","logo","text","section","social"],c={box:{build:()=>o(),email:{editor:"email",keys:{gap:"itemGap"},off:Object.fromEntries(["sectionPaddingTop","sectionPaddingRight","sectionPaddingBottom","sectionPaddingLeft"].map(o=>[e(o),"email: a Banner Box draws in the desktop view only (admin inBannerFields)"]))},website:{editor:"website"}}},a={button:"no easel set yet (plan group 1)",image:"no easel set yet (plan group 2)",box:"the set is in easel and the email Banner Box imports it; the website Flex builds its own rows (plan group 3)",divider:"no easel set yet (plan group 4)",logo:"no easel set yet (plan group 5)",text:"no easel set yet (plan group 6)",section:"no easel set yet (plan group 7)",social:"no easel set yet (plan group 7)"};export{i as BLOCK_KINDS,a as BLOCK_SETS_STILL_TWO_COPIES,c as BLOCK_SET_PAIRS,r as blockSetDifferences,s as blockSetFor,n as blockSetRowKeys};
@@ -1 +1 @@
1
- export{blockTypesIn}from"../../../chunk-IZGFJWH4.js";import"../../../chunk-TGZCD6IP.js";import"../../../chunk-KXM6YRG2.js";
1
+ export{blockTypesIn}from"../../../chunk-IZGFJWH4.js";import"../../../chunk-EUFDQ4KL.js";import"../../../chunk-KXM6YRG2.js";
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import { ReactElement, ReactNode } from 'react';
3
3
  import { ShowWhenRule } from 'efficient-shell/format';
4
- import { PositionValue, SidesValue } from 'efficient-shell/ui';
4
+ import { TextAlign, PositionValue, SidesValue } from 'efficient-shell/ui';
5
5
  export { F as FIELD_DESCRIPTION_MARKER, o as describedAs } from '../../../ScreenDocumentContext-DPW_6gOC.js';
6
6
  import '../../../blocks/index.js';
7
7
  import '../../../types-BljCVdzR.js';
@@ -152,7 +152,7 @@ type BoxPlacement = (typeof BOX_PLACEMENTS)[number];
152
152
  /** Where an absent stored value puts a Box: where the copy already sits. */
153
153
  declare const BOX_PLACEMENT_DEFAULT: BoxPlacement;
154
154
  /** What each anchor is CALLED in the panel. */
155
- declare const BOX_PLACEMENT_LABELS: Readonly<Record<BoxPlacement, string>>;
155
+ declare const ANCHOR_LABELS: Readonly<Record<BoxPlacement, string>>;
156
156
  /** One square of the grid: shut, with the reason, when it cannot be picked. */
157
157
  type PlacementPoint = {
158
158
  value: string;
@@ -274,6 +274,37 @@ interface BoxFieldSetOptions {
274
274
  };
275
275
  padding?: SidesPaddingOptions;
276
276
  }
277
+ /** What a host says about an Alignment row: which answers it can honour (the
278
+ * shell's closed list; Justify only when named) and, rarely, its own label. */
279
+ interface AlignmentOptions {
280
+ allow?: readonly TextAlign[];
281
+ label?: string;
282
+ /** What the desktop row rests on when nothing is stored. Left, unless the
283
+ * block has always drawn another (the Title with buttons' buttons: right). */
284
+ fallback?: TextAlign;
285
+ /** The word of a first answer that means "no choice of my own" (value
286
+ * empty), for a block that follows its parent: `Inherit`. It is a word, not
287
+ * a direction, so it draws no glyph; the shell's list has none (`inherit` is
288
+ * the absence of an answer). */
289
+ inherit?: string;
290
+ /** This is the phone's row: its first answer is Match desktop, drawn as the
291
+ * desktop glyph (a word does not fit a 288px strip beside the other glyphs)
292
+ * and named by the word. It takes the place of `inherit` when both are set. */
293
+ phone?: boolean;
294
+ }
295
+ /** What a host says about a Block alignment row: where the block sits in its
296
+ * parent. Always Left / Center / Right (the three places a block can stand). */
297
+ interface BlockAlignmentOptions {
298
+ /** The places the host can honour; Left, Center and Right unless it names fewer. */
299
+ allow?: readonly TextAlign[];
300
+ label?: string;
301
+ /** What the desktop row rests on when nothing is stored. */
302
+ fallback?: TextAlign;
303
+ /** The word of a first answer that means "no choice of my own" (value empty). */
304
+ inherit?: string;
305
+ /** This is the phone's row: its first answer is Match desktop, as a glyph. */
306
+ phone?: boolean;
307
+ }
277
308
  /**
278
309
  * The segmented strip: easel's `SettingsSegmented`, with an option's `value`
279
310
  * as the strip's `id`. An option that IS a shape passes its `picture`, and the
@@ -337,6 +368,24 @@ declare function boxFieldBuilders(say?: BoxFieldSay): {
337
368
  PlacementGridView: (props: Parameters<typeof placementGridView>[1]) => react.JSX.Element;
338
369
  positionFields: (o: PositionOptions) => Record<string, BoxField<number>>;
339
370
  sidesPaddingFields: (opts?: SidesPaddingOptions) => Record<string, BoxField<undefined> | BoxField<number>>;
371
+ alignmentField: (opts?: AlignmentOptions, fallback?: string) => BoxField<string>;
372
+ alignmentFields: (key?: string, opts?: AlignmentOptions) => Record<string, BoxField<string>>;
373
+ AlignmentStrip: ({ opts, value, onChange, ariaLabel, disabled, }: {
374
+ opts?: AlignmentOptions;
375
+ value: string;
376
+ onChange: (next: string) => void;
377
+ ariaLabel: string;
378
+ disabled?: boolean;
379
+ }) => react.JSX.Element;
380
+ blockAlignmentField: (opts?: BlockAlignmentOptions, fallback?: string) => BoxField<string>;
381
+ blockAlignmentFields: (key?: string, opts?: BlockAlignmentOptions) => Record<string, BoxField<string>>;
382
+ BlockAlignmentStrip: ({ opts, value, onChange, ariaLabel, disabled, }: {
383
+ opts?: BlockAlignmentOptions;
384
+ value: string;
385
+ onChange: (next: string) => void;
386
+ ariaLabel: string;
387
+ disabled?: boolean;
388
+ }) => react.JSX.Element;
340
389
  boxFieldSet: (opts?: BoxFieldSetOptions) => {
341
390
  _gLayout: BoxField<undefined>;
342
391
  placement: BoxField<string>;
@@ -374,6 +423,24 @@ declare const placementField: (label: string, { fallback, pointsFor }?: Placemen
374
423
  declare const PlacementGridView: (props: Parameters<typeof placementGridView>[1]) => react.JSX.Element;
375
424
  declare const positionFields: (o: PositionOptions) => Record<string, BoxField<number>>;
376
425
  declare const sidesPaddingFields: (opts?: SidesPaddingOptions) => Record<string, BoxField<undefined> | BoxField<number>>;
426
+ declare const alignmentField: (opts?: AlignmentOptions, fallback?: string) => BoxField<string>;
427
+ declare const alignmentFields: (key?: string, opts?: AlignmentOptions) => Record<string, BoxField<string>>;
428
+ declare const AlignmentStrip: ({ opts, value, onChange, ariaLabel, disabled, }: {
429
+ opts?: AlignmentOptions;
430
+ value: string;
431
+ onChange: (next: string) => void;
432
+ ariaLabel: string;
433
+ disabled?: boolean;
434
+ }) => react.JSX.Element;
435
+ declare const blockAlignmentField: (opts?: BlockAlignmentOptions, fallback?: string) => BoxField<string>;
436
+ declare const blockAlignmentFields: (key?: string, opts?: BlockAlignmentOptions) => Record<string, BoxField<string>>;
437
+ declare const BlockAlignmentStrip: ({ opts, value, onChange, ariaLabel, disabled, }: {
438
+ opts?: BlockAlignmentOptions;
439
+ value: string;
440
+ onChange: (next: string) => void;
441
+ ariaLabel: string;
442
+ disabled?: boolean;
443
+ }) => react.JSX.Element;
377
444
  declare const boxFieldSet: (opts?: BoxFieldSetOptions) => {
378
445
  _gLayout: BoxField<undefined>;
379
446
  placement: BoxField<string>;
@@ -386,4 +453,4 @@ declare const boxFieldSet: (opts?: BoxFieldSetOptions) => {
386
453
  _gNudge: BoxField<undefined>;
387
454
  };
388
455
 
389
- export { BOX_ALIGN_POINTS, BOX_DIRECTIONS, BOX_DIRECTION_LABEL, BOX_GAP, BOX_JUSTIFY_POINTS, BOX_NUDGE_LIMIT, BOX_PLACEMENTS, BOX_PLACEMENT_DEFAULT, BOX_PLACEMENT_LABELS, BOX_WIDTH, BOX_WRAP_LABEL, BOX_WRAP_POINTS, type BoxAlign, type BoxField, type BoxFieldRenderProps, type BoxFieldSay, type BoxFieldSetOptions, type BoxFlexRowOptions, type BoxJustify, type BoxPlacement, type BoxWrap, type DirectionFieldOptions, type GapFieldOptions, OPEN_PLACEMENT_POINTS, type PlacementFieldOptions, PlacementGridView, type PlacementPoint, type PositionOptions, SIDE_PAD_KEYS, Segmented, type SelectField, type SelectOption, type SidesPaddingOptions, boxAlignField, boxFieldBuilders, boxFieldSet, boxJustifyField, boxWrapField, directionField, gapField, group, iconOf, isNoGlyph, noGlyph, normaliseBoxPlacement, placementField, positionFields, positionPatch, section, segmented, select, sharedStyleKinds, sidesPaddingFields, sidesPaddingPatch, slider };
456
+ export { ANCHOR_LABELS, type AlignmentOptions, AlignmentStrip, BOX_ALIGN_POINTS, BOX_DIRECTIONS, BOX_DIRECTION_LABEL, BOX_GAP, BOX_JUSTIFY_POINTS, BOX_NUDGE_LIMIT, BOX_PLACEMENTS, BOX_PLACEMENT_DEFAULT, BOX_WIDTH, BOX_WRAP_LABEL, BOX_WRAP_POINTS, type BlockAlignmentOptions, BlockAlignmentStrip, type BoxAlign, type BoxField, type BoxFieldRenderProps, type BoxFieldSay, type BoxFieldSetOptions, type BoxFlexRowOptions, type BoxJustify, type BoxPlacement, type BoxWrap, type DirectionFieldOptions, type GapFieldOptions, OPEN_PLACEMENT_POINTS, type PlacementFieldOptions, PlacementGridView, type PlacementPoint, type PositionOptions, SIDE_PAD_KEYS, Segmented, type SelectField, type SelectOption, type SidesPaddingOptions, alignmentField, alignmentFields, blockAlignmentField, blockAlignmentFields, boxAlignField, boxFieldBuilders, boxFieldSet, boxJustifyField, boxWrapField, directionField, gapField, group, iconOf, isNoGlyph, noGlyph, normaliseBoxPlacement, placementField, positionFields, positionPatch, section, segmented, select, sharedStyleKinds, sidesPaddingFields, sidesPaddingPatch, slider };
@@ -1,9 +1 @@
1
- import{deviceField as e}from"../../../chunk-2FYFAAAK.js";import{noControlField as t,NoControlMark as n}from"../../../chunk-22I55W37.js";import{describedAs as o}from"../../../chunk-LX23TCTP.js";export{FIELD_DESCRIPTION_MARKER,describedAs}from"../../../chunk-LX23TCTP.js";import"../../../chunk-IYHO4XQX.js";import{withStyleKind as l}from"../../../chunk-V7U33NF2.js";import"../../../chunk-6WY6ZXJG.js";import{phoneKey as a}from"../../../chunk-E52W3M5I.js";import{foldMetaOf as i,FOLD_FIELD_MARKER as r}from"../../../chunk-ANPOR6EY.js";import{useEasel as s,useSelectedFields as u}from"../../../chunk-FJTCSQWK.js";import"../../../chunk-TBY3DFKS.js";import"../../../chunk-YCSZAP7T.js";import"../../../chunk-AGWKB77Q.js";import"../../../chunk-RPMSET77.js";import{SettingsDefaultReset as c,sidesStartEach as d,SidesInput as p,SidesEachToggle as m}from"../../../chunk-TOHOGVAE.js";import"../../../chunk-FM6JO4WF.js";import{DEFAULT_PANEL_WORDS as b}from"../../../chunk-KFV7N2DJ.js";import"../../../chunk-HZSZT3BE.js";import"../../../chunk-KRL3IUV3.js";import{FieldSelect as f}from"../../../chunk-KFWNGPW3.js";import"../../../chunk-JACEEVVF.js";import{SettingsSwitch as h}from"../../../chunk-OECWLNKJ.js";import{SettingsField as g,SettingsSegmented as v}from"../../../chunk-CZAAGBVL.js";import{useWords as y}from"../../../chunk-MFIRYGHW.js";import"../../../chunk-YU3WHLGI.js";import"../../../chunk-LF3FUSCQ.js";import"../../../chunk-TGZCD6IP.js";import"../../../chunk-KXM6YRG2.js";import"../../../chunk-BSPCSC45.js";import{useState as k}from"react";import{BoxJustifyIcon as C,WrapIcon as j,GapIcon as x,WidthIcon as F,PlacementIcon as w,NudgeIcon as P,PaddingAllIcon as S,BoxYBetweenIcon as E,BoxYStretchIcon as L,BoxYEndIcon as I,BoxYCenterIcon as O,BoxYStartIcon as T,BoxXBetweenIcon as W,BoxXStretchIcon as K,BoxXEndIcon as A,BoxXCenterIcon as G,BoxXStartIcon as R,BoxItemAlignmentIcon as B}from"efficient-shell/icons/efficient";import{Slider as N,AlignmentGrid as V,PositionInput as Y}from"efficient-shell/ui";import{jsx as J,Fragment as M,jsxs as D}from"react/jsx-runtime";var X=e=>e;function Z(){return null}function H(e){if(!e.trim())throw new Error("noGlyph() needs a reason naming the ruling that decided it.");/* @__PURE__ */
2
- return J(Z,{},e)}function U(e){return e.type===Z}function _(e){return U(e)?void 0:e}function Q(e){for(const[t,n]of Object.entries(e))n&&"object"==typeof n&&!i(n)&&l(n,`section:${t}`);return e}function z(e,t){return{type:"custom",[r]:{label:e,level:t},marker:!0,fold:e,render:()=>/* @__PURE__ */J(M,{})}}function $(e){return z(e,2)}function q(e){return z(e,1)}var ee=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"Space between",value:"between"},{label:"End",value:"end"}],te=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"},{label:"Stretch",value:"stretch"}],ne="Wrap",oe=[{label:"Wrap",value:"wrap"},{label:"No wrap",value:"nowrap"}],le="Direction",ae=[{label:"Stacked",value:"column"},{label:"One row",value:"row"}],ie={min:-32,max:64,step:2,builtIn:0},re={min:30,max:100,step:5,fallback:60},se=["top-left","top-center","top-right","left","center","right","bottom-left","bottom-center","bottom-right"],ue="bottom-left",ce={"top-left":"Top left","top-center":"Top center","top-right":"Top right",left:"Left",center:"Center",right:"Right","bottom-left":"Bottom left","bottom-center":"Bottom center","bottom-right":"Bottom right"},de=se.map(e=>({value:e,label:ce[e]}));function pe(e,t=ue){return se.includes(e)?e:t}var me=40,be=e=>"number"==typeof e?e:null;function fe(e,t,n){const o={};for(const l of["x","y"])n[l]!==t[l]&&(o[e[l]]=n[l]??void 0);return o}var he=["top","right","bottom","left"],ge={top:"sectionPaddingTop",right:"sectionPaddingRight",bottom:"sectionPaddingBottom",left:"sectionPaddingLeft"},ve=e=>"number"==typeof e?e:null;function ye(e,t,n){const o={};for(const l of he)n[l]!==t[l]&&(o[e[l]]=n[l]??void 0);return o}function ke(e,{options:t,value:n,onChange:o,ariaLabel:l,disabled:a=!1}){/* @__PURE__ */
3
- return J(v,{options:t.map(t=>t.picture?{id:t.value,label:t.picture,title:e(t.title??t.label)}:{id:t.value,label:e(t.label),title:void 0===t.title?void 0:e(t.title)}),value:n,onChange:o,ariaLabel:e(l),disabled:a})}function Ce(e,{label:t,value:n,onChange:o,points:l}){const a=l.find(e=>e.disabled),i=l.map(t=>({...t,label:e(t.label),...t.title?{title:e(t.title)}:null}));/* @__PURE__ */
4
- return J(g,{label:e(t),icon:/* @__PURE__ */J(w,{}),hint:a?.title?e(a.title):void 0,children:/* @__PURE__ */J(V,{label:e(t),value:n,points:i,onChange:o})})}function je({say:e,label:t,value:n,onChange:o,pointsFor:l}){const{appState:a,selectedItem:i}=s(e=>e),r=i?.props?.id?String(i.props.id):void 0;return Ce(e,{label:t,value:n,onChange:o,points:l(a?.data,r)})}function xe(){try{return u()}catch{return null}}function Fe({say:e,o:t}){const n=xe(),o=y("panel",b),l=n?.values??{},a={x:be(l[t.keys.x]),y:be(l[t.keys.y])},i=e(t.label??"Position"),r=Boolean(a.x||a.y),s=e=>{const o=fe(t.keys,a,e);Object.keys(o).length&&n?.onChangeMany(o)},u=/* @__PURE__ */J(Y,{label:i,value:a,onChange:s,words:{x:e("Left and right"),y:e("Up and down"),unit:"px"},placeholder:{x:"0",y:"0"},min:t.min,max:t.max,step:t.step??1}),d=/* @__PURE__ */J(c,{words:o,label:i,changed:r,detail:"0 px, 0 px",onReset:()=>s({x:null,y:null})});return null===t.label?/* @__PURE__ */D("div",{className:"sf-position-line",children:[u,d]}):/* @__PURE__ */J(g,{label:i,icon:/* @__PURE__ */J(P,{}),changed:r,action:d,children:u})}var we={x:{start:/* @__PURE__ */J(R,{}),center:/* @__PURE__ */J(G,{}),end:/* @__PURE__ */J(A,{}),stretch:/* @__PURE__ */J(K,{}),between:/* @__PURE__ */J(W,{})},y:{start:/* @__PURE__ */J(T,{}),center:/* @__PURE__ */J(O,{}),end:/* @__PURE__ */J(I,{}),stretch:/* @__PURE__ */J(L,{}),between:/* @__PURE__ */J(E,{})}},Pe=e=>"row"===e?"row":"column";function Se({say:e,kind:t,label:n,options:o,value:l,onChange:a,o:i}){const r=xe(),s="justify"===t==("row"===(i.runs??Pe)(r?.values?.[i.directionKey??"direction"]))?"x":"y";return ke(e,{options:o.map(e=>({label:e.label,value:e.value,picture:we[s][e.value]})),value:l,onChange:a,ariaLabel:n})}function Ee({say:e,tier:t,o:n}){const o=xe(),l=o?.values??{},a="mobile"===t?n.phoneKeys:n.keys,i=Object.fromEntries(he.map(e=>[e,ve(l[a[e]])])),r=Object.fromEntries(he.map(e=>[e,String("mobile"===t?ve(l[n.keys[e]])??n.fallback[e]:n.fallback[e])])),[s,u]=k(()=>d(i,r));/* @__PURE__ */
5
- return J(g,{label:e("Padding"),icon:/* @__PURE__ */J(S,{}),action:/* @__PURE__ */J(m,{each:s,label:e("Each side"),onChange:u}),children:/* @__PURE__ */J(p,{label:e("Padding"),each:s,value:i,placeholder:r,min:n.min,max:n.max,step:n.step,onChange:e=>{const t=ye(a,i,e);Object.keys(t).length&&o?.onChangeMany(t)},words:{sides:{top:e("Padding top"),right:e("Padding right"),bottom:e("Padding bottom"),left:e("Padding left")},vertical:e("Top and bottom"),horizontal:e("Left and right"),unit:"px"}})})}function Le(l=X){function i(e,t,n,a,i,r,s="",u){return{type:"custom",...o({},{type:"number",label:e}),render:o=>{const c="number"==typeof o.value?o.value:r;/* @__PURE__ */
6
- return J(g,{label:l(e),icon:_(t),action:u?u("storedValue"in o?o.storedValue:o.value,o.onChange):void 0,children:/* @__PURE__ */J("div",{className:"sf-slider",children:/* @__PURE__ */J(N,{min:n,max:a,step:i,value:c,suffix:s||void 0,showInput:!0,label:l(e),disabled:!1,size:"sm",boxSize:"md",className:"sf-slider-track",onChange:e=>{null!==e&&e!==c&&o.onChange(e)}})})})}}}function r(e){return ke(l,e)}function s(e,t,n,a){const i=n.map(e=>"string"==typeof e?{label:e,value:e}:e);return{type:"custom",...o({},{type:"radio",label:e,options:i.map(e=>({value:e.value,label:e.label}))}),render:({value:n,onChange:o,field:s})=>/* @__PURE__ */J(g,{label:l(e),icon:_(t),children:r({options:i,value:i.some(e=>e.value===n)?n:n||s?.currentValue||a,onChange:o,ariaLabel:e})})}}function u(e,t,n,a,i,r){return{type:"custom",options:a,fallback:i,...o({},{type:"radio",label:t,options:a.map(e=>({value:e.value,label:e.label}))}),render:({value:o,onChange:s,field:u})=>{const c=u.options??a,d=u.fallback??i,p=c.some(e=>e.value===o)?o:d;/* @__PURE__ */
7
- return J(g,{label:l(t),icon:_(n),children:/* @__PURE__ */J(Se,{say:l,kind:e,label:t,options:c,value:p,onChange:s,o:r})})}}}function c(e={}){return u("justify","Justify",/* @__PURE__ */J(C,{}),ee,ee[0].value,e)}function d(e={}){return u("align","Item alignment",/* @__PURE__ */J(B,{}),te,"stretch",e)}function p(){const e=ne;return{type:"custom",options:oe,fallback:oe[1].value,...o({},{type:"radio",label:e,options:oe.map(e=>({value:e.value,label:e.label}))}),render:({value:t,onChange:n,id:o,name:a})=>{const i=`${o??a??e}-label`;/* @__PURE__ */
8
- return J(g,{label:l(e),labelId:i,icon:/* @__PURE__ */J(j,{}),action:/* @__PURE__ */J(h,{checked:(r=t,!0===r||"wrap"===r),onChange:e=>n(e?oe[0].value:oe[1].value),ariaLabelledBy:i})});var r}}}function m({offered:e,fallback:t,resolve:n}){const o=n??(n=>e.some(e=>e.value===n)?n:t),l=s(le,H("`Direction` names how a container’s children run — a MODIFIER, not a thing. doc/naming.md N10.1 gives the idea a dash in its Glyph column; the shell’s own `direction` meaning says the bare row is CORRECT and not an omission (SS seat, 2026-09-11)."),e.map(e=>({label:e.label,value:e.value})),o(void 0));return{type:"custom",render:e=>l.render({...e,value:o(e.value),onChange:t=>e.onChange(t)})}}function b({min:e,max:t,step:n,builtIn:o,resolve:l,action:a,mark:r}){const s=i("Gap",/* @__PURE__ */J(x,{}),e,t,n,o,"px",a),u=l??(e=>"number"==typeof e?e:o);return{...r,type:"custom",render:e=>s.render({...e,value:u(e.value,e.field),storedValue:e.value,onChange:t=>e.onChange(t)})}}function v(e,{fallback:t=ue,pointsFor:n}={}){return{type:"custom",render:({value:o,onChange:a})=>{const i=pe(o,t);return n?/* @__PURE__ */J(je,{say:l,label:e,value:i,onChange:a,pointsFor:n}):Ce(l,{label:e,value:i,onChange:a,points:de})}}}function y(e){return{[e.keys.x]:{type:"custom",render:()=>/* @__PURE__ */J(Fe,{say:l,o:e})},[e.keys.y]:{...t({type:"custom",render:()=>/* @__PURE__ */J(n,{})},"always"),reachedBy:e.keys.x}}}function k(o={}){const i={...ge,...o.keys},r={keys:i,phoneKeys:Object.fromEntries(he.map(e=>[e,a(i[e])])),fallback:{top:0,right:0,bottom:0,left:0,...o.fallback},min:o.min??0,max:o.max??200,step:o.step??4},s=!1!==o.phone,u=t=>{const n={type:"custom",render:()=>/* @__PURE__ */J(Ee,{say:l,tier:t,o:r})};return s?e(t,n):n},c=()=>t({type:"custom",render:()=>/* @__PURE__ */J(n,{})},"always"),d=he.filter(e=>"top"!==e);return Q({...!1===o.group?{}:{_gSpacing:$("Padding")},[r.keys.top]:u("desktop"),...s?{[r.phoneKeys.top]:u("mobile")}:{},...Object.fromEntries(d.map(e=>[r.keys[e],{...c(),reachedBy:r.keys.top}])),...s?Object.fromEntries(d.map(t=>[r.phoneKeys[t],e("mobile",c())])):{}})}return{slider:i,select:function(e,t,n,a,i){return{type:"custom",options:n,fallback:a,...i?{note:i}:{},...o({},{type:"select",label:e}),render:({value:o,onChange:r,field:s})=>{const u=s.options??n,c=s.fallback??a,d=u.some(e=>e.value===o)?o:c;/* @__PURE__ */
9
- return J(g,{label:l(e),icon:_(t),children:/* @__PURE__ */J(f,{value:d,ariaLabel:l(e),onChange:r,options:[...i?[{label:l(i),value:"\0note",disabled:!0}]:[],...u.map(e=>({label:l(e.label),value:e.value}))]})})}}},Segmented:r,segmented:s,boxJustifyField:c,boxAlignField:d,boxWrapField:p,directionField:m,gapField:b,placementField:v,PlacementGridView:function(e){return Ce(l,e)},positionFields:y,sidesPaddingFields:k,boxFieldSet:function(e={}){const t=e.width??re,n=e.nudge?.limit??40,o=e.direction??{offered:ae,fallback:"column"},l=o.resolve??(e=>o.offered.some(t=>t.value===e)?e:o.fallback),a={runs:e=>"row"===l(e)?"row":"column"};return{_gLayout:$("Layout"),placement:v("Placement",e.placement),width:i("Width",/* @__PURE__ */J(F,{}),t.min,t.max,t.step,t.fallback,"%"),direction:m(o),gap:b(e.gap??ie),justify:c(a),align:d(a),wrap:p(),_gNudge:$("Nudge"),...y({keys:e.nudge?.keys??{x:"nudgeX",y:"nudgeY"},min:-n,max:n,label:null}),...k(e.padding)}}}}var{slider:Ie,select:Oe,Segmented:Te,segmented:We,boxJustifyField:Ke,boxAlignField:Ae,boxWrapField:Ge,directionField:Re,gapField:Be,placementField:Ne,PlacementGridView:Ve,positionFields:Ye,sidesPaddingFields:Je,boxFieldSet:Me}=Le();export{te as BOX_ALIGN_POINTS,ae as BOX_DIRECTIONS,le as BOX_DIRECTION_LABEL,ie as BOX_GAP,ee as BOX_JUSTIFY_POINTS,me as BOX_NUDGE_LIMIT,se as BOX_PLACEMENTS,ue as BOX_PLACEMENT_DEFAULT,ce as BOX_PLACEMENT_LABELS,re as BOX_WIDTH,ne as BOX_WRAP_LABEL,oe as BOX_WRAP_POINTS,de as OPEN_PLACEMENT_POINTS,Ve as PlacementGridView,ge as SIDE_PAD_KEYS,Te as Segmented,Ae as boxAlignField,Le as boxFieldBuilders,Me as boxFieldSet,Ke as boxJustifyField,Ge as boxWrapField,Re as directionField,Be as gapField,$ as group,_ as iconOf,U as isNoGlyph,H as noGlyph,pe as normaliseBoxPlacement,Ne as placementField,Ye as positionFields,fe as positionPatch,q as section,We as segmented,Oe as select,Q as sharedStyleKinds,Je as sidesPaddingFields,ye as sidesPaddingPatch,Ie as slider};
1
+ export{ANCHOR_LABELS,AlignmentStrip,BOX_ALIGN_POINTS,BOX_DIRECTIONS,BOX_DIRECTION_LABEL,BOX_GAP,BOX_JUSTIFY_POINTS,BOX_NUDGE_LIMIT,BOX_PLACEMENTS,BOX_PLACEMENT_DEFAULT,BOX_WIDTH,BOX_WRAP_LABEL,BOX_WRAP_POINTS,BlockAlignmentStrip,OPEN_PLACEMENT_POINTS,PlacementGridView,SIDE_PAD_KEYS,Segmented,alignmentField,alignmentFields,blockAlignmentField,blockAlignmentFields,boxAlignField,boxFieldBuilders,boxFieldSet,boxJustifyField,boxWrapField,directionField,gapField,group,iconOf,isNoGlyph,noGlyph,normaliseBoxPlacement,placementField,positionFields,positionPatch,section,segmented,select,sharedStyleKinds,sidesPaddingFields,sidesPaddingPatch,slider}from"../../../chunk-SSDKT4AY.js";import"../../../chunk-SC6E3UUS.js";import"../../../chunk-OXOUGEAT.js";import"../../../chunk-22I55W37.js";export{FIELD_DESCRIPTION_MARKER,describedAs}from"../../../chunk-LX23TCTP.js";import"../../../chunk-S6YOIRXQ.js";import"../../../chunk-CWELHADJ.js";import"../../../chunk-6WY6ZXJG.js";import"../../../chunk-E52W3M5I.js";import"../../../chunk-ANPOR6EY.js";import"../../../chunk-53ME3GAI.js";import"../../../chunk-LUG22U5L.js";import"../../../chunk-TBY3DFKS.js";import"../../../chunk-YCSZAP7T.js";import"../../../chunk-FM6JO4WF.js";import"../../../chunk-KFV7N2DJ.js";import"../../../chunk-K53PQAMP.js";import"../../../chunk-QTHQPJWA.js";import"../../../chunk-OECWLNKJ.js";import"../../../chunk-HZSZT3BE.js";import"../../../chunk-PMRN5Z3T.js";import"../../../chunk-KFWNGPW3.js";import"../../../chunk-MIX7EGRG.js";import"../../../chunk-DX3VILZ3.js";import"../../../chunk-JACEEVVF.js";import"../../../chunk-MFIRYGHW.js";import"../../../chunk-EUFDQ4KL.js";import"../../../chunk-KXM6YRG2.js";import"../../../chunk-TOKMFZPB.js";import"../../../chunk-FR7EEKFF.js";import"../../../chunk-7UFKEX72.js";import"../../../chunk-BSPCSC45.js";
@@ -1 +1 @@
1
- export{DEVICE_HIDDEN_ATTR,DEVICE_NOTE,deviceField,deviceNote,shownTier,withoutDeviceGate}from"../../../chunk-2FYFAAAK.js";import"../../../chunk-22I55W37.js";import"../../../chunk-IYHO4XQX.js";export{DEVICE_FIELD_MARKER,deviceMetaOf}from"../../../chunk-YCSZAP7T.js";import"../../../chunk-MFIRYGHW.js";import"../../../chunk-BSPCSC45.js";
1
+ export{DEVICE_HIDDEN_ATTR,DEVICE_NOTE,deviceField,deviceNote,shownTier,withoutDeviceGate}from"../../../chunk-OXOUGEAT.js";import"../../../chunk-22I55W37.js";import"../../../chunk-S6YOIRXQ.js";export{DEVICE_FIELD_MARKER,deviceMetaOf}from"../../../chunk-YCSZAP7T.js";import"../../../chunk-MFIRYGHW.js";import"../../../chunk-BSPCSC45.js";