@juo/blocks 1.4.3 → 1.4.5
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-CoDMQ-Gw.js} +53 -4
- package/dist/block.d.ts +20 -1
- package/dist/block.d.ts.map +1 -1
- package/dist/core.js +22 -21
- package/dist/editor.js +1 -1
- package/dist/{juo-workflow-BXGQS82N.js → juo-workflow-ZGS5rbZi.js} +1 -1
- package/dist/main.d.ts +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/{theme-state-BpmgtjdC.js → theme-state-D3w_B6gQ.js} +49 -19
- 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,
|
|
7
|
-
import "./juo-workflow-
|
|
6
|
+
import { d, v as subscribeContext, T as ThemeStateContext, E, y as withWrapper, x as n, b as backfillInstanceDefaults, p as isStubDefinition, q as onRegisterBlock } from "./theme-state-D3w_B6gQ.js";
|
|
7
|
+
import "./juo-workflow-ZGS5rbZi.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,17 @@ 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] ?? [];
|
|
142
|
+
for (const block of extensionBlocks) {
|
|
143
|
+
if (block != null && typeof block === "object") {
|
|
144
|
+
backfillInstanceDefaults(block);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
129
147
|
const children = extensionBlocks.map(
|
|
130
148
|
(block) => this.withWrapper(block)
|
|
131
|
-
)
|
|
149
|
+
);
|
|
132
150
|
this.replaceChildren(...children);
|
|
133
151
|
} catch (error) {
|
|
134
152
|
reportBlockError(error, {
|
|
@@ -139,6 +157,32 @@ class ExtensionRoot extends HTMLElement {
|
|
|
139
157
|
}
|
|
140
158
|
});
|
|
141
159
|
this.replaceChildren();
|
|
160
|
+
extensionBlocks = [];
|
|
161
|
+
}
|
|
162
|
+
this.unresolvedNames.clear();
|
|
163
|
+
for (const block of extensionBlocks) {
|
|
164
|
+
if (block != null && typeof block === "object" && isStubDefinition(block.definition)) {
|
|
165
|
+
this.unresolvedNames.add(block.type);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
if (this.unresolvedNames.size > 0 && !this.unregisterListener) {
|
|
169
|
+
this.unregisterListener = onRegisterBlock((name2) => {
|
|
170
|
+
var _a2;
|
|
171
|
+
if (!this.unresolvedNames.has(name2)) return;
|
|
172
|
+
const stateRef = this.state.value;
|
|
173
|
+
if (stateRef == null) return;
|
|
174
|
+
const surfaceBlocks = stateRef.blocks.value;
|
|
175
|
+
const slotName = this.getAttribute("name");
|
|
176
|
+
if (slotName != null) {
|
|
177
|
+
const children = (((_a2 = surfaceBlocks.at(0)) == null ? void 0 : _a2.slots) ?? {})[slotName] ?? [];
|
|
178
|
+
for (const child of children) {
|
|
179
|
+
if (child != null && typeof child === "object" && child.type === name2) {
|
|
180
|
+
backfillInstanceDefaults(child);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
this.state.value = { ...stateRef };
|
|
185
|
+
});
|
|
142
186
|
}
|
|
143
187
|
});
|
|
144
188
|
});
|
|
@@ -163,6 +207,11 @@ class ExtensionRoot extends HTMLElement {
|
|
|
163
207
|
this.disposeEffect();
|
|
164
208
|
this.disposeEffect = void 0;
|
|
165
209
|
}
|
|
210
|
+
if (this.unregisterListener) {
|
|
211
|
+
this.unregisterListener();
|
|
212
|
+
this.unregisterListener = void 0;
|
|
213
|
+
}
|
|
214
|
+
this.unresolvedNames.clear();
|
|
166
215
|
}
|
|
167
216
|
}
|
|
168
217
|
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;
|
|
@@ -89,6 +89,25 @@ export declare function defineBlockRuntime<T = never>(name: string, opts: {
|
|
|
89
89
|
export declare function getDefinedBlocks(): BlockDefinition[];
|
|
90
90
|
export declare function createCeRenderer(name: string): (block: BlockInstance) => HTMLDivElement;
|
|
91
91
|
export declare function isStubDefinition(definition: BlockDefinition): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Backfill an empty block instance with `props`/`slots` defaults sourced
|
|
94
|
+
* from its (now-resolved) definition's `initialValue`.
|
|
95
|
+
*
|
|
96
|
+
* Why this exists: when `createBlockInstance(name)` runs before the real
|
|
97
|
+
* definition for `name` is registered, it falls back to a stub whose
|
|
98
|
+
* `initialValue` is `{ props: {}, slots: {} }`. The instance ends up with
|
|
99
|
+
* empty `props`/`slots` and keeps them — those fields are captured at
|
|
100
|
+
* instantiation time, only `definition` is a getter that re-resolves.
|
|
101
|
+
* Once the real definition lands, this helper fills the instance from it
|
|
102
|
+
* so a single render nudge picks up the real defaults.
|
|
103
|
+
*
|
|
104
|
+
* Returns `false` (no-op) when:
|
|
105
|
+
* - `props` or `slots` already have entries (nothing to backfill), or
|
|
106
|
+
* - `definition` is still a stub (no real defaults to source from yet).
|
|
107
|
+
*
|
|
108
|
+
* Returns `true` when the instance was mutated in place.
|
|
109
|
+
*/
|
|
110
|
+
export declare function backfillInstanceDefaults(block: BlockInstance): boolean;
|
|
92
111
|
export declare function createBlockInstance(name: string, opts?: {
|
|
93
112
|
props?: any;
|
|
94
113
|
slots?: any;
|
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-D3w_B6gQ.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, y } from "./theme-state-D3w_B6gQ.js";
|
|
6
|
+
import { T as T2, W, c, a as a2, b as b2, g as g2, h as h2 } from "./juo-workflow-ZGS5rbZi.js";
|
|
7
7
|
import { reportBlockWarning, reportBlockError } from "./observability.js";
|
|
8
8
|
function createState() {
|
|
9
9
|
const discountCode = d(null);
|
|
@@ -1264,42 +1264,43 @@ export {
|
|
|
1264
1264
|
T as ThemeStateContext,
|
|
1265
1265
|
T2 as TranslationContext,
|
|
1266
1266
|
W as WorkflowServiceContext,
|
|
1267
|
+
b as backfillInstanceDefaults,
|
|
1267
1268
|
w as computed,
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1269
|
+
e as createBlockInstance,
|
|
1270
|
+
f as createBlockInstanceFromJSON,
|
|
1271
|
+
g as createBlockInstanceFromObject,
|
|
1272
|
+
h as createCeRenderer,
|
|
1272
1273
|
createContext,
|
|
1273
1274
|
createCustomerService,
|
|
1274
1275
|
createMockProductAdapter,
|
|
1275
1276
|
createMockSubscriptionAdapter,
|
|
1276
1277
|
createMockWorkflowApiAdapter,
|
|
1277
1278
|
createProductService,
|
|
1278
|
-
|
|
1279
|
+
i as createSelectedBlock,
|
|
1279
1280
|
createState,
|
|
1280
1281
|
createSubscriptionService,
|
|
1281
|
-
|
|
1282
|
+
j as createThemeState,
|
|
1282
1283
|
c as createTranslationService,
|
|
1283
1284
|
a2 as createWorkflowApiAdapter,
|
|
1284
1285
|
b2 as createWorkflowService,
|
|
1285
|
-
|
|
1286
|
-
|
|
1286
|
+
k as defineBlock,
|
|
1287
|
+
l as defineBlockRuntime,
|
|
1287
1288
|
E as effect,
|
|
1288
1289
|
g2 as getDefaultBlockForAction,
|
|
1289
|
-
|
|
1290
|
+
m as getDefinedBlocks,
|
|
1290
1291
|
h2 as hasDefaultBlockForAction,
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1292
|
+
n as indexOverrides,
|
|
1293
|
+
o as injectContext,
|
|
1294
|
+
p as isStubDefinition,
|
|
1294
1295
|
loadBlockRegistry,
|
|
1295
1296
|
loginService,
|
|
1296
|
-
|
|
1297
|
-
|
|
1297
|
+
q as onRegisterBlock,
|
|
1298
|
+
s as provideContext,
|
|
1298
1299
|
registerBlock,
|
|
1299
|
-
|
|
1300
|
+
t as serializeBlocks,
|
|
1300
1301
|
d as signal,
|
|
1301
|
-
|
|
1302
|
-
|
|
1302
|
+
v as subscribeContext,
|
|
1303
|
+
x as untracked,
|
|
1303
1304
|
waitForDevBlocksUrl,
|
|
1304
|
-
|
|
1305
|
+
y as withWrapper
|
|
1305
1306
|
};
|
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 {
|
|
7
|
+
import { g as createBlockInstanceFromObject, n as indexOverrides } from "./theme-state-D3w_B6gQ.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,
|
|
4
|
+
import { c as createContext, d, E, m as getDefinedBlocks, e as createBlockInstance, w, r as registerBlock, k as defineBlock, v as subscribeContext } from "./theme-state-D3w_B6gQ.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) {
|
package/dist/main.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type { Block, BlockInstance, BlockDefinition, BlockLocaleFile, BlockRenderer, BlockPreset, BlockPresets, } from './block';
|
|
2
|
-
export { createBlockInstance, createBlockInstanceFromJSON, createBlockInstanceFromObject, createCeRenderer, defineBlock, defineBlockRuntime, getDefinedBlocks, isStubDefinition, withWrapper, registerBlock, SelectedBlockContext, createSelectedBlock, BlockWrapperEvent, serializeBlocks, onRegisterBlock, } from './block';
|
|
2
|
+
export { backfillInstanceDefaults, createBlockInstance, createBlockInstanceFromJSON, createBlockInstanceFromObject, createCeRenderer, defineBlock, defineBlockRuntime, getDefinedBlocks, isStubDefinition, withWrapper, registerBlock, SelectedBlockContext, createSelectedBlock, BlockWrapperEvent, serializeBlocks, onRegisterBlock, } from './block';
|
|
3
3
|
export { ThemeStateContext, createThemeState, indexOverrides, type TranslationCatalogs, type TranslationMode, type TranslationScope, type TranslationOverride, type ThemeLocaleState, type ThemeState, type ThemeSurface, type ThemeSurfaceState, type GlobalStyles, type GlobalStyleColors, type ThemeType, DEFAULT_GLOBAL_STYLES, } from './theme-state';
|
|
4
4
|
export { TranslationContext, createTranslationService, type TranslationServiceOptions, type TranslationService, } from './translation';
|
|
5
5
|
export { ContextRequestEvent, ContextProvideEvent, type ContextCallback, createContext, injectContext, provideContext, subscribeContext, type ContextType, type UnknownContext, } from './context';
|
package/dist/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,KAAK,EACL,aAAa,EACb,eAAe,EACf,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,6BAA6B,EAC7B,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,eAAe,GAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,eAAe,EACpB,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpE,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AAExB,OAAO,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,GACV,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,KAAK,EACL,aAAa,EACb,eAAe,EACf,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,2BAA2B,EAC3B,6BAA6B,EAC7B,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,eAAe,GAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,eAAe,EACpB,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpE,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AAExB,OAAO,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,GACV,MAAM,sBAAsB,CAAC"}
|
|
@@ -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 = {
|
|
@@ -690,6 +695,30 @@ function createStubDefinition(name) {
|
|
|
690
695
|
function isStubDefinition(definition) {
|
|
691
696
|
return definition.__stub === true;
|
|
692
697
|
}
|
|
698
|
+
function backfillInstanceDefaults(block) {
|
|
699
|
+
if (Object.keys(block.props ?? {}).length > 0) return false;
|
|
700
|
+
if (Object.keys(block.slots ?? {}).length > 0) return false;
|
|
701
|
+
if (isStubDefinition(block.definition)) return false;
|
|
702
|
+
let defaults;
|
|
703
|
+
try {
|
|
704
|
+
const iv = block.definition.initialValue;
|
|
705
|
+
defaults = (typeof iv === "function" ? iv() : iv) ?? {};
|
|
706
|
+
} catch (error) {
|
|
707
|
+
reportBlockError(error, {
|
|
708
|
+
site: "block.backfillInstanceDefaults",
|
|
709
|
+
block: { id: block.id, type: block.type, definition: block.definition }
|
|
710
|
+
});
|
|
711
|
+
return false;
|
|
712
|
+
}
|
|
713
|
+
const propsDefault = defaults.props ?? {};
|
|
714
|
+
const slotsDefault = defaults.slots ?? {};
|
|
715
|
+
const hasProps = Object.keys(propsDefault).length > 0;
|
|
716
|
+
const hasSlots = Object.keys(slotsDefault).length > 0;
|
|
717
|
+
if (!hasProps && !hasSlots) return false;
|
|
718
|
+
if (hasProps) Object.assign(block.props, propsDefault);
|
|
719
|
+
if (hasSlots) Object.assign(block.slots, slotsDefault);
|
|
720
|
+
return true;
|
|
721
|
+
}
|
|
693
722
|
function getDefinitionByName(name) {
|
|
694
723
|
const definition = blockDefinitions.get(name);
|
|
695
724
|
if (definition != null) {
|
|
@@ -962,28 +991,29 @@ export {
|
|
|
962
991
|
SelectedBlockContext as S,
|
|
963
992
|
ThemeStateContext as T,
|
|
964
993
|
ContextRequestEvent as a,
|
|
965
|
-
|
|
994
|
+
backfillInstanceDefaults as b,
|
|
966
995
|
createContext as c,
|
|
967
996
|
d,
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
997
|
+
createBlockInstance as e,
|
|
998
|
+
createBlockInstanceFromJSON as f,
|
|
999
|
+
createBlockInstanceFromObject as g,
|
|
1000
|
+
createCeRenderer as h,
|
|
1001
|
+
createSelectedBlock as i,
|
|
1002
|
+
createThemeState as j,
|
|
1003
|
+
defineBlock as k,
|
|
1004
|
+
defineBlockRuntime as l,
|
|
1005
|
+
getDefinedBlocks as m,
|
|
1006
|
+
indexOverrides as n,
|
|
1007
|
+
injectContext as o,
|
|
1008
|
+
isStubDefinition as p,
|
|
1009
|
+
onRegisterBlock as q,
|
|
981
1010
|
registerBlock as r,
|
|
982
|
-
|
|
983
|
-
|
|
1011
|
+
provideContext as s,
|
|
1012
|
+
serializeBlocks as t,
|
|
984
1013
|
u,
|
|
985
|
-
|
|
1014
|
+
subscribeContext as v,
|
|
986
1015
|
w,
|
|
987
|
-
|
|
988
|
-
|
|
1016
|
+
n as x,
|
|
1017
|
+
withWrapper as y,
|
|
1018
|
+
ContextRoot as z
|
|
989
1019
|
};
|
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":"AAmBA,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;IAuHjB,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 {
|
|
5
|
-
import { E as ExtensionRoot, B as Block } from "./ExtensionRoot-
|
|
4
|
+
import { o as injectContext, E, z as ContextRoot } from "./theme-state-D3w_B6gQ.js";
|
|
5
|
+
import { E as ExtensionRoot, B as Block } from "./ExtensionRoot-CoDMQ-Gw.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-ZGS5rbZi.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 {
|
|
5
|
-
import { E as ExtensionRoot, B as Block } from "./ExtensionRoot-
|
|
6
|
-
import { T as TranslationContext } from "./juo-workflow-
|
|
4
|
+
import { o as injectContext, E, z as ContextRoot } from "./theme-state-D3w_B6gQ.js";
|
|
5
|
+
import { E as ExtensionRoot, B as Block } from "./ExtensionRoot-CoDMQ-Gw.js";
|
|
6
|
+
import { T as TranslationContext } from "./juo-workflow-ZGS5rbZi.js";
|
|
7
7
|
class InlineText extends HTMLElement {
|
|
8
8
|
constructor() {
|
|
9
9
|
super(...arguments);
|