@juo/blocks 1.12.0-alpha.1 → 1.12.0-alpha.2

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 (52) hide show
  1. package/dist/{ExtensionRoot-Z2DlF9X6.js → ExtensionRoot-peABLAZZ.js} +3 -2
  2. package/dist/{block-Bh3z0B3y.js → block-B6s9jL7l.js} +37 -42
  3. package/dist/block.d.ts +1 -1
  4. package/dist/block.d.ts.map +1 -1
  5. package/dist/{bridge-w5KQ-czl.js → bridge-r7Yk8fjY.js} +34 -25
  6. package/dist/core.js +170 -98
  7. package/dist/devtools/env.d.ts +3 -0
  8. package/dist/devtools/env.d.ts.map +1 -0
  9. package/dist/devtools/hook.d.ts +35 -0
  10. package/dist/devtools/hook.d.ts.map +1 -0
  11. package/dist/devtools/index.d.ts +4 -0
  12. package/dist/devtools/index.d.ts.map +1 -0
  13. package/dist/devtools/protocol.d.ts +91 -0
  14. package/dist/devtools/protocol.d.ts.map +1 -0
  15. package/dist/devtools.js +44 -0
  16. package/dist/editor/bridge.d.ts +7 -0
  17. package/dist/editor/bridge.d.ts.map +1 -1
  18. package/dist/editor/components.d.ts.map +1 -1
  19. package/dist/editor/main.d.ts +2 -1
  20. package/dist/editor/main.d.ts.map +1 -1
  21. package/dist/editor/messages.d.ts +13 -2
  22. package/dist/editor/messages.d.ts.map +1 -1
  23. package/dist/editor/messages.test.d.ts +2 -0
  24. package/dist/editor/messages.test.d.ts.map +1 -0
  25. package/dist/editor/overlays.d.ts +14 -0
  26. package/dist/editor/overlays.d.ts.map +1 -0
  27. package/dist/editor/overlays.test.d.ts +2 -0
  28. package/dist/editor/overlays.test.d.ts.map +1 -0
  29. package/dist/editor.js +63 -45
  30. package/dist/{juo-workflow-D3c29mxb.js → juo-workflow-DY4rd256.js} +29 -9
  31. package/dist/main.d.ts +1 -0
  32. package/dist/main.d.ts.map +1 -1
  33. package/dist/overlay-wrapper.d.ts +1 -0
  34. package/dist/overlay-wrapper.d.ts.map +1 -1
  35. package/dist/overlay-wrapper.test.d.ts +2 -0
  36. package/dist/overlay-wrapper.test.d.ts.map +1 -0
  37. package/dist/overlays/OverlayService.d.ts +34 -0
  38. package/dist/overlays/OverlayService.d.ts.map +1 -0
  39. package/dist/overlays/OverlayService.test.d.ts +2 -0
  40. package/dist/overlays/OverlayService.test.d.ts.map +1 -0
  41. package/dist/preact.js +1 -1
  42. package/dist/react.js +1 -1
  43. package/dist/services/subscription/adapter.d.ts +9 -0
  44. package/dist/services/subscription/adapter.d.ts.map +1 -1
  45. package/dist/services/subscription/subscriptionService.d.ts.map +1 -1
  46. package/dist/services/subscription/types.d.ts +38 -0
  47. package/dist/services/subscription/types.d.ts.map +1 -1
  48. package/dist/theme-state.d.ts.map +1 -1
  49. package/dist/vue.js +3 -2
  50. package/dist/web-components-editor.js +4 -4
  51. package/dist/web-components-runtime.js +3 -3
  52. package/package.json +6 -3
@@ -0,0 +1,91 @@
1
+ export declare const PROTOCOL_VERSION: 1;
2
+ export type BlockNode = {
3
+ id: string;
4
+ type: string;
5
+ slot: string | null;
6
+ parentId: string | null;
7
+ propKeys: string[];
8
+ };
9
+ /** A node in the DOM-derived, nested block tree. */
10
+ export type BlockTreeNode = {
11
+ id: string;
12
+ type: string;
13
+ slot: string | null;
14
+ children: BlockTreeNode[];
15
+ };
16
+ /**
17
+ * The `props` sub-schema of a block definition (a JSON Schema object), as used
18
+ * by the visual editor to pick controls. Carried to the panel so it can render
19
+ * controls that reflect each prop's real type (dropdowns for enums, color
20
+ * pickers, steppers, …) instead of guessing from the runtime value. JSON-safe.
21
+ */
22
+ export type PropsSchema = {
23
+ type?: string;
24
+ properties?: Record<string, Record<string, unknown>>;
25
+ required?: string[];
26
+ [key: string]: unknown;
27
+ } | null;
28
+ export type TranslationSource = "instanceOverride" | "blockDefault" | "themeOverride" | "themeDefault" | "fallback";
29
+ export type BlockTranslation = {
30
+ key: string;
31
+ value: string;
32
+ source: TranslationSource;
33
+ missing: boolean;
34
+ rendered: boolean;
35
+ };
36
+ export type TranslationsState = {
37
+ locale: string;
38
+ entries: BlockTranslation[];
39
+ };
40
+ export type DevtoolsEventKind = "block:registered" | "block:mounted" | "block:updated" | "block:unmounted" | "signal:changed" | "context:provide" | "context:request" | "block:picked";
41
+ export interface DevtoolsEvent {
42
+ v: typeof PROTOCOL_VERSION;
43
+ kind: DevtoolsEventKind;
44
+ ts: number;
45
+ payload: Record<string, unknown>;
46
+ }
47
+ /** Pull-on-demand RPC the engine (server) exposes to the client. */
48
+ export interface DevtoolsServerFns {
49
+ getSnapshot(): Promise<{
50
+ nodes: BlockNode[];
51
+ registered: string[];
52
+ /** Registry name → editor display label. */
53
+ blockLabels: Record<string, string>;
54
+ }>;
55
+ getBlockState(id: string): Promise<{
56
+ props: Record<string, unknown>;
57
+ propsSchema: PropsSchema;
58
+ } | null>;
59
+ /**
60
+ * Writes a single prop on a live block and returns its updated state.
61
+ * Works for custom-element blocks (the property set is reactive); the edit
62
+ * is a live tweak and may be overwritten if upstream data re-renders.
63
+ */
64
+ setBlockProp(id: string, key: string, value: unknown): Promise<{
65
+ props: Record<string, unknown>;
66
+ } | null>;
67
+ /** Returns the live, nested block tree derived from the page DOM. */
68
+ getTree(): Promise<BlockTreeNode[]>;
69
+ highlight(id: string | null): Promise<void>;
70
+ /** Persistent outline for the currently selected block in the tree. */
71
+ highlightSelected(id: string | null): Promise<void>;
72
+ /**
73
+ * Scrolls the block's element into view in the page and briefly flashes the
74
+ * highlight box over it (auto-hiding after a short delay). Purely a viewport
75
+ * affordance — it does not change selection.
76
+ */
77
+ scrollToBlock(id: string): Promise<void>;
78
+ /** Begins the page-side element picker; resolves immediately. The pick
79
+ * arrives later as a pushed `block:picked` event. */
80
+ startPicker(): Promise<void>;
81
+ /** Cancels the page-side element picker if active. */
82
+ stopPicker(): Promise<void>;
83
+ getBlockTranslations(id: string): Promise<TranslationsState | null>;
84
+ setBlockTranslationOverride(id: string, key: string, value: string): Promise<TranslationsState | null>;
85
+ }
86
+ /** Functions the client exposes to the server (push notifications). */
87
+ export interface DevtoolsClientFns {
88
+ onEvent(e: DevtoolsEvent): void;
89
+ }
90
+ export declare function isDevtoolsEvent(x: unknown): x is DevtoolsEvent;
91
+ //# sourceMappingURL=protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/devtools/protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ const target = typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : {};
2
+ const isBrowser = typeof window !== "undefined";
3
+ const PROTOCOL_VERSION = 1;
4
+ function isDevtoolsEvent(x) {
5
+ return typeof x === "object" && x !== null && x.v === PROTOCOL_VERSION && typeof x.kind === "string" && typeof x.ts === "number";
6
+ }
7
+ const HOOK_KEY = "__JUO_BLOCKS_DEVTOOLS_HOOK__";
8
+ function createHook() {
9
+ const listeners = /* @__PURE__ */ new Set();
10
+ return {
11
+ version: PROTOCOL_VERSION,
12
+ emit(kind, payload) {
13
+ const event = {
14
+ v: PROTOCOL_VERSION,
15
+ kind,
16
+ ts: Date.now(),
17
+ payload
18
+ };
19
+ listeners.forEach((cb) => cb(event));
20
+ },
21
+ on(cb) {
22
+ listeners.add(cb);
23
+ return () => listeners.delete(cb);
24
+ },
25
+ off(cb) {
26
+ listeners.delete(cb);
27
+ }
28
+ };
29
+ }
30
+ function installHook() {
31
+ return target[HOOK_KEY] ?? (target[HOOK_KEY] = createHook());
32
+ }
33
+ function getHook() {
34
+ return target[HOOK_KEY];
35
+ }
36
+ export {
37
+ PROTOCOL_VERSION,
38
+ createHook,
39
+ getHook,
40
+ installHook,
41
+ isBrowser,
42
+ isDevtoolsEvent,
43
+ target
44
+ };
@@ -52,6 +52,13 @@ 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;
55
62
  onBlockPresetChange<TPresets = unknown>(blockId: string, callback: (preset: PresetData<ExtractPresetState<TPresets>, ExtractPresetContext<TPresets>> | null) => void): {
56
63
  unsubscribe: () => void;
57
64
  };
@@ -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,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,CAmejD"}
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 +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;IAuCjB;;;;;;;;;;;;;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":"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,4 +1,4 @@
1
- import { ThemeState, RouterService } from '../main.ts';
1
+ import { ThemeState, RouterService, OverlayService } from '../main.ts';
2
2
  export * from './messages';
3
3
  export * from './bridge';
4
4
  export * from './handler';
@@ -17,5 +17,6 @@ export declare function buildEditorCanvasStyleContent(backgroundColor: string):
17
17
  export declare function setupEditorMode(deps: {
18
18
  routerService: RouterService;
19
19
  themeState: ThemeState;
20
+ overlayService: OverlayService;
20
21
  }): Promise<() => void>;
21
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,EAKnB,MAAM,aAAa,CAAC;AAQrB,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;IAAE,aAAa,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,GAC7D,OAAO,CAAC,MAAM,IAAI,CAAC,CA6DrB"}
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,6 +1,6 @@
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" | "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
+ 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";
4
4
  export interface BaseMessage {
5
5
  type: MessageType;
6
6
  timestamp: number;
@@ -170,6 +170,16 @@ export interface RegisterRoutesMessage extends BaseMessage {
170
170
  }>;
171
171
  };
172
172
  }
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
+ }
173
183
  export interface SetGlobalStylesMessage extends BaseMessage {
174
184
  type: "SET_GLOBAL_STYLES";
175
185
  payload: {
@@ -196,7 +206,7 @@ export interface ProvideInitialGlobalStylesMessage extends BaseMessage {
196
206
  };
197
207
  }
198
208
  export type EditorMessage = ProvideThemeStateMessage | ProvideTranslationOverridesMessage | SelectBlockMessage | UpdateBlockPropsMessage | AddBlockMessage | RemoveBlockMessage | MoveBlockMessage | SetBlockPresetMessage | SetLocaleMessage | SetGlobalStylesMessage | ProvideGlobalStylesMessage | ScrollSyncMessage | RequestContentHeightMessage | AddBlockMenuClosedMessage;
199
- export type IframeMessage = SelectBlockMessage | IframeReadyMessage | RegisterBlocksMessage | RegisterRoutesMessage | RemoveBlockMessage | UpdateBlockPropsMessage | RequestThemeStateMessage | UpsertThemeStateMessage | RequestTranslationOverridesMessage | UpdateBlockTranslationMessage | RegisterBlockTranslationKeysMessage | FocusInlineTextMessage | RequestGlobalStylesMessage | ProvideInitialGlobalStylesMessage | ReportContentHeightMessage | ScrollSyncMessage | OpenAddBlockMenuMessage;
209
+ export type IframeMessage = SelectBlockMessage | IframeReadyMessage | RegisterBlocksMessage | RegisterRoutesMessage | RegisterOverlaysMessage | RemoveBlockMessage | UpdateBlockPropsMessage | RequestThemeStateMessage | UpsertThemeStateMessage | RequestTranslationOverridesMessage | UpdateBlockTranslationMessage | RegisterBlockTranslationKeysMessage | FocusInlineTextMessage | RequestGlobalStylesMessage | ProvideInitialGlobalStylesMessage | ReportContentHeightMessage | ScrollSyncMessage | OpenAddBlockMenuMessage;
200
210
  export type AnyMessage = EditorMessage | IframeMessage;
201
211
  export declare function isEditorMessage(message: AnyMessage): message is EditorMessage;
202
212
  export declare function isIframeMessage(message: AnyMessage): message is IframeMessage;
@@ -217,6 +227,7 @@ export declare function createSetLocaleMessage(payload: SetLocaleMessage["payloa
217
227
  export declare function createRegisterBlockTranslationKeysMessage(payload: RegisterBlockTranslationKeysMessage["payload"]): RegisterBlockTranslationKeysMessage;
218
228
  export declare function createFocusInlineTextMessage(payload: FocusInlineTextMessage["payload"], blockId: string): FocusInlineTextMessage;
219
229
  export declare function createRegisterRoutesMessage(payload: RegisterRoutesMessage["payload"]): RegisterRoutesMessage;
230
+ export declare function createRegisterOverlaysMessage(payload: RegisterOverlaysMessage["payload"]): RegisterOverlaysMessage;
220
231
  export declare function createSetGlobalStylesMessage(payload: SetGlobalStylesMessage["payload"]): SetGlobalStylesMessage;
221
232
  export declare function createRequestGlobalStylesMessage(payload: RequestGlobalStylesMessage["payload"]): RequestGlobalStylesMessage;
222
233
  export interface ScrollSyncMessage extends BaseMessage {
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=messages.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.test.d.ts","sourceRoot":"","sources":["../../src/editor/messages.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { BlockDefinition } from '../block';
2
+ export interface OverlayRegistryEntry {
3
+ block: string;
4
+ title: string;
5
+ contentBlock: string;
6
+ }
7
+ /**
8
+ * Turns the registered block list into the overlay registry sent to the host
9
+ * editor. Only `overlay:*` wrapper blocks are included. `contentBlock` is the
10
+ * type of the single instance the wrapper seeds into its `content` slot — used
11
+ * by the host to hide that block from the Composition palette.
12
+ */
13
+ export declare function buildOverlayRegistry(blocks: BlockDefinition[]): Record<string, OverlayRegistryEntry>;
14
+ //# sourceMappingURL=overlays.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlays.d.ts","sourceRoot":"","sources":["../../src/editor/overlays.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAMhD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAoBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,EAAE,GACxB,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAetC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=overlays.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlays.test.d.ts","sourceRoot":"","sources":["../../src/editor/overlays.test.ts"],"names":[],"mappings":""}
package/dist/editor.js CHANGED
@@ -2,8 +2,8 @@ var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
4
  import { createBlockInstanceFromObject, indexOverrides, DEFAULT_GLOBAL_STYLES, effect, onRegisterBlock, getDefinedBlocks } from "@juo/blocks";
5
- import { a as createEditorBridge, f as createOpenAddBlockMenuMessage, g as createRemoveBlockMessage, h as createRegisterBlocksMessage, i as createRegisterRoutesMessage } from "./bridge-w5KQ-czl.js";
6
- import { j, k, b, l, m, n, o, p, c, q, r, s, t, u, e, v, w, x, y, d, z, A, B, C } from "./bridge-w5KQ-czl.js";
5
+ import { c as createEditorBridge, d as createOpenAddBlockMenuMessage, e as createRemoveBlockMessage, f as createRegisterBlocksMessage, g as createRegisterOverlaysMessage, h as createRegisterRoutesMessage } from "./bridge-r7Yk8fjY.js";
6
+ import { i, j, a, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, b, A, B, C, D } from "./bridge-r7Yk8fjY.js";
7
7
  function createEditorHandler(options) {
8
8
  const { themeState, onBlockSelection } = options;
9
9
  const blockSurfaceIndex = /* @__PURE__ */ new Map();
@@ -126,17 +126,17 @@ function createEditorHandler(options) {
126
126
  if (location.type === "before" || location.type === "after") {
127
127
  let findAndInsertBlock = function(blocks, targetId, newBlock2, position) {
128
128
  var _a2;
129
- for (let i = 0; i < blocks.length; i++) {
130
- if (blocks[i].id === targetId) {
129
+ for (let i2 = 0; i2 < blocks.length; i2++) {
130
+ if (blocks[i2].id === targetId) {
131
131
  if (position === "before") {
132
- blocks.splice(i, 0, newBlock2);
132
+ blocks.splice(i2, 0, newBlock2);
133
133
  } else {
134
- blocks.splice(i + 1, 0, newBlock2);
134
+ blocks.splice(i2 + 1, 0, newBlock2);
135
135
  }
136
136
  return true;
137
137
  }
138
- for (const slotKey of Object.keys(blocks[i].slots || {})) {
139
- const slotBlocks = blocks[i].slots[slotKey];
138
+ for (const slotKey of Object.keys(blocks[i2].slots || {})) {
139
+ const slotBlocks = blocks[i2].slots[slotKey];
140
140
  const slotArray = Array.isArray(slotBlocks) ? slotBlocks : [slotBlocks];
141
141
  for (let j2 = 0; j2 < slotArray.length; j2++) {
142
142
  if (typeof slotArray[j2] !== "string" && ((_a2 = slotArray[j2]) == null ? void 0 : _a2.id) === targetId) {
@@ -145,7 +145,7 @@ function createEditorHandler(options) {
145
145
  } else {
146
146
  slotArray.splice(j2 + 1, 0, newBlock2);
147
147
  }
148
- blocks[i].slots[slotKey] = slotArray;
148
+ blocks[i2].slots[slotKey] = slotArray;
149
149
  return true;
150
150
  }
151
151
  }
@@ -199,21 +199,21 @@ function createEditorHandler(options) {
199
199
  } else if (message.type === "REMOVE_BLOCK") {
200
200
  let findAndRemoveBlock = function(blocks, blockId, slot, parentId) {
201
201
  var _a2;
202
- for (let i = 0; i < blocks.length; i++) {
203
- if (blocks[i].id === parentId && ((_a2 = blocks[i].slots) == null ? void 0 : _a2[slot])) {
204
- const slotBlocks = blocks[i].slots[slot];
202
+ for (let i2 = 0; i2 < blocks.length; i2++) {
203
+ if (blocks[i2].id === parentId && ((_a2 = blocks[i2].slots) == null ? void 0 : _a2[slot])) {
204
+ const slotBlocks = blocks[i2].slots[slot];
205
205
  const slotArray = Array.isArray(slotBlocks) ? slotBlocks : [slotBlocks];
206
206
  const index = slotArray.findIndex(
207
207
  (b2) => typeof b2 !== "string" && (b2 == null ? void 0 : b2.id) === blockId
208
208
  );
209
209
  if (index !== -1) {
210
210
  slotArray.splice(index, 1);
211
- blocks[i].slots[slot] = slotArray;
211
+ blocks[i2].slots[slot] = slotArray;
212
212
  return true;
213
213
  }
214
214
  }
215
- for (const slotKey of Object.keys(blocks[i].slots || {})) {
216
- const slotBlocks = blocks[i].slots[slotKey];
215
+ for (const slotKey of Object.keys(blocks[i2].slots || {})) {
216
+ const slotBlocks = blocks[i2].slots[slotKey];
217
217
  const slotArray = Array.isArray(slotBlocks) ? slotBlocks : [slotBlocks];
218
218
  for (const child of slotArray) {
219
219
  if (typeof child !== "string" && (child == null ? void 0 : child.id)) {
@@ -857,8 +857,8 @@ class BlockWrapper extends HTMLElement {
857
857
  const moreBtn = document.createElement("button");
858
858
  moreBtn.type = "button";
859
859
  moreBtn.innerHTML = moreIconSvg;
860
- moreBtn.addEventListener("click", (e2) => {
861
- e2.stopPropagation();
860
+ moreBtn.addEventListener("click", (e) => {
861
+ e.stopPropagation();
862
862
  this.toggleMenu();
863
863
  });
864
864
  const menuEl = document.createElement("div");
@@ -874,8 +874,8 @@ class BlockWrapper extends HTMLElement {
874
874
  deleteBtn.className = "block-wrapper__menu-item block-wrapper__menu-item--danger";
875
875
  deleteBtn.setAttribute("role", "menuitem");
876
876
  deleteBtn.innerHTML = `${trashIconSvg}<span>Delete</span>`;
877
- deleteBtn.addEventListener("click", (e2) => {
878
- e2.stopPropagation();
877
+ deleteBtn.addEventListener("click", (e) => {
878
+ e.stopPropagation();
879
879
  this.closeMenu();
880
880
  this.handleRemoveBlock();
881
881
  });
@@ -943,9 +943,9 @@ class BlockWrapper extends HTMLElement {
943
943
  surface.appendChild(text);
944
944
  inner.appendChild(surface);
945
945
  btn.appendChild(inner);
946
- btn.addEventListener("click", (e2) => {
947
- e2.stopPropagation();
948
- e2.preventDefault();
946
+ btn.addEventListener("click", (e) => {
947
+ e.stopPropagation();
948
+ e.preventDefault();
949
949
  this.handleAddBlock(position, btn);
950
950
  });
951
951
  return btn;
@@ -1006,6 +1006,11 @@ class BlockWrapper extends HTMLElement {
1006
1006
  }
1007
1007
  this.addEventListener("mouseenter", this.handleHoverEnter);
1008
1008
  this.addEventListener("mouseleave", this.handleHoverLeave);
1009
+ if (this.block != null) {
1010
+ this.updateActiveState(
1011
+ this.editorBridge.getSelectedBlockId() === this.block.id
1012
+ );
1013
+ }
1009
1014
  }
1010
1015
  /**
1011
1016
  * Resolve the slotted block's first painted descendant — the
@@ -1051,8 +1056,8 @@ class BlockWrapper extends HTMLElement {
1051
1056
  if (!this.menuElement) return;
1052
1057
  this.menuElement.classList.add("open");
1053
1058
  this.isMenuOpen = true;
1054
- this.closeMenuOnOutsideClick = (e2) => {
1055
- if (!this.shadowRoot.contains(e2.composedPath()[0])) {
1059
+ this.closeMenuOnOutsideClick = (e) => {
1060
+ if (!this.shadowRoot.contains(e.composedPath()[0])) {
1056
1061
  this.closeMenu();
1057
1062
  }
1058
1063
  };
@@ -1158,7 +1163,7 @@ async function serializeBlock(block) {
1158
1163
  }
1159
1164
  })
1160
1165
  );
1161
- const loaded = entries.filter((e2) => e2 !== null);
1166
+ const loaded = entries.filter((e) => e !== null);
1162
1167
  if (loaded.length > 0) {
1163
1168
  locales = Object.fromEntries(loaded);
1164
1169
  }
@@ -1183,7 +1188,7 @@ function buildEditorCanvasStyleContent(backgroundColor) {
1183
1188
  }`;
1184
1189
  }
1185
1190
  async function setupEditorMode(deps) {
1186
- const { routerService, themeState } = deps;
1191
+ const { routerService, themeState, overlayService } = deps;
1187
1192
  const padStyle = document.createElement("style");
1188
1193
  document.head.appendChild(padStyle);
1189
1194
  const disposeCanvasStyles = effect(() => {
@@ -1209,10 +1214,22 @@ async function setupEditorMode(deps) {
1209
1214
  })
1210
1215
  )
1211
1216
  );
1217
+ if (typeof block.name === "string" && block.name.startsWith("overlay:")) {
1218
+ editor.sendMessage(
1219
+ createRegisterOverlaysMessage({
1220
+ overlays: overlayService.getEditableOverlays()
1221
+ })
1222
+ );
1223
+ }
1212
1224
  });
1213
1225
  const blocks = await Promise.all(getDefinedBlocks().map(serializeBlock));
1214
1226
  editor.sendMessage(createRegisterBlocksMessage({ blocks }));
1215
1227
  editor.sendMessage(createRegisterRoutesMessage({ routes }));
1228
+ editor.sendMessage(
1229
+ createRegisterOverlaysMessage({
1230
+ overlays: overlayService.getEditableOverlays()
1231
+ })
1232
+ );
1216
1233
  return () => {
1217
1234
  disposeCanvasStyles();
1218
1235
  padStyle.remove();
@@ -1226,19 +1243,20 @@ export {
1226
1243
  EDITOR_BODY_BOTTOM_PADDING_PX,
1227
1244
  EDITOR_BODY_TOP_PADDING_PX,
1228
1245
  buildEditorCanvasStyleContent,
1229
- j as createAddBlockMenuClosedMessage,
1230
- k as createAddBlockMessage,
1246
+ i as createAddBlockMenuClosedMessage,
1247
+ j as createAddBlockMessage,
1231
1248
  createEditorBridge,
1232
1249
  createEditorHandler,
1233
- b as createFocusInlineTextMessage,
1234
- l as createMoveBlockMessage,
1250
+ a as createFocusInlineTextMessage,
1251
+ k as createMoveBlockMessage,
1235
1252
  createOpenAddBlockMenuMessage,
1236
- m as createProvideGlobalStylesMessage,
1237
- n as createProvideInitialGlobalStylesMessage,
1238
- o as createProvideThemeStateMessage,
1239
- p as createProvideTranslationOverridesMessage,
1240
- c as createRegisterBlockTranslationKeysMessage,
1253
+ l as createProvideGlobalStylesMessage,
1254
+ m as createProvideInitialGlobalStylesMessage,
1255
+ n as createProvideThemeStateMessage,
1256
+ o as createProvideTranslationOverridesMessage,
1257
+ p as createRegisterBlockTranslationKeysMessage,
1241
1258
  createRegisterBlocksMessage,
1259
+ createRegisterOverlaysMessage,
1242
1260
  createRegisterRoutesMessage,
1243
1261
  createRemoveBlockMessage,
1244
1262
  q as createReportContentHeightMessage,
@@ -1246,15 +1264,15 @@ export {
1246
1264
  s as createRequestThemeStateMessage,
1247
1265
  t as createRequestTranslationOverridesMessage,
1248
1266
  u as createScrollSyncMessage,
1249
- e as createSelectBlockMessage,
1250
- v as createSetBlockPresetMessage,
1251
- w as createSetGlobalStylesMessage,
1252
- x as createSetLocaleMessage,
1253
- y as createUpdateBlockPropsMessage,
1254
- d as createUpdateBlockTranslationMessage,
1255
- z as createUpsertThemeStateMessage,
1256
- A as getEditorBridge,
1257
- B as isEditorMessage,
1258
- C as isIframeMessage,
1267
+ v as createSelectBlockMessage,
1268
+ w as createSetBlockPresetMessage,
1269
+ x as createSetGlobalStylesMessage,
1270
+ y as createSetLocaleMessage,
1271
+ z as createUpdateBlockPropsMessage,
1272
+ b as createUpdateBlockTranslationMessage,
1273
+ A as createUpsertThemeStateMessage,
1274
+ B as getEditorBridge,
1275
+ C as isEditorMessage,
1276
+ D as isIframeMessage,
1259
1277
  setupEditorMode
1260
1278
  };
@@ -1,9 +1,9 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import { c as createContext, d, j as createBlockInstanceFromObject, n as getDefinedBlocks, b as createBlockInstance, y as serializeBlocks, v as onRegisterBlock, E, w, r as registerBlock, a as defineBlock, A as subscribeContext } from "./block-Bh3z0B3y.js";
4
+ import { e as createContext, d, f as createBlockInstanceFromObject, g as createBlockInstance, h as getDefinedBlocks, j as serializeBlocks, o as onRegisterBlock, E, k as w, r as registerBlock, l as defineBlock, s as subscribeContext } from "./block-B6s9jL7l.js";
5
5
  import { reportBlockError } from "./observability.js";
6
- import { a as createEditorBridge, e as createSelectBlockMessage } from "./bridge-w5KQ-czl.js";
6
+ import { c as createEditorBridge, v as createSelectBlockMessage } from "./bridge-r7Yk8fjY.js";
7
7
  const DEFAULT_GLOBAL_STYLES = {
8
8
  volume: "comfort",
9
9
  style: "ghost",
@@ -142,7 +142,7 @@ function createThemeState(deps) {
142
142
  locale.value = nextLocale;
143
143
  }
144
144
  async function resolve(surface, path, params) {
145
- var _a2, _b, _c, _d, _e, _f;
145
+ var _a2, _b, _c, _d, _e, _f, _g, _h;
146
146
  surfaces[surface].blocks.value = [];
147
147
  const stored = await deps.resolve(surface, path);
148
148
  if (stored != null) {
@@ -161,9 +161,29 @@ function createThemeState(deps) {
161
161
  return [];
162
162
  }
163
163
  });
164
+ if (surface === "overlay") {
165
+ for (const instance of instances) {
166
+ if (typeof instance.type !== "string" || !instance.type.startsWith("overlay:")) {
167
+ continue;
168
+ }
169
+ try {
170
+ const canonical = createBlockInstance(instance.type);
171
+ instance.props = {
172
+ ...instance.props ?? {},
173
+ layout: (_a2 = canonical.props) == null ? void 0 : _a2.layout,
174
+ canAbort: (_b = canonical.props) == null ? void 0 : _b.canAbort
175
+ };
176
+ } catch (error) {
177
+ reportBlockError(error, {
178
+ site: "theme-state.resolve.overlay-layout",
179
+ extra: { surface, path, blockType: instance.type }
180
+ });
181
+ }
182
+ }
183
+ }
164
184
  if (params != null) {
165
185
  for (const instance of instances) {
166
- const content = (_a2 = instance.slots) == null ? void 0 : _a2.content;
186
+ const content = (_c = instance.slots) == null ? void 0 : _c.content;
167
187
  const child = Array.isArray(content) ? content[0] : void 0;
168
188
  if (child != null) {
169
189
  child.props = { ...child.props ?? {}, ...params };
@@ -173,11 +193,11 @@ function createThemeState(deps) {
173
193
  surfaces[surface].blocks.value = instances;
174
194
  return stored;
175
195
  }
176
- const blockToUse = surface === "page" ? (_c = (_b = deps.routerService) == null ? void 0 : _b.getPages().find((p) => p.path === path)) == null ? void 0 : _c.block : (_d = getDefinedBlocks().find((b) => b.name === path)) == null ? void 0 : _d.name;
196
+ const blockToUse = surface === "page" ? (_e = (_d = deps.routerService) == null ? void 0 : _d.getPages().find((p) => p.path === path)) == null ? void 0 : _e.block : (_f = getDefinedBlocks().find((b) => b.name === path)) == null ? void 0 : _f.name;
177
197
  if (blockToUse != null) {
178
198
  const instance = createBlockInstance(blockToUse);
179
199
  if (params != null) {
180
- const content = (_e = instance.slots) == null ? void 0 : _e.content;
200
+ const content = (_g = instance.slots) == null ? void 0 : _g.content;
181
201
  const child = Array.isArray(content) ? content[0] : void 0;
182
202
  if (child != null) {
183
203
  child.props = { ...child.props ?? {}, ...params };
@@ -185,7 +205,7 @@ function createThemeState(deps) {
185
205
  }
186
206
  surfaces[surface].blocks.value = [instance];
187
207
  const serialized = serializeBlocks([instance]);
188
- (_f = deps.upsertState) == null ? void 0 : _f.call(deps, surface, path, serialized);
208
+ (_h = deps.upsertState) == null ? void 0 : _h.call(deps, surface, path, serialized);
189
209
  return { blocks: serialized };
190
210
  }
191
211
  return { blocks: [] };
@@ -835,9 +855,9 @@ if (typeof customElements !== "undefined" && !customElements.get("juo-workflow")
835
855
  }
836
856
  export {
837
857
  DEFAULT_GLOBAL_STYLES as D,
838
- ThemeStateContext as T,
858
+ TranslationContext as T,
839
859
  WorkflowServiceContext as W,
840
- TranslationContext as a,
860
+ ThemeStateContext as a,
841
861
  createTranslationService as b,
842
862
  createThemeState as c,
843
863
  createWorkflowApiAdapter as d,
package/dist/main.d.ts CHANGED
@@ -5,6 +5,7 @@ export { TranslationContext, createTranslationService, type TranslationServiceOp
5
5
  export { ContextRequestEvent, ContextProvideEvent, type ContextCallback, createContext, injectContext, provideContext, subscribeContext, type ContextType, type UnknownContext, } from './context';
6
6
  export { StateContext, createState } from './state';
7
7
  export { defineOverlayWrapper, type OverlayLayout } from './overlay-wrapper';
8
+ export { OverlayServiceContext, createOverlayService, type OverlayService, type OverlayState, type OverlayRegistryEntry, } from './overlays/OverlayService';
8
9
  export { waitForDevBlocksUrl, loadBlockRegistry } from './registry';
9
10
  export * from './utils';
10
11
  export * from './services';