efficient-easel 21.1.0 → 23.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 +45 -37
- package/dist/{CanvasDragLayer-CFUcBbgc.d.ts → CanvasDragLayer-NZpaX6aq.d.ts} +15 -4
- package/dist/{ScreenDocumentContext-1RgtGKWR.d.ts → ScreenDocumentContext-BDLUYzlM.d.ts} +4 -4
- package/dist/blocks/index.d.ts +16 -18
- package/dist/{buckets-Sw94ll9I.d.ts → buckets-_MGDYJlb.d.ts} +1 -1
- package/dist/canvas/index.d.ts +22 -12
- package/dist/canvas/index.js +1 -1
- package/dist/{canvas-typing-Be4FO4q7.d.ts → canvas-typing-DOBx8dD3.d.ts} +12 -2
- package/dist/{chunk-I67UW5UG.js → chunk-3P735WOM.js} +4 -4
- package/dist/{chunk-KWLHKKZO.js → chunk-4YUC7B7E.js} +1 -1
- package/dist/chunk-6F5GO337.js +1 -0
- package/dist/{chunk-3S5N4HLJ.js → chunk-6NJHYXJM.js} +1 -1
- package/dist/{chunk-BTDI7JAA.js → chunk-A6ZP5II4.js} +2 -2
- package/dist/{chunk-IWCKVZHS.js → chunk-AGWKB77Q.js} +1 -1
- package/dist/chunk-AT4DDMJS.js +1 -0
- package/dist/chunk-FF54HWSE.js +8 -0
- package/dist/{chunk-MLQKNED6.js → chunk-FOOK54T2.js} +1 -1
- package/dist/{chunk-SWBADIQT.js → chunk-G3HAKQUF.js} +1 -1
- package/dist/{chunk-ZOSEBPAI.js → chunk-GKG3M5QK.js} +1 -1
- package/dist/chunk-GXRS52JD.js +5 -0
- package/dist/{chunk-U7TFWHST.js → chunk-HLMQ34GP.js} +1 -1
- package/dist/chunk-HZSZT3BE.js +7 -0
- package/dist/{chunk-EB6NI2VK.js → chunk-IYHO4XQX.js} +1 -1
- package/dist/chunk-IZGFJWH4.js +1 -0
- package/dist/chunk-KXM6YRG2.js +1 -0
- package/dist/chunk-KXTXYINN.js +16 -0
- package/dist/chunk-LN43DP2A.js +18 -0
- package/dist/{chunk-PFFH7ASD.js → chunk-MXECWHRJ.js} +17 -17
- package/dist/chunk-OXZDSOZV.js +1 -0
- package/dist/{chunk-BSHIQIZC.js → chunk-RPMSET77.js} +1 -1
- package/dist/{chunk-K7BTCBWD.js → chunk-TGZCD6IP.js} +1 -1
- package/dist/{chunk-U5DNBT63.js → chunk-UMBNBCL4.js} +1 -1
- package/dist/chunk-VZUXOZGP.js +64 -0
- package/dist/{chunk-GWYNMSIP.js → chunk-XJ23ULBP.js} +1 -1
- package/dist/{chunk-DNQ7AF6K.js → chunk-YHEYJKQL.js} +1 -1
- package/dist/chunk-YU3WHLGI.js +1 -0
- package/dist/copy/index.d.ts +21 -7
- package/dist/copy/index.js +29 -29
- package/dist/data/index.d.ts +30 -22
- package/dist/data/index.js +1 -1
- package/dist/drag/drag.css +10 -1
- package/dist/drag/index.d.ts +5 -5
- package/dist/drag/index.js +1 -1
- package/dist/draw/index.d.ts +2 -2
- package/dist/easel/easel.css +15 -10
- package/dist/easel/index.d.ts +97 -60
- 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/fields/index.js +1 -1
- package/dist/node-ops/index.d.ts +3 -3
- package/dist/node-ops/index.js +1 -1
- package/dist/panel/index.d.ts +4 -4
- package/dist/panel/panel.css +6 -1
- package/dist/pick/index.d.ts +5 -5
- package/dist/{plan-CZS902DV.d.ts → plan-D0DgSLnY.d.ts} +5 -5
- package/dist/render/index.d.ts +19 -19
- package/dist/render/index.js +5 -5
- package/dist/{repeat-BNgSq2Nw.d.ts → repeat-D65bJS8d.d.ts} +1 -1
- package/dist/{resolve-D68pb3Bx.d.ts → resolve-Bz4mszpL.d.ts} +5 -5
- package/dist/screen/components/AddBlockRow.js +1 -1
- package/dist/screen/components/AddSidePanel.d.ts +2 -2
- package/dist/screen/components/AddSidePanel.js +1 -1
- package/dist/screen/components/NodeContextMenu.d.ts +17 -20
- 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 +2 -2
- package/dist/screen/components/SaveControls.d.ts +8 -8
- package/dist/screen/components/ScreenChrome.js +1 -1
- package/dist/screen/components/ScreenDocumentContext.d.ts +5 -5
- package/dist/screen/components/ScreenDocumentContext.js +1 -1
- package/dist/screen/components/ScreenMount.d.ts +8 -8
- package/dist/screen/components/ScreenMount.js +1 -1
- package/dist/screen/components/ScreenStoreProvider.d.ts +12 -12
- package/dist/screen/components/ScreenStoreProvider.js +1 -1
- package/dist/screen/components/SectionScreenShell.js +17 -17
- package/dist/screen/components/usePartBridge.d.ts +10 -10
- package/dist/screen/components/usePartBridge.js +1 -1
- package/dist/screen/index.d.ts +8 -8
- package/dist/screen/index.js +1 -1
- package/dist/screen/lib/admin-bridge.d.ts +4 -4
- package/dist/screen/lib/document/add-target-types.js +0 -1
- package/dist/screen/lib/document/block-types-in.d.ts +2 -1
- package/dist/screen/lib/document/block-types-in.js +1 -1
- package/dist/screen/lib/document/content-tree.d.ts +8 -8
- package/dist/screen/lib/document/device-fields.d.ts +7 -7
- package/dist/screen/lib/document/device-fields.js +1 -1
- package/dist/screen/lib/document/field-buckets.d.ts +1 -1
- package/dist/screen/lib/document/field-markers.d.ts +5 -5
- package/dist/screen/lib/document/palette-sections.d.ts +5 -5
- package/dist/screen/lib/document/panel-fields.d.ts +6 -6
- package/dist/screen/lib/document/panel-no-control-mark.d.ts +4 -5
- package/dist/screen/lib/document/part-id.d.ts +1 -1
- package/dist/screen/lib/document/preview-events.d.ts +2 -2
- package/dist/screen/lib/document/preview-selection-context.d.ts +2 -2
- package/dist/screen/lib/document/section-doc.d.ts +5 -5
- package/dist/screen/lib/document/section-doc.js +1 -1
- package/dist/screen/lib/document/slot-child-name.d.ts +1 -1
- package/dist/screen/lib/document/slot-section-spec.d.ts +1 -1
- package/dist/screen/lib/document/slot-section-spec.js +0 -1
- package/dist/screen/lib/document/style-clipboard.d.ts +8 -8
- package/dist/screen/lib/document/style-clipboard.js +1 -1
- package/dist/screen/lib/document/tree-reveal.d.ts +6 -6
- package/dist/screen/lib/document/tree-reveal.js +1 -1
- package/dist/screen/lib/document/use-section-ops.d.ts +6 -6
- package/dist/screen/lib/document/use-section-ops.js +1 -1
- package/dist/screen/lib/document-addressing.d.ts +5 -5
- package/dist/screen/lib/document-hooks.d.ts +4 -4
- package/dist/screen/lib/host.d.ts +5 -5
- 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 +5 -5
- package/dist/screen/lib/media-picker.d.ts +6 -6
- package/dist/screen/lib/page-lock.d.ts +4 -4
- package/dist/screen/lib/screen-parts.d.ts +25 -16
- package/dist/screen/lib/screen-parts.js +1 -1
- package/dist/screen/lib/section-templates.d.ts +4 -4
- package/dist/screen/lib/session-context.d.ts +4 -4
- package/dist/screen/lib/session.d.ts +5 -5
- package/dist/screen/lib/shared-sections.d.ts +4 -4
- package/dist/screen/screen.css +15 -15
- package/dist/screen/words.d.ts +4 -3
- package/dist/screen/words.js +1 -1
- package/dist/{session-DSQFmIvx.d.ts → session-EsjORLQ0.d.ts} +1 -1
- package/dist/shell/shell.css +2 -2
- package/dist/strings/index.d.ts +4 -4
- package/dist/strings/index.js +2 -2
- package/dist/style-clipboard/index.d.ts +2 -2
- package/dist/text-styles/index.d.ts +3 -3
- package/dist/text-styles/index.js +21 -21
- package/dist/text-styles/model.d.ts +1 -1
- package/dist/{types-B8NwXKlE.d.ts → types-BIytwvvH.d.ts} +3 -3
- package/dist/{types-Cq53lL8d.d.ts → types-BljCVdzR.d.ts} +18 -18
- package/dist/{types-41704JE4.d.ts → types-Dq180WRV.d.ts} +8 -8
- package/dist/{useNodeOps-fIDWzftn.d.ts → useNodeOps-igxrnEhq.d.ts} +2 -2
- package/dist/{watch-D8xZow3y.d.ts → watch-Unf6SfUf.d.ts} +3 -3
- package/dist/{words-gIDCeRv3.d.ts → words-B5Gb7KFq.d.ts} +1 -1
- package/dist/{words-BpTjCfqO.d.ts → words-Cf5VT2Ic.d.ts} +2 -2
- package/dist/{words-CmEnDoOe.d.ts → words-fbR9IwxH.d.ts} +1 -1
- package/package.json +3 -147
- package/dist/chunk-2C7W64S5.js +0 -8
- package/dist/chunk-2L6KWUBC.js +0 -1
- package/dist/chunk-4FD7TAOE.js +0 -1
- package/dist/chunk-67HCYOW4.js +0 -1
- package/dist/chunk-A2VVB4RH.js +0 -0
- package/dist/chunk-BDSLF5BR.js +0 -1
- package/dist/chunk-CPL43ZLJ.js +0 -1
- package/dist/chunk-L55YIXDC.js +0 -1
- package/dist/chunk-MZ5GSSZ3.js +0 -7
- package/dist/chunk-OHZHYROJ.js +0 -5
- package/dist/chunk-PRHBWA5V.js +0 -0
- package/dist/chunk-TUXLORVR.js +0 -15
- package/dist/chunk-WJJ7H42G.js +0 -18
- package/dist/chunk-YIUE4US7.js +0 -0
- package/dist/chunk-YVFYWAYU.js +0 -65
- package/dist/screen/lib/puck/add-target-types.d.ts +0 -3
- package/dist/screen/lib/puck/add-target-types.js +0 -1
- package/dist/screen/lib/puck/block-choice.d.ts +0 -1
- package/dist/screen/lib/puck/block-choice.js +0 -1
- package/dist/screen/lib/puck/block-types-in.d.ts +0 -1
- package/dist/screen/lib/puck/block-types-in.js +0 -1
- package/dist/screen/lib/puck/content-tree.d.ts +0 -1
- package/dist/screen/lib/puck/content-tree.js +0 -1
- package/dist/screen/lib/puck/device-fields.d.ts +0 -4
- package/dist/screen/lib/puck/device-fields.js +0 -1
- package/dist/screen/lib/puck/field-buckets.d.ts +0 -2
- package/dist/screen/lib/puck/field-buckets.js +0 -1
- package/dist/screen/lib/puck/field-markers.d.ts +0 -2
- package/dist/screen/lib/puck/field-markers.js +0 -1
- package/dist/screen/lib/puck/hidable.d.ts +0 -1
- package/dist/screen/lib/puck/hidable.js +0 -1
- package/dist/screen/lib/puck/palette-sections.d.ts +0 -8
- package/dist/screen/lib/puck/palette-sections.js +0 -1
- package/dist/screen/lib/puck/panel-fields.d.ts +0 -1
- package/dist/screen/lib/puck/panel-fields.js +0 -1
- package/dist/screen/lib/puck/panel-no-control-mark.d.ts +0 -2
- package/dist/screen/lib/puck/panel-no-control-mark.js +0 -1
- package/dist/screen/lib/puck/part-id.d.ts +0 -1
- package/dist/screen/lib/puck/part-id.js +0 -1
- package/dist/screen/lib/puck/preview-click.d.ts +0 -1
- package/dist/screen/lib/puck/preview-click.js +0 -1
- package/dist/screen/lib/puck/preview-dom.d.ts +0 -1
- package/dist/screen/lib/puck/preview-dom.js +0 -1
- package/dist/screen/lib/puck/preview-events.d.ts +0 -1
- package/dist/screen/lib/puck/preview-events.js +0 -1
- package/dist/screen/lib/puck/preview-selection-context.d.ts +0 -2
- package/dist/screen/lib/puck/preview-selection-context.js +0 -1
- package/dist/screen/lib/puck/section-doc.d.ts +0 -9
- package/dist/screen/lib/puck/section-doc.js +0 -1
- package/dist/screen/lib/puck/slot-child-name.d.ts +0 -1
- package/dist/screen/lib/puck/slot-child-name.js +0 -1
- package/dist/screen/lib/puck/slot-heal.d.ts +0 -2
- package/dist/screen/lib/puck/slot-heal.js +0 -1
- package/dist/screen/lib/puck/slot-section-spec.d.ts +0 -1
- package/dist/screen/lib/puck/slot-section-spec.js +0 -1
- package/dist/screen/lib/puck/style-clipboard.d.ts +0 -42
- package/dist/screen/lib/puck/style-clipboard.js +0 -1
- package/dist/screen/lib/puck/text-control-kinds.d.ts +0 -1
- package/dist/screen/lib/puck/text-control-kinds.js +0 -1
- package/dist/screen/lib/puck/tree-reveal.d.ts +0 -1
- package/dist/screen/lib/puck/tree-reveal.js +0 -1
- package/dist/screen/lib/puck/use-section-ops.d.ts +0 -9
- package/dist/screen/lib/puck/use-section-ops.js +0 -1
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 library 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
|
|
@@ -503,6 +503,11 @@
|
|
|
503
503
|
because it is the only thing saying which name owns which control. Floored
|
|
504
504
|
on `--es-row-gap`, not replaced, and not `calc()`. */
|
|
505
505
|
.es-field { margin-top: max(var(--es-row-gap), var(--es-rhythm-between)); }
|
|
506
|
+
/* An Inspector inside a group body (a host's group of rows under a heading, e.g.
|
|
507
|
+
the website's "This page" in Styles > Basics): `.es-insp` is a flex column, so
|
|
508
|
+
the body's 32px and the first row's 32px do not fold into one. The body
|
|
509
|
+
carries the band's gap; the first row adds none. */
|
|
510
|
+
.es-group-body > .es-insp > .es-insp-rows > .es-insp-row:first-child > .es-field:first-child { margin-top: 0; }
|
|
506
511
|
.es-field-head { margin-bottom: var(--es-rhythm-within); }
|
|
507
512
|
|
|
508
513
|
/* A one-line row (a switch on the name line) has no control line, so no gap
|
package/dist/pick/index.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ type ColourPickerProps = {
|
|
|
21
21
|
* A WORD the row prints in place of the hex. While `value` is `''` it names
|
|
22
22
|
* the empty state ("Not set" by default). Given WITH a colour, it names the
|
|
23
23
|
* state that colour is in — "Auto" for an ink that follows its fill, "Accent"
|
|
24
|
-
* for a button on
|
|
24
|
+
* for a button on theme's colour: the swatch shows the colour the page
|
|
25
25
|
* really has, the row prints the word, and the hex is in the window. A
|
|
26
26
|
* caption that IS the value's hex is no word, and the row's hex box stays.
|
|
27
27
|
*/
|
|
@@ -60,7 +60,7 @@ type ColourPickerProps = {
|
|
|
60
60
|
};
|
|
61
61
|
/**
|
|
62
62
|
* ONE COLOUR ROW (blueprint step 4.6): a swatch and its hex, and — pressing
|
|
63
|
-
* the swatch — the shell's colour picker with
|
|
63
|
+
* the swatch — the shell's colour picker with theme's colours, a
|
|
64
64
|
* saturation-and-brightness square, a hue strip and the hex again.
|
|
65
65
|
*
|
|
66
66
|
* ⚠️ NEVER THE SYSTEM COLOUR DIALOG. `<input type="color">` opens a different
|
|
@@ -111,7 +111,7 @@ type ColourWindowProps = {
|
|
|
111
111
|
onChange: (next: string) => void;
|
|
112
112
|
/** The colour's name: it names the panel's hex box ("<label> hex code"). */
|
|
113
113
|
label: string;
|
|
114
|
-
/** The theme's colours, offered first — the shell panel's `presets`, each named by
|
|
114
|
+
/** The theme's colours, offered first — the shell panel's `presets`, each named by theme. */
|
|
115
115
|
theme?: readonly ThemeColour[];
|
|
116
116
|
/** Escape in the window. The opener closes it and takes the focus back. */
|
|
117
117
|
onClose?: () => void;
|
|
@@ -143,13 +143,13 @@ type ColourWindowProps = {
|
|
|
143
143
|
};
|
|
144
144
|
/**
|
|
145
145
|
* THE COLOUR WINDOW on its own: the shell's `ColorPickerPanel` (easel#199
|
|
146
|
-
* step 4, harness UI-24) —
|
|
146
|
+
* step 4, harness UI-24) — theme's colours as its presets, named by the
|
|
147
147
|
* theme, the saturation and brightness square, the hue strip and the hex.
|
|
148
148
|
* `ColourPicker` opens it in the shell's Popover; a row that draws its own
|
|
149
149
|
* swatches (the text-styles list's Any color, plan step E6) opens the same one
|
|
150
150
|
* in its own flow, so there is one window, not two.
|
|
151
151
|
*
|
|
152
|
-
* What it maps: `theme` → `presets` (`label` =
|
|
152
|
+
* What it maps: `theme` → `presets` (`label` = theme colour's name),
|
|
153
153
|
* `inherited` → `fallback` (the panel starts from it, its hex a placeholder,
|
|
154
154
|
* and nothing is written until something moves), `readOnly` → `disabled`.
|
|
155
155
|
* A pick EQUAL to the inherited colour still writes — it pins it — because the
|
|
@@ -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-Dq180WRV.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 library, 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 library'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 library'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 library'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-Dq180WRV.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 library (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 library'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 library'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 LIBRARY'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 library'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 library's own SERVER `<Render>` uses a fragment there instead, so the old library'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 library'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 library 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 `editor` prop
|
|
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 library's own `Data` type — a root
|
|
101
|
+
* that holds its props directly (the older format) is drawn the way the old library draws
|
|
102
102
|
* it, and a document with no root or no content draws an empty page. So a
|
|
103
|
-
*
|
|
103
|
+
* old-library-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 library'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 t,fieldsFrom as n,slotLocations as e,setIn as o,drawnBlockCount as r,isNode as a}from"../chunk-
|
|
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-KXM6YRG2.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-Dq180WRV.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* A BLOCK'S `resolveData`, RUN AS
|
|
4
|
+
* A BLOCK'S `resolveData`, RUN AS THE OLD LIBRARY RAN IT — `resolveComponentData` in the old library
|
|
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 library'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 library is only where the memory lives: the old library 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 library'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 +1 @@
|
|
|
1
|
-
export{AddBlockRow as default}from"../../chunk-
|
|
1
|
+
export{AddBlockRow as default}from"../../chunk-HLMQ34GP.js";import"../../chunk-RUQOIQWI.js";import"../../chunk-GXRS52JD.js";import"../../chunk-FHCKFOCD.js";import"../../chunk-MQA7OFRA.js";import"../../chunk-IYHO4XQX.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-KXTXYINN.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-MXECWHRJ.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-AGWKB77Q.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-RPMSET77.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-HZSZT3BE.js";import"../../chunk-KRL3IUV3.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-S3DUFDQ6.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-6NJHYXJM.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-YU3WHLGI.js";import"../../chunk-LF3FUSCQ.js";import"../../chunk-TGZCD6IP.js";import"../../chunk-KXM6YRG2.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
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-EsjORLQ0.js';
|
|
4
4
|
import { SectionTemplate } from '../lib/section-template-types.js';
|
|
5
5
|
import { SharedSection } from '../lib/shared-section-types.js';
|
|
6
6
|
import { BlockChoice } from '../lib/document/block-choice.js';
|
|
7
|
-
import '../../types-
|
|
7
|
+
import '../../types-Dq180WRV.js';
|
|
8
8
|
import '../lib/document/content-tree.js';
|
|
9
9
|
|
|
10
10
|
/** What a tile adds, parsed back out of its key. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{blockKey,AddSidePanel as default,sectionKey,sharedKey,templateKey}from"../../chunk-
|
|
1
|
+
export{blockKey,AddSidePanel as default,sectionKey,sharedKey,templateKey}from"../../chunk-FF54HWSE.js";import"../../chunk-VKPOH6MK.js";import"../../chunk-IZGFJWH4.js";import"../../chunk-N7E6264U.js";import"../../chunk-N3MJOHAG.js";import"../../chunk-SINAM2IT.js";import"../../chunk-UMDQ6CLQ.js";import"../../chunk-RUQOIQWI.js";import"../../chunk-GXRS52JD.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-FHCKFOCD.js";import"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";import"../../chunk-MQA7OFRA.js";import"../../chunk-IYHO4XQX.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-KXTXYINN.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-MXECWHRJ.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-AGWKB77Q.js";import"../../chunk-ZKY45F5G.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-RPMSET77.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-HZSZT3BE.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-LN43DP2A.js";import"../../chunk-TQ5Y6S2X.js";import"../../chunk-6NJHYXJM.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-YU3WHLGI.js";import"../../chunk-LF3FUSCQ.js";import"../../chunk-TGZCD6IP.js";import"../../chunk-KXM6YRG2.js";
|
|
@@ -1,26 +1,26 @@
|
|
|
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-Dq180WRV.js';
|
|
4
|
+
import { N as NodeClipboard, C as ClipboardEntry, a as NodeOps } from '../../useNodeOps-igxrnEhq.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-Unf6SfUf.js';
|
|
10
10
|
import { ScreenMenuRows } from '../lib/screen-parts.js';
|
|
11
11
|
import { EaselSession } from '../lib/session.js';
|
|
12
|
-
import '../../plan-
|
|
12
|
+
import '../../plan-D0DgSLnY.js';
|
|
13
13
|
import '../../blocks/index.js';
|
|
14
|
-
import '../../types-
|
|
14
|
+
import '../../types-BljCVdzR.js';
|
|
15
15
|
import '../../data/index.js';
|
|
16
|
-
import '../../resolve-
|
|
16
|
+
import '../../resolve-Bz4mszpL.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-NZpaX6aq.js';
|
|
23
|
+
import '../../session-EsjORLQ0.js';
|
|
24
24
|
import '../../words-SD4neL0n.js';
|
|
25
25
|
import '../../types-DBy3L69b.js';
|
|
26
26
|
import 'efficient-shell/ui';
|
|
@@ -30,7 +30,7 @@ import '../lib/section-template-types.js';
|
|
|
30
30
|
import '../lib/document/content-tree.js';
|
|
31
31
|
import '../lib/shared-section-types.js';
|
|
32
32
|
import '../lib/document/block-choice.js';
|
|
33
|
-
import '../../ScreenDocumentContext-
|
|
33
|
+
import '../../ScreenDocumentContext-BDLUYzlM.js';
|
|
34
34
|
import '../lib/document-contract.js';
|
|
35
35
|
import '../lib/document-switch.js';
|
|
36
36
|
import '../../engine-CvXpFE86.js';
|
|
@@ -158,15 +158,12 @@ type NodeMenuHost = {
|
|
|
158
158
|
back: () => void;
|
|
159
159
|
forward: () => void;
|
|
160
160
|
};
|
|
161
|
-
/**
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
*
|
|
166
|
-
|
|
167
|
-
* Absent: "Page settings", as the row always said.
|
|
168
|
-
*/
|
|
169
|
-
pageSettingsLabel?: string;
|
|
161
|
+
/** Take the merchant to THIS document's own styles (the layer's
|
|
162
|
+
* `ScreenBridges.openPageStyles`). Absent: the menu has no such row. */
|
|
163
|
+
openPageStyles?: () => void;
|
|
164
|
+
/** What the page's menu calls that row: `EaselStrings.screen.pageStyles`.
|
|
165
|
+
* Absent: "This page". */
|
|
166
|
+
pageStylesLabel?: string;
|
|
170
167
|
/**
|
|
171
168
|
* THE MENU'S WORDS in the host's language (3.1.0): a node's rows
|
|
172
169
|
* (`EaselStrings.menu`), Copy style and Paste style (`styleClipboard`), and
|
|
@@ -316,7 +313,7 @@ type NodeMenuHost = {
|
|
|
316
313
|
* A top-level node goes through `selectIndex` (inspector mode, the Locations
|
|
317
314
|
* focus reset, scroll the preview to it); a slot child goes through
|
|
318
315
|
* `selectChild`, which for a SLIDER parent must move the carousel to that
|
|
319
|
-
* slide BEFORE selecting, or
|
|
316
|
+
* slide BEFORE selecting, or the old library measures its overlay on an off-screen slide
|
|
320
317
|
* and the canvas grows a horizontal scrollbar. Neither is restated here. The
|
|
321
318
|
* `parentType` is what the slider question is asked of, so the chain hands it
|
|
322
319
|
* down rather than the chrome looking it up a second time.
|
|
@@ -569,7 +566,7 @@ declare function textMenuItems(host: NodeMenuHost, el: TextEl): EaselContextMenu
|
|
|
569
566
|
* render. Per-row handlers are deliberately gone — see {@link onTreeContextMenu}.
|
|
570
567
|
*
|
|
571
568
|
* `canvas` is the editor's canvas frame (`efficient-easel/canvas`
|
|
572
|
-
* `useCanvasFrame`, found once by the chrome) — null until
|
|
569
|
+
* `useCanvasFrame`, found once by the chrome) — null until the old library has drawn into
|
|
573
570
|
* it. The canvas half below listens on it.
|
|
574
571
|
*/
|
|
575
572
|
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-AT4DDMJS.js";import"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";import"../../chunk-MQA7OFRA.js";import"../../chunk-IYHO4XQX.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-RPMSET77.js";import"../../chunk-YU3WHLGI.js";import"../../chunk-LF3FUSCQ.js";import"../../chunk-TGZCD6IP.js";import"../../chunk-KXM6YRG2.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{PageEditGuardNotices as default}from"../../chunk-
|
|
1
|
+
export{PageEditGuardNotices as default}from"../../chunk-GKG3M5QK.js";import"../../chunk-A6ZP5II4.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-IYHO4XQX.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 library'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
|
|
@@ -13,7 +13,7 @@ import * as react from 'react';
|
|
|
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 old-library 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 library's 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 }: {
|
|
@@ -9,14 +9,14 @@ import '../../wordFit-7XpmhcaW.js';
|
|
|
9
9
|
import '../../edit-lock/index.js';
|
|
10
10
|
import '../../panelWidths-DgQXiPXU.js';
|
|
11
11
|
import '../../blocks/index.js';
|
|
12
|
-
import '../../types-
|
|
12
|
+
import '../../types-BljCVdzR.js';
|
|
13
13
|
import '../../data/index.js';
|
|
14
|
-
import '../../types-
|
|
15
|
-
import '../../resolve-
|
|
16
|
-
import '../../plan-
|
|
17
|
-
import '../../watch-
|
|
18
|
-
import '../../CanvasDragLayer-
|
|
19
|
-
import '../../session-
|
|
14
|
+
import '../../types-Dq180WRV.js';
|
|
15
|
+
import '../../resolve-Bz4mszpL.js';
|
|
16
|
+
import '../../plan-D0DgSLnY.js';
|
|
17
|
+
import '../../watch-Unf6SfUf.js';
|
|
18
|
+
import '../../CanvasDragLayer-NZpaX6aq.js';
|
|
19
|
+
import '../../session-EsjORLQ0.js';
|
|
20
20
|
import '../../words-SD4neL0n.js';
|
|
21
21
|
import '../../types-BbOBWXMP.js';
|
|
22
22
|
import '../../style-clipboard/index.js';
|
|
@@ -29,7 +29,7 @@ import '../lib/section-template-types.js';
|
|
|
29
29
|
import '../lib/document/content-tree.js';
|
|
30
30
|
import '../lib/shared-section-types.js';
|
|
31
31
|
import '../lib/document/block-choice.js';
|
|
32
|
-
import '../../ScreenDocumentContext-
|
|
32
|
+
import '../../ScreenDocumentContext-BDLUYzlM.js';
|
|
33
33
|
import '../lib/document-contract.js';
|
|
34
34
|
import '../lib/document-switch.js';
|
|
35
35
|
import '../lib/admin-bridge.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{ScreenChrome as default}from"../../chunk-
|
|
1
|
+
export{ScreenChrome as default}from"../../chunk-VZUXOZGP.js";import"../../chunk-OXZDSOZV.js";import"../../chunk-7OCEPOEJ.js";import"../../chunk-G3HAKQUF.js";import"../../chunk-UMBNBCL4.js";import"../../chunk-5XL2RXFU.js";import"../../chunk-4YUC7B7E.js";import"../../chunk-INRERJU4.js";import"../../chunk-3QB2ZQXK.js";import"../../chunk-DDH2DYQP.js";import"../../chunk-YHEYJKQL.js";import"../../chunk-KCBEE2MC.js";import"../../chunk-C56MPJBH.js";import"../../chunk-6F5GO337.js";import"../../chunk-FOOK54T2.js";import"../../chunk-PY7OOQEZ.js";import"../../chunk-RKTF5XLP.js";import"../../chunk-5545A3PC.js";import"../../chunk-FF54HWSE.js";import"../../chunk-VKPOH6MK.js";import"../../chunk-IZGFJWH4.js";import"../../chunk-N7E6264U.js";import"../../chunk-N3MJOHAG.js";import"../../chunk-SINAM2IT.js";import"../../chunk-UMDQ6CLQ.js";import"../../chunk-RUQOIQWI.js";import"../../chunk-GXRS52JD.js";import"../../chunk-2G6MAXPY.js";import"../../chunk-AT4DDMJS.js";import"../../chunk-GKG3M5QK.js";import"../../chunk-A6ZP5II4.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-XFYFKITX.js";import"../../chunk-IYHO4XQX.js";import"../../chunk-V7U33NF2.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-SSRYU3YG.js";import"../../chunk-AJ2SUSET.js";import"../../chunk-ANPOR6EY.js";import"../../chunk-6UAEFOJ4.js";import"../../chunk-R4AUZVA3.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-KXTXYINN.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-MXECWHRJ.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-AGWKB77Q.js";import"../../chunk-ZKY45F5G.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-P5VYGWYO.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-RPMSET77.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-ZG6PVMC3.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-AJSDWWJW.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-HZSZT3BE.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-LN43DP2A.js";import"../../chunk-TQ5Y6S2X.js";import"../../chunk-6NJHYXJM.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-YU3WHLGI.js";import"../../chunk-LF3FUSCQ.js";import"../../chunk-TGZCD6IP.js";import"../../chunk-KXM6YRG2.js";import"../../chunk-BSPCSC45.js";import"../../chunk-467WWV4I.js";import"../../chunk-TIAWIOGD.js";import"../../chunk-MGVI67QV.js";
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import 'react';
|
|
2
2
|
import '../../blocks/index.js';
|
|
3
|
-
export { p as AnyScreenTarget, q as DocumentTarget, r as ScreenDocumentContext, s as ScreenDocumentProvider, t as ScreenDocumentValue, v as ScreenTarget, w as useScreenDocument } from '../../ScreenDocumentContext-
|
|
3
|
+
export { p as AnyScreenTarget, q as DocumentTarget, r as ScreenDocumentContext, s as ScreenDocumentProvider, t as ScreenDocumentValue, v as ScreenTarget, w as useScreenDocument } from '../../ScreenDocumentContext-BDLUYzlM.js';
|
|
4
4
|
import '../lib/document-contract.js';
|
|
5
5
|
export { SaveStatus } from '../lib/document-switch.js';
|
|
6
6
|
import '../lib/admin-bridge.js';
|
|
7
7
|
import '../../edit-lock/index.js';
|
|
8
8
|
import '../../engine-CvXpFE86.js';
|
|
9
|
-
import '../../types-
|
|
9
|
+
import '../../types-BljCVdzR.js';
|
|
10
10
|
import '../../data/index.js';
|
|
11
|
-
import '../../types-
|
|
12
|
-
import '../../resolve-
|
|
13
|
-
import '../../plan-
|
|
11
|
+
import '../../types-Dq180WRV.js';
|
|
12
|
+
import '../../resolve-Bz4mszpL.js';
|
|
13
|
+
import '../../plan-D0DgSLnY.js';
|
|
14
14
|
import '../lib/session.js';
|
|
15
15
|
import '../lib/backend-error.js';
|
|
16
16
|
import '../lib/host-chrome.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{ScreenDocumentContext,ScreenDocumentProvider,useScreenDocument}from"../../chunk-
|
|
1
|
+
export{ScreenDocumentContext,ScreenDocumentProvider,useScreenDocument}from"../../chunk-A6ZP5II4.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-IYHO4XQX.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MFIRYGHW.js";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { p as AnyScreenTarget, A as AnyDocumentAddressing } from '../../ScreenDocumentContext-
|
|
3
|
+
import { p as AnyScreenTarget, A as AnyDocumentAddressing } from '../../ScreenDocumentContext-BDLUYzlM.js';
|
|
4
4
|
import { ScreenParts } from '../lib/screen-parts.js';
|
|
5
5
|
import '../../blocks/index.js';
|
|
6
|
-
import '../../types-
|
|
6
|
+
import '../../types-BljCVdzR.js';
|
|
7
7
|
import '../../data/index.js';
|
|
8
|
-
import '../../types-
|
|
9
|
-
import '../../resolve-
|
|
10
|
-
import '../../plan-
|
|
8
|
+
import '../../types-Dq180WRV.js';
|
|
9
|
+
import '../../resolve-Bz4mszpL.js';
|
|
10
|
+
import '../../plan-D0DgSLnY.js';
|
|
11
11
|
import '../lib/document-contract.js';
|
|
12
12
|
import '../lib/document-switch.js';
|
|
13
13
|
import '../../engine-CvXpFE86.js';
|
|
@@ -22,13 +22,13 @@ import '../lib/document-hooks.js';
|
|
|
22
22
|
import '../lib/section-template-types.js';
|
|
23
23
|
import '../lib/document/content-tree.js';
|
|
24
24
|
import '../lib/shared-section-types.js';
|
|
25
|
-
import '../../watch-
|
|
25
|
+
import '../../watch-Unf6SfUf.js';
|
|
26
26
|
import '../../types-B3iSHX-w.js';
|
|
27
27
|
import '../../types-Cy7rdmXt.js';
|
|
28
28
|
import '../../wordFit-7XpmhcaW.js';
|
|
29
29
|
import '../../panelWidths-DgQXiPXU.js';
|
|
30
|
-
import '../../CanvasDragLayer-
|
|
31
|
-
import '../../session-
|
|
30
|
+
import '../../CanvasDragLayer-NZpaX6aq.js';
|
|
31
|
+
import '../../session-EsjORLQ0.js';
|
|
32
32
|
import '../../words-SD4neL0n.js';
|
|
33
33
|
import '../../types-BbOBWXMP.js';
|
|
34
34
|
import '../../style-clipboard/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{DocumentScreen,ScreenMount as default}from"../../chunk-
|
|
1
|
+
export{DocumentScreen,ScreenMount as default}from"../../chunk-3P735WOM.js";import"../../chunk-GXQCZJOP.js";import"../../chunk-VZUXOZGP.js";import"../../chunk-OXZDSOZV.js";import"../../chunk-7OCEPOEJ.js";import"../../chunk-G3HAKQUF.js";import"../../chunk-UMBNBCL4.js";import"../../chunk-5XL2RXFU.js";import"../../chunk-4YUC7B7E.js";import"../../chunk-INRERJU4.js";import"../../chunk-3QB2ZQXK.js";import"../../chunk-DDH2DYQP.js";import"../../chunk-YHEYJKQL.js";import"../../chunk-KCBEE2MC.js";import"../../chunk-C56MPJBH.js";import"../../chunk-6F5GO337.js";import"../../chunk-FOOK54T2.js";import"../../chunk-PY7OOQEZ.js";import"../../chunk-RKTF5XLP.js";import"../../chunk-XJ23ULBP.js";import"../../chunk-5545A3PC.js";import"../../chunk-FF54HWSE.js";import"../../chunk-VKPOH6MK.js";import"../../chunk-IZGFJWH4.js";import"../../chunk-N7E6264U.js";import"../../chunk-N3MJOHAG.js";import"../../chunk-SINAM2IT.js";import"../../chunk-UMDQ6CLQ.js";import"../../chunk-RUQOIQWI.js";import"../../chunk-GXRS52JD.js";import"../../chunk-2G6MAXPY.js";import"../../chunk-AT4DDMJS.js";import"../../chunk-GKG3M5QK.js";import"../../chunk-A6ZP5II4.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-XFYFKITX.js";import"../../chunk-IYHO4XQX.js";import"../../chunk-V7U33NF2.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-SSRYU3YG.js";import"../../chunk-AJ2SUSET.js";import"../../chunk-ANPOR6EY.js";import"../../chunk-6UAEFOJ4.js";import"../../chunk-R4AUZVA3.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-KXTXYINN.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-MXECWHRJ.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-AGWKB77Q.js";import"../../chunk-ZKY45F5G.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-P5VYGWYO.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-RPMSET77.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-NDRZP6YR.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-ZG6PVMC3.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-AJSDWWJW.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-HZSZT3BE.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-LN43DP2A.js";import"../../chunk-TQ5Y6S2X.js";import"../../chunk-6NJHYXJM.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-YU3WHLGI.js";import"../../chunk-LF3FUSCQ.js";import"../../chunk-TGZCD6IP.js";import"../../chunk-KXM6YRG2.js";import"../../chunk-BSPCSC45.js";import"../../chunk-467WWV4I.js";import"../../chunk-TIAWIOGD.js";import"../../chunk-MGVI67QV.js";
|