@braidlabs/core 0.7.0 → 0.7.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@braidlabs/core",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "Braid client runtime — compose independently deployed frontend apps into one page. This build ships the compat adapter (the contained web-fragments-style emulation layer) as the default adapter.",
5
5
  "keywords": [
6
6
  "micro-frontends",
@@ -48,12 +48,112 @@ const native = {
48
48
  elementAfter: Element.prototype.after,
49
49
  shadowRootInnerHTML: Object.getOwnPropertyDescriptor(ShadowRoot.prototype, 'innerHTML'),
50
50
  };
51
+ /**
52
+ * Every boundary's stamped prototypes and installed wrappers, page-wide. A node that moves between
53
+ * fragments carries a stamp from each, and delegation has to see past all of them.
54
+ */
55
+ const allStampedProtos = new WeakSet();
56
+ const allBoundaryWrappers = new WeakSet();
57
+ /**
58
+ * The built-in prototypes the intercepted methods are defined on. A method found on one of these is
59
+ * the platform's — or a host page's later patch of it, which fragment nodes have never run.
60
+ */
61
+ const PLATFORM_PROTOTYPES = new Set([Node.prototype, Element.prototype, HTMLElement.prototype, DocumentFragment.prototype]);
62
+ /**
63
+ * The method a node would have without any boundary's stamp: whatever its prototype chain defines
64
+ * below the lowest stamp, read at call time — or the native method, when that is the platform's.
65
+ *
66
+ * A custom element may override insertion on its own class — Stencil's scoped components do, to
67
+ * move light-DOM children into the element's inner slot. The stamp sits above that class, so
68
+ * calling the native method unconditionally would skip the override: children land on the host
69
+ * instead of in the slot, and an `insertBefore` whose reference the component had relocated throws
70
+ * `NotFoundError`.
71
+ *
72
+ * Past the *lowest* stamp, of any boundary, so a node stamped by fragment A, then B, then A again
73
+ * never delegates from one boundary's wrapper to another's and back. Unstamped receivers (a shadow
74
+ * root's own-property overrides) get the native method.
75
+ */
76
+ function unstampedMethod(node, name, nativeMethod) {
77
+ let belowStamps;
78
+ for (let proto = Object.getPrototypeOf(node); proto !== null; proto = Object.getPrototypeOf(proto)) {
79
+ if (allStampedProtos.has(proto))
80
+ belowStamps = Object.getPrototypeOf(proto);
81
+ }
82
+ for (let owner = belowStamps; owner; owner = Object.getPrototypeOf(owner)) {
83
+ if (!Object.hasOwn(owner, name))
84
+ continue;
85
+ if (PLATFORM_PROTOTYPES.has(owner))
86
+ return nativeMethod;
87
+ const method = Object.getOwnPropertyDescriptor(owner, name)?.value;
88
+ return typeof method === 'function' && !allBoundaryWrappers.has(method) ? method : nativeMethod;
89
+ }
90
+ return nativeMethod;
91
+ }
92
+ /**
93
+ * Custom elements stamped before their definition existed, page-wide by tag name, and what restamps
94
+ * each one.
95
+ *
96
+ * Upgrading an element replaces its prototype with the definition's, which drops the stamp. Most
97
+ * upgrades happen during an insertion the boundary stamps after anyway; this catches the rest — an
98
+ * element already in a fragment's DOM when its definition arrives *in the host's registry*, which is
99
+ * the one that upgrades fragment DOM: a shared component bundle the host loads. A compat fragment's
100
+ * own `customElements.define` goes to its realm's registry and never resolves here.
101
+ *
102
+ * Many dashed names are never defined at all (every Angular component host), so nothing here may
103
+ * keep a boundary alive: one `whenDefined` per name for the page, closing over only the waiting
104
+ * set, and each element's restamper held weakly by the element.
105
+ */
106
+ const awaitingDefinition = new Map();
107
+ const restampers = new WeakMap();
108
+ function restampWhenDefined(element, restamp) {
109
+ const alreadyWaiting = restampers.has(element);
110
+ restampers.set(element, restamp);
111
+ if (alreadyWaiting)
112
+ return;
113
+ const name = element.localName;
114
+ let waiting = awaitingDefinition.get(name);
115
+ if (!waiting) {
116
+ const entry = { elements: new Set(), pruneAt: 1024 };
117
+ awaitingDefinition.set(name, (waiting = entry));
118
+ customElements.whenDefined(name).then(() => {
119
+ awaitingDefinition.delete(name);
120
+ for (const ref of entry.elements) {
121
+ const defined = ref.deref();
122
+ if (defined)
123
+ restampers.get(defined)?.(defined);
124
+ }
125
+ }, () => awaitingDefinition.delete(name));
126
+ }
127
+ // a long-lived list of a never-defined element leaves dead refs behind; sweep them as it grows
128
+ if (waiting.elements.size >= waiting.pruneAt) {
129
+ for (const ref of waiting.elements)
130
+ if (!ref.deref())
131
+ waiting.elements.delete(ref);
132
+ waiting.pruneAt = Math.max(1024, waiting.elements.size * 2);
133
+ }
134
+ waiting.elements.add(new WeakRef(element));
135
+ }
51
136
  export function createFragmentBoundary(options) {
52
137
  const { realmDocument, shadowRoot, braidDocumentElement, abortSignal, htmlPolicy } = options;
53
138
  const stampedNodes = new WeakSet();
54
139
  const stampedProtos = new Map();
55
140
  const stampedProtoSet = new WeakSet();
56
141
  let warnedAboutUnstampedEntry = false;
142
+ /** Restamps an upgraded element, unless it has left this fragment or the fragment is gone. */
143
+ function restampIfStillInFragment(element) {
144
+ if (!abortSignal.aborted && isInFragmentDom(element))
145
+ stampNode(element);
146
+ }
147
+ /**
148
+ * Stamps what an insertion put in place: anything in the fragment's DOM, or in a detached tree,
149
+ * which may enter it later. Not a node a component's own insertion override placed in the host's
150
+ * DOM instead (a portal, an overlay) — that is the host's, and stays on pristine prototypes.
151
+ */
152
+ function stampInserted(node) {
153
+ if (node.isConnected && !isInFragmentDom(node))
154
+ return;
155
+ stampTree(node);
156
+ }
57
157
  /** A node is inside this fragment's DOM iff its plain root is the fragment's shadow root. */
58
158
  function isInFragmentDom(node) {
59
159
  return native.getRootNode.call(node) === shadowRoot;
@@ -174,13 +274,13 @@ export function createFragmentBoundary(options) {
174
274
  * `compatDomInsertion`). In all cases the inserted subtree is stamped so the stamped set
175
275
  * stays closed.
176
276
  */
177
- function makeSingleNodeInsertion(nativeFn) {
277
+ function makeSingleNodeInsertion(name, nativeFn) {
178
278
  return function boundaryInsertion(childNode) {
179
279
  const args = arguments;
180
280
  const futureStamps = nodesToStampAfterInsertion(childNode);
181
281
  const doInsertTheNode = () => {
182
- const result = nativeFn.apply(this, args);
183
- futureStamps.forEach(stampTree);
282
+ const result = unstampedMethod(this, name, nativeFn).apply(this, args);
283
+ futureStamps.forEach(stampInserted);
184
284
  return result;
185
285
  };
186
286
  if (!isInFragmentDom(this)) {
@@ -195,8 +295,8 @@ export function createFragmentBoundary(options) {
195
295
  const args = arguments;
196
296
  const futureStamps = nodesToStampAfterInsertion(newChild);
197
297
  const doInsertTheNode = () => {
198
- const result = native.replaceChild.apply(this, args);
199
- futureStamps.forEach(stampTree);
298
+ const result = unstampedMethod(this, 'replaceChild', native.replaceChild).apply(this, args);
299
+ futureStamps.forEach(stampInserted);
200
300
  return result;
201
301
  };
202
302
  if (!isInFragmentDom(this)) {
@@ -210,8 +310,8 @@ export function createFragmentBoundary(options) {
210
310
  function boundaryInsertAdjacentElement(where, element) {
211
311
  const args = arguments;
212
312
  const doInsertTheNode = () => {
213
- const result = native.insertAdjacentElement.apply(this, args);
214
- stampTree(element);
313
+ const result = unstampedMethod(this, 'insertAdjacentElement', native.insertAdjacentElement).apply(this, args);
314
+ stampInserted(element);
215
315
  return result;
216
316
  };
217
317
  if (!isInFragmentDom(this)) {
@@ -224,14 +324,14 @@ export function createFragmentBoundary(options) {
224
324
  * replaceWith): the native insertion runs once, after every node argument has been
225
325
  * preprocessed.
226
326
  */
227
- function makeMultiNodeInsertion(nativeFn) {
327
+ function makeMultiNodeInsertion(name, nativeFn) {
228
328
  return function boundaryMultiInsertion(...nodes) {
229
329
  const args = arguments;
230
330
  const nodeArgs = nodes.filter((node) => typeof node !== 'string');
231
331
  const futureStamps = nodeArgs.flatMap(nodesToStampAfterInsertion);
232
332
  const doInsertTheNodes = () => {
233
- nativeFn.apply(this, args);
234
- futureStamps.forEach(stampTree);
333
+ unstampedMethod(this, name, nativeFn).apply(this, args);
334
+ futureStamps.forEach(stampInserted);
235
335
  };
236
336
  if (!isInFragmentDom(this)) {
237
337
  return doInsertTheNodes();
@@ -272,18 +372,18 @@ export function createFragmentBoundary(options) {
272
372
  };
273
373
  }
274
374
  const elementOverrides = {
275
- appendChild: { configurable: true, writable: true, value: makeSingleNodeInsertion(native.appendChild) },
276
- insertBefore: { configurable: true, writable: true, value: makeSingleNodeInsertion(native.insertBefore) },
375
+ appendChild: { configurable: true, writable: true, value: makeSingleNodeInsertion('appendChild', native.appendChild) },
376
+ insertBefore: { configurable: true, writable: true, value: makeSingleNodeInsertion('insertBefore', native.insertBefore) },
277
377
  replaceChild: { configurable: true, writable: true, value: boundaryReplaceChild },
278
378
  insertAdjacentElement: { configurable: true, writable: true, value: boundaryInsertAdjacentElement },
279
- append: { configurable: true, writable: true, value: makeMultiNodeInsertion(native.elementAppend) },
280
- prepend: { configurable: true, writable: true, value: makeMultiNodeInsertion(native.elementPrepend) },
379
+ append: { configurable: true, writable: true, value: makeMultiNodeInsertion('append', native.elementAppend) },
380
+ prepend: { configurable: true, writable: true, value: makeMultiNodeInsertion('prepend', native.elementPrepend) },
281
381
  replaceChildren: {
282
382
  configurable: true,
283
383
  writable: true,
284
- value: makeMultiNodeInsertion(native.elementReplaceChildren),
384
+ value: makeMultiNodeInsertion('replaceChildren', native.elementReplaceChildren),
285
385
  },
286
- replaceWith: { configurable: true, writable: true, value: makeMultiNodeInsertion(native.elementReplaceWith) },
386
+ replaceWith: { configurable: true, writable: true, value: makeMultiNodeInsertion('replaceWith', native.elementReplaceWith) },
287
387
  insertAdjacentHTML: {
288
388
  configurable: true,
289
389
  writable: true,
@@ -314,7 +414,7 @@ export function createFragmentBoundary(options) {
314
414
  }
315
415
  else {
316
416
  // also what throws for an unknown position, or outside an element with no parent
317
- native.insertAdjacentHTML.call(this, position, text);
417
+ unstampedMethod(this, 'insertAdjacentHTML', native.insertAdjacentHTML).call(this, position, text);
318
418
  }
319
419
  stampTree(inside ? this : this.parentNode ?? this);
320
420
  },
@@ -323,7 +423,7 @@ export function createFragmentBoundary(options) {
323
423
  configurable: true,
324
424
  writable: true,
325
425
  value: function boundaryCloneNode(deep) {
326
- const clone = native.cloneNode.call(this, deep);
426
+ const clone = unstampedMethod(this, 'cloneNode', native.cloneNode).call(this, deep);
327
427
  inheritProvenance(this, clone, Boolean(deep));
328
428
  stampTree(clone);
329
429
  return clone;
@@ -350,6 +450,10 @@ export function createFragmentBoundary(options) {
350
450
  },
351
451
  ...makeHtmlParsingOverrides(native.elementInnerHTML),
352
452
  };
453
+ for (const descriptor of Object.values(elementOverrides)) {
454
+ if (typeof descriptor.value === 'function')
455
+ allBoundaryWrappers.add(descriptor.value);
456
+ }
353
457
  /**
354
458
  * What a URL set from fragment script resolves against, read when it is set: the namespace from
355
459
  * the realm's base, and the fragment's own `<base href>` from its markup — the two the gateway
@@ -362,13 +466,16 @@ export function createFragmentBoundary(options) {
362
466
  function stampNode(node) {
363
467
  if (node.nodeType !== Node.ELEMENT_NODE)
364
468
  return;
365
- if (stampedNodes.has(node))
366
- return;
469
+ // by prototype, not by membership: an upgrade replaces a stamped element's prototype, and the
470
+ // next stamping pass that reaches it should put the stamp back
367
471
  const proto = Object.getPrototypeOf(node);
368
472
  if (proto === null || stampedProtoSet.has(proto)) {
369
473
  stampedNodes.add(node);
370
474
  return;
371
475
  }
476
+ if (proto === HTMLElement.prototype && node.localName.includes('-')) {
477
+ restampWhenDefined(node, restampIfStillInFragment);
478
+ }
372
479
  let stampedProto = stampedProtos.get(proto);
373
480
  if (!stampedProto) {
374
481
  // a subresource URL the fragment's code sets resolves into its namespace, as one in its
@@ -379,6 +486,7 @@ export function createFragmentBoundary(options) {
379
486
  });
380
487
  stampedProtos.set(proto, stampedProto);
381
488
  stampedProtoSet.add(stampedProto);
489
+ allStampedProtos.add(stampedProto);
382
490
  }
383
491
  Object.setPrototypeOf(node, stampedProto);
384
492
  stampedNodes.add(node);
@@ -399,15 +507,15 @@ export function createFragmentBoundary(options) {
399
507
  * (reporting the main document) — only insertions are intercepted.
400
508
  */
401
509
  Object.defineProperties(shadowRoot, {
402
- appendChild: { configurable: true, writable: true, value: makeSingleNodeInsertion(native.appendChild) },
403
- insertBefore: { configurable: true, writable: true, value: makeSingleNodeInsertion(native.insertBefore) },
510
+ appendChild: { configurable: true, writable: true, value: makeSingleNodeInsertion('appendChild', native.appendChild) },
511
+ insertBefore: { configurable: true, writable: true, value: makeSingleNodeInsertion('insertBefore', native.insertBefore) },
404
512
  replaceChild: { configurable: true, writable: true, value: boundaryReplaceChild },
405
- append: { configurable: true, writable: true, value: makeMultiNodeInsertion(native.fragmentAppend) },
406
- prepend: { configurable: true, writable: true, value: makeMultiNodeInsertion(native.fragmentPrepend) },
513
+ append: { configurable: true, writable: true, value: makeMultiNodeInsertion('append', native.fragmentAppend) },
514
+ prepend: { configurable: true, writable: true, value: makeMultiNodeInsertion('prepend', native.fragmentPrepend) },
407
515
  replaceChildren: {
408
516
  configurable: true,
409
517
  writable: true,
410
- value: makeMultiNodeInsertion(native.fragmentReplaceChildren),
518
+ value: makeMultiNodeInsertion('replaceChildren', native.fragmentReplaceChildren),
411
519
  },
412
520
  ...makeHtmlParsingOverrides(native.shadowRootInnerHTML),
413
521
  });
@@ -1 +1 @@
1
- {"version":3,"file":"fragment-boundary.js","sourceRoot":"","sources":["../../../../../libs/core/src/compat/fragment-boundary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fragment-boundary.js","sourceRoot":"","sources":["../../../../../libs/core/src/compat/fragment-boundary.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,7 @@
1
1
  import { BraidError } from '../errors.js';
2
2
  import { LivenessState } from '../weave/liveness.js';
3
- /**
4
- * What the slot reports about its fragment.
5
- *
6
- * The original four are all still here and still mean what they meant — `ready` in particular is
7
- * kept as the name for "mounted, first beat not yet observed", which the liveness machine calls
8
- * `connecting`. Renaming it would have broken every host checking `slot.state === 'ready'` in
9
- * exchange for a word.
10
- *
11
- * The new three are the ones `ready` used to have to cover on its own:
12
- *
13
- * - `healthy` — beating.
14
- * - `unobservable` — the tab is hidden, so the host has stopped being able to tell. Not a fault.
15
- * - `suspect` → `gone` — beats stopped while the fragment should have been running.
16
- */
3
+ /** The `settle-timeout` attribute as a delay: the default when absent, empty or not a number. */
4
+ export declare function settleTimeoutMs(attribute: string | null): number;
17
5
  export type FragmentSlotState = 'idle' | 'loading' | 'ready' | 'error' | 'closing' | 'healthy' | 'unobservable' | 'suspect' | 'gone';
18
6
  /** `connecting` is reported as `ready`; every other liveness state carries its own name. */
19
7
  export declare function slotStateFor(liveness: LivenessState): FragmentSlotState;
@@ -73,8 +61,11 @@ export declare function ensureFallbackSlot(shadowRoot: ShadowRoot): void;
73
61
  * - `boot` — `eager` (default), `idle`, `visible`, or `interaction`: when to boot. Read when the
74
62
  * slot connects, or when a deferred slot's late markup arrives. See `boot-gate.ts`.
75
63
  *
64
+ * - `settle-timeout` — milliseconds after `ready` before the slot reports `settled` on its own, for a
65
+ * fragment that never says it has (default 10000). See {@link FragmentSlot.settled}.
66
+ *
76
67
  * Events: `braid:ready`, `braid:error` (detail includes stage + fix hint), `braid:event`
77
- * (fragment → host).
68
+ * (fragment → host), `braid:settled` (detail: `{ fragmentId, timedOut }`).
78
69
  *
79
70
  * The slot uses only its own shadow root and its own elements — the host page is never patched.
80
71
  */
@@ -83,6 +74,28 @@ export declare class FragmentSlot extends HTMLElement {
83
74
  static get observedAttributes(): string[];
84
75
  get state(): FragmentSlotState;
85
76
  get name(): string;
77
+ /**
78
+ * Whether the fragment's first content has settled, reflected as the `settled` attribute.
79
+ *
80
+ * Not a slot state, because it answers a different question. `healthy` says the fragment's realm
81
+ * is running, which is true from its first beat — while the application inside may still be
82
+ * showing its own spinner. `settled` says the fragment has finished its own initial loading,
83
+ * which only the fragment can know: it reports it (`env.settled()`, `provideBraidFragment()` in
84
+ * Angular), and a host keeps its skeleton up until then. Not through `slot="loading"`, which is
85
+ * the slot's own boot-time state and gives way at first paint, but as a sibling the host styles:
86
+ *
87
+ * ```html
88
+ * <fragment-slot name="contact"></fragment-slot><div class="skeleton" hidden></div>
89
+ * ```
90
+ * ```css
91
+ * fragment-slot:not([settled], [state="error"]) + .skeleton { display: block; }
92
+ * ```
93
+ *
94
+ * A fragment that never reports is settled anyway `settle-timeout` milliseconds after `ready`, with
95
+ * `timedOut: true` on the event, so a skeleton cannot stick forever. One that fails never settles —
96
+ * it has nothing to show — so a skeleton keyed on `settled` gives way to `[state="error"]`, as above.
97
+ */
98
+ get settled(): boolean;
86
99
  /**
87
100
  * The fragment's unsaved-work declaration, or null.
88
101
  *
@@ -13,7 +13,7 @@ import { createSameRealmBackingPair } from '../weave/same-realm-backing.js';
13
13
  import { weaveId } from '../weave/envelope.js';
14
14
  import { performHostHandshake } from '../weave/handshake.js';
15
15
  import { attachContextRouter } from '../weave/context-bridge.js';
16
- import { FRAGMENT_EVENT, PROPS_CHANGED } from '../weave/messages.js';
16
+ import { BRAID_FRAGMENT_REPORTER, FRAGMENT_EVENT, PROPS_CHANGED, SETTLED } from '../weave/messages.js';
17
17
  import { startFragmentBeats, startHostLiveness } from '../weave/liveness.js';
18
18
  import { DIRTY, closeAndDispose } from '../weave/closing.js';
19
19
  import { negotiateContract } from '../weave/contract.js';
@@ -26,6 +26,29 @@ import { DEFERRED_ATTRIBUTE, lateContentArrival } from './late-content.js';
26
26
  import { startPrefetch, takePrefetchedDocument } from './prefetch.js';
27
27
  import { createRecovery } from './recovery.js';
28
28
  import { resolveHtmlPolicy } from '../compat/html-policy.js';
29
+ /**
30
+ * What the slot reports about its fragment.
31
+ *
32
+ * The original four are all still here and still mean what they meant — `ready` in particular is
33
+ * kept as the name for "mounted, first beat not yet observed", which the liveness machine calls
34
+ * `connecting`. Renaming it would have broken every host checking `slot.state === 'ready'` in
35
+ * exchange for a word.
36
+ *
37
+ * The new three are the ones `ready` used to have to cover on its own:
38
+ *
39
+ * - `healthy` — beating.
40
+ * - `unobservable` — the tab is hidden, so the host has stopped being able to tell. Not a fault.
41
+ * - `suspect` → `gone` — beats stopped while the fragment should have been running.
42
+ */
43
+ /** How long after `ready` a slot waits for its fragment to report settled before saying so itself. */
44
+ const DEFAULT_SETTLE_TIMEOUT_MS = 10_000;
45
+ /** The longest delay `setTimeout` honors; anything longer fires at once. */
46
+ const MAX_TIMER_DELAY_MS = 2_147_483_647;
47
+ /** The `settle-timeout` attribute as a delay: the default when absent, empty or not a number. */
48
+ export function settleTimeoutMs(attribute) {
49
+ const value = attribute?.trim() ? Number(attribute) : NaN;
50
+ return Number.isFinite(value) && value >= 0 ? Math.min(value, MAX_TIMER_DELAY_MS) : DEFAULT_SETTLE_TIMEOUT_MS;
51
+ }
29
52
  /** `connecting` is reported as `ready`; every other liveness state carries its own name. */
30
53
  export function slotStateFor(liveness) {
31
54
  return liveness === 'connecting' ? 'ready' : liveness;
@@ -131,8 +154,11 @@ export function ensureFallbackSlot(shadowRoot) {
131
154
  * - `boot` — `eager` (default), `idle`, `visible`, or `interaction`: when to boot. Read when the
132
155
  * slot connects, or when a deferred slot's late markup arrives. See `boot-gate.ts`.
133
156
  *
157
+ * - `settle-timeout` — milliseconds after `ready` before the slot reports `settled` on its own, for a
158
+ * fragment that never says it has (default 10000). See {@link FragmentSlot.settled}.
159
+ *
134
160
  * Events: `braid:ready`, `braid:error` (detail includes stage + fix hint), `braid:event`
135
- * (fragment → host).
161
+ * (fragment → host), `braid:settled` (detail: `{ fragmentId, timedOut }`).
136
162
  *
137
163
  * The slot uses only its own shadow root and its own elements — the host page is never patched.
138
164
  */
@@ -141,6 +167,8 @@ export class FragmentSlot extends HTMLElement {
141
167
  return ['name', 'src', 'props'];
142
168
  }
143
169
  #state = 'idle';
170
+ #settled = false;
171
+ #settleTimer;
144
172
  #props = {};
145
173
  /** Host end of this instance's boundary channel; undefined between teardown and the next boot. */
146
174
  #channel;
@@ -224,6 +252,11 @@ export class FragmentSlot extends HTMLElement {
224
252
  this.setAttribute('state', next);
225
253
  if (next !== 'loading')
226
254
  this.#clearBusy();
255
+ // a new boot, or none, has not settled; a failed or closing one never will
256
+ if (next === 'loading' || next === 'idle')
257
+ this.#resetSettled();
258
+ else if (next === 'error' || next === 'closing')
259
+ this.#cancelSettleFallback();
227
260
  this.dispatchEvent(new CustomEvent('braid:state', { detail: { state: next, previous, fragmentId: this.name } }));
228
261
  // not over unsaved work: a fragment that declared some may yet come back with it
229
262
  if (next === 'gone' && this.#dirty === null)
@@ -232,6 +265,66 @@ export class FragmentSlot extends HTMLElement {
232
265
  get name() {
233
266
  return this.getAttribute('name') ?? '';
234
267
  }
268
+ /**
269
+ * Whether the fragment's first content has settled, reflected as the `settled` attribute.
270
+ *
271
+ * Not a slot state, because it answers a different question. `healthy` says the fragment's realm
272
+ * is running, which is true from its first beat — while the application inside may still be
273
+ * showing its own spinner. `settled` says the fragment has finished its own initial loading,
274
+ * which only the fragment can know: it reports it (`env.settled()`, `provideBraidFragment()` in
275
+ * Angular), and a host keeps its skeleton up until then. Not through `slot="loading"`, which is
276
+ * the slot's own boot-time state and gives way at first paint, but as a sibling the host styles:
277
+ *
278
+ * ```html
279
+ * <fragment-slot name="contact"></fragment-slot><div class="skeleton" hidden></div>
280
+ * ```
281
+ * ```css
282
+ * fragment-slot:not([settled], [state="error"]) + .skeleton { display: block; }
283
+ * ```
284
+ *
285
+ * A fragment that never reports is settled anyway `settle-timeout` milliseconds after `ready`, with
286
+ * `timedOut: true` on the event, so a skeleton cannot stick forever. One that fails never settles —
287
+ * it has nothing to show — so a skeleton keyed on `settled` gives way to `[state="error"]`, as above.
288
+ */
289
+ get settled() {
290
+ return this.#settled;
291
+ }
292
+ #listenForSettled(channel, fragmentId, signal) {
293
+ // a boot that has been torn down speaks for nothing: a newer one may already be on screen
294
+ channel.on(SETTLED, () => {
295
+ if (!signal.aborted)
296
+ this.#markSettled(fragmentId, false);
297
+ });
298
+ }
299
+ #armSettleFallback(fragmentId, signal) {
300
+ if (this.#settled)
301
+ return;
302
+ this.#cancelSettleFallback();
303
+ this.#settleTimer = setTimeout(() => {
304
+ this.#settleTimer = undefined;
305
+ if (!signal.aborted)
306
+ this.#markSettled(fragmentId, true);
307
+ }, settleTimeoutMs(this.getAttribute('settle-timeout')));
308
+ }
309
+ #markSettled(fragmentId, timedOut) {
310
+ if (this.#settled)
311
+ return;
312
+ this.#cancelSettleFallback();
313
+ this.#settled = true;
314
+ this.setAttribute('settled', '');
315
+ this.dispatchEvent(new CustomEvent('braid:settled', { detail: { fragmentId, timedOut } }));
316
+ }
317
+ #cancelSettleFallback() {
318
+ if (this.#settleTimer === undefined)
319
+ return;
320
+ clearTimeout(this.#settleTimer);
321
+ this.#settleTimer = undefined;
322
+ }
323
+ #resetSettled() {
324
+ this.#cancelSettleFallback();
325
+ this.#settled = false;
326
+ this.removeAttribute('settled');
327
+ }
235
328
  /**
236
329
  * The fragment's unsaved-work declaration, or null.
237
330
  *
@@ -619,6 +712,7 @@ export class FragmentSlot extends HTMLElement {
619
712
  const { type, detail } = (payload ?? {});
620
713
  this.dispatchEvent(new CustomEvent('braid:event', { detail: { type, detail }, bubbles: true }));
621
714
  });
715
+ this.#listenForSettled(hostChannel, fragmentId, signal);
622
716
  const { env, opened } = createFragmentEnv({
623
717
  contentRoot,
624
718
  shadowRoot,
@@ -684,6 +778,11 @@ export class FragmentSlot extends HTMLElement {
684
778
  await Promise.all([earlyPrerequisites, latePrerequisites]);
685
779
  if (signal.aborted)
686
780
  return;
781
+ // before any fragment code: an unmodified app has no env, so it reports through its global
782
+ Object.defineProperty(realm.window, BRAID_FRAGMENT_REPORTER, {
783
+ value: Object.freeze({ settled: () => env.settled() }),
784
+ configurable: true,
785
+ });
687
786
  await adapter.boot({
688
787
  fragmentId,
689
788
  shadowRoot,
@@ -705,6 +804,7 @@ export class FragmentSlot extends HTMLElement {
705
804
  return;
706
805
  this.#setState('ready');
707
806
  this.dispatchEvent(new CustomEvent('braid:ready', { detail: { fragmentId } }));
807
+ this.#armSettleFallback(fragmentId, signal);
708
808
  /**
709
809
  * Liveness starts only once the adapter has mounted.
710
810
  *
@@ -830,6 +930,7 @@ export class FragmentSlot extends HTMLElement {
830
930
  const { type, detail } = (payload ?? {});
831
931
  this.dispatchEvent(new CustomEvent('braid:event', { detail: { type, detail }, bubbles: true }));
832
932
  });
933
+ this.#listenForSettled(hostChannel, fragmentId, signal);
833
934
  const { env, opened } = createFragmentEnv({
834
935
  contentRoot,
835
936
  shadowRoot,
@@ -883,6 +984,7 @@ export class FragmentSlot extends HTMLElement {
883
984
  return;
884
985
  this.#setState('ready');
885
986
  this.dispatchEvent(new CustomEvent('braid:ready', { detail: { fragmentId } }));
987
+ this.#armSettleFallback(fragmentId, signal);
886
988
  this.#liveness = startHostLiveness({
887
989
  channel: hostChannel,
888
990
  instance,
@@ -962,6 +1064,7 @@ export class FragmentSlot extends HTMLElement {
962
1064
  const { type, detail } = (payload ?? {});
963
1065
  this.dispatchEvent(new CustomEvent('braid:event', { detail: { type, detail }, bubbles: true }));
964
1066
  });
1067
+ this.#listenForSettled(hostChannel, fragmentId, signal);
965
1068
  /**
966
1069
  * Listening starts *before* the handshake; judging starts at `mounted`.
967
1070
  *
@@ -1007,6 +1110,7 @@ export class FragmentSlot extends HTMLElement {
1007
1110
  return;
1008
1111
  this.#setState('ready');
1009
1112
  this.dispatchEvent(new CustomEvent('braid:ready', { detail: { fragmentId } }));
1113
+ this.#armSettleFallback(fragmentId, signal);
1010
1114
  /**
1011
1115
  * No `startFragmentBeats` here. The guest schedules its own, in its own document, on its own
1012
1116
  * event loop — which is stronger evidence than the trusted tier can offer, where the beat comes
@@ -1 +1 @@
1
- {"version":3,"file":"fragment-slot.js","sourceRoot":"","sources":["../../../../../libs/core/src/elements/fragment-slot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fragment-slot.js","sourceRoot":"","sources":["../../../../../libs/core/src/elements/fragment-slot.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { createContextMirror } from '../weave/context-bridge.js';
2
2
  import { answerHandshake } from '../weave/handshake.js';
3
- import { FRAGMENT_EVENT, PROPS_CHANGED } from '../weave/messages.js';
3
+ import { FRAGMENT_EVENT, PROPS_CHANGED, SETTLED } from '../weave/messages.js';
4
4
  import { createClosingCoordinator } from '../weave/closing.js';
5
5
  function parseEnvLocation(routeUrl) {
6
6
  const url = new URL(routeUrl, document.baseURI);
@@ -116,6 +116,7 @@ export function createFragmentEnv(options) {
116
116
  emit: (type, detail) => channel.send(FRAGMENT_EVENT, { type, detail }),
117
117
  onClosing: closing.onClosing,
118
118
  setDirty: closing.setDirty,
119
+ settled: () => channel.send(SETTLED),
119
120
  signal,
120
121
  };
121
122
  return { env, opened };
@@ -1 +1 @@
1
- {"version":3,"file":"create-env.js","sourceRoot":"","sources":["../../../../../libs/core/src/env/create-env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-env.js","sourceRoot":"","sources":["../../../../../libs/core/src/env/create-env.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,12 @@ export interface FragmentEnv {
79
79
  * Braid never installs that handler itself; the host opts in via `slot.dirty`.
80
80
  */
81
81
  setDirty(reason: string | null): void;
82
+ /**
83
+ * Reports that the fragment's first content has settled — its own loading is done, not just its
84
+ * mount. The host sees it as the slot's `settled` attribute and a `braid:settled` event; until
85
+ * then a host skeleton can stay up even though the slot is `healthy`. Later calls do nothing.
86
+ */
87
+ settled(): void;
82
88
  /** Fires on unmount, after every `onClosing` handler has settled or the deadline has passed. */
83
89
  readonly signal: AbortSignal;
84
90
  }
package/src/index.d.ts CHANGED
@@ -19,6 +19,7 @@ export type { BraidOptions, RealmGlobalsHook } from './config.js';
19
19
  export type { PrerequisiteOutcome, PrerequisiteResolver } from './elements/prerequisites.js';
20
20
  export { NotEntitledError } from './elements/prerequisites.js';
21
21
  export type { FragmentEnv, EnvDocument, EnvLocation, EnvHistory, EnvContext, EnvSubscribeOptions } from './env/fragment-env.js';
22
+ export { BRAID_FRAGMENT_REPORTER, braidFragmentReporter, type BraidFragmentReporter } from './weave/messages.js';
22
23
  export type { BraidAdapter } from './adapters/adapter.js';
23
24
  export { DEFAULT_ADAPTER } from './adapters/adapter.js';
24
25
  export { customElementAdapter } from './adapters/custom-element-adapter.js';
package/src/index.js CHANGED
@@ -21,6 +21,7 @@ import { FragmentSlot } from './elements/fragment-slot.js';
21
21
  import { BraidLate, BraidLateEnd } from './elements/late-content.js';
22
22
  export { BraidError } from './errors.js';
23
23
  export { NotEntitledError } from './elements/prerequisites.js';
24
+ export { BRAID_FRAGMENT_REPORTER, braidFragmentReporter } from './weave/messages.js';
24
25
  export { DEFAULT_ADAPTER } from './adapters/adapter.js';
25
26
  export { customElementAdapter } from './adapters/custom-element-adapter.js';
26
27
  export { contractAdapter } from './adapters/contract-adapter.js';
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/core/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAc1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAGzE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAE/H,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAEvB;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,UAAwB,EAAE;IAClD,cAAc,CAAC,OAAO,CAAC,CAAC;IACxB,cAAc,CAAC,aAAa,CAAC,CAAC;IAC9B,cAAc,CAAC,oBAAoB,CAAC,CAAC;IACrC,cAAc,CAAC,eAAe,CAAC,CAAC;IAEhC,iGAAiG;IACjG,6DAA6D;IAC7D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC/C,cAAc,CAAC,MAAM,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QACzC,cAAc,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/core/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAA8B,MAAM,qBAAqB,CAAC;AAEjH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAc1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAGzE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAE/H,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAEvB;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,UAAwB,EAAE;IAClD,cAAc,CAAC,OAAO,CAAC,CAAC;IACxB,cAAc,CAAC,aAAa,CAAC,CAAC;IAC9B,cAAc,CAAC,oBAAoB,CAAC,CAAC;IACrC,cAAc,CAAC,eAAe,CAAC,CAAC;IAEhC,iGAAiG;IACjG,6DAA6D;IAC7D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC/C,cAAc,CAAC,MAAM,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QACzC,cAAc,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
@@ -32,6 +32,8 @@ export interface GuestSession {
32
32
  onPropsChanged(listener: (props: Readonly<Record<string, unknown>>) => void): () => void;
33
33
  /** Fragment → host. Surfaced on the slot element as `braid:event`. */
34
34
  emit(type: string, detail?: unknown): void;
35
+ /** Reports the fragment's first content as settled; see `FragmentEnv.settled`. */
36
+ settled(): void;
35
37
  onClosing: ClosingCoordinator['onClosing'];
36
38
  setDirty: ClosingCoordinator['setDirty'];
37
39
  /** Aborts when the host closes the session. */
@@ -6,7 +6,7 @@ import { createContextMirror } from './context-bridge.js';
6
6
  import { createClosingCoordinator } from './closing.js';
7
7
  import { answerHandshake } from './handshake.js';
8
8
  import { startFragmentBeats } from './liveness.js';
9
- import { FRAGMENT_EVENT, PROPS_CHANGED } from './messages.js';
9
+ import { FRAGMENT_EVENT, PROPS_CHANGED, SETTLED } from './messages.js';
10
10
  const CONNECT_TIMEOUT_MS = 15_000;
11
11
  /** Waits for a host to offer a port, then completes the Weave handshake over it. */
12
12
  export async function connectToBraidHost(options) {
@@ -70,6 +70,7 @@ export async function connectToBraidHost(options) {
70
70
  return () => void propsListeners.delete(listener);
71
71
  },
72
72
  emit: (type, detail) => channel.send(FRAGMENT_EVENT, { type, detail }),
73
+ settled: () => channel.send(SETTLED),
73
74
  onClosing: closing.onClosing,
74
75
  setDirty: closing.setDirty,
75
76
  signal: controller.signal,
@@ -1 +1 @@
1
- {"version":3,"file":"guest.js","sourceRoot":"","sources":["../../../../../libs/core/src/weave/guest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guest.js","sourceRoot":"","sources":["../../../../../libs/core/src/weave/guest.ts"],"names":[],"mappings":"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"}
@@ -25,3 +25,27 @@ export interface FragmentEventPayload {
25
25
  type: string;
26
26
  detail?: unknown;
27
27
  }
28
+ /**
29
+ * Fragment → host. The fragment's first content has settled: its own loading is done, not just its
30
+ * mount. Surfaced on the slot as the `settled` attribute and a `braid:settled` event.
31
+ *
32
+ * Separate from liveness on purpose. `healthy` proves the realm's event loop is turning, which is
33
+ * true from the first beat — while the application inside may still be showing its own spinner. Only
34
+ * the fragment knows when it has something worth looking at, so this is the fragment's to say, once.
35
+ */
36
+ export declare const SETTLED = "frag/settled";
37
+ /**
38
+ * Where a compat fragment finds its reporter: on its realm's global, under a registered symbol.
39
+ *
40
+ * A compat fragment is an unmodified app that never receives an env, so the one thing it may want
41
+ * to say has to be reachable from a global. A registered symbol rather than a name: it collides with
42
+ * nothing the app defines, and every copy of `@braidlabs/core` — the host's, and any bundled into
43
+ * the fragment — resolves the same one.
44
+ */
45
+ export declare const BRAID_FRAGMENT_REPORTER: unique symbol;
46
+ export interface BraidFragmentReporter {
47
+ /** Reports the fragment's first content as settled. Later calls do nothing. */
48
+ settled(): void;
49
+ }
50
+ /** The reporter the realm this code runs in was given, or undefined outside a Braid realm. */
51
+ export declare function braidFragmentReporter(): BraidFragmentReporter | undefined;
@@ -10,4 +10,26 @@
10
10
  export const PROPS_CHANGED = 'props/changed';
11
11
  /** Fragment → host. Surfaced on the slot element as `braid:event`. */
12
12
  export const FRAGMENT_EVENT = 'frag/event';
13
+ /**
14
+ * Fragment → host. The fragment's first content has settled: its own loading is done, not just its
15
+ * mount. Surfaced on the slot as the `settled` attribute and a `braid:settled` event.
16
+ *
17
+ * Separate from liveness on purpose. `healthy` proves the realm's event loop is turning, which is
18
+ * true from the first beat — while the application inside may still be showing its own spinner. Only
19
+ * the fragment knows when it has something worth looking at, so this is the fragment's to say, once.
20
+ */
21
+ export const SETTLED = 'frag/settled';
22
+ /**
23
+ * Where a compat fragment finds its reporter: on its realm's global, under a registered symbol.
24
+ *
25
+ * A compat fragment is an unmodified app that never receives an env, so the one thing it may want
26
+ * to say has to be reachable from a global. A registered symbol rather than a name: it collides with
27
+ * nothing the app defines, and every copy of `@braidlabs/core` — the host's, and any bundled into
28
+ * the fragment — resolves the same one.
29
+ */
30
+ export const BRAID_FRAGMENT_REPORTER = Symbol.for('braid.fragment');
31
+ /** The reporter the realm this code runs in was given, or undefined outside a Braid realm. */
32
+ export function braidFragmentReporter() {
33
+ return globalThis[BRAID_FRAGMENT_REPORTER];
34
+ }
13
35
  //# sourceMappingURL=messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../../libs/core/src/weave/messages.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,qFAAqF;AACrF,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAE7C,sEAAsE;AACtE,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../../libs/core/src/weave/messages.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,qFAAqF;AACrF,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAE7C,sEAAsE;AACtE,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAmB3C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,cAAc,CAAC;AAEtC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAOpE,8FAA8F;AAC9F,MAAM,UAAU,qBAAqB;IACnC,OAAQ,UAAgE,CAAC,uBAAuB,CAAC,CAAC;AACpG,CAAC"}