efficient-easel 21.0.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.
Files changed (205) hide show
  1. package/README.md +28 -23
  2. package/dist/{CanvasDragLayer-Cd1o0HQf.d.ts → CanvasDragLayer-B6Yn9S8T.d.ts} +4 -4
  3. package/dist/{ScreenDocumentContext-CFJeqqKk.d.ts → ScreenDocumentContext-BIK3uWtF.d.ts} +8 -4
  4. package/dist/blocks/index.d.ts +17 -17
  5. package/dist/{buckets-Tj-nkBpg.d.ts → buckets-_MGDYJlb.d.ts} +2 -2
  6. package/dist/canvas/index.d.ts +9 -9
  7. package/dist/canvas/index.js +1 -1
  8. package/dist/chunk-467WWV4I.js +1 -0
  9. package/dist/chunk-4LGROS5L.js +1 -0
  10. package/dist/{chunk-2GVCAIPX.js → chunk-BDSLF5BR.js} +1 -1
  11. package/dist/{chunk-U66YKDAR.js → chunk-BIK3AO2V.js} +1 -1
  12. package/dist/chunk-BTDI7JAA.js +2 -0
  13. package/dist/chunk-CUZQ2HMA.js +18 -0
  14. package/dist/chunk-DDH2DYQP.js +1 -0
  15. package/dist/chunk-GHBK7BKL.js +1 -0
  16. package/dist/{chunk-FOHHXSOL.js → chunk-IROEWITG.js} +1 -1
  17. package/dist/chunk-IYYE7VJN.js +65 -0
  18. package/dist/chunk-KN2TIXUT.js +1 -0
  19. package/dist/{chunk-MSGZ56QL.js → chunk-KWLHKKZO.js} +1 -1
  20. package/dist/{chunk-43AEUUNQ.js → chunk-N3MJOHAG.js} +1 -1
  21. package/dist/{chunk-BVN33R76.js → chunk-N7E6264U.js} +1 -1
  22. package/dist/{chunk-66JNVRQM.js → chunk-RY5AWQ63.js} +1 -1
  23. package/dist/chunk-SJMS247S.js +5 -0
  24. package/dist/chunk-SNF5764Q.js +1 -0
  25. package/dist/chunk-SSRYU3YG.js +1 -0
  26. package/dist/{chunk-R4QJ6DC5.js → chunk-SWBADIQT.js} +1 -1
  27. package/dist/{chunk-GOTN2KY4.js → chunk-TIAWIOGD.js} +1 -1
  28. package/dist/{chunk-HGCGIRVA.js → chunk-TLN5ZT76.js} +1 -1
  29. package/dist/chunk-TXR7GC5A.js +8 -0
  30. package/dist/{chunk-FGNR22NY.js → chunk-UMBNBCL4.js} +1 -1
  31. package/dist/chunk-WJSEWAWK.js +15 -0
  32. package/dist/{chunk-V2ULLALL.js → chunk-XWKQP6AE.js} +3 -3
  33. package/dist/{chunk-EZTP6E2M.js → chunk-YC6KLSW3.js} +1 -1
  34. package/dist/{chunk-O7Q4DDJT.js → chunk-YM4UEGBV.js} +1 -1
  35. package/dist/{chunk-N2RISV46.js → chunk-ZOSEBPAI.js} +1 -1
  36. package/dist/copy/index.d.ts +2 -2
  37. package/dist/data/index.d.ts +21 -21
  38. package/dist/drag/index.d.ts +5 -5
  39. package/dist/drag/index.js +1 -1
  40. package/dist/draw/client.d.ts +1 -1
  41. package/dist/draw/client.js +1 -1
  42. package/dist/draw/index.d.ts +8 -8
  43. package/dist/draw/index.js +1 -1
  44. package/dist/easel/easel.css +5 -5
  45. package/dist/easel/index.d.ts +57 -57
  46. package/dist/easel/index.js +1 -1
  47. package/dist/edit-lock/index.d.ts +5 -5
  48. package/dist/fields/fields.css +1 -1
  49. package/dist/fields/index.d.ts +17 -17
  50. package/dist/node-ops/index.d.ts +3 -3
  51. package/dist/panel/index.d.ts +4 -4
  52. package/dist/panel/panel.css +1 -1
  53. package/dist/{plan-CZS902DV.d.ts → plan-CRUh2kVK.d.ts} +5 -5
  54. package/dist/render/index.d.ts +19 -19
  55. package/dist/render/index.js +5 -5
  56. package/dist/{repeat-Czi-6zPX.d.ts → repeat-D65bJS8d.d.ts} +1 -1
  57. package/dist/{resolve-D68pb3Bx.d.ts → resolve-AJ6WF4EL.d.ts} +5 -5
  58. package/dist/screen/components/AddBlockRow.d.ts +1 -1
  59. package/dist/screen/components/AddBlockRow.js +1 -1
  60. package/dist/screen/components/AddSidePanel.d.ts +4 -4
  61. package/dist/screen/components/AddSidePanel.js +1 -1
  62. package/dist/screen/components/NodeContextMenu.d.ts +21 -21
  63. package/dist/screen/components/NodeContextMenu.js +1 -1
  64. package/dist/screen/components/PageEditGuardNotices.js +1 -1
  65. package/dist/screen/components/PreviewDeviceContext.d.ts +1 -1
  66. package/dist/screen/components/PreviewPartsContext.d.ts +4 -4
  67. package/dist/screen/components/PreviewPartsContext.js +1 -1
  68. package/dist/screen/components/SaveControls.d.ts +12 -12
  69. package/dist/screen/components/ScreenChrome.js +1 -1
  70. package/dist/screen/components/ScreenDocumentContext.d.ts +6 -6
  71. package/dist/screen/components/ScreenDocumentContext.js +1 -1
  72. package/dist/screen/components/ScreenMount.d.ts +12 -12
  73. package/dist/screen/components/ScreenMount.js +1 -1
  74. package/dist/screen/components/ScreenStoreProvider.d.ts +16 -16
  75. package/dist/screen/components/ScreenStoreProvider.js +1 -1
  76. package/dist/screen/components/SectionScreenShell.js +17 -17
  77. package/dist/screen/components/SlotChildActionsContext.d.ts +1 -1
  78. package/dist/screen/components/usePartBridge.d.ts +14 -14
  79. package/dist/screen/components/usePartBridge.js +1 -1
  80. package/dist/screen/index.d.ts +13 -13
  81. package/dist/screen/index.js +1 -1
  82. package/dist/screen/lib/admin-bridge.d.ts +5 -5
  83. package/dist/screen/lib/admin-bridge.js +1 -1
  84. package/dist/screen/lib/content/view-tiers.d.ts +1 -1
  85. package/dist/screen/lib/{puck → document}/add-target-types.d.ts +1 -1
  86. package/dist/screen/lib/{puck → document}/block-choice.d.ts +3 -3
  87. package/dist/screen/lib/document/block-choice.js +1 -0
  88. package/dist/screen/lib/document/block-types-in.js +1 -0
  89. package/dist/screen/lib/{puck → document}/content-tree.d.ts +7 -7
  90. package/dist/screen/lib/{puck → document}/content-tree.js +1 -1
  91. package/dist/screen/lib/{puck → document}/device-fields.d.ts +8 -8
  92. package/dist/screen/lib/{puck → document}/device-fields.js +1 -1
  93. package/dist/screen/lib/{puck → document}/field-buckets.d.ts +3 -3
  94. package/dist/screen/lib/document/field-buckets.js +1 -0
  95. package/dist/screen/lib/{puck → document}/field-markers.d.ts +15 -15
  96. package/dist/screen/lib/{puck → document}/field-markers.js +1 -1
  97. package/dist/screen/lib/{puck → document}/hidable.d.ts +3 -3
  98. package/dist/screen/lib/document/hidable.js +1 -0
  99. package/dist/screen/lib/{puck → document}/palette-sections.d.ts +7 -7
  100. package/dist/screen/lib/{puck → document}/palette-sections.js +1 -1
  101. package/dist/screen/lib/{puck → document}/panel-fields.d.ts +6 -6
  102. package/dist/screen/lib/document/panel-fields.js +1 -0
  103. package/dist/screen/lib/{puck → document}/panel-no-control-mark.d.ts +5 -6
  104. package/dist/screen/lib/{puck → document}/panel-no-control-mark.js +1 -1
  105. package/dist/screen/lib/{puck → document}/part-id.d.ts +3 -3
  106. package/dist/screen/lib/document/part-id.js +1 -0
  107. package/dist/screen/lib/{puck → document}/preview-click.d.ts +1 -1
  108. package/dist/screen/lib/document/preview-click.js +1 -0
  109. package/dist/screen/lib/{puck → document}/preview-dom.js +1 -1
  110. package/dist/screen/lib/{puck → document}/preview-events.d.ts +4 -4
  111. package/dist/screen/lib/document/preview-events.js +1 -0
  112. package/dist/screen/lib/{puck → document}/preview-selection-context.d.ts +2 -2
  113. package/dist/screen/lib/{puck → document}/preview-selection-context.js +1 -1
  114. package/dist/screen/lib/{puck → document}/section-doc.d.ts +5 -5
  115. package/dist/screen/lib/{puck → document}/section-doc.js +1 -1
  116. package/dist/screen/lib/{puck → document}/slot-child-name.d.ts +2 -2
  117. package/dist/screen/lib/document/slot-child-name.js +1 -0
  118. package/dist/screen/lib/document/slot-heal.js +1 -0
  119. package/dist/screen/lib/{puck → document}/slot-section-spec.d.ts +3 -3
  120. package/dist/screen/lib/{puck → document}/style-clipboard.d.ts +9 -9
  121. package/dist/screen/lib/document/style-clipboard.js +1 -0
  122. package/dist/screen/lib/{puck → document}/text-control-kinds.d.ts +4 -4
  123. package/dist/screen/lib/{puck → document}/text-control-kinds.js +1 -1
  124. package/dist/screen/lib/{puck → document}/tree-reveal.d.ts +6 -6
  125. package/dist/screen/lib/{puck → document}/tree-reveal.js +1 -1
  126. package/dist/screen/lib/{puck → document}/use-section-ops.d.ts +6 -6
  127. package/dist/screen/lib/document/use-section-ops.js +1 -0
  128. package/dist/screen/lib/document-addressing.d.ts +6 -6
  129. package/dist/screen/lib/document-hooks.d.ts +4 -4
  130. package/dist/screen/lib/document-switch.d.ts +1 -1
  131. package/dist/screen/lib/host.d.ts +6 -6
  132. package/dist/screen/lib/key-scope.d.ts +1 -1
  133. package/dist/screen/lib/key-scope.js +1 -1
  134. package/dist/screen/lib/media-panel.d.ts +6 -6
  135. package/dist/screen/lib/media-picker.d.ts +7 -7
  136. package/dist/screen/lib/page-lock.d.ts +5 -5
  137. package/dist/screen/lib/screen-parts.d.ts +30 -26
  138. package/dist/screen/lib/screen-parts.js +1 -1
  139. package/dist/screen/lib/section-template-types.d.ts +1 -1
  140. package/dist/screen/lib/section-templates.d.ts +5 -5
  141. package/dist/screen/lib/section-templates.js +1 -1
  142. package/dist/screen/lib/session-context.d.ts +5 -5
  143. package/dist/screen/lib/session-context.js +1 -1
  144. package/dist/screen/lib/session.d.ts +8 -8
  145. package/dist/screen/lib/session.js +1 -1
  146. package/dist/screen/lib/shared-section-types.d.ts +1 -1
  147. package/dist/screen/lib/shared-sections.d.ts +5 -5
  148. package/dist/screen/lib/shared-sections.js +1 -1
  149. package/dist/screen/screen.css +17 -17
  150. package/dist/{session-DSQFmIvx.d.ts → session-CrWwDt7Z.d.ts} +1 -1
  151. package/dist/strings/index.d.ts +2 -2
  152. package/dist/strings/index.js +1 -1
  153. package/dist/style-clipboard/index.d.ts +2 -2
  154. package/dist/tree/index.d.ts +1 -1
  155. package/dist/{types-CDX6vd6A.d.ts → types-BFd8FqQw.d.ts} +3 -3
  156. package/dist/{types-Cq53lL8d.d.ts → types-DFxBChE3.d.ts} +18 -18
  157. package/dist/{types-41704JE4.d.ts → types-DlQIM1YO.d.ts} +8 -8
  158. package/dist/{useNodeOps-fIDWzftn.d.ts → useNodeOps-C_nisDHh.d.ts} +2 -2
  159. package/dist/{watch-BTYOJpQU.d.ts → watch-D0bNZRtU.d.ts} +5 -5
  160. package/dist/{words-BeX5eGq7.d.ts → words-fbR9IwxH.d.ts} +1 -1
  161. package/package.json +145 -145
  162. package/dist/chunk-2E2SXDYQ.js +0 -1
  163. package/dist/chunk-2M4T27BI.js +0 -18
  164. package/dist/chunk-4IJVV7DA.js +0 -1
  165. package/dist/chunk-7L3NKHEC.js +0 -15
  166. package/dist/chunk-APVUYICP.js +0 -65
  167. package/dist/chunk-BHRC3ASL.js +0 -1
  168. package/dist/chunk-I54UCYOU.js +0 -1
  169. package/dist/chunk-LXTM2OLQ.js +0 -2
  170. package/dist/chunk-NA3GMA43.js +0 -5
  171. package/dist/chunk-OBWDHKLI.js +0 -8
  172. package/dist/chunk-Q2A7RHG2.js +0 -1
  173. package/dist/chunk-QIDRJH3S.js +0 -1
  174. package/dist/chunk-RSCMJIWS.js +0 -1
  175. package/dist/screen/lib/puck/block-choice.js +0 -1
  176. package/dist/screen/lib/puck/block-types-in.js +0 -1
  177. package/dist/screen/lib/puck/field-buckets.js +0 -1
  178. package/dist/screen/lib/puck/hidable.js +0 -1
  179. package/dist/screen/lib/puck/panel-fields.js +0 -1
  180. package/dist/screen/lib/puck/part-id.js +0 -1
  181. package/dist/screen/lib/puck/preview-click.js +0 -1
  182. package/dist/screen/lib/puck/preview-events.js +0 -1
  183. package/dist/screen/lib/puck/slot-child-name.js +0 -1
  184. package/dist/screen/lib/puck/slot-heal.js +0 -1
  185. package/dist/screen/lib/puck/style-clipboard.js +0 -1
  186. package/dist/screen/lib/puck/use-section-ops.js +0 -1
  187. /package/dist/{chunk-MQNBD6AB.js → chunk-3QB2ZQXK.js} +0 -0
  188. /package/dist/{chunk-LER7RKTO.js → chunk-5XL2RXFU.js} +0 -0
  189. /package/dist/{chunk-6W7WLPZH.js → chunk-6UAEFOJ4.js} +0 -0
  190. /package/dist/{chunk-26OOWIJJ.js → chunk-7OCEPOEJ.js} +0 -0
  191. /package/dist/{chunk-IQ5TA7AM.js → chunk-AJ2SUSET.js} +0 -0
  192. /package/dist/{chunk-DUVRZ456.js → chunk-ANPOR6EY.js} +0 -0
  193. /package/dist/{chunk-5ZBY24K7.js → chunk-CPL43ZLJ.js} +0 -0
  194. /package/dist/{chunk-PIND6KE7.js → chunk-I6SK6ZDT.js} +0 -0
  195. /package/dist/{chunk-7F52SZOI.js → chunk-INRERJU4.js} +0 -0
  196. /package/dist/{chunk-R5L2E7JX.js → chunk-MGVI67QV.js} +0 -0
  197. /package/dist/{chunk-IYT6NN2J.js → chunk-R4AUZVA3.js} +0 -0
  198. /package/dist/{chunk-M2Z775ZC.js → chunk-RUQOIQWI.js} +0 -0
  199. /package/dist/{chunk-PLVEGYK6.js → chunk-TCAAOYQY.js} +0 -0
  200. /package/dist/{chunk-PA3PNTVV.js → chunk-VKPOH6MK.js} +0 -0
  201. /package/dist/screen/lib/{puck → document}/add-target-types.js +0 -0
  202. /package/dist/screen/lib/{puck → document}/block-types-in.d.ts +0 -0
  203. /package/dist/screen/lib/{puck → document}/preview-dom.d.ts +0 -0
  204. /package/dist/screen/lib/{puck → document}/slot-heal.d.ts +0 -0
  205. /package/dist/screen/lib/{puck → document}/slot-section-spec.js +0 -0
@@ -6,15 +6,15 @@ import { EaselDocumentHooks } from './document-hooks.js';
6
6
  import { SectionTemplateStore } from './section-template-types.js';
7
7
  import { SharedSectionStore } from './shared-section-types.js';
8
8
  import 'react';
9
- import '../../types-Cq53lL8d.js';
9
+ import '../../types-DFxBChE3.js';
10
10
  import '../../data/index.js';
11
- import '../../types-41704JE4.js';
12
- import '../../resolve-D68pb3Bx.js';
13
- import '../../plan-CZS902DV.js';
11
+ import '../../types-DlQIM1YO.js';
12
+ import '../../resolve-AJ6WF4EL.js';
13
+ import '../../plan-CRUh2kVK.js';
14
14
  import '../../edit-lock/index.js';
15
15
  import './links/link-filters.js';
16
16
  import 'efficient-shell/ui';
17
- import './puck/content-tree.js';
17
+ import './document/content-tree.js';
18
18
 
19
19
  /**
20
20
  * The editor SESSION — everything one mounted editor knows that no prop reaches:
@@ -33,7 +33,7 @@ import './puck/content-tree.js';
33
33
  * (packages/website/src/index.tsx) creates it when the editor mounts and lets it
34
34
  * go when the editor unmounts; a new mount starts from an empty one.
35
35
  *
36
- * ONE EDITOR AT A TIME IS STILL THE RULE. Puck custom fields and the loaders
36
+ * ONE EDITOR AT A TIME IS STILL THE RULE. The old editor custom fields and the loaders
37
37
  * they call render where no React context reaches, so they read the session of
38
38
  * "the editor on this page" — {@link currentEaselSession}. Code that DOES sit
39
39
  * under the editor's React tree reads its own session through
@@ -138,8 +138,8 @@ interface EaselSession {
138
138
  readonly blocks: SessionBlocks | null;
139
139
  /**
140
140
  * The block registry this editor works from — the page root, the palette's
141
- * groups and every block (lib/puck/registry). Whoever mounts the editor hands
142
- * it over: the storefront's is `lib/puck/config`, with its commerce and
141
+ * groups and every block (lib/document/registry). Whoever mounts the editor hands
142
+ * it over: the storefront's is `lib/document/config`, with its commerce and
143
143
  * service blocks registered among the general ones. The editor imports no
144
144
  * registry of its own, so it never imports a block it does not own
145
145
  * (doc/adr/0002). Read once, with the backend — through
@@ -1 +1 @@
1
- export{EFFICIENT_BACKEND,activateEaselSession,backendOf,createEaselSession,currentEaselSession,deactivateEaselSession,efficientClientOpen,isEfficientBackend,provideDefaultBackend,resetAmbientEaselSession,sessionRegistry,setSessionBridgedSite,setSessionDocumentSite}from"../../chunk-RSCMJIWS.js";
1
+ export{EFFICIENT_BACKEND,activateEaselSession,backendOf,createEaselSession,currentEaselSession,deactivateEaselSession,efficientClientOpen,isEfficientBackend,provideDefaultBackend,resetAmbientEaselSession,sessionRegistry,setSessionBridgedSite,setSessionDocumentSite}from"../../chunk-SNF5764Q.js";
@@ -1,4 +1,4 @@
1
- import { TreeItem } from './puck/content-tree.js';
1
+ import { TreeItem } from './document/content-tree.js';
2
2
 
3
3
  /**
4
4
  * A SHARED SECTION, AND THE STORE A WEBSITE KEEPS THEM IN — the types alone.
@@ -1,13 +1,13 @@
1
1
  import { SharedSectionStore } from './shared-section-types.js';
2
2
  import { EaselSession } from './session.js';
3
- import './puck/content-tree.js';
3
+ import './document/content-tree.js';
4
4
  import '../../blocks/index.js';
5
5
  import 'react';
6
- import '../../types-Cq53lL8d.js';
6
+ import '../../types-DFxBChE3.js';
7
7
  import '../../data/index.js';
8
- import '../../types-41704JE4.js';
9
- import '../../resolve-D68pb3Bx.js';
10
- import '../../plan-CZS902DV.js';
8
+ import '../../types-DlQIM1YO.js';
9
+ import '../../resolve-AJ6WF4EL.js';
10
+ import '../../plan-CRUh2kVK.js';
11
11
  import './backend-error.js';
12
12
  import '../../edit-lock/index.js';
13
13
  import './host-chrome.js';
@@ -1 +1 @@
1
- export{keepsSharedSections,sharedSectionsOf}from"../../chunk-43AEUUNQ.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-RSCMJIWS.js";
1
+ export{keepsSharedSections,sharedSectionsOf}from"../../chunk-N3MJOHAG.js";import"../../chunk-KCOBHPN6.js";import"../../chunk-SNF5764Q.js";
@@ -179,10 +179,10 @@
179
179
  --sf-panel-shadow: none;
180
180
  --sf-font: var(--es-font);
181
181
 
182
- /* No `--puck-*` names here. Puck read its `--puck-color-azure-*` ramp and
183
- `--puck-font-family` from editor-shell's shell.css on this same root, and
182
+ /* No old-editor variable names here. The old editor read its azure ramp and
183
+ font family from editor-shell's shell.css on this same root, and
184
184
  they were deliberately never re-declared in this file — one blue is the
185
- point. Puck and those names left with blueprint 6.1/6.3; the blue is the
185
+ point. The old editor and those names left with blueprint 6.1/6.3; the blue is the
186
186
  `--es-*` set in efficient-easel/shell.css. */
187
187
 
188
188
  /*
@@ -338,7 +338,7 @@
338
338
  }
339
339
 
340
340
  /* ── Left panel: section tree ─────────────────────────────────────────────
341
- The Layers tree is the left panel's scroll box (`lib/puck/tree-reveal`
341
+ The Layers tree is the left panel's scroll box (`lib/document/tree-reveal`
342
342
  scrolls it to the selected row). Nothing more: its ONE inset, 12 a side, is
343
343
  `.es-tree`'s (`efficient-easel/tree.css`). This rule used to pad the same
344
344
  element a second time (8 / 11 / 10 over `.es-tree`'s 8 / 12 / 12) and to
@@ -489,7 +489,7 @@
489
489
  overflow: hidden;
490
490
  }
491
491
 
492
- /* ── Center: device-framed preview (wraps Puck.Preview) ──────────────── */
492
+ /* ── Center: device-framed preview (wraps the old editor's preview) ──────────────── */
493
493
  .sf-center {
494
494
  flex: 1;
495
495
  min-width: 0;
@@ -529,7 +529,7 @@
529
529
  min-width: 0;
530
530
  }
531
531
 
532
- /* ── Center: device-framed preview (wraps Puck.Preview) ──────────────── */
532
+ /* ── Center: device-framed preview (wraps the old editor's preview) ──────────────── */
533
533
  .sf-frame {
534
534
  width: 100%;
535
535
  height: 100%;
@@ -553,7 +553,7 @@
553
553
  min-height: 0;
554
554
  }
555
555
 
556
- /* ── Center: device-framed preview (wraps Puck.Preview) ──────────────── */
556
+ /* ── Center: device-framed preview (wraps the old editor's preview) ──────────────── */
557
557
  /* Sizer box for the device frame: its layout size is the frame's *painted*
558
558
  (scaled) size, so the .sf-center well centres it when it fits and scrolls it
559
559
  when a zoom makes it larger. The frame inside is scaled from its top-left. */
@@ -573,7 +573,7 @@
573
573
  position: relative;
574
574
  }
575
575
 
576
- /* Puck.Preview fills the frame */
576
+ /* The old editor's preview fills the frame */
577
577
  .sf-preview-host > div,
578
578
  .sf-preview-host iframe {
579
579
  width: 100% !important;
@@ -626,7 +626,7 @@
626
626
  insertion line + a dark "Add section" pill; clicking opens the picker targeted
627
627
  at that seam. It sits inside the scaled device frame, so it tracks the zoom. */
628
628
  /* The full-width band only POSITIONS the ➕ over a seam — it is itself
629
- click-through (pointer-events:none) so it never steals canvas clicks / Puck
629
+ click-through (pointer-events:none) so it never steals canvas clicks / the old editor
630
630
  selection near a section boundary. Only the ➕ is interactive: the canvas
631
631
  insert point (efficient-easel/drag `CanvasInsert`, drag.css), the shell's
632
632
  24px IconButton (owner 2026-10-14). */
@@ -682,7 +682,7 @@
682
682
  /* The rail's "+" (`.sf-rail-plus`) went in 11.0.0: Add opens from the Layers
683
683
  head's "+" and a canvas ➕ (owner ruling A1, amended 2026-10-14). */
684
684
 
685
- /* ── Device-aware fields (lib/puck/device-fields.tsx) ─────────────────────────
685
+ /* ── Device-aware fields (lib/document/device-fields.tsx) ─────────────────────────
686
686
  A control that belongs to a device the canvas is not showing paints a
687
687
  zero-size marker instead of itself, and its row (efficient-easel's public
688
688
  `.es-insp-row`, blueprint 4.4) collapses when it holds one, so no gap is left.
@@ -696,7 +696,7 @@
696
696
  it: the rule below is drawn by a PACKAGE, it is the majority of what is
697
697
  actually on screen, and it cannot be deleted from here.
698
698
 
699
- Puck rules the gap between every pair of top-level fields, so it draws once
699
+ The old editor rules the gap between every pair of top-level fields, so it draws once
700
700
  per field for the whole panel — 28 lines in a single section panel, measured.
701
701
  That is most of the panel's lines on its own, which is why removing the shop's
702
702
  own two heading rules (card 66300) did not change what he saw.
@@ -706,21 +706,21 @@
706
706
  text parts. It was held here under a written expiry, because a rule that lives
707
707
  in another repo could not be reached from this one. editor-shell 0.29.0 (card
708
708
  66350) deleted it AT SOURCE and card 66351 deleted this repo's copy with it —
709
- the ending the Puck rule below cannot have, since `@measured/puck` is not ours
709
+ the ending the old editor rule below cannot have, since the old editor package is not ours
710
710
  to change. That seam is now held from both ends by
711
711
  `scripts/test-drill-rows-separated-by-air.ts`: it fails if the shell starts
712
712
  drawing on it again, and it fails if a local override for it reappears here.
713
713
 
714
- ⚠️ SPECIFICITY, NOT `!important`. Puck's rule is (0,3,0) —
714
+ ⚠️ SPECIFICITY, NOT `!important`. The old editor's rule is (0,3,0) —
715
715
  `wrapFields field + field` — so this restates all three parts to match it, and
716
- wins on order: `storefront-editor.css` is imported after `puck.css` and after
716
+ wins on order: `storefront-editor.css` is imported after the old editor's stylesheet and after
717
717
  `panel.css` at every call site. The `[class*=]` form is this file's existing
718
- idiom for Puck's hashed module names (see the three rules above); a bare class
719
- would break on the next Puck bump, silently, by putting the lines back.
718
+ idiom for the old editor's hashed module names (see the three rules above); a bare class
719
+ would break on the next the old editor bump, silently, by putting the lines back.
720
720
 
721
721
  This is an override of a live upstream rule, not dead code:
722
722
  `scripts/test-panel-no-divider-lines.tsx` §2 asserts the upstream rule still
723
- exists before checking it, so if Puck ever drops its own line, the guard says
723
+ exists before checking it, so if the old editor ever drops its own line, the guard says
724
724
  to delete the override rather than leave it lying here — which is exactly what
725
725
  happened to the drill one above. */
726
726
  /* The one line that says WHICH device's settings are on screen. Quiet on
@@ -1,4 +1,4 @@
1
- import { P as Place } from './types-41704JE4.js';
1
+ import { P as Place } from './types-DlQIM1YO.js';
2
2
 
3
3
  /**
4
4
  * The one drag in flight, shared by every surface of an editor — the Layers
@@ -5,7 +5,7 @@ import { D as DragWords } from '../words-SD4neL0n.js';
5
5
  import { LockWords } from '../edit-lock/index.js';
6
6
  import { F as FieldsWords } from '../words-CFkb8XtN.js';
7
7
  import { N as NodeMenuWords } from '../words-DMG4dYq2.js';
8
- import { P as PanelWords } from '../words-BeX5eGq7.js';
8
+ import { P as PanelWords } from '../words-fbR9IwxH.js';
9
9
  import { P as PickWords } from '../words-DWvCJXwR.js';
10
10
  import { ScreenWords } from '../screen/words.js';
11
11
  export { ScreenAddWords, ScreenSharedWords } from '../screen/words.js';
@@ -20,7 +20,7 @@ import '../wordFit-7XpmhcaW.js';
20
20
  import '../panelWidths-DgQXiPXU.js';
21
21
  import '../engine-CvXpFE86.js';
22
22
  import 'efficient-shell/markup';
23
- import '../buckets-Tj-nkBpg.js';
23
+ import '../buckets-_MGDYJlb.js';
24
24
 
25
25
  /**
26
26
  * The easel canvas's own words (`efficient-easel/strings`, 0.95.0): what the
@@ -1,2 +1,2 @@
1
- import{DEFAULT_SCREEN_WORDS as r}from"../chunk-EB6NI2VK.js";import{DEFAULT_STYLE_CLIPBOARD_WORDS as o}from"../chunk-6WY6ZXJG.js";import{DEFAULT_TEXT_STYLES_WORDS as n}from"../chunk-OGH6CC3E.js";import{DEFAULT_PICK_WORDS as t}from"../chunk-OFBZOI6W.js";import{DEFAULT_CANVAS_WORDS as c}from"../chunk-TBY3DFKS.js";import{DEFAULT_TREE_WORDS as e}from"../chunk-K56YDHYQ.js";import{DEFAULT_PANEL_WORDS as m}from"../chunk-KFV7N2DJ.js";import{DEFAULT_NODE_MENU_WORDS as i}from"../chunk-WK3AFPXY.js";import{DEFAULT_SAVE_WORDS as s}from"../chunk-H6DDIBQ4.js";import{DEFAULT_COPY_WORDS as u}from"../chunk-KRL3IUV3.js";import{DEFAULT_FIELDS_WORDS as f}from"../chunk-JACEEVVF.js";import{DEFAULT_CHROME_WORDS as p,DEFAULT_NOTICE_WORDS as l}from"../chunk-AJSDWWJW.js";import{DEFAULT_RAIL_WORDS as h}from"../chunk-2OAZYSWJ.js";import{DEFAULT_LOCK_WORDS as j}from"../chunk-RE4LP46F.js";import{stringsContext as k}from"../chunk-MFIRYGHW.js";import{DEFAULT_DRAG_WORDS as a}from"../chunk-TQ5Y6S2X.js";import{useContext as W,useMemo as Y}from"react";import{jsx as y}from"react/jsx-runtime";var F={notice:l,lock:j,save:s,chrome:p,rail:h,tree:e,panel:m,fields:f,pick:t,drag:a,menu:i,styleClipboard:o,copy:u,canvas:c,textStyles:n,screen:r},d=r=>"object"==typeof r&&null!==r;function v(r,o){const n={};for(const t of Object.keys(r)){const c=r[t],e=o[t];null==e?n[t]=c:d(c)?n[t]=d(e)?v(c,e):c:n[t]=typeof e==typeof c?e:c}return n}function D(r,o){return o?v(r,o):r}function J({value:r,locale:o,children:n}){const t=k(),c=W(t),e=c?.strings??F,m=o??c?.locale??"en",i=Y(()=>({strings:D(e,r),locale:m}),[e,r,m]);/* @__PURE__ */
1
+ import{DEFAULT_SCREEN_WORDS as r}from"../chunk-EB6NI2VK.js";import{DEFAULT_STYLE_CLIPBOARD_WORDS as o}from"../chunk-6WY6ZXJG.js";import{DEFAULT_TEXT_STYLES_WORDS as n}from"../chunk-OGH6CC3E.js";import{DEFAULT_PICK_WORDS as t}from"../chunk-OFBZOI6W.js";import{DEFAULT_CANVAS_WORDS as c}from"../chunk-TBY3DFKS.js";import{DEFAULT_TREE_WORDS as e}from"../chunk-K56YDHYQ.js";import{DEFAULT_NODE_MENU_WORDS as m}from"../chunk-WK3AFPXY.js";import{DEFAULT_PANEL_WORDS as i}from"../chunk-KFV7N2DJ.js";import{DEFAULT_SAVE_WORDS as s}from"../chunk-H6DDIBQ4.js";import{DEFAULT_CHROME_WORDS as u,DEFAULT_NOTICE_WORDS as f}from"../chunk-AJSDWWJW.js";import{DEFAULT_RAIL_WORDS as p}from"../chunk-2OAZYSWJ.js";import{DEFAULT_LOCK_WORDS as l}from"../chunk-RE4LP46F.js";import{DEFAULT_COPY_WORDS as h}from"../chunk-KRL3IUV3.js";import{DEFAULT_FIELDS_WORDS as j}from"../chunk-JACEEVVF.js";import{stringsContext as k}from"../chunk-MFIRYGHW.js";import{DEFAULT_DRAG_WORDS as a}from"../chunk-TQ5Y6S2X.js";import{useContext as W,useMemo as Y}from"react";import{jsx as y}from"react/jsx-runtime";var F={notice:f,lock:l,save:s,chrome:u,rail:p,tree:e,panel:i,fields:j,pick:t,drag:a,menu:m,styleClipboard:o,copy:h,canvas:c,textStyles:n,screen:r},d=r=>"object"==typeof r&&null!==r;function v(r,o){const n={};for(const t of Object.keys(r)){const c=r[t],e=o[t];null==e?n[t]=c:d(c)?n[t]=d(e)?v(c,e):c:n[t]=typeof e==typeof c?e:c}return n}function D(r,o){return o?v(r,o):r}function J({value:r,locale:o,children:n}){const t=k(),c=W(t),e=c?.strings??F,m=o??c?.locale??"en",i=Y(()=>({strings:D(e,r),locale:m}),[e,r,m]);/* @__PURE__ */
2
2
  return y(t.Provider,{value:i,children:n})}function K(){return W(k())?.strings??F}function E(){return W(k())?.locale??"en"}export{F as DEFAULT_EASEL_STRINGS,J as EaselStringsProvider,D as mergeEaselStrings,E as useEaselLocale,K as useEaselStrings};
@@ -44,7 +44,7 @@ interface StyleRow {
44
44
  * WHAT KIND of setting this is — the second half of "the same setting".
45
45
  * `null` means the host cannot say, and such a row only matches on a
46
46
  * component of the SAME type (where the same key is certainly the same
47
- * field). Use {@link fieldKind} for a Puck field.
47
+ * field). Use {@link fieldKind} for an old-editor field.
48
48
  */
49
49
  kind: string | null;
50
50
  /**
@@ -64,7 +64,7 @@ declare const STYLE_KIND: "__styleKind";
64
64
  */
65
65
  declare function withStyleKind<F extends object>(field: F, kind: string): F;
66
66
  /**
67
- * The kind of a Puck field.
67
+ * The kind of an old-editor field.
68
68
  *
69
69
  * - a tagged field → its tag;
70
70
  * - `text` / `textarea` / `number` → that word;
@@ -7,7 +7,7 @@ import 'efficient-shell/ui';
7
7
  /**
8
8
  * The Layers tree's container: the shell's `Tree` (`role="tree"`, its roving tab
9
9
  * stop and arrow keys; harness UI-24). `es-tree` stays on it as the hook
10
- * `screen/lib/puck/tree-reveal` scrolls, and the scroll box `tree.css` keeps.
10
+ * `screen/lib/document/tree-reveal` scrolls, and the scroll box `tree.css` keeps.
11
11
  */
12
12
  declare function LayersTree({ className, children, rootProps, ariaLabel, words }: LayersTreeProps): react.JSX.Element;
13
13
  /**
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { ShowWhenRule } from 'efficient-shell/ui';
3
- import { S as SettingsBucket } from './buckets-Tj-nkBpg.js';
3
+ import { S as SettingsBucket } from './buckets-_MGDYJlb.js';
4
4
 
5
5
  /** What every control shares: an id for its label, a name for screen readers, and a read-only switch. */
6
6
  interface ControlBase {
@@ -238,7 +238,7 @@ interface CustomFieldDef extends FieldMeta {
238
238
  type InspectorFieldDef = TextFieldDef | TextareaFieldDef | NumberFieldDef | SelectFieldDef | RadioFieldDef | ObjectFieldDef | ArrayFieldDef | SlotFieldDef | CustomFieldDef;
239
239
  type InspectorFields = Record<string, InspectorFieldDef>;
240
240
  /**
241
- * What a custom render is called with: Puck's own six props, so every custom
241
+ * What a custom render is called with: the old editor's own six props, so every custom
242
242
  * field both apps wrote keeps working unchanged, plus what the host hands in as
243
243
  * `context` (the node, the root, the device — blueprint §3.1).
244
244
  */
@@ -251,7 +251,7 @@ interface CustomFieldRenderProps<V = any> {
251
251
  readOnly?: boolean;
252
252
  [context: string]: unknown;
253
253
  }
254
- /** A field type's own drawing, swapped in by the host (e.g. Puck's array until 4.5). */
254
+ /** A field type's own drawing, swapped in by the host (e.g. The old editor's array until 4.5). */
255
255
  type FieldRenderer = (props: {
256
256
  field: InspectorFieldDef;
257
257
  name: string;
@@ -1,9 +1,9 @@
1
1
  import { DataInput } from './data/index.js';
2
- import { I as ItemSelector, N as NodeSelection } from './plan-CZS902DV.js';
3
- import { D as Data, S as SlotAddress, a as DataConfig, N as Node } from './types-41704JE4.js';
2
+ import { I as ItemSelector, N as NodeSelection } from './plan-CRUh2kVK.js';
3
+ import { D as Data, S as SlotAddress, a as DataConfig, N as Node } from './types-DlQIM1YO.js';
4
4
 
5
5
  /**
6
- * The easel's UI state, in Puck's shape so the apps' `appState.ui` reads move
6
+ * The easel's UI state, in the old editor's shape so the apps' `appState.ui` reads move
7
7
  * over unchanged. `itemSelector` and `selectedSlot` are DERIVED from the
8
8
  * selection the store holds by id; every other key is the host's own and is
9
9
  * kept as written.
@@ -12,14 +12,14 @@ type EaselUi = Record<string, unknown> & {
12
12
  itemSelector: ItemSelector | null;
13
13
  /** The selected slot (a column), when a slot rather than a node is selected. */
14
14
  selectedSlot: SlotAddress | null;
15
- /** Puck's own UI keys, which a host's chrome reads and writes (`setUi`).
16
- * They start at Puck's defaults (`DEFAULT_UI`). */
15
+ /** The old editor's own UI keys, which a host's chrome reads and writes (`setUi`).
16
+ * They start at the old editor's defaults (`DEFAULT_UI`). */
17
17
  leftSideBarVisible: boolean;
18
18
  rightSideBarVisible: boolean;
19
19
  previewMode: 'edit' | 'interactive';
20
20
  isDragging: boolean;
21
21
  };
22
- /** Puck's public `appState`. */
22
+ /** The old editor's public `appState`. */
23
23
  interface AppState {
24
24
  data: Data;
25
25
  ui: EaselUi;
@@ -28,15 +28,15 @@ type Recordable = {
28
28
  recordHistory?: boolean;
29
29
  };
30
30
  /** What `setData` merges in: part of the document — in this package's shape,
31
- * or in Puck's looser one (`root.props` optional), which the apps' documents
32
- * are typed as and `<Puck>` accepted. */
31
+ * or in the old editor's looser one (`root.props` optional), which the apps' documents
32
+ * are typed as and `the old editor root` accepted. */
33
33
  type SetDataPatch = Partial<Data> | DataInput;
34
34
  /**
35
- * The actions the apps dispatch today — Puck 0.20's, with Puck's meaning. Zone
35
+ * The actions the apps dispatch today — the old editor's, with its meaning. Zone
36
36
  * keys are `"<parentId>:<slot>"`; `root:default-zone` is the page's own list.
37
37
  *
38
38
  * `insert` puts the block in with its `defaultProps` and runs NO resolver, as
39
- * Puck's reducer did not. What ran a new block's `resolveData` in Puck was its
39
+ * The old editor's reducer did not. What ran a new block's `resolveData` in the old editor was its
40
40
  * own drop from the component list; here that is `easel.resolveNode(id, {
41
41
  * trigger: 'insert' })`, called by the host after the insert (pass the action
42
42
  * an `id` so there is one to name).
@@ -87,7 +87,7 @@ type EaselAction = ({
87
87
  index: number;
88
88
  zone: string;
89
89
  } & Recordable);
90
- /** What a block, the root or the whole easel allows. Puck's five. */
90
+ /** What a block, the root or the whole easel allows. The old editor's five. */
91
91
  interface Permissions {
92
92
  drag: boolean;
93
93
  duplicate: boolean;
@@ -97,7 +97,7 @@ interface Permissions {
97
97
  [key: string]: boolean;
98
98
  }
99
99
  /** The config the store needs: the data layer's shape, plus each block's own
100
- * `permissions` (Puck's per-component permissions). Rendering keys are the
100
+ * `permissions` (the old editor's per-component permissions). Rendering keys are the
101
101
  * renderer's business and pass through untouched. */
102
102
  interface EaselConfig extends DataConfig {
103
103
  root?: DataConfig['root'] & {
@@ -114,12 +114,12 @@ interface EaselCore {
114
114
  /** The host's own UI keys — everything but `itemSelector` / `selectedSlot`. */
115
115
  ui: Record<string, unknown>;
116
116
  }
117
- /** One undo step: the whole state, as Puck's history holds the whole app state. */
117
+ /** One undo step: the whole state, as the old editor's history holds the whole app state. */
118
118
  interface HistoryEntry {
119
119
  id: string;
120
120
  state: AppState;
121
121
  }
122
- /** Puck's PUBLIC `history` (what `usePuck` hands out): `hasPast` and
122
+ /** The old editor's PUBLIC `history` (what the old store hook hands out): `hasPast` and
123
123
  * `hasFuture` are booleans there, read at the state they came with. */
124
124
  interface EaselHistory {
125
125
  back: () => void;
@@ -128,14 +128,14 @@ interface EaselHistory {
128
128
  hasFuture: boolean;
129
129
  histories: HistoryEntry[];
130
130
  index: number;
131
- /** Go straight to one step (Puck's `setHistoryIndex`). */
131
+ /** Go straight to one step (the old editor's `setHistoryIndex`). */
132
132
  setHistoryIndex: (index: number) => void;
133
133
  }
134
134
  /**
135
- * What `useEasel` reads — Puck's `usePuck` state, so the apps' selectors move
135
+ * What `useEasel` reads — the old store hook's state, so the apps' selectors move
136
136
  * over by renaming the hook: `appState`, `selectedItem`, `dispatch`, `config`,
137
137
  * `history`, `getPermissions`, `getItemById`, `getSelectorForId`. Plus the
138
- * selection by id (`selection`), which Puck never had.
138
+ * selection by id (`selection`), which the old editor never had.
139
139
  */
140
140
  interface EaselView<C extends EaselConfig = EaselConfig> {
141
141
  appState: AppState;
@@ -151,7 +151,7 @@ interface EaselView<C extends EaselConfig = EaselConfig> {
151
151
  }) => Permissions;
152
152
  getItemById: (id: string) => Node | undefined;
153
153
  getItemBySelector: (selector: ItemSelector) => Node | undefined;
154
- /** Puck's: the node's place, its zone always named. Never throws — Puck's
154
+ /** The old editor's: the node's place, its zone always named. Never throws — the old editor's
155
155
  * did, across a data swap, which the website editor wrapped. */
156
156
  getSelectorForId: (id: string) => Required<ItemSelector> | undefined;
157
157
  }
@@ -1,23 +1,23 @@
1
1
  /**
2
2
  * The document, and the smallest slice of a block config the data layer reads.
3
3
  *
4
- * THE DOCUMENT IS PUCK'S, BYTE FOR BYTE. Every campaign and every page already
4
+ * THE DOCUMENT IS THE OLD EDITOR'S, BYTE FOR BYTE. Every campaign and every page already
5
5
  * saved is a Puck 0.20 `Data` object, and the backend reads it too (campaign
6
6
  * copy, coupon deadlines, the assistant's knowledge tool, the media and
7
7
  * neutralization manifests). So the engine keeps that exact shape — no version
8
- * key, no wrapper, no rename — and nothing saved needs to migrate when Puck goes.
8
+ * key, no wrapper, no rename — and nothing saved needs to migrate when the old editor goes.
9
9
  *
10
10
  * { root: { props }, content: Node[], zones: {} }
11
11
  *
12
12
  * A node's children live INLINE in one of its props, under a field whose
13
- * `type` is `"slot"`. `zones` is Puck's older DropZone store: neither editor
13
+ * `type` is `"slot"`. `zones` is the old editor's older DropZone store: neither editor
14
14
  * writes it, so it is `{}` on every document, and it is kept that way on save.
15
15
  */
16
16
  /** One block in the document. `props.id` is `<Type>-<uuid>`. */
17
17
  interface Node {
18
18
  type: string;
19
19
  props: NodeProps;
20
- /** Puck's per-prop read-only map. Carried through untouched. */
20
+ /** The old editor's per-prop read-only map. Carried through untouched. */
21
21
  readOnly?: Record<string, boolean>;
22
22
  }
23
23
  interface NodeProps {
@@ -40,7 +40,7 @@ interface Data {
40
40
  *
41
41
  * The top-level list is `{ parentId: 'root', slot: 'default-zone' }`, and a
42
42
  * slot is named by its PROP PATH (`col1`, `items[0].content`) — the same two
43
- * halves as Puck's zone key `"<parentId>:<slot>"`, so an app that still speaks
43
+ * halves as the old editor's zone key `"<parentId>:<slot>"`, so an app that still speaks
44
44
  * zone keys converts with `zoneKey` / `parseZoneKey`.
45
45
  */
46
46
  interface SlotAddress {
@@ -53,7 +53,7 @@ interface Place extends SlotAddress {
53
53
  /**
54
54
  * The part of a field definition the data layer needs: which props are slots,
55
55
  * and (./translate) which hold words that are written again per language.
56
- * A Puck `Field` satisfies it, so an app hands in the config it already has.
56
+ * A the old editor `Field` satisfies it, so an app hands in the config it already has.
57
57
  */
58
58
  interface FieldShape {
59
59
  type: string;
@@ -68,7 +68,7 @@ interface FieldShape {
68
68
  }
69
69
  type FieldsShape = Record<string, FieldShape>;
70
70
  /**
71
- * `fields` and `defaultProps` are typed as ANY OBJECT on purpose. A Puck config
71
+ * `fields` and `defaultProps` are typed as ANY OBJECT on purpose. A the old editor config
72
72
  * typed with its blocks' own props (`Config<{ Heading: HeadingProps }>`) carries
73
73
  * `Fields<HeadingProps>` and `HeadingProps`, which no shared shape can name, and
74
74
  * an app must be able to hand in the config it has. The data layer reads only
@@ -80,7 +80,7 @@ interface BlockShape {
80
80
  defaultProps?: object;
81
81
  }
82
82
  /**
83
- * The config as the data layer sees it. A Puck `Config` satisfies it: only
83
+ * The config as the data layer sees it. A the old editor `Config` satisfies it: only
84
84
  * `components[type].fields` / `.defaultProps` and `root.fields` /
85
85
  * `.defaultProps` are ever read. A type missing from `components` has no slots
86
86
  * and is kept verbatim — never dropped — so content can land before its code.
@@ -1,5 +1,5 @@
1
- import { N as Node, S as SlotAddress, D as Data, a as DataConfig, P as Place } from './types-41704JE4.js';
2
- import { N as NodeSelection, A as AfterRemove, S as StepBounds } from './plan-CZS902DV.js';
1
+ import { N as Node, S as SlotAddress, D as Data, a as DataConfig, P as Place } from './types-DlQIM1YO.js';
2
+ import { N as NodeSelection, A as AfterRemove, S as StepBounds } from './plan-CRUh2kVK.js';
3
3
 
4
4
  /**
5
5
  * The node clipboard — what Copy and Cut hold, and Paste reads.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Finding the canvas frame and its document — ONCE, with no polling.
3
3
  *
4
- * Both editors draw the canvas inside an iframe (today Puck's
4
+ * Both editors draw the canvas inside an iframe (today the old editor's
5
5
  * `<iframe id="preview-frame">`; later the engine's own CanvasFrame). The frame
6
6
  * gives no "ready" callback, its document arrives ASYNCHRONOUSLY (a srcdoc
7
7
  * frame starts on an empty about:blank document and swaps to the real one on
@@ -24,11 +24,11 @@ interface CanvasTarget {
24
24
  window: Window;
25
25
  }
26
26
  interface WatchOptions {
27
- /** How the frame is found under `root`. Puck's canvas is the default. */
27
+ /** How the frame is found under `root`. The old editor's canvas is the default. */
28
28
  selector?: string;
29
29
  /**
30
30
  * Publish the frame only once its document holds an element matching this.
31
- * A loaded frame can still be EMPTY — Puck portals the blocks in after
31
+ * A loaded frame can still be EMPTY — the old editor portals the blocks in after
32
32
  * `load` — and a measurement taken then measures nothing. For the editor's
33
33
  * canvas pass `BLOCK_SELECTOR`. Watched with a MutationObserver on the frame's
34
34
  * document, never polled.
@@ -48,7 +48,7 @@ interface WatchOptions {
48
48
  * Puck 0.20 drew, kept by the engine's own canvas (`efficient-easel/easel`)
49
49
  * because both apps' canvas CSS and checks read it.
50
50
  */
51
- declare const BLOCK_SELECTOR = "[data-puck-component]";
51
+ declare const BLOCK_SELECTOR = "[data-easel-block]";
52
52
  /**
53
53
  * Every LIST the canvas draws carries this attribute — the page's own
54
54
  * (`root:default-zone`) and each slot's — whether or not there is a block in
@@ -57,7 +57,7 @@ declare const BLOCK_SELECTOR = "[data-puck-component]";
57
57
  * published, on the one page a first block has to be dropped on (second host,
58
58
  * 2026-10-07: it had typed the attribute out by hand to get this).
59
59
  */
60
- declare const LIST_SELECTOR = "[data-puck-dropzone]";
60
+ declare const LIST_SELECTOR = "[data-easel-dropzone]";
61
61
  /** The canvas frame: Puck 0.20's, and the engine's own `CanvasFrame` since 0.89.0. */
62
62
  declare const CANVAS_SELECTOR = "iframe#preview-frame";
63
63
  /**
@@ -1,4 +1,4 @@
1
- import { S as SettingsBucket, D as DesignGroup } from './buckets-Tj-nkBpg.js';
1
+ import { S as SettingsBucket, D as DesignGroup } from './buckets-_MGDYJlb.js';
2
2
 
3
3
  /**
4
4
  * The settings panel's own words (`efficient-easel/strings`, 0.95.0): what