@askrjs/askr 0.0.94 → 0.0.96

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +3 -1
  3. package/dist/actions/index.d.ts +1 -1
  4. package/dist/{activity-CJIQyo5X.d.ts → activity-D_5x2HXQ.d.ts} +1 -1
  5. package/dist/{activity-BshyLB3_.js → activity-d4t3CdzK.js} +1 -1
  6. package/dist/benchmark.js +5 -5
  7. package/dist/boot/index.d.ts +2 -2
  8. package/dist/boot/index.js +1 -1
  9. package/dist/{boot-BsMB_ySP.js → boot-C1wT3Vfs.js} +11 -9
  10. package/dist/{cleanup-DefafSjG.js → cleanup-D7uN-Z1s.js} +1 -1
  11. package/dist/{component-cleanup-hrqSikl2.js → component-cleanup-DYG80yhG.js} +2 -0
  12. package/dist/{component-internal-DOVVMjG7.js → component-internal-D0yE2Ch3.js} +72 -8
  13. package/dist/components/index.d.ts +5 -2
  14. package/dist/components/index.js +4 -1
  15. package/dist/control/index.d.ts +1 -1
  16. package/dist/control/index.js +1 -1
  17. package/dist/{control-DqOzkgc7.js → control-C0klPV7Q.js} +1 -1
  18. package/dist/{csp-nonce-BBxq1zq4.js → csp-nonce-BVybpV1v.js} +1 -1
  19. package/dist/data/index.d.ts +1 -1
  20. package/dist/data/index.js +1 -1
  21. package/dist/{data-DYqokZzc.js → data-Bm8L6JOm.js} +1 -1
  22. package/dist/{deferred-BS0Xpstg.js → deferred-p8hyanxJ.js} +2 -2
  23. package/dist/{for-internal-jrliHZmF.js → for-internal-DkBwTG4S.js} +2 -2
  24. package/dist/foundations/index.d.ts +1 -1
  25. package/dist/foundations/index.js +1 -1
  26. package/dist/foundations/state/index.d.ts +1 -1
  27. package/dist/foundations/structures/index.d.ts +1 -1
  28. package/dist/foundations/structures/index.js +1 -1
  29. package/dist/fx/index.d.ts +1 -1
  30. package/dist/{index-KQ7Vl4-8.d.ts → index-CTIBOqUB.d.ts} +4 -0
  31. package/dist/{index-C29SEGIv.d.ts → index-S2IqSJib.d.ts} +1 -1
  32. package/dist/index.d.ts +1 -1
  33. package/dist/index.js +5 -5
  34. package/dist/{lifecycle-operations-Qxq6ABrC.js → lifecycle-operations-CBzG5PyB.js} +1 -1
  35. package/dist/{navigate-CECCMPAr.js → navigate-DChM5m8m.js} +6 -6
  36. package/dist/{navigate-BL_FIIJ6.d.ts → navigate-eGm4omPj.d.ts} +1 -1
  37. package/dist/{renderer-CLvq458M.js → renderer-tXX_xj86.js} +5 -32
  38. package/dist/{resolution-D8PgnTzh.js → resolution-BQyo7qNn.js} +2 -2
  39. package/dist/{resource-operation-CLQXCn1p.js → resource-operation-B62UQKHV.js} +1 -1
  40. package/dist/resources/index.d.ts +2 -2
  41. package/dist/resources/index.js +4 -4
  42. package/dist/router/index.d.ts +3 -3
  43. package/dist/router/index.js +5 -5
  44. package/dist/ssg/index.d.ts +1 -1
  45. package/dist/ssg/index.js +163 -122
  46. package/dist/ssr/index.d.ts +1 -1
  47. package/dist/ssr/index.js +1 -1
  48. package/dist/{ssr-8_vHDWqV.js → ssr-DYcK20IX.js} +5 -5
  49. package/dist/{structures-umvVUD-M.js → structures-CPycoyZj.js} +45 -10
  50. package/dist/testing/index.d.ts +1 -1
  51. package/dist/testing/index.js +2 -2
  52. package/dist/{verify-hydration-jf8X2V3x.js → verify-hydration-m-wVbYOD.js} +1 -1
  53. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  - fix(runtime): reject recursive `derive()` and `selector()` reads before a
6
6
  memoized value can bypass the self-evaluation guard.
7
+ - fix(runtime): route scheduled descendant and portal materialization failures
8
+ to the nearest live `ErrorBoundary` while preserving unbounded propagation.
7
9
 
8
10
  ## 0.0.85
9
11
 
package/README.md CHANGED
@@ -92,7 +92,9 @@ Query and mutation helpers live in `@askrjs/askr/data`.
92
92
 
93
93
  `ErrorBoundary` is the opt-in boundary primitive for render-time failures. It
94
94
  renders a visible fallback in development, still logs the underlying error, and
95
- can reset when your app state changes.
95
+ can reset when your app state changes. The boundary protects both initial mount
96
+ and scheduled post-mount updates. Portal content follows its logical writer
97
+ boundary and can also recover through a boundary around its host.
96
98
 
97
99
  ```ts
98
100
  import { ErrorBoundary } from '@askrjs/askr/components';
@@ -1,2 +1,2 @@
1
- import { a as action, i as ActionValidationError, n as ActionForm, o as defineAction, r as ActionStatus, t as ActionDescriptor } from "../index-KQ7Vl4-8.js";
1
+ import { a as action, i as ActionValidationError, n as ActionForm, o as defineAction, r as ActionStatus, t as ActionDescriptor } from "../index-CTIBOqUB.js";
2
2
  export { ActionDescriptor, ActionForm, ActionStatus, ActionValidationError, action, defineAction };
@@ -1,4 +1,4 @@
1
- import { Ct as RouteParams, Lt as RouteSnapshot } from "./index-KQ7Vl4-8.js";
1
+ import { Ct as RouteParams, Lt as RouteSnapshot } from "./index-CTIBOqUB.js";
2
2
  //#region src/router/activity.d.ts
3
3
  /** Options for {@link onRouteChange}. */
4
4
  interface RouteChangeOptions {
@@ -1,5 +1,5 @@
1
1
  import { d as getCurrentAppRenderRuntime, f as getCurrentComponentInstance, i as claimHookIndex } from "./component-scope-4I3yEMkb.js";
2
- import { a as registerCommitOperation } from "./component-internal-DOVVMjG7.js";
2
+ import { a as registerCommitOperation } from "./component-internal-D0yE2Ch3.js";
3
3
  import { l as notifyReadableReaders, o as markReactivePropsDirtySource, s as markReadableDerivedSubscribersDirty, u as recordReadableRead } from "./readable-BsdGWsDE.js";
4
4
  import { n as getActiveRenderContext } from "./render-context-B7ohlh6t.js";
5
5
  import { n as syncRouteActivitySnapshot } from "./route-activity-CNJfpwx-.js";
package/dist/benchmark.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { r as flushRuntimeScheduler } from "./access-d_DCdwqn.js";
2
- import { t as installRendererBridge } from "./renderer-CLvq458M.js";
3
2
  import { t as state } from "./state-DmkGM_LN.js";
4
3
  import { t as selector } from "./selector-CyK-sDwB.js";
5
- import { i as For } from "./control-DqOzkgc7.js";
4
+ import { t as installRendererBridge } from "./renderer-tXX_xj86.js";
5
+ import { i as For } from "./control-C0klPV7Q.js";
6
6
  import { jsx, jsxs } from "./jsx-runtime.js";
7
- import { t as createIsland } from "./boot-BsMB_ySP.js";
7
+ import { t as createIsland } from "./boot-C1wT3Vfs.js";
8
8
  //#region src/bench/components/benchmark-row.tsx
9
9
  function BenchmarkRow({ item, isSelected, onSelect, onRemove }) {
10
10
  return /* @__PURE__ */ jsxs("tr", {
@@ -63,8 +63,8 @@ function BenchmarkTable({ rows, isSelected, onSelect, onRemove }) {
63
63
  installRendererBridge();
64
64
  const benchmarkMetadata = {
65
65
  packageName: "@askrjs/askr",
66
- packageVersion: "0.0.94",
67
- buildLabel: "0.0.94-local"
66
+ packageVersion: "0.0.96",
67
+ buildLabel: "0.0.96-local"
68
68
  };
69
69
  function getBenchmarkMetadata() {
70
70
  return { ...benchmarkMetadata };
@@ -1,5 +1,5 @@
1
- import { At as RouteRegistry, nn as ComponentFunction, ut as RouteAuthOptions, zt as DataRuntime } from "../index-KQ7Vl4-8.js";
2
- import { a as ScrollRestorationOptions } from "../navigate-BL_FIIJ6.js";
1
+ import { At as RouteRegistry, nn as ComponentFunction, ut as RouteAuthOptions, zt as DataRuntime } from "../index-CTIBOqUB.js";
2
+ import { a as ScrollRestorationOptions } from "../navigate-eGm4omPj.js";
3
3
  //#region src/boot/types.d.ts
4
4
  /** Configuration for {@link createIsland}: mounts one component onto existing DOM. */
5
5
  type IslandConfig = {
@@ -1,2 +1,2 @@
1
- import { a as cleanupApp, i as hydrateSPA, n as createIslands, o as hasApp, r as createSPA, t as createIsland } from "../boot-BsMB_ySP.js";
1
+ import { a as cleanupApp, i as hydrateSPA, n as createIslands, o as hasApp, r as createSPA, t as createIsland } from "../boot-C1wT3Vfs.js";
2
2
  export { cleanupApp, createIsland, createIslands, createSPA, hasApp, hydrateSPA };
@@ -1,19 +1,19 @@
1
1
  import { S as isProductionEnvironment, r as flushRuntimeScheduler, x as isDevelopmentEnvironment, y as logger } from "./access-d_DCdwqn.js";
2
2
  import { n as Fragment, t as ELEMENT_TYPE } from "./jsx-DRS-qjiN.js";
3
- import { n as createComponentInstance, r as executeComponent } from "./component-internal-DOVVMjG7.js";
4
- import { t as cleanupComponent } from "./component-cleanup-hrqSikl2.js";
3
+ import { n as createComponentInstance, r as executeComponent } from "./component-internal-D0yE2Ch3.js";
4
+ import { t as cleanupComponent } from "./component-cleanup-DYG80yhG.js";
5
5
  import { p as isPromiseLike } from "./lifecycle-batch-BH0fax4F.js";
6
- import { a as setStaticChildSlotsCacheEnabled, c as endHydrationDirectListenerMode, d as discardHydrationListenerTransaction, i as registerDeferredHydrationBoundary, l as beginHydrationListenerTransaction, n as activateHydrationBoundary$1, o as withIntrinsicHydrationAdoption, r as clearDeferredHydrationBoundaries, s as beginHydrationDirectListenerMode, t as installRendererBridge, u as commitHydrationListenerTransaction } from "./renderer-CLvq458M.js";
7
- import { _ as teardownNodeSubtree, d as removeAllListeners } from "./cleanup-DefafSjG.js";
6
+ import { _ as teardownNodeSubtree, d as removeAllListeners } from "./cleanup-D7uN-Z1s.js";
8
7
  import { r as assertExecutionModel, t as _applyManifest } from "./manifest-D6rfj_jC.js";
9
8
  import { d as stopHydrationRenderPhase, l as startHydrationRenderPhase, y as pageRenderEnvelope } from "./render-context-B7ohlh6t.js";
10
- import { r as validateCspNonce, t as CspNonceScope } from "./csp-nonce-BBxq1zq4.js";
9
+ import { a as setStaticChildSlotsCacheEnabled, c as endHydrationDirectListenerMode, d as discardHydrationListenerTransaction, i as registerDeferredHydrationBoundary, l as beginHydrationListenerTransaction, n as activateHydrationBoundary$1, o as withIntrinsicHydrationAdoption, r as clearDeferredHydrationBoundaries, s as beginHydrationDirectListenerMode, t as installRendererBridge, u as commitHydrationListenerTransaction } from "./renderer-tXX_xj86.js";
10
+ import { r as validateCspNonce, t as CspNonceScope } from "./csp-nonce-BVybpV1v.js";
11
11
  import { i as getDefaultDataRuntime } from "./data-runtime-JxoRgrrt.js";
12
12
  import { a as hydrateDataRuntime } from "./query-registry-CimB1YeW.js";
13
13
  import { I as lockRouteRegistration, P as hasRegisteredRoutes, _ as clearRouteState, m as _setActiveRouteAuthOptions } from "./route-matching-Bo6UqG-5.js";
14
- import { a as resolveRouteRequest, i as hasRouteRenderData, m as reviveDeferredValue, n as getRouteRenderContext, r as getRouteRenderData } from "./resolution-D8PgnTzh.js";
15
- import { o as createAppRenderRuntime, r as setServerLocation } from "./activity-BshyLB3_.js";
16
- import { f as registerAppInstance, g as unregisterAppInstance, i as resolveRouteMeta, o as configureScrollRestoration, r as reconcileRouteMeta, t as initializeNavigation } from "./navigate-CECCMPAr.js";
14
+ import { a as resolveRouteRequest, i as hasRouteRenderData, m as reviveDeferredValue, n as getRouteRenderContext, r as getRouteRenderData } from "./resolution-BQyo7qNn.js";
15
+ import { o as createAppRenderRuntime, r as setServerLocation } from "./activity-d4t3CdzK.js";
16
+ import { f as registerAppInstance, g as unregisterAppInstance, i as resolveRouteMeta, o as configureScrollRestoration, r as reconcileRouteMeta, t as initializeNavigation } from "./navigate-DChM5m8m.js";
17
17
  import { n as disposeRegisteredDefaultPortalScope, r as getDefaultPortalHost } from "./default-portal-runtime-DvMvWJVp.js";
18
18
  import "./ssr-DSHd_Q9K.js";
19
19
  //#region src/boot/hydration.ts
@@ -323,6 +323,8 @@ function mountOrUpdate(rootElement, componentFn, options) {
323
323
  instance._lastReadSources = void 0;
324
324
  instance._placeholder = void 0;
325
325
  instance.errorBoundaryState = void 0;
326
+ instance._portalErrorParent = void 0;
327
+ instance._portalErrorParentGeneration = void 0;
326
328
  instance.devWarningsEmitted = void 0;
327
329
  }
328
330
  if (options && typeof options.cleanupStrict === "boolean") instance.cleanupStrict = options.cleanupStrict;
@@ -610,7 +612,7 @@ async function hydrateSPA(config) {
610
612
  cspNonce: config.cspNonce
611
613
  }));
612
614
  if (shouldVerifyHydrationMarkup(config)) {
613
- const { verifyHydrationSyncForUrl } = await import("./verify-hydration-jf8X2V3x.js");
615
+ const { verifyHydrationSyncForUrl } = await import("./verify-hydration-m-wVbYOD.js");
614
616
  if (!verifyHydrationSyncForUrl({
615
617
  root: rootElement,
616
618
  url: currentUrl,
@@ -1,7 +1,7 @@
1
1
  import { l as runRuntimeHandlerScope, y as logger } from "./access-d_DCdwqn.js";
2
2
  import "./fastlane-DGo7SxBQ.js";
3
3
  import { T as withAppRenderRuntime, d as getCurrentAppRenderRuntime } from "./component-scope-4I3yEMkb.js";
4
- import { t as cleanupComponent } from "./component-cleanup-hrqSikl2.js";
4
+ import { t as cleanupComponent } from "./component-cleanup-DYG80yhG.js";
5
5
  import { u as registerLifecycleTransaction } from "./lifecycle-batch-BH0fax4F.js";
6
6
  //#region src/runtime/events.ts
7
7
  /**
@@ -124,6 +124,8 @@ function cleanupComponent(instance) {
124
124
  instance.lifecycleSlots = void 0;
125
125
  instance.hasPendingUpdate = false;
126
126
  instance.notifyUpdate = null;
127
+ instance._portalErrorParent = void 0;
128
+ instance._portalErrorParentGeneration = void 0;
127
129
  instance._placeholder = void 0;
128
130
  instance.mounted = false;
129
131
  if (cleanupErrors && cleanupErrors.length > 0) throw new AggregateError(cleanupErrors, `Cleanup failed for component ${instance.id}`);
@@ -366,6 +366,57 @@ function commitRenderedComponent$1(instance) {
366
366
  if (instance.mounted && (instance.commitOperations?.length ?? 0) > 0) commitLifecycleForInstance(instance, false);
367
367
  }
368
368
  //#endregion
369
+ //#region src/runtime/error-boundary.ts
370
+ function createBoundaryReset(instance) {
371
+ return () => {
372
+ const boundaryState = instance.errorBoundaryState;
373
+ if (!boundaryState) return;
374
+ boundaryState.error = null;
375
+ boundaryState.notified = false;
376
+ queueMicrotask(() => {
377
+ instance._enqueueRun?.();
378
+ });
379
+ };
380
+ }
381
+ function reportBoundaryError(instance, error, onError) {
382
+ const boundaryState = instance.errorBoundaryState;
383
+ if (boundaryState && Object.is(boundaryState.error, error) && boundaryState.notified) return;
384
+ if (boundaryState) {
385
+ boundaryState.error = error;
386
+ boundaryState.notified = true;
387
+ }
388
+ try {
389
+ onError?.(error);
390
+ } catch (hookError) {
391
+ logger.error("[Askr] ErrorBoundary onError handler threw:", hookError);
392
+ }
393
+ logger.error("[Askr] ErrorBoundary caught render error:", error);
394
+ }
395
+ function getLivePortalErrorParent(instance) {
396
+ const parent = instance._portalErrorParent;
397
+ if (!parent || parent._ownershipGeneration !== instance._portalErrorParentGeneration || parent.notifyUpdate === null) return null;
398
+ return parent;
399
+ }
400
+ function findLiveErrorBoundary(failedInstance) {
401
+ const visited = /* @__PURE__ */ new Set([failedInstance]);
402
+ const visit = (instance) => {
403
+ if (!instance || visited.has(instance)) return null;
404
+ visited.add(instance);
405
+ if (instance.errorBoundaryState && instance.notifyUpdate !== null) return instance;
406
+ return visit(getLivePortalErrorParent(instance)) ?? visit(instance.parentInstance);
407
+ };
408
+ return visit(getLivePortalErrorParent(failedInstance)) ?? visit(failedInstance.parentInstance);
409
+ }
410
+ /** Route a scheduled component failure to its nearest live render boundary. */
411
+ function routeComponentErrorToBoundary(failedInstance, error) {
412
+ const boundary = findLiveErrorBoundary(failedInstance);
413
+ if (!boundary) return false;
414
+ const onError = boundary.props.onError;
415
+ reportBoundaryError(boundary, error, typeof onError === "function" ? onError : void 0);
416
+ boundary._enqueueRun?.();
417
+ return true;
418
+ }
419
+ //#endregion
369
420
  //#region src/runtime/component-commit.ts
370
421
  function runScheduledComponent(instance, host) {
371
422
  const ownershipGeneration = instance._ownershipGeneration;
@@ -377,21 +428,32 @@ function runScheduledComponent(instance, host) {
377
428
  result = host.execute(instance);
378
429
  } catch (err) {
379
430
  discardCommitOperations(instance);
431
+ if (routeComponentErrorToBoundary(instance, err)) return;
380
432
  throw err;
381
433
  }
382
- if (isPromiseLike(result)) throw new Error("Async components are not supported. Components must be synchronous.");
434
+ if (isPromiseLike(result)) {
435
+ const error = /* @__PURE__ */ new Error("Async components are not supported. Components must be synchronous.");
436
+ discardCommitOperations(instance);
437
+ if (routeComponentErrorToBoundary(instance, error)) return;
438
+ throw error;
439
+ }
383
440
  try {
384
441
  if (tryRuntimeFastLaneSync(instance, result)) return;
385
442
  } catch (err) {
443
+ if (routeComponentErrorToBoundary(instance, err)) return;
386
444
  if (isDevelopmentEnvironment()) throw err;
387
445
  }
388
446
  enqueueRuntimeTask(() => {
389
- if (instance._ownershipGeneration !== ownershipGeneration || instance.evaluationGeneration !== evaluationGeneration) return;
390
- if (!instance.target && instance._placeholder) {
391
- commitPlaceholderReplacement(instance, result, host);
392
- return;
447
+ try {
448
+ if (instance._ownershipGeneration !== ownershipGeneration || instance.evaluationGeneration !== evaluationGeneration) return;
449
+ if (!instance.target && instance._placeholder) {
450
+ commitPlaceholderReplacement(instance, result, host);
451
+ return;
452
+ }
453
+ if (instance.target) commitToTarget(instance, result, host);
454
+ } catch (err) {
455
+ if (!routeComponentErrorToBoundary(instance, err)) throw err;
393
456
  }
394
- if (instance.target) commitToTarget(instance, result, host);
395
457
  });
396
458
  }
397
459
  function commitPlaceholderReplacement(instance, result, host) {
@@ -604,7 +666,9 @@ function createComponentInstance(id, fn, props, target) {
604
666
  _pendingReadSources: void 0,
605
667
  _pendingReadSourceVersions: void 0,
606
668
  _lastReadSources: void 0,
607
- devWarningsEmitted: void 0
669
+ devWarningsEmitted: void 0,
670
+ _portalErrorParent: void 0,
671
+ _portalErrorParentGeneration: void 0
608
672
  };
609
673
  instance._enqueueRun = enqueueComponentRun;
610
674
  return instance;
@@ -739,4 +803,4 @@ function warnInstanceOnce(instance, key, message) {
739
803
  logger.warn(message);
740
804
  }
741
805
  //#endregion
742
- export { readScope as _, registerCommitOperation as a, withContext as b, registerCommitOperationForInstance as c, defineScope as d, getCurrentContextFrame as f, markVNodeTreeWithContextFrame as g, haveEquivalentContextFrames as h, mountInstanceInline as i, configureRenderDiagnostics as l, getVNodeContextFrame as m, createComponentInstance as n, renderComponentInline as o, getExecutionContextFrame as p, executeComponent as r, renderScopedComponent as s, captureInlineRenderSnapshot as t, callWithContext as u, rebaseVNodeTreeWithContextFrame as v, withAsyncResourceContext as y };
806
+ export { withContext as S, haveEquivalentContextFrames as _, registerCommitOperation as a, rebaseVNodeTreeWithContextFrame as b, createBoundaryReset as c, configureRenderDiagnostics as d, callWithContext as f, getVNodeContextFrame as g, getExecutionContextFrame as h, mountInstanceInline as i, reportBoundaryError as l, getCurrentContextFrame as m, createComponentInstance as n, renderComponentInline as o, defineScope as p, executeComponent as r, renderScopedComponent as s, captureInlineRenderSnapshot as t, registerCommitOperationForInstance as u, markVNodeTreeWithContextFrame as v, withAsyncResourceContext as x, readScope as y };
@@ -1,4 +1,4 @@
1
- import { in as VNode } from "../index-KQ7Vl4-8.js";
1
+ import { in as VNode } from "../index-CTIBOqUB.js";
2
2
  import { r as JSXElement, s as Props } from "../types-DkVJhVs9.js";
3
3
  //#region src/common/error-boundary.d.ts
4
4
  type ErrorBoundaryContent = VNode | readonly VNode[];
@@ -17,7 +17,10 @@ interface ErrorBoundaryProps extends Props {
17
17
  }
18
18
  //#endregion
19
19
  //#region src/components/error-boundary.d.ts
20
- /** Creates a render-time boundary whose fallback handles descendant render/commit errors. */
20
+ /**
21
+ * Creates a boundary for descendant mount and post-mount render/commit errors,
22
+ * including content materialized through a portal host.
23
+ */
21
24
  declare function ErrorBoundary(props: ErrorBoundaryProps): JSXElement;
22
25
  //#endregion
23
26
  export { ErrorBoundary, type ErrorBoundaryFallbackRender, type ErrorBoundaryProps };
@@ -30,7 +30,10 @@ function createBoundaryVNode(instance, props) {
30
30
  __instance: instance
31
31
  };
32
32
  }
33
- /** Creates a render-time boundary whose fallback handles descendant render/commit errors. */
33
+ /**
34
+ * Creates a boundary for descendant mount and post-mount render/commit errors,
35
+ * including content materialized through a portal host.
36
+ */
34
37
  function ErrorBoundary(props) {
35
38
  const instance = getCurrentComponentInstance();
36
39
  if (!instance) throw new Error("[Askr] ErrorBoundary() can only be used during component render execution.");
@@ -1,2 +1,2 @@
1
- import { A as Case, F as ShowProps, I as For, L as ForProps, M as Match, N as MatchProps, P as Show, j as CaseProps } from "../index-KQ7Vl4-8.js";
1
+ import { A as Case, F as ShowProps, I as For, L as ForProps, M as Match, N as MatchProps, P as Show, j as CaseProps } from "../index-CTIBOqUB.js";
2
2
  export { Case, type CaseProps, For, type ForProps, Match, type MatchProps, Show, type ShowProps };
@@ -1,2 +1,2 @@
1
- import { i as For, n as Match, r as Show, t as Case } from "../control-DqOzkgc7.js";
1
+ import { i as For, n as Match, r as Show, t as Case } from "../control-C0klPV7Q.js";
2
2
  export { Case, For, Match, Show };
@@ -1,7 +1,7 @@
1
1
  import { i as markEagerControlPrimitive, t as __CONTROL_BOUNDARY__ } from "./control-C-ApnFs1.js";
2
2
  import { x as isDevelopmentEnvironment } from "./access-d_DCdwqn.js";
3
3
  import { n as Fragment } from "./jsx-DRS-qjiN.js";
4
- import { m as createShowState, p as createCaseState, s as useForState } from "./for-internal-jrliHZmF.js";
4
+ import { m as createShowState, p as createCaseState, s as useForState } from "./for-internal-DkBwTG4S.js";
5
5
  import { t as createFineGrainedEffect } from "./effect-BdvdgMvV.js";
6
6
  import { t as state } from "./state-DmkGM_LN.js";
7
7
  //#region src/control/shared.ts
@@ -1,4 +1,4 @@
1
- import { _ as readScope, d as defineScope } from "./component-internal-DOVVMjG7.js";
1
+ import { p as defineScope, y as readScope } from "./component-internal-D0yE2Ch3.js";
2
2
  //#region src/common/url.ts
3
3
  const SAFE_URL_SCHEMES = /* @__PURE__ */ new Set([
4
4
  "http",
@@ -1,2 +1,2 @@
1
- import { Bt as DataRuntimeOptions, Gt as Query, Ht as InvalidateOptions, Jt as QueryKeyPart, Kt as QueryConsistency, Qt as ServerQueryHandler, S as createMutation, Ut as Mutation, Vt as InvalidateOnIntervalOptions, Wt as MutationOptions, Xt as QueryScope, Yt as QueryPrefetchContext, Zt as QueryStaleReason, _ as invalidateOnInterval, b as getDefaultDataRuntime, c as ServerQueryRegistry, d as defineServerQueries, f as dehydrateDataRuntime, g as invalidate, h as serveQuery, l as createQueryPrefetchContext, m as prefetchQuery, p as hydrateDataRuntime, qt as QueryDefinition, s as ServerQueryEntry, u as defineQuery, v as queryScope, x as createQuery, y as createDataRuntime, zt as DataRuntime } from "../index-KQ7Vl4-8.js";
1
+ import { Bt as DataRuntimeOptions, Gt as Query, Ht as InvalidateOptions, Jt as QueryKeyPart, Kt as QueryConsistency, Qt as ServerQueryHandler, S as createMutation, Ut as Mutation, Vt as InvalidateOnIntervalOptions, Wt as MutationOptions, Xt as QueryScope, Yt as QueryPrefetchContext, Zt as QueryStaleReason, _ as invalidateOnInterval, b as getDefaultDataRuntime, c as ServerQueryRegistry, d as defineServerQueries, f as dehydrateDataRuntime, g as invalidate, h as serveQuery, l as createQueryPrefetchContext, m as prefetchQuery, p as hydrateDataRuntime, qt as QueryDefinition, s as ServerQueryEntry, u as defineQuery, v as queryScope, x as createQuery, y as createDataRuntime, zt as DataRuntime } from "../index-CTIBOqUB.js";
2
2
  export { type DataRuntime, type DataRuntimeOptions, type InvalidateOnIntervalOptions, type InvalidateOptions, type Mutation, type MutationOptions, type Query, type QueryConsistency, type QueryDefinition, type QueryKeyPart, type QueryPrefetchContext, type QueryScope, type QueryStaleReason, type ServerQueryEntry, type ServerQueryHandler, type ServerQueryRegistry, createDataRuntime, createMutation, createQuery, createQueryPrefetchContext, defineQuery, defineServerQueries, dehydrateDataRuntime, getDefaultDataRuntime, hydrateDataRuntime, invalidate, invalidateOnInterval, prefetchQuery, queryScope, serveQuery };
@@ -1,4 +1,4 @@
1
1
  import { i as getDefaultDataRuntime, t as createDataRuntime } from "../data-runtime-JxoRgrrt.js";
2
- import { c as queryScope, n as createMutation, o as invalidate, s as invalidateOnInterval, t as createQuery } from "../data-DYqokZzc.js";
2
+ import { c as queryScope, n as createMutation, o as invalidate, s as invalidateOnInterval, t as createQuery } from "../data-Bm8L6JOm.js";
3
3
  import { a as hydrateDataRuntime, i as dehydrateDataRuntime, n as defineQuery, o as prefetchQuery, r as defineServerQueries, s as serveQuery, t as createQueryPrefetchContext } from "../query-registry-CimB1YeW.js";
4
4
  export { createDataRuntime, createMutation, createQuery, createQueryPrefetchContext, defineQuery, defineServerQueries, dehydrateDataRuntime, getDefaultDataRuntime, hydrateDataRuntime, invalidate, invalidateOnInterval, prefetchQuery, queryScope, serveQuery };
@@ -2,7 +2,7 @@ import { n as enqueueRuntimeTask, y as logger } from "./access-d_DCdwqn.js";
2
2
  import { d as getCurrentAppRenderRuntime, f as getCurrentComponentInstance, i as claimHookIndex } from "./component-scope-4I3yEMkb.js";
3
3
  import { l as notifyReadableReaders, o as markReactivePropsDirtySource, s as markReadableDerivedSubscribersDirty, u as recordReadableRead } from "./readable-BsdGWsDE.js";
4
4
  import { n as getActiveRenderContext } from "./render-context-B7ohlh6t.js";
5
- import { i as routeActive, n as documentVisible, o as timer, s as windowFocused } from "./lifecycle-operations-Qxq6ABrC.js";
5
+ import { i as routeActive, n as documentVisible, o as timer, s as windowFocused } from "./lifecycle-operations-CBzG5PyB.js";
6
6
  import { a as getMutationSlotStore, c as resolveDataRuntimeState, i as getDefaultDataRuntime, n as ensureMutationCleanup, o as getQuerySlotStore, r as ensureQueryCleanup, s as invalidateQueriesForRuntime } from "./data-runtime-JxoRgrrt.js";
7
7
  //#region src/data/query-key.ts
8
8
  function serializeQueryKeyNumber(part) {
@@ -1,9 +1,9 @@
1
1
  import { d as getCurrentAppRenderRuntime, f as getCurrentComponentInstance } from "./component-scope-4I3yEMkb.js";
2
2
  import { i as getExecutionModel } from "./manifest-D6rfj_jC.js";
3
3
  import { n as getActiveRenderContext, r as getCurrentRenderData } from "./render-context-B7ohlh6t.js";
4
- import { t as resource } from "./resource-operation-CLQXCn1p.js";
4
+ import { t as resource } from "./resource-operation-B62UQKHV.js";
5
5
  import { A as getDefaultRouteBasePath, C as getCurrentInheritedPolicies, D as getCurrentPathPrefix, E as getCurrentPageScope, F as insertRecordSorted, H as computeRank, L as pushRegistrationScope, N as hasActivePageScope, O as getCurrentScopeKind, S as getCurrentInheritedMeta, T as getCurrentPageChain, U as normalizeRouteSegmentName, W as parseSegments, g as assertRouteRegistrationUnlocked, h as addRouteToStores, w as getCurrentLayoutChain, x as getCurrentInheritedAuthRequirements } from "./route-matching-Bo6UqG-5.js";
6
- import { _ as createRouteHandler, d as DEFERRED_BOUNDARY, p as isDeferred, s as guardHydratedRouteData } from "./resolution-D8PgnTzh.js";
6
+ import { _ as createRouteHandler, d as DEFERRED_BOUNDARY, p as isDeferred, s as guardHydratedRouteData } from "./resolution-BQyo7qNn.js";
7
7
  import { allOf } from "@askrjs/auth";
8
8
  //#region src/router/access.ts
9
9
  function compileNodePolicies(node) {
@@ -1,9 +1,9 @@
1
1
  import { n as _isDOMElement } from "./vnode-D24p6IW2.js";
2
2
  import { o as getRuntimeRenderer, x as isDevelopmentEnvironment, y as logger } from "./access-d_DCdwqn.js";
3
3
  import { h as getCurrentStateIndex, i as claimHookIndex, o as clearRenderTracking, p as getCurrentInstance } from "./component-scope-4I3yEMkb.js";
4
- import { h as haveEquivalentContextFrames, n as createComponentInstance, s as renderScopedComponent, v as rebaseVNodeTreeWithContextFrame } from "./component-internal-DOVVMjG7.js";
4
+ import { _ as haveEquivalentContextFrames, b as rebaseVNodeTreeWithContextFrame, n as createComponentInstance, s as renderScopedComponent } from "./component-internal-D0yE2Ch3.js";
5
5
  import { d as shouldCoalesceFineGrainedItemReads, l as notifyReadableReaders, o as markReactivePropsDirtySource, s as markReadableDerivedSubscribersDirty, u as recordReadableRead } from "./readable-BsdGWsDE.js";
6
- import { i as unregisterOwnedChildScope, r as registerOwnedChildScope, t as cleanupComponent } from "./component-cleanup-hrqSikl2.js";
6
+ import { i as unregisterOwnedChildScope, r as registerOwnedChildScope, t as cleanupComponent } from "./component-cleanup-DYG80yhG.js";
7
7
  import { o as finalizeInlineReadSubscriptions, u as registerLifecycleTransaction } from "./lifecycle-batch-BH0fax4F.js";
8
8
  //#region src/runtime/child-scope.ts
9
9
  const EMPTY_CHILD_SCOPE_PROPS = {};
@@ -1,3 +1,3 @@
1
1
  import { r as JSXElement } from "../types-DkVJhVs9.js";
2
- import { c as DefaultPortal, d as definePortal, f as Presence, h as SlotProps, l as Portal, m as Slot, p as PresenceProps, u as PortalProps, v as LayoutComponent, y as layout } from "../index-C29SEGIv.js";
2
+ import { c as DefaultPortal, d as definePortal, f as Presence, h as SlotProps, l as Portal, m as Slot, p as PresenceProps, u as PortalProps, v as LayoutComponent, y as layout } from "../index-S2IqSJib.js";
3
3
  export { DefaultPortal, type JSXElement, type LayoutComponent, Portal, type PortalProps, Presence, type PresenceProps, Slot, type SlotProps, definePortal, layout };
@@ -1,2 +1,2 @@
1
- import { a as definePortal, c as layout, i as Portal, o as Presence, r as DefaultPortal, s as Slot } from "../structures-umvVUD-M.js";
1
+ import { a as definePortal, c as layout, i as Portal, o as Presence, r as DefaultPortal, s as Slot } from "../structures-CPycoyZj.js";
2
2
  export { DefaultPortal, Portal, Presence, Slot, definePortal, layout };
@@ -1,4 +1,4 @@
1
- import { dn as State } from "../../index-KQ7Vl4-8.js";
1
+ import { dn as State } from "../../index-CTIBOqUB.js";
2
2
  //#region src/foundations/state/controllable.d.ts
3
3
  /** Whether `value` represents controlled mode (not `undefined`). */
4
4
  declare function isControlled<T>(value: T | undefined): value is T;
@@ -1,3 +1,3 @@
1
1
  import { r as JSXElement } from "../../types-DkVJhVs9.js";
2
- import { _ as isElement, a as Collection, c as DefaultPortal, d as definePortal, f as Presence, g as cloneElement, h as SlotProps, i as createLayer, l as Portal, m as Slot, n as LayerManager, o as CollectionItem, p as PresenceProps, r as LayerOptions, s as createCollection, t as Layer, u as PortalProps, v as LayoutComponent, y as layout } from "../../index-C29SEGIv.js";
2
+ import { _ as isElement, a as Collection, c as DefaultPortal, d as definePortal, f as Presence, g as cloneElement, h as SlotProps, i as createLayer, l as Portal, m as Slot, n as LayerManager, o as CollectionItem, p as PresenceProps, r as LayerOptions, s as createCollection, t as Layer, u as PortalProps, v as LayoutComponent, y as layout } from "../../index-S2IqSJib.js";
3
3
  export { type Collection, type CollectionItem, DefaultPortal, type JSXElement, type Layer, type LayerManager, type LayerOptions, type LayoutComponent, Portal, type PortalProps, Presence, type PresenceProps, Slot, type SlotProps, cloneElement, createCollection, createLayer, definePortal, isElement, layout };
@@ -1,2 +1,2 @@
1
- import { a as definePortal, c as layout, i as Portal, l as cloneElement, n as createCollection, o as Presence, r as DefaultPortal, s as Slot, t as createLayer, u as isElement } from "../../structures-umvVUD-M.js";
1
+ import { a as definePortal, c as layout, i as Portal, l as cloneElement, n as createCollection, o as Presence, r as DefaultPortal, s as Slot, t as createLayer, u as isElement } from "../../structures-CPycoyZj.js";
2
2
  export { DefaultPortal, Portal, Presence, Slot, cloneElement, createCollection, createLayer, definePortal, isElement, layout };
@@ -1,4 +1,4 @@
1
- import { X as scheduleEventHandler } from "../index-KQ7Vl4-8.js";
1
+ import { X as scheduleEventHandler } from "../index-CTIBOqUB.js";
2
2
  //#region src/fx/timing.d.ts
3
3
  /**
4
4
  * Timing utilities — pure helpers for common async patterns
@@ -731,6 +731,10 @@ interface ComponentInstance {
731
731
  resetKey: unknown;
732
732
  notified: boolean;
733
733
  };
734
+ /** @internal Logical error ancestry for content materialized by a portal host. */
735
+ _portalErrorParent?: ComponentInstance | null;
736
+ /** @internal Ownership identity paired with `_portalErrorParent`. */
737
+ _portalErrorParentGeneration?: object;
734
738
  }
735
739
  //#endregion
736
740
  //#region src/runtime/component-scope.d.ts
@@ -1,4 +1,4 @@
1
- import { rn as RenderableChild } from "./index-KQ7Vl4-8.js";
1
+ import { rn as RenderableChild } from "./index-CTIBOqUB.js";
2
2
  import { r as JSXElement } from "./types-DkVJhVs9.js";
3
3
  //#region src/foundations/structures/layout.d.ts
4
4
  /**
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { $t as Scope, A as Case, B as RenderDiagnosticsOptions, C as Ref, D as registerSSRStyle, F as ShowProps, G as AskrRuntimeOptions, H as Derived, I as For, J as createRuntime, K as RuntimeKeyedReorderDecision, L as ForProps, M as Match, N as MatchProps, O as CspNonceScope, P as Show, Qt as ServerQueryHandler, R as Selector, U as derive, V as configureRenderDiagnostics, W as AskrRuntime, Y as getDefaultRuntime, Yt as QueryPrefetchContext, Z as getSignal, d as defineServerQueries, dn as State, en as defineScope, f as dehydrateDataRuntime, fn as StateSetter, h as serveQuery, j as CaseProps, k as cspNonce, m as prefetchQuery, mn as state, p as hydrateDataRuntime, pn as StateTuple, q as RuntimeRendererHost, qt as QueryDefinition, tn as readScope, u as defineQuery, w as createRef, x as createQuery, z as selector, zt as DataRuntime } from "./index-KQ7Vl4-8.js";
1
+ import { $t as Scope, A as Case, B as RenderDiagnosticsOptions, C as Ref, D as registerSSRStyle, F as ShowProps, G as AskrRuntimeOptions, H as Derived, I as For, J as createRuntime, K as RuntimeKeyedReorderDecision, L as ForProps, M as Match, N as MatchProps, O as CspNonceScope, P as Show, Qt as ServerQueryHandler, R as Selector, U as derive, V as configureRenderDiagnostics, W as AskrRuntime, Y as getDefaultRuntime, Yt as QueryPrefetchContext, Z as getSignal, d as defineServerQueries, dn as State, en as defineScope, f as dehydrateDataRuntime, fn as StateSetter, h as serveQuery, j as CaseProps, k as cspNonce, m as prefetchQuery, mn as state, p as hydrateDataRuntime, pn as StateTuple, q as RuntimeRendererHost, qt as QueryDefinition, tn as readScope, u as defineQuery, w as createRef, x as createQuery, z as selector, zt as DataRuntime } from "./index-CTIBOqUB.js";
2
2
  import { s as Props, t as Fragment } from "./types-DkVJhVs9.js";
3
3
  import { i as jsxs, n as jsx } from "./jsx-runtime-Cdd6Gkb0.js";
4
4
  export { AskrRuntime, type AskrRuntimeOptions, Case, type CaseProps, CspNonceScope, type DataRuntime, type Derived, For, type ForProps, Fragment, Match, type MatchProps, type Props, type QueryDefinition, type QueryPrefetchContext, type Ref, type RenderDiagnosticsOptions, type RuntimeKeyedReorderDecision, type RuntimeRendererHost, type Scope, type Selector, type ServerQueryHandler, Show, type ShowProps, type State, type StateSetter, type StateTuple, configureRenderDiagnostics, createQuery, createRef, createRuntime, cspNonce, defineQuery, defineScope, defineServerQueries, dehydrateDataRuntime, derive, getDefaultRuntime, getSignal, hydrateDataRuntime, jsx, jsxs, prefetchQuery, readScope, registerSSRStyle, selector, serveQuery, state };
package/dist/index.js CHANGED
@@ -1,17 +1,17 @@
1
1
  import { a as getRuntimeFlushVersion, f as AskrRuntime, h as getDefaultRuntime, m as createRuntime, t as enqueueRuntimeLane } from "./access-d_DCdwqn.js";
2
2
  import { g as getSignal, i as claimHookIndex, p as getCurrentInstance } from "./component-scope-4I3yEMkb.js";
3
3
  import { n as Fragment } from "./jsx-DRS-qjiN.js";
4
- import { _ as readScope, d as defineScope, l as configureRenderDiagnostics } from "./component-internal-DOVVMjG7.js";
4
+ import { d as configureRenderDiagnostics, p as defineScope, y as readScope } from "./component-internal-D0yE2Ch3.js";
5
5
  import { f as syncDerivedDependencySubscriptions, l as notifyReadableReaders, o as markReactivePropsDirtySource, p as withDerivedReadTracking, r as clearDerivedDependencySubscriptions, s as markReadableDerivedSubscribersDirty, u as recordReadableRead } from "./readable-BsdGWsDE.js";
6
6
  import { n as isSnapshotSource } from "./snapshot-source-BB42xgwb.js";
7
- import { t as installRendererBridge } from "./renderer-CLvq458M.js";
8
7
  import { c as registerSSRStyle } from "./render-context-B7ohlh6t.js";
9
8
  import { t as state } from "./state-DmkGM_LN.js";
10
9
  import { t as selector } from "./selector-CyK-sDwB.js";
11
- import { n as cspNonce, t as CspNonceScope } from "./csp-nonce-BBxq1zq4.js";
12
- import { i as For, n as Match, r as Show, t as Case } from "./control-DqOzkgc7.js";
10
+ import { t as installRendererBridge } from "./renderer-tXX_xj86.js";
11
+ import { n as cspNonce, t as CspNonceScope } from "./csp-nonce-BVybpV1v.js";
12
+ import { i as For, n as Match, r as Show, t as Case } from "./control-C0klPV7Q.js";
13
13
  import { jsx, jsxs } from "./jsx-runtime.js";
14
- import { t as createQuery } from "./data-DYqokZzc.js";
14
+ import { t as createQuery } from "./data-Bm8L6JOm.js";
15
15
  import { a as hydrateDataRuntime, i as dehydrateDataRuntime, n as defineQuery, o as prefetchQuery, r as defineServerQueries, s as serveQuery } from "./query-registry-CimB1YeW.js";
16
16
  //#region src/runtime/derive.ts
17
17
  const deriveCells = /* @__PURE__ */ new WeakMap();
@@ -1,5 +1,5 @@
1
1
  import { f as getCurrentComponentInstance, i as claimHookIndex } from "./component-scope-4I3yEMkb.js";
2
- import { a as registerCommitOperation } from "./component-internal-DOVVMjG7.js";
2
+ import { a as registerCommitOperation } from "./component-internal-D0yE2Ch3.js";
3
3
  import { t as isRouteActivityActive } from "./route-activity-CNJfpwx-.js";
4
4
  //#region src/runtime/lifecycle-operations.ts
5
5
  function normalizePredicates(predicates) {
@@ -1,14 +1,14 @@
1
1
  import { S as isProductionEnvironment, r as flushRuntimeScheduler, x as isDevelopmentEnvironment, y as logger } from "./access-d_DCdwqn.js";
2
2
  import { n as Fragment, t as ELEMENT_TYPE } from "./jsx-DRS-qjiN.js";
3
- import { r as executeComponent } from "./component-internal-DOVVMjG7.js";
3
+ import { r as executeComponent } from "./component-internal-D0yE2Ch3.js";
4
4
  import { t as cleanupReadableSubscriptionSources } from "./readable-BsdGWsDE.js";
5
- import { n as cleanupComponentGeneration, t as cleanupComponent } from "./component-cleanup-hrqSikl2.js";
5
+ import { n as cleanupComponentGeneration, t as cleanupComponent } from "./component-cleanup-DYG80yhG.js";
6
6
  import { i as drainLifecycleCommitErrors, p as isPromiseLike, r as discardLifecycleCommitBatch, s as flushLifecycleCommitBatch, t as beginLifecycleCommitBatch } from "./lifecycle-batch-BH0fax4F.js";
7
- import { _ as teardownNodeSubtree } from "./cleanup-DefafSjG.js";
8
- import { t as CspNonceScope } from "./csp-nonce-BBxq1zq4.js";
7
+ import { _ as teardownNodeSubtree } from "./cleanup-D7uN-Z1s.js";
8
+ import { t as CspNonceScope } from "./csp-nonce-BVybpV1v.js";
9
9
  import { I as lockRouteRegistration, o as addRouteBasePath, r as computeRouteActivityMatches, y as getActiveRouteBasePath } from "./route-matching-Bo6UqG-5.js";
10
- import { a as resolveRouteRequest, i as hasRouteRenderData, n as getRouteRenderContext, r as getRouteRenderData, u as withoutRouteHydrationMetadata } from "./resolution-D8PgnTzh.js";
11
- import { a as clearStagedAppRenderRouteLocation, i as syncCurrentRouteSnapshot, o as createAppRenderRuntime, s as stageAppRenderRouteLocation } from "./activity-BshyLB3_.js";
10
+ import { a as resolveRouteRequest, i as hasRouteRenderData, n as getRouteRenderContext, r as getRouteRenderData, u as withoutRouteHydrationMetadata } from "./resolution-BQyo7qNn.js";
11
+ import { a as clearStagedAppRenderRouteLocation, i as syncCurrentRouteSnapshot, o as createAppRenderRuntime, s as stageAppRenderRouteLocation } from "./activity-d4t3CdzK.js";
12
12
  import { r as getDefaultPortalHost, t as clearRegisteredDefaultPortalForInstance } from "./default-portal-runtime-DvMvWJVp.js";
13
13
  //#region src/router/navigation-registry.ts
14
14
  let currentInstance = null;
@@ -1,4 +1,4 @@
1
- import "./index-KQ7Vl4-8.js";
1
+ import "./index-CTIBOqUB.js";
2
2
  //#region src/router/navigation-scroll.d.ts
3
3
  /** Scroll behavior for programmatic navigations (`navigate()`). */
4
4
  type NavigationScrollBehavior = 'top' | 'preserve';
@@ -4,42 +4,15 @@ import { b as getRuntimeEnv, i as getDefaultRuntimeInstance, l as runRuntimeHand
4
4
  import { n as isBulkCommitActive, r as markFastPathApplied } from "./fastlane-DGo7SxBQ.js";
5
5
  import { T as withAppRenderRuntime, b as restoreDomCommitScope, c as enterDomCommitScope, d as getCurrentAppRenderRuntime, p as getCurrentInstance } from "./component-scope-4I3yEMkb.js";
6
6
  import { i as isFragmentType, r as STATIC_CHILDREN } from "./jsx-DRS-qjiN.js";
7
- import { b as withContext, f as getCurrentContextFrame, g as markVNodeTreeWithContextFrame, i as mountInstanceInline, m as getVNodeContextFrame, n as createComponentInstance, o as renderComponentInline, t as captureInlineRenderSnapshot } from "./component-internal-DOVVMjG7.js";
8
- import { t as cleanupComponent } from "./component-cleanup-hrqSikl2.js";
7
+ import { S as withContext, c as createBoundaryReset, g as getVNodeContextFrame, i as mountInstanceInline, l as reportBoundaryError, m as getCurrentContextFrame, n as createComponentInstance, o as renderComponentInline, t as captureInlineRenderSnapshot, v as markVNodeTreeWithContextFrame } from "./component-internal-D0yE2Ch3.js";
8
+ import { t as cleanupComponent } from "./component-cleanup-DYG80yhG.js";
9
9
  import { c as getCurrentLifecycleCommitBatch, l as registerLifecycleRollback, p as isPromiseLike, r as discardLifecycleCommitBatch, s as flushLifecycleCommitBatch, t as beginLifecycleCommitBatch, u as registerLifecycleTransaction } from "./lifecycle-batch-BH0fax4F.js";
10
- import { _ as setControlBoundaryContextFrame, a as registerForStateTransaction, b as rerenderChildScope, c as captureForFallbackTransactionSnapshot, d as clearCaseDomUpdateState, f as clearShowDomUpdateState, g as evaluateShowState, h as evaluateCaseState, i as evaluateForState, l as captureForItemTransactionSnapshot, n as clearForDomUpdateState, o as rollbackForStateTransaction, t as beginForStateTransaction, v as createChildScope, y as disposeChildScope } from "./for-internal-jrliHZmF.js";
10
+ import { _ as setControlBoundaryContextFrame, a as registerForStateTransaction, b as rerenderChildScope, c as captureForFallbackTransactionSnapshot, d as clearCaseDomUpdateState, f as clearShowDomUpdateState, g as evaluateShowState, h as evaluateCaseState, i as evaluateForState, l as captureForItemTransactionSnapshot, n as clearForDomUpdateState, o as rollbackForStateTransaction, t as beginForStateTransaction, v as createChildScope, y as disposeChildScope } from "./for-internal-DkBwTG4S.js";
11
11
  import { n as createOwnedFineGrainedEffect, r as markFineGrainedEffectsDirtySource, t as createFineGrainedEffect } from "./effect-BdvdgMvV.js";
12
- import { C as getDelegatedHandlersForElement, D as updateDelegatedListener, E as removeDelegatedListener, S as getDelegatedHandlerForElement, T as isEventDelegationEnabled, _ as teardownNodeSubtree, a as elementReactivePropsCleanup, b as addFreshDelegatedListener, c as forEachElementReactivePropCleanup, d as removeAllListeners, f as removeElementReactiveProps, g as setFreshElementReactivePropCleanup, h as setDirectElementReactivePropCleanup, i as elementListeners, l as getElementReactivePropCleanupSize, m as replaceElementRefBookkeeping, n as cleanupInstanceIfPresent, o as elementRefs, p as removeElementRef, r as cleanupInstancesUnder, s as forEachDescendantNode, t as REACTIVE_CHILDREN_KEY, u as getElementReactivePropsCleanupMap, v as updateElementRef, w as isDelegatedEvent, x as clearDelegatedHandlersForElement, y as addDelegatedListener } from "./cleanup-DefafSjG.js";
12
+ import { C as getDelegatedHandlersForElement, D as updateDelegatedListener, E as removeDelegatedListener, S as getDelegatedHandlerForElement, T as isEventDelegationEnabled, _ as teardownNodeSubtree, a as elementReactivePropsCleanup, b as addFreshDelegatedListener, c as forEachElementReactivePropCleanup, d as removeAllListeners, f as removeElementReactiveProps, g as setFreshElementReactivePropCleanup, h as setDirectElementReactivePropCleanup, i as elementListeners, l as getElementReactivePropCleanupSize, m as replaceElementRefBookkeeping, n as cleanupInstanceIfPresent, o as elementRefs, p as removeElementRef, r as cleanupInstancesUnder, s as forEachDescendantNode, t as REACTIVE_CHILDREN_KEY, u as getElementReactivePropsCleanupMap, v as updateElementRef, w as isDelegatedEvent, x as clearDelegatedHandlersForElement, y as addDelegatedListener } from "./cleanup-D7uN-Z1s.js";
13
13
  import { n as getPublicAttributeName, t as sanitizeCssValue } from "./css-BuPaTOfe.js";
14
- import { i as ROUTE_ROOT_COMPONENT, o as isUnsafeUrlAttribute } from "./csp-nonce-BBxq1zq4.js";
14
+ import { i as ROUTE_ROOT_COMPONENT, o as isUnsafeUrlAttribute } from "./csp-nonce-BVybpV1v.js";
15
15
  import { a as isSSRPortalHydrationAnchor } from "./portal-w3oQ6oQU.js";
16
- //#region src/runtime/error-boundary.ts
17
- function createBoundaryReset(instance) {
18
- return () => {
19
- const boundaryState = instance.errorBoundaryState;
20
- if (!boundaryState) return;
21
- boundaryState.error = null;
22
- boundaryState.notified = false;
23
- queueMicrotask(() => {
24
- instance._enqueueRun?.();
25
- });
26
- };
27
- }
28
- function reportBoundaryError(instance, error, onError) {
29
- const boundaryState = instance.errorBoundaryState;
30
- if (boundaryState && Object.is(boundaryState.error, error) && boundaryState.notified) return;
31
- if (boundaryState) {
32
- boundaryState.error = error;
33
- boundaryState.notified = true;
34
- }
35
- try {
36
- onError?.(error);
37
- } catch (hookError) {
38
- logger.error("[Askr] ErrorBoundary onError handler threw:", hookError);
39
- }
40
- logger.error("[Askr] ErrorBoundary caught render error:", error);
41
- }
42
- //#endregion
43
16
  //#region src/renderer/utils.ts
44
17
  /**
45
18
  * Shared utilities for the renderer module.
@@ -1,8 +1,8 @@
1
1
  import { n as Fragment, t as ELEMENT_TYPE } from "./jsx-DRS-qjiN.js";
2
- import { _ as readScope, d as defineScope } from "./component-internal-DOVVMjG7.js";
2
+ import { p as defineScope, y as readScope } from "./component-internal-D0yE2Ch3.js";
3
3
  import { p as isPromiseLike } from "./lifecycle-batch-BH0fax4F.js";
4
4
  import { S as withPageFramework, b as replacePageRoute, n as getActiveRenderContext } from "./render-context-B7ohlh6t.js";
5
- import { i as ROUTE_ROOT_COMPONENT } from "./csp-nonce-BBxq1zq4.js";
5
+ import { i as ROUTE_ROOT_COMPONENT } from "./csp-nonce-BVybpV1v.js";
6
6
  import { c as withTelemetry, t as createQueryPrefetchContext } from "./query-registry-CimB1YeW.js";
7
7
  import { c as removeRouteBasePath, i as getMatchingRouteRecord, l as buildRouteContext, o as addRouteBasePath, s as normalizeRouteBasePath, u as buildRouteContextBase, v as getActiveRouteAuthOptions } from "./route-matching-Bo6UqG-5.js";
8
8
  //#region src/router/route-data-loader.ts
@@ -1,6 +1,6 @@
1
1
  import { t as enqueueRuntimeLane, y as logger } from "./access-d_DCdwqn.js";
2
2
  import { f as getCurrentComponentInstance } from "./component-scope-4I3yEMkb.js";
3
- import { c as registerCommitOperationForInstance, f as getCurrentContextFrame, y as withAsyncResourceContext } from "./component-internal-DOVVMjG7.js";
3
+ import { m as getCurrentContextFrame, u as registerCommitOperationForInstance, x as withAsyncResourceContext } from "./component-internal-D0yE2Ch3.js";
4
4
  import { p as isPromiseLike } from "./lifecycle-batch-BH0fax4F.js";
5
5
  import { t as brandSnapshotSource } from "./snapshot-source-BB42xgwb.js";
6
6
  import { C as SSRDataMissingError, a as getResourceVerificationSnapshot, i as getNextRenderKey, n as getActiveRenderContext, o as isHydrationVerificationRender, p as throwSSRDataMissing, r as getCurrentRenderData, s as recordResourceVerificationSnapshot } from "./render-context-B7ohlh6t.js";