efficient-easel 0.102.0 → 0.104.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.
Files changed (116) hide show
  1. package/README.md +45 -4
  2. package/dist/chunk-4EUWOGZF.js +1 -0
  3. package/dist/chunk-5D2XAZKH.js +62 -0
  4. package/dist/chunk-7755VWRT.js +4 -0
  5. package/dist/chunk-7GVLSNFW.js +1 -0
  6. package/dist/chunk-A2LFBOUF.js +1 -0
  7. package/dist/chunk-BBRY7KI4.js +10 -0
  8. package/dist/chunk-BVN33R76.js +1 -0
  9. package/dist/chunk-D6324C3E.js +5 -0
  10. package/dist/chunk-ERR437B5.js +1 -0
  11. package/dist/chunk-HMWJB3HF.js +1 -0
  12. package/dist/{chunk-KDYIMJTZ.js → chunk-KCOBHPN6.js} +1 -1
  13. package/dist/chunk-KVNRNDUC.js +1 -0
  14. package/dist/chunk-LEGAPYPC.js +1 -0
  15. package/dist/chunk-LRTIMWZG.js +2 -0
  16. package/dist/chunk-LXEOVUAV.js +1 -0
  17. package/dist/{chunk-D7M6IRPJ.js → chunk-NEQIEYYO.js} +1 -1
  18. package/dist/{chunk-6TZTKAB5.js → chunk-O7Q4DDJT.js} +1 -1
  19. package/dist/chunk-PYNQRX56.js +4 -0
  20. package/dist/chunk-Q2HPBMG5.js +1 -0
  21. package/dist/chunk-QCBWT2XE.js +1 -0
  22. package/dist/{chunk-7MU3RJ6S.js → chunk-QDEZQ5A6.js} +1 -1
  23. package/dist/chunk-QOPY2LQM.js +1 -0
  24. package/dist/{chunk-AKFJK65Z.js → chunk-R2MUSGPS.js} +1 -1
  25. package/dist/chunk-RSCMJIWS.js +1 -0
  26. package/dist/{chunk-E7GGVILG.js → chunk-TTENU2HX.js} +1 -1
  27. package/dist/chunk-UB7JVPK4.js +1 -0
  28. package/dist/{chunk-VLSTGOVD.js → chunk-YODRYAZX.js} +2 -2
  29. package/dist/chunk-Z6BAZFSW.js +2 -0
  30. package/dist/chunk-ZOJEFIP4.js +1 -0
  31. package/dist/{host-B-byaQxg.d.ts → host-DJ8Gzsx7.d.ts} +93 -21
  32. package/dist/screen/components/AddBlockRow.js +1 -1
  33. package/dist/screen/components/AddSidePanel.js +1 -1
  34. package/dist/screen/components/MediaSidePanel.d.ts +3 -2
  35. package/dist/screen/components/MediaSidePanel.js +1 -1
  36. package/dist/screen/components/NodeContextMenu.d.ts +47 -2
  37. package/dist/screen/components/NodeContextMenu.js +1 -1
  38. package/dist/screen/components/PageEditGuardNotices.js +1 -1
  39. package/dist/screen/components/ScreenChrome.js +1 -1
  40. package/dist/screen/components/ScreenDocumentContext.d.ts +2 -1
  41. package/dist/screen/components/ScreenDocumentContext.js +1 -1
  42. package/dist/screen/components/ScreenMount.d.ts +9 -5
  43. package/dist/screen/components/ScreenMount.js +1 -1
  44. package/dist/screen/components/ScreenStoreProvider.d.ts +3 -0
  45. package/dist/screen/components/ScreenStoreProvider.js +1 -1
  46. package/dist/screen/components/SectionScreenShell.js +16 -16
  47. package/dist/screen/components/usePartBridge.d.ts +3 -0
  48. package/dist/screen/components/usePartBridge.js +1 -1
  49. package/dist/screen/index.d.ts +6 -3
  50. package/dist/screen/index.js +1 -1
  51. package/dist/screen/lib/admin-bridge.d.ts +2 -0
  52. package/dist/screen/lib/admin-bridge.js +1 -1
  53. package/dist/screen/lib/backend-error.d.ts +20 -5
  54. package/dist/screen/lib/backend-error.js +1 -1
  55. package/dist/screen/lib/document-addressing.d.ts +2 -1
  56. package/dist/screen/lib/document-contract.d.ts +7 -0
  57. package/dist/screen/lib/failure.d.ts +6 -2
  58. package/dist/screen/lib/failure.js +1 -1
  59. package/dist/screen/lib/host-inbound.js +1 -1
  60. package/dist/screen/lib/host.d.ts +3 -2
  61. package/dist/screen/lib/load-error.d.ts +9 -3
  62. package/dist/screen/lib/load-error.js +1 -1
  63. package/dist/screen/lib/media-panel.d.ts +81 -17
  64. package/dist/screen/lib/media-panel.js +1 -1
  65. package/dist/screen/lib/media-picker.d.ts +14 -2
  66. package/dist/screen/lib/media-picker.js +1 -1
  67. package/dist/screen/lib/page-lock.d.ts +45 -1
  68. package/dist/screen/lib/page-lock.js +1 -1
  69. package/dist/screen/lib/puck/content-tree.d.ts +20 -1
  70. package/dist/screen/lib/puck/content-tree.js +1 -1
  71. package/dist/screen/lib/puck/device-fields.d.ts +4 -2
  72. package/dist/screen/lib/puck/section-doc.js +1 -1
  73. package/dist/screen/lib/puck/slot-child-name.d.ts +18 -3
  74. package/dist/screen/lib/puck/slot-child-name.js +1 -1
  75. package/dist/screen/lib/puck/style-clipboard.js +1 -1
  76. package/dist/screen/lib/puck/use-section-ops.d.ts +6 -0
  77. package/dist/screen/lib/puck/use-section-ops.js +1 -1
  78. package/dist/screen/lib/screen-parts.d.ts +171 -4
  79. package/dist/screen/lib/screen-parts.js +1 -1
  80. package/dist/screen/lib/section-templates.d.ts +25 -1
  81. package/dist/screen/lib/section-templates.js +1 -1
  82. package/dist/screen/lib/session-context.d.ts +5 -1
  83. package/dist/screen/lib/session-context.js +1 -1
  84. package/dist/screen/lib/session.d.ts +58 -5
  85. package/dist/screen/lib/session.js +1 -1
  86. package/dist/screen/screen.css +14 -0
  87. package/dist/screen/words.d.ts +65 -0
  88. package/dist/screen/words.js +1 -0
  89. package/dist/strings/catalogue.d.ts +9 -2
  90. package/dist/strings/catalogue.js +1 -1
  91. package/dist/strings/index.d.ts +1 -0
  92. package/dist/strings/index.js +1 -1
  93. package/dist/tree/index.d.ts +4 -142
  94. package/dist/types-DJDBtdB2.d.ts +143 -0
  95. package/package.json +6 -1
  96. package/dist/chunk-3U4GP5VA.js +0 -10
  97. package/dist/chunk-5464H65G.js +0 -4
  98. package/dist/chunk-6FY3PZS3.js +0 -1
  99. package/dist/chunk-7RNTMJER.js +0 -5
  100. package/dist/chunk-A7ZJII7O.js +0 -1
  101. package/dist/chunk-AJBJ74ME.js +0 -1
  102. package/dist/chunk-AKZWUV5Z.js +0 -1
  103. package/dist/chunk-F2FPZIZV.js +0 -62
  104. package/dist/chunk-F6CCTEIX.js +0 -1
  105. package/dist/chunk-FT35FX7D.js +0 -2
  106. package/dist/chunk-FUDHI5I4.js +0 -1
  107. package/dist/chunk-HMX55DYT.js +0 -1
  108. package/dist/chunk-HWW4XJOH.js +0 -1
  109. package/dist/chunk-J4RAY75C.js +0 -1
  110. package/dist/chunk-PP44LCJM.js +0 -1
  111. package/dist/chunk-Q3SQBNJB.js +0 -1
  112. package/dist/chunk-TEZ6V6PA.js +0 -4
  113. package/dist/chunk-UH7TGWHR.js +0 -1
  114. package/dist/chunk-UVWVYMMZ.js +0 -1
  115. package/dist/chunk-VV5ADNBR.js +0 -1
  116. package/dist/chunk-ZZ7VLIHQ.js +0 -1
@@ -34,9 +34,16 @@ import { A as AutosaveSnapshot } from './engine-DBxp_v6B.js';
34
34
  * these rules among the dependencies of what it memoises, the adapter first:
35
35
  * rules built anew on a render would build a new adapter on it, and a new
36
36
  * adapter opens the document again.
37
+ *
38
+ * FOR ONE KIND OF TARGET (0.103.0). A layer's rules answer for the targets it
39
+ * names: a website's for its pages and templates (`ScreenTarget`, the default,
40
+ * so the website's rules are typed as they always were), a host's own for its
41
+ * documents (`DocumentAddressing<DocumentTarget>`). The rules are asked about
42
+ * a target and never hand one of their own kind back, except where the editor
43
+ * goes instead of where it was loaded (`entryBounce`), which may be any.
37
44
  */
38
45
 
39
- interface DocumentAddressing {
46
+ interface DocumentAddressing<T extends AnyScreenTarget = ScreenTarget> {
40
47
  /**
41
48
  * The slug of the HOME document: the one a target stands for when it names
42
49
  * no document within its record, and the one an editor falls back to when
@@ -52,14 +59,14 @@ interface DocumentAddressing {
52
59
  * document, until `entryBounce` has said where the editor goes — or that it
53
60
  * stays after all.
54
61
  */
55
- entryMayBounce: (target: ScreenTarget) => boolean;
62
+ entryMayBounce: (target: T) => boolean;
56
63
  /**
57
64
  * Where an editor loaded on `target` goes INSTEAD: the target the host's
58
65
  * address is then loaded on, or null and it stays. Asked once per mount, of
59
66
  * the target it started on, with the query of the host's address. A switch
60
67
  * made in place loads nothing, so it is never asked.
61
68
  */
62
- entryBounce: (target: ScreenTarget, search: string) => ScreenTarget | null;
69
+ entryBounce: (target: T, search: string) => AnyScreenTarget | null;
63
70
  /**
64
71
  * A switch of document, in place, is going ahead and `next` is where it
65
72
  * goes: whatever the layer keeps of its own that depends on where the
@@ -67,13 +74,13 @@ interface DocumentAddressing {
67
74
  * belonged to the document being left has been cleared and before the
68
75
  * provider moves to the new one.
69
76
  */
70
- onSwitch: (next: ScreenTarget) => void;
77
+ onSwitch: (next: T) => void;
71
78
  /**
72
79
  * Is the host told that the editor moved to `next`? The host remembers the
73
80
  * last target it was told, and reopens the editor there on a reload — so a
74
81
  * target the editor must not be reopened on is one the host is not told.
75
82
  */
76
- tellsHost: (next: ScreenTarget) => boolean;
83
+ tellsHost: (next: T) => boolean;
77
84
  /**
78
85
  * What stores the document `target` names: its adapter, over the backend in
79
86
  * force and the sets of blocks the host offers (both the session's, and the
@@ -84,7 +91,7 @@ interface DocumentAddressing {
84
91
  * `SessionBackend`): the layer that handed the session its backend knows its
85
92
  * own type, and the provider names none.
86
93
  */
87
- adapterFor: (target: ScreenTarget, backend: SessionBackend, blocks: SessionBlocks | null) => EaselDocumentAdapter;
94
+ adapterFor: (target: T, backend: SessionBackend, blocks: SessionBlocks | null) => EaselDocumentAdapter;
88
95
  /**
89
96
  * Carry the stored answer of every prop the layer has RENAMED to its new
90
97
  * key, in a layout as it was stored and before the canvas reads it. The
@@ -92,16 +99,44 @@ interface DocumentAddressing {
92
99
  * left under an old key would be shown as the default and then saved as it.
93
100
  * Answers with the same object when it carried nothing.
94
101
  */
95
- migrateRenamedProps: <T>(data: T) => T;
102
+ migrateRenamedProps: <D>(data: D) => D;
103
+ /**
104
+ * The sentence the editor shows for a document that is NOT THERE (the
105
+ * adapter resolved `target` to null, and there was no Home to fall back to):
106
+ * the layer's words for its own kind of document — "Couldn't open this
107
+ * campaign." Asked once, when it is found missing. Absent, the screen says
108
+ * its own (`EaselStrings.screen`: `missingPage`, `missingTemplatePage`,
109
+ * `missingDocument`), the website's sentences among them.
110
+ */
111
+ describeMissing?: (target: T) => string;
112
+ /**
113
+ * The document `target` names did not open, and the editor shows why
114
+ * instead of it. `err` is what the load was refused with, or `null` when the
115
+ * backend said there is no such document (and there was no Home to fall back
116
+ * to). Called once per failed load, after the sentence is chosen — for a
117
+ * layer that has bookkeeping of its own to let go of (the campaign designer's
118
+ * window forgets the campaign it would reopen). Absent, nobody is told.
119
+ */
120
+ onLoadFailed?: (target: T, err: unknown) => void;
96
121
  }
122
+ /**
123
+ * The rules a provider may be handed: a website's, for its pages and
124
+ * templates, or a host's own, for its documents. Whichever it is handed it
125
+ * asks of every target it opens, so a layer hands the rules of the kind of
126
+ * target it mounts the editor on.
127
+ */
128
+ type AnyDocumentAddressing = DocumentAddressing<ScreenTarget> | DocumentAddressing<DocumentTarget>;
97
129
  /**
98
130
  * With no layer: there is no home, so nothing is fallen back to; an editor
99
131
  * stays on whatever target it is loaded on; a switch of document has nothing
100
132
  * of a layer's to bring up to date, and the host is told of every one; the
101
133
  * document is the one nothing stores; and a stored layout is read as it was
102
- * stored, there being no layer to have renamed a prop.
134
+ * stored, there being no layer to have renamed a prop. It answers for every
135
+ * kind of target, so it stands in for the rules of either. It describes no
136
+ * missing document of its own (the screen says its words) and tells nobody of
137
+ * one that would not open.
103
138
  */
104
- declare const NO_DOCUMENT_ADDRESSING: DocumentAddressing;
139
+ declare const NO_DOCUMENT_ADDRESSING: DocumentAddressing<AnyScreenTarget>;
105
140
 
106
141
  type ScreenTarget = {
107
142
  kind: "page";
@@ -113,10 +148,34 @@ type ScreenTarget = {
113
148
  id: string;
114
149
  pageSlug?: string;
115
150
  };
151
+ /**
152
+ * A DOCUMENT OF A HOST'S OWN — not a website's page or template: what the
153
+ * campaign designer opens (0.103.0). `record` is the record that stores it (a
154
+ * campaign's id), and `slug` the document within that record (one of its
155
+ * variants), the empty slug when it names none.
156
+ *
157
+ * The provider asks no more of it than that. One record is one adapter (it
158
+ * re-keys on `record`, as a page target re-keys on its site); two of these are
159
+ * the same document when record and slug match; and a document that has gone
160
+ * is reported, never replaced by a Home, which is a website's.
161
+ *
162
+ * Beside `ScreenTarget` and not in it: that union is the website's two kinds,
163
+ * as its hosts name and build them (and as the storefront publishes them), and
164
+ * its host messages carry one. A host's own document reaches the host through
165
+ * its address (`EaselHostAddress.show`), and never as `navigated`.
166
+ */
167
+ type DocumentTarget = {
168
+ kind: "document";
169
+ record: string;
170
+ slug?: string;
171
+ };
172
+ /** Every target the document's provider opens: a website's page or template
173
+ * (`ScreenTarget`), or a document of a host's own (`DocumentTarget`). */
174
+ type AnyScreenTarget = ScreenTarget | DocumentTarget;
116
175
 
117
176
  type ScreenDocumentValue = {
118
177
  /** The document the editor is currently pointed at (runtime, retargetable). */
119
- target: ScreenTarget;
178
+ target: AnyScreenTarget;
120
179
  /** Record-type plumbing (load/save/list/create/delete) for the pointed-at
121
180
  * document. Chrome and panels consult `capabilities`, never the record type. */
122
181
  adapter: EaselDocumentAdapter;
@@ -124,7 +183,8 @@ type ScreenDocumentValue = {
124
183
  capabilities: EaselCapabilities;
125
184
  /** Id of the website template being edited (template mode only). */
126
185
  templateId: string | null;
127
- /** Slug of the page being edited — the template page's slug in template mode. */
186
+ /** Slug of the page being edited — the template page's slug in template mode,
187
+ * and a host's own document's `slug` (or the empty slug) for one of those. */
128
188
  currentSlug: string;
129
189
  /** Kind of the loaded page (`dynamic` drives the product-binding controls), or
130
190
  * null while loading / in template mode where the record carries no kind. */
@@ -223,8 +283,18 @@ type ScreenDocumentValue = {
223
283
  * is narrower on purpose: during `checking` nobody is named yet, and the
224
284
  * pinned Header/Footer seed runs in the chrome's mount commit and must still
225
285
  * land. Its write is held by `onChange` and released by the claim if it is
226
- * granted, or never released if it is not — card 1096. */
286
+ * granted, or never released if it is not — card 1096.
287
+ *
288
+ * …or the document itself is FROZEN (`readOnlyReason`): nobody holds it, and
289
+ * nobody may write it, ever. */
227
290
  readOnly: boolean;
291
+ /** Why the open document may never be written, as the backend said it
292
+ * (`EaselDocument.readOnlyReason`: a campaign that has been sent), or null
293
+ * for every document that may. Such a document is read-only for good: its
294
+ * saves are refused, its lock is never claimed, and the save pill's place
295
+ * says this instead. Optional for a context built by hand, where it is
296
+ * absent and means null. */
297
+ readOnlyReason?: string | null;
228
298
  /** Take the page: from the "someone else is editing" choice, or back after
229
299
  * somebody took it from you. */
230
300
  takeOverEditing: () => void;
@@ -240,22 +310,22 @@ type ScreenDocumentValue = {
240
310
  * throws the operator's work away, and only they can ask for it. */
241
311
  reloadFromServer: () => void;
242
312
  /** Retarget the editor in place (guards unsaved changes before it swaps). */
243
- navigate: (target: ScreenTarget) => void;
313
+ navigate: (target: AnyScreenTarget) => void;
244
314
  /** A retarget held behind the unsaved-changes prompt (null = no prompt). */
245
- pendingNav: ScreenTarget | null;
315
+ pendingNav: AnyScreenTarget | null;
246
316
  cancelPendingNav: () => void;
247
317
  discardAndNavigate: () => void;
248
318
  saveAndNavigate: () => Promise<void>;
249
319
  };
250
320
  declare const ScreenDocumentContext: react.Context<ScreenDocumentValue | null>;
251
321
  declare function useScreenDocument(): ScreenDocumentValue;
252
- declare function ScreenDocumentProvider({ target, addressing, onHostMessage, children, }: {
253
- target: ScreenTarget;
322
+ declare function ScreenDocumentProvider({ target, addressing: handed, onHostMessage, children, }: {
323
+ target: AnyScreenTarget;
254
324
  /** How this editor's documents are ADDRESSED — the layer's rules, handed in
255
325
  * by whoever mounts the provider (the website's entry hands the website's:
256
326
  * lib/website-document-addressing). Without them there is one document that
257
327
  * nothing stores. ONE object for the life of the mount, like the session. */
258
- addressing?: DocumentAddressing;
328
+ addressing?: AnyDocumentAddressing;
259
329
  /** The layer's own host messages, asked before the ones every editor answers
260
330
  * (lib/host-inbound): the website's are lib/website-host-inbound.
261
331
  * Returns true when it handled one. */
@@ -426,10 +496,12 @@ type InboundHostMessage = {
426
496
  interface EaselHostAddress {
427
497
  /** The query the editor was opened with (`?editTemplate=1`, `?site=` …). */
428
498
  search(): string;
429
- /** Keep the address in step with the open document (no load). */
430
- show(target: ScreenTarget | SectionScreenTarget): void;
499
+ /** Keep the address in step with the open document (no load). A host's own
500
+ * document (`DocumentTarget`, 0.103.0) is told here and only here: the
501
+ * `navigated` message carries a website's targets. */
502
+ show(target: ScreenTarget | SectionScreenTarget | DocumentTarget): void;
431
503
  /** Leave for another document by LOADING it (an entry bounce, a deleted page). */
432
- load(target: ScreenTarget): void;
504
+ load(target: ScreenTarget | DocumentTarget): void;
433
505
  /** Reload the editor from scratch (abandon this tab's copy of the document). */
434
506
  reload(): void;
435
507
  }
@@ -477,4 +549,4 @@ declare function createEaselHost(options: {
477
549
  deliver: (message: HostToEaselMessage) => void;
478
550
  };
479
551
 
480
- export { DETACHED_EASEL_HOST as D, type EaselHost as E, type HostPickedMedia as H, type InboundHostMessage as I, NO_DOCUMENT_ADDRESSING as N, type SectionScreenTarget as S, type DocumentAddressing as a, type EaselHostAddress as b, EaselHostContext as c, EaselHostProvider as d, type EaselMessageType as e, type EaselToHostMessage as f, type HostToEaselMessage as g, type SendToHost as h, createEaselHost as i, type ScreenTarget as j, ScreenDocumentContext as k, ScreenDocumentProvider as l, type ScreenDocumentValue as m, useScreenDocument as n, useEaselHost as u };
552
+ export { type AnyDocumentAddressing as A, DETACHED_EASEL_HOST as D, type EaselHost as E, type HostPickedMedia as H, type InboundHostMessage as I, NO_DOCUMENT_ADDRESSING as N, type SectionScreenTarget as S, type DocumentAddressing as a, type EaselHostAddress as b, EaselHostContext as c, EaselHostProvider as d, type EaselMessageType as e, type EaselToHostMessage as f, type HostToEaselMessage as g, type SendToHost as h, createEaselHost as i, type AnyScreenTarget as j, type DocumentTarget as k, ScreenDocumentContext as l, ScreenDocumentProvider as m, type ScreenDocumentValue as n, type ScreenTarget as o, useScreenDocument as p, useEaselHost as u };
@@ -1 +1 @@
1
- export{AddBlockRow as default}from"../../chunk-D7M6IRPJ.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-5464H65G.js";import"../../chunk-P67FP7PG.js";import"../../chunk-AELNNAFM.js";import"../../chunk-BXZ6WLHC.js";import"../../chunk-EOJNJCMJ.js";import"../../chunk-ZFDCDJNZ.js";import"../../chunk-ZNS7727Y.js";import"../../chunk-3EDSDPIP.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-KTVH2ZRL.js";import"../../chunk-D2BCHTQR.js";import"../../chunk-EWVJSRRY.js";import"../../chunk-P6O363EE.js";import"../../chunk-FPOKPNO4.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-BZ5ASXOL.js";import"../../chunk-67GNT6PF.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-L5KW4HG5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
1
+ export{AddBlockRow as default}from"../../chunk-NEQIEYYO.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-7755VWRT.js";import"../../chunk-Z6BAZFSW.js";import"../../chunk-R5ZVNJLJ.js";import"../../chunk-P67FP7PG.js";import"../../chunk-AELNNAFM.js";import"../../chunk-BXZ6WLHC.js";import"../../chunk-EOJNJCMJ.js";import"../../chunk-ZFDCDJNZ.js";import"../../chunk-ZNS7727Y.js";import"../../chunk-3EDSDPIP.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-KTVH2ZRL.js";import"../../chunk-D2BCHTQR.js";import"../../chunk-EWVJSRRY.js";import"../../chunk-P6O363EE.js";import"../../chunk-FPOKPNO4.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-BZ5ASXOL.js";import"../../chunk-67GNT6PF.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-L5KW4HG5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
@@ -1 +1 @@
1
- export{blockKey,AddSidePanel as default,sectionKey,templateKey}from"../../chunk-7RNTMJER.js";import"../../chunk-5ZBY24K7.js";import"../../chunk-GENAF3P6.js";import"../../chunk-J4RAY75C.js";import"../../chunk-IWAPPEL4.js";import"../../chunk-KQMML6JM.js";import"../../chunk-6TZTKAB5.js";import"../../chunk-AJBJ74ME.js";import"../../chunk-KDYIMJTZ.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-5464H65G.js";import"../../chunk-P67FP7PG.js";import"../../chunk-AELNNAFM.js";import"../../chunk-BXZ6WLHC.js";import"../../chunk-EOJNJCMJ.js";import"../../chunk-ZFDCDJNZ.js";import"../../chunk-ZNS7727Y.js";import"../../chunk-3EDSDPIP.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-KTVH2ZRL.js";import"../../chunk-D2BCHTQR.js";import"../../chunk-EWVJSRRY.js";import"../../chunk-P6O363EE.js";import"../../chunk-FPOKPNO4.js";import"../../chunk-6DJHRLCU.js";import"../../chunk-ZJEBF4NB.js";import"../../chunk-JUQ6YJCG.js";import"../../chunk-RE4LP46F.js";import"../../chunk-WZ7TGAAT.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-BZ5ASXOL.js";import"../../chunk-TTJ54QGG.js";import"../../chunk-O2NLQBFX.js";import"../../chunk-67GNT6PF.js";import"../../chunk-PAELDYYS.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-L5KW4HG5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
1
+ export{blockKey,AddSidePanel as default,sectionKey,templateKey}from"../../chunk-D6324C3E.js";import"../../chunk-5ZBY24K7.js";import"../../chunk-GENAF3P6.js";import"../../chunk-BVN33R76.js";import"../../chunk-IWAPPEL4.js";import"../../chunk-KQMML6JM.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-7755VWRT.js";import"../../chunk-Z6BAZFSW.js";import"../../chunk-R5ZVNJLJ.js";import"../../chunk-P67FP7PG.js";import"../../chunk-AELNNAFM.js";import"../../chunk-BXZ6WLHC.js";import"../../chunk-EOJNJCMJ.js";import"../../chunk-ZFDCDJNZ.js";import"../../chunk-ZNS7727Y.js";import"../../chunk-3EDSDPIP.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-KTVH2ZRL.js";import"../../chunk-D2BCHTQR.js";import"../../chunk-6DJHRLCU.js";import"../../chunk-ZJEBF4NB.js";import"../../chunk-JUQ6YJCG.js";import"../../chunk-RE4LP46F.js";import"../../chunk-WZ7TGAAT.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-EWVJSRRY.js";import"../../chunk-P6O363EE.js";import"../../chunk-FPOKPNO4.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-BZ5ASXOL.js";import"../../chunk-TTJ54QGG.js";import"../../chunk-O2NLQBFX.js";import"../../chunk-67GNT6PF.js";import"../../chunk-PAELDYYS.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-L5KW4HG5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
@@ -1,6 +1,6 @@
1
1
  import * as react from 'react';
2
2
  import { MediaPanelComponent, MediaPickRequest } from '../lib/media-panel.js';
3
- import '../../host-B-byaQxg.js';
3
+ import '../../host-DJ8Gzsx7.js';
4
4
  import '../../blocks/index.js';
5
5
  import '../../types-E3HrTPg2.js';
6
6
  import '../../data/index.js';
@@ -9,6 +9,8 @@ import '../../resolve-D68pb3Bx.js';
9
9
  import '../../plan-DChbUXdS.js';
10
10
  import '../lib/document-contract.js';
11
11
  import '../lib/session.js';
12
+ import '../lib/backend-error.js';
13
+ import '../../edit-lock/index.js';
12
14
  import '../lib/host-chrome.js';
13
15
  import '../lib/links/link-filters.js';
14
16
  import '../../LinkPicker-W2Rtxetz.js';
@@ -17,7 +19,6 @@ import '../lib/section-template-types.js';
17
19
  import '../lib/puck/content-tree.js';
18
20
  import '../lib/document-switch.js';
19
21
  import '../../engine-DBxp_v6B.js';
20
- import '../../edit-lock/index.js';
21
22
  import '../lib/admin-bridge.js';
22
23
 
23
24
  /**
@@ -1 +1 @@
1
- export{MediaSidePanel as default}from"../../chunk-TEZ6V6PA.js";import"../../chunk-ZZ7VLIHQ.js";import"../../chunk-5464H65G.js";import"../../chunk-P67FP7PG.js";import"../../chunk-AELNNAFM.js";import"../../chunk-BXZ6WLHC.js";import"../../chunk-EOJNJCMJ.js";import"../../chunk-ZFDCDJNZ.js";import"../../chunk-ZNS7727Y.js";import"../../chunk-3EDSDPIP.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-KTVH2ZRL.js";import"../../chunk-D2BCHTQR.js";import"../../chunk-EWVJSRRY.js";import"../../chunk-P6O363EE.js";import"../../chunk-FPOKPNO4.js";import"../../chunk-6DJHRLCU.js";import"../../chunk-ZJEBF4NB.js";import"../../chunk-JUQ6YJCG.js";import"../../chunk-RE4LP46F.js";import"../../chunk-WZ7TGAAT.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-BZ5ASXOL.js";import"../../chunk-67GNT6PF.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-L5KW4HG5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
1
+ export{MediaSidePanel as default}from"../../chunk-PYNQRX56.js";import"../../chunk-7755VWRT.js";import"../../chunk-Z6BAZFSW.js";import"../../chunk-R5ZVNJLJ.js";import"../../chunk-P67FP7PG.js";import"../../chunk-AELNNAFM.js";import"../../chunk-BXZ6WLHC.js";import"../../chunk-EOJNJCMJ.js";import"../../chunk-ZFDCDJNZ.js";import"../../chunk-ZNS7727Y.js";import"../../chunk-3EDSDPIP.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-KTVH2ZRL.js";import"../../chunk-D2BCHTQR.js";import"../../chunk-6DJHRLCU.js";import"../../chunk-ZJEBF4NB.js";import"../../chunk-JUQ6YJCG.js";import"../../chunk-RE4LP46F.js";import"../../chunk-WZ7TGAAT.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-EWVJSRRY.js";import"../../chunk-P6O363EE.js";import"../../chunk-FPOKPNO4.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-BZ5ASXOL.js";import"../../chunk-67GNT6PF.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-L5KW4HG5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
@@ -1,14 +1,28 @@
1
1
  import * as react from 'react';
2
- import { N as NodeClipboard, a as NodeOps } from '../../useNodeOps-BF0fQsif.js';
3
2
  import { E as EaselContextMenuItem } from '../../types-Djdq6Xkd.js';
3
+ import { N as NodeClipboard, a as NodeOps } from '../../useNodeOps-BF0fQsif.js';
4
4
  import { StyleSnapshot } from '../../style-clipboard/index.js';
5
5
  import { C as CanvasTarget } from '../../watch-BTYOJpQU.js';
6
6
  import { AddTarget } from '../lib/puck/add-target-types.js';
7
+ import { EaselSession } from '../lib/session.js';
7
8
  import '../../types-41704JE4.js';
8
9
  import '../../plan-DChbUXdS.js';
9
10
  import '../../words-CnnHb9jo.js';
10
11
  import '../lib/puck/block-choice.js';
11
12
  import '../lib/puck/slot-section-spec.js';
13
+ import '../../blocks/index.js';
14
+ import '../../types-E3HrTPg2.js';
15
+ import '../../data/index.js';
16
+ import '../../resolve-D68pb3Bx.js';
17
+ import '../lib/backend-error.js';
18
+ import '../../edit-lock/index.js';
19
+ import '../lib/host-chrome.js';
20
+ import '../lib/links/link-filters.js';
21
+ import '../../LinkPicker-W2Rtxetz.js';
22
+ import '../lib/document-contract.js';
23
+ import '../lib/document-hooks.js';
24
+ import '../lib/section-template-types.js';
25
+ import '../lib/puck/content-tree.js';
12
26
 
13
27
  /**
14
28
  * Where the menu is open, and WHAT it was opened on.
@@ -145,6 +159,19 @@ type NodeMenuHost = {
145
159
  * cannot be made twice cannot be cut either.
146
160
  */
147
161
  duplicateBlocked: (node: NodeLike) => string | null;
162
+ /**
163
+ * What the node's BLOCK allows (0.103.0): its config's
164
+ * `permissions.duplicate` and `permissions.delete`, each true unless the
165
+ * config says false — the chrome's `blockNodeActions`, the answer the tree's
166
+ * trash and the inspector head read too. A block that may not be duplicated
167
+ * offers no Duplicate and no Copy (a copy pasted is a second one); one that
168
+ * may not be deleted offers no Delete; and Cut, which is both, needs both.
169
+ * Optional: a host without it allows both, as the menu always did.
170
+ */
171
+ permits?: (node: NodeLike) => {
172
+ duplicate: boolean;
173
+ delete: boolean;
174
+ };
148
175
  /**
149
176
  * What may be added inside a node of this type, or null for one that takes
150
177
  * no children — the ONE add lookup, the host's (its block rules), for the
@@ -299,6 +326,24 @@ declare function ancestorChain(host: NodeMenuHost, target: {
299
326
  * destination.
300
327
  */
301
328
  declare const EASEL_NODE_CLIPBOARD: NodeClipboard;
329
+ /**
330
+ * THE CLIPBOARD ONE EDITOR'S SESSION HOLDS A BLOCK ON (0.103.0) — scoped per
331
+ * block registry, so a block is only ever pasted among editors that know it.
332
+ *
333
+ * The page's own editor (a session that claims the page, every session before
334
+ * 0.103.0 and the website's still) holds {@link EASEL_NODE_CLIPBOARD}, the
335
+ * tab's, exactly as before. An editor mounted beside it (`claimsPage: false`:
336
+ * the campaign designer in the admin, beside the website editor) holds the
337
+ * clipboard of its own registry: one for every editor of that registry, so a
338
+ * block copied in one campaign pastes in the next, and never the website's,
339
+ * so a website section held there can never be pasted into an email, nor an
340
+ * email block into a page. A session beside the page's with no registry holds
341
+ * one of its own.
342
+ */
343
+ declare function nodeClipboardOf(session: EaselSession): NodeClipboard;
344
+ /** The block clipboard of the editor this renders in ({@link nodeClipboardOf}
345
+ * its session). */
346
+ declare function useNodeClipboard(): NodeClipboard;
302
347
  /**
303
348
  * Build the rows for one node.
304
349
  *
@@ -361,4 +406,4 @@ declare function useNodeContextMenu(host: NodeMenuHost, canvas: CanvasTarget | n
361
406
  closeMenu: () => void;
362
407
  };
363
408
 
364
- export { type ChainRung, EASEL_NODE_CLIPBOARD, type NodeMenuHost, type NodeMenuTarget, ancestorChain, nodeMenuItems, pageMenuItems, textMenuItems, useNodeContextMenu };
409
+ export { type ChainRung, EASEL_NODE_CLIPBOARD, type NodeMenuHost, type NodeMenuTarget, ancestorChain, nodeClipboardOf, nodeMenuItems, pageMenuItems, textMenuItems, useNodeClipboard, useNodeContextMenu };
@@ -1 +1 @@
1
- export{EASEL_NODE_CLIPBOARD,ancestorChain,nodeMenuItems,pageMenuItems,textMenuItems,useNodeContextMenu}from"../../chunk-F6CCTEIX.js";import"../../chunk-FUDHI5I4.js";import"../../chunk-57DJOKXT.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-RW4XBUUW.js";import"../../chunk-KTVH2ZRL.js";import"../../chunk-2LK54I4E.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-D2BCHTQR.js";import"../../chunk-PAELDYYS.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-L5KW4HG5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
1
+ export{EASEL_NODE_CLIPBOARD,ancestorChain,nodeClipboardOf,nodeMenuItems,pageMenuItems,textMenuItems,useNodeClipboard,useNodeContextMenu}from"../../chunk-HMWJB3HF.js";import"../../chunk-7GVLSNFW.js";import"../../chunk-57DJOKXT.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-RW4XBUUW.js";import"../../chunk-KTVH2ZRL.js";import"../../chunk-2LK54I4E.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-D2BCHTQR.js";import"../../chunk-PAELDYYS.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-L5KW4HG5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
@@ -1 +1 @@
1
- export{PageEditGuardNotices as default}from"../../chunk-UVWVYMMZ.js";import"../../chunk-FT35FX7D.js";import"../../chunk-7MU3RJ6S.js";import"../../chunk-A7ZJII7O.js";import"../../chunk-6FY3PZS3.js";import"../../chunk-AKZWUV5Z.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-OYX47SL7.js";import"../../chunk-HMX55DYT.js";import"../../chunk-Q3SQBNJB.js";import"../../chunk-3WSPDAK2.js";import"../../chunk-R5ZVNJLJ.js";import"../../chunk-6TZTKAB5.js";import"../../chunk-AJBJ74ME.js";import"../../chunk-KDYIMJTZ.js";import"../../chunk-ZZ7VLIHQ.js";import"../../chunk-BDTITTMW.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-6DJHRLCU.js";import"../../chunk-ZJEBF4NB.js";import"../../chunk-JUQ6YJCG.js";import"../../chunk-RE4LP46F.js";import"../../chunk-WZ7TGAAT.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-BZ5ASXOL.js";import"../../chunk-L5KW4HG5.js";
1
+ export{PageEditGuardNotices as default}from"../../chunk-LXEOVUAV.js";import"../../chunk-LRTIMWZG.js";import"../../chunk-QDEZQ5A6.js";import"../../chunk-ERR437B5.js";import"../../chunk-UB7JVPK4.js";import"../../chunk-ZOJEFIP4.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-OYX47SL7.js";import"../../chunk-4EUWOGZF.js";import"../../chunk-KVNRNDUC.js";import"../../chunk-3WSPDAK2.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-Z6BAZFSW.js";import"../../chunk-R5ZVNJLJ.js";import"../../chunk-LEGAPYPC.js";import"../../chunk-BDTITTMW.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-6DJHRLCU.js";import"../../chunk-ZJEBF4NB.js";import"../../chunk-JUQ6YJCG.js";import"../../chunk-RE4LP46F.js";import"../../chunk-WZ7TGAAT.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-BZ5ASXOL.js";import"../../chunk-L5KW4HG5.js";
@@ -1 +1 @@
1
- export{ScreenChrome as default}from"../../chunk-F2FPZIZV.js";import"../../chunk-26OOWIJJ.js";import"../../chunk-PP44LCJM.js";import"../../chunk-FGNR22NY.js";import"../../chunk-AKFJK65Z.js";import"../../chunk-PWZOS45R.js";import"../../chunk-7F52SZOI.js";import"../../chunk-R2HLPNQF.js";import"../../chunk-ZE7I3PLX.js";import"../../chunk-4ES5JGGX.js";import"../../chunk-IQ5TA7AM.js";import"../../chunk-HWW4XJOH.js";import"../../chunk-DUVRZ456.js";import"../../chunk-6W7WLPZH.js";import"../../chunk-OM67AJQC.js";import"../../chunk-KCBEE2MC.js";import"../../chunk-5MZ3RNQQ.js";import"../../chunk-SERF2FAU.js";import"../../chunk-E7GGVILG.js";import"../../chunk-VV5ADNBR.js";import"../../chunk-IYT6NN2J.js";import"../../chunk-UVWVYMMZ.js";import"../../chunk-BSPCSC45.js";import"../../chunk-I54UCYOU.js";import"../../chunk-GOTN2KY4.js";import"../../chunk-R5L2E7JX.js";import"../../chunk-FT35FX7D.js";import"../../chunk-7MU3RJ6S.js";import"../../chunk-A7ZJII7O.js";import"../../chunk-6FY3PZS3.js";import"../../chunk-AKZWUV5Z.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-OYX47SL7.js";import"../../chunk-HMX55DYT.js";import"../../chunk-Q3SQBNJB.js";import"../../chunk-3WSPDAK2.js";import"../../chunk-R5ZVNJLJ.js";import"../../chunk-3QVB4AG2.js";import"../../chunk-7RNTMJER.js";import"../../chunk-5ZBY24K7.js";import"../../chunk-GENAF3P6.js";import"../../chunk-J4RAY75C.js";import"../../chunk-IWAPPEL4.js";import"../../chunk-KQMML6JM.js";import"../../chunk-6TZTKAB5.js";import"../../chunk-AJBJ74ME.js";import"../../chunk-KDYIMJTZ.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-TEZ6V6PA.js";import"../../chunk-ZZ7VLIHQ.js";import"../../chunk-5464H65G.js";import"../../chunk-F6CCTEIX.js";import"../../chunk-FUDHI5I4.js";import"../../chunk-57DJOKXT.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-P67FP7PG.js";import"../../chunk-AELNNAFM.js";import"../../chunk-BXZ6WLHC.js";import"../../chunk-EOJNJCMJ.js";import"../../chunk-ZFDCDJNZ.js";import"../../chunk-ZNS7727Y.js";import"../../chunk-3EDSDPIP.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-RW4XBUUW.js";import"../../chunk-KTVH2ZRL.js";import"../../chunk-2LK54I4E.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-D2BCHTQR.js";import"../../chunk-OWBO4WKA.js";import"../../chunk-BDTITTMW.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-EWVJSRRY.js";import"../../chunk-P6O363EE.js";import"../../chunk-FPOKPNO4.js";import"../../chunk-6DJHRLCU.js";import"../../chunk-ZJEBF4NB.js";import"../../chunk-JUQ6YJCG.js";import"../../chunk-RE4LP46F.js";import"../../chunk-WZ7TGAAT.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-BZ5ASXOL.js";import"../../chunk-TTJ54QGG.js";import"../../chunk-O2NLQBFX.js";import"../../chunk-67GNT6PF.js";import"../../chunk-PAELDYYS.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-L5KW4HG5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
1
+ export{ScreenChrome as default}from"../../chunk-5D2XAZKH.js";import"../../chunk-26OOWIJJ.js";import"../../chunk-Q2HPBMG5.js";import"../../chunk-FGNR22NY.js";import"../../chunk-ZE7I3PLX.js";import"../../chunk-R2MUSGPS.js";import"../../chunk-PWZOS45R.js";import"../../chunk-7F52SZOI.js";import"../../chunk-R2HLPNQF.js";import"../../chunk-QOPY2LQM.js";import"../../chunk-4ES5JGGX.js";import"../../chunk-IQ5TA7AM.js";import"../../chunk-DUVRZ456.js";import"../../chunk-6W7WLPZH.js";import"../../chunk-OM67AJQC.js";import"../../chunk-KCBEE2MC.js";import"../../chunk-5MZ3RNQQ.js";import"../../chunk-SERF2FAU.js";import"../../chunk-TTENU2HX.js";import"../../chunk-A2LFBOUF.js";import"../../chunk-IYT6NN2J.js";import"../../chunk-HMWJB3HF.js";import"../../chunk-7GVLSNFW.js";import"../../chunk-LXEOVUAV.js";import"../../chunk-BSPCSC45.js";import"../../chunk-I54UCYOU.js";import"../../chunk-GOTN2KY4.js";import"../../chunk-R5L2E7JX.js";import"../../chunk-LRTIMWZG.js";import"../../chunk-QDEZQ5A6.js";import"../../chunk-ERR437B5.js";import"../../chunk-UB7JVPK4.js";import"../../chunk-ZOJEFIP4.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-OYX47SL7.js";import"../../chunk-4EUWOGZF.js";import"../../chunk-KVNRNDUC.js";import"../../chunk-3WSPDAK2.js";import"../../chunk-57DJOKXT.js";import"../../chunk-3QVB4AG2.js";import"../../chunk-D6324C3E.js";import"../../chunk-5ZBY24K7.js";import"../../chunk-GENAF3P6.js";import"../../chunk-BVN33R76.js";import"../../chunk-IWAPPEL4.js";import"../../chunk-KQMML6JM.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-PYNQRX56.js";import"../../chunk-7755VWRT.js";import"../../chunk-Z6BAZFSW.js";import"../../chunk-R5ZVNJLJ.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-LEGAPYPC.js";import"../../chunk-P67FP7PG.js";import"../../chunk-AELNNAFM.js";import"../../chunk-BXZ6WLHC.js";import"../../chunk-EOJNJCMJ.js";import"../../chunk-ZFDCDJNZ.js";import"../../chunk-ZNS7727Y.js";import"../../chunk-3EDSDPIP.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-RW4XBUUW.js";import"../../chunk-KTVH2ZRL.js";import"../../chunk-2LK54I4E.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-D2BCHTQR.js";import"../../chunk-OWBO4WKA.js";import"../../chunk-BDTITTMW.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-6DJHRLCU.js";import"../../chunk-ZJEBF4NB.js";import"../../chunk-JUQ6YJCG.js";import"../../chunk-RE4LP46F.js";import"../../chunk-WZ7TGAAT.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-EWVJSRRY.js";import"../../chunk-P6O363EE.js";import"../../chunk-FPOKPNO4.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-BZ5ASXOL.js";import"../../chunk-TTJ54QGG.js";import"../../chunk-O2NLQBFX.js";import"../../chunk-67GNT6PF.js";import"../../chunk-PAELDYYS.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-L5KW4HG5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
@@ -1,6 +1,6 @@
1
1
  import 'react';
2
2
  import '../../blocks/index.js';
3
- export { k as ScreenDocumentContext, l as ScreenDocumentProvider, m as ScreenDocumentValue, j as ScreenTarget, n as useScreenDocument } from '../../host-B-byaQxg.js';
3
+ export { j as AnyScreenTarget, k as DocumentTarget, l as ScreenDocumentContext, m as ScreenDocumentProvider, n as ScreenDocumentValue, o as ScreenTarget, p as useScreenDocument } from '../../host-DJ8Gzsx7.js';
4
4
  import '../lib/document-contract.js';
5
5
  export { SaveStatus } from '../lib/document-switch.js';
6
6
  import '../lib/admin-bridge.js';
@@ -12,6 +12,7 @@ import '../../types-41704JE4.js';
12
12
  import '../../resolve-D68pb3Bx.js';
13
13
  import '../../plan-DChbUXdS.js';
14
14
  import '../lib/session.js';
15
+ import '../lib/backend-error.js';
15
16
  import '../lib/host-chrome.js';
16
17
  import '../lib/links/link-filters.js';
17
18
  import '../../LinkPicker-W2Rtxetz.js';
@@ -1 +1 @@
1
- export{ScreenDocumentContext,ScreenDocumentProvider,useScreenDocument}from"../../chunk-FT35FX7D.js";import"../../chunk-7MU3RJ6S.js";import"../../chunk-A7ZJII7O.js";import"../../chunk-6FY3PZS3.js";import"../../chunk-AKZWUV5Z.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-OYX47SL7.js";import"../../chunk-HMX55DYT.js";import"../../chunk-Q3SQBNJB.js";import"../../chunk-3WSPDAK2.js";import"../../chunk-R5ZVNJLJ.js";import"../../chunk-6TZTKAB5.js";import"../../chunk-AJBJ74ME.js";import"../../chunk-KDYIMJTZ.js";import"../../chunk-ZZ7VLIHQ.js";import"../../chunk-BDTITTMW.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-JUQ6YJCG.js";import"../../chunk-RE4LP46F.js";
1
+ export{ScreenDocumentContext,ScreenDocumentProvider,useScreenDocument}from"../../chunk-LRTIMWZG.js";import"../../chunk-QDEZQ5A6.js";import"../../chunk-ERR437B5.js";import"../../chunk-UB7JVPK4.js";import"../../chunk-ZOJEFIP4.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-OYX47SL7.js";import"../../chunk-4EUWOGZF.js";import"../../chunk-KVNRNDUC.js";import"../../chunk-3WSPDAK2.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-Z6BAZFSW.js";import"../../chunk-R5ZVNJLJ.js";import"../../chunk-LEGAPYPC.js";import"../../chunk-BDTITTMW.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-JUQ6YJCG.js";import"../../chunk-RE4LP46F.js";import"../../chunk-MFIRYGHW.js";
@@ -1,6 +1,6 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode } from 'react';
3
- import { j as ScreenTarget, a as DocumentAddressing } from '../../host-B-byaQxg.js';
3
+ import { j as AnyScreenTarget, A as AnyDocumentAddressing } from '../../host-DJ8Gzsx7.js';
4
4
  import { ScreenParts } from '../lib/screen-parts.js';
5
5
  import '../../blocks/index.js';
6
6
  import '../../types-E3HrTPg2.js';
@@ -10,6 +10,8 @@ import '../../resolve-D68pb3Bx.js';
10
10
  import '../../plan-DChbUXdS.js';
11
11
  import '../lib/document-contract.js';
12
12
  import '../lib/session.js';
13
+ import '../lib/backend-error.js';
14
+ import '../../edit-lock/index.js';
13
15
  import '../lib/host-chrome.js';
14
16
  import '../lib/links/link-filters.js';
15
17
  import '../../LinkPicker-W2Rtxetz.js';
@@ -18,12 +20,13 @@ import '../lib/section-template-types.js';
18
20
  import '../lib/puck/content-tree.js';
19
21
  import '../lib/document-switch.js';
20
22
  import '../../engine-DBxp_v6B.js';
21
- import '../../edit-lock/index.js';
22
23
  import '../lib/admin-bridge.js';
23
24
  import '../../types-CqY85foL.js';
24
25
  import '../../types-DWS-s9z-.js';
25
26
  import '../../wordFit-D4S36PvB.js';
26
27
  import '../../panelWidths-D9hTLR25.js';
28
+ import '../../types-DJDBtdB2.js';
29
+ import '../../words-DgHcY5qB.js';
27
30
  import '../lib/puck/add-target-types.js';
28
31
  import '../lib/puck/block-choice.js';
29
32
  import '../lib/puck/slot-section-spec.js';
@@ -40,9 +43,10 @@ import '../lib/puck/slot-section-spec.js';
40
43
  * the provider holds one document that nothing stores.
41
44
  */
42
45
  declare function ScreenMount({ target, addressing, onHostMessage, children, }: {
43
- target: ScreenTarget;
44
- /** ONE object for the life of the mount. */
45
- addressing?: DocumentAddressing;
46
+ /** A website's page or template, or a host's own document (0.103.0). */
47
+ target: AnyScreenTarget;
48
+ /** ONE object for the life of the mount, for the kind of target `target` is. */
49
+ addressing?: AnyDocumentAddressing;
46
50
  /** The layer's own host messages (the website's: lib/website-host-inbound). */
47
51
  onHostMessage?: (raw: unknown) => boolean;
48
52
  children?: ReactNode;
@@ -1 +1 @@
1
- export{DocumentScreen,ScreenMount as default}from"../../chunk-3U4GP5VA.js";import"../../chunk-GXQCZJOP.js";import"../../chunk-F2FPZIZV.js";import"../../chunk-26OOWIJJ.js";import"../../chunk-PP44LCJM.js";import"../../chunk-FGNR22NY.js";import"../../chunk-AKFJK65Z.js";import"../../chunk-PWZOS45R.js";import"../../chunk-7F52SZOI.js";import"../../chunk-R2HLPNQF.js";import"../../chunk-ZE7I3PLX.js";import"../../chunk-4ES5JGGX.js";import"../../chunk-IQ5TA7AM.js";import"../../chunk-HWW4XJOH.js";import"../../chunk-DUVRZ456.js";import"../../chunk-6W7WLPZH.js";import"../../chunk-OM67AJQC.js";import"../../chunk-KCBEE2MC.js";import"../../chunk-5MZ3RNQQ.js";import"../../chunk-SERF2FAU.js";import"../../chunk-E7GGVILG.js";import"../../chunk-VV5ADNBR.js";import"../../chunk-IYT6NN2J.js";import"../../chunk-UVWVYMMZ.js";import"../../chunk-BSPCSC45.js";import"../../chunk-I54UCYOU.js";import"../../chunk-GOTN2KY4.js";import"../../chunk-R5L2E7JX.js";import"../../chunk-FT35FX7D.js";import"../../chunk-7MU3RJ6S.js";import"../../chunk-A7ZJII7O.js";import"../../chunk-6FY3PZS3.js";import"../../chunk-AKZWUV5Z.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-OYX47SL7.js";import"../../chunk-HMX55DYT.js";import"../../chunk-Q3SQBNJB.js";import"../../chunk-3WSPDAK2.js";import"../../chunk-VLSTGOVD.js";import"../../chunk-R5ZVNJLJ.js";import"../../chunk-3QVB4AG2.js";import"../../chunk-7RNTMJER.js";import"../../chunk-5ZBY24K7.js";import"../../chunk-GENAF3P6.js";import"../../chunk-J4RAY75C.js";import"../../chunk-IWAPPEL4.js";import"../../chunk-KQMML6JM.js";import"../../chunk-6TZTKAB5.js";import"../../chunk-AJBJ74ME.js";import"../../chunk-KDYIMJTZ.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-TEZ6V6PA.js";import"../../chunk-ZZ7VLIHQ.js";import"../../chunk-5464H65G.js";import"../../chunk-F6CCTEIX.js";import"../../chunk-FUDHI5I4.js";import"../../chunk-57DJOKXT.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-P67FP7PG.js";import"../../chunk-AELNNAFM.js";import"../../chunk-BXZ6WLHC.js";import"../../chunk-EOJNJCMJ.js";import"../../chunk-ZFDCDJNZ.js";import"../../chunk-ZNS7727Y.js";import"../../chunk-3EDSDPIP.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-RW4XBUUW.js";import"../../chunk-KTVH2ZRL.js";import"../../chunk-2LK54I4E.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-D2BCHTQR.js";import"../../chunk-OWBO4WKA.js";import"../../chunk-BDTITTMW.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-EWVJSRRY.js";import"../../chunk-P6O363EE.js";import"../../chunk-FPOKPNO4.js";import"../../chunk-6DJHRLCU.js";import"../../chunk-ZJEBF4NB.js";import"../../chunk-JUQ6YJCG.js";import"../../chunk-RE4LP46F.js";import"../../chunk-WZ7TGAAT.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-BZ5ASXOL.js";import"../../chunk-TTJ54QGG.js";import"../../chunk-O2NLQBFX.js";import"../../chunk-67GNT6PF.js";import"../../chunk-PAELDYYS.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-L5KW4HG5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
1
+ export{DocumentScreen,ScreenMount as default}from"../../chunk-BBRY7KI4.js";import"../../chunk-GXQCZJOP.js";import"../../chunk-YODRYAZX.js";import"../../chunk-5D2XAZKH.js";import"../../chunk-26OOWIJJ.js";import"../../chunk-Q2HPBMG5.js";import"../../chunk-FGNR22NY.js";import"../../chunk-ZE7I3PLX.js";import"../../chunk-R2MUSGPS.js";import"../../chunk-PWZOS45R.js";import"../../chunk-7F52SZOI.js";import"../../chunk-R2HLPNQF.js";import"../../chunk-QOPY2LQM.js";import"../../chunk-4ES5JGGX.js";import"../../chunk-IQ5TA7AM.js";import"../../chunk-DUVRZ456.js";import"../../chunk-6W7WLPZH.js";import"../../chunk-OM67AJQC.js";import"../../chunk-KCBEE2MC.js";import"../../chunk-5MZ3RNQQ.js";import"../../chunk-SERF2FAU.js";import"../../chunk-TTENU2HX.js";import"../../chunk-A2LFBOUF.js";import"../../chunk-IYT6NN2J.js";import"../../chunk-HMWJB3HF.js";import"../../chunk-7GVLSNFW.js";import"../../chunk-LXEOVUAV.js";import"../../chunk-BSPCSC45.js";import"../../chunk-I54UCYOU.js";import"../../chunk-GOTN2KY4.js";import"../../chunk-R5L2E7JX.js";import"../../chunk-LRTIMWZG.js";import"../../chunk-QDEZQ5A6.js";import"../../chunk-ERR437B5.js";import"../../chunk-UB7JVPK4.js";import"../../chunk-ZOJEFIP4.js";import"../../chunk-RLBXE4EU.js";import"../../chunk-OYX47SL7.js";import"../../chunk-4EUWOGZF.js";import"../../chunk-KVNRNDUC.js";import"../../chunk-3WSPDAK2.js";import"../../chunk-57DJOKXT.js";import"../../chunk-3QVB4AG2.js";import"../../chunk-D6324C3E.js";import"../../chunk-5ZBY24K7.js";import"../../chunk-GENAF3P6.js";import"../../chunk-BVN33R76.js";import"../../chunk-IWAPPEL4.js";import"../../chunk-KQMML6JM.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-O7Q4DDJT.js";import"../../chunk-RSCMJIWS.js";import"../../chunk-HQ4VVRIC.js";import"../../chunk-PYNQRX56.js";import"../../chunk-7755VWRT.js";import"../../chunk-Z6BAZFSW.js";import"../../chunk-R5ZVNJLJ.js";import"../../chunk-6WY6ZXJG.js";import"../../chunk-LEGAPYPC.js";import"../../chunk-P67FP7PG.js";import"../../chunk-AELNNAFM.js";import"../../chunk-BXZ6WLHC.js";import"../../chunk-EOJNJCMJ.js";import"../../chunk-ZFDCDJNZ.js";import"../../chunk-ZNS7727Y.js";import"../../chunk-3EDSDPIP.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-RW4XBUUW.js";import"../../chunk-KTVH2ZRL.js";import"../../chunk-2LK54I4E.js";import"../../chunk-WK3AFPXY.js";import"../../chunk-D2BCHTQR.js";import"../../chunk-OWBO4WKA.js";import"../../chunk-BDTITTMW.js";import"../../chunk-H6DDIBQ4.js";import"../../chunk-6DJHRLCU.js";import"../../chunk-ZJEBF4NB.js";import"../../chunk-JUQ6YJCG.js";import"../../chunk-RE4LP46F.js";import"../../chunk-WZ7TGAAT.js";import"../../chunk-2OAZYSWJ.js";import"../../chunk-EWVJSRRY.js";import"../../chunk-P6O363EE.js";import"../../chunk-FPOKPNO4.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-BZ5ASXOL.js";import"../../chunk-TTJ54QGG.js";import"../../chunk-O2NLQBFX.js";import"../../chunk-67GNT6PF.js";import"../../chunk-PAELDYYS.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-L5KW4HG5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
@@ -12,10 +12,13 @@ import '../../types-DWS-s9z-.js';
12
12
  import '../../wordFit-D4S36PvB.js';
13
13
  import '../../edit-lock/index.js';
14
14
  import '../../panelWidths-D9hTLR25.js';
15
+ import '../../types-DJDBtdB2.js';
16
+ import '../../words-DgHcY5qB.js';
15
17
  import '../lib/host-chrome.js';
16
18
  import '../lib/links/link-filters.js';
17
19
  import '../../LinkPicker-W2Rtxetz.js';
18
20
  import '../lib/session.js';
21
+ import '../lib/backend-error.js';
19
22
  import '../lib/document-contract.js';
20
23
  import '../lib/document-hooks.js';
21
24
  import '../lib/section-template-types.js';
@@ -1 +1 @@
1
- export{ScreenStoreProvider as default}from"../../chunk-VLSTGOVD.js";import"../../chunk-R5ZVNJLJ.js";import"../../chunk-5464H65G.js";import"../../chunk-P67FP7PG.js";import"../../chunk-AELNNAFM.js";import"../../chunk-BXZ6WLHC.js";import"../../chunk-EOJNJCMJ.js";import"../../chunk-ZFDCDJNZ.js";import"../../chunk-ZNS7727Y.js";import"../../chunk-3EDSDPIP.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-KTVH2ZRL.js";import"../../chunk-D2BCHTQR.js";import"../../chunk-EWVJSRRY.js";import"../../chunk-P6O363EE.js";import"../../chunk-FPOKPNO4.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-BZ5ASXOL.js";import"../../chunk-67GNT6PF.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-L5KW4HG5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";
1
+ export{ScreenStoreProvider as default}from"../../chunk-YODRYAZX.js";import"../../chunk-7755VWRT.js";import"../../chunk-Z6BAZFSW.js";import"../../chunk-R5ZVNJLJ.js";import"../../chunk-P67FP7PG.js";import"../../chunk-AELNNAFM.js";import"../../chunk-BXZ6WLHC.js";import"../../chunk-EOJNJCMJ.js";import"../../chunk-ZFDCDJNZ.js";import"../../chunk-ZNS7727Y.js";import"../../chunk-3EDSDPIP.js";import"../../chunk-QTLAVDJE.js";import"../../chunk-YRLPFZW3.js";import"../../chunk-KTVH2ZRL.js";import"../../chunk-D2BCHTQR.js";import"../../chunk-EWVJSRRY.js";import"../../chunk-P6O363EE.js";import"../../chunk-FPOKPNO4.js";import"../../chunk-MFIRYGHW.js";import"../../chunk-BZ5ASXOL.js";import"../../chunk-67GNT6PF.js";import"../../chunk-ZNCEOSXO.js";import"../../chunk-L5KW4HG5.js";import"../../chunk-KRXQM65X.js";import"../../chunk-NKB3KVAB.js";