@juo/blocks 1.4.1 → 1.4.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.
- package/dist/{ExtensionRoot-M8g3HxCp.js → ExtensionRoot-8ntJL9wz.js} +22 -9
- package/dist/block.d.ts.map +1 -1
- package/dist/core.js +22 -7
- package/dist/editor.js +1 -1
- package/dist/{juo-workflow-BJUBbrar.js → juo-workflow-BXGQS82N.js} +1 -1
- package/dist/observability.d.ts +21 -0
- package/dist/observability.d.ts.map +1 -0
- package/dist/observability.js +1381 -0
- package/dist/observability.test.d.ts +2 -0
- package/dist/observability.test.d.ts.map +1 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.test.d.ts +2 -0
- package/dist/registry.test.d.ts.map +1 -0
- package/dist/{theme-state-wwW6UU3i.js → theme-state-BpmgtjdC.js} +77 -21
- package/dist/theme-state.d.ts.map +1 -1
- package/dist/theme-state.resolve.test.d.ts +2 -0
- package/dist/theme-state.resolve.test.d.ts.map +1 -0
- package/dist/web-components/Block.d.ts.map +1 -1
- package/dist/web-components/ExtensionRoot.d.ts.map +1 -1
- package/dist/web-components/ExtensionRoot.test.d.ts +2 -0
- package/dist/web-components/ExtensionRoot.test.d.ts.map +1 -0
- package/dist/web-components-editor.js +3 -3
- package/dist/web-components-runtime.js +3 -3
- package/package.json +7 -2
|
@@ -2,8 +2,9 @@ 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 { signal, effect, createBlockInstance } from "@juo/blocks";
|
|
5
|
-
import {
|
|
6
|
-
import "./
|
|
5
|
+
import { reportBlockWarning, reportBlockError } from "./observability.js";
|
|
6
|
+
import { d, t as subscribeContext, T as ThemeStateContext, E, x as withWrapper, v as n } from "./theme-state-BpmgtjdC.js";
|
|
7
|
+
import "./juo-workflow-BXGQS82N.js";
|
|
7
8
|
class Block extends HTMLElement {
|
|
8
9
|
constructor() {
|
|
9
10
|
super();
|
|
@@ -33,20 +34,26 @@ class Block extends HTMLElement {
|
|
|
33
34
|
}
|
|
34
35
|
renderBlock(name) {
|
|
35
36
|
if (name == null) {
|
|
36
|
-
|
|
37
|
+
reportBlockWarning("'name' attribute is required on <juo-block>", {
|
|
38
|
+
site: "web-components.Block.renderBlock"
|
|
39
|
+
});
|
|
37
40
|
this.replaceChildren();
|
|
38
41
|
return;
|
|
39
42
|
}
|
|
40
43
|
const props = Object.fromEntries(
|
|
41
44
|
Array.from(this.attributes).map((attr) => [attr.name, attr.value])
|
|
42
45
|
);
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
+
try {
|
|
47
|
+
const block = createBlockInstance(name, { props });
|
|
48
|
+
this.replaceChildren(block.definition.render(block));
|
|
49
|
+
} catch (error) {
|
|
50
|
+
reportBlockError(error, {
|
|
51
|
+
site: "web-components.Block.renderBlock",
|
|
52
|
+
block: { id: "(none)", type: name },
|
|
53
|
+
keys: { props: Object.keys(props) }
|
|
54
|
+
});
|
|
46
55
|
this.replaceChildren();
|
|
47
|
-
return;
|
|
48
56
|
}
|
|
49
|
-
this.replaceChildren(block.definition.render(block));
|
|
50
57
|
}
|
|
51
58
|
}
|
|
52
59
|
class ExtensionRoot extends HTMLElement {
|
|
@@ -123,7 +130,13 @@ class ExtensionRoot extends HTMLElement {
|
|
|
123
130
|
) ?? [];
|
|
124
131
|
this.replaceChildren(...children);
|
|
125
132
|
} catch (error) {
|
|
126
|
-
|
|
133
|
+
reportBlockError(error, {
|
|
134
|
+
site: "web-components.ExtensionRoot.effect",
|
|
135
|
+
extra: {
|
|
136
|
+
surface: this.getSurface(),
|
|
137
|
+
name: this.getAttribute("name") ?? "(none)"
|
|
138
|
+
}
|
|
139
|
+
});
|
|
127
140
|
this.replaceChildren();
|
|
128
141
|
}
|
|
129
142
|
});
|
package/dist/block.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../src/block.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../src/block.ts"],"names":[],"mappings":"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"}
|
package/dist/core.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
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, w, r as registerBlock, E, u } from "./theme-state-
|
|
5
|
-
import { B, C, a, D, S, T, b, e, f, g, h, i, j, k, l, m, n, o, p, q, s, t, v, x } from "./theme-state-
|
|
6
|
-
import { T as T2, W, c, a as a2, b as b2, g as g2, h as h2 } from "./juo-workflow-
|
|
4
|
+
import { c as createContext, d, w, r as registerBlock, E, u } from "./theme-state-BpmgtjdC.js";
|
|
5
|
+
import { B, C, a, D, S, T, b, e, f, g, h, i, j, k, l, m, n, o, p, q, s, t, v, x } from "./theme-state-BpmgtjdC.js";
|
|
6
|
+
import { T as T2, W, c, a as a2, b as b2, g as g2, h as h2 } from "./juo-workflow-BXGQS82N.js";
|
|
7
|
+
import { reportBlockWarning, reportBlockError } from "./observability.js";
|
|
7
8
|
function createState() {
|
|
8
9
|
const discountCode = d(null);
|
|
9
10
|
const products = d([]);
|
|
@@ -119,6 +120,13 @@ async function loadBlockRegistry(options = {}) {
|
|
|
119
120
|
distributedRegistryUrl
|
|
120
121
|
).then((module) => {
|
|
121
122
|
if (typeof module !== "object" || module == null) {
|
|
123
|
+
reportBlockWarning("Distributed registry module is invalid", {
|
|
124
|
+
site: "registry.loadBlockRegistry",
|
|
125
|
+
extra: {
|
|
126
|
+
url: distributedRegistryUrl,
|
|
127
|
+
reason: "invalid-shape"
|
|
128
|
+
}
|
|
129
|
+
});
|
|
122
130
|
console.warn("Distributed registry module is invalid");
|
|
123
131
|
return;
|
|
124
132
|
}
|
|
@@ -131,12 +139,19 @@ async function loadBlockRegistry(options = {}) {
|
|
|
131
139
|
}
|
|
132
140
|
});
|
|
133
141
|
}
|
|
134
|
-
}).catch(
|
|
135
|
-
(err
|
|
142
|
+
}).catch((err) => {
|
|
143
|
+
reportBlockError(err, {
|
|
144
|
+
site: "registry.loadBlockRegistry",
|
|
145
|
+
extra: {
|
|
146
|
+
url: distributedRegistryUrl,
|
|
147
|
+
reason: "import-failed"
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
console.warn(
|
|
136
151
|
`Distributed registry ${distributedRegistryUrl} not available`,
|
|
137
152
|
err
|
|
138
|
-
)
|
|
139
|
-
);
|
|
153
|
+
);
|
|
154
|
+
});
|
|
140
155
|
}
|
|
141
156
|
}
|
|
142
157
|
const PARAMS = {
|
package/dist/editor.js
CHANGED
|
@@ -4,7 +4,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
4
4
|
import { getDefinedBlocks, onRegisterBlock } from "@juo/blocks";
|
|
5
5
|
import { a as createEditorBridge, f as createRemoveBlockMessage, g as createRegisterBlocksMessage, h as createRegisterRoutesMessage } from "./bridge-B8cVa2-2.js";
|
|
6
6
|
import { i, b, j, k, l, m, n, c, o, p, q, r, s, e, t, u, v, w, d, x, y, z, A } from "./bridge-B8cVa2-2.js";
|
|
7
|
-
import { f as createBlockInstanceFromObject, m as indexOverrides } from "./theme-state-
|
|
7
|
+
import { f as createBlockInstanceFromObject, m as indexOverrides } from "./theme-state-BpmgtjdC.js";
|
|
8
8
|
function createEditorHandler(options) {
|
|
9
9
|
const { themeState, onBlockSelection } = options;
|
|
10
10
|
const blockSurfaceIndex = /* @__PURE__ */ new Map();
|
|
@@ -1,7 +1,7 @@
|
|
|
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, E, l as getDefinedBlocks, b as createBlockInstance, w, r as registerBlock, j as defineBlock, t as subscribeContext } from "./theme-state-
|
|
4
|
+
import { c as createContext, d, E, l as getDefinedBlocks, b as createBlockInstance, w, r as registerBlock, j as defineBlock, t as subscribeContext } from "./theme-state-BpmgtjdC.js";
|
|
5
5
|
import { a as createEditorBridge, e as createSelectBlockMessage } from "./bridge-B8cVa2-2.js";
|
|
6
6
|
const TranslationContext = createContext("translation");
|
|
7
7
|
function toStringRecord(input) {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BlockInstance, BlockDefinition } from './block';
|
|
2
|
+
type BlockLike = Pick<BlockInstance, "id" | "type"> & {
|
|
3
|
+
definition?: Pick<BlockDefinition, "name" | "group">;
|
|
4
|
+
};
|
|
5
|
+
export interface ReportContext {
|
|
6
|
+
/** Stable identifier for the call site, e.g. "block.withWrapper". */
|
|
7
|
+
site: string;
|
|
8
|
+
block?: BlockLike;
|
|
9
|
+
/** Key names only — never values. Caller is responsible. */
|
|
10
|
+
keys?: {
|
|
11
|
+
props?: string[];
|
|
12
|
+
slots?: string[];
|
|
13
|
+
};
|
|
14
|
+
/** Free-form non-PII extras (numbers, booleans, short strings). */
|
|
15
|
+
extra?: Record<string, string | number | boolean | undefined>;
|
|
16
|
+
}
|
|
17
|
+
export declare function reportBlockError(error: unknown, ctx: ReportContext): void;
|
|
18
|
+
export declare function reportBlockWarning(message: string, ctx: ReportContext): void;
|
|
19
|
+
export declare function blockBreadcrumb(message: string, ctx: ReportContext): void;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=observability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../src/observability.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI9D,KAAK,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG;IACpD,UAAU,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;CACtD,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,4DAA4D;IAC5D,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC9C,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;CAC/D;AAqCD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CAUzE;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CAU5E;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CAezE"}
|