@juo/blocks 1.11.0-alpha.0 → 1.11.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 (68) hide show
  1. package/dist/{ExtensionRoot-C7tcvV-n.js → ExtensionRoot-9XfhG8YM.js} +1 -3
  2. package/dist/block.d.ts.map +1 -1
  3. package/dist/core.js +319 -1010
  4. package/dist/editor/handler.d.ts +1 -1
  5. package/dist/editor/handler.d.ts.map +1 -1
  6. package/dist/editor.js +1 -3
  7. package/dist/juo-workflow-CkyZRq60.js +1667 -0
  8. package/dist/services/customer/customerService.d.ts +2 -3
  9. package/dist/services/customer/customerService.d.ts.map +1 -1
  10. package/dist/services/customer/index.d.ts +0 -1
  11. package/dist/services/customer/index.d.ts.map +1 -1
  12. package/dist/services/customer/types.d.ts +1 -4
  13. package/dist/services/customer/types.d.ts.map +1 -1
  14. package/dist/services/index.d.ts +0 -1
  15. package/dist/services/index.d.ts.map +1 -1
  16. package/dist/services/login/index.d.ts +1 -3
  17. package/dist/services/login/index.d.ts.map +1 -1
  18. package/dist/services/login/loginService.d.ts +2 -6
  19. package/dist/services/login/loginService.d.ts.map +1 -1
  20. package/dist/services/product/adapter.d.ts +1 -4
  21. package/dist/services/product/adapter.d.ts.map +1 -1
  22. package/dist/services/product/index.d.ts +1 -1
  23. package/dist/services/product/index.d.ts.map +1 -1
  24. package/dist/services/product/types.d.ts +0 -2
  25. package/dist/services/product/types.d.ts.map +1 -1
  26. package/dist/services/subscription/adapter.d.ts +2 -12
  27. package/dist/services/subscription/adapter.d.ts.map +1 -1
  28. package/dist/services/subscription/index.d.ts +1 -1
  29. package/dist/services/subscription/index.d.ts.map +1 -1
  30. package/dist/services/subscription/subscriptionService.d.ts +6 -1
  31. package/dist/services/subscription/subscriptionService.d.ts.map +1 -1
  32. package/dist/services/subscription/types.d.ts +16 -25
  33. package/dist/services/subscription/types.d.ts.map +1 -1
  34. package/dist/utils/editor.d.ts +18 -0
  35. package/dist/utils/editor.d.ts.map +1 -0
  36. package/dist/utils/editor.test.d.ts +2 -0
  37. package/dist/utils/editor.test.d.ts.map +1 -0
  38. package/dist/utils/index.d.ts +1 -6
  39. package/dist/utils/index.d.ts.map +1 -1
  40. package/dist/vue/block.d.ts +2 -2
  41. package/dist/vue/block.d.ts.map +1 -1
  42. package/dist/vue.js +3 -4
  43. package/dist/web-components-editor.js +2 -3
  44. package/dist/web-components-runtime.js +2 -3
  45. package/package.json +1 -1
  46. package/dist/block-WoHZvF51.js +0 -858
  47. package/dist/juo-workflow-DRauDEnU.js +0 -617
  48. package/dist/services/customer/adapter.d.ts +0 -8
  49. package/dist/services/customer/adapter.d.ts.map +0 -1
  50. package/dist/services/login/adapter.d.ts +0 -32
  51. package/dist/services/login/adapter.d.ts.map +0 -1
  52. package/dist/services/order/adapter.d.ts +0 -9
  53. package/dist/services/order/adapter.d.ts.map +0 -1
  54. package/dist/services/order/index.d.ts +0 -5
  55. package/dist/services/order/index.d.ts.map +0 -1
  56. package/dist/services/order/orderService.d.ts +0 -7
  57. package/dist/services/order/orderService.d.ts.map +0 -1
  58. package/dist/services/order/types.d.ts +0 -21
  59. package/dist/services/order/types.d.ts.map +0 -1
  60. package/dist/services/schedules/adapter.d.ts +0 -22
  61. package/dist/services/schedules/adapter.d.ts.map +0 -1
  62. package/dist/services/schedules/index.d.ts +0 -5
  63. package/dist/services/schedules/index.d.ts.map +0 -1
  64. package/dist/services/schedules/schedulesService.d.ts +0 -10
  65. package/dist/services/schedules/schedulesService.d.ts.map +0 -1
  66. package/dist/services/schedules/types.d.ts +0 -47
  67. package/dist/services/schedules/types.d.ts.map +0 -1
  68. package/dist/theme-state-CzXQGOTk.js +0 -202
@@ -1,7 +0,0 @@
1
- import { OrderAdapter } from './adapter';
2
- import { OrderService } from './types';
3
- export declare const OrderServiceContext: {
4
- __context__: OrderService;
5
- };
6
- export declare function createOrderService(adapter: OrderAdapter): OrderService;
7
- //# sourceMappingURL=orderService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orderService.d.ts","sourceRoot":"","sources":["../../../src/services/order/orderService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,eAAO,MAAM,mBAAmB;;CAAgD,CAAC;AAEjF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CAKtE"}
@@ -1,21 +0,0 @@
1
- import { Result } from '../../utils';
2
- export interface OrderItem {
3
- id: string;
4
- productId: string;
5
- variantId: string;
6
- quantity: number;
7
- metadata?: Record<string, unknown>;
8
- }
9
- export interface Order {
10
- id: string;
11
- customerId: string;
12
- items: OrderItem[];
13
- deliveryDate: string | null;
14
- status: "pending" | "confirmed" | "delivered" | "skipped";
15
- metadata?: Record<string, unknown>;
16
- }
17
- export type OrderService = {
18
- getHistory(): Promise<Result<Order[]>>;
19
- getById(id: string): Promise<Result<Order | null>>;
20
- };
21
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/order/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;CACpD,CAAC"}
@@ -1,22 +0,0 @@
1
- import { ApiFetcher, Result } from '../../utils';
2
- import { ScheduleAdjustment, ScheduleOrder } from './types';
3
- export interface SchedulesAdapter {
4
- getUpcomingOrders(count: number): Promise<Result<ScheduleOrder[]>>;
5
- getAdjustments(): Promise<Result<ScheduleAdjustment[]>>;
6
- skipOrder(params: {
7
- subscriptionId: string;
8
- cycle?: number;
9
- date?: string;
10
- }): Promise<Result>;
11
- changeDateAdjustment(params: {
12
- subscriptionId: string;
13
- newDate: string;
14
- currentDate?: string;
15
- }): Promise<Result>;
16
- removeAdjustment(params: {
17
- adjustmentId: string;
18
- }): Promise<Result>;
19
- }
20
- export declare function createMockSchedulesAdapter(): SchedulesAdapter;
21
- export declare function createApiSchedulesAdapter(fetcher: ApiFetcher): SchedulesAdapter;
22
- //# sourceMappingURL=adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/services/schedules/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACnE,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACxD,SAAS,CAAC,MAAM,EAAE;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpB,oBAAoB,CAAC,MAAM,EAAE;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpB,gBAAgB,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrE;AAQD,wBAAgB,0BAA0B,IAAI,gBAAgB,CAgH7D;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,UAAU,GAAG,gBAAgB,CAgG/E"}
@@ -1,5 +0,0 @@
1
- export type { ScheduleOrderItem, ScheduleOrder, ScheduleAdjustment, SchedulesService, } from './types';
2
- export type { SchedulesAdapter } from './adapter';
3
- export { createMockSchedulesAdapter, createApiSchedulesAdapter, } from './adapter';
4
- export { SchedulesServiceContext, createSchedulesService, } from './schedulesService';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/schedules/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC"}
@@ -1,10 +0,0 @@
1
- import { Signal } from '@preact/signals-core';
2
- import { SchedulesAdapter } from './adapter';
3
- import { SchedulesService } from './types';
4
- export declare const SchedulesServiceContext: {
5
- __context__: SchedulesService;
6
- };
7
- export declare function createSchedulesService(adapter: SchedulesAdapter, opts: {
8
- hasPendingBilling: Signal<boolean>;
9
- }): SchedulesService;
10
- //# sourceMappingURL=schedulesService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schedulesService.d.ts","sourceRoot":"","sources":["../../../src/services/schedules/schedulesService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE/D,eAAO,MAAM,uBAAuB;;CACmB,CAAC;AAExD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;CAAE,GAC3C,gBAAgB,CAsDlB"}
@@ -1,47 +0,0 @@
1
- import { Signal } from '@preact/signals-core';
2
- import { Result } from '../../utils';
3
- export interface ScheduleOrderItem {
4
- id: string;
5
- productId: string;
6
- variantId: string;
7
- quantity: number;
8
- title?: string;
9
- imageUrl?: string;
10
- }
11
- export interface ScheduleOrder {
12
- id: string;
13
- subscriptionId: string;
14
- deliveryDate: string;
15
- items: ScheduleOrderItem[];
16
- status: "scheduled" | "processing" | "delivered" | "skipped";
17
- }
18
- export interface ScheduleAdjustment {
19
- id: string;
20
- subscriptionId: string;
21
- type: "skip" | "date_change";
22
- cycle?: number;
23
- newDate?: string;
24
- }
25
- export type SchedulesService = {
26
- /** Reactive signal — shared upcoming orders for multi-block access */
27
- upcoming: Signal<ScheduleOrder[]>;
28
- /** Sourced from SubscriptionService — guards billing-sensitive actions */
29
- hasPendingBilling: Signal<boolean>;
30
- getUpcomingOrder(): Promise<Result<ScheduleOrder | null>>;
31
- getUpcomingOrders(count: number): Promise<Result<ScheduleOrder[]>>;
32
- getAdjustments(): Promise<Result<ScheduleAdjustment[]>>;
33
- skipOrder(params: {
34
- subscriptionId: string;
35
- cycle?: number;
36
- date?: string;
37
- }): Promise<Result>;
38
- changeDateAdjustment(params: {
39
- subscriptionId: string;
40
- newDate: string;
41
- currentDate?: string;
42
- }): Promise<Result>;
43
- removeAdjustment(params: {
44
- adjustmentId: string;
45
- }): Promise<Result>;
46
- };
47
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/schedules/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,MAAM,EAAE,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,CAAC;CAC9D;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IAClC,0EAA0E;IAC1E,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1D,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACnE,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACxD,SAAS,CAAC,MAAM,EAAE;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpB,oBAAoB,CAAC,MAAM,EAAE;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpB,gBAAgB,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrE,CAAC"}
@@ -1,202 +0,0 @@
1
- import { c as createContext, d, h as createBlockInstanceFromObject, m as getDefinedBlocks, f as createBlockInstance, t as serializeBlocks, q as onRegisterBlock } from "./block-WoHZvF51.js";
2
- import { reportBlockError } from "./observability.js";
3
- const DEFAULT_GLOBAL_STYLES = {
4
- volume: "comfort",
5
- style: "ghost",
6
- corners: "round",
7
- buttonCorners: "round",
8
- thumbnailCorners: "circle",
9
- theme: "preset",
10
- themeType: "neutral",
11
- colors: {
12
- accent: "#000000",
13
- secondary: "#000000",
14
- tint: "#111111",
15
- callout: "#F5F5F5",
16
- success: "#287a25",
17
- error: "#a93c3c",
18
- information: "#0075a3",
19
- warning: "#8a5e00",
20
- background: "#FFFFFF"
21
- }
22
- };
23
- const ThemeStateContext = createContext("theme-state");
24
- function normalizeLocale(locale) {
25
- return locale.trim().toLowerCase().split("-")[0] || "en";
26
- }
27
- function toStringRecord(input) {
28
- if (input == null) return {};
29
- return Object.fromEntries(
30
- Object.entries(input).filter(([, value]) => typeof value === "string")
31
- );
32
- }
33
- function parseBlockLocaleFile(file) {
34
- if (file == null) {
35
- return { defaults: {}, modes: {} };
36
- }
37
- const entries = Object.entries(file).filter(
38
- ([key, value]) => key !== "overrides" && typeof value === "string"
39
- );
40
- const topLevel = Object.fromEntries(entries);
41
- const overrides = toStringRecord(file.overrides);
42
- return {
43
- defaults: { ...topLevel, ...overrides },
44
- modes: {
45
- ...Object.fromEntries(
46
- Object.keys(topLevel).map((key) => [key, "default"])
47
- ),
48
- ...Object.fromEntries(
49
- Object.keys(overrides).map((key) => [key, "override"])
50
- )
51
- }
52
- };
53
- }
54
- function indexOverrides(overrides) {
55
- const indexed = {
56
- theme: {},
57
- blocks: {}
58
- };
59
- for (const item of overrides) {
60
- if (item.scope.kind === "theme") {
61
- indexed.theme[item.key] = item.value;
62
- continue;
63
- }
64
- if (indexed.blocks[item.scope.blockId] == null) {
65
- indexed.blocks[item.scope.blockId] = {};
66
- }
67
- indexed.blocks[item.scope.blockId][item.key] = item.value;
68
- }
69
- return indexed;
70
- }
71
- function createThemeState(deps) {
72
- var _a;
73
- const surfaces = {
74
- page: { blocks: d([]) },
75
- overlay: { blocks: d([]) }
76
- };
77
- const locale = d("en");
78
- const catalogs = d(null);
79
- const globalStyles = d(
80
- deps.initialGlobalStyles ?? DEFAULT_GLOBAL_STYLES
81
- );
82
- function setGlobalStyles(styles) {
83
- globalStyles.value = styles;
84
- }
85
- async function collectBlockDefaults(loc) {
86
- const nextDefaults = {};
87
- const nextModes = {};
88
- for (const block of getDefinedBlocks()) {
89
- if (block.locales == null) continue;
90
- let file = null;
91
- try {
92
- file = await block.locales.load(loc);
93
- } catch {
94
- file = null;
95
- }
96
- const parsed = parseBlockLocaleFile(file);
97
- nextDefaults[block.name] = parsed.defaults;
98
- nextModes[block.name] = parsed.modes;
99
- }
100
- return { defaults: nextDefaults, modes: nextModes };
101
- }
102
- async function setLocale(nextLocaleRaw) {
103
- var _a2;
104
- const nextLocale = normalizeLocale(nextLocaleRaw);
105
- const [blockData, loadedOverrides] = await Promise.all([
106
- collectBlockDefaults(nextLocale),
107
- ((_a2 = deps.translations) == null ? void 0 : _a2.resolveTranslations(nextLocale).catch(() => [])) ?? Promise.resolve([])
108
- ]);
109
- const overrides = loadedOverrides.filter(
110
- (item) => normalizeLocale(item.locale) === nextLocale
111
- );
112
- const indexed = indexOverrides(overrides);
113
- catalogs.value = {
114
- theme: {
115
- defaults: {},
116
- overrides: indexed.theme
117
- },
118
- blocks: {
119
- defaults: blockData.defaults,
120
- modes: blockData.modes,
121
- overrides: indexed.blocks
122
- }
123
- };
124
- locale.value = nextLocale;
125
- }
126
- async function resolve(surface, path) {
127
- var _a2, _b, _c, _d;
128
- surfaces[surface].blocks.value = [];
129
- const stored = await deps.resolve(surface, path);
130
- if (stored != null) {
131
- surfaces[surface].blocks.value = stored.blocks.flatMap((block) => {
132
- try {
133
- return [createBlockInstanceFromObject(block)];
134
- } catch (error) {
135
- reportBlockError(error, {
136
- site: "theme-state.resolve.hydrate",
137
- extra: {
138
- surface,
139
- path,
140
- blockType: typeof (block == null ? void 0 : block.type) === "string" ? block.type : "(unknown)"
141
- }
142
- });
143
- return [];
144
- }
145
- });
146
- return stored;
147
- }
148
- const blockToUse = surface === "page" ? (_b = (_a2 = deps.routerService) == null ? void 0 : _a2.getPages().find((p) => p.path === path)) == null ? void 0 : _b.block : (_c = getDefinedBlocks().find((b) => b.name === path)) == null ? void 0 : _c.name;
149
- if (blockToUse != null) {
150
- const instance = createBlockInstance(blockToUse);
151
- surfaces[surface].blocks.value = [instance];
152
- const serialized = serializeBlocks([instance]);
153
- (_d = deps.upsertState) == null ? void 0 : _d.call(deps, surface, path, serialized);
154
- return { blocks: serialized };
155
- }
156
- return { blocks: [] };
157
- }
158
- onRegisterBlock(async (_, block) => {
159
- if (block.locales == null || catalogs.value == null) return;
160
- const localeAtLoadStart = locale.value;
161
- let file = null;
162
- try {
163
- file = await block.locales.load(localeAtLoadStart);
164
- } catch {
165
- file = null;
166
- }
167
- if (catalogs.value == null || locale.value !== localeAtLoadStart) return;
168
- const parsed = parseBlockLocaleFile(file);
169
- const current = catalogs.value;
170
- catalogs.value = {
171
- ...current,
172
- blocks: {
173
- ...current.blocks,
174
- defaults: {
175
- ...current.blocks.defaults,
176
- [block.name]: parsed.defaults
177
- },
178
- modes: {
179
- ...current.blocks.modes,
180
- [block.name]: parsed.modes
181
- }
182
- }
183
- };
184
- });
185
- (_a = deps.routerService) == null ? void 0 : _a.subscribe(({ path }) => {
186
- resolve("page", path);
187
- });
188
- return {
189
- page: surfaces.page,
190
- overlay: surfaces.overlay,
191
- locales: { locale, catalogs, setLocale },
192
- globalStyles,
193
- setGlobalStyles,
194
- resolve
195
- };
196
- }
197
- export {
198
- DEFAULT_GLOBAL_STYLES as D,
199
- ThemeStateContext as T,
200
- createThemeState as c,
201
- indexOverrides as i
202
- };