efficient-easel 0.101.1 → 0.103.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 +51 -0
- package/dist/LinkPicker-W2Rtxetz.d.ts +111 -0
- package/dist/autosave/index.d.ts +6 -3
- package/dist/autosave/index.js +1 -1
- package/dist/chrome/index.d.ts +3 -2
- package/dist/chrome/index.js +1 -25
- package/dist/chunk-26OOWIJJ.js +1 -0
- package/dist/chunk-2LK54I4E.js +1 -0
- package/dist/chunk-3M3A3DN2.js +4 -0
- package/dist/chunk-3QVB4AG2.js +3 -0
- package/dist/chunk-3WSPDAK2.js +1 -0
- package/dist/chunk-4ES5JGGX.js +1 -0
- package/dist/chunk-4MXFKJUY.js +1 -0
- package/dist/chunk-57DJOKXT.js +1 -0
- package/dist/chunk-5MZ3RNQQ.js +13 -0
- package/dist/chunk-5ZBY24K7.js +1 -0
- package/dist/chunk-66ICOE3I.js +8 -0
- package/dist/chunk-6DJHRLCU.js +25 -0
- package/dist/chunk-6FY3PZS3.js +1 -0
- package/dist/chunk-6TZTKAB5.js +1 -0
- package/dist/chunk-6UJ3Y6FC.js +1 -0
- package/dist/chunk-6W7WLPZH.js +1 -0
- package/dist/chunk-7F52SZOI.js +2 -0
- package/dist/chunk-7MU3RJ6S.js +1 -0
- package/dist/chunk-A7ZJII7O.js +1 -0
- package/dist/chunk-AJBJ74ME.js +1 -0
- package/dist/chunk-AKFJK65Z.js +1 -0
- package/dist/chunk-AKZWUV5Z.js +1 -0
- package/dist/chunk-BDTITTMW.js +1 -0
- package/dist/chunk-BSPCSC45.js +1 -0
- package/dist/chunk-BXZ6WLHC.js +22 -0
- package/dist/chunk-DUVRZ456.js +1 -0
- package/dist/chunk-F6CCTEIX.js +1 -0
- package/dist/chunk-FGNR22NY.js +1 -0
- package/dist/chunk-FUDHI5I4.js +1 -0
- package/dist/chunk-GENAF3P6.js +1 -0
- package/dist/chunk-GOTN2KY4.js +2 -0
- package/dist/chunk-GXN65JMA.js +1 -0
- package/dist/chunk-GXQCZJOP.js +1 -0
- package/dist/chunk-GZO72N3Q.js +0 -0
- package/dist/chunk-HDKTR5TZ.js +62 -0
- package/dist/chunk-HMX55DYT.js +1 -0
- package/dist/chunk-HQ4VVRIC.js +1 -0
- package/dist/chunk-HWW4XJOH.js +1 -0
- package/dist/chunk-I54UCYOU.js +1 -0
- package/dist/chunk-IQ5TA7AM.js +1 -0
- package/dist/chunk-IWAPPEL4.js +6 -0
- package/dist/chunk-IYT6NN2J.js +1 -0
- package/dist/chunk-KCBEE2MC.js +2 -0
- package/dist/chunk-KDYIMJTZ.js +1 -0
- package/dist/chunk-KQMML6JM.js +4 -0
- package/dist/chunk-LG436UTD.js +1 -0
- package/dist/chunk-MSBF7IW3.js +2 -0
- package/dist/chunk-NBJ2YY6Y.js +4 -0
- package/dist/chunk-OM67AJQC.js +1 -0
- package/dist/chunk-OORDMLL4.js +5 -0
- package/dist/chunk-OYX47SL7.js +1 -0
- package/dist/chunk-P67FP7PG.js +9 -0
- package/dist/chunk-PWZOS45R.js +2 -0
- package/dist/chunk-Q2HPBMG5.js +1 -0
- package/dist/chunk-Q3SQBNJB.js +1 -0
- package/dist/chunk-R2HLPNQF.js +1 -0
- package/dist/chunk-R5L2E7JX.js +1 -0
- package/dist/chunk-R5ZVNJLJ.js +2 -0
- package/dist/chunk-RLBXE4EU.js +1 -0
- package/dist/chunk-RW4XBUUW.js +1 -0
- package/dist/chunk-SERF2FAU.js +1 -0
- package/dist/chunk-TTJ54QGG.js +18 -0
- package/dist/chunk-VV5ADNBR.js +1 -0
- package/dist/chunk-YJXEHK6I.js +2 -0
- package/dist/chunk-Z3KBLIEH.js +10 -0
- package/dist/chunk-ZE7I3PLX.js +1 -0
- package/dist/chunk-ZWK3CBRU.js +1 -0
- package/dist/chunk-ZZ7VLIHQ.js +1 -0
- package/dist/drag/index.d.ts +3 -41
- package/dist/drag/index.js +1 -18
- package/dist/easel/index.js +1 -9
- package/dist/{words-BMzV04b1.d.ts → engine-DBxp_v6B.d.ts} +1 -58
- package/dist/fields/index.d.ts +2 -109
- package/dist/fields/index.js +1 -22
- package/dist/gold/index.d.ts +4 -2
- package/dist/host-DJ8Gzsx7.d.ts +552 -0
- package/dist/menu/index.js +1 -1
- package/dist/node-ops/index.js +1 -1
- package/dist/panelWidths-D9hTLR25.d.ts +66 -0
- package/dist/screen/components/AddBlockRow.d.ts +14 -0
- package/dist/screen/components/AddBlockRow.js +1 -0
- package/dist/screen/components/AddChildRow.d.ts +39 -0
- package/dist/screen/components/AddChildRow.js +1 -0
- package/dist/screen/components/AddSidePanel.d.ts +54 -0
- package/dist/screen/components/AddSidePanel.js +1 -0
- package/dist/screen/components/MediaSidePanel.d.ts +47 -0
- package/dist/screen/components/MediaSidePanel.js +1 -0
- package/dist/screen/components/NodeContextMenu.d.ts +364 -0
- package/dist/screen/components/NodeContextMenu.js +1 -0
- package/dist/screen/components/PageEditGuardNotices.d.ts +5 -0
- package/dist/screen/components/PageEditGuardNotices.js +1 -0
- package/dist/screen/components/PanelToggleIcon.d.ts +14 -0
- package/dist/screen/components/PanelToggleIcon.js +1 -0
- package/dist/screen/components/PreviewDeviceContext.d.ts +28 -0
- package/dist/screen/components/PreviewDeviceContext.js +1 -0
- package/dist/screen/components/PreviewPartsContext.d.ts +33 -0
- package/dist/screen/components/PreviewPartsContext.js +1 -0
- package/dist/screen/components/ScreenChrome.d.ts +5 -0
- package/dist/screen/components/ScreenChrome.js +1 -0
- package/dist/screen/components/ScreenDocumentContext.d.ts +20 -0
- package/dist/screen/components/ScreenDocumentContext.js +1 -0
- package/dist/screen/components/ScreenMount.d.ts +76 -0
- package/dist/screen/components/ScreenMount.js +1 -0
- package/dist/screen/components/ScreenStoreProvider.d.ts +63 -0
- package/dist/screen/components/ScreenStoreProvider.js +1 -0
- package/dist/screen/components/SectionScreenShell.d.ts +5 -0
- package/dist/screen/components/SectionScreenShell.js +16 -0
- package/dist/screen/components/SidePanelHead.d.ts +81 -0
- package/dist/screen/components/SidePanelHead.js +1 -0
- package/dist/screen/components/SlotChildActionsContext.d.ts +41 -0
- package/dist/screen/components/SlotChildActionsContext.js +1 -0
- package/dist/screen/components/UiIcon.d.ts +52 -0
- package/dist/screen/components/UiIcon.js +1 -0
- package/dist/screen/components/panel-widths.d.ts +37 -0
- package/dist/screen/components/panel-widths.js +1 -0
- package/dist/screen/components/usePartBridge.d.ts +66 -0
- package/dist/screen/components/usePartBridge.js +1 -0
- package/dist/screen/index.d.ts +31 -0
- package/dist/screen/index.js +1 -0
- package/dist/screen/lib/admin-bridge.d.ts +105 -0
- package/dist/screen/lib/admin-bridge.js +1 -0
- package/dist/screen/lib/backend-error.d.ts +106 -0
- package/dist/screen/lib/backend-error.js +1 -0
- package/dist/screen/lib/chrome-theme.d.ts +21 -0
- package/dist/screen/lib/chrome-theme.js +1 -0
- package/dist/screen/lib/client-only.d.ts +24 -0
- package/dist/screen/lib/client-only.js +1 -0
- package/dist/screen/lib/content/view-tiers.d.ts +25 -0
- package/dist/screen/lib/content/view-tiers.js +1 -0
- package/dist/screen/lib/document-addressing.d.ts +20 -0
- package/dist/screen/lib/document-addressing.js +1 -0
- package/dist/screen/lib/document-contract.d.ts +237 -0
- package/dist/screen/lib/document-contract.js +1 -0
- package/dist/screen/lib/document-hooks.d.ts +71 -0
- package/dist/screen/lib/document-hooks.js +0 -0
- package/dist/screen/lib/document-switch.d.ts +74 -0
- package/dist/screen/lib/document-switch.js +1 -0
- package/dist/screen/lib/failure.d.ts +54 -0
- package/dist/screen/lib/failure.js +1 -0
- package/dist/screen/lib/host-chrome.d.ts +181 -0
- package/dist/screen/lib/host-chrome.js +1 -0
- package/dist/screen/lib/host-inbound.d.ts +20 -0
- package/dist/screen/lib/host-inbound.js +1 -0
- package/dist/screen/lib/host.d.ts +20 -0
- package/dist/screen/lib/host.js +1 -0
- package/dist/screen/lib/key-scope.d.ts +23 -0
- package/dist/screen/lib/key-scope.js +1 -0
- package/dist/screen/lib/links/link-filters.d.ts +41 -0
- package/dist/screen/lib/links/link-filters.js +0 -0
- package/dist/screen/lib/load-error.d.ts +29 -0
- package/dist/screen/lib/load-error.js +1 -0
- package/dist/screen/lib/media-panel.d.ts +94 -0
- package/dist/screen/lib/media-panel.js +1 -0
- package/dist/screen/lib/media-picker.d.ts +68 -0
- package/dist/screen/lib/media-picker.js +1 -0
- package/dist/screen/lib/page-lock.d.ts +5 -0
- package/dist/screen/lib/page-lock.js +1 -0
- package/dist/screen/lib/puck/add-target-types.d.ts +55 -0
- package/dist/screen/lib/puck/add-target-types.js +0 -0
- package/dist/screen/lib/puck/block-choice.d.ts +52 -0
- package/dist/screen/lib/puck/block-choice.js +1 -0
- package/dist/screen/lib/puck/block-types-in.d.ts +39 -0
- package/dist/screen/lib/puck/block-types-in.js +1 -0
- package/dist/screen/lib/puck/content-tree.d.ts +196 -0
- package/dist/screen/lib/puck/content-tree.js +1 -0
- package/dist/screen/lib/puck/device-fields.d.ts +128 -0
- package/dist/screen/lib/puck/device-fields.js +1 -0
- package/dist/screen/lib/puck/field-buckets.d.ts +22 -0
- package/dist/screen/lib/puck/field-buckets.js +1 -0
- package/dist/screen/lib/puck/field-markers.d.ts +205 -0
- package/dist/screen/lib/puck/field-markers.js +1 -0
- package/dist/screen/lib/puck/hidable.d.ts +44 -0
- package/dist/screen/lib/puck/hidable.js +1 -0
- package/dist/screen/lib/puck/palette-sections.d.ts +96 -0
- package/dist/screen/lib/puck/palette-sections.js +1 -0
- package/dist/screen/lib/puck/panel-fields.d.ts +47 -0
- package/dist/screen/lib/puck/panel-fields.js +1 -0
- package/dist/screen/lib/puck/panel-no-control-mark.d.ts +74 -0
- package/dist/screen/lib/puck/panel-no-control-mark.js +1 -0
- package/dist/screen/lib/puck/part-id.d.ts +23 -0
- package/dist/screen/lib/puck/part-id.js +1 -0
- package/dist/screen/lib/puck/preview-click.d.ts +49 -0
- package/dist/screen/lib/puck/preview-click.js +1 -0
- package/dist/screen/lib/puck/preview-dom.d.ts +8 -0
- package/dist/screen/lib/puck/preview-dom.js +1 -0
- package/dist/screen/lib/puck/preview-events.d.ts +25 -0
- package/dist/screen/lib/puck/preview-events.js +1 -0
- package/dist/screen/lib/puck/preview-selection-context.d.ts +72 -0
- package/dist/screen/lib/puck/preview-selection-context.js +1 -0
- package/dist/screen/lib/puck/section-doc.d.ts +20 -0
- package/dist/screen/lib/puck/section-doc.js +1 -0
- package/dist/screen/lib/puck/slot-child-name.d.ts +186 -0
- package/dist/screen/lib/puck/slot-child-name.js +1 -0
- package/dist/screen/lib/puck/slot-heal.d.ts +5 -0
- package/dist/screen/lib/puck/slot-heal.js +1 -0
- package/dist/screen/lib/puck/slot-section-spec.d.ts +96 -0
- package/dist/screen/lib/puck/slot-section-spec.js +0 -0
- package/dist/screen/lib/puck/style-clipboard.d.ts +78 -0
- package/dist/screen/lib/puck/style-clipboard.js +1 -0
- package/dist/screen/lib/puck/text-control-kinds.d.ts +71 -0
- package/dist/screen/lib/puck/text-control-kinds.js +1 -0
- package/dist/screen/lib/puck/tree-reveal.d.ts +62 -0
- package/dist/screen/lib/puck/tree-reveal.js +1 -0
- package/dist/screen/lib/puck/use-section-ops.d.ts +86 -0
- package/dist/screen/lib/puck/use-section-ops.js +1 -0
- package/dist/screen/lib/screen-parts.d.ts +748 -0
- package/dist/screen/lib/screen-parts.js +1 -0
- package/dist/screen/lib/section-template-types.d.ts +49 -0
- package/dist/screen/lib/section-template-types.js +0 -0
- package/dist/screen/lib/section-templates.d.ts +23 -0
- package/dist/screen/lib/section-templates.js +1 -0
- package/dist/screen/lib/session-context.d.ts +30 -0
- package/dist/screen/lib/session-context.js +1 -0
- package/dist/screen/lib/session.d.ts +255 -0
- package/dist/screen/lib/session.js +1 -0
- package/dist/screen/screen.css +1102 -0
- package/dist/screen/words.d.ts +42 -0
- package/dist/screen/words.js +1 -0
- package/dist/session-DSQFmIvx.d.ts +43 -0
- package/dist/strings/catalogue.d.ts +13 -4
- package/dist/strings/catalogue.js +1 -1
- package/dist/strings/index.d.ts +5 -2
- package/dist/strings/index.js +1 -1
- package/dist/style-clipboard/index.js +1 -1
- package/dist/{types-DGcCsxs8.d.ts → types-CqY85foL.d.ts} +3 -65
- package/dist/words-D_Lnw1Gr.d.ts +59 -0
- package/package.json +348 -2
- package/dist/chunk-IG3U5NWJ.js +0 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The assembled screen's own words (`efficient-easel/strings`, group
|
|
3
|
+
* `screen`): what it says while a document opens, what it says when one will
|
|
4
|
+
* not, and the word it calls the document in the edit notice.
|
|
5
|
+
*
|
|
6
|
+
* They came with the screen from the website editor, written into the
|
|
7
|
+
* provider, the mount and the notice; a second host (the campaign designer)
|
|
8
|
+
* opens campaigns, not storefront pages, and says so in its own words. So the
|
|
9
|
+
* defaults are the website's English, word for word, and a host lays its own
|
|
10
|
+
* over them with `EaselStringsProvider`.
|
|
11
|
+
*
|
|
12
|
+
* A plain module with no import: the catalogue reads it, and the catalogue
|
|
13
|
+
* imports nothing (`tests/strings-leaf-safety.test.ts`). Anything with a value
|
|
14
|
+
* in it is a function.
|
|
15
|
+
*
|
|
16
|
+
* What a sentence for a MISSING document is can also depend on the target, and
|
|
17
|
+
* that is the layer's to say (`DocumentAddressing.describeMissing`): these are
|
|
18
|
+
* the words the screen says when the layer says none.
|
|
19
|
+
*/
|
|
20
|
+
type ScreenWords = {
|
|
21
|
+
/** While the document is on its way, and while an entry may still bounce. */
|
|
22
|
+
loading: string;
|
|
23
|
+
/** Before the console's sign-in has reached an editor that needs it. */
|
|
24
|
+
waitingForAuthorization: string;
|
|
25
|
+
/** A website template's page that could not be opened. */
|
|
26
|
+
missingTemplatePage: string;
|
|
27
|
+
/** A website page that is not there, by the slug it was asked for. */
|
|
28
|
+
missingPage: (v: {
|
|
29
|
+
slug: string;
|
|
30
|
+
}) => string;
|
|
31
|
+
/** A host's own document (`{ kind: "document" }`) that is not there. */
|
|
32
|
+
missingDocument: string;
|
|
33
|
+
/** A load that failed: the plain lead-in, then what came back (`cause`). */
|
|
34
|
+
loadFailed: (v: {
|
|
35
|
+
cause: string;
|
|
36
|
+
}) => string;
|
|
37
|
+
/** What the document is called in the edit notice's sentences ("this page"). */
|
|
38
|
+
noun: string;
|
|
39
|
+
};
|
|
40
|
+
declare const DEFAULT_SCREEN_WORDS: ScreenWords;
|
|
41
|
+
|
|
42
|
+
export { DEFAULT_SCREEN_WORDS, type ScreenWords };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{DEFAULT_SCREEN_WORDS}from"../chunk-ZWK3CBRU.js";
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { P as Place } from './types-41704JE4.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The one drag in flight, shared by every surface of an editor — the Layers
|
|
5
|
+
* tree, the canvas and the Add list (blueprint step 3.2).
|
|
6
|
+
*
|
|
7
|
+
* Native drag-and-drop does not let a drop target read what is being dragged
|
|
8
|
+
* until the drop itself (the data is sealed during `dragover`), and a tree that
|
|
9
|
+
* only knows about drags it started cannot take a block from the Add list. So
|
|
10
|
+
* the surface that starts a drag writes it here and every surface reads it: a
|
|
11
|
+
* block picked up on the canvas can land in the tree, a tile from the Add list
|
|
12
|
+
* on either.
|
|
13
|
+
*
|
|
14
|
+
* `from` is where the thing sits now — absent for something new (an Add tile),
|
|
15
|
+
* which is also why a new thing can never be a no-op drop.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
type DragHeld<I> = {
|
|
19
|
+
/** The identity `keyOf` gave it — which row or box is the one being dragged. */
|
|
20
|
+
key: string;
|
|
21
|
+
item: I;
|
|
22
|
+
/** Where it sits now. Absent: it is new, from the Add list. */
|
|
23
|
+
from?: Place;
|
|
24
|
+
};
|
|
25
|
+
type DragSession<I> = {
|
|
26
|
+
/** The drag in flight, current at once (for event handlers). */
|
|
27
|
+
get: () => DragHeld<I> | null;
|
|
28
|
+
/** The drag as last TOLD to subscribers (for rendering — see below). */
|
|
29
|
+
shown: () => DragHeld<I> | null;
|
|
30
|
+
start: (held: DragHeld<I>) => void;
|
|
31
|
+
end: () => void;
|
|
32
|
+
subscribe: (listener: () => void) => () => void;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* `get()` is current the moment a drag starts — the drop targets read it on
|
|
36
|
+
* their first `dragover`. SUBSCRIBERS hear about a start one tick later: the
|
|
37
|
+
* browser takes the drag picture when the `dragstart` handlers return, and a
|
|
38
|
+
* render in between (a row dimming, the handle hiding) would be in the picture.
|
|
39
|
+
* An end is told at once.
|
|
40
|
+
*/
|
|
41
|
+
declare function createDragSession<I>(): DragSession<I>;
|
|
42
|
+
|
|
43
|
+
export { type DragSession as D, type DragHeld as a, createDragSession as c };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { S as SaveWords } from '../words-
|
|
1
|
+
import { S as SaveWords } from '../words-D_Lnw1Gr.js';
|
|
2
2
|
import { N as NoticeWords, C as ChromeWords } from '../words-AHHfiaRY.js';
|
|
3
3
|
import { C as CopyWords } from '../words-XH0TvZPg.js';
|
|
4
4
|
import { D as DragWords } from '../words-BDignMl_.js';
|
|
@@ -7,13 +7,16 @@ import { F as FieldsWords } from '../words-D8kf071T.js';
|
|
|
7
7
|
import { N as NodeMenuWords } from '../words-DMG4dYq2.js';
|
|
8
8
|
import { P as PanelWords } from '../words-BGrHZAJJ.js';
|
|
9
9
|
import { P as PickWords } from '../words-is_Vy6hn.js';
|
|
10
|
+
import { ScreenWords } from '../screen/words.js';
|
|
10
11
|
import { S as StyleClipboardWords } from '../words-CnnHb9jo.js';
|
|
11
12
|
import { T as TextStylesWords } from '../words-CRYvAiHX.js';
|
|
12
13
|
import { T as TreeWords } from '../words-DgHcY5qB.js';
|
|
13
|
-
import '../types-
|
|
14
|
+
import '../types-CqY85foL.js';
|
|
14
15
|
import '../types-DWS-s9z-.js';
|
|
15
16
|
import '../wordFit-D4S36PvB.js';
|
|
16
17
|
import 'react';
|
|
18
|
+
import '../panelWidths-D9hTLR25.js';
|
|
19
|
+
import '../engine-DBxp_v6B.js';
|
|
17
20
|
import '../markup/index.js';
|
|
18
21
|
import '../buckets-CuLM47h9.js';
|
|
19
22
|
|
|
@@ -49,7 +52,10 @@ type RailWords = {
|
|
|
49
52
|
* Every word and sentence this package itself draws or returns — visible text,
|
|
50
53
|
* `aria-label`s, tooltips, placeholders — is an entry here, grouped by the
|
|
51
54
|
* module that says it. What a HOST supplies (a block's name, a field's label, a
|
|
52
|
-
* tile's caption, the document's noun) was never the engine's and is not here
|
|
55
|
+
* tile's caption, the document's noun) was never the engine's and is not here —
|
|
56
|
+
* with one exception: the assembled screen (`efficient-easel/screen`) draws the
|
|
57
|
+
* edit notice itself, so the noun it says it with is a word of its own group,
|
|
58
|
+
* the website's "page" until a host says another.
|
|
53
59
|
*
|
|
54
60
|
* - A plain word is a `string`.
|
|
55
61
|
* - Anything with a value in it, or a count that can be one or many, is a
|
|
@@ -104,6 +110,9 @@ interface EaselStrings {
|
|
|
104
110
|
canvas: CanvasWords;
|
|
105
111
|
/** `efficient-easel/text-styles` — the Email styles / Site styles list (E6). */
|
|
106
112
|
textStyles: TextStylesWords;
|
|
113
|
+
/** `efficient-easel/screen` — a document opening, one that will not, and the
|
|
114
|
+
* notice's word for the document. */
|
|
115
|
+
screen: ScreenWords;
|
|
107
116
|
}
|
|
108
117
|
/** Today's English, word for word. */
|
|
109
118
|
declare const DEFAULT_EASEL_STRINGS: EaselStrings;
|
|
@@ -122,4 +131,4 @@ type DeepPartial<T> = T extends (...args: never[]) => unknown ? T : T extends ob
|
|
|
122
131
|
*/
|
|
123
132
|
declare function mergeEaselStrings(defaults: EaselStrings, partial?: DeepPartial<EaselStrings> | null): EaselStrings;
|
|
124
133
|
|
|
125
|
-
export { type CanvasWords, ChromeWords, CopyWords, DEFAULT_EASEL_STRINGS, type DeepPartial, DragWords, type EaselStrings, FieldsWords, LockWords, NodeMenuWords, NoticeWords, PanelWords, PickWords, type RailWords, SaveWords, StyleClipboardWords, TextStylesWords, TreeWords, mergeEaselStrings };
|
|
134
|
+
export { type CanvasWords, ChromeWords, CopyWords, DEFAULT_EASEL_STRINGS, type DeepPartial, DragWords, type EaselStrings, FieldsWords, LockWords, NodeMenuWords, NoticeWords, PanelWords, PickWords, type RailWords, SaveWords, ScreenWords, StyleClipboardWords, TextStylesWords, TreeWords, mergeEaselStrings };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{DEFAULT_EASEL_STRINGS,mergeEaselStrings}from"../chunk-
|
|
1
|
+
export{DEFAULT_EASEL_STRINGS,mergeEaselStrings}from"../chunk-6UJ3Y6FC.js";import"../chunk-M6F6LS3H.js";import"../chunk-6WY6ZXJG.js";import"../chunk-ZWK3CBRU.js";import"../chunk-AELNNAFM.js";import"../chunk-3EDSDPIP.js";import"../chunk-QTLAVDJE.js";import"../chunk-WK3AFPXY.js";import"../chunk-H6DDIBQ4.js";import"../chunk-ZJEBF4NB.js";import"../chunk-RE4LP46F.js";import"../chunk-2OAZYSWJ.js";import"../chunk-UH7IGZKF.js";import"../chunk-ZAOM6PFH.js";import"../chunk-FPOKPNO4.js";import"../chunk-546BBOPE.js";import"../chunk-O2NLQBFX.js";
|
package/dist/strings/index.d.ts
CHANGED
|
@@ -10,15 +10,18 @@ export { LockWords } from '../edit-lock/index.js';
|
|
|
10
10
|
export { N as NodeMenuWords } from '../words-DMG4dYq2.js';
|
|
11
11
|
export { P as PanelWords } from '../words-BGrHZAJJ.js';
|
|
12
12
|
export { P as PickWords } from '../words-is_Vy6hn.js';
|
|
13
|
-
export { S as SaveWords } from '../words-
|
|
13
|
+
export { S as SaveWords } from '../words-D_Lnw1Gr.js';
|
|
14
|
+
export { ScreenWords } from '../screen/words.js';
|
|
14
15
|
export { S as StyleClipboardWords } from '../words-CnnHb9jo.js';
|
|
15
16
|
export { T as TextStylesWords } from '../words-CRYvAiHX.js';
|
|
16
17
|
export { T as TreeWords } from '../words-DgHcY5qB.js';
|
|
17
18
|
import '../markup/index.js';
|
|
18
19
|
import '../buckets-CuLM47h9.js';
|
|
19
|
-
import '../types-
|
|
20
|
+
import '../types-CqY85foL.js';
|
|
20
21
|
import '../types-DWS-s9z-.js';
|
|
21
22
|
import '../wordFit-D4S36PvB.js';
|
|
23
|
+
import '../panelWidths-D9hTLR25.js';
|
|
24
|
+
import '../engine-DBxp_v6B.js';
|
|
22
25
|
|
|
23
26
|
interface EaselStringsProviderProps {
|
|
24
27
|
/**
|
package/dist/strings/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{DEFAULT_EASEL_STRINGS as r,mergeEaselStrings as n}from"../chunk-
|
|
1
|
+
import{DEFAULT_EASEL_STRINGS as r,mergeEaselStrings as n}from"../chunk-6UJ3Y6FC.js";export{DEFAULT_EASEL_STRINGS,mergeEaselStrings}from"../chunk-6UJ3Y6FC.js";import"../chunk-M6F6LS3H.js";import"../chunk-6WY6ZXJG.js";import"../chunk-ZWK3CBRU.js";import"../chunk-AELNNAFM.js";import"../chunk-3EDSDPIP.js";import"../chunk-QTLAVDJE.js";import"../chunk-WK3AFPXY.js";import"../chunk-H6DDIBQ4.js";import"../chunk-ZJEBF4NB.js";import"../chunk-RE4LP46F.js";import"../chunk-2OAZYSWJ.js";import"../chunk-UH7IGZKF.js";import"../chunk-ZAOM6PFH.js";import"../chunk-FPOKPNO4.js";import"../chunk-546BBOPE.js";import{stringsContext as o}from"../chunk-MFIRYGHW.js";import"../chunk-O2NLQBFX.js";import{useContext as t,useMemo as c}from"react";import{jsx as i}from"react/jsx-runtime";function s({value:s,locale:u,children:m}){const e=o(),p=t(e),h=p?.strings??r,j=u??p?.locale??"en",k=c(()=>({strings:n(h,s),locale:j}),[h,s,j]);/* @__PURE__ */
|
|
2
2
|
return i(e.Provider,{value:k,children:m})}function u(){return t(o())?.strings??r}function m(){return t(o())?.locale??"en"}export{s as EaselStringsProvider,m as useEaselLocale,u as useEaselStrings};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export{COPY_STYLE_SHORTCUT,PASTE_STYLE_SHORTCUT,STYLE_KIND,choiceKind,clearStyle,copyStyle,fieldKind,heldStyle,pasteMessage,planPaste,styleMenuItems,styleShortcut,subscribeStyle,withStyleKind}from"../chunk-57DJOKXT.js";import"../chunk-6WY6ZXJG.js";import"../chunk-L5KW4HG5.js";
|
|
@@ -1,69 +1,7 @@
|
|
|
1
1
|
import { a as EaselRailItem } from './types-DWS-s9z-.js';
|
|
2
|
-
import {
|
|
2
|
+
import { ReactNode, Ref, CSSProperties } from 'react';
|
|
3
3
|
import { EditAccess, SaveConflict } from './edit-lock/index.js';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* The side-panel widths every editor opens on and drags between (px).
|
|
7
|
-
*
|
|
8
|
-
* Lifted from `efficient-storefront/components/panel-widths.ts`, where the website
|
|
9
|
-
* editor measured them:
|
|
10
|
-
*
|
|
11
|
-
* RIGHT is 320, not 308 (card 8810). At 308 the settings tab strip was left
|
|
12
|
-
* 269px once the inspector's 14px sides and its 11px scrollbar were off it —
|
|
13
|
-
* one pixel under the 270 the strip's widest tier needs, so the tab words
|
|
14
|
-
* turned into glyphs at the width every merchant opens on.
|
|
15
|
-
*
|
|
16
|
-
* MIN_PANEL_W is load-bearing on the top bar: six 34px rail buttons are 204px,
|
|
17
|
-
* and at 220 the rail column spreads them with nothing to spare.
|
|
18
|
-
*
|
|
19
|
-
* The campaign designer opened at 288 / 288 with a 520 ceiling until the
|
|
20
|
-
* 2026-09-17 redesign. One set of numbers now, here.
|
|
21
|
-
*/
|
|
22
|
-
declare const DEFAULT_PANEL_W: {
|
|
23
|
-
readonly left: 288;
|
|
24
|
-
readonly right: 320;
|
|
25
|
-
};
|
|
26
|
-
declare const MIN_PANEL_W = 220;
|
|
27
|
-
declare const MAX_PANEL_W = 560;
|
|
28
|
-
/** Which side panel a width belongs to. */
|
|
29
|
-
type PanelSide = 'left' | 'right';
|
|
30
|
-
type PanelWidths = {
|
|
31
|
-
left: number;
|
|
32
|
-
right: number;
|
|
33
|
-
};
|
|
34
|
-
/** Clamp a width into the panel band and round to a whole pixel. */
|
|
35
|
-
declare function clampPanelWidth(width: number): number;
|
|
36
|
-
/**
|
|
37
|
-
* The inline style that carries the widths, as `--es-left-w` / `--es-right-w`.
|
|
38
|
-
*
|
|
39
|
-
* ⚠️ PUT IT ON THE EDITOR ROOT, the nearest ancestor of EVERYTHING that reads
|
|
40
|
-
* it. The website editor learned this on 2026-09-04: the vars sat on the panel
|
|
41
|
-
* row, the top bar is that row's SIBLING, and the rail column read a width with
|
|
42
|
-
* no declaration in scope — which is not an error, it silently falls back to
|
|
43
|
-
* `auto` and the column shrinks to its buttons. (Since 2026-10-06 chrome.css
|
|
44
|
-
* falls back to `DEFAULT_PANEL_W` instead: the column keeps its width and
|
|
45
|
-
* simply stops following the grip.)
|
|
46
|
-
*
|
|
47
|
-
* ⚠️ A SERVER RENDERS THIS AS A `style=""` ATTRIBUTE, and a
|
|
48
|
-
* Content-Security-Policy without `'unsafe-inline'` for styles refuses those.
|
|
49
|
-
* A client render is not affected: React writes a `style` prop through the
|
|
50
|
-
* CSSOM. A server-rendered editor under such a policy uses
|
|
51
|
-
* {@link setPanelWidthVars} instead.
|
|
52
|
-
*/
|
|
53
|
-
declare function panelWidthVars(widths: PanelWidths): CSSProperties;
|
|
54
|
-
/**
|
|
55
|
-
* The same two variables, written onto the editor root through the CSSOM
|
|
56
|
-
* (second host, 2026-10-06) — so the server's HTML carries no `style` attribute for a strict
|
|
57
|
-
* Content-Security-Policy to refuse:
|
|
58
|
-
*
|
|
59
|
-
* <div className="es-editor" ref={(el) => { if (el) setPanelWidthVars(el, widths); }}>
|
|
60
|
-
*
|
|
61
|
-
* A ref runs on the client only, before the browser paints, and again on each
|
|
62
|
-
* render — so it follows the widths as a grip is dragged. Until it runs (the
|
|
63
|
-
* server's HTML, before hydration) chrome.css draws the panels at
|
|
64
|
-
* `DEFAULT_PANEL_W`. Touches nothing but the element it is handed.
|
|
65
|
-
*/
|
|
66
|
-
declare function setPanelWidthVars(el: HTMLElement, widths: PanelWidths): void;
|
|
4
|
+
import { P as PanelSide } from './panelWidths-D9hTLR25.js';
|
|
67
5
|
|
|
68
6
|
type TopBarProps = {
|
|
69
7
|
children?: ReactNode;
|
|
@@ -268,4 +206,4 @@ type EditNoticeProps = {
|
|
|
268
206
|
onReload: () => void;
|
|
269
207
|
};
|
|
270
208
|
|
|
271
|
-
export {
|
|
209
|
+
export type { DeviceOption as D, EaselIconButtonProps as E, InspectorHeadProps as I, MediaPanelHeadProps as M, PanelResizeHandleProps as P, RailWordsShown as R, SaveTone as S, TopBarProps as T, TopBarClusterProps as a, TopBarRailProps as b, DeviceSwitchProps as c, SaveStateProps as d, SaveStateToggleProps as e, InspectorIconButtonProps as f, InspectorUpLevelProps as g, MediaPickKind as h, EditNoticeProps as i };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { S as SaveTone } from './types-CqY85foL.js';
|
|
2
|
+
import { A as AutosaveSnapshot } from './engine-DBxp_v6B.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* What the save pill says, for both editors — ONE copy.
|
|
6
|
+
*
|
|
7
|
+
* There were three: the campaign designer's `saveStatusLabel`
|
|
8
|
+
* (efficient-admin-portal `src/components/email/autosaveStatus.ts`), the
|
|
9
|
+
* website editor's `autosaveStatusLabel` (efficient-storefront
|
|
10
|
+
* `lib/editor/autosave-status.ts`, which said of the first "a MIRRORED copy …
|
|
11
|
+
* whether that pair should collapse into `efficient-easel` is called out
|
|
12
|
+
* rather than decided here") and the website chrome's own words for its
|
|
13
|
+
* autosave switch. This decides it.
|
|
14
|
+
*
|
|
15
|
+
* The rule they all kept, and keep here (card 66103): **the pill speaks only
|
|
16
|
+
* when it has something to say.** A save that lands is silence — the dot goes
|
|
17
|
+
* green, no word. An edit younger than five seconds is silence too: with a
|
|
18
|
+
* one-second save it is about to land, and saying "unsaved" at every keystroke
|
|
19
|
+
* would blink the bar once a second. What is left is worth a word each:
|
|
20
|
+
*
|
|
21
|
+
* - the work has been off the server for five seconds — "Unsaved changes";
|
|
22
|
+
* - a save failed and is being retried — "Save failed" (with "Retry now");
|
|
23
|
+
* - the operator paused autosave — "Auto-save off", and whether that is
|
|
24
|
+
* holding anything;
|
|
25
|
+
* - a save was refused — "Auto-save stopped", which must never read as a
|
|
26
|
+
* switch somebody flicked themselves.
|
|
27
|
+
*
|
|
28
|
+
* The tones are `efficient-easel/chrome`'s `SaveState` tones, so the result
|
|
29
|
+
* goes straight onto the pill: `<SaveState {...saveIndicator(state)} />`.
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
type SaveIndicator = {
|
|
33
|
+
tone: SaveTone;
|
|
34
|
+
label: string;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* The pill's five things to say (`efficient-easel/strings`, 0.95.0). Kept in
|
|
38
|
+
* autosave's own folder, with no import: autosave may reach nothing else
|
|
39
|
+
* (`tests/autosave-leaf-safety.test.ts`).
|
|
40
|
+
*/
|
|
41
|
+
type SaveWords = {
|
|
42
|
+
/** A save was refused: nothing will be written. */
|
|
43
|
+
stopped: string;
|
|
44
|
+
/** The operator paused autosave, and an edit is waiting. */
|
|
45
|
+
pausedUnsaved: string;
|
|
46
|
+
/** The operator paused autosave. */
|
|
47
|
+
paused: string;
|
|
48
|
+
/** A save failed and is being retried. */
|
|
49
|
+
failed: string;
|
|
50
|
+
/** The work has been off the server for five seconds. */
|
|
51
|
+
unsaved: string;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* `words` is the host's language (`useEaselStrings().save`); left out, the
|
|
55
|
+
* pill speaks English as it always has.
|
|
56
|
+
*/
|
|
57
|
+
declare function saveIndicator(state: AutosaveSnapshot, words?: SaveWords): SaveIndicator;
|
|
58
|
+
|
|
59
|
+
export { type SaveWords as S, type SaveIndicator as a, saveIndicator as s };
|