efficient-easel 21.1.0 → 22.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -34
- package/dist/{CanvasDragLayer-CFUcBbgc.d.ts → CanvasDragLayer-B6Yn9S8T.d.ts} +4 -4
- package/dist/{ScreenDocumentContext-1RgtGKWR.d.ts → ScreenDocumentContext-BIK3uWtF.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 +8 -10
- package/dist/canvas/index.js +1 -1
- package/dist/{chunk-2L6KWUBC.js → chunk-4LGROS5L.js} +1 -1
- package/dist/{chunk-WJJ7H42G.js → chunk-CUZQ2HMA.js} +15 -15
- package/dist/chunk-GHBK7BKL.js +1 -0
- package/dist/{chunk-MLQKNED6.js → chunk-IROEWITG.js} +1 -1
- package/dist/{chunk-YVFYWAYU.js → chunk-IYYE7VJN.js} +30 -30
- package/dist/chunk-KN2TIXUT.js +1 -0
- package/dist/{chunk-GWYNMSIP.js → chunk-RY5AWQ63.js} +1 -1
- package/dist/chunk-SJMS247S.js +5 -0
- package/dist/{chunk-DNQ7AF6K.js → chunk-TLN5ZT76.js} +1 -1
- package/dist/chunk-TXR7GC5A.js +8 -0
- package/dist/{chunk-U5DNBT63.js → chunk-UMBNBCL4.js} +1 -1
- package/dist/{chunk-TUXLORVR.js → chunk-WJSEWAWK.js} +13 -13
- package/dist/{chunk-I67UW5UG.js → chunk-XWKQP6AE.js} +1 -1
- package/dist/{chunk-U7TFWHST.js → chunk-YC6KLSW3.js} +1 -1
- package/dist/{chunk-PFFH7ASD.js → chunk-YHFKWV7H.js} +13 -13
- package/dist/copy/index.d.ts +2 -2
- package/dist/copy/index.js +11 -11
- package/dist/data/index.d.ts +21 -21
- package/dist/drag/index.d.ts +5 -5
- package/dist/drag/index.js +1 -1
- package/dist/draw/index.d.ts +1 -1
- package/dist/easel/easel.css +5 -7
- package/dist/easel/index.d.ts +57 -57
- package/dist/easel/index.js +1 -1
- package/dist/edit-lock/index.d.ts +5 -5
- package/dist/fields/fields.css +1 -1
- package/dist/fields/index.d.ts +17 -17
- package/dist/fields/index.js +1 -1
- package/dist/node-ops/index.d.ts +3 -3
- package/dist/panel/index.d.ts +4 -4
- package/dist/panel/panel.css +1 -1
- package/dist/{plan-CZS902DV.d.ts → plan-CRUh2kVK.d.ts} +5 -5
- package/dist/render/index.d.ts +19 -19
- package/dist/render/index.js +5 -5
- package/dist/{repeat-BNgSq2Nw.d.ts → repeat-D65bJS8d.d.ts} +1 -1
- package/dist/{resolve-D68pb3Bx.d.ts → resolve-AJ6WF4EL.d.ts} +5 -5
- package/dist/screen/components/AddBlockRow.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 +11 -11
- package/dist/screen/components/NodeContextMenu.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/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/content-tree.d.ts +7 -7
- package/dist/screen/lib/document/device-fields.d.ts +7 -7
- 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/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/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 +13 -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/{session-DSQFmIvx.d.ts → session-CrWwDt7Z.d.ts} +1 -1
- package/dist/strings/index.d.ts +2 -2
- package/dist/strings/index.js +1 -1
- package/dist/style-clipboard/index.d.ts +2 -2
- package/dist/text-styles/index.js +21 -21
- package/dist/{types-B8NwXKlE.d.ts → types-BFd8FqQw.d.ts} +3 -3
- package/dist/{types-Cq53lL8d.d.ts → types-DFxBChE3.d.ts} +18 -18
- package/dist/{types-41704JE4.d.ts → types-DlQIM1YO.d.ts} +8 -8
- package/dist/{useNodeOps-fIDWzftn.d.ts → useNodeOps-C_nisDHh.d.ts} +2 -2
- package/dist/{watch-D8xZow3y.d.ts → watch-D0bNZRtU.d.ts} +3 -3
- 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-4FD7TAOE.js +0 -1
- package/dist/chunk-67HCYOW4.js +0 -1
- package/dist/chunk-A2VVB4RH.js +0 -0
- package/dist/chunk-OHZHYROJ.js +0 -5
- package/dist/chunk-PRHBWA5V.js +0 -0
- package/dist/chunk-YIUE4US7.js +0 -0
- 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
|
@@ -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-BIK3uWtF.js';
|
|
4
4
|
import { ScreenParts } from '../lib/screen-parts.js';
|
|
5
5
|
import '../../blocks/index.js';
|
|
6
|
-
import '../../types-
|
|
6
|
+
import '../../types-DFxBChE3.js';
|
|
7
7
|
import '../../data/index.js';
|
|
8
|
-
import '../../types-
|
|
9
|
-
import '../../resolve-
|
|
10
|
-
import '../../plan-
|
|
8
|
+
import '../../types-DlQIM1YO.js';
|
|
9
|
+
import '../../resolve-AJ6WF4EL.js';
|
|
10
|
+
import '../../plan-CRUh2kVK.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-D0bNZRtU.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-B6Yn9S8T.js';
|
|
31
|
+
import '../../session-CrWwDt7Z.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-XWKQP6AE.js";import"../../chunk-GXQCZJOP.js";import"../../chunk-IYYE7VJN.js";import"../../chunk-BDSLF5BR.js";import"../../chunk-7OCEPOEJ.js";import"../../chunk-SWBADIQT.js";import"../../chunk-UMBNBCL4.js";import"../../chunk-5XL2RXFU.js";import"../../chunk-KWLHKKZO.js";import"../../chunk-INRERJU4.js";import"../../chunk-3QB2ZQXK.js";import"../../chunk-DDH2DYQP.js";import"../../chunk-TLN5ZT76.js";import"../../chunk-KCBEE2MC.js";import"../../chunk-C56MPJBH.js";import"../../chunk-KN2TIXUT.js";import"../../chunk-IROEWITG.js";import"../../chunk-PY7OOQEZ.js";import"../../chunk-RKTF5XLP.js";import"../../chunk-RY5AWQ63.js";import"../../chunk-5545A3PC.js";import"../../chunk-TXR7GC5A.js";import"../../chunk-VKPOH6MK.js";import"../../chunk-CPL43ZLJ.js";import"../../chunk-N7E6264U.js";import"../../chunk-N3MJOHAG.js";import"../../chunk-SINAM2IT.js";import"../../chunk-UMDQ6CLQ.js";import"../../chunk-RUQOIQWI.js";import"../../chunk-SJMS247S.js";import"../../chunk-2G6MAXPY.js";import"../../chunk-4LGROS5L.js";import"../../chunk-ZOSEBPAI.js";import"../../chunk-BTDI7JAA.js";import"../../chunk-77IWWW6X.js";import"../../chunk-ERR437B5.js";import"../../chunk-UNVKPVZW.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-BIK3AO2V.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-FHCKFOCD.js";import"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";import"../../chunk-MQA7OFRA.js";import"../../chunk-XFYFKITX.js";import"../../chunk-EB6NI2VK.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-WJSEWAWK.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-YHFKWV7H.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-IWCKVZHS.js";import"../../chunk-ZKY45F5G.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-P5VYGWYO.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-BSHIQIZC.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-MZ5GSSZ3.js";import"../../chunk-KRL3IUV3.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-S3DUFDQ6.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-CUZQ2HMA.js";import"../../chunk-TQ5Y6S2X.js";import"../../chunk-3S5N4HLJ.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-GHBK7BKL.js";import"../../chunk-LF3FUSCQ.js";import"../../chunk-K7BTCBWD.js";import"../../chunk-L55YIXDC.js";import"../../chunk-BSPCSC45.js";import"../../chunk-467WWV4I.js";import"../../chunk-TIAWIOGD.js";import"../../chunk-MGVI67QV.js";
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
import { Data } from '../../blocks/index.js';
|
|
4
|
-
import { P as Permissions } from '../../types-
|
|
4
|
+
import { P as Permissions } from '../../types-DFxBChE3.js';
|
|
5
5
|
import { ScreenParts } from '../lib/screen-parts.js';
|
|
6
6
|
import '../../data/index.js';
|
|
7
|
-
import '../../types-
|
|
8
|
-
import '../../resolve-
|
|
9
|
-
import '../../plan-
|
|
10
|
-
import '../../watch-
|
|
7
|
+
import '../../types-DlQIM1YO.js';
|
|
8
|
+
import '../../resolve-AJ6WF4EL.js';
|
|
9
|
+
import '../../plan-CRUh2kVK.js';
|
|
10
|
+
import '../../watch-D0bNZRtU.js';
|
|
11
11
|
import '../../types-B3iSHX-w.js';
|
|
12
12
|
import '../../types-Cy7rdmXt.js';
|
|
13
13
|
import '../../wordFit-7XpmhcaW.js';
|
|
14
14
|
import '../../edit-lock/index.js';
|
|
15
15
|
import '../../panelWidths-DgQXiPXU.js';
|
|
16
|
-
import '../../CanvasDragLayer-
|
|
17
|
-
import '../../session-
|
|
16
|
+
import '../../CanvasDragLayer-B6Yn9S8T.js';
|
|
17
|
+
import '../../session-CrWwDt7Z.js';
|
|
18
18
|
import '../../words-SD4neL0n.js';
|
|
19
19
|
import '../../types-BbOBWXMP.js';
|
|
20
20
|
import '../../style-clipboard/index.js';
|
|
@@ -27,7 +27,7 @@ import '../lib/section-template-types.js';
|
|
|
27
27
|
import '../lib/document/content-tree.js';
|
|
28
28
|
import '../lib/shared-section-types.js';
|
|
29
29
|
import '../lib/document/block-choice.js';
|
|
30
|
-
import '../../ScreenDocumentContext-
|
|
30
|
+
import '../../ScreenDocumentContext-BIK3uWtF.js';
|
|
31
31
|
import '../lib/document-contract.js';
|
|
32
32
|
import '../lib/document-switch.js';
|
|
33
33
|
import '../../engine-CvXpFE86.js';
|
|
@@ -49,10 +49,10 @@ import '../lib/document/slot-section-spec.js';
|
|
|
49
49
|
*
|
|
50
50
|
* What follows is the store's own reasoning, from where it was written:
|
|
51
51
|
*
|
|
52
|
-
* THE WEBSITE EDITOR'S STORE — efficient-easel's engine in place of
|
|
53
|
-
* (blueprint step 5.5), taking the props
|
|
52
|
+
* THE WEBSITE EDITOR'S STORE — efficient-easel's engine in place of `the old editor root`
|
|
53
|
+
* (blueprint step 5.5), taking the props `the old editor root` took here:
|
|
54
54
|
*
|
|
55
|
-
* - `data` is read ONCE, when the editor mounts — as
|
|
55
|
+
* - `data` is read ONCE, when the editor mounts — as `the old editor root` read it. A
|
|
56
56
|
* different page is a new mount: the document context drops to "Loading…"
|
|
57
57
|
* on a retarget, and the standalone Section editor keys this by section.
|
|
58
58
|
* - `config` is followed LIVE (`setConfig`): the Site styles gap row rebuilds
|
|
@@ -65,7 +65,7 @@ import '../lib/document/slot-section-spec.js';
|
|
|
65
65
|
* - `permissions` follow the edit lock (`documentPermissions`, every key
|
|
66
66
|
* named).
|
|
67
67
|
*
|
|
68
|
-
*
|
|
68
|
+
* `the old editor root`'s `overrides` are the canvas's business now — see `SiteCanvas`.
|
|
69
69
|
*/
|
|
70
70
|
declare function ScreenStoreProvider({ config, data, onChange, permissions, parts, children, }: {
|
|
71
71
|
/** The screen's parts, from the layer that owns the document (the website's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{ScreenStoreProvider as default}from"../../chunk-
|
|
1
|
+
export{ScreenStoreProvider as default}from"../../chunk-RY5AWQ63.js";import"../../chunk-SJMS247S.js";import"../../chunk-FHCKFOCD.js";import"../../chunk-MQA7OFRA.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-WJSEWAWK.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-YHFKWV7H.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-IWCKVZHS.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-BSHIQIZC.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-MZ5GSSZ3.js";import"../../chunk-KRL3IUV3.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-S3DUFDQ6.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-3S5N4HLJ.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-GHBK7BKL.js";import"../../chunk-LF3FUSCQ.js";import"../../chunk-K7BTCBWD.js";import"../../chunk-L55YIXDC.js";
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import{AddBlockRow as e}from"../../chunk-
|
|
2
|
-
return
|
|
3
|
-
return
|
|
4
|
-
/* @__PURE__ */
|
|
5
|
-
return
|
|
6
|
-
/* @__PURE__ */
|
|
7
|
-
/* @__PURE__ */
|
|
8
|
-
/* @__PURE__ */
|
|
9
|
-
/* @__PURE__ */
|
|
10
|
-
/* @__PURE__ */
|
|
11
|
-
return
|
|
12
|
-
/* @__PURE__ */
|
|
13
|
-
/* @__PURE__ */
|
|
14
|
-
/* @__PURE__ */
|
|
15
|
-
/* @__PURE__ */
|
|
16
|
-
/* @__PURE__ */
|
|
17
|
-
/* @__PURE__ */
|
|
1
|
+
import{AddBlockRow as e}from"../../chunk-YC6KLSW3.js";import{scrollPreviewToSection as n,gotoPreviewSlide as o}from"../../chunk-DDH2DYQP.js";import{useEaselUndoKeys as r}from"../../chunk-TLN5ZT76.js";import{SlotChildActionsProvider as t}from"../../chunk-KCBEE2MC.js";import{DEFAULT_PANEL_W as s}from"../../chunk-C56MPJBH.js";import{usePartBridge as i}from"../../chunk-KN2TIXUT.js";import{useSectionOps as c}from"../../chunk-IROEWITG.js";import"../../chunk-RUQOIQWI.js";import{SELECTION_MODE as p,useScreenPinned as l,useScreenCanvasFrame as m,useScreenInspectorPanel as d,useScreenPickFollowsSelection as a,sameInspectorMode as u,useStandaloneScreenBridges as h,useScreenBlockLook as k,useScreenBlockRules as j,isSelectionMode as f}from"../../chunk-SJMS247S.js";import{MediaPopup as S}from"../../chunk-2G6MAXPY.js";import{useScreenDocument as y}from"../../chunk-BTDI7JAA.js";import"../../chunk-77IWWW6X.js";import"../../chunk-ERR437B5.js";import"../../chunk-UNVKPVZW.js";import"../../chunk-GMCZXMOV.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-HNKB2ZYR.js";import"../../chunk-CLOS6SSX.js";import"../../chunk-BIK3AO2V.js";import"../../chunk-LOMEH6DG.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-FHCKFOCD.js";import"../../chunk-YM4UEGBV.js";import"../../chunk-SNF5764Q.js";import"../../chunk-MQA7OFRA.js";import{DEFAULT_SCREEN_WORDS as C}from"../../chunk-EB6NI2VK.js";import{slotChildRowName as A}from"../../chunk-SSRYU3YG.js";import"../../chunk-AJ2SUSET.js";import"../../chunk-ANPOR6EY.js";import"../../chunk-6UAEFOJ4.js";import"../../chunk-R4AUZVA3.js";import{slotFieldsOf as N,nestsInTree as x}from"../../chunk-TCAAOYQY.js";import{useEasel as W}from"../../chunk-WJSEWAWK.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-YHFKWV7H.js";import"../../chunk-BPXEFVSQ.js";import{LayersTree as B,Subtree as I,TreeRow as O,TreeRowAction as F,TreeSeam as H}from"../../chunk-WHS6Y55E.js";import{DEFAULT_TREE_WORDS as M}from"../../chunk-K56YDHYQ.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-IWCKVZHS.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-BSHIQIZC.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-NDRZP6YR.js";import{DEFAULT_SAVE_WORDS as Y,saveIndicator as g}from"../../chunk-H6DDIBQ4.js";import{SaveState as D,panelWidthVars as K}from"../../chunk-ZG6PVMC3.js";import"../../chunk-MJM6SFD3.js";import"../../chunk-AJSDWWJW.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-THWO5YVZ.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MZ5GSSZ3.js";import"../../chunk-KRL3IUV3.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-S3DUFDQ6.js";import{useWords as P}from"../../chunk-MFIRYGHW.js";import"../../chunk-CUZQ2HMA.js";import"../../chunk-TQ5Y6S2X.js";import{useTreeDrag as V}from"../../chunk-3S5N4HLJ.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-GHBK7BKL.js";import"../../chunk-LF3FUSCQ.js";import{zoneKey as v,parseZoneKey as z}from"../../chunk-K7BTCBWD.js";import"../../chunk-L55YIXDC.js";import"../../chunk-467WWV4I.js";import"../../chunk-TIAWIOGD.js";import"../../chunk-MGVI67QV.js";import{useState as E,useRef as R,useEffect as b,useCallback as w,Fragment as Q}from"react";import{Tooltip as T}from"efficient-shell/ui";import{TrashIcon as Z}from"efficient-shell/icons/efficient";import{jsxs as J,jsx as L,Fragment as U}from"react/jsx-runtime";var G=e=>n=>{n.target.closest("button, input")||e()},$={rowClick:G};function X(){const{saveState:X,readOnly:q,readOnlyReason:_=null}=y(),ee=c(),{appState:ne,selectedItem:oe,config:re}=W(e=>e),[te,se]=E(p),ie=P("screen",C),ce=P("tree",M),pe=P("save",Y),{first:le,last:me,panelOf:de}=l(),ae=de(le),ue=m(),he=d(),ke=ne.data.content?.[0]??null,je=ke?.props.id??null,fe=ke?.type===le,Se=ke?.type===me,ye=R(null),Ce=R(null);r(Ce),a(oe?.props.id),b(()=>{je&&ye.current!==je&&(ye.current=je,fe?se(ae??p):oe||ee.select({index:0}))},[je,oe,ee,fe]);const Ae=w(e=>se(n=>u(n,e)?n:e),[]),Ne=h({kind:te.kind,mode:te,open:Ae,show:e=>se(e),reveal:()=>{},select:(e,n)=>{se(e=>u(e,n)?e:n),ee.select(e)}}),{selectNode:xe}=i({mode:te,setMode:se,onOpenPart:n}),We=k(),{labelAtLevel:Be,Icon:Ie}=We,{canAddTo:Oe}=j(),Fe=e=>Be(e,"block",re.components[e]?.label??e),He=e=>Be(e,"section",Fe(e)),Me=!fe&&f(te)&&oe?.props.id===je,Ye=ke?Oe(ke.type)?.spec??null:null,ge=ke&&Ye?`${ke.props.id}:${Ye.slot}`:null,De=ke&&Ye&&Array.isArray(ke.props[Ye.slot])?ke.props[Ye.slot]:[],Ke=e=>A(e,Fe,We.plainText),Pe=(e,r)=>{ke&&Ye&&ge&&(se(p),Ye.slider?(o(String(ke.props.id),e),ee.select({index:e,zone:ge}),n(String(ke.props.id))):(ee.select({index:e,zone:ge}),n(r)))},Ve=()=>{if(!ke||!Ye||!ge)return;const e=De.length;ee.insertComponent(ge,Ye.childType,e),se(p),Ye.slider?requestAnimationFrame(()=>{o(String(ke.props.id),e),ee.select({index:e,zone:ge})}):ee.select({index:e,zone:ge})},ve=e=>N(re,e),ze=e=>{const{parentId:n,slot:o}=z(e),r=e=>{if(!e)return null;if(String(e.props.id)===n)return e;for(const n of ve(e.type)){const o=Array.isArray(e.props[n])?e.props[n]:[];for(const e of o){const n=r(e);if(n)return n}}return null},t=r(ke)?.props[o];return Array.isArray(t)?t.length:0},Ee=(e,n,o)=>{const r=Math.min(Math.max(o,0),ze(e)),t=n<r?r-1:r;t!==n&&(ee.reorderComponent(e,n,t),se(p),ee.select({index:t,zone:e}))},Re=V({keyOf:e=>e.id,readOnly:Boolean(q),canDrop:(e,n)=>v(n)===e.zone&&n.index>=0&&n.index<=ze(e.zone),onDrop:(e,n)=>Ee(e.zone,e.index,n.index),onStep:(e,n)=>Ee(e.zone,e.index,n<0?e.index-1:e.index+2)}),be=(e,n)=>/* @__PURE__ */L(H,{...q?{}:Re.seam({place:{...z(e),index:n}})},`seam:${e}:${n}`),we=e=>We.blockRowName(e,Fe),Qe=(e,o,r)=>{se(p),ee.select({index:o,zone:e}),n(r)},Te=(e,n,o)=>{ee.insertComponent(e,n,o),se(p),ee.select({index:o,zone:e})},Ze=(n,o,r)=>/* @__PURE__ */L(e,{choices:r,onPick:e=>Te(n,e,o)}),Je=(e,n)=>{const o=ve((r=e).type).flatMap(e=>(Array.isArray(r.props[e])?r.props[e]:[]).map((n,o)=>({child:n,zone:`${r.props.id}:${e}`,index:o})));var r;const t=Oe(e.type),s=t?.choices??null,i="footer"===t?.source?we:Ke;/* @__PURE__ */
|
|
2
|
+
return J(U,{children:[o.map(({child:e,zone:o,index:r})=>{const t=oe?.props.id===e.props.id,s=x(re,e.type,n),c=i(e),l=String(e.props.id),m=()=>Qe(o,r,l),{rowProps:d,...a}=Re.row({item:{id:l,zone:o,index:r},place:{...z(o),index:r}},{onClick:G(m)});/* @__PURE__ */
|
|
3
|
+
return J(Q,{children:[0===r&&be(o,0),
|
|
4
|
+
/* @__PURE__ */L(O,{words:ce,icon:/* @__PURE__ */L(Ie,{type:e.type,size:13}),name:c,selected:t,onSelect:m,...a,actions:/* @__PURE__ */L(F,{kind:"delete",label:ie.deleteNamed({name:c}),onClick:()=>{return e=o,n=r,ee.removeComponent(e,n),se(p),void ee.select(null);var e,n},children:/* @__PURE__ */L(Z,{size:13})}),rowProps:d}),s&&/* @__PURE__ */L(I,{children:Je(e,n+1)}),be(o,r+1)]},String(e.props.id??`${o}-${r}`))}),t&&s?Ze(`${e.props.id}:${t.slot}`,o.length,s):null]})},Le="HeroSingle"===ke?.type,Ue=Boolean(ke)&&(Boolean(Oe(ke.type))||ve(ke.type).length>0),Ge=Boolean(ke)&&(Boolean(Ye)||Se||fe||Le||Ue);/* @__PURE__ */
|
|
5
|
+
return J("div",{ref:Ce,className:"sf-editor es-editor",style:K(s),children:[
|
|
6
|
+
/* @__PURE__ */L("div",{className:"sf-section-bar",children:/* @__PURE__ */L(D,null!==_?{tone:"off",label:_,role:"status"}:{...g(X,pe),role:"status"})}),
|
|
7
|
+
/* @__PURE__ */J("div",{className:"sf-body",children:[Ge&&ke&&/* @__PURE__ */J("aside",{className:"es-sidepanel es-sidepanel--left sf-panel sf-panel--left",children:[
|
|
8
|
+
/* @__PURE__ */L("div",{className:"sf-panel-head",children:/* @__PURE__ */L(T,{content:fe?ie.headerSettings:ie.sectionSettings({name:He(ke.type)}),side:"bottom",children:/* @__PURE__ */L("button",{type:"button",className:"sf-panel-title sf-panel-title--btn "+(Me?"is-selected":""),"aria-pressed":Me,onClick:()=>{fe?se(ae??p):(se(p),ee.select({index:0}))},children:He(ke.type)})})}),
|
|
9
|
+
/* @__PURE__ */L(B,{className:"sf-tree sf-scroll",rootProps:Re.rootProps(),words:ce,children:/* @__PURE__ */L(I,{children:fe?
|
|
10
|
+
/* @__PURE__ */L(O,{words:ce,icon:/* @__PURE__ */L(Ie,{type:"header",size:13}),name:ie.headerSettings,selected:te.kind===ae?.kind,onSelect:()=>se(ae??p),rowProps:{onClick:G(()=>se(ae??p))}}):Ye?/* @__PURE__ */J(U,{children:[De.map((e,n)=>{const o=oe?.props.id===e.props.id,r=Ke(e),t=String(e.props.id),s=()=>Pe(n,t),{rowProps:i,...c}=Re.row({item:{id:t,zone:ge,index:n},place:{...z(ge),index:n}},{onClick:G(s)});/* @__PURE__ */
|
|
11
|
+
return J(Q,{children:[0===n&&be(ge,0),
|
|
12
|
+
/* @__PURE__ */L(O,{words:ce,icon:/* @__PURE__ */L(Ie,{type:e.type,size:13}),name:r,selected:o,onSelect:s,...c,actions:/* @__PURE__ */L(F,{kind:"delete",label:ie.deleteNamed({name:r}),onClick:()=>{return e=n,void(ge&&(ee.removeComponent(ge,e),se(p),ee.select(null)));var e},children:/* @__PURE__ */L(Z,{size:13})}),rowProps:i}),be(ge,n+1)]},String(e.props.id??n))}),
|
|
13
|
+
/* @__PURE__ */J("button",{type:"button",className:"sf-add-card",onClick:Ve,children:[
|
|
14
|
+
/* @__PURE__ */L("span",{className:"sf-plus sf-plus--sm",children:"+"}),Ye.addLabel]}),je?Ne.partRows?.(ke,$):null]}):Je(ke,1)})})]}),
|
|
15
|
+
/* @__PURE__ */L("div",{className:"sf-center",children:/* @__PURE__ */L("div",{className:"sf-preview-host",children:/* @__PURE__ */L(ue,{})})}),
|
|
16
|
+
/* @__PURE__ */L(t,{value:{selectChild:(e,n,o,r)=>"section"===Oe(r)?.source?Pe(n,o):Qe(e,n,o),addChild:(e,n,o,r,t)=>"section"===Oe(t)?.source?Ve():Te(`${e}:${n}`,o,r),childRowName:Ke,blockRowName:we},children:/* @__PURE__ */L(he,{mode:te,onOpenWebsiteSettings:Ne.openSettings??(()=>{}),onSelectNode:xe,hideNodeActions:!0})})]}),
|
|
17
|
+
/* @__PURE__ */L(S,{})]})}export{X as default};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { ScreenInspectorMode } from '../lib/screen-parts.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import '../../blocks/index.js';
|
|
4
|
-
import '../../types-
|
|
4
|
+
import '../../types-DFxBChE3.js';
|
|
5
5
|
import '../../data/index.js';
|
|
6
|
-
import '../../types-
|
|
7
|
-
import '../../resolve-
|
|
8
|
-
import '../../plan-
|
|
9
|
-
import '../../watch-
|
|
6
|
+
import '../../types-DlQIM1YO.js';
|
|
7
|
+
import '../../resolve-AJ6WF4EL.js';
|
|
8
|
+
import '../../plan-CRUh2kVK.js';
|
|
9
|
+
import '../../watch-D0bNZRtU.js';
|
|
10
10
|
import '../../types-B3iSHX-w.js';
|
|
11
11
|
import '../../types-Cy7rdmXt.js';
|
|
12
12
|
import '../../wordFit-7XpmhcaW.js';
|
|
13
13
|
import '../../edit-lock/index.js';
|
|
14
14
|
import '../../panelWidths-DgQXiPXU.js';
|
|
15
|
-
import '../../CanvasDragLayer-
|
|
16
|
-
import '../../session-
|
|
15
|
+
import '../../CanvasDragLayer-B6Yn9S8T.js';
|
|
16
|
+
import '../../session-CrWwDt7Z.js';
|
|
17
17
|
import '../../words-SD4neL0n.js';
|
|
18
18
|
import '../../types-BbOBWXMP.js';
|
|
19
19
|
import '../../style-clipboard/index.js';
|
|
@@ -26,7 +26,7 @@ import '../lib/section-template-types.js';
|
|
|
26
26
|
import '../lib/document/content-tree.js';
|
|
27
27
|
import '../lib/shared-section-types.js';
|
|
28
28
|
import '../lib/document/block-choice.js';
|
|
29
|
-
import '../../ScreenDocumentContext-
|
|
29
|
+
import '../../ScreenDocumentContext-BIK3uWtF.js';
|
|
30
30
|
import '../lib/document-contract.js';
|
|
31
31
|
import '../lib/document-switch.js';
|
|
32
32
|
import '../../engine-CvXpFE86.js';
|
|
@@ -50,13 +50,13 @@ import '../lib/document/slot-section-spec.js';
|
|
|
50
50
|
*
|
|
51
51
|
* - a click in the preview on an anchored part opens that part's panel;
|
|
52
52
|
* - a click in the preview on anything ELSE inside a section reports the
|
|
53
|
-
* SECTION, which closes an open part panel. That matters because
|
|
53
|
+
* SECTION, which closes an open part panel. That matters because the old editor's own
|
|
54
54
|
* selection may not change on such a click (the section was already
|
|
55
55
|
* selected), so nothing else would tell the chrome to drop back;
|
|
56
56
|
* - the open panel is mirrored back into the preview, so the part it is editing
|
|
57
57
|
* draws its selected outline.
|
|
58
58
|
*
|
|
59
|
-
* It deliberately does NOT move the
|
|
59
|
+
* It deliberately does NOT move the old editor selection when a part opens — exactly
|
|
60
60
|
* like the ticker / Background / Text bridges it joins. The Layers tree, undo,
|
|
61
61
|
* redo and autosave therefore see nothing at all, which is the cheapest possible
|
|
62
62
|
* proof that they behave as they did before.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{usePartBridge}from"../../chunk-
|
|
1
|
+
export{usePartBridge}from"../../chunk-KN2TIXUT.js";import"../../chunk-IROEWITG.js";import"../../chunk-SJMS247S.js";import"../../chunk-FHCKFOCD.js";import"../../chunk-MQA7OFRA.js";import"../../chunk-R4AUZVA3.js";import"../../chunk-TCAAOYQY.js";import"../../chunk-WJSEWAWK.js";import"../../chunk-TBY3DFKS.js";import"../../chunk-YHFKWV7H.js";import"../../chunk-BPXEFVSQ.js";import"../../chunk-WHS6Y55E.js";import"../../chunk-K56YDHYQ.js";import"../../chunk-ZEH6QLBH.js";import"../../chunk-IWCKVZHS.js";import"../../chunk-FIVU2COQ.js";import"../../chunk-BSHIQIZC.js";import"../../chunk-FM6JO4WF.js";import"../../chunk-KFV7N2DJ.js";import"../../chunk-MZ5GSSZ3.js";import"../../chunk-KRL3IUV3.js";import"../../chunk-Y2T3JX7K.js";import"../../chunk-KFWNGPW3.js";import"../../chunk-JACEEVVF.js";import"../../chunk-S3DUFDQ6.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-3S5N4HLJ.js";import"../../chunk-P2VEMZH5.js";import"../../chunk-GHBK7BKL.js";import"../../chunk-LF3FUSCQ.js";import"../../chunk-K7BTCBWD.js";import"../../chunk-L55YIXDC.js";import"../../chunk-467WWV4I.js";import"../../chunk-TIAWIOGD.js";import"../../chunk-MGVI67QV.js";
|
package/dist/screen/index.d.ts
CHANGED
|
@@ -3,23 +3,23 @@ export { default as ScreenStoreProvider } from './components/ScreenStoreProvider
|
|
|
3
3
|
export { NodeDefaults, SELECTION_MODE, ScreenBlockLook, ScreenBlockRules, ScreenBridges, ScreenCanvas, ScreenCanvasDrag, ScreenCanvasDragContext, ScreenCanvasHeadProps, ScreenCanvasTargetProvider, ScreenDevices, ScreenDocumentOps, ScreenDragItem, ScreenInspector, ScreenInspectorMode, ScreenInspectorPanelProps, ScreenLeftPanel, ScreenLeftView, ScreenLeftViewFrame, ScreenLeftViewRules, ScreenMainAction, ScreenMediaDrop, ScreenMediaFile, ScreenMenuItem, ScreenMenuRows, ScreenNewNode, ScreenNode, ScreenNodeActions, ScreenNodeLevel, ScreenNodeMaker, ScreenPartMode, ScreenParts, ScreenPartsProvider, ScreenPinnedBand, ScreenPinnedNodes, ScreenRailItem, ScreenSelector, ScreenSharedSections, ScreenSlot, ScreenSlotAction, ScreenSlotMode, ScreenStyleClipboard, ScreenStyleDocument, ScreenStylePastePlan, ScreenToastExtra, ScreenTree, ScreenTreeFolds, 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 } from './lib/screen-parts.js';
|
|
4
4
|
export { DefaultBackend, EFFICIENT_BACKEND, EaselSession, SessionBackend, SessionBlocks, activateEaselSession, backendOf, createEaselSession, currentEaselSession, deactivateEaselSession, efficientClientOpen, isEfficientBackend, provideDefaultBackend, resetAmbientEaselSession, sessionRegistry, setSessionBridgedSite, setSessionDocumentSite } from './lib/session.js';
|
|
5
5
|
export { EaselSessionProvider, useEaselSession } from './lib/session-context.js';
|
|
6
|
-
export { A as AnyDocumentAddressing, D as DETACHED_EASEL_HOST, a as DocumentAddressing, E as EaselBlockType, b as EaselFieldDescription, c as EaselHost, d as EaselHostAddress, e as EaselHostContext, f as EaselHostPanels, g as EaselHostProvider, h as EaselMessageType, i as EaselSelection, j as EaselToHostMessage, H as HostPickedMedia, k as HostToEaselMessage, I as InboundHostMessage, N as NO_DOCUMENT_ADDRESSING, P as PageEditOp, l as PickedMediaSource, S as SectionScreenTarget, m as SendToHost, n as createEaselHost, u as useEaselHost, o as useHostEscape } from '../ScreenDocumentContext-
|
|
6
|
+
export { A as AnyDocumentAddressing, D as DETACHED_EASEL_HOST, a as DocumentAddressing, E as EaselBlockType, b as EaselFieldDescription, c as EaselHost, d as EaselHostAddress, e as EaselHostContext, f as EaselHostPanels, g as EaselHostProvider, h as EaselMessageType, i as EaselSelection, j as EaselToHostMessage, H as HostPickedMedia, k as HostToEaselMessage, I as InboundHostMessage, N as NO_DOCUMENT_ADDRESSING, P as PageEditOp, l as PickedMediaSource, S as SectionScreenTarget, m as SendToHost, n as createEaselHost, u as useEaselHost, o as useHostEscape } from '../ScreenDocumentContext-BIK3uWtF.js';
|
|
7
7
|
export { EaselCapabilities, EaselDocument, EaselDocumentAdapter, EaselPageRow, SiteRecord, SiteRecordPatch, WebsiteEditLock } from './lib/document-contract.js';
|
|
8
8
|
import 'react';
|
|
9
9
|
import '../blocks/index.js';
|
|
10
|
-
import '../types-
|
|
10
|
+
import '../types-DFxBChE3.js';
|
|
11
11
|
import '../data/index.js';
|
|
12
|
-
import '../types-
|
|
13
|
-
import '../resolve-
|
|
14
|
-
import '../plan-
|
|
15
|
-
import '../watch-
|
|
12
|
+
import '../types-DlQIM1YO.js';
|
|
13
|
+
import '../resolve-AJ6WF4EL.js';
|
|
14
|
+
import '../plan-CRUh2kVK.js';
|
|
15
|
+
import '../watch-D0bNZRtU.js';
|
|
16
16
|
import '../types-B3iSHX-w.js';
|
|
17
17
|
import '../types-Cy7rdmXt.js';
|
|
18
18
|
import '../wordFit-7XpmhcaW.js';
|
|
19
19
|
import '../edit-lock/index.js';
|
|
20
20
|
import '../panelWidths-DgQXiPXU.js';
|
|
21
|
-
import '../CanvasDragLayer-
|
|
22
|
-
import '../session-
|
|
21
|
+
import '../CanvasDragLayer-B6Yn9S8T.js';
|
|
22
|
+
import '../session-CrWwDt7Z.js';
|
|
23
23
|
import '../words-SD4neL0n.js';
|
|
24
24
|
import '../types-BbOBWXMP.js';
|
|
25
25
|
import '../style-clipboard/index.js';
|
package/dist/screen/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../chunk-GZO72N3Q.js";export{DocumentScreen,ScreenMount}from"../chunk-
|
|
1
|
+
import"../chunk-GZO72N3Q.js";export{DocumentScreen,ScreenMount}from"../chunk-XWKQP6AE.js";import"../chunk-GXQCZJOP.js";import"../chunk-IYYE7VJN.js";import"../chunk-BDSLF5BR.js";import"../chunk-7OCEPOEJ.js";import"../chunk-SWBADIQT.js";import"../chunk-UMBNBCL4.js";import"../chunk-5XL2RXFU.js";import"../chunk-KWLHKKZO.js";import"../chunk-INRERJU4.js";import"../chunk-3QB2ZQXK.js";import"../chunk-DDH2DYQP.js";import"../chunk-TLN5ZT76.js";import"../chunk-KCBEE2MC.js";import"../chunk-C56MPJBH.js";import"../chunk-KN2TIXUT.js";import"../chunk-IROEWITG.js";import"../chunk-PY7OOQEZ.js";import"../chunk-RKTF5XLP.js";export{ScreenStoreProvider}from"../chunk-RY5AWQ63.js";import"../chunk-5545A3PC.js";import"../chunk-TXR7GC5A.js";import"../chunk-VKPOH6MK.js";import"../chunk-CPL43ZLJ.js";import"../chunk-N7E6264U.js";import"../chunk-N3MJOHAG.js";import"../chunk-SINAM2IT.js";import"../chunk-UMDQ6CLQ.js";import"../chunk-RUQOIQWI.js";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-SJMS247S.js";import"../chunk-2G6MAXPY.js";import"../chunk-4LGROS5L.js";import"../chunk-ZOSEBPAI.js";import"../chunk-BTDI7JAA.js";import"../chunk-77IWWW6X.js";import"../chunk-ERR437B5.js";import"../chunk-UNVKPVZW.js";import"../chunk-GMCZXMOV.js";export{NO_DOCUMENT_ADDRESSING}from"../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";export{EaselSessionProvider,useEaselSession}from"../chunk-YM4UEGBV.js";export{EFFICIENT_BACKEND,activateEaselSession,backendOf,createEaselSession,currentEaselSession,deactivateEaselSession,efficientClientOpen,isEfficientBackend,provideDefaultBackend,resetAmbientEaselSession,sessionRegistry,setSessionBridgedSite,setSessionDocumentSite}from"../chunk-SNF5764Q.js";export{DETACHED_EASEL_HOST,EaselHostContext,EaselHostProvider,createEaselHost,useEaselHost,useHostEscape}from"../chunk-MQA7OFRA.js";import"../chunk-XFYFKITX.js";import"../chunk-EB6NI2VK.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-WJSEWAWK.js";import"../chunk-TBY3DFKS.js";import"../chunk-YHFKWV7H.js";import"../chunk-BPXEFVSQ.js";import"../chunk-WHS6Y55E.js";import"../chunk-K56YDHYQ.js";import"../chunk-ZEH6QLBH.js";import"../chunk-IWCKVZHS.js";import"../chunk-ZKY45F5G.js";import"../chunk-FIVU2COQ.js";import"../chunk-P5VYGWYO.js";import"../chunk-WK3AFPXY.js";import"../chunk-BSHIQIZC.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-MZ5GSSZ3.js";import"../chunk-KRL3IUV3.js";import"../chunk-Y2T3JX7K.js";import"../chunk-KFWNGPW3.js";import"../chunk-JACEEVVF.js";import"../chunk-S3DUFDQ6.js";import"../chunk-MFIRYGHW.js";import"../chunk-CUZQ2HMA.js";import"../chunk-TQ5Y6S2X.js";import"../chunk-3S5N4HLJ.js";import"../chunk-P2VEMZH5.js";import"../chunk-GHBK7BKL.js";import"../chunk-LF3FUSCQ.js";import"../chunk-K7BTCBWD.js";import"../chunk-L55YIXDC.js";import"../chunk-BSPCSC45.js";import"../chunk-467WWV4I.js";import"../chunk-TIAWIOGD.js";import"../chunk-MGVI67QV.js";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { RefObject } from 'react';
|
|
2
2
|
import { EaselSession } from './session.js';
|
|
3
3
|
import '../../blocks/index.js';
|
|
4
|
-
import '../../types-
|
|
4
|
+
import '../../types-DFxBChE3.js';
|
|
5
5
|
import '../../data/index.js';
|
|
6
|
-
import '../../types-
|
|
7
|
-
import '../../resolve-
|
|
8
|
-
import '../../plan-
|
|
6
|
+
import '../../types-DlQIM1YO.js';
|
|
7
|
+
import '../../resolve-AJ6WF4EL.js';
|
|
8
|
+
import '../../plan-CRUh2kVK.js';
|
|
9
9
|
import './backend-error.js';
|
|
10
10
|
import '../../edit-lock/index.js';
|
|
11
11
|
import './host-chrome.js';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"../../../chunk-YIUE4US7.js";
|
|
@@ -31,7 +31,7 @@ declare function slotFieldsOf(config: SlotConfigView, type: string): string[];
|
|
|
31
31
|
* What a component type's config ALLOWS of the two actions that make another
|
|
32
32
|
* node or take one away (0.103.0): its `permissions.duplicate` and
|
|
33
33
|
* `permissions.delete`, each true unless the config says false — the reading
|
|
34
|
-
*
|
|
34
|
+
* The old editor gave a config that carried none. The campaign designer's Product keeps
|
|
35
35
|
* its Price line this way (`{ delete: false, duplicate: false }`).
|
|
36
36
|
*
|
|
37
37
|
* The screen's tree rows, its menu and the inspector head it hands this to
|
|
@@ -48,7 +48,7 @@ declare function blockNodeActions(config: SlotConfigView, type: string): {
|
|
|
48
48
|
};
|
|
49
49
|
/**
|
|
50
50
|
* A slot child, addressed the way the Layers tree selects it: the node, the
|
|
51
|
-
* compound zone key "<parentId>:<slotName>"
|
|
51
|
+
* compound zone key "<parentId>:<slotName>" the old editor's ops take, and its index in
|
|
52
52
|
* that slot.
|
|
53
53
|
*/
|
|
54
54
|
type SlotChild = {
|
|
@@ -75,7 +75,7 @@ declare function slotChildrenIn(item: TreeItem, slot: string): SlotChild[];
|
|
|
75
75
|
/**
|
|
76
76
|
* WHERE a node sits in the document — the node itself, the zone key its own
|
|
77
77
|
* array is addressed by, and its index in that array. Exactly the three
|
|
78
|
-
* arguments
|
|
78
|
+
* arguments an old-editor `replace` / `remove` / `reorder` op takes.
|
|
79
79
|
*/
|
|
80
80
|
type NodeLocation = {
|
|
81
81
|
item: TreeItem;
|
|
@@ -112,16 +112,16 @@ type NodeLocation = {
|
|
|
112
112
|
* `ScreenChrome` memoises a Map of EVERY node's address (plus each
|
|
113
113
|
* zone's whole sibling list) and hands the lookup to the context menu as
|
|
114
114
|
* `locate`. That map is built once per document for a surface that needs all of
|
|
115
|
-
* it; this finds ONE node and is reachable from
|
|
115
|
+
* it; this finds ONE node and is reachable from an old-editor field, which the map is
|
|
116
116
|
* not — it lives in a component's closure and rides no context. What must not
|
|
117
117
|
* be two things is the set of SLOT PROP NAMES, and it is not: both walk through
|
|
118
118
|
* `childSlotsOf`, so an address here and an address there cannot disagree.
|
|
119
|
-
*
|
|
119
|
+
* The old editor's own `getSelectorForId` is a third reader of the same fact, and the one
|
|
120
120
|
* a live store already offers — it is a hook-bound function, so a guard cannot
|
|
121
121
|
* call it, which is the whole reason this one is written pure.
|
|
122
122
|
*
|
|
123
123
|
* PURE, and takes the config as an argument, so a guard can assert against it
|
|
124
|
-
* without
|
|
124
|
+
* without an old-editor store, a React tree or a hook.
|
|
125
125
|
*
|
|
126
126
|
* `null` when no node carries the id — the honest answer for a stale selection,
|
|
127
127
|
* and every caller treats it as "there is nothing to write".
|
|
@@ -201,7 +201,7 @@ declare function pinnedDuplicateIds(content: ReadonlyArray<{
|
|
|
201
201
|
* Which pinned chrome types a document is MISSING, and a load-time seed must
|
|
202
202
|
* therefore create. A type counts as missing only when it is absent from BOTH:
|
|
203
203
|
*
|
|
204
|
-
* - `live` — the editor's
|
|
204
|
+
* - `live` — the editor's the old editor store, read at the moment of the write; and
|
|
205
205
|
* - `persisted` — the document exactly as it was LOADED from the backend.
|
|
206
206
|
*
|
|
207
207
|
* Requiring both is what makes seeding idempotent, and neither check can be
|
|
@@ -12,8 +12,8 @@ import '../content/view-tiers.js';
|
|
|
12
12
|
* screen; the panel ignored it, so the merchant read labels to find the control
|
|
13
13
|
* that matched what they were looking at.
|
|
14
14
|
*
|
|
15
|
-
* THE MECHANISM, and why this one. A
|
|
16
|
-
*
|
|
15
|
+
* THE MECHANISM, and why this one. A the old editor `resolveFields` cannot do it: in this
|
|
16
|
+
* The old editor version the fields slice re-resolves only when the selected node's DATA
|
|
17
17
|
* changes (`useRegisterFieldsSlice` subscribes to `state.indexes.nodes[id]`), and
|
|
18
18
|
* switching device changes no data — the panel would keep whatever field set the
|
|
19
19
|
* last edit produced. So the decision is made where it can re-render freely: in
|
|
@@ -35,11 +35,11 @@ import '../content/view-tiers.js';
|
|
|
35
35
|
* ({@link DEVICE_NOTE}); it never presents desktop values as if they were
|
|
36
36
|
* tablet's. {@link shownTier} is the single place that ruling is written down.
|
|
37
37
|
*
|
|
38
|
-
* WHY THE HIDDEN FIELD LEAVES NO GAP.
|
|
39
|
-
* own padded
|
|
38
|
+
* WHY THE HIDDEN FIELD LEAVES NO GAP. The old editor wraps every top-level field in its
|
|
39
|
+
* own padded old editor's padded field box before it calls `render`, so a field that
|
|
40
40
|
* renders nothing would still cost ~37px of empty panel. The gate instead paints
|
|
41
41
|
* a zero-size marker and this package's `screen.css` collapses the
|
|
42
|
-
* wrapper that contains one — the same "reach the wrapper
|
|
42
|
+
* wrapper that contains one — the same "reach the wrapper the old editor owns" trick the
|
|
43
43
|
* fold reflow in `controls.tsx` already relies on, expressed as one CSS rule
|
|
44
44
|
* instead of a second DOM pass (so it cannot race the fold's).
|
|
45
45
|
*/
|
|
@@ -63,7 +63,7 @@ declare function shownTier(device: PreviewDevice): DeviceTier;
|
|
|
63
63
|
* letting the desktop values pass for tablet's own.
|
|
64
64
|
*/
|
|
65
65
|
declare const DEVICE_NOTE: Readonly<Record<PreviewDevice, string | null>>;
|
|
66
|
-
/** The attribute the stylesheet looks for to collapse a gated-off field's
|
|
66
|
+
/** The attribute the stylesheet looks for to collapse a gated-off field's the old editor
|
|
67
67
|
* wrapper. Declared here, matched once in this package's `screen.css`, which
|
|
68
68
|
* every host that mounts the screen loads (it sat in the website's sheet until
|
|
69
69
|
* 0.103.0, so a second host's hidden rows kept their space). */
|
|
@@ -83,7 +83,7 @@ type AnyCustomField = {
|
|
|
83
83
|
* wraps live ON the field object, never only inside the render closure. Without
|
|
84
84
|
* it a gated control is opaque to every static walk — and the fold guard in
|
|
85
85
|
* `scripts/test-section-groups.ts` genuinely needs to see the header underneath
|
|
86
|
-
* to check its label against what it draws.
|
|
86
|
+
* to check its label against what it draws. The old editor ignores extra keys. */
|
|
87
87
|
declare const DEVICE_FIELD_MARKER: "__device";
|
|
88
88
|
/** The payload on {@link DEVICE_FIELD_MARKER}. */
|
|
89
89
|
type DeviceFieldMeta = {
|
|
@@ -33,7 +33,7 @@ import { TextControlKind } from './text-control-kinds.js';
|
|
|
33
33
|
* GENERATOR (`scripts/gen-neutralization-manifest.ts`) walks the built config
|
|
34
34
|
* looking for it, so the text factories are the single source of truth for
|
|
35
35
|
* "this prop holds customer-authored copy" — a new text field is covered the
|
|
36
|
-
* moment it is declared, with no list to maintain anywhere (
|
|
36
|
+
* moment it is declared, with no list to maintain anywhere (the old editor ignores extra
|
|
37
37
|
* keys).
|
|
38
38
|
*
|
|
39
39
|
* Unlike the media marker this carries a PAYLOAD, because the neutralizer needs
|
|
@@ -59,14 +59,14 @@ declare const LINK_FIELD_MARKER: "__link";
|
|
|
59
59
|
* greyed hint (`placeholder` above), and everything that asks "what does this
|
|
60
60
|
* prop put on screen?" — the neutralizer, the part walk — reads it there. A row
|
|
61
61
|
* array had no equivalent: `config.tsx` passes the scaffold constant straight
|
|
62
|
-
* into `phRows(value, SCAFFOLD,
|
|
62
|
+
* into `phRows(value, SCAFFOLD, editor)` inside the render, where nothing outside
|
|
63
63
|
* the component can see it. So a freshly-dropped section drew three grey rows of
|
|
64
64
|
* scaffold copy that `lib/document/text-parts` could not name, and clicking that copy
|
|
65
65
|
* opened the whole section instead of the one control behind it (card 66072).
|
|
66
66
|
*
|
|
67
67
|
* It is the SAME constant the render passes — `withScaffold` (in
|
|
68
68
|
* `lib/document/controls`) takes it as an argument rather than copying it — so the
|
|
69
|
-
* preview and the walk cannot drift.
|
|
69
|
+
* preview and the walk cannot drift. The old editor ignores extra keys on a field, exactly
|
|
70
70
|
* as it does for the two markers above.
|
|
71
71
|
*/
|
|
72
72
|
declare const SCAFFOLD_FIELD_MARKER: "__scaffold";
|
|
@@ -165,7 +165,7 @@ type EdgeCell = "top" | "right" | "bottom" | "left";
|
|
|
165
165
|
/** Marker carried by every media field object. The manifest GENERATOR walks the
|
|
166
166
|
* built config looking for it, so the factory below is the single source of
|
|
167
167
|
* truth for "this prop holds media" — a new media field is covered the moment
|
|
168
|
-
* it is declared, with no list to maintain anywhere (
|
|
168
|
+
* it is declared, with no list to maintain anywhere (the old editor ignores extra keys). */
|
|
169
169
|
declare const MEDIA_FIELD_MARKER: "__media";
|
|
170
170
|
/** Marker carried by every heading {@link group} / {@link section} builds — and
|
|
171
171
|
* by every bucket header {@link bucketHeader} builds, whose "heading" a
|
|
@@ -174,7 +174,7 @@ declare const MEDIA_FIELD_MARKER: "__media";
|
|
|
174
174
|
* closure. Without it a header's label is unreadable at runtime — the closure
|
|
175
175
|
* is all there is — and the four-bucket pass (`lib/document/field-groups.ts`) would
|
|
176
176
|
* have to re-derive it by parsing `config.tsx`, i.e. a second source of truth
|
|
177
|
-
* for something the field already knows.
|
|
177
|
+
* for something the field already knows. The old editor ignores extra keys, and the
|
|
178
178
|
* neutralization walk classifies by its own markers / `type` / prop name, so a
|
|
179
179
|
* header stays exactly as invisible to it as it was (see
|
|
180
180
|
* `scripts/gen-neutralization-manifest.ts`). */
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Config } from '../../../blocks/index.js';
|
|
2
2
|
import 'react';
|
|
3
|
-
import '../../../types-
|
|
3
|
+
import '../../../types-DFxBChE3.js';
|
|
4
4
|
import '../../../data/index.js';
|
|
5
|
-
import '../../../types-
|
|
6
|
-
import '../../../resolve-
|
|
7
|
-
import '../../../plan-
|
|
5
|
+
import '../../../types-DlQIM1YO.js';
|
|
6
|
+
import '../../../resolve-AJ6WF4EL.js';
|
|
7
|
+
import '../../../plan-CRUh2kVK.js';
|
|
8
8
|
|
|
9
9
|
/** One offerable section, with the category it is grouped under. */
|
|
10
10
|
type PaletteSection = {
|
|
@@ -73,7 +73,7 @@ interface PaletteLook {
|
|
|
73
73
|
* E9): it is a registry's way of keeping blocks it has out of the picker — the
|
|
74
74
|
* campaign designer's Product parts, its retired blocks, its Sections — and a
|
|
75
75
|
* palette that listed them would offer things that may not be put on a page.
|
|
76
|
-
*
|
|
76
|
+
* The old editor's own palette read the flag the same way. No website category carries
|
|
77
77
|
* it, so the website's palette is the list it was.
|
|
78
78
|
*/
|
|
79
79
|
declare function buildPaletteSections(config: Config, look: PaletteLook): PaletteSection[];
|
|
@@ -7,16 +7,16 @@
|
|
|
7
7
|
* array on a linked product, Image & Text Columns takes its text-position row
|
|
8
8
|
* away once it has Boxes.
|
|
9
9
|
*
|
|
10
|
-
* `
|
|
10
|
+
* `the old editor's fields panel` honours all of that. Every list built beside it from the raw
|
|
11
11
|
* declaration does not — and one of them is the copy list in
|
|
12
12
|
* `components/SectionEditor`. So a merchant met the SAME heading twice: once in
|
|
13
|
-
* the panel
|
|
13
|
+
* the panel the old editor drew, and once in a list drawn from rows the resolver had
|
|
14
14
|
* already dropped (owner, 2026-09-10, on a Booking Form's Head box).
|
|
15
15
|
*
|
|
16
|
-
* ⚠️
|
|
17
|
-
* internal — `useEasel((s) => s)` and `
|
|
16
|
+
* ⚠️ THE OLD EDITOR DOES NOT EXPOSE ITS RESOLVED SET. The store slice that holds it is
|
|
17
|
+
* internal — `useEasel((s) => s)` and `the old selector hook` both hand back `the old store API`, which
|
|
18
18
|
* has no `fields` on it (checked against 0.20.2's own types, not remembered). So
|
|
19
|
-
* the resolver is asked here, the same way
|
|
19
|
+
* the resolver is asked here, the same way the old editor asks it.
|
|
20
20
|
*
|
|
21
21
|
* ⚠️ AND AN ASYNC RESOLVER IS ANSWERED WITH THE DECLARATION. A promise cannot be
|
|
22
22
|
* read during a render, and a list that waited would flicker rows in and out.
|
|
@@ -35,7 +35,7 @@ interface PanelComponent {
|
|
|
35
35
|
* `parent` is passed as null and `appState` as an empty object because the ONE
|
|
36
36
|
* caller uses the result for authored-copy rows, which no resolver decides from
|
|
37
37
|
* either. A caller that needs the width rows — which DO read `parent` — must ask
|
|
38
|
-
*
|
|
38
|
+
* The old editor rather than this.
|
|
39
39
|
*/
|
|
40
40
|
declare function panelFieldsOf(config: {
|
|
41
41
|
components?: Record<string, PanelComponent>;
|