@juo/blocks 1.4.3 → 1.4.4
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-B27vHVGI.js → ExtensionRoot-CQa6unFH.js} +36 -4
- package/dist/block.d.ts +1 -1
- package/dist/block.d.ts.map +1 -1
- package/dist/core.js +3 -3
- package/dist/editor.js +1 -1
- package/dist/{juo-workflow-BXGQS82N.js → juo-workflow-1EMEURtn.js} +1 -1
- package/dist/{theme-state-BpmgtjdC.js → theme-state-CItCtH5l.js} +5 -0
- package/dist/vue/block.d.ts.map +1 -1
- package/dist/vue.js +1 -0
- package/dist/web-components/ExtensionRoot.d.ts +12 -0
- package/dist/web-components/ExtensionRoot.d.ts.map +1 -1
- package/dist/web-components-editor.js +3 -3
- package/dist/web-components-runtime.js +3 -3
- package/package.json +1 -1
|
@@ -3,8 +3,8 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
|
|
|
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
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-
|
|
7
|
-
import "./juo-workflow-
|
|
6
|
+
import { d, t as subscribeContext, T as ThemeStateContext, E, x as withWrapper, v as n, o as isStubDefinition, p as onRegisterBlock } from "./theme-state-CItCtH5l.js";
|
|
7
|
+
import "./juo-workflow-1EMEURtn.js";
|
|
8
8
|
class Block extends HTMLElement {
|
|
9
9
|
constructor() {
|
|
10
10
|
super();
|
|
@@ -64,6 +64,18 @@ class ExtensionRoot extends HTMLElement {
|
|
|
64
64
|
__publicField(this, "unsubscribeThemeContext");
|
|
65
65
|
__publicField(this, "disposeEffect");
|
|
66
66
|
__publicField(this, "__vueInstance", null);
|
|
67
|
+
/**
|
|
68
|
+
* Names of top-level slot children that resolved to a stub on the last
|
|
69
|
+
* render pass — i.e. blocks whose definition hasn't been registered yet.
|
|
70
|
+
* Rebuilt on each render and consulted from the registration listener so
|
|
71
|
+
* we only retrigger when a block we're actually waiting on lands.
|
|
72
|
+
*
|
|
73
|
+
* Only top-level children are tracked — nested stubs inside a registered
|
|
74
|
+
* parent's renderer aren't currently handled (rare in practice; revisit
|
|
75
|
+
* if it shows up).
|
|
76
|
+
*/
|
|
77
|
+
__publicField(this, "unresolvedNames", /* @__PURE__ */ new Set());
|
|
78
|
+
__publicField(this, "unregisterListener");
|
|
67
79
|
/**
|
|
68
80
|
* Optional function to wrap each rendered block element.
|
|
69
81
|
* Called with the rendered block HTMLElement, must return an HTMLElement.
|
|
@@ -124,11 +136,12 @@ class ExtensionRoot extends HTMLElement {
|
|
|
124
136
|
const blocks = state.blocks.value;
|
|
125
137
|
n(() => {
|
|
126
138
|
var _a;
|
|
139
|
+
let extensionBlocks = [];
|
|
127
140
|
try {
|
|
128
|
-
|
|
141
|
+
extensionBlocks = (((_a = blocks.at(0)) == null ? void 0 : _a.slots) ?? {})[name] ?? [];
|
|
129
142
|
const children = extensionBlocks.map(
|
|
130
143
|
(block) => this.withWrapper(block)
|
|
131
|
-
)
|
|
144
|
+
);
|
|
132
145
|
this.replaceChildren(...children);
|
|
133
146
|
} catch (error) {
|
|
134
147
|
reportBlockError(error, {
|
|
@@ -139,6 +152,20 @@ class ExtensionRoot extends HTMLElement {
|
|
|
139
152
|
}
|
|
140
153
|
});
|
|
141
154
|
this.replaceChildren();
|
|
155
|
+
extensionBlocks = [];
|
|
156
|
+
}
|
|
157
|
+
this.unresolvedNames.clear();
|
|
158
|
+
for (const block of extensionBlocks) {
|
|
159
|
+
if (block != null && typeof block === "object" && isStubDefinition(block.definition)) {
|
|
160
|
+
this.unresolvedNames.add(block.type);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
if (this.unresolvedNames.size > 0 && !this.unregisterListener) {
|
|
164
|
+
this.unregisterListener = onRegisterBlock((name2) => {
|
|
165
|
+
if (this.unresolvedNames.has(name2) && this.state.value) {
|
|
166
|
+
this.state.value = { ...this.state.value };
|
|
167
|
+
}
|
|
168
|
+
});
|
|
142
169
|
}
|
|
143
170
|
});
|
|
144
171
|
});
|
|
@@ -163,6 +190,11 @@ class ExtensionRoot extends HTMLElement {
|
|
|
163
190
|
this.disposeEffect();
|
|
164
191
|
this.disposeEffect = void 0;
|
|
165
192
|
}
|
|
193
|
+
if (this.unregisterListener) {
|
|
194
|
+
this.unregisterListener();
|
|
195
|
+
this.unregisterListener = void 0;
|
|
196
|
+
}
|
|
197
|
+
this.unresolvedNames.clear();
|
|
166
198
|
}
|
|
167
199
|
}
|
|
168
200
|
export {
|
package/dist/block.d.ts
CHANGED
|
@@ -70,7 +70,7 @@ declare global {
|
|
|
70
70
|
}
|
|
71
71
|
export declare function withWrapper(fn: (block: BlockInstance) => HTMLElement): (block: BlockInstance) => HTMLElement;
|
|
72
72
|
export declare function registerBlock<T>(block: BlockDefinition<T>): void;
|
|
73
|
-
export declare function onRegisterBlock(cb: (name: string, block: BlockDefinition) => void): void;
|
|
73
|
+
export declare function onRegisterBlock(cb: (name: string, block: BlockDefinition) => void): () => void;
|
|
74
74
|
export declare function defineBlock<T>(name: string, opts: {
|
|
75
75
|
group: "internal" | "juo" | "theme" | "integration" | "page" | "workflow" | "action";
|
|
76
76
|
schema: JSONSchema;
|
package/dist/block.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../src/block.ts"],"names":[],"mappings":"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
|
|
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,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, 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-CItCtH5l.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-CItCtH5l.js";
|
|
6
|
+
import { T as T2, W, c, a as a2, b as b2, g as g2, h as h2 } from "./juo-workflow-1EMEURtn.js";
|
|
7
7
|
import { reportBlockWarning, reportBlockError } from "./observability.js";
|
|
8
8
|
function createState() {
|
|
9
9
|
const discountCode = d(null);
|
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-CItCtH5l.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-CItCtH5l.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) {
|
|
@@ -566,10 +566,15 @@ function withWrapper(fn) {
|
|
|
566
566
|
const registerBlockListeners = [];
|
|
567
567
|
function registerBlock(block) {
|
|
568
568
|
blockDefinitions.set(block.name, block);
|
|
569
|
+
stubDefinitionCache.delete(block.name);
|
|
569
570
|
registerBlockListeners.forEach((cb) => cb(block.name, block));
|
|
570
571
|
}
|
|
571
572
|
function onRegisterBlock(cb) {
|
|
572
573
|
registerBlockListeners.push(cb);
|
|
574
|
+
return () => {
|
|
575
|
+
const idx = registerBlockListeners.indexOf(cb);
|
|
576
|
+
if (idx >= 0) registerBlockListeners.splice(idx, 1);
|
|
577
|
+
};
|
|
573
578
|
}
|
|
574
579
|
function defineBlock(name, opts) {
|
|
575
580
|
const definition = {
|
package/dist/vue/block.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../src/vue/block.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EAGR,SAAS,EAUV,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,aAAa,EAAoB,MAAM,aAAa,CAAC;AA6B9D,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,GAAG,CAAA;CAAE,WAuCZ,aAAa,
|
|
1
|
+
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../src/vue/block.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EAGR,SAAS,EAUV,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,aAAa,EAAoB,MAAM,aAAa,CAAC;AA6B9D,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,GAAG,CAAA;CAAE,WAuCZ,aAAa,iBA0D7B;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,EAAE,UAAiB,EAAE,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,4CAoCrD"}
|
package/dist/vue.js
CHANGED
|
@@ -206,6 +206,7 @@ function createVueRenderer(component, options) {
|
|
|
206
206
|
const wrapper = (existing == null ? void 0 : existing.wrapper) ?? document.createElement("div");
|
|
207
207
|
if (!existing) {
|
|
208
208
|
wrapper.setAttribute("data-block-id", block.id);
|
|
209
|
+
wrapper.setAttribute("data-block-type", block.type);
|
|
209
210
|
wrapper.style.display = "contents";
|
|
210
211
|
}
|
|
211
212
|
const vnode = h(Root);
|
|
@@ -4,6 +4,18 @@ export default class ExtensionRoot extends HTMLElement {
|
|
|
4
4
|
private unsubscribeThemeContext?;
|
|
5
5
|
private disposeEffect?;
|
|
6
6
|
private __vueInstance;
|
|
7
|
+
/**
|
|
8
|
+
* Names of top-level slot children that resolved to a stub on the last
|
|
9
|
+
* render pass — i.e. blocks whose definition hasn't been registered yet.
|
|
10
|
+
* Rebuilt on each render and consulted from the registration listener so
|
|
11
|
+
* we only retrigger when a block we're actually waiting on lands.
|
|
12
|
+
*
|
|
13
|
+
* Only top-level children are tracked — nested stubs inside a registered
|
|
14
|
+
* parent's renderer aren't currently handled (rare in practice; revisit
|
|
15
|
+
* if it shows up).
|
|
16
|
+
*/
|
|
17
|
+
private unresolvedNames;
|
|
18
|
+
private unregisterListener?;
|
|
7
19
|
/**
|
|
8
20
|
* Optional function to wrap each rendered block element.
|
|
9
21
|
* Called with the rendered block HTMLElement, must return an HTMLElement.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionRoot.d.ts","sourceRoot":"","sources":["../../src/web-components/ExtensionRoot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ExtensionRoot.d.ts","sourceRoot":"","sources":["../../src/web-components/ExtensionRoot.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,uBAAuB,CAAC,CAAa;IAC7C,OAAO,CAAC,aAAa,CAAC,CAAa;IACnC,OAAO,CAAC,aAAa,CAA0C;IAE/D;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,kBAAkB,CAAC,CAAa;IAExC;;;;;;OAMG;IACI,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,WAAW,KAAK,WAAW,CAAC,GAAG,IAAI,CAAQ;IAE5E,MAAM,KAAK,kBAAkB,aAE5B;;IAMD,OAAO,CAAC,YAAY,CAGhB;IAEJ,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,sBAAsB;IAM9B,iBAAiB;IAgFjB,wBAAwB,CACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,GAAG,IAAI;IAiBzB,oBAAoB;CAkBrB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,aAAa,CAAC;KACrC;CACF"}
|
|
@@ -1,10 +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 { n as injectContext, E, y as ContextRoot } from "./theme-state-
|
|
5
|
-
import { E as ExtensionRoot, B as Block } from "./ExtensionRoot-
|
|
4
|
+
import { n as injectContext, E, y as ContextRoot } from "./theme-state-CItCtH5l.js";
|
|
5
|
+
import { E as ExtensionRoot, B as Block } from "./ExtensionRoot-CQa6unFH.js";
|
|
6
6
|
import { a as createEditorBridge, b as createFocusInlineTextMessage, d as createUpdateBlockTranslationMessage } from "./bridge-B8cVa2-2.js";
|
|
7
|
-
import { T as TranslationContext } from "./juo-workflow-
|
|
7
|
+
import { T as TranslationContext } from "./juo-workflow-1EMEURtn.js";
|
|
8
8
|
const _InlineText = class _InlineText extends HTMLElement {
|
|
9
9
|
constructor() {
|
|
10
10
|
super();
|
|
@@ -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 { n as injectContext, E, y as ContextRoot } from "./theme-state-
|
|
5
|
-
import { E as ExtensionRoot, B as Block } from "./ExtensionRoot-
|
|
6
|
-
import { T as TranslationContext } from "./juo-workflow-
|
|
4
|
+
import { n as injectContext, E, y as ContextRoot } from "./theme-state-CItCtH5l.js";
|
|
5
|
+
import { E as ExtensionRoot, B as Block } from "./ExtensionRoot-CQa6unFH.js";
|
|
6
|
+
import { T as TranslationContext } from "./juo-workflow-1EMEURtn.js";
|
|
7
7
|
class InlineText extends HTMLElement {
|
|
8
8
|
constructor() {
|
|
9
9
|
super(...arguments);
|