efficient-easel 11.3.0 → 12.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 (109) hide show
  1. package/README.md +20 -41
  2. package/dist/{canvas-typing-DvoqQINU.d.ts → canvas-typing-CZ11Y5tb.d.ts} +16 -105
  3. package/dist/chrome/chrome.css +5 -5
  4. package/dist/chunk-2SOOKBHH.js +21 -0
  5. package/dist/{chunk-66LWADFP.js → chunk-2XMHLXMA.js} +1 -1
  6. package/dist/chunk-33C6ALT5.js +1 -0
  7. package/dist/{chunk-XJCMEEBH.js → chunk-36LVP5WD.js} +7 -7
  8. package/dist/chunk-47JTYRQC.js +2 -0
  9. package/dist/{chunk-EXKKLTXH.js → chunk-5NM5TPAX.js} +1 -1
  10. package/dist/{chunk-ZXGQT75B.js → chunk-5QP7ZE35.js} +1 -1
  11. package/dist/chunk-5R7FE4VT.js +57 -0
  12. package/dist/{chunk-FPAVNX3Y.js → chunk-5XUMLKQF.js} +3 -3
  13. package/dist/{chunk-PPL7GB7D.js → chunk-62VPYC7F.js} +1 -1
  14. package/dist/chunk-643PVCEG.js +1 -0
  15. package/dist/chunk-AYWN5NRH.js +1 -0
  16. package/dist/{chunk-4ACVXF5V.js → chunk-CZYR5V77.js} +1 -1
  17. package/dist/{chunk-PPHUWGLZ.js → chunk-EC2I7SIY.js} +1 -1
  18. package/dist/{chunk-DGAXQTDW.js → chunk-FHLYUIJJ.js} +1 -1
  19. package/dist/{chunk-65Z5FSAW.js → chunk-G3GWAP5R.js} +5 -5
  20. package/dist/{chunk-2FZJWH24.js → chunk-H4UMY7QF.js} +1 -1
  21. package/dist/chunk-KE2CXEIK.js +13 -0
  22. package/dist/chunk-KR4OCYRP.js +1 -0
  23. package/dist/{chunk-IFS5P7CO.js → chunk-LZS7JZK5.js} +1 -1
  24. package/dist/chunk-O3RLI7XE.js +1 -0
  25. package/dist/{chunk-47RGVCPH.js → chunk-QFVRMARS.js} +12 -12
  26. package/dist/chunk-TBF5CVPA.js +1 -0
  27. package/dist/chunk-UMDQ6CLQ.js +2 -0
  28. package/dist/chunk-UX7UJPC5.js +5 -0
  29. package/dist/chunk-VVPZMWJE.js +1 -0
  30. package/dist/chunk-WDQY6JMM.js +7 -0
  31. package/dist/chunk-WP7AZDCV.js +5 -0
  32. package/dist/chunk-WRFD4EXD.js +1 -0
  33. package/dist/{chunk-AFSSKGTD.js → chunk-WUO2GBPO.js} +1 -1
  34. package/dist/{chunk-BPFPM3L4.js → chunk-WY5U4XFO.js} +3 -3
  35. package/dist/{chunk-XWK7WZQS.js → chunk-X4VIDPKV.js} +1 -1
  36. package/dist/{chunk-TWFM6GNK.js → chunk-XY5ZHRMR.js} +1 -1
  37. package/dist/chunk-YHZSBL2N.js +1 -0
  38. package/dist/copy/copy.css +8 -108
  39. package/dist/copy/index.d.ts +39 -9
  40. package/dist/copy/index.js +18 -19
  41. package/dist/drag/drag.css +8 -8
  42. package/dist/drag/index.js +1 -1
  43. package/dist/easel/index.d.ts +3 -3
  44. package/dist/easel/index.js +1 -1
  45. package/dist/fields/fields.css +8 -8
  46. package/dist/fields/index.js +1 -1
  47. package/dist/gold/index.d.ts +3 -3
  48. package/dist/gold/index.js +1 -1
  49. package/dist/icons/index.d.ts +1 -0
  50. package/dist/markup/index.d.ts +1 -629
  51. package/dist/markup/index.js +1 -1
  52. package/dist/menu/menu.css +1 -1
  53. package/dist/panel/index.js +1 -1
  54. package/dist/panel/panel.css +12 -12
  55. package/dist/pick/index.d.ts +30 -8
  56. package/dist/pick/index.js +3 -7
  57. package/dist/pick/pick.css +10 -84
  58. package/dist/screen/components/AddBlockRow.js +1 -1
  59. package/dist/screen/components/AddSidePanel.js +1 -1
  60. package/dist/screen/components/MediaSidePanel.js +1 -1
  61. package/dist/screen/components/NodeContextMenu.js +1 -1
  62. package/dist/screen/components/PageEditGuardNotices.js +1 -1
  63. package/dist/screen/components/PanelToggleIcon.d.ts +6 -5
  64. package/dist/screen/components/PanelToggleIcon.js +1 -1
  65. package/dist/screen/components/ScreenChrome.js +1 -1
  66. package/dist/screen/components/ScreenDocumentContext.js +1 -1
  67. package/dist/screen/components/ScreenMount.js +1 -1
  68. package/dist/screen/components/ScreenStoreProvider.js +1 -1
  69. package/dist/screen/components/SectionScreenShell.js +15 -15
  70. package/dist/screen/components/SidePanelHead.js +1 -1
  71. package/dist/screen/components/usePartBridge.js +1 -1
  72. package/dist/screen/index.js +1 -1
  73. package/dist/screen/lib/key-scope.js +1 -1
  74. package/dist/screen/lib/puck/device-fields.js +1 -1
  75. package/dist/screen/lib/puck/slot-child-name.js +1 -1
  76. package/dist/screen/lib/puck/style-clipboard.js +1 -1
  77. package/dist/screen/lib/puck/use-section-ops.js +1 -1
  78. package/dist/screen/lib/screen-parts.js +1 -1
  79. package/dist/screen/screen.css +16 -16
  80. package/dist/screen/words.js +1 -1
  81. package/dist/shell/shell.css +10 -8
  82. package/dist/strings/catalogue.d.ts +2 -2
  83. package/dist/strings/catalogue.js +1 -1
  84. package/dist/strings/index.d.ts +2 -2
  85. package/dist/strings/index.js +1 -1
  86. package/dist/text-styles/index.d.ts +14 -233
  87. package/dist/text-styles/index.js +36 -35
  88. package/dist/text-styles/model.d.ts +267 -0
  89. package/dist/text-styles/model.js +1 -0
  90. package/dist/text-styles/text-styles.css +6 -6
  91. package/dist/{words-dsex49Jh.d.ts → words-notpwHR2.d.ts} +13 -7
  92. package/package.json +8 -3
  93. package/dist/chunk-26GHWMNN.js +0 -21
  94. package/dist/chunk-546BBOPE.js +0 -1
  95. package/dist/chunk-AZOCY74V.js +0 -57
  96. package/dist/chunk-BHRC3ASL.js +0 -1
  97. package/dist/chunk-DD7A6RRL.js +0 -5
  98. package/dist/chunk-EQFBUNEB.js +0 -1
  99. package/dist/chunk-FAAZZXIS.js +0 -1
  100. package/dist/chunk-FFYXVAAL.js +0 -1
  101. package/dist/chunk-FGJSCWUN.js +0 -7
  102. package/dist/chunk-GCCBEY2W.js +0 -2
  103. package/dist/chunk-GG4FGBFR.js +0 -1
  104. package/dist/chunk-KQMML6JM.js +0 -4
  105. package/dist/chunk-Q6AM43CA.js +0 -1
  106. package/dist/chunk-SJPKSE5G.js +0 -13
  107. package/dist/chunk-U7KFFC7N.js +0 -5
  108. package/dist/chunk-VWXUMVCD.js +0 -1
  109. package/dist/chunk-ZAOM6PFH.js +0 -1
@@ -616,7 +616,7 @@
616
616
  border: 0;
617
617
  text-align: left;
618
618
  font: inherit;
619
- font-size: 12px;
619
+ font-size: var(--text-xs, 12px);
620
620
  font-weight: 600;
621
621
  color: var(--es-text);
622
622
  background: var(--es-hover);
@@ -660,7 +660,7 @@
660
660
  Pinned numbers would have crossed. */
661
661
  .es-group-sub {
662
662
  box-sizing: border-box;
663
- font-size: 10.5px;
663
+ font-size: var(--text-2xs, 11px);
664
664
  font-weight: 600;
665
665
  letter-spacing: 0.07em;
666
666
  text-transform: uppercase;
@@ -687,7 +687,7 @@ button.es-group-head:hover { background: var(--es-chip-bg); }
687
687
  border-radius: 999px;
688
688
  background: var(--es-accent);
689
689
  color: var(--es-on-accent);
690
- font-size: 10px;
690
+ font-size: var(--text-2xs, 11px);
691
691
  font-weight: 700;
692
692
  display: inline-flex;
693
693
  align-items: center;
@@ -700,7 +700,7 @@ button.es-group-head:hover { background: var(--es-chip-bg); }
700
700
  width: 16px;
701
701
  text-align: center;
702
702
  color: var(--es-muted);
703
- font-size: 14px;
703
+ font-size: var(--text-sm, 14px);
704
704
  line-height: 1;
705
705
  flex: none;
706
706
  }
@@ -770,7 +770,7 @@ button.es-group-head:hover { background: var(--es-chip-bg); }
770
770
  .es-field-icon svg { width: 16px; height: 16px; }
771
771
 
772
772
  .es-field-label {
773
- font-size: 11px;
773
+ font-size: var(--text-2xs, 11px);
774
774
  font-weight: 500;
775
775
  color: var(--es-muted);
776
776
  }
@@ -789,7 +789,7 @@ button.es-group-head:hover { background: var(--es-chip-bg); }
789
789
 
790
790
  .es-field-value {
791
791
  margin-left: auto;
792
- font-size: 12px;
792
+ font-size: var(--text-xs, 12px);
793
793
  /* The part's own 16px, and the head's min-height: so a row is one height
794
794
  whether its value is drawn or not. Left to the host's line-height (18px in
795
795
  the website editor) a press on Reset, which empties the value, moved every
@@ -823,7 +823,7 @@ button.es-group-head:hover { background: var(--es-chip-bg); }
823
823
  24px, glyph + gap, until then). `tests/panel-hint-flush-left` holds it. */
824
824
  .es-field-hint {
825
825
  margin: 8px 0 0;
826
- font-size: 11px;
826
+ font-size: var(--text-2xs, 11px);
827
827
  line-height: 1.45;
828
828
  color: var(--es-muted);
829
829
  }
@@ -1022,7 +1022,7 @@ button.es-group-head:hover { background: var(--es-chip-bg); }
1022
1022
  }
1023
1023
 
1024
1024
  .es-drill-name {
1025
- font-size: 12px;
1025
+ font-size: var(--text-xs, 12px);
1026
1026
  font-weight: 600;
1027
1027
  color: var(--es-text-strong);
1028
1028
  /* One line, like the preview under it: a name that wraps turns a list of
@@ -1035,7 +1035,7 @@ button.es-group-head:hover { background: var(--es-chip-bg); }
1035
1035
  /* The preview is one line, clipped. It never wraps: a part's copy can be a
1036
1036
  paragraph, and a row that grows to fit it stops being a row. */
1037
1037
  .es-drill-preview {
1038
- font-size: 11px;
1038
+ font-size: var(--text-2xs, 11px);
1039
1039
  color: var(--es-muted);
1040
1040
  white-space: nowrap;
1041
1041
  overflow: hidden;
@@ -1065,7 +1065,7 @@ button.es-group-head:hover { background: var(--es-chip-bg); }
1065
1065
  width: 16px;
1066
1066
  text-align: center;
1067
1067
  color: var(--es-muted);
1068
- font-size: 16px;
1068
+ font-size: var(--text-base, 16px);
1069
1069
  line-height: 1;
1070
1070
  }
1071
1071
 
@@ -1113,7 +1113,7 @@ button.es-group-head:hover { background: var(--es-chip-bg); }
1113
1113
  background: var(--es-field-bg);
1114
1114
  color: var(--es-btn-text);
1115
1115
  font: inherit;
1116
- font-size: 12px;
1116
+ font-size: var(--text-xs, 12px);
1117
1117
  font-weight: 600;
1118
1118
  cursor: pointer;
1119
1119
  transition: background 0.12s, border-color 0.12s, color 0.12s;
@@ -1173,7 +1173,7 @@ button.es-group-head:hover { background: var(--es-chip-bg); }
1173
1173
  `.es-field-hint` makes. */
1174
1174
  .es-action-note {
1175
1175
  margin: 8px 0 0;
1176
- font-size: 11px;
1176
+ font-size: var(--text-2xs, 11px);
1177
1177
  line-height: 1.4;
1178
1178
  color: var(--es-muted);
1179
1179
  }
@@ -169,12 +169,28 @@ type ImageBoxProps = {
169
169
  * media window, the shop asks the admin to, a test resolves a string — the
170
170
  * box does not know or care. Absent: the box shows the picture but offers no
171
171
  * way to change it.
172
+ *
173
+ * A file DROPPED on the box comes as `file`, already held to the box's kind
174
+ * and to `maxSizeBytes` by the shell's intake: the app uploads it however it
175
+ * uploads everything else, and resolves to its URL.
172
176
  */
173
- openLibrary?: () => Promise<string | null>;
177
+ openLibrary?: (file?: File) => Promise<string | null>;
174
178
  kind?: 'image' | 'video';
175
179
  /** What the empty box says. Default "Choose an image" / "Choose a video". */
176
180
  placeholder?: string;
177
181
  readOnly?: boolean;
182
+ /**
183
+ * The picture's focus point, a CSS `object-position` string ("38% 64%").
184
+ * Given with `onFocusChange`, the dot sits ON the picture (the shell's
185
+ * `ImageFocusPoint`): one picture, never a second copy in a row of its own.
186
+ * Ignored for a video.
187
+ */
188
+ focus?: string;
189
+ onFocusChange?: (focus: string) => void;
190
+ /** A dropped file larger than this is refused, with the reason announced. */
191
+ maxSizeBytes?: number;
192
+ /** Height of the filled picture in px. Default the shell's. */
193
+ height?: number;
178
194
  /**
179
195
  * The box's own words in the host's language:
180
196
  * `useEaselStrings().pick.image` (0.95.0). Left out, English. A prop, not
@@ -183,19 +199,25 @@ type ImageBoxProps = {
183
199
  words?: PickWords['image'];
184
200
  };
185
201
  /**
186
- * ONE IMAGE BOX (blueprint step 4.6): the picture, its file name under it,
187
- * and Replace and Remove — or, empty, one press that opens the library.
202
+ * ONE IMAGE BOX (blueprint step 4.6), and since 2026-10-19 ONE PICTURE FIELD:
203
+ * the shell's `MediaUploadField` (efficient-shell #528, first published in
204
+ * 7.61.0), not a box drawn here. Both editors draw their picture rows through
205
+ * this — the website's `upload()` rows and the email designer's image field —
206
+ * so both get the shell's look: the picture with its Change image bar and the
207
+ * bin on hover (always shown on a screen with no hover), the drop zone, and,
208
+ * given `focus` + `onFocusChange`, the focus dot on the picture itself
209
+ * (Lewis 2026-10-19: "one picture, one dot").
188
210
  *
189
211
  * The library is the APP's. Every editor opens a different one — the admin's
190
212
  * media window with its product and storefront tabs, the shop's ask to the
191
213
  * admin, a future host's own — so the box is handed `openLibrary` and opens
192
- * nothing itself, never a native file dialog.
214
+ * nothing itself, never a native file dialog: the shell field's `onPick` is
215
+ * always given, which is what keeps its own file dialog shut.
193
216
  *
194
- * The file name sits UNDER the picture, not on it: a small crop of a photo is
195
- * often not enough to tell two similar shots apart, and a caption laid over the
196
- * picture covers the part it was meant to identify.
217
+ * What stays here is the box's own state: "Choosing" while the library is
218
+ * open (the shell's busy cover), and the line that says a library failed.
197
219
  */
198
- declare function ImageBox({ value, onChange, label, openLibrary, kind, placeholder, readOnly, words, }: ImageBoxProps): react.JSX.Element;
220
+ declare function ImageBox({ value, onChange, label, openLibrary, kind, placeholder, readOnly, focus, onFocusChange, maxSizeBytes, height, words, }: ImageBoxProps): react.JSX.Element;
199
221
 
200
222
  /**
201
223
  * The colour maths the picker runs on — pure, no React, no DOM.
@@ -1,7 +1,3 @@
1
- import{mediaName as e}from"../chunk-FPAVNX3Y.js";export{ColourPicker,ColourWindow,HEX_MAX_LENGTH,hexReadout,hexToHsv,hsvToHex,hueFromPoint,mediaName,svFromPoint,typedHex}from"../chunk-FPAVNX3Y.js";import{DEFAULT_PICK_WORDS as a}from"../chunk-ZAOM6PFH.js";import{withTip as i}from"../chunk-P2VEMZH5.js";import{useState as l}from"react";import{jsx as s,jsxs as c}from"react/jsx-runtime";function n({value:n,onChange:o,label:r,openLibrary:t,kind:m="image",placeholder:d,readOnly:p,words:u=a.image}){const[h,k]=l(!1),[b,g]=l(!1),N=Boolean(t)&&!p,f=async()=>{if(t&&!h&&!p){k(!0),g(!1);try{const e=await t();e&&o(e)}catch{g(!0)}finally{k(!1)}}},v=h?/* @__PURE__ */s("p",{className:"es-pick-image-status",role:"status",children:u.choosing}):b?/* @__PURE__ */s("p",{className:"es-pick-image-status is-error",role:"alert",children:u.failed}):null;if(!n)/* @__PURE__ */
2
- return c("div",{className:"es-pick-image",children:[
3
- /* @__PURE__ */c("button",{type:"button",className:"es-pick-image-slot",onClick:f,disabled:!N||h,"aria-label":u.empty({label:r,kind:m,placeholder:d}),children:[
4
- /* @__PURE__ */s("span",{className:"es-pick-image-slot-name",children:d??("video"===m?u.chooseVideo:u.chooseImage)}),N?/* @__PURE__ */s("span",{className:"es-pick-image-slot-hint",children:u.hint}):null]}),v]});const y=e(n),x=y?u.named({label:r,name:y}):r;/* @__PURE__ */
5
- return c("div",{className:"es-pick-image",children:[
6
- /* @__PURE__ */c("figure",{className:"es-pick-image-figure",children:[
7
- /* @__PURE__ */s("div",{className:"es-pick-image-frame",children:"video"===m?/* @__PURE__ */s("video",{src:n,muted:!0,playsInline:!0,preload:"metadata","aria-label":x}):/* @__PURE__ */s("img",{src:n,alt:x})}),y?i(y,/* @__PURE__ */s("figcaption",{className:"es-pick-image-name",children:y})):null]}),N||!p?/* @__PURE__ */c("div",{className:"es-pick-image-actions",children:[N?/* @__PURE__ */s("button",{type:"button",className:"es-pick-image-btn",onClick:f,disabled:h,"aria-label":u.replaceNamed({label:r}),children:u.replace}):null,p?null:/* @__PURE__ */s("button",{type:"button",className:"es-pick-image-btn is-bare",onClick:()=>o(""),disabled:h,"aria-label":u.removeNamed({label:r}),children:u.remove})]}):null,v]})}export{n as ImageBox};
1
+ export{ColourPicker,ColourWindow,HEX_MAX_LENGTH,hexReadout,hexToHsv,hsvToHex,hueFromPoint,mediaName,svFromPoint,typedHex}from"../chunk-5XUMLKQF.js";import{DEFAULT_PICK_WORDS as e}from"../chunk-643PVCEG.js";import{useState as o}from"react";import{MediaUploadField as a}from"efficient-shell/ui";import{jsxs as i,jsx as r}from"react/jsx-runtime";function l({value:l,onChange:n,label:c,openLibrary:s,kind:t="image",placeholder:m,readOnly:d=!1,focus:h,onFocusChange:u,maxSizeBytes:g,height:p,words:v=e.image}){const[f,y]=o(!1),[x,b]=o(!1),k=Boolean(s)&&!d;/* @__PURE__ */
2
+ return i("div",{className:"es-pick-image",children:[
3
+ /* @__PURE__ */r(a,{value:l,onChange:n,onPick:e=>{(async e=>{if(s&&!f&&!d){y(!0),b(!1);try{const o=await s(e);o&&n(o)}catch{b(!0)}finally{y(!1)}}})(e)},accept:"video"===t?"video/*":"image/*",kind:t,placeholder:m??("video"===t?v.chooseVideo:v.chooseImage),cta:k?v.hint:void 0,maxSizeBytes:g,height:p,allowReplace:k,allowRemove:!d,removeLabel:v.removeNamed({label:c}),focus:"image"===t?h:void 0,onFocusChange:"image"!==t||d?void 0:u,busy:f,busyLabel:v.choosing,disabled:d||!k&&!l}),x?/* @__PURE__ */r("p",{className:"es-pick-image-status is-error",role:"alert",children:v.failed}):null]})}export{l as ImageBox};
@@ -72,7 +72,7 @@
72
72
  overflow: hidden;
73
73
  padding: 0 8px;
74
74
  white-space: nowrap;
75
- font-size: 12px;
75
+ font-size: var(--text-xs, 12px);
76
76
  color: var(--es-muted);
77
77
  }
78
78
  /* Cut text fades at its end, never cut hard. `data-clipped` is MEASURED
@@ -115,7 +115,7 @@
115
115
  border-radius: var(--radius-md);
116
116
  background: var(--es-toast-bg, var(--status-draft-solid));
117
117
  color: var(--es-on-accent, var(--status-on-solid));
118
- font-size: 12px;
118
+ font-size: var(--text-xs, 12px);
119
119
  font-weight: 500;
120
120
  line-height: 1.3;
121
121
  white-space: nowrap;
@@ -146,7 +146,7 @@
146
146
  /* The sub-row's label. A host may use its own instead. */
147
147
  .es-pick-line-label {
148
148
  min-width: 0;
149
- font-size: 12px;
149
+ font-size: var(--text-xs, 12px);
150
150
  color: var(--es-text-secondary);
151
151
  }
152
152
  .es-field-head > .es-pick-colour,
@@ -196,94 +196,20 @@
196
196
  mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent);
197
197
  }
198
198
  /* ── The image box ──────────────────────────────────────────────────────── */
199
+ /* The box itself is the shell's MediaUploadField (efficient-shell #528); only
200
+ the column and the failed-library line are drawn here. */
199
201
  .es-pick-image {
200
202
  display: flex;
201
203
  flex-direction: column;
202
204
  gap: 8px;
203
- }
204
- .es-pick-image-slot {
205
- display: flex;
206
- flex-direction: column;
207
- align-items: center;
208
- justify-content: center;
209
- gap: 4px;
210
- min-height: 96px;
211
- padding: 12px;
212
- border: 1.5px dashed var(--es-input-border);
213
- border-radius: var(--radius-lg);
214
- background: var(--es-app-bg);
215
- color: var(--es-text);
216
- font: inherit;
217
- cursor: pointer;
218
- }
219
- .es-pick-image-slot:hover:not(:disabled),
220
- .es-pick-image-slot:focus-visible {
221
- border-color: var(--es-accent);
222
- background: var(--es-accent-tint);
223
- }
224
- .es-pick-image-slot:disabled {
225
- cursor: default;
226
- opacity: 0.6;
227
- }
228
- .es-pick-image-slot-name {
229
- font-size: 12.5px;
230
- font-weight: 600;
231
- }
232
- .es-pick-image-slot-hint {
233
- font-size: 11.5px;
234
- color: var(--es-muted);
235
- }
236
- .es-pick-image-figure {
237
- margin: 0;
238
- display: flex;
239
- flex-direction: column;
240
- gap: 8px;
241
- }
242
- .es-pick-image-frame {
243
- height: 96px;
244
- overflow: hidden;
245
- border-radius: var(--radius-lg);
246
- background: var(--es-app-bg);
247
- }
248
- .es-pick-image-frame img,
249
- .es-pick-image-frame video {
250
- display: block;
251
- width: 100%;
252
- height: 100%;
253
- object-fit: cover;
254
- }
255
- .es-pick-image-name {
256
- overflow: hidden;
257
- font-size: 11.5px;
258
- color: var(--es-muted);
259
- text-overflow: ellipsis;
260
- white-space: nowrap;
261
- }
262
- .es-pick-image-actions {
263
- display: flex;
264
- gap: 8px;
265
- }
266
- .es-pick-image-btn {
267
- padding: 4px 12px;
268
- border: 1px solid var(--es-input-border);
269
- border-radius: var(--radius-md);
270
- background: var(--es-panel);
271
- color: var(--es-text);
272
- font: 500 12px/1.3 var(--es-font);
273
- cursor: pointer;
274
- }
275
- .es-pick-image-btn.is-bare {
276
- border-color: transparent;
277
- background: transparent;
278
- color: var(--es-muted);
279
- }
280
- .es-pick-image-btn:hover:not(:disabled) {
281
- border-color: var(--es-accent);
282
- color: var(--es-text);
205
+ /* A host's field puts its control in a flex ROW (`.es-field-ctl`), where a
206
+ plain block shrinks to its content: the box takes the row instead. */
207
+ flex: 1 1 auto;
208
+ min-width: 0;
283
209
  }
284
210
  .es-pick-image-status {
285
211
  margin: 0;
286
- font-size: 11.5px;
212
+ font-size: var(--text-xs, 12px);
287
213
  color: var(--es-muted);
288
214
  }
289
215
  .es-pick-image-status.is-error {
@@ -1 +1 @@
1
- export{AddBlockRow as default}from"../../chunk-TWFM6GNK.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-U7KFFC7N.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-VWXUMVCD.js";import"../../chunk-SJPKSE5G.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-26GHWMNN.js";import"../../chunk-XWFH2NHZ.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-RC25EGHD.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-EA2HTX37.js";import"../../chunk-ECM5F6JJ.js";import"../../chunk-FGJSCWUN.js";import"../../chunk-Q6AM43CA.js";import"../../chunk-66LWADFP.js";import"../../chunk-65Z5FSAW.js";import"../../chunk-XJCMEEBH.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-546BBOPE.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-67GNT6PF.js";import"../../chunk-ILXP5VX5.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
1
+ export{AddBlockRow as default}from"../../chunk-XY5ZHRMR.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-WP7AZDCV.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-VVPZMWJE.js";import"../../chunk-2SOOKBHH.js";import"../../chunk-XWFH2NHZ.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-RC25EGHD.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-EA2HTX37.js";import"../../chunk-67GNT6PF.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KE2CXEIK.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-ECM5F6JJ.js";import"../../chunk-ILXP5VX5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";import"../../chunk-2XMHLXMA.js";import"../../chunk-G3GWAP5R.js";import"../../chunk-36LVP5WD.js";import"../../chunk-WRFD4EXD.js";import"../../chunk-WDQY6JMM.js";import"../../chunk-33C6ALT5.js";import"../../chunk-MFIRYGHW.js";
@@ -1 +1 @@
1
- export{blockKey,AddSidePanel as default,sectionKey,templateKey}from"../../chunk-DD7A6RRL.js";import"../../chunk-PA3PNTVV.js";import"../../chunk-5ZBY24K7.js";import"../../chunk-BVN33R76.js";import"../../chunk-PPL7GB7D.js";import"../../chunk-KQMML6JM.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-U7KFFC7N.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-VWXUMVCD.js";import"../../chunk-SJPKSE5G.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-26GHWMNN.js";import"../../chunk-XWFH2NHZ.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-RC25EGHD.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-EA2HTX37.js";import"../../chunk-ECM5F6JJ.js";import"../../chunk-IE55HNMA.js";import"../../chunk-Z6PVRXVY.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-FGJSCWUN.js";import"../../chunk-Q6AM43CA.js";import"../../chunk-66LWADFP.js";import"../../chunk-65Z5FSAW.js";import"../../chunk-XJCMEEBH.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-546BBOPE.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-47RGVCPH.js";import"../../chunk-GG4FGBFR.js";import"../../chunk-67GNT6PF.js";import"../../chunk-ILXP5VX5.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
1
+ export{blockKey,AddSidePanel as default,sectionKey,templateKey}from"../../chunk-UX7UJPC5.js";import"../../chunk-PA3PNTVV.js";import"../../chunk-5ZBY24K7.js";import"../../chunk-BVN33R76.js";import"../../chunk-62VPYC7F.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-UMDQ6CLQ.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-WP7AZDCV.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-VVPZMWJE.js";import"../../chunk-IE55HNMA.js";import"../../chunk-Z6PVRXVY.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-2SOOKBHH.js";import"../../chunk-XWFH2NHZ.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-RC25EGHD.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-EA2HTX37.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-QFVRMARS.js";import"../../chunk-AYWN5NRH.js";import"../../chunk-67GNT6PF.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KE2CXEIK.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-ECM5F6JJ.js";import"../../chunk-ILXP5VX5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";import"../../chunk-2XMHLXMA.js";import"../../chunk-G3GWAP5R.js";import"../../chunk-36LVP5WD.js";import"../../chunk-WRFD4EXD.js";import"../../chunk-WDQY6JMM.js";import"../../chunk-33C6ALT5.js";import"../../chunk-MFIRYGHW.js";
@@ -1 +1 @@
1
- export{MediaSidePanel as default}from"../../chunk-ZXGQT75B.js";import"../../chunk-U7KFFC7N.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-SJPKSE5G.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-26GHWMNN.js";import"../../chunk-XWFH2NHZ.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-RC25EGHD.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-EA2HTX37.js";import"../../chunk-ECM5F6JJ.js";import"../../chunk-IE55HNMA.js";import"../../chunk-Z6PVRXVY.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-FGJSCWUN.js";import"../../chunk-Q6AM43CA.js";import"../../chunk-66LWADFP.js";import"../../chunk-65Z5FSAW.js";import"../../chunk-XJCMEEBH.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-546BBOPE.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-67GNT6PF.js";import"../../chunk-ILXP5VX5.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
1
+ export{MediaSidePanel as default}from"../../chunk-5QP7ZE35.js";import"../../chunk-WP7AZDCV.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-IE55HNMA.js";import"../../chunk-Z6PVRXVY.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-2SOOKBHH.js";import"../../chunk-XWFH2NHZ.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-RC25EGHD.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-EA2HTX37.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-67GNT6PF.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KE2CXEIK.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-ECM5F6JJ.js";import"../../chunk-ILXP5VX5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";import"../../chunk-2XMHLXMA.js";import"../../chunk-G3GWAP5R.js";import"../../chunk-36LVP5WD.js";import"../../chunk-WRFD4EXD.js";import"../../chunk-WDQY6JMM.js";import"../../chunk-33C6ALT5.js";import"../../chunk-MFIRYGHW.js";
@@ -1 +1 @@
1
- export{EASEL_NODE_CLIPBOARD,ancestorChain,nodeClipboardOf,nodeClipboardRules,nodeMenuItems,nodeShortcut,pageMenuItems,pastePlace,runNodeShortcut,textMenuItems,useNodeClipboard,useNodeContextMenu}from"../../chunk-PPHUWGLZ.js";import"../../chunk-V7U33NF2.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-VWXUMVCD.js";import"../../chunk-BXMXTO36.js";import"../../chunk-EA2HTX37.js";import"../../chunk-OSPUG6S6.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-ECM5F6JJ.js";import"../../chunk-ILXP5VX5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
1
+ export{EASEL_NODE_CLIPBOARD,ancestorChain,nodeClipboardOf,nodeClipboardRules,nodeMenuItems,nodeShortcut,pageMenuItems,pastePlace,runNodeShortcut,textMenuItems,useNodeClipboard,useNodeContextMenu}from"../../chunk-EC2I7SIY.js";import"../../chunk-V7U33NF2.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-VVPZMWJE.js";import"../../chunk-BXMXTO36.js";import"../../chunk-EA2HTX37.js";import"../../chunk-OSPUG6S6.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-ECM5F6JJ.js";import"../../chunk-ILXP5VX5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
@@ -1 +1 @@
1
- export{PageEditGuardNotices as default}from"../../chunk-AFSSKGTD.js";import"../../chunk-GCCBEY2W.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-S4AWJX4Q.js";import"../../chunk-ERR437B5.js";import"../../chunk-KG7RJWOK.js";import"../../chunk-VPFNZ7TB.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-VWXUMVCD.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-IE55HNMA.js";import"../../chunk-Z6PVRXVY.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-MFIRYGHW.js";
1
+ export{PageEditGuardNotices as default}from"../../chunk-WUO2GBPO.js";import"../../chunk-47JTYRQC.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-S4AWJX4Q.js";import"../../chunk-KG7RJWOK.js";import"../../chunk-ERR437B5.js";import"../../chunk-VPFNZ7TB.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-VVPZMWJE.js";import"../../chunk-IE55HNMA.js";import"../../chunk-Z6PVRXVY.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-MFIRYGHW.js";
@@ -1,11 +1,12 @@
1
1
  import * as react from 'react';
2
2
 
3
3
  /**
4
- * The picture of ONE side panel: a window with its left or right column ruled
5
- * off. It is the Hide panel button at the end of that panel's head and the
6
- * Show panel button in the strip a hidden panel leaves (components/
7
- * SidePanelHead) — one control, so one drawing. It was the top bar's two
8
- * panel toggles until those went (2026-10-04).
4
+ * The picture of ONE side panel: the shell set's `panel-left` / `panel-right`
5
+ * (a window with that column ruled off). It is the Hide panel button at the
6
+ * end of that panel's head and the Show panel button in the strip a hidden
7
+ * panel leaves (components/SidePanelHead) — one control, so one drawing. It
8
+ * was a local SVG until the SSOT cleanup (2026-10-17); the drawing is the
9
+ * shell's now, and this module only picks the side.
9
10
  */
10
11
  declare function PanelToggleIcon({ side }: {
11
12
  side: "left" | "right";
@@ -1 +1 @@
1
- export{PanelToggleIcon as default}from"../../chunk-KQMML6JM.js";
1
+ export{PanelToggleIcon as default}from"../../chunk-UMDQ6CLQ.js";
@@ -1 +1 @@
1
- export{ScreenChrome as default}from"../../chunk-AZOCY74V.js";import"../../chunk-2GVCAIPX.js";import"../../chunk-26OOWIJJ.js";import"../../chunk-IFS5P7CO.js";import"../../chunk-FGNR22NY.js";import"../../chunk-ZE7I3PLX.js";import"../../chunk-DGAXQTDW.js";import"../../chunk-7F52SZOI.js";import"../../chunk-MQNBD6AB.js";import"../../chunk-BHRC3ASL.js";import"../../chunk-6W7WLPZH.js";import"../../chunk-4ES5JGGX.js";import"../../chunk-IQ5TA7AM.js";import"../../chunk-DUVRZ456.js";import"../../chunk-EXKKLTXH.js";import"../../chunk-KCBEE2MC.js";import"../../chunk-TZIIRGVY.js";import"../../chunk-EQFBUNEB.js";import"../../chunk-XWK7WZQS.js";import"../../chunk-IYT6NN2J.js";import"../../chunk-PPHUWGLZ.js";import"../../chunk-AFSSKGTD.js";import"../../chunk-BSPCSC45.js";import"../../chunk-I54UCYOU.js";import"../../chunk-GOTN2KY4.js";import"../../chunk-R5L2E7JX.js";import"../../chunk-W4U4SHKW.js";import"../../chunk-RKTF5XLP.js";import"../../chunk-GCCBEY2W.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-S4AWJX4Q.js";import"../../chunk-ERR437B5.js";import"../../chunk-KG7RJWOK.js";import"../../chunk-VPFNZ7TB.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-V7U33NF2.js";import"../../chunk-5545A3PC.js";import"../../chunk-DD7A6RRL.js";import"../../chunk-PA3PNTVV.js";import"../../chunk-5ZBY24K7.js";import"../../chunk-BVN33R76.js";import"../../chunk-PPL7GB7D.js";import"../../chunk-KQMML6JM.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-ZXGQT75B.js";import"../../chunk-U7KFFC7N.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-VWXUMVCD.js";import"../../chunk-SJPKSE5G.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-26GHWMNN.js";import"../../chunk-XWFH2NHZ.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-RC25EGHD.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-BXMXTO36.js";import"../../chunk-EA2HTX37.js";import"../../chunk-OSPUG6S6.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-ECM5F6JJ.js";import"../../chunk-4VJATVVR.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-IE55HNMA.js";import"../../chunk-Z6PVRXVY.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-FGJSCWUN.js";import"../../chunk-Q6AM43CA.js";import"../../chunk-66LWADFP.js";import"../../chunk-65Z5FSAW.js";import"../../chunk-XJCMEEBH.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-546BBOPE.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-47RGVCPH.js";import"../../chunk-GG4FGBFR.js";import"../../chunk-67GNT6PF.js";import"../../chunk-ILXP5VX5.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
1
+ export{ScreenChrome as default}from"../../chunk-5R7FE4VT.js";import"../../chunk-FGNR22NY.js";import"../../chunk-2GVCAIPX.js";import"../../chunk-26OOWIJJ.js";import"../../chunk-LZS7JZK5.js";import"../../chunk-ZE7I3PLX.js";import"../../chunk-FHLYUIJJ.js";import"../../chunk-7F52SZOI.js";import"../../chunk-MQNBD6AB.js";import"../../chunk-TBF5CVPA.js";import"../../chunk-DUVRZ456.js";import"../../chunk-6W7WLPZH.js";import"../../chunk-4ES5JGGX.js";import"../../chunk-IQ5TA7AM.js";import"../../chunk-5NM5TPAX.js";import"../../chunk-O3RLI7XE.js";import"../../chunk-X4VIDPKV.js";import"../../chunk-IYT6NN2J.js";import"../../chunk-KCBEE2MC.js";import"../../chunk-TZIIRGVY.js";import"../../chunk-5QP7ZE35.js";import"../../chunk-EC2I7SIY.js";import"../../chunk-WUO2GBPO.js";import"../../chunk-47JTYRQC.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-S4AWJX4Q.js";import"../../chunk-KG7RJWOK.js";import"../../chunk-ERR437B5.js";import"../../chunk-VPFNZ7TB.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-BSPCSC45.js";import"../../chunk-I54UCYOU.js";import"../../chunk-GOTN2KY4.js";import"../../chunk-R5L2E7JX.js";import"../../chunk-W4U4SHKW.js";import"../../chunk-RKTF5XLP.js";import"../../chunk-V7U33NF2.js";import"../../chunk-5545A3PC.js";import"../../chunk-UX7UJPC5.js";import"../../chunk-PA3PNTVV.js";import"../../chunk-5ZBY24K7.js";import"../../chunk-BVN33R76.js";import"../../chunk-62VPYC7F.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-UMDQ6CLQ.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-WP7AZDCV.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-VVPZMWJE.js";import"../../chunk-IE55HNMA.js";import"../../chunk-Z6PVRXVY.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-2SOOKBHH.js";import"../../chunk-XWFH2NHZ.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-RC25EGHD.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-BXMXTO36.js";import"../../chunk-EA2HTX37.js";import"../../chunk-OSPUG6S6.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-4VJATVVR.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-QFVRMARS.js";import"../../chunk-AYWN5NRH.js";import"../../chunk-67GNT6PF.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KE2CXEIK.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-ECM5F6JJ.js";import"../../chunk-ILXP5VX5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";import"../../chunk-2XMHLXMA.js";import"../../chunk-G3GWAP5R.js";import"../../chunk-36LVP5WD.js";import"../../chunk-WRFD4EXD.js";import"../../chunk-WDQY6JMM.js";import"../../chunk-33C6ALT5.js";import"../../chunk-MFIRYGHW.js";
@@ -1 +1 @@
1
- export{ScreenDocumentContext,ScreenDocumentProvider,useScreenDocument}from"../../chunk-GCCBEY2W.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-S4AWJX4Q.js";import"../../chunk-ERR437B5.js";import"../../chunk-KG7RJWOK.js";import"../../chunk-VPFNZ7TB.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-VWXUMVCD.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MFIRYGHW.js";
1
+ export{ScreenDocumentContext,ScreenDocumentProvider,useScreenDocument}from"../../chunk-47JTYRQC.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-S4AWJX4Q.js";import"../../chunk-KG7RJWOK.js";import"../../chunk-ERR437B5.js";import"../../chunk-VPFNZ7TB.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-VVPZMWJE.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-MFIRYGHW.js";
@@ -1 +1 @@
1
- export{DocumentScreen,ScreenMount as default}from"../../chunk-BPFPM3L4.js";import"../../chunk-GXQCZJOP.js";import"../../chunk-4ACVXF5V.js";import"../../chunk-AZOCY74V.js";import"../../chunk-2GVCAIPX.js";import"../../chunk-26OOWIJJ.js";import"../../chunk-IFS5P7CO.js";import"../../chunk-FGNR22NY.js";import"../../chunk-ZE7I3PLX.js";import"../../chunk-DGAXQTDW.js";import"../../chunk-7F52SZOI.js";import"../../chunk-MQNBD6AB.js";import"../../chunk-BHRC3ASL.js";import"../../chunk-6W7WLPZH.js";import"../../chunk-4ES5JGGX.js";import"../../chunk-IQ5TA7AM.js";import"../../chunk-DUVRZ456.js";import"../../chunk-EXKKLTXH.js";import"../../chunk-KCBEE2MC.js";import"../../chunk-TZIIRGVY.js";import"../../chunk-EQFBUNEB.js";import"../../chunk-XWK7WZQS.js";import"../../chunk-IYT6NN2J.js";import"../../chunk-PPHUWGLZ.js";import"../../chunk-AFSSKGTD.js";import"../../chunk-BSPCSC45.js";import"../../chunk-I54UCYOU.js";import"../../chunk-GOTN2KY4.js";import"../../chunk-R5L2E7JX.js";import"../../chunk-W4U4SHKW.js";import"../../chunk-RKTF5XLP.js";import"../../chunk-GCCBEY2W.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-S4AWJX4Q.js";import"../../chunk-ERR437B5.js";import"../../chunk-KG7RJWOK.js";import"../../chunk-VPFNZ7TB.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-V7U33NF2.js";import"../../chunk-5545A3PC.js";import"../../chunk-DD7A6RRL.js";import"../../chunk-PA3PNTVV.js";import"../../chunk-5ZBY24K7.js";import"../../chunk-BVN33R76.js";import"../../chunk-PPL7GB7D.js";import"../../chunk-KQMML6JM.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-ZXGQT75B.js";import"../../chunk-U7KFFC7N.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-VWXUMVCD.js";import"../../chunk-SJPKSE5G.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-26GHWMNN.js";import"../../chunk-XWFH2NHZ.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-RC25EGHD.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-BXMXTO36.js";import"../../chunk-EA2HTX37.js";import"../../chunk-OSPUG6S6.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-ECM5F6JJ.js";import"../../chunk-4VJATVVR.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-IE55HNMA.js";import"../../chunk-Z6PVRXVY.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-FGJSCWUN.js";import"../../chunk-Q6AM43CA.js";import"../../chunk-66LWADFP.js";import"../../chunk-65Z5FSAW.js";import"../../chunk-XJCMEEBH.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-546BBOPE.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-47RGVCPH.js";import"../../chunk-GG4FGBFR.js";import"../../chunk-67GNT6PF.js";import"../../chunk-ILXP5VX5.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
1
+ export{DocumentScreen,ScreenMount as default}from"../../chunk-WY5U4XFO.js";import"../../chunk-GXQCZJOP.js";import"../../chunk-CZYR5V77.js";import"../../chunk-5R7FE4VT.js";import"../../chunk-FGNR22NY.js";import"../../chunk-2GVCAIPX.js";import"../../chunk-26OOWIJJ.js";import"../../chunk-LZS7JZK5.js";import"../../chunk-ZE7I3PLX.js";import"../../chunk-FHLYUIJJ.js";import"../../chunk-7F52SZOI.js";import"../../chunk-MQNBD6AB.js";import"../../chunk-TBF5CVPA.js";import"../../chunk-DUVRZ456.js";import"../../chunk-6W7WLPZH.js";import"../../chunk-4ES5JGGX.js";import"../../chunk-IQ5TA7AM.js";import"../../chunk-5NM5TPAX.js";import"../../chunk-O3RLI7XE.js";import"../../chunk-X4VIDPKV.js";import"../../chunk-IYT6NN2J.js";import"../../chunk-KCBEE2MC.js";import"../../chunk-TZIIRGVY.js";import"../../chunk-5QP7ZE35.js";import"../../chunk-EC2I7SIY.js";import"../../chunk-WUO2GBPO.js";import"../../chunk-47JTYRQC.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-S4AWJX4Q.js";import"../../chunk-KG7RJWOK.js";import"../../chunk-ERR437B5.js";import"../../chunk-VPFNZ7TB.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-BSPCSC45.js";import"../../chunk-I54UCYOU.js";import"../../chunk-GOTN2KY4.js";import"../../chunk-R5L2E7JX.js";import"../../chunk-W4U4SHKW.js";import"../../chunk-RKTF5XLP.js";import"../../chunk-V7U33NF2.js";import"../../chunk-5545A3PC.js";import"../../chunk-UX7UJPC5.js";import"../../chunk-PA3PNTVV.js";import"../../chunk-5ZBY24K7.js";import"../../chunk-BVN33R76.js";import"../../chunk-62VPYC7F.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-UMDQ6CLQ.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-WP7AZDCV.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-VVPZMWJE.js";import"../../chunk-IE55HNMA.js";import"../../chunk-Z6PVRXVY.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-2SOOKBHH.js";import"../../chunk-XWFH2NHZ.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-RC25EGHD.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-BXMXTO36.js";import"../../chunk-EA2HTX37.js";import"../../chunk-OSPUG6S6.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-4VJATVVR.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-QFVRMARS.js";import"../../chunk-AYWN5NRH.js";import"../../chunk-67GNT6PF.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KE2CXEIK.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-ECM5F6JJ.js";import"../../chunk-ILXP5VX5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";import"../../chunk-2XMHLXMA.js";import"../../chunk-G3GWAP5R.js";import"../../chunk-36LVP5WD.js";import"../../chunk-WRFD4EXD.js";import"../../chunk-WDQY6JMM.js";import"../../chunk-33C6ALT5.js";import"../../chunk-MFIRYGHW.js";
@@ -1 +1 @@
1
- export{ScreenStoreProvider as default}from"../../chunk-4ACVXF5V.js";import"../../chunk-U7KFFC7N.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-SJPKSE5G.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-26GHWMNN.js";import"../../chunk-XWFH2NHZ.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-RC25EGHD.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-EA2HTX37.js";import"../../chunk-ECM5F6JJ.js";import"../../chunk-FGJSCWUN.js";import"../../chunk-Q6AM43CA.js";import"../../chunk-66LWADFP.js";import"../../chunk-65Z5FSAW.js";import"../../chunk-XJCMEEBH.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-546BBOPE.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-67GNT6PF.js";import"../../chunk-ILXP5VX5.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
1
+ export{ScreenStoreProvider as default}from"../../chunk-CZYR5V77.js";import"../../chunk-WP7AZDCV.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-2SOOKBHH.js";import"../../chunk-XWFH2NHZ.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-RC25EGHD.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-EA2HTX37.js";import"../../chunk-67GNT6PF.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KE2CXEIK.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-ECM5F6JJ.js";import"../../chunk-ILXP5VX5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";import"../../chunk-2XMHLXMA.js";import"../../chunk-G3GWAP5R.js";import"../../chunk-36LVP5WD.js";import"../../chunk-WRFD4EXD.js";import"../../chunk-WDQY6JMM.js";import"../../chunk-33C6ALT5.js";import"../../chunk-MFIRYGHW.js";
@@ -1,16 +1,16 @@
1
- import{AddBlockRow as e}from"../../chunk-TWFM6GNK.js";import{slotChildRowName as n}from"../../chunk-BHRC3ASL.js";import"../../chunk-6W7WLPZH.js";import{scrollPreviewToSection as o,gotoPreviewSlide as r}from"../../chunk-4ES5JGGX.js";import"../../chunk-IQ5TA7AM.js";import"../../chunk-DUVRZ456.js";import{useEaselUndoKeys as t}from"../../chunk-EXKKLTXH.js";import{SlotChildActionsProvider as s}from"../../chunk-KCBEE2MC.js";import{DEFAULT_PANEL_W as i}from"../../chunk-TZIIRGVY.js";import{usePartBridge as c}from"../../chunk-EQFBUNEB.js";import{useSectionOps as p}from"../../chunk-XWK7WZQS.js";import"../../chunk-IYT6NN2J.js";import"../../chunk-I54UCYOU.js";import"../../chunk-GOTN2KY4.js";import"../../chunk-R5L2E7JX.js";import{useScreenDocument as l}from"../../chunk-GCCBEY2W.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-S4AWJX4Q.js";import"../../chunk-ERR437B5.js";import"../../chunk-KG7RJWOK.js";import"../../chunk-VPFNZ7TB.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-HQ4VVRIC.js";import{MediaSidePanel as m}from"../../chunk-ZXGQT75B.js";import{SELECTION_MODE as d,useScreenPinned as a,useScreenCanvasFrame as u,useScreenInspectorPanel as h,useScreenPickFollowsSelection as k,sameInspectorMode as f,useStandaloneScreenBridges as j,useScreenBlockLook as N,useScreenBlockRules as S}from"../../chunk-U7KFFC7N.js";import{slotFieldsOf as y,nestsInTree as C}from"../../chunk-PLVEGYK6.js";import{useMediaPanel as x,usePanelPick as A,useCancelPanelPick as R}from"../../chunk-R6WTQWAC.js";import{useHostEscape as E}from"../../chunk-U3JP4VGF.js";import{DEFAULT_SCREEN_WORDS as B}from"../../chunk-VWXUMVCD.js";import{useEasel as P}from"../../chunk-SJPKSE5G.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-26GHWMNN.js";import"../../chunk-XWFH2NHZ.js";import{LayersTree as F,Subtree as v,TreeRow as W,TreeRowAction as G,TreeSeam as H}from"../../chunk-4JSBIW5H.js";import"../../chunk-RC25EGHD.js";import{DEFAULT_TREE_WORDS as M}from"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-EA2HTX37.js";import"../../chunk-ECM5F6JJ.js";import"../../chunk-NDRZP6YR.js";import{DEFAULT_SAVE_WORDS as g,saveIndicator as w}from"../../chunk-H6DDIBQ4.js";import{SaveState as z,panelWidthVars as X}from"../../chunk-IE55HNMA.js";import"../../chunk-Z6PVRXVY.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-FGJSCWUN.js";import"../../chunk-Q6AM43CA.js";import"../../chunk-66LWADFP.js";import"../../chunk-65Z5FSAW.js";import"../../chunk-XJCMEEBH.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-546BBOPE.js";import{useWords as b}from"../../chunk-MFIRYGHW.js";import"../../chunk-47RGVCPH.js";import"../../chunk-GG4FGBFR.js";import{useTreeDrag as K}from"../../chunk-67GNT6PF.js";import"../../chunk-ILXP5VX5.js";import"../../chunk-P2VEMZH5.js";import{zoneKey as V,parseZoneKey as O}from"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";import{useState as J,useRef as L,useEffect as T,useCallback as Y,Fragment as D}from"react";import{Tooltip as Z}from"efficient-shell/ui";import{TrashIcon as I}from"efficient-shell/icons/efficient";import{jsxs as Q,jsx as $,Fragment as U}from"react/jsx-runtime";var q=e=>n=>{n.target.closest("button, input")||e()},_={rowClick:q};function ee(){const{saveState:ee,readOnly:ne,readOnlyReason:oe=null}=l(),re=p(),{appState:te,selectedItem:se,config:ie}=P(e=>e),[ce,pe]=J(d),le=b("screen",B),me=b("tree",M),de=b("save",g),{first:ae,last:ue,panelOf:he}=a(),ke=he(ae),fe=u(),je=h(),Ne=te.data.content?.[0]??null,Se=Ne?.props.id??null,ye=Ne?.type===ae,Ce=Ne?.type===ue,xe=L(null),Ae=L(null);t(Ae);const Re=x(),Ee=A(),Be=R();k(se?.props.id),T(()=>{const e=Ae.current;if(!Ee||!e)return;const n=e=>{"Escape"===e.key&&Be()};return e.addEventListener("keydown",n),()=>e.removeEventListener("keydown",n)},[Ee]),E(null!==Ee,()=>Be()),T(()=>{Se&&xe.current!==Se&&(xe.current=Se,ye?pe(ke??d):se||re.select({index:0}))},[Se,se,re,ye]);const Pe=Y(e=>pe(n=>f(n,e)?n:e),[]),Fe=j({kind:ce.kind,mode:ce,open:Pe,show:e=>pe(e),reveal:()=>{},select:(e,n)=>{pe(e=>f(e,n)?e:n),re.select(e)}}),{selectNode:ve}=c({mode:ce,setMode:pe,onOpenPart:o}),We=N(),{labelAtLevel:Ge,Icon:He}=We,{canAddTo:Me}=S(),ge=e=>Ge(e,"block",ie.components[e]?.label??e),we=e=>Ge(e,"section",ge(e)),ze=!ye&&"puck"===ce.kind&&se?.props.id===Se,Xe=Ne?Me(Ne.type)?.spec??null:null,be=Ne&&Xe?`${Ne.props.id}:${Xe.slot}`:null,Ke=Ne&&Xe&&Array.isArray(Ne.props[Xe.slot])?Ne.props[Xe.slot]:[],Ve=e=>n(e,ge,We.plainText),Oe=(e,n)=>{Ne&&Xe&&be&&(pe(d),Xe.slider?(r(String(Ne.props.id),e),re.select({index:e,zone:be}),o(String(Ne.props.id))):(re.select({index:e,zone:be}),o(n)))},Je=()=>{if(!Ne||!Xe||!be)return;const e=Ke.length;re.insertComponent(be,Xe.childType,e),pe(d),Xe.slider?requestAnimationFrame(()=>{r(String(Ne.props.id),e),re.select({index:e,zone:be})}):re.select({index:e,zone:be})},Le=e=>y(ie,e),Te=e=>{const{parentId:n,slot:o}=O(e),r=e=>{if(!e)return null;if(String(e.props.id)===n)return e;for(const n of Le(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(Ne)?.props[o];return Array.isArray(t)?t.length:0},Ye=(e,n,o)=>{const r=Math.min(Math.max(o,0),Te(e)),t=n<r?r-1:r;t!==n&&(re.reorderComponent(e,n,t),pe(d),re.select({index:t,zone:e}))},De=K({keyOf:e=>e.id,readOnly:Boolean(ne),canDrop:(e,n)=>V(n)===e.zone&&n.index>=0&&n.index<=Te(e.zone),onDrop:(e,n)=>Ye(e.zone,e.index,n.index),onStep:(e,n)=>Ye(e.zone,e.index,n<0?e.index-1:e.index+2)}),Ze=(e,n)=>/* @__PURE__ */$(H,{...ne?{}:De.seam({place:{...O(e),index:n}})},`seam:${e}:${n}`),Ie=e=>We.blockRowName(e,ge),Qe=(e,n,r)=>{pe(d),re.select({index:n,zone:e}),o(r)},$e=(e,n,o)=>{re.insertComponent(e,n,o),pe(d),re.select({index:o,zone:e})},Ue=(n,o,r)=>/* @__PURE__ */$(e,{choices:r,onPick:e=>$e(n,e,o)}),qe=(e,n)=>{const o=Le((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=Me(e.type),s=t?.choices??null,i="footer"===t?.source?Ie:Ve;/* @__PURE__ */
2
- return Q(U,{children:[o.map(({child:e,zone:o,index:r})=>{const t=se?.props.id===e.props.id,s=C(ie,e.type,n),c=i(e),p=String(e.props.id),l=()=>Qe(o,r,p),{rowProps:m,...a}=De.row({item:{id:p,zone:o,index:r},place:{...O(o),index:r}},{onClick:q(l)});/* @__PURE__ */
3
- return Q(D,{children:[0===r&&Ze(o,0),
4
- /* @__PURE__ */$(W,{words:me,icon:/* @__PURE__ */$(He,{type:e.type,size:13}),name:c,selected:t,onSelect:l,...a,actions:/* @__PURE__ */$(G,{kind:"delete",label:le.deleteNamed({name:c}),onClick:()=>{return e=o,n=r,re.removeComponent(e,n),pe(d),void re.select(null);var e,n},children:/* @__PURE__ */$(I,{size:13})}),rowProps:m}),s&&/* @__PURE__ */$(v,{children:qe(e,n+1)}),Ze(o,r+1)]},String(e.props.id??`${o}-${r}`))}),t&&s?Ue(`${e.props.id}:${t.slot}`,o.length,s):null]})},_e="HeroSingle"===Ne?.type,en=Boolean(Ne)&&(Boolean(Me(Ne.type))||Le(Ne.type).length>0),nn=Boolean(Ne)&&(Boolean(Xe)||Ce||ye||_e||en);/* @__PURE__ */
5
- return Q("div",{ref:Ae,className:"sf-editor es-editor",style:X(i),children:[
6
- /* @__PURE__ */$("div",{className:"sf-section-bar",children:/* @__PURE__ */$(z,null!==oe?{tone:"off",label:oe,role:"status"}:{...w(ee,de),role:"status"})}),
7
- /* @__PURE__ */Q("div",{className:"sf-body",children:[Ee&&Re?/* @__PURE__ */$("aside",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left",children:/* @__PURE__ */$(m,{panel:Re,pick:Ee})}):nn&&Ne&&/* @__PURE__ */Q("aside",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left",children:[
8
- /* @__PURE__ */$("div",{className:"sf-panel-head",children:/* @__PURE__ */$(Z,{content:ye?le.headerSettings:le.sectionSettings({name:we(Ne.type)}),side:"bottom",children:/* @__PURE__ */$("button",{type:"button",className:"sf-panel-title sf-panel-title--btn "+(ze?"is-selected":""),"aria-pressed":ze,onClick:()=>{ye?pe(ke??d):(pe(d),re.select({index:0}))},children:we(Ne.type)})})}),
9
- /* @__PURE__ */$(F,{className:"sf-tree sf-scroll",rootProps:De.rootProps(),words:me,children:/* @__PURE__ */$(v,{children:ye?
10
- /* @__PURE__ */$(W,{words:me,icon:/* @__PURE__ */$(He,{type:"header",size:13}),name:le.headerSettings,selected:ce.kind===ke?.kind,onSelect:()=>pe(ke??d),rowProps:{onClick:q(()=>pe(ke??d))}}):Xe?/* @__PURE__ */Q(U,{children:[Ke.map((e,n)=>{const o=se?.props.id===e.props.id,r=Ve(e),t=String(e.props.id),s=()=>Oe(n,t),{rowProps:i,...c}=De.row({item:{id:t,zone:be,index:n},place:{...O(be),index:n}},{onClick:q(s)});/* @__PURE__ */
11
- return Q(D,{children:[0===n&&Ze(be,0),
12
- /* @__PURE__ */$(W,{words:me,icon:/* @__PURE__ */$(He,{type:e.type,size:13}),name:r,selected:o,onSelect:s,...c,actions:/* @__PURE__ */$(G,{kind:"delete",label:le.deleteNamed({name:r}),onClick:()=>{return e=n,void(be&&(re.removeComponent(be,e),pe(d),re.select(null)));var e},children:/* @__PURE__ */$(I,{size:13})}),rowProps:i}),Ze(be,n+1)]},String(e.props.id??n))}),
13
- /* @__PURE__ */Q("button",{type:"button",className:"sf-add-card",onClick:Je,children:[
14
- /* @__PURE__ */$("span",{className:"sf-plus sf-plus--sm",children:"+"}),Xe.addLabel]}),Se?Fe.partRows?.(Ne,_):null]}):qe(Ne,1)})})]}),
1
+ import{AddBlockRow as e}from"../../chunk-XY5ZHRMR.js";import{slotChildRowName as n}from"../../chunk-TBF5CVPA.js";import"../../chunk-DUVRZ456.js";import"../../chunk-6W7WLPZH.js";import{scrollPreviewToSection as o,gotoPreviewSlide as r}from"../../chunk-4ES5JGGX.js";import"../../chunk-IQ5TA7AM.js";import{useEaselUndoKeys as t}from"../../chunk-5NM5TPAX.js";import{usePartBridge as s}from"../../chunk-O3RLI7XE.js";import{useSectionOps as i}from"../../chunk-X4VIDPKV.js";import"../../chunk-IYT6NN2J.js";import{SlotChildActionsProvider as c}from"../../chunk-KCBEE2MC.js";import{DEFAULT_PANEL_W as p}from"../../chunk-TZIIRGVY.js";import{MediaSidePanel as l}from"../../chunk-5QP7ZE35.js";import{useScreenDocument as m}from"../../chunk-47JTYRQC.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-S4AWJX4Q.js";import"../../chunk-KG7RJWOK.js";import"../../chunk-ERR437B5.js";import"../../chunk-VPFNZ7TB.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-I54UCYOU.js";import"../../chunk-GOTN2KY4.js";import"../../chunk-R5L2E7JX.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-HQ4VVRIC.js";import{SELECTION_MODE as d,useScreenPinned as a,useScreenCanvasFrame as u,useScreenInspectorPanel as h,useScreenPickFollowsSelection as k,sameInspectorMode as f,useStandaloneScreenBridges as j,useScreenBlockLook as y,useScreenBlockRules as N}from"../../chunk-WP7AZDCV.js";import{slotFieldsOf as S,nestsInTree as R}from"../../chunk-PLVEGYK6.js";import{useMediaPanel as C,usePanelPick as P,useCancelPanelPick as A}from"../../chunk-R6WTQWAC.js";import{useHostEscape as x}from"../../chunk-U3JP4VGF.js";import{DEFAULT_SCREEN_WORDS as M}from"../../chunk-VVPZMWJE.js";import{SaveState as E,panelWidthVars as v}from"../../chunk-IE55HNMA.js";import"../../chunk-Z6PVRXVY.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-2SOOKBHH.js";import"../../chunk-XWFH2NHZ.js";import{LayersTree as V,Subtree as H,TreeRow as g,TreeRowAction as W,TreeSeam as X}from"../../chunk-4JSBIW5H.js";import"../../chunk-RC25EGHD.js";import{DEFAULT_TREE_WORDS as w}from"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-EA2HTX37.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-NDRZP6YR.js";import{DEFAULT_SAVE_WORDS as z,saveIndicator as D}from"../../chunk-H6DDIBQ4.js";import"../../chunk-QFVRMARS.js";import"../../chunk-AYWN5NRH.js";import{useTreeDrag as O}from"../../chunk-67GNT6PF.js";import"../../chunk-P2VEMZH5.js";import{useEasel as b}from"../../chunk-KE2CXEIK.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-ECM5F6JJ.js";import"../../chunk-ILXP5VX5.js";import{zoneKey as Y,parseZoneKey as B}from"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";import"../../chunk-2XMHLXMA.js";import"../../chunk-G3GWAP5R.js";import"../../chunk-36LVP5WD.js";import"../../chunk-WRFD4EXD.js";import"../../chunk-WDQY6JMM.js";import"../../chunk-33C6ALT5.js";import{useWords as I}from"../../chunk-MFIRYGHW.js";import{useState as T,useRef as J,useEffect as K,useCallback as L,Fragment as Z}from"react";import{Tooltip as F}from"efficient-shell/ui";import{TrashIcon as G}from"efficient-shell/icons/efficient";import{jsxs as Q,jsx as $,Fragment as U}from"react/jsx-runtime";var q=e=>n=>{n.target.closest("button, input")||e()},_={rowClick:q};function ee(){const{saveState:ee,readOnly:ne,readOnlyReason:oe=null}=m(),re=i(),{appState:te,selectedItem:se,config:ie}=b(e=>e),[ce,pe]=T(d),le=I("screen",M),me=I("tree",w),de=I("save",z),{first:ae,last:ue,panelOf:he}=a(),ke=he(ae),fe=u(),je=h(),ye=te.data.content?.[0]??null,Ne=ye?.props.id??null,Se=ye?.type===ae,Re=ye?.type===ue,Ce=J(null),Pe=J(null);t(Pe);const Ae=C(),xe=P(),Me=A();k(se?.props.id),K(()=>{const e=Pe.current;if(!xe||!e)return;const n=e=>{"Escape"===e.key&&Me()};return e.addEventListener("keydown",n),()=>e.removeEventListener("keydown",n)},[xe]),x(null!==xe,()=>Me()),K(()=>{Ne&&Ce.current!==Ne&&(Ce.current=Ne,Se?pe(ke??d):se||re.select({index:0}))},[Ne,se,re,Se]);const Ee=L(e=>pe(n=>f(n,e)?n:e),[]),ve=j({kind:ce.kind,mode:ce,open:Ee,show:e=>pe(e),reveal:()=>{},select:(e,n)=>{pe(e=>f(e,n)?e:n),re.select(e)}}),{selectNode:Ve}=s({mode:ce,setMode:pe,onOpenPart:o}),He=y(),{labelAtLevel:ge,Icon:We}=He,{canAddTo:Xe}=N(),we=e=>ge(e,"block",ie.components[e]?.label??e),ze=e=>ge(e,"section",we(e)),De=!Se&&"puck"===ce.kind&&se?.props.id===Ne,Oe=ye?Xe(ye.type)?.spec??null:null,be=ye&&Oe?`${ye.props.id}:${Oe.slot}`:null,Ye=ye&&Oe&&Array.isArray(ye.props[Oe.slot])?ye.props[Oe.slot]:[],Be=e=>n(e,we,He.plainText),Ie=(e,n)=>{ye&&Oe&&be&&(pe(d),Oe.slider?(r(String(ye.props.id),e),re.select({index:e,zone:be}),o(String(ye.props.id))):(re.select({index:e,zone:be}),o(n)))},Te=()=>{if(!ye||!Oe||!be)return;const e=Ye.length;re.insertComponent(be,Oe.childType,e),pe(d),Oe.slider?requestAnimationFrame(()=>{r(String(ye.props.id),e),re.select({index:e,zone:be})}):re.select({index:e,zone:be})},Je=e=>S(ie,e),Ke=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 Je(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(ye)?.props[o];return Array.isArray(t)?t.length:0},Le=(e,n,o)=>{const r=Math.min(Math.max(o,0),Ke(e)),t=n<r?r-1:r;t!==n&&(re.reorderComponent(e,n,t),pe(d),re.select({index:t,zone:e}))},Ze=O({keyOf:e=>e.id,readOnly:Boolean(ne),canDrop:(e,n)=>Y(n)===e.zone&&n.index>=0&&n.index<=Ke(e.zone),onDrop:(e,n)=>Le(e.zone,e.index,n.index),onStep:(e,n)=>Le(e.zone,e.index,n<0?e.index-1:e.index+2)}),Fe=(e,n)=>/* @__PURE__ */$(X,{...ne?{}:Ze.seam({place:{...B(e),index:n}})},`seam:${e}:${n}`),Ge=e=>He.blockRowName(e,we),Qe=(e,n,r)=>{pe(d),re.select({index:n,zone:e}),o(r)},$e=(e,n,o)=>{re.insertComponent(e,n,o),pe(d),re.select({index:o,zone:e})},Ue=(n,o,r)=>/* @__PURE__ */$(e,{choices:r,onPick:e=>$e(n,e,o)}),qe=(e,n)=>{const o=Je((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=Xe(e.type),s=t?.choices??null,i="footer"===t?.source?Ge:Be;/* @__PURE__ */
2
+ return Q(U,{children:[o.map(({child:e,zone:o,index:r})=>{const t=se?.props.id===e.props.id,s=R(ie,e.type,n),c=i(e),p=String(e.props.id),l=()=>Qe(o,r,p),{rowProps:m,...a}=Ze.row({item:{id:p,zone:o,index:r},place:{...B(o),index:r}},{onClick:q(l)});/* @__PURE__ */
3
+ return Q(Z,{children:[0===r&&Fe(o,0),
4
+ /* @__PURE__ */$(g,{words:me,icon:/* @__PURE__ */$(We,{type:e.type,size:13}),name:c,selected:t,onSelect:l,...a,actions:/* @__PURE__ */$(W,{kind:"delete",label:le.deleteNamed({name:c}),onClick:()=>{return e=o,n=r,re.removeComponent(e,n),pe(d),void re.select(null);var e,n},children:/* @__PURE__ */$(G,{size:13})}),rowProps:m}),s&&/* @__PURE__ */$(H,{children:qe(e,n+1)}),Fe(o,r+1)]},String(e.props.id??`${o}-${r}`))}),t&&s?Ue(`${e.props.id}:${t.slot}`,o.length,s):null]})},_e="HeroSingle"===ye?.type,en=Boolean(ye)&&(Boolean(Xe(ye.type))||Je(ye.type).length>0),nn=Boolean(ye)&&(Boolean(Oe)||Re||Se||_e||en);/* @__PURE__ */
5
+ return Q("div",{ref:Pe,className:"sf-editor es-editor",style:v(p),children:[
6
+ /* @__PURE__ */$("div",{className:"sf-section-bar",children:/* @__PURE__ */$(E,null!==oe?{tone:"off",label:oe,role:"status"}:{...D(ee,de),role:"status"})}),
7
+ /* @__PURE__ */Q("div",{className:"sf-body",children:[xe&&Ae?/* @__PURE__ */$("aside",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left",children:/* @__PURE__ */$(l,{panel:Ae,pick:xe})}):nn&&ye&&/* @__PURE__ */Q("aside",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left",children:[
8
+ /* @__PURE__ */$("div",{className:"sf-panel-head",children:/* @__PURE__ */$(F,{content:Se?le.headerSettings:le.sectionSettings({name:ze(ye.type)}),side:"bottom",children:/* @__PURE__ */$("button",{type:"button",className:"sf-panel-title sf-panel-title--btn "+(De?"is-selected":""),"aria-pressed":De,onClick:()=>{Se?pe(ke??d):(pe(d),re.select({index:0}))},children:ze(ye.type)})})}),
9
+ /* @__PURE__ */$(V,{className:"sf-tree sf-scroll",rootProps:Ze.rootProps(),words:me,children:/* @__PURE__ */$(H,{children:Se?
10
+ /* @__PURE__ */$(g,{words:me,icon:/* @__PURE__ */$(We,{type:"header",size:13}),name:le.headerSettings,selected:ce.kind===ke?.kind,onSelect:()=>pe(ke??d),rowProps:{onClick:q(()=>pe(ke??d))}}):Oe?/* @__PURE__ */Q(U,{children:[Ye.map((e,n)=>{const o=se?.props.id===e.props.id,r=Be(e),t=String(e.props.id),s=()=>Ie(n,t),{rowProps:i,...c}=Ze.row({item:{id:t,zone:be,index:n},place:{...B(be),index:n}},{onClick:q(s)});/* @__PURE__ */
11
+ return Q(Z,{children:[0===n&&Fe(be,0),
12
+ /* @__PURE__ */$(g,{words:me,icon:/* @__PURE__ */$(We,{type:e.type,size:13}),name:r,selected:o,onSelect:s,...c,actions:/* @__PURE__ */$(W,{kind:"delete",label:le.deleteNamed({name:r}),onClick:()=>{return e=n,void(be&&(re.removeComponent(be,e),pe(d),re.select(null)));var e},children:/* @__PURE__ */$(G,{size:13})}),rowProps:i}),Fe(be,n+1)]},String(e.props.id??n))}),
13
+ /* @__PURE__ */Q("button",{type:"button",className:"sf-add-card",onClick:Te,children:[
14
+ /* @__PURE__ */$("span",{className:"sf-plus sf-plus--sm",children:"+"}),Oe.addLabel]}),Ne?ve.partRows?.(ye,_):null]}):qe(ye,1)})})]}),
15
15
  /* @__PURE__ */$("div",{className:"sf-center",children:/* @__PURE__ */$("div",{className:"sf-preview-host",children:/* @__PURE__ */$(fe,{})})}),
16
- /* @__PURE__ */$(s,{value:{selectChild:(e,n,o,r)=>"section"===Me(r)?.source?Oe(n,o):Qe(e,n,o),addChild:(e,n,o,r,t)=>"section"===Me(t)?.source?Je():$e(`${e}:${n}`,o,r),childRowName:Ve,blockRowName:Ie},children:/* @__PURE__ */$(je,{mode:ce,onOpenWebsiteSettings:Fe.openSettings??(()=>{}),onSelectNode:ve,hideNodeActions:!0})})]})]})}export{ee as default};
16
+ /* @__PURE__ */$(c,{value:{selectChild:(e,n,o,r)=>"section"===Xe(r)?.source?Ie(n,o):Qe(e,n,o),addChild:(e,n,o,r,t)=>"section"===Xe(t)?.source?Te():$e(`${e}:${n}`,o,r),childRowName:Be,blockRowName:Ge},children:/* @__PURE__ */$(je,{mode:ce,onOpenWebsiteSettings:ve.openSettings??(()=>{}),onSelectNode:Ve,hideNodeActions:!0})})]})]})}export{ee as default};
@@ -1 +1 @@
1
- export{PanelHideButton,PanelModeExit,PanelShowStrip,SidePanelHead as default}from"../../chunk-PPL7GB7D.js";import"../../chunk-KQMML6JM.js";import"../../chunk-IE55HNMA.js";import"../../chunk-Z6PVRXVY.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-MFIRYGHW.js";
1
+ export{PanelHideButton,PanelModeExit,PanelShowStrip,SidePanelHead as default}from"../../chunk-62VPYC7F.js";import"../../chunk-UMDQ6CLQ.js";import"../../chunk-IE55HNMA.js";import"../../chunk-Z6PVRXVY.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-MFIRYGHW.js";
@@ -1 +1 @@
1
- export{usePartBridge}from"../../chunk-EQFBUNEB.js";import"../../chunk-XWK7WZQS.js";import"../../chunk-IYT6NN2J.js";import"../../chunk-I54UCYOU.js";import"../../chunk-GOTN2KY4.js";import"../../chunk-R5L2E7JX.js";import"../../chunk-U7KFFC7N.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-SJPKSE5G.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-26GHWMNN.js";import"../../chunk-XWFH2NHZ.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-RC25EGHD.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-EA2HTX37.js";import"../../chunk-ECM5F6JJ.js";import"../../chunk-FGJSCWUN.js";import"../../chunk-Q6AM43CA.js";import"../../chunk-66LWADFP.js";import"../../chunk-65Z5FSAW.js";import"../../chunk-XJCMEEBH.js";import"../../chunk-FFYXVAAL.js";import"../../chunk-546BBOPE.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-67GNT6PF.js";import"../../chunk-ILXP5VX5.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
1
+ export{usePartBridge}from"../../chunk-O3RLI7XE.js";import"../../chunk-X4VIDPKV.js";import"../../chunk-IYT6NN2J.js";import"../../chunk-I54UCYOU.js";import"../../chunk-GOTN2KY4.js";import"../../chunk-R5L2E7JX.js";import"../../chunk-WP7AZDCV.js";import"../../chunk-PLVEGYK6.js";import"../../chunk-R6WTQWAC.js";import"../../chunk-U3JP4VGF.js";import"../../chunk-2SOOKBHH.js";import"../../chunk-XWFH2NHZ.js";import"../../chunk-4JSBIW5H.js";import"../../chunk-RC25EGHD.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-EA2HTX37.js";import"../../chunk-67GNT6PF.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-KE2CXEIK.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-ECM5F6JJ.js";import"../../chunk-ILXP5VX5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";import"../../chunk-2XMHLXMA.js";import"../../chunk-G3GWAP5R.js";import"../../chunk-36LVP5WD.js";import"../../chunk-WRFD4EXD.js";import"../../chunk-WDQY6JMM.js";import"../../chunk-33C6ALT5.js";import"../../chunk-MFIRYGHW.js";