efficient-easel 21.0.0 → 21.1.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 +15 -3
- package/dist/{CanvasDragLayer-Cd1o0HQf.d.ts → CanvasDragLayer-CFUcBbgc.d.ts} +1 -1
- package/dist/{ScreenDocumentContext-CFJeqqKk.d.ts → ScreenDocumentContext-1RgtGKWR.d.ts} +4 -0
- package/dist/blocks/index.d.ts +5 -3
- package/dist/{buckets-Tj-nkBpg.d.ts → buckets-Sw94ll9I.d.ts} +1 -1
- package/dist/canvas/index.d.ts +8 -6
- package/dist/canvas/index.js +1 -1
- package/dist/chunk-2C7W64S5.js +8 -0
- package/dist/chunk-2L6KWUBC.js +1 -0
- package/dist/chunk-467WWV4I.js +1 -0
- package/dist/chunk-4FD7TAOE.js +1 -0
- package/dist/chunk-67HCYOW4.js +1 -0
- package/dist/chunk-A2VVB4RH.js +0 -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-DDH2DYQP.js +1 -0
- package/dist/{chunk-HGCGIRVA.js → chunk-DNQ7AF6K.js} +1 -1
- package/dist/{chunk-66JNVRQM.js → chunk-GWYNMSIP.js} +1 -1
- package/dist/{chunk-V2ULLALL.js → chunk-I67UW5UG.js} +3 -3
- package/dist/{chunk-MSGZ56QL.js → chunk-KWLHKKZO.js} +1 -1
- package/dist/{chunk-FOHHXSOL.js → chunk-MLQKNED6.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-OHZHYROJ.js +5 -0
- package/dist/{chunk-YHFKWV7H.js → chunk-PFFH7ASD.js} +13 -13
- package/dist/chunk-PRHBWA5V.js +0 -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-TUXLORVR.js +15 -0
- package/dist/{chunk-FGNR22NY.js → chunk-U5DNBT63.js} +1 -1
- package/dist/{chunk-EZTP6E2M.js → chunk-U7TFWHST.js} +1 -1
- package/dist/{chunk-2M4T27BI.js → chunk-WJJ7H42G.js} +7 -7
- package/dist/chunk-YIUE4US7.js +0 -0
- package/dist/{chunk-O7Q4DDJT.js → chunk-YM4UEGBV.js} +1 -1
- package/dist/chunk-YVFYWAYU.js +65 -0
- package/dist/{chunk-N2RISV46.js → chunk-ZOSEBPAI.js} +1 -1
- package/dist/copy/index.d.ts +2 -2
- package/dist/copy/index.js +11 -11
- package/dist/drag/index.d.ts +2 -2
- 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 +3 -1
- package/dist/easel/index.d.ts +2 -2
- package/dist/easel/index.js +1 -1
- package/dist/fields/index.d.ts +4 -4
- package/dist/fields/index.js +1 -1
- package/dist/panel/index.d.ts +2 -2
- package/dist/render/index.d.ts +2 -2
- package/dist/render/index.js +5 -5
- package/dist/{repeat-Czi-6zPX.d.ts → repeat-BNgSq2Nw.d.ts} +1 -1
- package/dist/screen/components/AddBlockRow.d.ts +1 -1
- 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 +13 -13
- package/dist/screen/components/NodeContextMenu.js +1 -1
- package/dist/screen/components/PageEditGuardNotices.js +1 -1
- package/dist/screen/components/PreviewPartsContext.d.ts +2 -2
- package/dist/screen/components/PreviewPartsContext.js +1 -1
- package/dist/screen/components/SaveControls.d.ts +7 -7
- package/dist/screen/components/ScreenChrome.js +1 -1
- package/dist/screen/components/ScreenDocumentContext.d.ts +2 -2
- package/dist/screen/components/ScreenDocumentContext.js +1 -1
- package/dist/screen/components/ScreenMount.d.ts +7 -7
- package/dist/screen/components/ScreenMount.js +1 -1
- package/dist/screen/components/ScreenStoreProvider.d.ts +7 -7
- 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 +7 -7
- 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 +1 -1
- package/dist/screen/lib/admin-bridge.js +1 -1
- package/dist/screen/lib/content/view-tiers.d.ts +1 -1
- package/dist/screen/lib/document/add-target-types.d.ts +55 -0
- package/dist/screen/lib/document/add-target-types.js +1 -0
- package/dist/screen/lib/document/block-choice.d.ts +64 -0
- package/dist/screen/lib/document/block-choice.js +1 -0
- package/dist/screen/lib/document/block-types-in.d.ts +39 -0
- package/dist/screen/lib/document/block-types-in.js +1 -0
- package/dist/screen/lib/document/content-tree.d.ts +222 -0
- package/dist/screen/lib/document/content-tree.js +1 -0
- package/dist/screen/lib/document/device-fields.d.ts +128 -0
- package/dist/screen/lib/document/device-fields.js +1 -0
- package/dist/screen/lib/document/field-buckets.d.ts +36 -0
- package/dist/screen/lib/document/field-buckets.js +1 -0
- package/dist/screen/lib/document/field-markers.d.ts +205 -0
- package/dist/screen/lib/document/field-markers.js +1 -0
- package/dist/screen/lib/document/hidable.d.ts +44 -0
- package/dist/screen/lib/document/hidable.js +1 -0
- package/dist/screen/lib/document/palette-sections.d.ts +103 -0
- package/dist/screen/lib/document/palette-sections.js +1 -0
- package/dist/screen/lib/document/panel-fields.d.ts +47 -0
- package/dist/screen/lib/document/panel-fields.js +1 -0
- package/dist/screen/lib/document/panel-no-control-mark.d.ts +74 -0
- package/dist/screen/lib/document/panel-no-control-mark.js +1 -0
- package/dist/screen/lib/document/part-id.d.ts +23 -0
- package/dist/screen/lib/document/part-id.js +1 -0
- package/dist/screen/lib/document/preview-click.d.ts +49 -0
- package/dist/screen/lib/document/preview-click.js +1 -0
- package/dist/screen/lib/document/preview-dom.d.ts +8 -0
- package/dist/screen/lib/document/preview-dom.js +1 -0
- package/dist/screen/lib/document/preview-events.d.ts +25 -0
- package/dist/screen/lib/document/preview-events.js +1 -0
- package/dist/screen/lib/document/preview-selection-context.d.ts +72 -0
- package/dist/screen/lib/document/preview-selection-context.js +1 -0
- package/dist/screen/lib/document/section-doc.d.ts +24 -0
- package/dist/screen/lib/document/section-doc.js +1 -0
- package/dist/screen/lib/document/slot-child-name.d.ts +225 -0
- package/dist/screen/lib/document/slot-child-name.js +1 -0
- package/dist/screen/lib/document/slot-heal.d.ts +5 -0
- package/dist/screen/lib/document/slot-heal.js +1 -0
- package/dist/screen/lib/document/slot-section-spec.d.ts +96 -0
- package/dist/screen/lib/document/slot-section-spec.js +1 -0
- package/dist/screen/lib/document/style-clipboard.d.ts +144 -0
- package/dist/screen/lib/document/style-clipboard.js +1 -0
- package/dist/screen/lib/document/text-control-kinds.d.ts +71 -0
- package/dist/screen/lib/document/text-control-kinds.js +1 -0
- package/dist/screen/lib/document/tree-reveal.d.ts +62 -0
- package/dist/screen/lib/document/tree-reveal.js +1 -0
- package/dist/screen/lib/document/use-section-ops.d.ts +110 -0
- package/dist/screen/lib/document/use-section-ops.js +1 -0
- package/dist/screen/lib/document-addressing.d.ts +2 -2
- package/dist/screen/lib/document-switch.d.ts +1 -1
- package/dist/screen/lib/host.d.ts +2 -2
- 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 +2 -2
- package/dist/screen/lib/media-picker.d.ts +2 -2
- package/dist/screen/lib/page-lock.d.ts +1 -1
- package/dist/screen/lib/puck/add-target-types.d.ts +3 -55
- package/dist/screen/lib/puck/add-target-types.js +1 -0
- package/dist/screen/lib/puck/block-choice.d.ts +1 -64
- package/dist/screen/lib/puck/block-choice.js +1 -1
- package/dist/screen/lib/puck/block-types-in.d.ts +1 -39
- package/dist/screen/lib/puck/block-types-in.js +1 -1
- package/dist/screen/lib/puck/content-tree.d.ts +1 -222
- package/dist/screen/lib/puck/content-tree.js +1 -1
- package/dist/screen/lib/puck/device-fields.d.ts +3 -127
- package/dist/screen/lib/puck/device-fields.js +1 -1
- package/dist/screen/lib/puck/field-buckets.d.ts +2 -36
- package/dist/screen/lib/puck/field-buckets.js +1 -1
- package/dist/screen/lib/puck/field-markers.d.ts +2 -205
- package/dist/screen/lib/puck/field-markers.js +1 -1
- package/dist/screen/lib/puck/hidable.d.ts +1 -44
- package/dist/screen/lib/puck/hidable.js +1 -1
- package/dist/screen/lib/puck/palette-sections.d.ts +2 -97
- package/dist/screen/lib/puck/palette-sections.js +1 -1
- package/dist/screen/lib/puck/panel-fields.d.ts +1 -47
- package/dist/screen/lib/puck/panel-fields.js +1 -1
- package/dist/screen/lib/puck/panel-no-control-mark.d.ts +2 -74
- package/dist/screen/lib/puck/panel-no-control-mark.js +1 -1
- package/dist/screen/lib/puck/part-id.d.ts +1 -23
- package/dist/screen/lib/puck/part-id.js +1 -1
- package/dist/screen/lib/puck/preview-click.d.ts +1 -49
- package/dist/screen/lib/puck/preview-click.js +1 -1
- package/dist/screen/lib/puck/preview-dom.d.ts +1 -8
- package/dist/screen/lib/puck/preview-dom.js +1 -1
- package/dist/screen/lib/puck/preview-events.d.ts +1 -25
- package/dist/screen/lib/puck/preview-events.js +1 -1
- package/dist/screen/lib/puck/preview-selection-context.d.ts +2 -72
- package/dist/screen/lib/puck/preview-selection-context.js +1 -1
- package/dist/screen/lib/puck/section-doc.d.ts +3 -18
- package/dist/screen/lib/puck/section-doc.js +1 -1
- package/dist/screen/lib/puck/slot-child-name.d.ts +1 -225
- package/dist/screen/lib/puck/slot-child-name.js +1 -1
- package/dist/screen/lib/puck/slot-heal.d.ts +2 -5
- package/dist/screen/lib/puck/slot-heal.js +1 -1
- package/dist/screen/lib/puck/slot-section-spec.d.ts +1 -96
- package/dist/screen/lib/puck/slot-section-spec.js +1 -0
- package/dist/screen/lib/puck/style-clipboard.d.ts +12 -114
- package/dist/screen/lib/puck/style-clipboard.js +1 -1
- package/dist/screen/lib/puck/text-control-kinds.d.ts +1 -71
- package/dist/screen/lib/puck/text-control-kinds.js +1 -1
- package/dist/screen/lib/puck/tree-reveal.d.ts +1 -62
- package/dist/screen/lib/puck/tree-reveal.js +1 -1
- package/dist/screen/lib/puck/use-section-ops.d.ts +4 -105
- package/dist/screen/lib/puck/use-section-ops.js +1 -1
- package/dist/screen/lib/screen-parts.d.ts +25 -18
- 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 +1 -1
- package/dist/screen/lib/section-templates.js +1 -1
- package/dist/screen/lib/session-context.d.ts +1 -1
- package/dist/screen/lib/session-context.js +1 -1
- package/dist/screen/lib/session.d.ts +3 -3
- 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 +1 -1
- package/dist/screen/lib/shared-sections.js +1 -1
- package/dist/screen/screen.css +2 -2
- package/dist/strings/index.d.ts +2 -2
- package/dist/strings/index.js +1 -1
- package/dist/text-styles/index.js +21 -21
- package/dist/tree/index.d.ts +1 -1
- package/dist/{types-CDX6vd6A.d.ts → types-B8NwXKlE.d.ts} +1 -1
- package/dist/{watch-BTYOJpQU.d.ts → watch-D8xZow3y.d.ts} +2 -2
- package/dist/{words-BeX5eGq7.d.ts → words-CmEnDoOe.d.ts} +1 -1
- package/package.json +154 -10
- package/dist/chunk-2E2SXDYQ.js +0 -1
- 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/{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
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode, MouseEvent, ComponentType } from 'react';
|
|
3
3
|
import { Data } from '../../blocks/index.js';
|
|
4
|
-
import { C as CanvasTarget } from '../../watch-
|
|
4
|
+
import { C as CanvasTarget } from '../../watch-D8xZow3y.js';
|
|
5
5
|
import { D as DeviceOption } from '../../types-B3iSHX-w.js';
|
|
6
6
|
import { P as Place } from '../../types-41704JE4.js';
|
|
7
|
-
import { M as MeasuredCanvas, C as CanvasDragModel } from '../../CanvasDragLayer-
|
|
7
|
+
import { M as MeasuredCanvas, C as CanvasDragModel } from '../../CanvasDragLayer-CFUcBbgc.js';
|
|
8
8
|
import { E as EaselContextMenuItem } from '../../types-BbOBWXMP.js';
|
|
9
9
|
import { E as EaselRailItem } from '../../types-Cy7rdmXt.js';
|
|
10
10
|
import { StyleRow } from '../../style-clipboard/index.js';
|
|
11
11
|
import { T as TreeRowMark } from '../../types-DBy3L69b.js';
|
|
12
12
|
import { AddKey } from '../components/AddSidePanel.js';
|
|
13
|
-
import { p as AnyScreenTarget } from '../../ScreenDocumentContext-
|
|
13
|
+
import { p as AnyScreenTarget } from '../../ScreenDocumentContext-1RgtGKWR.js';
|
|
14
14
|
import { HostProduct } from './host-chrome.js';
|
|
15
15
|
import { EaselSession } from './session.js';
|
|
16
16
|
import { SharedSectionUse, SharedSection } from './shared-section-types.js';
|
|
17
|
-
import { AddTarget } from './
|
|
18
|
-
import { SlotConfigView } from './
|
|
17
|
+
import { AddTarget } from './document/add-target-types.js';
|
|
18
|
+
import { SlotConfigView } from './document/content-tree.js';
|
|
19
19
|
import '../../types-Cq53lL8d.js';
|
|
20
20
|
import '../../data/index.js';
|
|
21
21
|
import '../../resolve-D68pb3Bx.js';
|
|
@@ -29,7 +29,7 @@ import '../../words-CnnHb9jo.js';
|
|
|
29
29
|
import 'efficient-shell/ui';
|
|
30
30
|
import '../../words-Cl9xMUYY.js';
|
|
31
31
|
import './section-template-types.js';
|
|
32
|
-
import './
|
|
32
|
+
import './document/block-choice.js';
|
|
33
33
|
import './document-contract.js';
|
|
34
34
|
import './document-switch.js';
|
|
35
35
|
import '../../engine-CvXpFE86.js';
|
|
@@ -37,7 +37,7 @@ import './admin-bridge.js';
|
|
|
37
37
|
import './links/link-filters.js';
|
|
38
38
|
import './backend-error.js';
|
|
39
39
|
import './document-hooks.js';
|
|
40
|
-
import './
|
|
40
|
+
import './document/slot-section-spec.js';
|
|
41
41
|
|
|
42
42
|
/**
|
|
43
43
|
* WHAT THE WEBSITE HANDS THE EDITOR'S SCREEN — the parts of the screen that
|
|
@@ -90,12 +90,19 @@ type ScreenInspectorMode = {
|
|
|
90
90
|
* bails out of the state update. A layer whose inspector names this mode names
|
|
91
91
|
* THIS object (the website's `PUCK_MODE`, components/SectionEditor, is it), so
|
|
92
92
|
* "is the panel showing the selection's own?" has one answer on both sides.
|
|
93
|
-
* The kind
|
|
93
|
+
* The kind is `"selection"`; `"puck"` was its spelling until easel 21.1.0 and a
|
|
94
|
+
* layer that still names it is read as the same mode (`isSelectionMode`).
|
|
94
95
|
*/
|
|
95
96
|
declare const SELECTION_MODE: {
|
|
96
|
-
readonly kind: "
|
|
97
|
+
readonly kind: "selection";
|
|
97
98
|
};
|
|
98
|
-
/**
|
|
99
|
+
/** Is this the selection's own panel? Accepts the old spelling `"puck"`, which
|
|
100
|
+
* the web builder's `SectionEditor` and the admin portal's tests still use;
|
|
101
|
+
* easel 22 drops it. */
|
|
102
|
+
declare function isSelectionMode(mode: {
|
|
103
|
+
kind: string;
|
|
104
|
+
}): boolean;
|
|
105
|
+
/** The inspector drilled into one PART of a node (lib/document/part-id): the mode
|
|
99
106
|
* the screen's part bridge (components/usePartBridge) opens and closes. The
|
|
100
107
|
* website's inspector modes include it (components/SectionEditor
|
|
101
108
|
* `InspectorMode`). */
|
|
@@ -206,7 +213,7 @@ interface ScreenInspectorPanelProps {
|
|
|
206
213
|
}
|
|
207
214
|
/** What a block's config allows of the two actions that make another node or
|
|
208
215
|
* take one away (`ComponentConfig.permissions`): `false` only where the config
|
|
209
|
-
* says so (lib/
|
|
216
|
+
* says so (lib/document/content-tree `blockNodeActions`). */
|
|
210
217
|
interface ScreenNodeActions {
|
|
211
218
|
duplicate: boolean;
|
|
212
219
|
delete: boolean;
|
|
@@ -324,7 +331,7 @@ type ScreenRailItem = ScreenLeftView | EaselRailItem;
|
|
|
324
331
|
/**
|
|
325
332
|
* The screen's own writes of the document, as far as a layer's pass over a
|
|
326
333
|
* document needs them. They are the writes every surface of the screen makes
|
|
327
|
-
* (lib/
|
|
334
|
+
* (lib/document/use-section-ops), refused the same way while somebody else holds
|
|
328
335
|
* the document, and ONE object from render to render until that changes — so a
|
|
329
336
|
* pass may list it as a dependency and run no oftener for it.
|
|
330
337
|
*
|
|
@@ -806,7 +813,7 @@ interface ScreenBlockLook {
|
|
|
806
813
|
firstSection: string | null;
|
|
807
814
|
/**
|
|
808
815
|
* What the row of a block says when the block is named by its own content
|
|
809
|
-
* and not by the slot-child rule (lib/
|
|
816
|
+
* and not by the slot-child rule (lib/document/slot-child-name): the layer reads
|
|
810
817
|
* the content, and `compLabel` — the config's label for a type, lent by the
|
|
811
818
|
* screen — is the word for a block it has no rule for.
|
|
812
819
|
*/
|
|
@@ -817,7 +824,7 @@ interface ScreenBlockLook {
|
|
|
817
824
|
/**
|
|
818
825
|
* The plain words of a block's stored copy, every mark of the layer's markup
|
|
819
826
|
* unwrapped: what a tree row prints of a name the author typed, where no mark
|
|
820
|
-
* can be drawn (lib/
|
|
827
|
+
* can be drawn (lib/document/slot-child-name `slotChildRowName`). Which marks
|
|
821
828
|
* there are is the layer's grammar — a website's is not an email's.
|
|
822
829
|
*/
|
|
823
830
|
plainText: (copy: string) => string;
|
|
@@ -842,7 +849,7 @@ interface ScreenBlockLook {
|
|
|
842
849
|
/**
|
|
843
850
|
* THE LAYER'S LAST WORD ON WHAT A LAYERS ROW SAYS (0.103.0): handed a node,
|
|
844
851
|
* the level it is named at and `fallback` — what the screen's own naming
|
|
845
|
-
* rule answered (lib/
|
|
852
|
+
* rule answered (lib/document/slot-child-name: a name the node carries, else its
|
|
846
853
|
* type's label; a pinned row's word) — it answers the row's name. Asked of
|
|
847
854
|
* every node row the page screen's Layers tree draws, and of the menu's
|
|
848
855
|
* Select layer flyout, a block's canvas handle and a section's own list of
|
|
@@ -855,7 +862,7 @@ interface ScreenBlockLook {
|
|
|
855
862
|
* THE PROP A RENAME WRITES, by the layer (0.105.0; owner ruling R11, Victor
|
|
856
863
|
* Mau, 2026-10-09: Rename works on top-level sections in both editors). The
|
|
857
864
|
* write side of `rowName`: handed a node, the level it is named at and
|
|
858
|
-
* `base` — what the screen's own rule answered (lib/
|
|
865
|
+
* `base` — what the screen's own rule answered (lib/document/slot-child-name
|
|
859
866
|
* `slotChildRenameProp` for a block, `sectionRenameProp` for a section) — it
|
|
860
867
|
* answers the prop the Layers row's rename box writes, or null for a node
|
|
861
868
|
* that has no name of its own, which takes Rename out of its menu. Answer the
|
|
@@ -1305,7 +1312,7 @@ interface ScreenStylePastePlan {
|
|
|
1305
1312
|
* layer's — the website's look is its Style and Layout tabs and travels across
|
|
1306
1313
|
* one site's pages, the campaign designer's is its own panels' and stays in
|
|
1307
1314
|
* one campaign. Each member is optional, and one left out is the website's
|
|
1308
|
-
* (lib/
|
|
1315
|
+
* (lib/document/style-clipboard): a layer may hand only its scope. Plain functions,
|
|
1309
1316
|
* the same object for the life of the mount.
|
|
1310
1317
|
*/
|
|
1311
1318
|
interface ScreenStyleClipboard {
|
|
@@ -1565,4 +1572,4 @@ declare function useScreenCanvasTarget(): CanvasTarget | null;
|
|
|
1565
1572
|
* engine's plain rows for the selection. */
|
|
1566
1573
|
declare function useScreenInspectorPanel(): ComponentType<ScreenInspectorPanelProps>;
|
|
1567
1574
|
|
|
1568
|
-
export { type NodeDefaults, SELECTION_MODE, type ScreenBlockLook, type ScreenBlockRules, type ScreenBridges, type ScreenCanvas, type ScreenCanvasDrag, type ScreenCanvasDragContext, type ScreenCanvasHeadProps, ScreenCanvasTargetProvider, type ScreenDevices, type ScreenDocumentOps, type ScreenDragItem, type ScreenInspector, type ScreenInspectorMode, type ScreenInspectorPanelProps, type ScreenLeftPanel, type ScreenLeftView, type ScreenLeftViewFrame, type ScreenLeftViewRules, type ScreenMainAction, type ScreenMediaDrop, type ScreenMediaFile, type ScreenMenuItem, type ScreenMenuRows, type ScreenNewNode, type ScreenNode, type ScreenNodeActions, type ScreenNodeLevel, type ScreenNodeMaker, type ScreenPartMode, type ScreenParts, ScreenPartsProvider, type ScreenPinnedBand, type ScreenPinnedNodes, type ScreenRailItem, type ScreenSelector, type ScreenSharedSections, type ScreenSlot, type ScreenSlotAction, type ScreenSlotMode, type ScreenStyleClipboard, type ScreenStyleDocument, type ScreenStylePastePlan, type ScreenToastExtra, type ScreenTree, type ScreenTreeFolds, type ScreenTreeRows, isPinnedFirst, isPinnedLast, isSlotMode, sameInspectorMode, screenSlotsOf, useScreenBlockLook, useScreenBlockRules, useScreenBridges, useScreenCanvasDrag, useScreenCanvasFrame, useScreenCanvasHead, useScreenCanvasTarget, useScreenDevices, useScreenDocumentLabel, useScreenDocumentPass, useScreenInspectorPanel, useScreenLeftView, useScreenNodeKeys, useScreenNotify, useScreenOwnerName, useScreenParts, useScreenPickFollowsSelection, useScreenPinned, useScreenSaveSwitch, useScreenStorageNamespace, useScreenStyleClipboard, useStandaloneScreenBridges };
|
|
1575
|
+
export { type NodeDefaults, SELECTION_MODE, type ScreenBlockLook, type ScreenBlockRules, type ScreenBridges, type ScreenCanvas, type ScreenCanvasDrag, type ScreenCanvasDragContext, type ScreenCanvasHeadProps, ScreenCanvasTargetProvider, type ScreenDevices, type ScreenDocumentOps, type ScreenDragItem, type ScreenInspector, type ScreenInspectorMode, type ScreenInspectorPanelProps, type ScreenLeftPanel, type ScreenLeftView, type ScreenLeftViewFrame, type ScreenLeftViewRules, type ScreenMainAction, type ScreenMediaDrop, type ScreenMediaFile, type ScreenMenuItem, type ScreenMenuRows, type ScreenNewNode, type ScreenNode, type ScreenNodeActions, type ScreenNodeLevel, type ScreenNodeMaker, type ScreenPartMode, type ScreenParts, ScreenPartsProvider, type ScreenPinnedBand, type ScreenPinnedNodes, type ScreenRailItem, type ScreenSelector, type ScreenSharedSections, type ScreenSlot, type ScreenSlotAction, type ScreenSlotMode, type ScreenStyleClipboard, type ScreenStyleDocument, type ScreenStylePastePlan, type ScreenToastExtra, type ScreenTree, type ScreenTreeFolds, type ScreenTreeRows, isPinnedFirst, isPinnedLast, isSelectionMode, isSlotMode, sameInspectorMode, screenSlotsOf, useScreenBlockLook, useScreenBlockRules, useScreenBridges, useScreenCanvasDrag, useScreenCanvasFrame, useScreenCanvasHead, useScreenCanvasTarget, useScreenDevices, useScreenDocumentLabel, useScreenDocumentPass, useScreenInspectorPanel, useScreenLeftView, useScreenNodeKeys, useScreenNotify, useScreenOwnerName, useScreenParts, useScreenPickFollowsSelection, useScreenPinned, useScreenSaveSwitch, useScreenStorageNamespace, useScreenStyleClipboard, useStandaloneScreenBridges };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{SELECTION_MODE,ScreenCanvasTargetProvider,ScreenPartsProvider,isPinnedFirst,isPinnedLast,isSlotMode,sameInspectorMode,screenSlotsOf,useScreenBlockLook,useScreenBlockRules,useScreenBridges,useScreenCanvasDrag,useScreenCanvasFrame,useScreenCanvasHead,useScreenCanvasTarget,useScreenDevices,useScreenDocumentLabel,useScreenDocumentPass,useScreenInspectorPanel,useScreenLeftView,useScreenNodeKeys,useScreenNotify,useScreenOwnerName,useScreenParts,useScreenPickFollowsSelection,useScreenPinned,useScreenSaveSwitch,useScreenStorageNamespace,useScreenStyleClipboard,useStandaloneScreenBridges}from"../../chunk-
|
|
1
|
+
export{SELECTION_MODE,ScreenCanvasTargetProvider,ScreenPartsProvider,isPinnedFirst,isPinnedLast,isSelectionMode,isSlotMode,sameInspectorMode,screenSlotsOf,useScreenBlockLook,useScreenBlockRules,useScreenBridges,useScreenCanvasDrag,useScreenCanvasFrame,useScreenCanvasHead,useScreenCanvasTarget,useScreenDevices,useScreenDocumentLabel,useScreenDocumentPass,useScreenInspectorPanel,useScreenLeftView,useScreenNodeKeys,useScreenNotify,useScreenOwnerName,useScreenParts,useScreenPickFollowsSelection,useScreenPinned,useScreenSaveSwitch,useScreenStorageNamespace,useScreenStyleClipboard,useStandaloneScreenBridges}from"../../chunk-OHZHYROJ.js";import"../../chunk-PRHBWA5V.js";import"../../chunk-FHCKFOCD.js";import"../../chunk-MQA7OFRA.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-TUXLORVR.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-PFFH7ASD.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-IWCKVZHS.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-BSHIQIZC.js";import"../../chunk-MZ5GSSZ3.js";import"../../chunk-KRL3IUV3.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-S3DUFDQ6.js";import"../../chunk-JACEEVVF.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-3S5N4HLJ.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-4FD7TAOE.js";import"../../chunk-LF3FUSCQ.js";import"../../chunk-K7BTCBWD.js";import"../../chunk-L55YIXDC.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SectionTemplateStore } from './section-template-types.js';
|
|
2
2
|
import { EaselSession } from './session.js';
|
|
3
|
-
import './
|
|
3
|
+
import './document/content-tree.js';
|
|
4
4
|
import '../../blocks/index.js';
|
|
5
5
|
import 'react';
|
|
6
6
|
import '../../types-Cq53lL8d.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{sectionTemplates,sectionTemplatesOf}from"../../chunk-
|
|
1
|
+
export{sectionTemplates,sectionTemplatesOf}from"../../chunk-N7E6264U.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-SNF5764Q.js";
|
|
@@ -15,7 +15,7 @@ import 'efficient-shell/ui';
|
|
|
15
15
|
import './document-contract.js';
|
|
16
16
|
import './document-hooks.js';
|
|
17
17
|
import './section-template-types.js';
|
|
18
|
-
import './
|
|
18
|
+
import './document/content-tree.js';
|
|
19
19
|
import './shared-section-types.js';
|
|
20
20
|
|
|
21
21
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{EaselSessionProvider,useEaselSession}from"../../chunk-
|
|
1
|
+
export{EaselSessionProvider,useEaselSession}from"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";
|
|
@@ -14,7 +14,7 @@ import '../../plan-CZS902DV.js';
|
|
|
14
14
|
import '../../edit-lock/index.js';
|
|
15
15
|
import './links/link-filters.js';
|
|
16
16
|
import 'efficient-shell/ui';
|
|
17
|
-
import './
|
|
17
|
+
import './document/content-tree.js';
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* The editor SESSION — everything one mounted editor knows that no prop reaches:
|
|
@@ -138,8 +138,8 @@ interface EaselSession {
|
|
|
138
138
|
readonly blocks: SessionBlocks | null;
|
|
139
139
|
/**
|
|
140
140
|
* The block registry this editor works from — the page root, the palette's
|
|
141
|
-
* groups and every block (lib/
|
|
142
|
-
* it over: the storefront's is `lib/
|
|
141
|
+
* groups and every block (lib/document/registry). Whoever mounts the editor hands
|
|
142
|
+
* it over: the storefront's is `lib/document/config`, with its commerce and
|
|
143
143
|
* service blocks registered among the general ones. The editor imports no
|
|
144
144
|
* registry of its own, so it never imports a block it does not own
|
|
145
145
|
* (doc/adr/0002). Read once, with the backend — through
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{EFFICIENT_BACKEND,activateEaselSession,backendOf,createEaselSession,currentEaselSession,deactivateEaselSession,efficientClientOpen,isEfficientBackend,provideDefaultBackend,resetAmbientEaselSession,sessionRegistry,setSessionBridgedSite,setSessionDocumentSite}from"../../chunk-
|
|
1
|
+
export{EFFICIENT_BACKEND,activateEaselSession,backendOf,createEaselSession,currentEaselSession,deactivateEaselSession,efficientClientOpen,isEfficientBackend,provideDefaultBackend,resetAmbientEaselSession,sessionRegistry,setSessionBridgedSite,setSessionDocumentSite}from"../../chunk-SNF5764Q.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SharedSectionStore } from './shared-section-types.js';
|
|
2
2
|
import { EaselSession } from './session.js';
|
|
3
|
-
import './
|
|
3
|
+
import './document/content-tree.js';
|
|
4
4
|
import '../../blocks/index.js';
|
|
5
5
|
import 'react';
|
|
6
6
|
import '../../types-Cq53lL8d.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{keepsSharedSections,sharedSectionsOf}from"../../chunk-
|
|
1
|
+
export{keepsSharedSections,sharedSectionsOf}from"../../chunk-N3MJOHAG.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-SNF5764Q.js";
|
package/dist/screen/screen.css
CHANGED
|
@@ -338,7 +338,7 @@
|
|
|
338
338
|
}
|
|
339
339
|
|
|
340
340
|
/* ── Left panel: section tree ─────────────────────────────────────────────
|
|
341
|
-
The Layers tree is the left panel's scroll box (`lib/
|
|
341
|
+
The Layers tree is the left panel's scroll box (`lib/document/tree-reveal`
|
|
342
342
|
scrolls it to the selected row). Nothing more: its ONE inset, 12 a side, is
|
|
343
343
|
`.es-tree`'s (`efficient-easel/tree.css`). This rule used to pad the same
|
|
344
344
|
element a second time (8 / 11 / 10 over `.es-tree`'s 8 / 12 / 12) and to
|
|
@@ -682,7 +682,7 @@
|
|
|
682
682
|
/* The rail's "+" (`.sf-rail-plus`) went in 11.0.0: Add opens from the Layers
|
|
683
683
|
head's "+" and a canvas ➕ (owner ruling A1, amended 2026-10-14). */
|
|
684
684
|
|
|
685
|
-
/* ── Device-aware fields (lib/
|
|
685
|
+
/* ── Device-aware fields (lib/document/device-fields.tsx) ─────────────────────────
|
|
686
686
|
A control that belongs to a device the canvas is not showing paints a
|
|
687
687
|
zero-size marker instead of itself, and its row (efficient-easel's public
|
|
688
688
|
`.es-insp-row`, blueprint 4.4) collapses when it holds one, so no gap is left.
|
package/dist/strings/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { D as DragWords } from '../words-SD4neL0n.js';
|
|
|
5
5
|
import { LockWords } from '../edit-lock/index.js';
|
|
6
6
|
import { F as FieldsWords } from '../words-CFkb8XtN.js';
|
|
7
7
|
import { N as NodeMenuWords } from '../words-DMG4dYq2.js';
|
|
8
|
-
import { P as PanelWords } from '../words-
|
|
8
|
+
import { P as PanelWords } from '../words-CmEnDoOe.js';
|
|
9
9
|
import { P as PickWords } from '../words-DWvCJXwR.js';
|
|
10
10
|
import { ScreenWords } from '../screen/words.js';
|
|
11
11
|
export { ScreenAddWords, ScreenSharedWords } from '../screen/words.js';
|
|
@@ -20,7 +20,7 @@ import '../wordFit-7XpmhcaW.js';
|
|
|
20
20
|
import '../panelWidths-DgQXiPXU.js';
|
|
21
21
|
import '../engine-CvXpFE86.js';
|
|
22
22
|
import 'efficient-shell/markup';
|
|
23
|
-
import '../buckets-
|
|
23
|
+
import '../buckets-Sw94ll9I.js';
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* The easel canvas's own words (`efficient-easel/strings`, 0.95.0): what the
|
package/dist/strings/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{DEFAULT_TEXT_STYLES_WORDS as r}from"../chunk-OGH6CC3E.js";import{DEFAULT_SCREEN_WORDS as o}from"../chunk-EB6NI2VK.js";import{DEFAULT_STYLE_CLIPBOARD_WORDS as n}from"../chunk-6WY6ZXJG.js";import{DEFAULT_CANVAS_WORDS as t}from"../chunk-TBY3DFKS.js";import{DEFAULT_PANEL_WORDS as c}from"../chunk-KFV7N2DJ.js";import{DEFAULT_TREE_WORDS as e}from"../chunk-K56YDHYQ.js";import{DEFAULT_NODE_MENU_WORDS as m}from"../chunk-WK3AFPXY.js";import{DEFAULT_PICK_WORDS as i}from"../chunk-OFBZOI6W.js";import{DEFAULT_SAVE_WORDS as s}from"../chunk-H6DDIBQ4.js";import{DEFAULT_CHROME_WORDS as u,DEFAULT_NOTICE_WORDS as f}from"../chunk-AJSDWWJW.js";import{DEFAULT_RAIL_WORDS as p}from"../chunk-2OAZYSWJ.js";import{DEFAULT_LOCK_WORDS as l}from"../chunk-RE4LP46F.js";import{DEFAULT_COPY_WORDS as h}from"../chunk-KRL3IUV3.js";import{DEFAULT_FIELDS_WORDS as j}from"../chunk-JACEEVVF.js";import{stringsContext as k}from"../chunk-MFIRYGHW.js";import{DEFAULT_DRAG_WORDS as a}from"../chunk-TQ5Y6S2X.js";import{useContext as W,useMemo as Y}from"react";import{jsx as y}from"react/jsx-runtime";var F={notice:f,lock:l,save:s,chrome:u,rail:p,tree:e,panel:c,fields:j,pick:i,drag:a,menu:m,styleClipboard:n,copy:h,canvas:t,textStyles:r,screen:o},d=r=>"object"==typeof r&&null!==r;function v(r,o){const n={};for(const t of Object.keys(r)){const c=r[t],e=o[t];null==e?n[t]=c:d(c)?n[t]=d(e)?v(c,e):c:n[t]=typeof e==typeof c?e:c}return n}function D(r,o){return o?v(r,o):r}function J({value:r,locale:o,children:n}){const t=k(),c=W(t),e=c?.strings??F,m=o??c?.locale??"en",i=Y(()=>({strings:D(e,r),locale:m}),[e,r,m]);/* @__PURE__ */
|
|
2
2
|
return y(t.Provider,{value:i,children:n})}function K(){return W(k())?.strings??F}function E(){return W(k())?.locale??"en"}export{F as DEFAULT_EASEL_STRINGS,J as EaselStringsProvider,D as mergeEaselStrings,E as useEaselLocale,K as useEaselStrings};
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{DEFAULT_TEXT_STYLES_WORDS as e}from"../chunk-OGH6CC3E.js";export{DEFAULT_TEXT_STYLES_WORDS}from"../chunk-OGH6CC3E.js";import{FieldSlider as s}from"../chunk-ZEH6QLBH.js";import{hexReadout as t,ColourWindow as a,typedHex as n}from"../chunk-U6LJ5UKD.js";import"../chunk-OFBZOI6W.js";import{TEXT_STYLE_KINDS as l,canAddTextStyle as i,TEXT_STYLE_MAX as r,isDefaultTextStyle as o,CAMPAIGN_TEXT_STYLE_SETTINGS as d,TEXT_STYLE_SETTINGS as c,textStyleRowSize as u,describeTextStyle as m,updateTextStyle as h,textStyleCaseCss as f,TEXT_STYLE_CASES as p,addTextStyle as v,removeTextStyle as y,TEXT_STYLE_RANGES as S}from"../chunk-YHZSBL2N.js";export{CAMPAIGN_TEXT_STYLE_SETTINGS,TEXT_STYLE_CASES,TEXT_STYLE_CASE_CSS,TEXT_STYLE_DEFAULT_COUNT,TEXT_STYLE_KINDS,TEXT_STYLE_MAX,TEXT_STYLE_RANGES,TEXT_STYLE_SETTINGS,addTextStyle,canAddTextStyle,defaultTextStyles,describeTextStyle,isDefaultTextStyle,isTextStyleCase,removeTextStyle,resolveTextStyle,textStyleCaseCss,textStyleCaseOfCss,textStyleRowSize,updateTextStyle,weightWord}from"../chunk-YHZSBL2N.js";import{FieldSelect as g}from"../chunk-KFWNGPW3.js";import"../chunk-JACEEVVF.js";import{useWords as b}from"../chunk-MFIRYGHW.js";import{withTip as k}from"../chunk-P2VEMZH5.js";import{hsvToHex as N,Tooltip as C,ColorSwatch as x,IconButton as T}from"efficient-shell/ui";import{useState as w,useRef as E,useId as z,useEffect as O,Fragment as _}from"react";import{TrashIcon as L,ChevronIcon as A,BoldIcon as j,ItalicIcon as M,CaseLowerIcon as $,CaseCapitalizedIcon as W,CaseUpperIcon as Y,CaseNormalIcon as I}from"efficient-shell/icons/efficient";import{jsxs as D,jsx as X,Fragment as F}from"react/jsx-runtime";var H=`conic-gradient(${[0,60,120,180,240,300,0].map(e=>N({h:e,s:1,v:1})).join(", ")})`;function P({value:e,hex:s,colours:n,label:l,followsWord:i,anyWord:r,onChange:o,readOnly:d=!1}){const[c,u]=w(!1),m=E(null),h=E(null),f=z(),p=void 0!==e&&n.some(s=>s.key===e),v=void 0!==e&&!p;return O(()=>{if(!c)return;const e=m.current?.ownerDocument;if(!e)return;const s=e=>{m.current&&!m.current.contains(e.target)&&u(!1)};return e.addEventListener("click",s,!0),()=>e.removeEventListener("click",s,!0)},[c]),/* @__PURE__ */D("div",{ref:m,className:"es-ts-set","data-ts-setting":"color",children:[
|
|
2
2
|
/* @__PURE__ */D("div",{className:"es-ts-top",children:[
|
|
3
3
|
/* @__PURE__ */X("span",{className:"es-ts-sub",children:l}),
|
|
4
|
-
/* @__PURE__ */X("span",{className:"es-ts-colour-read",children:
|
|
5
|
-
/* @__PURE__ */D("div",{className:"es-ts-swatches",role:"group","aria-label":l,children:[n.map(s=>/* @__PURE__ */X(C,{content:`${s.name} · ${
|
|
6
|
-
/* @__PURE__ */X(C,{content:r,children:/* @__PURE__ */X(x,{ref:h,color:H,size:"sm",className:"es-ts-swatch es-ts-swatch--any","aria-label":r,selected:v,"aria-expanded":c,"aria-controls":c?f:void 0,disabled:d,onClick:()=>u(e=>!e)})})]}),c?/* @__PURE__ */X(
|
|
7
|
-
return X("div",{className:"es-ts",ref:I,children:l.map(
|
|
8
|
-
return D(G,{label:A.groups[
|
|
9
|
-
return X(R,{style:
|
|
10
|
-
/* @__PURE__ */X("span",{className:"es-ts-add-word",children:A.add[
|
|
11
|
-
/* @__PURE__ */X("span",{className:"es-ts-count",children:A.count({n:l.length,max:x})})]})),_||!r?null:/* @__PURE__ */X("span",{id:`${j}-full-${
|
|
4
|
+
/* @__PURE__ */X("span",{className:"es-ts-colour-read",children:s?t(s):i})]}),
|
|
5
|
+
/* @__PURE__ */D("div",{className:"es-ts-swatches",role:"group","aria-label":l,children:[n.map(s=>/* @__PURE__ */X(C,{content:`${s.name} · ${t(s.value)}`,children:/* @__PURE__ */X(x,{color:s.value,size:"sm",className:"es-ts-swatch","aria-label":s.name,selected:e===s.key,disabled:d,onClick:()=>o(s.key)})},s.key)),
|
|
6
|
+
/* @__PURE__ */X(C,{content:r,children:/* @__PURE__ */X(x,{ref:h,color:H,size:"sm",className:"es-ts-swatch es-ts-swatch--any","aria-label":r,selected:v,"aria-expanded":c,"aria-controls":c?f:void 0,disabled:d,onClick:()=>u(e=>!e)})})]}),c?/* @__PURE__ */X(a,{id:f,value:s??"",onChange:e=>o(e),label:l,readOnly:d,onClose:()=>{u(!1),h.current?.focus()}}):null]})}function B({styles:s,onChange:t,fonts:a,colours:n=[],settings:c=d,auto:u=[],fallback:m,sample:h,openId:f,defaultOpenId:p=null,onOpenChange:S,onAdd:g,rowActions:N,onRemove:C,max:x=r,device:T="desktop",readOnly:_=!1}){const A=b("textStyles",e),j=z(),[M,$]=w(p),W=void 0!==f?f:M,Y=e=>{void 0===f&&$(e),S?.(e)},I=E(null),[H,P]=w(null);O(()=>{if(!H||!I.current)return;const e=[...I.current.querySelectorAll(".es-ts-item")].find(e=>e.dataset.tsId===H.id),s=e?e.querySelector(".es-ts-row"):I.current.querySelector(`.es-ts-add[data-ts-kind="${H.kind}"]`);s?.focus(),P(null)},[H]);/* @__PURE__ */
|
|
7
|
+
return X("div",{className:"es-ts",ref:I,children:l.map(e=>{const l=s.filter(s=>s.kind===e),r=!i(s,e,x),d=!_&&!r;/* @__PURE__ */
|
|
8
|
+
return D(G,{label:A.groups[e],children:[l.map(e=>{const l=N?.(e),i=null!=l&&!1!==l,r=Boolean(C)&&!_&&!o(e);/* @__PURE__ */
|
|
9
|
+
return X(R,{style:e,fonts:a,colours:n,settings:c,auto:u,fallback:m,sample:h,device:T,readOnly:_,open:W===e.id,onOpenChange:s=>Y(s?e.id:null),onChange:e=>t(s.map(s=>s.id===e.id?e:s)),actions:r||i?/* @__PURE__ */D(F,{children:[r?k(A.remove,/* @__PURE__ */X("button",{type:"button",className:"es-ts-del","aria-label":A.removeNamed({name:e.name}),onClick:()=>(e=>{if(_||!C)return;const a=y(s,e.id,{name:A.styleName});if(!a)return;const n=s.filter(s=>s.kind===e.kind),l=n[n.indexOf(e)+1];W===e.id&&Y(null),t(a.styles),C(a.removed),P({id:l?.id??null,kind:e.kind})})(e),children:/* @__PURE__ */X(L,{size:14,"aria-hidden":"true"})})):null,i?l:null]}):null},e.id)}),k(!_&&r?A.full({kind:e,max:x}):void 0,/* @__PURE__ */D("button",{type:"button",className:"es-ts-add","data-ts-kind":e,disabled:_,"aria-disabled":!(_||!r)||void 0,"aria-describedby":!_&&r?`${j}-full-${e}`:void 0,onClick:()=>{d&&(e=>{if(_)return;const a=v(s,e,{max:x,name:A.styleName,make:g});a&&t(a.styles)})(e)},children:[
|
|
10
|
+
/* @__PURE__ */X("span",{className:"es-ts-add-word",children:A.add[e]}),
|
|
11
|
+
/* @__PURE__ */X("span",{className:"es-ts-count",children:A.count({n:l.length,max:x})})]})),_||!r?null:/* @__PURE__ */X("span",{id:`${j}-full-${e}`,className:"es-vh",children:A.full({kind:e,max:x})})]},e)})})}function G({label:e,children:s}){const t=z();/* @__PURE__ */
|
|
12
12
|
return D("section",{className:"es-ts-section","aria-labelledby":t,children:[
|
|
13
|
-
/* @__PURE__ */X("div",{className:"es-ts-group",id:t,children:e}),s]})}function R({style:
|
|
13
|
+
/* @__PURE__ */X("div",{className:"es-ts-group",id:t,children:e}),s]})}function R({style:s,fonts:t,colours:a=[],settings:n=d,auto:l=[],fallback:i,sample:r,open:o,onOpenChange:f,onChange:p,actions:v,device:y="desktop",readOnly:S=!1}){const g=b("textStyles",e),k=`${z()}-open-${s.id}`,N=new Set(l),C=c.filter(e=>n.includes(e)),x={...i?.(s)??{},...s.values},T="phone"===y,w=T&&void 0!==s.values.sizePhone?{...x,size:s.values.sizePhone}:x,E=t.find(e=>e.value===x.font),O={fontFamily:E?.family,fontSize:`${u(w.size??16)}px`,fontWeight:x.weight,fontStyle:x.italic?"italic":void 0};/* @__PURE__ */
|
|
14
14
|
return D(_,{children:[
|
|
15
|
-
/* @__PURE__ */D("div",{className:"es-ts-item","data-ts-id":
|
|
15
|
+
/* @__PURE__ */D("div",{className:"es-ts-item","data-ts-id":s.id,children:[
|
|
16
16
|
/* @__PURE__ */D("button",{type:"button",className:"es-ts-row","aria-expanded":o,"aria-controls":o?k:void 0,onClick:()=>f(!o),children:[
|
|
17
17
|
/* @__PURE__ */X("span",{className:"es-ts-chev","aria-hidden":"true",children:/* @__PURE__ */X(A,{size:12})}),
|
|
18
|
-
/* @__PURE__ */X("span",{className:"es-ts-name",style:O,children:
|
|
19
|
-
/* @__PURE__ */X("span",{className:"es-ts-meta",children:m(w,
|
|
20
|
-
return X("div",{className:"es-ts-slider","data-ts-setting":e,children:/* @__PURE__ */X(
|
|
18
|
+
/* @__PURE__ */X("span",{className:"es-ts-name",style:O,children:s.name}),
|
|
19
|
+
/* @__PURE__ */X("span",{className:"es-ts-meta",children:m(w,t,g,{autoSize:N.has("size")&&w===x&&void 0===s.values.size})})]}),v?/* @__PURE__ */X("div",{className:"es-ts-actions",children:v}):null]}),o?/* @__PURE__ */X("div",{className:"es-ts-open",id:k,children:/* @__PURE__ */X(V,{style:s,values:x,fonts:t,colours:a,settings:C,autoSet:N,sample:r??g.sample,words:g,phone:T,readOnly:S,set:e=>p(h([s],s.id,e)[0])})}):null]})}var U={none:I,upper:Y,capitalize:W,lower:$};function V({style:e,values:t,fonts:a,colours:l,settings:i,autoSet:r,sample:o,words:d,phone:c,readOnly:u,set:m}){const h=e.values,p=a.find(e=>e.value===t.font),v=function(e,s){return e?s.find(s=>s.key===e)?.value??n(e)??void 0:void 0}(t.color,l),y=e=>"largestSize"===e||r.has(e),g=e=>y(e)?h[e]:t[e],b=g("size"),N=c&&void 0!==h.sizePhone?h.sizePhone:b,C=g("lineSpacing"),x=g("letterSpacing"),w=y("letterCase")?h.letterCase:t.letterCase,E={fontFamily:p?.family,fontSize:void 0===N?void 0:`${N}px`,fontWeight:t.weight,fontStyle:t.italic?"italic":void 0,lineHeight:void 0===C?void 0:String(C/100),letterSpacing:void 0===x?void 0:`${x}px`,color:v,textTransform:f(w)},z=e=>{const a=S[e],n=y(e);/* @__PURE__ */
|
|
20
|
+
return X("div",{className:"es-ts-slider","data-ts-setting":e,children:/* @__PURE__ */X(s,{label:d.settings[e],value:h[e],onChange:s=>m({[e]:s}),min:a.min,max:a.max,step:a.step,shiftStep:a.shiftStep,sliderMin:a.sliderMin,sliderMax:a.sliderMax,unit:a.unit||void 0,styleValue:n?void 0:t[e],auto:n?d.auto:void 0,readOnly:u})},e)};/* @__PURE__ */
|
|
21
21
|
return D(F,{children:[
|
|
22
|
-
/* @__PURE__ */X("div",{className:"es-ts-preview",style:E,"aria-label":d.preview,children:o}),i.map(
|
|
23
|
-
return X(Z,{value:h.font,fonts:a,words:d,readOnly:u,set:m},
|
|
24
|
-
return X(K,{value:h.color,hex:v,colours:l,words:d,readOnly:u,set:m},
|
|
25
|
-
return D("div",{className:"es-ts-set","data-ts-setting":
|
|
22
|
+
/* @__PURE__ */X("div",{className:"es-ts-preview",style:E,"aria-label":d.preview,children:o}),i.map(n=>{switch(n){case"font":/* @__PURE__ */
|
|
23
|
+
return X(Z,{value:h.font,fonts:a,words:d,readOnly:u,set:m},n);case"color":/* @__PURE__ */
|
|
24
|
+
return X(K,{value:h.color,hex:v,colours:l,words:d,readOnly:u,set:m},n);case"emphasis":{const e=(t.weight??400)>=600,s=!1!==p?.italic;/* @__PURE__ */
|
|
25
|
+
return D("div",{className:"es-ts-set","data-ts-setting":n,children:[
|
|
26
26
|
/* @__PURE__ */X("span",{className:"es-ts-sub",children:d.settings.emphasis}),
|
|
27
|
-
/* @__PURE__ */D("div",{className:"es-ts-icons",children:[k(d.bold,/* @__PURE__ */X(T,{className:"es-ts-icon","aria-label":d.bold,"aria-pressed":e,disabled:u,onClick:()=>m({weight:e?400:700}),children:/* @__PURE__ */X(j,{size:16})})),u||
|
|
28
|
-
return X(q,{value:h.letterCase??
|
|
29
|
-
return X("div",{className:"es-ts-slider","data-ts-setting":"size","data-ts-device":"phone",children:/* @__PURE__ */X(
|
|
27
|
+
/* @__PURE__ */D("div",{className:"es-ts-icons",children:[k(d.bold,/* @__PURE__ */X(T,{className:"es-ts-icon","aria-label":d.bold,"aria-pressed":e,disabled:u,onClick:()=>m({weight:e?400:700}),children:/* @__PURE__ */X(j,{size:16})})),u||s?k(d.italic,/* @__PURE__ */X(T,{className:"es-ts-icon","aria-label":d.italic,"aria-pressed":Boolean(t.italic),disabled:u,onClick:()=>m({italic:!t.italic||void 0}),children:/* @__PURE__ */X(M,{size:16})})):/* @__PURE__ */X(T,{className:"es-ts-icon","aria-label":d.italic,"aria-pressed":Boolean(t.italic),"aria-disabled":!0,disabledReason:d.italicMissing,children:/* @__PURE__ */X(M,{size:16})})]})]},n)}case"letterCase":/* @__PURE__ */
|
|
28
|
+
return X(q,{value:h.letterCase??t.letterCase,auto:y("letterCase"),words:d,readOnly:u,set:m},n);case"largestSize":return"heading"===e.kind?z(n):null;case"size":return c?(()=>{const e=S.size;/* @__PURE__ */
|
|
29
|
+
return X("div",{className:"es-ts-slider","data-ts-setting":"size","data-ts-device":"phone",children:/* @__PURE__ */X(s,{label:d.settings.size,value:h.sizePhone,onChange:e=>m({sizePhone:e}),min:e.min,max:e.max,step:e.step,shiftStep:e.shiftStep,sliderMin:e.sliderMin,sliderMax:e.sliderMax,unit:e.unit||void 0,styleValue:b,readOnly:u})},"size")})():z(n);default:return z(n)}})]})}function Z({value:e,fonts:s,words:t,readOnly:a,set:n}){const l=z();/* @__PURE__ */
|
|
30
30
|
return D("div",{className:"es-ts-set","data-ts-setting":"font",children:[
|
|
31
31
|
/* @__PURE__ */X("span",{className:"es-ts-sub",id:l,children:t.settings.font}),
|
|
32
32
|
/* @__PURE__ */X(g,{value:e,options:s.map(e=>({label:e.label,value:e.value})),onChange:e=>n({font:e}),ariaLabelledBy:l,readOnly:a})]})}function K({value:e,hex:s,colours:t,words:a,readOnly:n,set:l}){/* @__PURE__ */
|
package/dist/tree/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import 'efficient-shell/ui';
|
|
|
7
7
|
/**
|
|
8
8
|
* The Layers tree's container: the shell's `Tree` (`role="tree"`, its roving tab
|
|
9
9
|
* stop and arrow keys; harness UI-24). `es-tree` stays on it as the hook
|
|
10
|
-
* `screen/lib/
|
|
10
|
+
* `screen/lib/document/tree-reveal` scrolls, and the scroll box `tree.css` keeps.
|
|
11
11
|
*/
|
|
12
12
|
declare function LayersTree({ className, children, rootProps, ariaLabel, words }: LayersTreeProps): react.JSX.Element;
|
|
13
13
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { ShowWhenRule } from 'efficient-shell/ui';
|
|
3
|
-
import { S as SettingsBucket } from './buckets-
|
|
3
|
+
import { S as SettingsBucket } from './buckets-Sw94ll9I.js';
|
|
4
4
|
|
|
5
5
|
/** What every control shares: an id for its label, a name for screen readers, and a read-only switch. */
|
|
6
6
|
interface ControlBase {
|
|
@@ -48,7 +48,7 @@ interface WatchOptions {
|
|
|
48
48
|
* Puck 0.20 drew, kept by the engine's own canvas (`efficient-easel/easel`)
|
|
49
49
|
* because both apps' canvas CSS and checks read it.
|
|
50
50
|
*/
|
|
51
|
-
declare const BLOCK_SELECTOR = "[data-
|
|
51
|
+
declare const BLOCK_SELECTOR = "[data-easel-block]";
|
|
52
52
|
/**
|
|
53
53
|
* Every LIST the canvas draws carries this attribute — the page's own
|
|
54
54
|
* (`root:default-zone`) and each slot's — whether or not there is a block in
|
|
@@ -57,7 +57,7 @@ declare const BLOCK_SELECTOR = "[data-puck-component]";
|
|
|
57
57
|
* published, on the one page a first block has to be dropped on (second host,
|
|
58
58
|
* 2026-10-07: it had typed the attribute out by hand to get this).
|
|
59
59
|
*/
|
|
60
|
-
declare const LIST_SELECTOR = "[data-
|
|
60
|
+
declare const LIST_SELECTOR = "[data-easel-dropzone]";
|
|
61
61
|
/** The canvas frame: Puck 0.20's, and the engine's own `CanvasFrame` since 0.89.0. */
|
|
62
62
|
declare const CANVAS_SELECTOR = "iframe#preview-frame";
|
|
63
63
|
/**
|