@juo/blocks 1.13.0-alpha.2 → 1.14.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 (246) hide show
  1. package/dist/ExtensionRoot-CRJx0Dtr.js +378 -0
  2. package/dist/block.d.ts +0 -50
  3. package/dist/block.d.ts.map +1 -1
  4. package/dist/{bridge-r7Yk8fjY.js → bridge-D838SWmN.js} +147 -42
  5. package/dist/context.d.ts.map +1 -1
  6. package/dist/core.js +1120 -2157
  7. package/dist/css-runtime-DWytAzZ5.js +1532 -0
  8. package/dist/editor/bridge.d.ts +8 -7
  9. package/dist/editor/bridge.d.ts.map +1 -1
  10. package/dist/editor/canvas-mode-signal.d.ts +22 -0
  11. package/dist/editor/canvas-mode-signal.d.ts.map +1 -0
  12. package/dist/editor/canvas-mode.d.ts +15 -0
  13. package/dist/editor/canvas-mode.d.ts.map +1 -0
  14. package/dist/editor/canvas-mode.test.d.ts +2 -0
  15. package/dist/editor/canvas-mode.test.d.ts.map +1 -0
  16. package/dist/editor/components.d.ts +113 -0
  17. package/dist/editor/components.d.ts.map +1 -1
  18. package/dist/editor/components.test.d.ts.map +1 -1
  19. package/dist/editor/handler.d.ts.map +1 -1
  20. package/dist/editor/handler.test.d.ts +2 -0
  21. package/dist/editor/handler.test.d.ts.map +1 -0
  22. package/dist/editor/layout-command-emitter.d.ts +31 -0
  23. package/dist/editor/layout-command-emitter.d.ts.map +1 -0
  24. package/dist/editor/layout-command-emitter.test.d.ts +2 -0
  25. package/dist/editor/layout-command-emitter.test.d.ts.map +1 -0
  26. package/dist/editor/layout-system-signal.d.ts +21 -0
  27. package/dist/editor/layout-system-signal.d.ts.map +1 -0
  28. package/dist/editor/main.d.ts +2 -2
  29. package/dist/editor/main.d.ts.map +1 -1
  30. package/dist/editor/messages.d.ts +90 -14
  31. package/dist/editor/messages.d.ts.map +1 -1
  32. package/dist/editor/surface-context.d.ts +7 -0
  33. package/dist/editor/surface-context.d.ts.map +1 -0
  34. package/dist/editor/surface-context.test.d.ts +2 -0
  35. package/dist/editor/surface-context.test.d.ts.map +1 -0
  36. package/dist/editor/wrapper-shared.d.ts +31 -0
  37. package/dist/editor/wrapper-shared.d.ts.map +1 -0
  38. package/dist/editor.js +887 -88
  39. package/dist/flows/WorkflowService.d.ts +2 -0
  40. package/dist/flows/WorkflowService.d.ts.map +1 -1
  41. package/dist/gridstack-adapter-DreG3XnB.js +5490 -0
  42. package/dist/layout/css-runtime.d.ts +41 -0
  43. package/dist/layout/css-runtime.d.ts.map +1 -0
  44. package/dist/layout/css-runtime.test.d.ts +2 -0
  45. package/dist/layout/css-runtime.test.d.ts.map +1 -0
  46. package/dist/layout/derive.d.ts +4 -0
  47. package/dist/layout/derive.d.ts.map +1 -0
  48. package/dist/layout/derive.test.d.ts +2 -0
  49. package/dist/layout/derive.test.d.ts.map +1 -0
  50. package/dist/layout/dividers.d.ts +34 -0
  51. package/dist/layout/dividers.d.ts.map +1 -0
  52. package/dist/layout/dividers.test.d.ts +2 -0
  53. package/dist/layout/dividers.test.d.ts.map +1 -0
  54. package/dist/layout/engine.d.ts +3 -0
  55. package/dist/layout/engine.d.ts.map +1 -0
  56. package/dist/layout/engine.test.d.ts +2 -0
  57. package/dist/layout/engine.test.d.ts.map +1 -0
  58. package/dist/layout/grid-utils.d.ts +57 -0
  59. package/dist/layout/grid-utils.d.ts.map +1 -0
  60. package/dist/layout/grid-utils.test.d.ts +2 -0
  61. package/dist/layout/grid-utils.test.d.ts.map +1 -0
  62. package/dist/layout/index.d.ts +12 -0
  63. package/dist/layout/index.d.ts.map +1 -0
  64. package/dist/layout/index.test.d.ts +2 -0
  65. package/dist/layout/index.test.d.ts.map +1 -0
  66. package/dist/layout/insert.d.ts +31 -0
  67. package/dist/layout/insert.d.ts.map +1 -0
  68. package/dist/layout/insert.test.d.ts +2 -0
  69. package/dist/layout/insert.test.d.ts.map +1 -0
  70. package/dist/layout/project-css.d.ts +6 -0
  71. package/dist/layout/project-css.d.ts.map +1 -0
  72. package/dist/layout/project-css.test.d.ts +2 -0
  73. package/dist/layout/project-css.test.d.ts.map +1 -0
  74. package/dist/layout/project-gridstack.d.ts +50 -0
  75. package/dist/layout/project-gridstack.d.ts.map +1 -0
  76. package/dist/layout/project-gridstack.test.d.ts +2 -0
  77. package/dist/layout/project-gridstack.test.d.ts.map +1 -0
  78. package/dist/layout/reconcile.d.ts +22 -0
  79. package/dist/layout/reconcile.d.ts.map +1 -0
  80. package/dist/layout/reconcile.test.d.ts +2 -0
  81. package/dist/layout/reconcile.test.d.ts.map +1 -0
  82. package/dist/layout/types.d.ts +118 -0
  83. package/dist/layout/types.d.ts.map +1 -0
  84. package/dist/layout-mode-adapter-BBd4JRQd.js +21 -0
  85. package/dist/main.d.ts +8 -4
  86. package/dist/main.d.ts.map +1 -1
  87. package/dist/morph-Dj-xvrwt.js +182 -0
  88. package/dist/preact.js +1 -1
  89. package/dist/project-gridstack-DYLMKSH1.js +52 -0
  90. package/dist/react.js +1 -1
  91. package/dist/services/customer/customerService.d.ts +2 -3
  92. package/dist/services/customer/customerService.d.ts.map +1 -1
  93. package/dist/services/customer/index.d.ts +0 -1
  94. package/dist/services/customer/index.d.ts.map +1 -1
  95. package/dist/services/customer/types.d.ts +1 -4
  96. package/dist/services/customer/types.d.ts.map +1 -1
  97. package/dist/services/index.d.ts +0 -3
  98. package/dist/services/index.d.ts.map +1 -1
  99. package/dist/services/login/index.d.ts +1 -3
  100. package/dist/services/login/index.d.ts.map +1 -1
  101. package/dist/services/login/loginService.d.ts +2 -6
  102. package/dist/services/login/loginService.d.ts.map +1 -1
  103. package/dist/services/orders/adapter.d.ts +0 -2
  104. package/dist/services/orders/adapter.d.ts.map +1 -1
  105. package/dist/services/orders/index.d.ts +1 -1
  106. package/dist/services/orders/index.d.ts.map +1 -1
  107. package/dist/services/product/adapter.d.ts +2 -27
  108. package/dist/services/product/adapter.d.ts.map +1 -1
  109. package/dist/services/product/index.d.ts +1 -1
  110. package/dist/services/product/index.d.ts.map +1 -1
  111. package/dist/services/product/productService.d.ts.map +1 -1
  112. package/dist/services/product/types.d.ts +0 -68
  113. package/dist/services/product/types.d.ts.map +1 -1
  114. package/dist/services/subscription/adapter.d.ts +2 -77
  115. package/dist/services/subscription/adapter.d.ts.map +1 -1
  116. package/dist/services/subscription/index.d.ts +1 -1
  117. package/dist/services/subscription/index.d.ts.map +1 -1
  118. package/dist/services/subscription/subscriptionService.d.ts +6 -1
  119. package/dist/services/subscription/subscriptionService.d.ts.map +1 -1
  120. package/dist/services/subscription/types.d.ts +9 -220
  121. package/dist/services/subscription/types.d.ts.map +1 -1
  122. package/dist/theme-state.d.ts +17 -2
  123. package/dist/theme-state.d.ts.map +1 -1
  124. package/dist/theme-state.layout.test.d.ts +2 -0
  125. package/dist/theme-state.layout.test.d.ts.map +1 -0
  126. package/dist/theme-state.test.d.ts +2 -0
  127. package/dist/theme-state.test.d.ts.map +1 -0
  128. package/dist/utils/index.d.ts +0 -6
  129. package/dist/utils/index.d.ts.map +1 -1
  130. package/dist/vue/block.d.ts.map +1 -1
  131. package/dist/vue.js +4 -25
  132. package/dist/web-components/ExtensionRoot.d.ts +50 -3
  133. package/dist/web-components/ExtensionRoot.d.ts.map +1 -1
  134. package/dist/web-components/editor/ExtensionRoot.d.ts +11 -0
  135. package/dist/web-components/editor/ExtensionRoot.d.ts.map +1 -0
  136. package/dist/web-components/editor/ExtensionRoot.test.d.ts +2 -0
  137. package/dist/web-components/editor/ExtensionRoot.test.d.ts.map +1 -0
  138. package/dist/web-components/editor/InlineText.d.ts +1 -0
  139. package/dist/web-components/editor/InlineText.d.ts.map +1 -1
  140. package/dist/web-components/editor/editor-layout-controller.d.ts +28 -0
  141. package/dist/web-components/editor/editor-layout-controller.d.ts.map +1 -0
  142. package/dist/web-components/editor/gridstack-adapter.d.ts +3 -0
  143. package/dist/web-components/editor/gridstack-adapter.d.ts.map +1 -0
  144. package/dist/web-components/editor/gridstack-adapter.test.d.ts +2 -0
  145. package/dist/web-components/editor/gridstack-adapter.test.d.ts.map +1 -0
  146. package/dist/web-components/editor/morph.d.ts +32 -0
  147. package/dist/web-components/editor/morph.d.ts.map +1 -0
  148. package/dist/web-components/editor/morph.test.d.ts +2 -0
  149. package/dist/web-components/editor/morph.test.d.ts.map +1 -0
  150. package/dist/web-components/layout/layout-controller.d.ts +55 -0
  151. package/dist/web-components/layout/layout-controller.d.ts.map +1 -0
  152. package/dist/web-components/layout/view-layout-controller.d.ts +17 -0
  153. package/dist/web-components/layout/view-layout-controller.d.ts.map +1 -0
  154. package/dist/web-components/layout/view-layout-controller.test.d.ts +2 -0
  155. package/dist/web-components/layout/view-layout-controller.test.d.ts.map +1 -0
  156. package/dist/web-components/layout-grid.d.ts +47 -0
  157. package/dist/web-components/layout-grid.d.ts.map +1 -0
  158. package/dist/web-components/layout-grid.test.d.ts +2 -0
  159. package/dist/web-components/layout-grid.test.d.ts.map +1 -0
  160. package/dist/web-components/layout-mode-adapter.d.ts +51 -0
  161. package/dist/web-components/layout-mode-adapter.d.ts.map +1 -0
  162. package/dist/web-components/layout-mode-adapter.test.d.ts +2 -0
  163. package/dist/web-components/layout-mode-adapter.test.d.ts.map +1 -0
  164. package/dist/web-components-editor.js +125 -18
  165. package/dist/web-components-runtime.js +4 -4
  166. package/package.json +3 -2
  167. package/dist/ExtensionRoot-peABLAZZ.js +0 -231
  168. package/dist/block-B6s9jL7l.js +0 -966
  169. package/dist/block.devtools.test.d.ts +0 -2
  170. package/dist/block.devtools.test.d.ts.map +0 -1
  171. package/dist/context.devtools.test.d.ts +0 -2
  172. package/dist/context.devtools.test.d.ts.map +0 -1
  173. package/dist/devtools/env.d.ts +0 -3
  174. package/dist/devtools/env.d.ts.map +0 -1
  175. package/dist/devtools/hook.d.ts +0 -35
  176. package/dist/devtools/hook.d.ts.map +0 -1
  177. package/dist/devtools/index.d.ts +0 -4
  178. package/dist/devtools/index.d.ts.map +0 -1
  179. package/dist/devtools/protocol.d.ts +0 -91
  180. package/dist/devtools/protocol.d.ts.map +0 -1
  181. package/dist/devtools.js +0 -44
  182. package/dist/editor/overlays.d.ts +0 -14
  183. package/dist/editor/overlays.d.ts.map +0 -1
  184. package/dist/editor/overlays.test.d.ts +0 -2
  185. package/dist/editor/overlays.test.d.ts.map +0 -1
  186. package/dist/juo-workflow-DY4rd256.js +0 -868
  187. package/dist/overlay-wrapper.d.ts +0 -69
  188. package/dist/overlay-wrapper.d.ts.map +0 -1
  189. package/dist/overlay-wrapper.test.d.ts +0 -2
  190. package/dist/overlay-wrapper.test.d.ts.map +0 -1
  191. package/dist/overlays/OverlayService.d.ts +0 -34
  192. package/dist/overlays/OverlayService.d.ts.map +0 -1
  193. package/dist/overlays/OverlayService.test.d.ts +0 -2
  194. package/dist/overlays/OverlayService.test.d.ts.map +0 -1
  195. package/dist/registry.devtools.test.d.ts +0 -2
  196. package/dist/registry.devtools.test.d.ts.map +0 -1
  197. package/dist/services/customer/adapter.d.ts +0 -8
  198. package/dist/services/customer/adapter.d.ts.map +0 -1
  199. package/dist/services/login/adapter.d.ts +0 -32
  200. package/dist/services/login/adapter.d.ts.map +0 -1
  201. package/dist/services/order/adapter.d.ts +0 -9
  202. package/dist/services/order/adapter.d.ts.map +0 -1
  203. package/dist/services/order/index.d.ts +0 -5
  204. package/dist/services/order/index.d.ts.map +0 -1
  205. package/dist/services/order/orderService.d.ts +0 -7
  206. package/dist/services/order/orderService.d.ts.map +0 -1
  207. package/dist/services/order/types.d.ts +0 -21
  208. package/dist/services/order/types.d.ts.map +0 -1
  209. package/dist/services/product/adapter.test.d.ts +0 -2
  210. package/dist/services/product/adapter.test.d.ts.map +0 -1
  211. package/dist/services/schedules/adapter.d.ts +0 -71
  212. package/dist/services/schedules/adapter.d.ts.map +0 -1
  213. package/dist/services/schedules/adapter.test.d.ts +0 -2
  214. package/dist/services/schedules/adapter.test.d.ts.map +0 -1
  215. package/dist/services/schedules/index.d.ts +0 -5
  216. package/dist/services/schedules/index.d.ts.map +0 -1
  217. package/dist/services/schedules/schedulesService.d.ts +0 -11
  218. package/dist/services/schedules/schedulesService.d.ts.map +0 -1
  219. package/dist/services/schedules/schedulesService.test.d.ts +0 -2
  220. package/dist/services/schedules/schedulesService.test.d.ts.map +0 -1
  221. package/dist/services/schedules/types.d.ts +0 -226
  222. package/dist/services/schedules/types.d.ts.map +0 -1
  223. package/dist/services/settings/index.d.ts +0 -3
  224. package/dist/services/settings/index.d.ts.map +0 -1
  225. package/dist/services/settings/settingsService.d.ts +0 -7
  226. package/dist/services/settings/settingsService.d.ts.map +0 -1
  227. package/dist/services/settings/settingsService.test.d.ts +0 -2
  228. package/dist/services/settings/settingsService.test.d.ts.map +0 -1
  229. package/dist/services/settings/types.d.ts +0 -35
  230. package/dist/services/settings/types.d.ts.map +0 -1
  231. package/dist/services/shop/index.d.ts +0 -3
  232. package/dist/services/shop/index.d.ts.map +0 -1
  233. package/dist/services/shop/shopService.d.ts +0 -12
  234. package/dist/services/shop/shopService.d.ts.map +0 -1
  235. package/dist/services/shop/shopService.test.d.ts +0 -2
  236. package/dist/services/shop/shopService.test.d.ts.map +0 -1
  237. package/dist/services/shop/types.d.ts +0 -7
  238. package/dist/services/shop/types.d.ts.map +0 -1
  239. package/dist/services/subscription/adapter.test.d.ts +0 -2
  240. package/dist/services/subscription/adapter.test.d.ts.map +0 -1
  241. package/dist/services/subscription/types.test.d.ts +0 -2
  242. package/dist/services/subscription/types.test.d.ts.map +0 -1
  243. package/dist/theme-state.params.test.d.ts +0 -2
  244. package/dist/theme-state.params.test.d.ts.map +0 -1
  245. package/dist/theme-state.translations.test.d.ts +0 -2
  246. package/dist/theme-state.translations.test.d.ts.map +0 -1
@@ -52,13 +52,6 @@ export interface EditorBridge {
52
52
  onMessage: (handler: (message: EditorMessage) => void) => {
53
53
  unsubscribe: () => void;
54
54
  };
55
- /**
56
- * Current selected block id (the last SELECT_BLOCK, from either the parent or
57
- * a local optimistic click). `onMessage` is fire-and-forget — it does not
58
- * replay — so components that mount AFTER a selection was made read it here to
59
- * sync their initial state instead of waiting for a message they already missed.
60
- */
61
- getSelectedBlockId: () => string | null;
62
55
  onBlockPresetChange<TPresets = unknown>(blockId: string, callback: (preset: PresetData<ExtractPresetState<TPresets>, ExtractPresetContext<TPresets>> | null) => void): {
63
56
  unsubscribe: () => void;
64
57
  };
@@ -68,6 +61,14 @@ export interface EditorBridge {
68
61
  upsertThemeState: (surface: ThemeSurface, id: string, blocks: Block[]) => void;
69
62
  requestTranslationOverrides: (locale: string) => Promise<TranslationOverride[]>;
70
63
  requestGlobalStyles: () => Promise<GlobalStyles>;
64
+ /**
65
+ * Preserve the iframe scroll position across a re-render that transiently
66
+ * collapses content height (e.g. toggling layout mode). Capture is synchronous,
67
+ * so call this BEFORE triggering the re-render; the position is restored once
68
+ * layout settles, with scroll-report echoes suppressed so the parent isn't
69
+ * dragged to the transient clamped (top) position.
70
+ */
71
+ preserveScrollAcrossReflow: () => void;
71
72
  /**
72
73
  * Tears down the bridge: removes event listeners, rejects pending requests,
73
74
  * clears message handlers, and resets the singleton so a new bridge can be created.
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/editor/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EAGd,MAAM,YAAY,CAAC;AAWpB,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,MAAM,WAAW,UAAU,CACzB,MAAM,GAAG,OAAO,EAChB,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAElC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,QAAQ,CAAC;CACnB;AAED,MAAM,MAAM,kBAAkB,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,QAAQ,CAAC,SAAS;IAC1E,KAAK,EAAE,MAAM,CAAC,CAAC;CAChB,GACG,CAAC,GACD,KAAK,CAAC;AAEV,MAAM,MAAM,oBAAoB,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,QAAQ,CAAC,SAAS;IAC5E,OAAO,EAAE,MAAM,CAAC,CAAC;CAClB,GACG,CAAC,GACD,KAAK,CAAC;AAEV,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,WAAW,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,KAAK;QACxD,WAAW,EAAE,MAAM,IAAI,CAAC;KACzB,CAAC;IACF;;;;;OAKG;IACH,kBAAkB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACxC,mBAAmB,CAAC,QAAQ,GAAG,OAAO,EACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CACR,MAAM,EAAE,UAAU,CAChB,kBAAkB,CAAC,QAAQ,CAAC,EAC5B,oBAAoB,CAAC,QAAQ,CAAC,CAC/B,GAAG,IAAI,KACL,IAAI,GACR;QAAE,WAAW,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAC/B,iBAAiB,EAAE,CACjB,OAAO,EAAE,YAAY,EACrB,EAAE,EAAE,MAAM,KACP,OAAO,CAAC;QAAE,MAAM,EAAE,KAAK,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACzC,gBAAgB,EAAE,CAChB,OAAO,EAAE,YAAY,EACrB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,KAAK,EAAE,KACZ,IAAI,CAAC;IACV,2BAA2B,EAAE,CAC3B,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACpC,mBAAmB,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IACjD;;;OAGG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAID;;;GAGG;AACH,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAErD;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAoejD"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/editor/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EAGd,MAAM,YAAY,CAAC;AAapB,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAGtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,MAAM,WAAW,UAAU,CACzB,MAAM,GAAG,OAAO,EAChB,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAElC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,QAAQ,CAAC;CACnB;AAED,MAAM,MAAM,kBAAkB,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,QAAQ,CAAC,SAAS;IAC1E,KAAK,EAAE,MAAM,CAAC,CAAC;CAChB,GACG,CAAC,GACD,KAAK,CAAC;AAEV,MAAM,MAAM,oBAAoB,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,QAAQ,CAAC,SAAS;IAC5E,OAAO,EAAE,MAAM,CAAC,CAAC;CAClB,GACG,CAAC,GACD,KAAK,CAAC;AAEV,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,WAAW,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,KAAK;QACxD,WAAW,EAAE,MAAM,IAAI,CAAC;KACzB,CAAC;IACF,mBAAmB,CAAC,QAAQ,GAAG,OAAO,EACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CACR,MAAM,EAAE,UAAU,CAChB,kBAAkB,CAAC,QAAQ,CAAC,EAC5B,oBAAoB,CAAC,QAAQ,CAAC,CAC/B,GAAG,IAAI,KACL,IAAI,GACR;QAAE,WAAW,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAC/B,iBAAiB,EAAE,CACjB,OAAO,EAAE,YAAY,EACrB,EAAE,EAAE,MAAM,KACP,OAAO,CAAC;QAAE,MAAM,EAAE,KAAK,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACzC,gBAAgB,EAAE,CAChB,OAAO,EAAE,YAAY,EACrB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,KAAK,EAAE,KACZ,IAAI,CAAC;IACV,2BAA2B,EAAE,CAC3B,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACpC,mBAAmB,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IACjD;;;;;;OAMG;IACH,0BAA0B,EAAE,MAAM,IAAI,CAAC;IACvC;;;OAGG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAID;;;GAGG;AACH,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAErD;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CA8gBjD"}
@@ -0,0 +1,22 @@
1
+ import { Signal } from '@preact/signals-core';
2
+ /**
3
+ * Iframe-side flag: is the editor canvas currently in layouting mode?
4
+ *
5
+ * `ExtensionRoot` reads this reactively; when on AND the host opts into
6
+ * grid-layout AND a LayoutDocument exists AND a LayoutModeAdapter is
7
+ * registered, rendering is delegated to the adapter instead of the CSS Grid
8
+ * path.
9
+ *
10
+ * Owned by core (`@juo/blocks`) so it is a SINGLE shared instance across the
11
+ * separately-loaded production bundles. The arrange handle / `enterLayout`
12
+ * live in `editor.js` and write this; `ExtensionRoot` lives in
13
+ * `web-components-editor.js` and subscribes to it. Because `@juo/blocks` is
14
+ * `external` in the build, both bundles resolve this import to the one copy in
15
+ * `core.js` — the same mechanism `themeState` and the re-exported signals
16
+ * runtime already rely on to cross the bundle boundary. It lives in its own
17
+ * dependency-free module (no editor `bridge` import) so owning it in core does
18
+ * not pull editor-only code into `core.js`; the bridge-dependent behavior
19
+ * (`setCanvasMode`/`resetCanvasMode`) stays in `./canvas-mode`.
20
+ */
21
+ export declare const canvasMode: Signal<boolean>;
22
+ //# sourceMappingURL=canvas-mode-signal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-mode-signal.d.ts","sourceRoot":"","sources":["../../src/editor/canvas-mode-signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAU,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,OAAO,CAA0B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { canvasMode } from '../main.ts';
2
+ /**
3
+ * Editor-side behavior for the canvas layouting flag.
4
+ *
5
+ * The `canvasMode` signal itself is owned by core (`./canvas-mode-signal`,
6
+ * re-exported from `@juo/blocks`) so it is a single shared instance across the
7
+ * separately-loaded `editor.js` / `web-components-editor.js` bundles. This
8
+ * module only holds the mutators, which depend on the editor `bridge` and must
9
+ * therefore stay out of `core.js`. It re-exports `canvasMode` so existing
10
+ * importers of `./canvas-mode` keep working.
11
+ */
12
+ export { canvasMode };
13
+ export declare function setCanvasMode(enabled: boolean): void;
14
+ export declare function resetCanvasMode(): void;
15
+ //# sourceMappingURL=canvas-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-mode.d.ts","sourceRoot":"","sources":["../../src/editor/canvas-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC;;;;;;;;;GASG;AACH,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAOpD;AAED,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=canvas-mode.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-mode.test.d.ts","sourceRoot":"","sources":["../../src/editor/canvas-mode.test.ts"],"names":[],"mappings":""}
@@ -51,4 +51,117 @@ declare global {
51
51
  "juo-editor-block-wrapper": BlockWrapper;
52
52
  }
53
53
  }
54
+ export declare class LayoutBlockWrapper extends HTMLElement {
55
+ private block;
56
+ private editorBridge;
57
+ private skeletonTitle;
58
+ private skeletonLines;
59
+ private skeletonResizeObserver;
60
+ private toolbar;
61
+ private toolbarRafId;
62
+ private toolbarScrollListening;
63
+ private hoverOutlineTarget;
64
+ private selectionOutlineTarget;
65
+ static get observedAttributes(): string[];
66
+ attributeChangedCallback(name: string): void;
67
+ private skeletonRafId;
68
+ private scheduleSkeletonRecompute;
69
+ constructor();
70
+ private setupTemplate;
71
+ /**
72
+ * Build the center hover toolbar. Buttons (left→right): layout toggle (grip,
73
+ * leading), add-below, delete, fill-horizontal.
74
+ * pointerdown/click are stopped at the container so selecting a tool never
75
+ * bubbles to the bridge's global-click selection.
76
+ */
77
+ private buildToolbar;
78
+ private createToolButton;
79
+ /**
80
+ * Pointerdown on the layout toggle grip.
81
+ *
82
+ * - View mode: "arm" layout mode — the canvas morphs into GridStack, after
83
+ * which the merchant drags/resizes natively. Passing THIS element (not its
84
+ * id) lets the morph controller scroll + pop the exact block grabbed.
85
+ * stopPropagation keeps the bridge's global-click selection — and the morph
86
+ * controller's click-away exit — from also firing.
87
+ * - Layout mode: the grip IS GridStack's drag handle, so we do nothing here and
88
+ * let the event fall through. GridStack starts the drag off `mousedown` (a
89
+ * separate event from this `pointerdown`), so it is unaffected by the
90
+ * toolbar's pointerdown stop; toggling back to view would abort the drag
91
+ * before it begins.
92
+ */
93
+ private handleMorphGrab;
94
+ /** Open the add-block menu anchored to the toolbar button, inserting AFTER. */
95
+ private handleAddBelow;
96
+ /**
97
+ * Traverse up the DOM (crossing shadow-root boundaries) to resolve the
98
+ * containing block wrapper's id, then send REMOVE_BLOCK. Mirrors the legacy
99
+ * wrapper's removal, but recognizes either wrapper tag (grid nesting uses the
100
+ * layout wrapper).
101
+ */
102
+ private handleRemoveBlock;
103
+ /** Resolve the parent element, crossing shadow-root boundaries. */
104
+ private getParentElement;
105
+ /**
106
+ * Toggle the block's sticky fill flag. Emitted as a layout command; the parent
107
+ * engine flips the flag, expands the block into its free row-band space, pushes
108
+ * the change to history + re-syncs the iframe.
109
+ */
110
+ private handleFillWidth;
111
+ connectedCallback(): void;
112
+ disconnectedCallback(): void;
113
+ private handleHoverEnter;
114
+ private handleHoverLeave;
115
+ /**
116
+ * Center the toolbar on the block's VISIBLE portion so it stays reachable when
117
+ * the block is taller than / partially scrolled out of the viewport. When the
118
+ * block is fully on screen this equals its geometric center.
119
+ */
120
+ private positionToolbar;
121
+ private startToolbarTracking;
122
+ private stopToolbarTracking;
123
+ private scheduleToolbarReposition;
124
+ private paintTarget;
125
+ private updateActiveState;
126
+ /**
127
+ * Height-tiers for the placeholder bar count. Deliberately sparse: the bars
128
+ * are a hint at "a block lives here", not a faithful line count, so we show
129
+ * few and cap hard to avoid a noisy wall of identical bars on tall blocks.
130
+ * Cells too short for >= 2 bars render header-only (no lonely single bar).
131
+ */
132
+ private static readonly SKELETON_LINE_H;
133
+ private static readonly SKELETON_GAP;
134
+ private static readonly SKELETON_MAX_BARS;
135
+ /**
136
+ * Per-block width sequence. Widths are read from this palette starting at a
137
+ * block-type-seeded offset so neighbouring blocks of different types get a
138
+ * different width rhythm (deterministic — the same block type always renders
139
+ * the same sequence). Chosen to look like varied text lines, none too short.
140
+ */
141
+ private static readonly SKELETON_BAR_WIDTHS;
142
+ /**
143
+ * Match the placeholder bars to the (dynamic) cell height. Bars are a fixed
144
+ * height with a uniform gap and stay top-aligned under the header, so every
145
+ * skeleton reads identically. The count scales gently with height but is
146
+ * halved and capped so tall cells don't fill with noise; very short cells
147
+ * (< 2 bars) drop the bars entirely and show just the header. Count depends
148
+ * only on the cell height (not on the bars), so there is no measure→mutate
149
+ * feedback loop.
150
+ */
151
+ private recomputeSkeletonLines;
152
+ /**
153
+ * Stable offset into {@link LayoutBlockWrapper.SKELETON_BAR_WIDTHS} derived
154
+ * from the block type, so each block type has its own width rhythm and
155
+ * adjacent (differently-typed) blocks don't line up.
156
+ */
157
+ private skeletonWidthOffset;
158
+ /** Assign each bar its width from the block-type-seeded sequence. */
159
+ private applyBarWidths;
160
+ setBlock(block: BlockInstance): void;
161
+ }
162
+ declare global {
163
+ interface HTMLElementTagNameMap {
164
+ "juo-editor-layout-block-wrapper": LayoutBlockWrapper;
165
+ }
166
+ }
54
167
  //# sourceMappingURL=components.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/editor/components.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAygB9C,qBAAa,YAAa,SAAQ,WAAW;IAC3C,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,uBAAuB,CAA0C;IACzE,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,OAAO,CAA4B;IAE3C,MAAM,KAAK,kBAAkB,aAE5B;;IASD,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,aAAa;IA8GrB,OAAO,CAAC,eAAe;IAsCvB,OAAO,CAAC,cAAc;IAgCtB,OAAO,CAAC,uBAAuB;IAO/B,iBAAiB;IAqDjB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAuBnC,OAAO,CAAC,kBAAkB,CAA4B;IAEtD,OAAO,CAAC,gBAAgB,CAUtB;IAEF,OAAO,CAAC,gBAAgB,CAKtB;IAEF,oBAAoB;IAUpB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,SAAS;IAWjB,QAAQ,CAAC,KAAK,EAAE,aAAa;IAa7B,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,iBAAiB;CAmD1B;AAMD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,0BAA0B,EAAE,YAAY,CAAC;KAC1C;CACF"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/editor/components.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"components.test.d.ts","sourceRoot":"","sources":["../../src/editor/components.test.ts"],"names":[],"mappings":"AAEA,OAAO,cAAc,CAAC"}
1
+ {"version":3,"file":"components.test.d.ts","sourceRoot":"","sources":["../../src/editor/components.test.ts"],"names":[],"mappings":"AAGA,OAAO,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/editor/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACrD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB;6BAsE/B,aAAa;EAqS9C"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/editor/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAKL,KAAK,UAAU,EAEhB,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACrD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB;6BAsE/B,aAAa;EAgU9C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=handler.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.test.d.ts","sourceRoot":"","sources":["../../src/editor/handler.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ import { GridRect, LayoutCommand } from '../layout';
2
+ import { ThemeSurface } from '../theme-state';
3
+ /**
4
+ * Payload the editor canvas adapter emits to the parent when a gesture
5
+ * commits. Translates to a LAYOUT_COMMAND { kind: "setRects" } message
6
+ * over the editor bridge.
7
+ */
8
+ export type LayoutSetRectsEvent = {
9
+ surface: ThemeSurface;
10
+ id: string;
11
+ rects: Record<string, GridRect>;
12
+ };
13
+ export type LayoutCommandEmitter = (event: LayoutSetRectsEvent) => void;
14
+ export declare function setLayoutCommandEmitter(emitter: LayoutCommandEmitter | null): void;
15
+ export declare function emitLayoutSetRects(event: LayoutSetRectsEvent): void;
16
+ /**
17
+ * Payload for emitting an arbitrary {@link LayoutCommand} (e.g. `fillWidth`
18
+ * from the block toolbar). Translates to a LAYOUT_COMMAND message carrying the
19
+ * command verbatim, so the parent engine resolves grid context (cols) and
20
+ * history. Kept as a separate dispatcher from the setRects emitter above so the
21
+ * gesture-commit fast path stays untouched.
22
+ */
23
+ export type LayoutCommandEvent = {
24
+ surface: ThemeSurface;
25
+ id: string;
26
+ command: LayoutCommand;
27
+ };
28
+ export type LayoutCommandDispatcher = (event: LayoutCommandEvent) => void;
29
+ export declare function setLayoutCommandDispatcher(dispatcher: LayoutCommandDispatcher | null): void;
30
+ export declare function emitLayoutCommand(event: LayoutCommandEvent): void;
31
+ //# sourceMappingURL=layout-command-emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-command-emitter.d.ts","sourceRoot":"","sources":["../../src/editor/layout-command-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,YAAY,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;AAcxE,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,oBAAoB,GAAG,IAAI,GACnC,IAAI,CAEN;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAEnE;AAED;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,YAAY,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAI1E,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,uBAAuB,GAAG,IAAI,GACzC,IAAI,CAEN;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAEjE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=layout-command-emitter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-command-emitter.test.d.ts","sourceRoot":"","sources":["../../src/editor/layout-command-emitter.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import { Signal } from '@preact/signals-core';
2
+ /**
3
+ * Iframe/editor-side flag: is the active theme using the grid-based layout
4
+ * engine (`GlobalStyles.layoutEngine === "grid-v1"`)?
5
+ *
6
+ * Drives wrapper selection at block-creation time: `withWrapper`
7
+ * (`blocks/core/src/block.ts`) and the editor's `handleBlockWrapperRender`
8
+ * (`blocks/editor/lib/Editor.ce.vue`) create the minimal
9
+ * `juo-editor-layout-block-wrapper` when this is `true`, and the classic
10
+ * `juo-editor-block-wrapper` otherwise.
11
+ *
12
+ * Owned by core (`@juo/blocks`) so it is a SINGLE shared instance across the
13
+ * separately-loaded production bundles — the same cross-bundle mechanism used
14
+ * by `canvasMode` (see `./canvas-mode-signal`). It lives in its own
15
+ * dependency-free module so owning it in core doesn't pull editor-only code
16
+ * into `core.js`. It is mirrored from the theme's `GlobalStyles.layoutEngine`
17
+ * by an effect in `theme-state.ts`.
18
+ */
19
+ export declare const layoutSystemEnabled: Signal<boolean>;
20
+ export declare function setLayoutSystemEnabled(enabled: boolean): void;
21
+ //# sourceMappingURL=layout-system-signal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-system-signal.d.ts","sourceRoot":"","sources":["../../src/editor/layout-system-signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAU,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAA0B,CAAC;AAE3E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAM7D"}
@@ -1,5 +1,6 @@
1
- import { ThemeState, RouterService, OverlayService } from '../main.ts';
1
+ import { ThemeState, RouterService } from '../main.ts';
2
2
  export * from './messages';
3
+ export * from './canvas-mode';
3
4
  export * from './bridge';
4
5
  export * from './handler';
5
6
  export * from './components';
@@ -17,6 +18,5 @@ export declare function buildEditorCanvasStyleContent(backgroundColor: string):
17
18
  export declare function setupEditorMode(deps: {
18
19
  routerService: RouterService;
19
20
  themeState: ThemeState;
20
- overlayService: OverlayService;
21
21
  }): Promise<() => void>;
22
22
  //# sourceMappingURL=main.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/editor/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,cAAc,EAKpB,MAAM,aAAa,CAAC;AASrB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAmD7B,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,kFAAkF;AAClF,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAM7E;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE;IACJ,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;CAChC,GACA,OAAO,CAAC,MAAM,IAAI,CAAC,CAyErB"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/editor/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,aAAa,EAQnB,MAAM,aAAa,CAAC;AASrB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAmD7B,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,kFAAkF;AAClF,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAM7E;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE;IAAE,aAAa,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,GAC7D,OAAO,CAAC,MAAM,IAAI,CAAC,CAgFrB"}
@@ -1,6 +1,7 @@
1
1
  import { Block, BlockPresets } from '../block';
2
2
  import { GlobalStyles, ThemeSurface, TranslationOverride } from '../theme-state';
3
- export type MessageType = "PROVIDE_THEME_STATE" | "SELECT_BLOCK" | "UPDATE_BLOCK_PROPS" | "ADD_BLOCK" | "REMOVE_BLOCK" | "MOVE_BLOCK" | "IFRAME_READY" | "REGISTER_BLOCKS" | "REGISTER_ROUTES" | "REGISTER_OVERLAYS" | "SET_BLOCK_PRESET" | "SET_LOCALE" | "REQUEST_THEME_STATE" | "UPSERT_THEME_STATE" | "REQUEST_TRANSLATION_OVERRIDES" | "PROVIDE_TRANSLATION_OVERRIDES" | "UPDATE_BLOCK_TRANSLATION" | "REGISTER_BLOCK_TRANSLATION_KEYS" | "FOCUS_INLINE_TEXT" | "SET_GLOBAL_STYLES" | "REQUEST_GLOBAL_STYLES" | "PROVIDE_GLOBAL_STYLES" | "PROVIDE_INITIAL_GLOBAL_STYLES" | "SCROLL_SYNC" | "REPORT_CONTENT_HEIGHT" | "REQUEST_CONTENT_HEIGHT" | "OPEN_ADD_BLOCK_MENU" | "ADD_BLOCK_MENU_CLOSED";
3
+ import { GridStackProjection, LayoutCommand, LayoutDocument } from '../layout';
4
+ export type MessageType = "PROVIDE_THEME_STATE" | "SELECT_BLOCK" | "UPDATE_BLOCK_PROPS" | "ADD_BLOCK" | "REMOVE_BLOCK" | "MOVE_BLOCK" | "IFRAME_READY" | "REGISTER_BLOCKS" | "REGISTER_ROUTES" | "SET_BLOCK_PRESET" | "SET_LOCALE" | "REQUEST_THEME_STATE" | "UPSERT_THEME_STATE" | "REQUEST_TRANSLATION_OVERRIDES" | "PROVIDE_TRANSLATION_OVERRIDES" | "UPDATE_BLOCK_TRANSLATION" | "REGISTER_BLOCK_TRANSLATION_KEYS" | "FOCUS_INLINE_TEXT" | "SET_GLOBAL_STYLES" | "REQUEST_GLOBAL_STYLES" | "PROVIDE_GLOBAL_STYLES" | "PROVIDE_INITIAL_GLOBAL_STYLES" | "SCROLL_SYNC" | "REPORT_CONTENT_HEIGHT" | "REQUEST_CONTENT_HEIGHT" | "OPEN_ADD_BLOCK_MENU" | "ADD_BLOCK_MENU_CLOSED" | "REQUEST_CLOSE_ADD_BLOCK_MENU" | "PROVIDE_LAYOUT" | "PROVIDE_LAYOUT_DOCUMENT" | "SET_LAYOUTING_MODE" | "LAYOUTING_MODE_CHANGED" | "LAYOUT_COMMAND" | "REPORT_BLOCK_CONTENT_SIZE";
4
5
  export interface BaseMessage {
5
6
  type: MessageType;
6
7
  timestamp: number;
@@ -12,6 +13,7 @@ export interface ProvideThemeStateMessage extends BaseMessage {
12
13
  surface: ThemeSurface;
13
14
  id: string;
14
15
  blocks: Block[] | null;
16
+ layout?: LayoutDocument | null;
15
17
  };
16
18
  }
17
19
  export interface RequestThemeStateMessage extends BaseMessage {
@@ -170,16 +172,6 @@ export interface RegisterRoutesMessage extends BaseMessage {
170
172
  }>;
171
173
  };
172
174
  }
173
- export interface RegisterOverlaysMessage extends BaseMessage {
174
- type: "REGISTER_OVERLAYS";
175
- payload: {
176
- overlays: Record<string, {
177
- block: string;
178
- title: string;
179
- contentBlock: string;
180
- }>;
181
- };
182
- }
183
175
  export interface SetGlobalStylesMessage extends BaseMessage {
184
176
  type: "SET_GLOBAL_STYLES";
185
177
  payload: {
@@ -205,8 +197,74 @@ export interface ProvideInitialGlobalStylesMessage extends BaseMessage {
205
197
  styles: GlobalStyles;
206
198
  };
207
199
  }
208
- export type EditorMessage = ProvideThemeStateMessage | ProvideTranslationOverridesMessage | SelectBlockMessage | UpdateBlockPropsMessage | AddBlockMessage | RemoveBlockMessage | MoveBlockMessage | SetBlockPresetMessage | SetLocaleMessage | SetGlobalStylesMessage | ProvideGlobalStylesMessage | ScrollSyncMessage | RequestContentHeightMessage | AddBlockMenuClosedMessage;
209
- export type IframeMessage = SelectBlockMessage | IframeReadyMessage | RegisterBlocksMessage | RegisterRoutesMessage | RegisterOverlaysMessage | RemoveBlockMessage | UpdateBlockPropsMessage | RequestThemeStateMessage | UpsertThemeStateMessage | RequestTranslationOverridesMessage | UpdateBlockTranslationMessage | RegisterBlockTranslationKeysMessage | FocusInlineTextMessage | RequestGlobalStylesMessage | ProvideInitialGlobalStylesMessage | ReportContentHeightMessage | ScrollSyncMessage | OpenAddBlockMenuMessage;
200
+ /** editor → iframe: push the projected GridStack layout (Y) for a breakpoint after any X change. */
201
+ export interface ProvideLayoutMessage extends BaseMessage {
202
+ type: "PROVIDE_LAYOUT";
203
+ payload: {
204
+ surface: ThemeSurface;
205
+ id: string;
206
+ breakpoint: string;
207
+ projection: GridStackProjection;
208
+ };
209
+ }
210
+ /**
211
+ * editor → iframe: ship the authoritative LayoutDocument (X) so the iframe's
212
+ * ThemeSurfaceState.layout signal stays in lockstep with the parent. Sent
213
+ * alongside PROVIDE_LAYOUT (Y) on every layout sync.
214
+ */
215
+ export interface ProvideLayoutDocumentMessage extends BaseMessage {
216
+ type: "PROVIDE_LAYOUT_DOCUMENT";
217
+ payload: {
218
+ surface: ThemeSurface;
219
+ id: string;
220
+ layout: LayoutDocument | null;
221
+ };
222
+ }
223
+ /**
224
+ * editor → iframe: toggle the iframe's canvas-mode flag so ExtensionRoot
225
+ * delegates to a registered LayoutModeAdapter (e.g. GridStack) instead of
226
+ * rendering CSS Grid.
227
+ */
228
+ export interface SetLayoutingModeMessage extends BaseMessage {
229
+ type: "SET_LAYOUTING_MODE";
230
+ payload: {
231
+ enabled: boolean;
232
+ };
233
+ }
234
+ /**
235
+ * iframe → editor: the iframe morphed layouting mode on/off from an in-canvas
236
+ * gesture (grab-to-morph) or idle-settle, so the parent's `layoutingMode` and
237
+ * the "Edit layout" button label stay in sync. The parent calls
238
+ * `setLayoutingMode(enabled)`, which is idempotent and whose down-echo
239
+ * `SET_LAYOUTING_MODE` is absorbed by `setCanvasMode`'s early-return — no loop.
240
+ */
241
+ export interface LayoutingModeChangedMessage extends BaseMessage {
242
+ type: "LAYOUTING_MODE_CHANGED";
243
+ payload: {
244
+ enabled: boolean;
245
+ };
246
+ }
247
+ /** iframe → editor: commit a gesture as a LayoutCommand (e.g. setRects diff on drop, resize). */
248
+ export interface LayoutCommandMessage extends BaseMessage {
249
+ type: "LAYOUT_COMMAND";
250
+ payload: {
251
+ surface: ThemeSurface;
252
+ id: string;
253
+ command: LayoutCommand;
254
+ };
255
+ }
256
+ /** iframe → editor: per-block measured content height for content-aware `h` (Phase 4 consumes this). */
257
+ export interface ReportBlockContentSizeMessage extends BaseMessage {
258
+ type: "REPORT_BLOCK_CONTENT_SIZE";
259
+ payload: {
260
+ surface: ThemeSurface;
261
+ id: string;
262
+ blockId: string;
263
+ height: number;
264
+ };
265
+ }
266
+ export type EditorMessage = ProvideThemeStateMessage | ProvideTranslationOverridesMessage | SelectBlockMessage | UpdateBlockPropsMessage | AddBlockMessage | RemoveBlockMessage | MoveBlockMessage | SetBlockPresetMessage | SetLocaleMessage | SetGlobalStylesMessage | ProvideGlobalStylesMessage | ScrollSyncMessage | RequestContentHeightMessage | AddBlockMenuClosedMessage | ProvideLayoutMessage | ProvideLayoutDocumentMessage | SetLayoutingModeMessage;
267
+ export type IframeMessage = SelectBlockMessage | IframeReadyMessage | RegisterBlocksMessage | RegisterRoutesMessage | RemoveBlockMessage | UpdateBlockPropsMessage | RequestThemeStateMessage | UpsertThemeStateMessage | RequestTranslationOverridesMessage | UpdateBlockTranslationMessage | RegisterBlockTranslationKeysMessage | FocusInlineTextMessage | RequestGlobalStylesMessage | ProvideInitialGlobalStylesMessage | ReportContentHeightMessage | ScrollSyncMessage | OpenAddBlockMenuMessage | RequestCloseAddBlockMenuMessage | LayoutCommandMessage | LayoutingModeChangedMessage | ReportBlockContentSizeMessage;
210
268
  export type AnyMessage = EditorMessage | IframeMessage;
211
269
  export declare function isEditorMessage(message: AnyMessage): message is EditorMessage;
212
270
  export declare function isIframeMessage(message: AnyMessage): message is IframeMessage;
@@ -227,7 +285,6 @@ export declare function createSetLocaleMessage(payload: SetLocaleMessage["payloa
227
285
  export declare function createRegisterBlockTranslationKeysMessage(payload: RegisterBlockTranslationKeysMessage["payload"]): RegisterBlockTranslationKeysMessage;
228
286
  export declare function createFocusInlineTextMessage(payload: FocusInlineTextMessage["payload"], blockId: string): FocusInlineTextMessage;
229
287
  export declare function createRegisterRoutesMessage(payload: RegisterRoutesMessage["payload"]): RegisterRoutesMessage;
230
- export declare function createRegisterOverlaysMessage(payload: RegisterOverlaysMessage["payload"]): RegisterOverlaysMessage;
231
288
  export declare function createSetGlobalStylesMessage(payload: SetGlobalStylesMessage["payload"]): SetGlobalStylesMessage;
232
289
  export declare function createRequestGlobalStylesMessage(payload: RequestGlobalStylesMessage["payload"]): RequestGlobalStylesMessage;
233
290
  export interface ScrollSyncMessage extends BaseMessage {
@@ -276,10 +333,29 @@ export interface AddBlockMenuClosedMessage extends BaseMessage {
276
333
  position: "before" | "after";
277
334
  };
278
335
  }
336
+ /**
337
+ * Sent from the iframe to the editor (parent) to dismiss the floating canvas
338
+ * AddMenu. The menu lives in the parent window, so its normal click-outside
339
+ * detection never sees pointer events that happen inside the iframe — most
340
+ * notably a click on the SAME block the menu was opened from (which does not
341
+ * change selection). The iframe forwards those canvas clicks so the parent can
342
+ * close the menu.
343
+ */
344
+ export interface RequestCloseAddBlockMenuMessage extends BaseMessage {
345
+ type: "REQUEST_CLOSE_ADD_BLOCK_MENU";
346
+ payload: Record<string, never>;
347
+ }
279
348
  export declare function createProvideGlobalStylesMessage(payload: ProvideGlobalStylesMessage["payload"]): ProvideGlobalStylesMessage;
280
349
  export declare function createProvideInitialGlobalStylesMessage(payload: ProvideInitialGlobalStylesMessage["payload"]): ProvideInitialGlobalStylesMessage;
281
350
  export declare function createScrollSyncMessage(payload: ScrollSyncMessage["payload"]): ScrollSyncMessage;
282
351
  export declare function createReportContentHeightMessage(payload: ReportContentHeightMessage["payload"]): ReportContentHeightMessage;
283
352
  export declare function createOpenAddBlockMenuMessage(payload: OpenAddBlockMenuMessage["payload"]): OpenAddBlockMenuMessage;
284
353
  export declare function createAddBlockMenuClosedMessage(payload: AddBlockMenuClosedMessage["payload"]): AddBlockMenuClosedMessage;
354
+ export declare function createRequestCloseAddBlockMenuMessage(): RequestCloseAddBlockMenuMessage;
355
+ export declare function createProvideLayoutMessage(payload: ProvideLayoutMessage["payload"]): ProvideLayoutMessage;
356
+ export declare function createLayoutCommandMessage(payload: LayoutCommandMessage["payload"]): LayoutCommandMessage;
357
+ export declare function createProvideLayoutDocumentMessage(payload: ProvideLayoutDocumentMessage["payload"]): ProvideLayoutDocumentMessage;
358
+ export declare function createSetLayoutingModeMessage(payload: SetLayoutingModeMessage["payload"]): SetLayoutingModeMessage;
359
+ export declare function createLayoutingModeChangedMessage(payload: LayoutingModeChangedMessage["payload"]): LayoutingModeChangedMessage;
360
+ export declare function createReportBlockContentSizeMessage(payload: ReportBlockContentSizeMessage["payload"]): ReportBlockContentSizeMessage;
285
361
  //# sourceMappingURL=messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/editor/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/editor/messages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { ThemeSurface } from '../theme-state';
2
+ export declare function setActiveSurfaceContext(surface: ThemeSurface, id: string | null): void;
3
+ export declare function getActiveSurfaceContext(surface: ThemeSurface): {
4
+ id: string;
5
+ } | null;
6
+ export declare function clearAllSurfaceContexts(): void;
7
+ //# sourceMappingURL=surface-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface-context.d.ts","sourceRoot":"","sources":["../../src/editor/surface-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAqBnD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,YAAY,EACrB,EAAE,EAAE,MAAM,GAAG,IAAI,GAChB,IAAI,CAMN;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,YAAY,GACpB;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAEvB;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAI9C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=surface-context.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface-context.test.d.ts","sourceRoot":"","sources":["../../src/editor/surface-context.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ import { BlockInstance } from '../block';
2
+ /**
3
+ * Shared plumbing for the two editor block-wrapper custom elements:
4
+ * - `juo-editor-block-wrapper` (legacy chrome wrapper — unchanged from master)
5
+ * - `juo-editor-layout-block-wrapper` (minimal layout-engine wrapper)
6
+ *
7
+ * Both tags represent "a selectable editor block". Infra that maps a clicked
8
+ * node or a morph target back to its wrapper (see `editor/bridge.ts`,
9
+ * `web-components/editor/morph.ts`) must treat both tags uniformly, so the tag
10
+ * set and its helpers live here rather than being hardcoded per call site.
11
+ */
12
+ export declare const BLOCK_WRAPPER_TAG = "juo-editor-block-wrapper";
13
+ export declare const LAYOUT_BLOCK_WRAPPER_TAG = "juo-editor-layout-block-wrapper";
14
+ /** CSS selector matching any placed block wrapper (either tag). */
15
+ export declare const WRAPPER_SELECTOR = "juo-editor-block-wrapper[data-block-id], juo-editor-layout-block-wrapper[data-block-id]";
16
+ /** True when `tagName` is one of the block-wrapper custom elements. */
17
+ export declare function isBlockWrapperTag(tagName: string): boolean;
18
+ /** Human-facing label for a block (definition displayName, falling back to name). */
19
+ export declare function getBlockLabel(block: BlockInstance): string;
20
+ /**
21
+ * Resolve the slotted block's first painted descendant — the card-like surface
22
+ * we paint the hover/selection outline on. We can't use ::slotted() (CE blocks'
23
+ * own :host rules win the cascade) and painting outline on the wrapper's own box
24
+ * (no radius) looks wrong, so we apply outline as an inline style on the visible
25
+ * element. Skips <style> nodes (Vue's defineCustomElement injects styles next to
26
+ * the rendered tree) and display:contents wrappers (Vue's <ContextProvider> sits
27
+ * between the slotted div and the actual card). Crosses one shadow-root boundary
28
+ * for createVueCeRenderer blocks whose slotted element is itself a CE host.
29
+ */
30
+ export declare function resolveOutlineTarget(slotted: HTMLElement): HTMLElement | null;
31
+ //# sourceMappingURL=wrapper-shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapper-shared.d.ts","sourceRoot":"","sources":["../../src/editor/wrapper-shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,6BAA6B,CAAC;AAC5D,eAAO,MAAM,wBAAwB,oCAAoC,CAAC;AAO1E,mEAAmE;AACnE,eAAO,MAAM,gBAAgB,4FAAoF,CAAC;AAElH,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAE1D;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAmB7E"}