efficient-easel 21.0.0 → 22.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -23
- package/dist/{CanvasDragLayer-Cd1o0HQf.d.ts → CanvasDragLayer-B6Yn9S8T.d.ts} +4 -4
- package/dist/{ScreenDocumentContext-CFJeqqKk.d.ts → ScreenDocumentContext-BIK3uWtF.d.ts} +8 -4
- package/dist/blocks/index.d.ts +17 -17
- package/dist/{buckets-Tj-nkBpg.d.ts → buckets-_MGDYJlb.d.ts} +2 -2
- package/dist/canvas/index.d.ts +9 -9
- package/dist/canvas/index.js +1 -1
- package/dist/chunk-467WWV4I.js +1 -0
- package/dist/chunk-4LGROS5L.js +1 -0
- package/dist/{chunk-2GVCAIPX.js → chunk-BDSLF5BR.js} +1 -1
- package/dist/{chunk-U66YKDAR.js → chunk-BIK3AO2V.js} +1 -1
- package/dist/chunk-BTDI7JAA.js +2 -0
- package/dist/chunk-CUZQ2HMA.js +18 -0
- package/dist/chunk-DDH2DYQP.js +1 -0
- package/dist/chunk-GHBK7BKL.js +1 -0
- package/dist/{chunk-FOHHXSOL.js → chunk-IROEWITG.js} +1 -1
- package/dist/chunk-IYYE7VJN.js +65 -0
- package/dist/chunk-KN2TIXUT.js +1 -0
- package/dist/{chunk-MSGZ56QL.js → chunk-KWLHKKZO.js} +1 -1
- package/dist/{chunk-43AEUUNQ.js → chunk-N3MJOHAG.js} +1 -1
- package/dist/{chunk-BVN33R76.js → chunk-N7E6264U.js} +1 -1
- package/dist/{chunk-66JNVRQM.js → chunk-RY5AWQ63.js} +1 -1
- package/dist/chunk-SJMS247S.js +5 -0
- package/dist/chunk-SNF5764Q.js +1 -0
- package/dist/chunk-SSRYU3YG.js +1 -0
- package/dist/{chunk-R4QJ6DC5.js → chunk-SWBADIQT.js} +1 -1
- package/dist/{chunk-GOTN2KY4.js → chunk-TIAWIOGD.js} +1 -1
- package/dist/{chunk-HGCGIRVA.js → chunk-TLN5ZT76.js} +1 -1
- package/dist/chunk-TXR7GC5A.js +8 -0
- package/dist/{chunk-FGNR22NY.js → chunk-UMBNBCL4.js} +1 -1
- package/dist/chunk-WJSEWAWK.js +15 -0
- package/dist/{chunk-V2ULLALL.js → chunk-XWKQP6AE.js} +3 -3
- package/dist/{chunk-EZTP6E2M.js → chunk-YC6KLSW3.js} +1 -1
- package/dist/{chunk-O7Q4DDJT.js → chunk-YM4UEGBV.js} +1 -1
- package/dist/{chunk-N2RISV46.js → chunk-ZOSEBPAI.js} +1 -1
- package/dist/copy/index.d.ts +2 -2
- package/dist/data/index.d.ts +21 -21
- package/dist/drag/index.d.ts +5 -5
- package/dist/drag/index.js +1 -1
- package/dist/draw/client.d.ts +1 -1
- package/dist/draw/client.js +1 -1
- package/dist/draw/index.d.ts +8 -8
- package/dist/draw/index.js +1 -1
- package/dist/easel/easel.css +5 -5
- package/dist/easel/index.d.ts +57 -57
- package/dist/easel/index.js +1 -1
- package/dist/edit-lock/index.d.ts +5 -5
- package/dist/fields/fields.css +1 -1
- package/dist/fields/index.d.ts +17 -17
- package/dist/node-ops/index.d.ts +3 -3
- package/dist/panel/index.d.ts +4 -4
- package/dist/panel/panel.css +1 -1
- package/dist/{plan-CZS902DV.d.ts → plan-CRUh2kVK.d.ts} +5 -5
- package/dist/render/index.d.ts +19 -19
- package/dist/render/index.js +5 -5
- package/dist/{repeat-Czi-6zPX.d.ts → repeat-D65bJS8d.d.ts} +1 -1
- package/dist/{resolve-D68pb3Bx.d.ts → resolve-AJ6WF4EL.d.ts} +5 -5
- package/dist/screen/components/AddBlockRow.d.ts +1 -1
- package/dist/screen/components/AddBlockRow.js +1 -1
- package/dist/screen/components/AddSidePanel.d.ts +4 -4
- package/dist/screen/components/AddSidePanel.js +1 -1
- package/dist/screen/components/NodeContextMenu.d.ts +21 -21
- package/dist/screen/components/NodeContextMenu.js +1 -1
- package/dist/screen/components/PageEditGuardNotices.js +1 -1
- package/dist/screen/components/PreviewDeviceContext.d.ts +1 -1
- package/dist/screen/components/PreviewPartsContext.d.ts +4 -4
- package/dist/screen/components/PreviewPartsContext.js +1 -1
- package/dist/screen/components/SaveControls.d.ts +12 -12
- package/dist/screen/components/ScreenChrome.js +1 -1
- package/dist/screen/components/ScreenDocumentContext.d.ts +6 -6
- package/dist/screen/components/ScreenDocumentContext.js +1 -1
- package/dist/screen/components/ScreenMount.d.ts +12 -12
- package/dist/screen/components/ScreenMount.js +1 -1
- package/dist/screen/components/ScreenStoreProvider.d.ts +16 -16
- package/dist/screen/components/ScreenStoreProvider.js +1 -1
- package/dist/screen/components/SectionScreenShell.js +17 -17
- package/dist/screen/components/SlotChildActionsContext.d.ts +1 -1
- package/dist/screen/components/usePartBridge.d.ts +14 -14
- package/dist/screen/components/usePartBridge.js +1 -1
- package/dist/screen/index.d.ts +13 -13
- package/dist/screen/index.js +1 -1
- package/dist/screen/lib/admin-bridge.d.ts +5 -5
- package/dist/screen/lib/admin-bridge.js +1 -1
- package/dist/screen/lib/content/view-tiers.d.ts +1 -1
- package/dist/screen/lib/{puck → document}/add-target-types.d.ts +1 -1
- package/dist/screen/lib/{puck → document}/block-choice.d.ts +3 -3
- package/dist/screen/lib/document/block-choice.js +1 -0
- package/dist/screen/lib/document/block-types-in.js +1 -0
- package/dist/screen/lib/{puck → document}/content-tree.d.ts +7 -7
- package/dist/screen/lib/{puck → document}/content-tree.js +1 -1
- package/dist/screen/lib/{puck → document}/device-fields.d.ts +8 -8
- package/dist/screen/lib/{puck → document}/device-fields.js +1 -1
- package/dist/screen/lib/{puck → document}/field-buckets.d.ts +3 -3
- package/dist/screen/lib/document/field-buckets.js +1 -0
- package/dist/screen/lib/{puck → document}/field-markers.d.ts +15 -15
- package/dist/screen/lib/{puck → document}/field-markers.js +1 -1
- package/dist/screen/lib/{puck → document}/hidable.d.ts +3 -3
- package/dist/screen/lib/document/hidable.js +1 -0
- package/dist/screen/lib/{puck → document}/palette-sections.d.ts +7 -7
- package/dist/screen/lib/{puck → document}/palette-sections.js +1 -1
- package/dist/screen/lib/{puck → document}/panel-fields.d.ts +6 -6
- package/dist/screen/lib/document/panel-fields.js +1 -0
- package/dist/screen/lib/{puck → document}/panel-no-control-mark.d.ts +5 -6
- package/dist/screen/lib/{puck → document}/panel-no-control-mark.js +1 -1
- package/dist/screen/lib/{puck → document}/part-id.d.ts +3 -3
- package/dist/screen/lib/document/part-id.js +1 -0
- package/dist/screen/lib/{puck → document}/preview-click.d.ts +1 -1
- package/dist/screen/lib/document/preview-click.js +1 -0
- package/dist/screen/lib/{puck → document}/preview-dom.js +1 -1
- package/dist/screen/lib/{puck → document}/preview-events.d.ts +4 -4
- package/dist/screen/lib/document/preview-events.js +1 -0
- package/dist/screen/lib/{puck → document}/preview-selection-context.d.ts +2 -2
- package/dist/screen/lib/{puck → document}/preview-selection-context.js +1 -1
- package/dist/screen/lib/{puck → document}/section-doc.d.ts +5 -5
- package/dist/screen/lib/{puck → document}/section-doc.js +1 -1
- package/dist/screen/lib/{puck → document}/slot-child-name.d.ts +2 -2
- package/dist/screen/lib/document/slot-child-name.js +1 -0
- package/dist/screen/lib/document/slot-heal.js +1 -0
- package/dist/screen/lib/{puck → document}/slot-section-spec.d.ts +3 -3
- package/dist/screen/lib/{puck → document}/style-clipboard.d.ts +9 -9
- package/dist/screen/lib/document/style-clipboard.js +1 -0
- package/dist/screen/lib/{puck → document}/text-control-kinds.d.ts +4 -4
- package/dist/screen/lib/{puck → document}/text-control-kinds.js +1 -1
- package/dist/screen/lib/{puck → document}/tree-reveal.d.ts +6 -6
- package/dist/screen/lib/{puck → document}/tree-reveal.js +1 -1
- package/dist/screen/lib/{puck → document}/use-section-ops.d.ts +6 -6
- package/dist/screen/lib/document/use-section-ops.js +1 -0
- package/dist/screen/lib/document-addressing.d.ts +6 -6
- package/dist/screen/lib/document-hooks.d.ts +4 -4
- package/dist/screen/lib/document-switch.d.ts +1 -1
- package/dist/screen/lib/host.d.ts +6 -6
- package/dist/screen/lib/key-scope.d.ts +1 -1
- package/dist/screen/lib/key-scope.js +1 -1
- package/dist/screen/lib/media-panel.d.ts +6 -6
- package/dist/screen/lib/media-picker.d.ts +7 -7
- package/dist/screen/lib/page-lock.d.ts +5 -5
- package/dist/screen/lib/screen-parts.d.ts +30 -26
- package/dist/screen/lib/screen-parts.js +1 -1
- package/dist/screen/lib/section-template-types.d.ts +1 -1
- package/dist/screen/lib/section-templates.d.ts +5 -5
- package/dist/screen/lib/section-templates.js +1 -1
- package/dist/screen/lib/session-context.d.ts +5 -5
- package/dist/screen/lib/session-context.js +1 -1
- package/dist/screen/lib/session.d.ts +8 -8
- package/dist/screen/lib/session.js +1 -1
- package/dist/screen/lib/shared-section-types.d.ts +1 -1
- package/dist/screen/lib/shared-sections.d.ts +5 -5
- package/dist/screen/lib/shared-sections.js +1 -1
- package/dist/screen/screen.css +17 -17
- package/dist/{session-DSQFmIvx.d.ts → session-CrWwDt7Z.d.ts} +1 -1
- package/dist/strings/index.d.ts +2 -2
- package/dist/strings/index.js +1 -1
- package/dist/style-clipboard/index.d.ts +2 -2
- package/dist/tree/index.d.ts +1 -1
- package/dist/{types-CDX6vd6A.d.ts → types-BFd8FqQw.d.ts} +3 -3
- package/dist/{types-Cq53lL8d.d.ts → types-DFxBChE3.d.ts} +18 -18
- package/dist/{types-41704JE4.d.ts → types-DlQIM1YO.d.ts} +8 -8
- package/dist/{useNodeOps-fIDWzftn.d.ts → useNodeOps-C_nisDHh.d.ts} +2 -2
- package/dist/{watch-BTYOJpQU.d.ts → watch-D0bNZRtU.d.ts} +5 -5
- package/dist/{words-BeX5eGq7.d.ts → words-fbR9IwxH.d.ts} +1 -1
- package/package.json +145 -145
- package/dist/chunk-2E2SXDYQ.js +0 -1
- package/dist/chunk-2M4T27BI.js +0 -18
- package/dist/chunk-4IJVV7DA.js +0 -1
- package/dist/chunk-7L3NKHEC.js +0 -15
- package/dist/chunk-APVUYICP.js +0 -65
- package/dist/chunk-BHRC3ASL.js +0 -1
- package/dist/chunk-I54UCYOU.js +0 -1
- package/dist/chunk-LXTM2OLQ.js +0 -2
- package/dist/chunk-NA3GMA43.js +0 -5
- package/dist/chunk-OBWDHKLI.js +0 -8
- package/dist/chunk-Q2A7RHG2.js +0 -1
- package/dist/chunk-QIDRJH3S.js +0 -1
- package/dist/chunk-RSCMJIWS.js +0 -1
- package/dist/screen/lib/puck/block-choice.js +0 -1
- package/dist/screen/lib/puck/block-types-in.js +0 -1
- package/dist/screen/lib/puck/field-buckets.js +0 -1
- package/dist/screen/lib/puck/hidable.js +0 -1
- package/dist/screen/lib/puck/panel-fields.js +0 -1
- package/dist/screen/lib/puck/part-id.js +0 -1
- package/dist/screen/lib/puck/preview-click.js +0 -1
- package/dist/screen/lib/puck/preview-events.js +0 -1
- package/dist/screen/lib/puck/slot-child-name.js +0 -1
- package/dist/screen/lib/puck/slot-heal.js +0 -1
- package/dist/screen/lib/puck/style-clipboard.js +0 -1
- package/dist/screen/lib/puck/use-section-ops.js +0 -1
- /package/dist/{chunk-MQNBD6AB.js → chunk-3QB2ZQXK.js} +0 -0
- /package/dist/{chunk-LER7RKTO.js → chunk-5XL2RXFU.js} +0 -0
- /package/dist/{chunk-6W7WLPZH.js → chunk-6UAEFOJ4.js} +0 -0
- /package/dist/{chunk-26OOWIJJ.js → chunk-7OCEPOEJ.js} +0 -0
- /package/dist/{chunk-IQ5TA7AM.js → chunk-AJ2SUSET.js} +0 -0
- /package/dist/{chunk-DUVRZ456.js → chunk-ANPOR6EY.js} +0 -0
- /package/dist/{chunk-5ZBY24K7.js → chunk-CPL43ZLJ.js} +0 -0
- /package/dist/{chunk-PIND6KE7.js → chunk-I6SK6ZDT.js} +0 -0
- /package/dist/{chunk-7F52SZOI.js → chunk-INRERJU4.js} +0 -0
- /package/dist/{chunk-R5L2E7JX.js → chunk-MGVI67QV.js} +0 -0
- /package/dist/{chunk-IYT6NN2J.js → chunk-R4AUZVA3.js} +0 -0
- /package/dist/{chunk-M2Z775ZC.js → chunk-RUQOIQWI.js} +0 -0
- /package/dist/{chunk-PLVEGYK6.js → chunk-TCAAOYQY.js} +0 -0
- /package/dist/{chunk-PA3PNTVV.js → chunk-VKPOH6MK.js} +0 -0
- /package/dist/screen/lib/{puck → document}/add-target-types.js +0 -0
- /package/dist/screen/lib/{puck → document}/block-types-in.d.ts +0 -0
- /package/dist/screen/lib/{puck → document}/preview-dom.d.ts +0 -0
- /package/dist/screen/lib/{puck → document}/slot-heal.d.ts +0 -0
- /package/dist/screen/lib/{puck → document}/slot-section-spec.js +0 -0
package/dist/fields/fields.css
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* The rows and the groups are `panel.css`'s (SettingsField, SettingsGroup),
|
|
5
5
|
* and the tabs are the shell's `Tabs`. The panel's rhythm is defined in
|
|
6
6
|
* `panel.css` ONCE (`--es-row-gap`, `--es-rhythm-*`), so this file adds no spacing between rows
|
|
7
|
-
* and no spacing between groups. What it adds is what a row HOLDS where
|
|
7
|
+
* and no spacing between groups. What it adds is what a row HOLDS where the old editor
|
|
8
8
|
* used to put the browser's own: a text box, a number box, a dropdown.
|
|
9
9
|
*
|
|
10
10
|
* Every colour is a shell token (`shell.css`), so the dark editor is the same
|
package/dist/fields/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { S as SettingsBucket } from '../buckets-
|
|
4
|
-
export { D as DesignGroup } from '../buckets-
|
|
3
|
+
import { S as SettingsBucket } from '../buckets-_MGDYJlb.js';
|
|
4
|
+
export { D as DesignGroup } from '../buckets-_MGDYJlb.js';
|
|
5
5
|
import { ShowWhenContext } from 'efficient-shell/format';
|
|
6
6
|
export { ShowWhenContext, ShowWhenRule, showWhenOf, withShowWhen } from 'efficient-shell/format';
|
|
7
|
-
import { a as InspectorFieldDef, b as FieldRenderer, I as InspectorFields, c as FieldTextProps, d as FieldNumberProps, e as FieldSliderProps, f as FieldSelectManyProps, g as FieldSelectOneProps, F as FieldOption } from '../types-
|
|
8
|
-
export { A as ArrayFieldDef, C as CustomFieldDef, h as CustomFieldRenderProps, i as FieldSelectProps, N as NumberFieldDef, O as ObjectFieldDef, R as RadioFieldDef, S as SelectFieldDef, j as SlotFieldDef, T as TextFieldDef, k as TextareaFieldDef } from '../types-
|
|
9
|
-
import { R as ResolvableItem } from '../resolve-
|
|
7
|
+
import { a as InspectorFieldDef, b as FieldRenderer, I as InspectorFields, c as FieldTextProps, d as FieldNumberProps, e as FieldSliderProps, f as FieldSelectManyProps, g as FieldSelectOneProps, F as FieldOption } from '../types-BFd8FqQw.js';
|
|
8
|
+
export { A as ArrayFieldDef, C as CustomFieldDef, h as CustomFieldRenderProps, i as FieldSelectProps, N as NumberFieldDef, O as ObjectFieldDef, R as RadioFieldDef, S as SelectFieldDef, j as SlotFieldDef, T as TextFieldDef, k as TextareaFieldDef } from '../types-BFd8FqQw.js';
|
|
9
|
+
import { R as ResolvableItem } from '../resolve-AJ6WF4EL.js';
|
|
10
10
|
export { F as FieldsWords } from '../words-CFkb8XtN.js';
|
|
11
11
|
export { LinkFilter, LinkFilterField, LinkKindChoice, LinkOption, LinkOptionGroup, LinkPicker, LinkPickerProps, LinkRules, LinkTarget } from 'efficient-shell/ui';
|
|
12
|
-
import '../types-
|
|
12
|
+
import '../types-DlQIM1YO.js';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* A SETTINGS ROW'S SHOW-WHEN, read by the panel (SSOT batch 1, Lewis
|
|
@@ -81,12 +81,12 @@ interface InspectorFieldProps {
|
|
|
81
81
|
}
|
|
82
82
|
/** A heading level a settings group may draw at. */
|
|
83
83
|
type HeadingLevel = 2 | 3 | 4 | 5 | 6;
|
|
84
|
-
/** The label a row shows: the field's own, else its key, as
|
|
84
|
+
/** The label a row shows: the field's own, else its key, as the old editor did. */
|
|
85
85
|
declare const labelOf: (field: InspectorFieldDef, name: string) => string;
|
|
86
86
|
/**
|
|
87
|
-
* ONE FIELD, drawn by its type — what
|
|
87
|
+
* ONE FIELD, drawn by its type — what the old editor's `AutoField` was (blueprint 4.1).
|
|
88
88
|
*
|
|
89
|
-
* custom the field's own render, called with
|
|
89
|
+
* custom the field's own render, called with the old editor's props plus `context`;
|
|
90
90
|
* text, textarea, number, select
|
|
91
91
|
* a SettingsField row (quiet label, control under it) holding the
|
|
92
92
|
* shell's own control, never the browser's;
|
|
@@ -221,7 +221,7 @@ interface InspectorProps {
|
|
|
221
221
|
headingLevel?: HeadingLevel;
|
|
222
222
|
}
|
|
223
223
|
/**
|
|
224
|
-
* THE SETTINGS PANEL'S BODY (blueprint step 4.1) — what
|
|
224
|
+
* THE SETTINGS PANEL'S BODY (blueprint step 4.1) — what `the old editor's fields panel` was in
|
|
225
225
|
* both editors, without the hashed class names both had to hunt.
|
|
226
226
|
*
|
|
227
227
|
* - THE TABS ARE THE FIELDS' OWN. Which tab a field opens is said on the field
|
|
@@ -238,7 +238,7 @@ interface InspectorProps {
|
|
|
238
238
|
* re-bakes its colours from a field on a tab you are not looking at; taking
|
|
239
239
|
* the row out of the tree would stop that.
|
|
240
240
|
* - EVERY ROW IS ONE `.es-insp-row` WITH ITS NAME ON IT (`data-field`), a
|
|
241
|
-
* public class an app may style, where
|
|
241
|
+
* public class an app may style, where the old editor's wrapper had a hashed one. A row
|
|
242
242
|
* that draws nothing takes no space (`:empty`).
|
|
243
243
|
* - THE SPACING IS THE PANEL'S (panel.css `--es-rhythm-*`): a row adds none of
|
|
244
244
|
* its own, so the rhythm is defined once for both editors.
|
|
@@ -279,11 +279,11 @@ interface ResolvedFieldsInput {
|
|
|
279
279
|
block: FieldsBlock | undefined;
|
|
280
280
|
/** The node that holds it, or null at the top. */
|
|
281
281
|
parent?: ResolvableItem | null;
|
|
282
|
-
/** What a resolver is told about the editor (
|
|
282
|
+
/** What a resolver is told about the editor (the old editor's public `{ data, ui }`). */
|
|
283
283
|
appState?: unknown;
|
|
284
284
|
}
|
|
285
285
|
/**
|
|
286
|
-
* A NODE'S FIELDS, RESOLVED AS
|
|
286
|
+
* A NODE'S FIELDS, RESOLVED AS THE OLD EDITOR RESOLVED THEM — `useRegisterFieldsSlice`
|
|
287
287
|
* in Puck 0.20, which both editors' `resolveFields` were written against.
|
|
288
288
|
*
|
|
289
289
|
* - A new selection starts from the block's DECLARED fields (`lastFields` is
|
|
@@ -296,7 +296,7 @@ interface ResolvedFieldsInput {
|
|
|
296
296
|
* - `loading` turns on only when an answer takes longer than 50 ms.
|
|
297
297
|
*
|
|
298
298
|
* `appState` and `parent` are read when a resolution starts, never watched:
|
|
299
|
-
*
|
|
299
|
+
* The old editor re-resolved on the node's change alone.
|
|
300
300
|
*/
|
|
301
301
|
declare function useResolvedFields({ id, node, block, parent, appState }: ResolvedFieldsInput): {
|
|
302
302
|
fields: InspectorFields;
|
|
@@ -350,9 +350,9 @@ interface ListFieldProps<T> {
|
|
|
350
350
|
noun?: string;
|
|
351
351
|
items: readonly T[];
|
|
352
352
|
onChange: (next: T[]) => void;
|
|
353
|
-
/** A fresh item for "+" (
|
|
353
|
+
/** A fresh item for "+" (the old editor's `defaultItemProps`, copied). */
|
|
354
354
|
newItem: () => T;
|
|
355
|
-
/** The words after an item's name in its row (
|
|
355
|
+
/** The words after an item's name in its row (the old editor's `getItemSummary`). */
|
|
356
356
|
summary?: (item: T, index: number) => ReactNode;
|
|
357
357
|
/** An item's own name; default "<Noun> <n>". */
|
|
358
358
|
itemName?: (item: T, index: number) => string;
|
|
@@ -401,7 +401,7 @@ declare function moveTo<T>(items: readonly T[], from: number, to: number): T[];
|
|
|
401
401
|
declare function removeAt<T>(items: readonly T[], index: number): T[];
|
|
402
402
|
/**
|
|
403
403
|
* A copy of an item: a deep copy of plain data, so editing the copy never
|
|
404
|
-
* writes through to the original (a list item is JSON —
|
|
404
|
+
* writes through to the original (a list item is JSON — the old editor stored it so).
|
|
405
405
|
*/
|
|
406
406
|
declare function copyItem<T>(item: T): T;
|
|
407
407
|
declare function ListField<T>({ label, icon, noun: ownNoun, items, onChange, newItem, summary, itemName, thumb, min, max, readOnly, open, onOpen, renderItem, renderRow, canRemove: removable, lockedReason, fixed, removeOnRow, canDuplicate, above, head, }: ListFieldProps<T>): react.JSX.Element;
|
package/dist/node-ops/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { A as AfterRemove, I as ItemSelector, N as NodeSelection, P as PassThrough, a as Planned, S as StepBounds, c as canStep, b as clickPick, d as clickPickPart, f as fromItemSelector, n as nextInChain, e as nodeChain, p as parentStep, g as planDuplicate, h as planMove, i as planPaste, j as planRemove, k as planRestore, l as planSetProps, m as planStep, o as planSwap, t as toItemSelector } from '../plan-
|
|
2
|
-
export { C as ClipboardEntry, N as NodeClipboard, a as NodeOps, b as NodeOpsHost, c as createNodeClipboard, u as useNodeOps } from '../useNodeOps-
|
|
1
|
+
export { A as AfterRemove, I as ItemSelector, N as NodeSelection, P as PassThrough, a as Planned, S as StepBounds, c as canStep, b as clickPick, d as clickPickPart, f as fromItemSelector, n as nextInChain, e as nodeChain, p as parentStep, g as planDuplicate, h as planMove, i as planPaste, j as planRemove, k as planRestore, l as planSetProps, m as planStep, o as planSwap, t as toItemSelector } from '../plan-CRUh2kVK.js';
|
|
2
|
+
export { C as ClipboardEntry, N as NodeClipboard, a as NodeOps, b as NodeOpsHost, c as createNodeClipboard, u as useNodeOps } from '../useNodeOps-C_nisDHh.js';
|
|
3
3
|
import { ReactNode } from 'react';
|
|
4
4
|
import { E as EaselContextMenuItem } from '../types-BbOBWXMP.js';
|
|
5
5
|
import { N as NodeMenuWords } from '../words-DMG4dYq2.js';
|
|
6
|
-
import '../types-
|
|
6
|
+
import '../types-DlQIM1YO.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* nodeMenuItems — the right-click rows for a block, ONE list for both editors.
|
package/dist/panel/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
import { W as WordFit } from '../wordFit-7XpmhcaW.js';
|
|
4
|
-
import { P as PanelWords } from '../words-
|
|
4
|
+
import { P as PanelWords } from '../words-fbR9IwxH.js';
|
|
5
5
|
export { BorderInput as SettingsBorder, BorderLineStyle as SettingsBorderLineStyle, BorderInputProps as SettingsBorderProps, BorderValue as SettingsBorderValue, CornerOption as SettingsCornerPoint, CornersInput as SettingsCorners, CornersInputProps as SettingsCornersProps, AlignmentGrid as SettingsPlacement, AlignmentPoint as SettingsPlacementPoint, AlignmentGridProps as SettingsPlacementProps, SidesInput as SettingsSides, SidesEachToggle as SettingsSidesEach, SidesInputProps as SettingsSidesProps, SidesValue as SettingsSidesValue, borderSides, borderStartEach, sidesStartEach } from 'efficient-shell/ui';
|
|
6
|
-
export { a as DESIGN_GROUPS, D as DesignGroup, b as SETTINGS_BUCKETS, S as SettingsBucket } from '../buckets-
|
|
6
|
+
export { a as DESIGN_GROUPS, D as DesignGroup, b as SETTINGS_BUCKETS, S as SettingsBucket } from '../buckets-_MGDYJlb.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* The settings-panel primitives — the shared grammar BOTH editors' inspector
|
|
@@ -98,7 +98,7 @@ type SettingsSegmentedFit = WordFit;
|
|
|
98
98
|
* it — which is the one thing card 66303 was not allowed to do.
|
|
99
99
|
*
|
|
100
100
|
* `V` UNCONSTRAINED and not `T extends string`, because the shop stores a
|
|
101
|
-
* choice as a boolean: `reverse` at
|
|
101
|
+
* choice as a boolean: `reverse` at the storefront's old block config is
|
|
102
102
|
* `false` = image left and `true` = image right on every published page across
|
|
103
103
|
* every tenant. `T extends string` cannot hold it, and giving that row the house
|
|
104
104
|
* strip by storing "left"/"right" would be a migration of live customer data
|
|
@@ -621,7 +621,7 @@ declare function SettingsSegmented<V = string>({ options, value, onChange, ariaL
|
|
|
621
621
|
declare function SettingsGroup({ title, open, onToggle, count, level, id, children, className, }: SettingsGroupProps): react.JSX.Element;
|
|
622
622
|
|
|
623
623
|
/**
|
|
624
|
-
* A group heading with NO group under it — the band on its own, for
|
|
624
|
+
* A group heading with NO group under it — the band on its own, for the old editor's
|
|
625
625
|
* flat inspector list, where a heading cannot wrap the rows that follow it. A
|
|
626
626
|
* HEADING, not a control: no button, no sign, no count. THE SHELL'S
|
|
627
627
|
* `AccordionHeading` (B2 plan C, Lewis 2026-10-26); this name stays because
|
package/dist/panel/panel.css
CHANGED
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
token behind any of them: there was nowhere to change it once, and no floor
|
|
33
33
|
under any of it.
|
|
34
34
|
|
|
35
|
-
ON `.es-editor`, because the panel HAS no root of its own.
|
|
35
|
+
ON `.es-editor`, because the panel HAS no root of its own. The old editor lays the
|
|
36
36
|
inspector out as a flat sibling list, so the primitives render no wrapper —
|
|
37
37
|
and `.es-editor` is the chrome root both editors already put on their own
|
|
38
38
|
chrome and the root every colour in this sheet is already read from. A host
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { N as Node, P as Place, D as Data, a as DataConfig } from './types-
|
|
1
|
+
import { N as Node, P as Place, D as Data, a as DataConfig } from './types-DlQIM1YO.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Every node operation the two editors offer, as ONE pure step: a document in,
|
|
5
5
|
* the next document and what to select out.
|
|
6
6
|
*
|
|
7
|
-
* Why one step. On
|
|
7
|
+
* Why one step. On the old editor, the editors built these out of several dispatches —
|
|
8
8
|
* the storefront's delete was three (remove, reset the inspector, clear the
|
|
9
|
-
* selection), its cross-slot move three undo steps, its paste two — and
|
|
9
|
+
* selection), its cross-slot move three undo steps, its paste two — and the old editor's
|
|
10
10
|
* selection is a POSITION, so after a delete it quietly pointed at whatever slid
|
|
11
11
|
* into the gap. Here each operation is computed whole, on `efficient-easel/data`,
|
|
12
12
|
* and the host commits it in one write (see ./useNodeOps). One action, one undo.
|
|
@@ -145,9 +145,9 @@ interface ItemSelector {
|
|
|
145
145
|
zone?: string;
|
|
146
146
|
index: number;
|
|
147
147
|
}
|
|
148
|
-
/** A node selection as
|
|
148
|
+
/** A node selection as the old editor's `itemSelector`; `null` for nothing or a slot. */
|
|
149
149
|
declare function toItemSelector(data: Data, config: DataConfig, selection: NodeSelection): ItemSelector | null;
|
|
150
|
-
/**
|
|
150
|
+
/** The old editor's `itemSelector` as a node selection; `null` when it points at nothing. */
|
|
151
151
|
declare function fromItemSelector(data: Data, config: DataConfig, selector: ItemSelector | null | undefined): NodeSelection;
|
|
152
152
|
|
|
153
153
|
export { type AfterRemove as A, type ItemSelector as I, type NodeSelection as N, type PassThrough as P, type StepBounds as S, type Planned as a, clickPick as b, canStep as c, clickPickPart as d, nodeChain as e, fromItemSelector as f, planDuplicate as g, planMove as h, planPaste as i, planRemove as j, planRestore as k, planSetProps as l, planStep as m, nextInChain as n, planSwap as o, parentStep as p, toItemSelector as t };
|
package/dist/render/index.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { CSSProperties, ReactNode, ReactElement } from 'react';
|
|
2
|
-
import { B as BlockShape, D as Data } from '../types-
|
|
2
|
+
import { B as BlockShape, D as Data } from '../types-DlQIM1YO.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* efficient-easel/render — draw a saved document, the published way.
|
|
6
6
|
*
|
|
7
|
-
* Step 1.2 of the engine that replaces
|
|
7
|
+
* Step 1.2 of the engine that replaces the old editor (blueprint "From The Ground
|
|
8
8
|
* Up For Efficient Editor", 2026-09-29). The published storefront draws every
|
|
9
|
-
* page through
|
|
9
|
+
* page through the old editor's `<Render>` today (efficient-storefront `lib/document/render-client.tsx`
|
|
10
10
|
* and `components/PublishedFooter.tsx`); this is the drop-in for it: the same
|
|
11
|
-
* config, the same document, THE SAME HTML — `tests/render-
|
|
11
|
+
* config, the same document, THE SAME HTML — `tests/render-document-parity.test.tsx`
|
|
12
12
|
* renders both and compares the markup byte for byte.
|
|
13
13
|
*
|
|
14
|
-
* WHAT IS DIFFERENT IS WHAT IT IS MADE OF.
|
|
14
|
+
* WHAT IS DIFFERENT IS WHAT IT IS MADE OF. The old editor's `<Render>` reaches the
|
|
15
15
|
* document through a React context and builds each block's props in hooks, so
|
|
16
16
|
* it can only run as a client component. This is a plain function: no hook, no
|
|
17
17
|
* context, no state, no browser global. It runs in a server component, in a
|
|
@@ -20,27 +20,27 @@ import { B as BlockShape, D as Data } from '../types-41704JE4.js';
|
|
|
20
20
|
* the blocks (the storefront's are client components today; blueprint default
|
|
21
21
|
* #4 keeps that wrapper until they are moved one by one).
|
|
22
22
|
*
|
|
23
|
-
* THE BLOCK AUTHORING SHAPE IS
|
|
23
|
+
* THE BLOCK AUTHORING SHAPE IS THE OLD EDITOR'S (blueprint default #3), so an app hands
|
|
24
24
|
* in the config it has:
|
|
25
25
|
*
|
|
26
|
-
* - a block's `render` receives its props, plus `
|
|
26
|
+
* - a block's `render` receives its props, plus `editor`, plus each SLOT as a
|
|
27
27
|
* component: `render: ({ content: Content }) => <Content className="…" />`.
|
|
28
|
-
* A slot draws `<div className style>` around its blocks, as
|
|
28
|
+
* A slot draws `<div className style>` around its blocks, as the old editor's does,
|
|
29
29
|
* and says how many it draws in `Content.blockCount` (the editor's
|
|
30
30
|
* canvas gives the same number);
|
|
31
|
-
* - the root's `render` receives the root props, `
|
|
32
|
-
* unset), `editMode: false`, `id: '
|
|
31
|
+
* - the root's `render` receives the root props, `editor`, `title` (`''` when
|
|
32
|
+
* unset), `editMode: false`, `id: 'page-root'`, and the page as `children`;
|
|
33
33
|
* - a block type the config does not know draws nothing.
|
|
34
34
|
*
|
|
35
35
|
* Three details are copied exactly because a block can observe them, not
|
|
36
36
|
* because they are good design:
|
|
37
37
|
*
|
|
38
38
|
* 1. The top-level list is wrapped in one plain `<div>`, root render or not.
|
|
39
|
-
* (
|
|
39
|
+
* (the old editor's own SERVER `<Render>` uses a fragment there instead, so the old editor's
|
|
40
40
|
* two renderers disagree; the client one is what is published.) A host
|
|
41
41
|
* that needs to reach that wrapper from its stylesheet passes `className`
|
|
42
|
-
* (0.95.0); left out, the `<div>` is as bare as
|
|
43
|
-
* 2. `
|
|
42
|
+
* (0.95.0); left out, the `<div>` is as bare as the old editor's.
|
|
43
|
+
* 2. `editor` differs by level. The root gets
|
|
44
44
|
* `{ renderDropZone, isEditing: false, dragRef: null, metadata }`; a
|
|
45
45
|
* top-level block gets `{ renderDropZone, metadata: { ...metadata,
|
|
46
46
|
* ...block.metadata } }`; a block inside a slot gets `{ metadata }` only.
|
|
@@ -49,7 +49,7 @@ import { B as BlockShape, D as Data } from '../types-41704JE4.js';
|
|
|
49
49
|
*
|
|
50
50
|
* `renderDropZone` draws a legacy `zones` entry. Neither editor writes zones,
|
|
51
51
|
* so it draws an empty `<div>` in practice; it exists so a block that still
|
|
52
|
-
* calls it gets what
|
|
52
|
+
* calls it gets what the old editor gave it.
|
|
53
53
|
*
|
|
54
54
|
* LEAF DISCIPLINE: imports React's JSX runtime and this package's own data
|
|
55
55
|
* layer, nothing else (`tests/render-leaf-safety.test.ts`).
|
|
@@ -77,7 +77,7 @@ type SlotComponent = ((props?: SlotProps) => ReactElement) & {
|
|
|
77
77
|
interface DropZoneProps extends SlotProps {
|
|
78
78
|
zone: string;
|
|
79
79
|
}
|
|
80
|
-
/** The `
|
|
80
|
+
/** The `editor` prop. Which keys are present depends on the level (see above). */
|
|
81
81
|
interface RenderContext {
|
|
82
82
|
renderDropZone?: (props: DropZoneProps) => ReactElement;
|
|
83
83
|
isEditing?: boolean;
|
|
@@ -97,10 +97,10 @@ interface RenderConfig {
|
|
|
97
97
|
}
|
|
98
98
|
/**
|
|
99
99
|
* What `Render` draws: a saved document, as loosely as the renderer reads it.
|
|
100
|
-
* `root.props` is OPTIONAL here, as it is in
|
|
101
|
-
* that holds its props directly (the older format) is drawn the way
|
|
100
|
+
* `root.props` is OPTIONAL here, as it is in the old editor's own `Data` type — a root
|
|
101
|
+
* that holds its props directly (the older format) is drawn the way the old editor draws
|
|
102
102
|
* it, and a document with no root or no content draws an empty page. So a
|
|
103
|
-
*
|
|
103
|
+
* old-editor-typed document is passed as it is, with no cast.
|
|
104
104
|
*/
|
|
105
105
|
interface RenderData {
|
|
106
106
|
root?: {
|
|
@@ -117,7 +117,7 @@ interface RenderProps {
|
|
|
117
117
|
/**
|
|
118
118
|
* A class for the `<div>` around the top-level list — that wrapper, and
|
|
119
119
|
* nothing else. OPT-IN: left out (or empty) the wrapper carries no attribute
|
|
120
|
-
* at all, and the markup is
|
|
120
|
+
* at all, and the markup is the old editor's, byte for byte.
|
|
121
121
|
*/
|
|
122
122
|
className?: string;
|
|
123
123
|
}
|
package/dist/render/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{isRecord as
|
|
2
|
-
return
|
|
3
|
-
return c
|
|
4
|
-
return c
|
|
5
|
-
return
|
|
1
|
+
import{isRecord as t,fieldsFrom as n,slotLocations as e,setIn as o,drawnBlockCount as r,isNode as a}from"../chunk-L55YIXDC.js";import{jsx as i}from"react/jsx-runtime";function c({config:e,data:o,metadata:r={},className:a}){const c=Array.isArray(o?.content)?o.content:[],d=t(o?.root)?o.root:{},m="props"in d?d.props:d,f={config:e,content:c,zones:t(o?.zones)?o.zones:{},metadata:r},p={renderDropZone:u(f,"root"),isEditing:!1,dragRef:null,metadata:r},g={...m,editor:p,title:m?.title||"",editMode:!1,id:"page-root"},y=s(f,n(e.root),g),h=c.map(t=>l(f,t)),z=/* @__PURE__ */i("div",a?{className:a,children:h}:{children:h}),N=e.root?.render;return N?/* @__PURE__ */i(N,{...y,children:z}):z}function s(t,n,r){let a=r;for(const i of e(r,n))a=o(a,i.segments,d(t,i.content));return a}function d(t,e){return Object.assign(function(o={}){/* @__PURE__ */
|
|
2
|
+
return i("div",{className:o.className,style:o.style,children:e.map(e=>function(t,e){if(!a(e))return null;const o=t.config.components[e.type];if(!o)return null;const r=s(t,n(o),e.props),c=o.render,d={...r.editor,metadata:t.metadata||{}};/* @__PURE__ */
|
|
3
|
+
return i(c,{...r,editor:d},r.id)}(t,e))})},{blockCount:r(e,t.config.components)})}function l(t,e){if(!a(e))return null;const o=t.config.components[e.type];if(!o)return null;const r=s(t,n(o),e.props),c=o.render,d={...r.editor,renderDropZone:u(t,r.id),metadata:{...t.metadata,...o.metadata}};/* @__PURE__ */
|
|
4
|
+
return i(c,{...r,editor:d},r.id)}function u(t,n){return function({zone:e,className:o,style:r}){const a=`${n}:${e}`,c="root:default-zone"===a?t.content:t.zones[a],s=Array.isArray(c)?c:[];/* @__PURE__ */
|
|
5
|
+
return i("div",{className:o,style:r,children:s.map(n=>l(t,n))})}}export{c as Render};
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* <div data-sf-repeat="<ownerId>:template" data-sf-repeat-index={i}>
|
|
9
9
|
*
|
|
10
10
|
* Index 0 is the MAIN copy. The blocks inside keep their real
|
|
11
|
-
* `data-
|
|
11
|
+
* `data-easel-block` / `data-easel-dnd` ids in every copy, so a click on any
|
|
12
12
|
* copy selects the template block. What the canvas does with the copies:
|
|
13
13
|
* - the hover and the selected outline are drawn on every copy;
|
|
14
14
|
* - only the main copy's lists are drop targets (the others are pictures);
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { a as DataConfig } from './types-
|
|
1
|
+
import { a as DataConfig } from './types-DlQIM1YO.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* A BLOCK'S `resolveData`, RUN AS
|
|
4
|
+
* A BLOCK'S `resolveData`, RUN AS THE OLD EDITOR RAN IT — `resolveComponentData` in the old editor
|
|
5
5
|
* 0.20 (`lib/resolve-component-data.ts`), because the documents both editors
|
|
6
6
|
* hold were resolved by it and must go on resolving the same way.
|
|
7
7
|
*
|
|
8
8
|
* - It runs only when the item differs from the last one resolved for that id
|
|
9
9
|
* (deep-equal), unless the trigger is "force"; the last answer is reused.
|
|
10
10
|
* - `changed` names every prop of the new item with whether it differs from
|
|
11
|
-
* the last one resolved (`changedProps`,
|
|
11
|
+
* the last one resolved (`changedProps`, the old editor's `getChanged`).
|
|
12
12
|
* - The block's own `metadata` is spread over the host's.
|
|
13
13
|
* - The answer's `props` are spread OVER the item's, and its `readOnly` kept
|
|
14
14
|
* when it has any key.
|
|
15
15
|
* - Then every slot's children are resolved the same way, in order.
|
|
16
16
|
*
|
|
17
|
-
* What differs from
|
|
17
|
+
* What differs from the old editor is only where the memory lives: the old editor kept the last
|
|
18
18
|
* change per id in a module-level object shared by every editor on the page;
|
|
19
19
|
* here the host hands in its own (`createResolveCache`), one per editor.
|
|
20
20
|
*
|
|
@@ -43,7 +43,7 @@ interface ResolveOptions {
|
|
|
43
43
|
}
|
|
44
44
|
/** Deep equality of JSON-shaped values, as `fast-deep-equal` answers it for them. */
|
|
45
45
|
declare function deepEqual(a: unknown, b: unknown): boolean;
|
|
46
|
-
/** Every prop of `next`, and whether it differs from `last` (
|
|
46
|
+
/** Every prop of `next`, and whether it differs from `last` (the old editor's `getChanged`). */
|
|
47
47
|
declare function changedProps(next: ResolvableItem | null | undefined, last: ResolvableItem | null | undefined): Record<string, boolean>;
|
|
48
48
|
/**
|
|
49
49
|
* Resolve one item and everything in its slots. `didChange` says whether the
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
-
import { BlockChoice } from '../lib/
|
|
2
|
+
import { BlockChoice } from '../lib/document/block-choice.js';
|
|
3
3
|
|
|
4
4
|
declare function AddBlockRow({ choices, onPick, }: {
|
|
5
5
|
/** The block types this slot accepts, from `canAddTo(parentType)?.choices`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{AddBlockRow as default}from"../../chunk-
|
|
1
|
+
export{AddBlockRow as default}from"../../chunk-YC6KLSW3.js";import"../../chunk-RUQOIQWI.js";import"../../chunk-SJMS247S.js";import"../../chunk-FHCKFOCD.js";import"../../chunk-MQA7OFRA.js";import"../../chunk-EB6NI2VK.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-WJSEWAWK.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-YHFKWV7H.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-IWCKVZHS.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-BSHIQIZC.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-MZ5GSSZ3.js";import"../../chunk-KRL3IUV3.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-S3DUFDQ6.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-3S5N4HLJ.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-GHBK7BKL.js";import"../../chunk-LF3FUSCQ.js";import"../../chunk-K7BTCBWD.js";import"../../chunk-L55YIXDC.js";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { D as DragSession } from '../../session-
|
|
3
|
+
import { D as DragSession } from '../../session-CrWwDt7Z.js';
|
|
4
4
|
import { SectionTemplate } from '../lib/section-template-types.js';
|
|
5
5
|
import { SharedSection } from '../lib/shared-section-types.js';
|
|
6
|
-
import { BlockChoice } from '../lib/
|
|
7
|
-
import '../../types-
|
|
8
|
-
import '../lib/
|
|
6
|
+
import { BlockChoice } from '../lib/document/block-choice.js';
|
|
7
|
+
import '../../types-DlQIM1YO.js';
|
|
8
|
+
import '../lib/document/content-tree.js';
|
|
9
9
|
|
|
10
10
|
/** What a tile adds, parsed back out of its key. */
|
|
11
11
|
type AddKey = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{blockKey,AddSidePanel as default,sectionKey,sharedKey,templateKey}from"../../chunk-
|
|
1
|
+
export{blockKey,AddSidePanel as default,sectionKey,sharedKey,templateKey}from"../../chunk-TXR7GC5A.js";import"../../chunk-VKPOH6MK.js";import"../../chunk-CPL43ZLJ.js";import"../../chunk-N7E6264U.js";import"../../chunk-N3MJOHAG.js";import"../../chunk-SINAM2IT.js";import"../../chunk-UMDQ6CLQ.js";import"../../chunk-RUQOIQWI.js";import"../../chunk-SJMS247S.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-FHCKFOCD.js";import"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";import"../../chunk-MQA7OFRA.js";import"../../chunk-EB6NI2VK.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-WJSEWAWK.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-YHFKWV7H.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-IWCKVZHS.js";import"../../chunk-ZKY45F5G.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-BSHIQIZC.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-ZG6PVMC3.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-AJSDWWJW.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MZ5GSSZ3.js";import"../../chunk-KRL3IUV3.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-S3DUFDQ6.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-CUZQ2HMA.js";import"../../chunk-TQ5Y6S2X.js";import"../../chunk-3S5N4HLJ.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-GHBK7BKL.js";import"../../chunk-LF3FUSCQ.js";import"../../chunk-K7BTCBWD.js";import"../../chunk-L55YIXDC.js";
|
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { E as EaselContextMenuItem } from '../../types-BbOBWXMP.js';
|
|
3
|
-
import { P as Place } from '../../types-
|
|
4
|
-
import { N as NodeClipboard, C as ClipboardEntry, a as NodeOps } from '../../useNodeOps-
|
|
3
|
+
import { P as Place } from '../../types-DlQIM1YO.js';
|
|
4
|
+
import { N as NodeClipboard, C as ClipboardEntry, a as NodeOps } from '../../useNodeOps-C_nisDHh.js';
|
|
5
5
|
import { N as NodeMenuWords } from '../../words-DMG4dYq2.js';
|
|
6
6
|
import { StyleSnapshot } from '../../style-clipboard/index.js';
|
|
7
7
|
import { S as StyleClipboardWords } from '../../words-CnnHb9jo.js';
|
|
8
8
|
import { ScreenMenuWords } from '../words.js';
|
|
9
|
-
import { C as CanvasTarget } from '../../watch-
|
|
9
|
+
import { C as CanvasTarget } from '../../watch-D0bNZRtU.js';
|
|
10
10
|
import { ScreenMenuRows } from '../lib/screen-parts.js';
|
|
11
11
|
import { EaselSession } from '../lib/session.js';
|
|
12
|
-
import '../../plan-
|
|
12
|
+
import '../../plan-CRUh2kVK.js';
|
|
13
13
|
import '../../blocks/index.js';
|
|
14
|
-
import '../../types-
|
|
14
|
+
import '../../types-DFxBChE3.js';
|
|
15
15
|
import '../../data/index.js';
|
|
16
|
-
import '../../resolve-
|
|
16
|
+
import '../../resolve-AJ6WF4EL.js';
|
|
17
17
|
import '../../types-B3iSHX-w.js';
|
|
18
18
|
import '../../types-Cy7rdmXt.js';
|
|
19
19
|
import '../../wordFit-7XpmhcaW.js';
|
|
20
20
|
import '../../edit-lock/index.js';
|
|
21
21
|
import '../../panelWidths-DgQXiPXU.js';
|
|
22
|
-
import '../../CanvasDragLayer-
|
|
23
|
-
import '../../session-
|
|
22
|
+
import '../../CanvasDragLayer-B6Yn9S8T.js';
|
|
23
|
+
import '../../session-CrWwDt7Z.js';
|
|
24
24
|
import '../../words-SD4neL0n.js';
|
|
25
25
|
import '../../types-DBy3L69b.js';
|
|
26
26
|
import 'efficient-shell/ui';
|
|
27
27
|
import '../../words-Cl9xMUYY.js';
|
|
28
28
|
import './AddSidePanel.js';
|
|
29
29
|
import '../lib/section-template-types.js';
|
|
30
|
-
import '../lib/
|
|
30
|
+
import '../lib/document/content-tree.js';
|
|
31
31
|
import '../lib/shared-section-types.js';
|
|
32
|
-
import '../lib/
|
|
33
|
-
import '../../ScreenDocumentContext-
|
|
32
|
+
import '../lib/document/block-choice.js';
|
|
33
|
+
import '../../ScreenDocumentContext-BIK3uWtF.js';
|
|
34
34
|
import '../lib/document-contract.js';
|
|
35
35
|
import '../lib/document-switch.js';
|
|
36
36
|
import '../../engine-CvXpFE86.js';
|
|
37
37
|
import '../lib/admin-bridge.js';
|
|
38
38
|
import '../lib/host-chrome.js';
|
|
39
39
|
import '../lib/links/link-filters.js';
|
|
40
|
-
import '../lib/
|
|
41
|
-
import '../lib/
|
|
40
|
+
import '../lib/document/add-target-types.js';
|
|
41
|
+
import '../lib/document/slot-section-spec.js';
|
|
42
42
|
import '../lib/backend-error.js';
|
|
43
43
|
import '../lib/document-hooks.js';
|
|
44
44
|
|
|
@@ -94,7 +94,7 @@ type TextEl = {
|
|
|
94
94
|
* choice. The first cut wrote `props: Record<string, unknown>` and `tsc` refused
|
|
95
95
|
* it against `ops.replaceComponent`, whose `TreeItem` requires one. It is right:
|
|
96
96
|
* every node in the open document carries an id — it is what
|
|
97
|
-
* `data-
|
|
97
|
+
* `data-easel-block` publishes and what `locate` reads back — so a node
|
|
98
98
|
* without one is a node the tree cannot address, and passing it to
|
|
99
99
|
* `replaceComponent` would write something unreachable.
|
|
100
100
|
*/
|
|
@@ -112,7 +112,7 @@ type NodeMenuHost = {
|
|
|
112
112
|
nodeAt: (zone: string, index: number) => NodeLike | null;
|
|
113
113
|
/** The merchant-facing name of a node type, in the ZONE it was found in — a
|
|
114
114
|
* node in the ROOT zone is a section, a node in a slot is a block, and one
|
|
115
|
-
* node is named differently at each (lib/
|
|
115
|
+
* node is named differently at each (lib/document/section-catalog labelAtLevel).
|
|
116
116
|
* A host that does not care may still pass a one-argument function. */
|
|
117
117
|
labelOf: (type: string, zone: string) => string;
|
|
118
118
|
/**
|
|
@@ -125,7 +125,7 @@ type NodeMenuHost = {
|
|
|
125
125
|
* something "Slide" while the tree three inches away called it "Winter" would
|
|
126
126
|
* be two vocabularies for one node, which is the thing card 66194 spent a
|
|
127
127
|
* whole card removing. The chrome already owns this rule
|
|
128
|
-
* (`lib/
|
|
128
|
+
* (`lib/document/slot-child-name.ts`, the ONE home) and hands it in.
|
|
129
129
|
*/
|
|
130
130
|
rowNameOf: (node: NodeLike, zone: string) => string;
|
|
131
131
|
/**
|
|
@@ -133,7 +133,7 @@ type NodeMenuHost = {
|
|
|
133
133
|
* the menu entirely — an item that opens a box writing nowhere is worse than
|
|
134
134
|
* no item.
|
|
135
135
|
*
|
|
136
|
-
* The chrome answers it through `slotChildRenameProp` (lib/
|
|
136
|
+
* The chrome answers it through `slotChildRenameProp` (lib/document/slot-child-name),
|
|
137
137
|
* the ONE home for what a child is called — the same module `rowNameOf` above
|
|
138
138
|
* already reads. It is handed in rather than looked up here for the reason
|
|
139
139
|
* everything else on this type is: this module is given nodes, never the config.
|
|
@@ -316,7 +316,7 @@ type NodeMenuHost = {
|
|
|
316
316
|
* A top-level node goes through `selectIndex` (inspector mode, the Locations
|
|
317
317
|
* focus reset, scroll the preview to it); a slot child goes through
|
|
318
318
|
* `selectChild`, which for a SLIDER parent must move the carousel to that
|
|
319
|
-
* slide BEFORE selecting, or
|
|
319
|
+
* slide BEFORE selecting, or the old editor measures its overlay on an off-screen slide
|
|
320
320
|
* and the canvas grows a horizontal scrollbar. Neither is restated here. The
|
|
321
321
|
* `parentType` is what the slider question is asked of, so the chain hands it
|
|
322
322
|
* down rather than the chrome looking it up a second time.
|
|
@@ -336,7 +336,7 @@ type NodeMenuHost = {
|
|
|
336
336
|
select: () => void;
|
|
337
337
|
} | null;
|
|
338
338
|
/**
|
|
339
|
-
* Turn a `data-
|
|
339
|
+
* Turn a `data-easel-block` id into an address.
|
|
340
340
|
*
|
|
341
341
|
* The chrome owns this because the address is a fact about the OPEN DOCUMENT
|
|
342
342
|
* (which zone, which index) and this module is handed nodes, not the tree. The
|
|
@@ -351,7 +351,7 @@ type NodeMenuHost = {
|
|
|
351
351
|
/**
|
|
352
352
|
* COPY STYLE / PASTE STYLE (card [ADD] Copy Style And Paste Style). The rows,
|
|
353
353
|
* their words and glyphs are editor-shell's; the chrome answers the rest —
|
|
354
|
-
* which rows are a look (lib/
|
|
354
|
+
* which rows are a look (lib/document/style-clipboard), the site's scope, and the
|
|
355
355
|
* toast. Optional: a host without it offers neither row.
|
|
356
356
|
*
|
|
357
357
|
* ⚠️ `paste` writes through the chrome's `ops.replaceComponent`, the one op
|
|
@@ -569,7 +569,7 @@ declare function textMenuItems(host: NodeMenuHost, el: TextEl): EaselContextMenu
|
|
|
569
569
|
* render. Per-row handlers are deliberately gone — see {@link onTreeContextMenu}.
|
|
570
570
|
*
|
|
571
571
|
* `canvas` is the editor's canvas frame (`efficient-easel/canvas`
|
|
572
|
-
* `useCanvasFrame`, found once by the chrome) — null until
|
|
572
|
+
* `useCanvasFrame`, found once by the chrome) — null until the old editor has drawn into
|
|
573
573
|
* it. The canvas half below listens on it.
|
|
574
574
|
*/
|
|
575
575
|
declare function useNodeContextMenu(host: NodeMenuHost, canvas: CanvasTarget | null): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{EASEL_NODE_CLIPBOARD,ancestorChain,nodeClipboardOf,nodeClipboardRules,nodeMenuItems,nodeShortcut,pageMenuItems,pastePlace,runNodeShortcut,textMenuItems,useNodeClipboard,useNodeContextMenu}from"../../chunk-
|
|
1
|
+
export{EASEL_NODE_CLIPBOARD,ancestorChain,nodeClipboardOf,nodeClipboardRules,nodeMenuItems,nodeShortcut,pageMenuItems,pastePlace,runNodeShortcut,textMenuItems,useNodeClipboard,useNodeContextMenu}from"../../chunk-4LGROS5L.js";import"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";import"../../chunk-MQA7OFRA.js";import"../../chunk-EB6NI2VK.js";import"../../chunk-V7U33NF2.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-ZKY45F5G.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-P5VYGWYO.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-BSHIQIZC.js";import"../../chunk-GHBK7BKL.js";import"../../chunk-LF3FUSCQ.js";import"../../chunk-K7BTCBWD.js";import"../../chunk-L55YIXDC.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{PageEditGuardNotices as default}from"../../chunk-
|
|
1
|
+
export{PageEditGuardNotices as default}from"../../chunk-ZOSEBPAI.js";import"../../chunk-BTDI7JAA.js";import"../../chunk-77IWWW6X.js";import"../../chunk-ERR437B5.js";import"../../chunk-UNVKPVZW.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-BIK3AO2V.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-FHCKFOCD.js";import"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";import"../../chunk-MQA7OFRA.js";import"../../chunk-EB6NI2VK.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-ZG6PVMC3.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";
|
|
@@ -6,7 +6,7 @@ import { ViewTier } from '../lib/content/view-tiers.js';
|
|
|
6
6
|
*
|
|
7
7
|
* The storefront editor chrome (ScreenChrome) owns a Desktop / Tablet
|
|
8
8
|
* / Mobile switcher in its top bar (local `device` state, rendered at logical
|
|
9
|
-
* widths 2000 / 800 / 390). That switcher — NOT
|
|
9
|
+
* widths 2000 / 800 / 390). That switcher — NOT the old editor's built-in viewports — is
|
|
10
10
|
* what resizes the preview iframe, so viewport-aware inspector fields must read
|
|
11
11
|
* IT to know which view the merchant is editing. The chrome lends its live
|
|
12
12
|
* `device` to the website layer, which provides it here
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PreviewIdSelection } from '../lib/
|
|
1
|
+
import { PreviewIdSelection } from '../lib/document/preview-selection-context.js';
|
|
2
2
|
import * as react from 'react';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -9,11 +9,11 @@ import * as react from 'react';
|
|
|
9
9
|
* instances of (a Hero's ticker, a HeroSingle's Background and its Text). Those
|
|
10
10
|
* three each bridge ONE region of ONE section and name it in code; this one
|
|
11
11
|
* bridges any authored-text prop of any section, because what is clickable is
|
|
12
|
-
* derived from the config's own text fields (`lib/
|
|
12
|
+
* derived from the config's own text fields (`lib/document/text-parts.ts`) rather
|
|
13
13
|
* than listed.
|
|
14
14
|
*
|
|
15
15
|
* That is also why it is a fourth context and not a rewrite of the three: their
|
|
16
|
-
* regions carry NO
|
|
16
|
+
* regions carry NO the old editor fields at all (a HeroSingle's copy and a Hero's ticker
|
|
17
17
|
* items are props with bespoke panels and no field declarations), so a
|
|
18
18
|
* field-derived bridge cannot see them and the two mechanisms provably never
|
|
19
19
|
* claim the same element. See the card report for why retiring them is its own
|
|
@@ -22,7 +22,7 @@ import * as react from 'react';
|
|
|
22
22
|
* The payload is ONE string — `"<nodeId>::<propKey>"`, or `"<nodeId>::"` for the
|
|
23
23
|
* whole section — so the shared {@link createPreviewSelectionContext} factory
|
|
24
24
|
* fits unchanged; `encodePartId`/`decodePartId` own that spelling. Provider sits
|
|
25
|
-
* ABOVE
|
|
25
|
+
* ABOVE the old editor root so its value reaches BOTH the chrome (which registers the select
|
|
26
26
|
* handler and mirrors the open panel back) AND the portaled preview iframe.
|
|
27
27
|
*/
|
|
28
28
|
declare const PreviewPartsProvider: ({ children }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{PreviewPartsProvider,usePreviewParts}from"../../chunk-
|
|
1
|
+
export{PreviewPartsProvider,usePreviewParts}from"../../chunk-467WWV4I.js";import"../../chunk-TIAWIOGD.js";import"../../chunk-MGVI67QV.js";
|