@askrjs/askr 0.0.85 → 0.0.87

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 (56) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/capabilities.json +25 -0
  3. package/dist/actions/index.d.ts +1 -1
  4. package/dist/actions/index.js +2 -2
  5. package/dist/{activity-Jd9CgEa3.js → activity-BnkhdIXm.js} +3 -3
  6. package/dist/{activity-B1I5HJQI.d.ts → activity-DNYL__cW.d.ts} +1 -1
  7. package/dist/benchmark.js +5 -5
  8. package/dist/boot/index.d.ts +3 -3
  9. package/dist/boot/index.js +1 -1
  10. package/dist/{boot-DWe880Et.js → boot-Bd-j_BL5.js} +15 -14
  11. package/dist/{component-internal-DcrLymUJ.js → component-internal-uVCJAre6.js} +1 -1
  12. package/dist/control/index.js +1 -1
  13. package/dist/{control-oLADku43.js → control-BF3geQKh.js} +1 -1
  14. package/dist/{csp-nonce-Bc52OIVc.js → csp-nonce-CUscoNF1.js} +1 -1
  15. package/dist/data/index.d.ts +1 -1
  16. package/dist/data/index.js +3 -3
  17. package/dist/{data-Dkqb8_QP.js → data-CXZ-FOa7.js} +6 -3
  18. package/dist/{data-runtime-D68YOo9L.js → data-runtime-CnVeSvJz.js} +7 -5
  19. package/dist/default-portal-runtime-DvMvWJVp.js +20 -0
  20. package/dist/{authoring-DdQ3pHqt.js → deferred-_DaSfpsr.js} +81 -4
  21. package/dist/{for-internal-B_mnQhan.js → for-internal-Dxf3iZ9E.js} +1 -1
  22. package/dist/foundations/index.d.ts +1 -1
  23. package/dist/foundations/index.js +1 -2
  24. package/dist/foundations/structures/index.d.ts +1 -1
  25. package/dist/foundations/structures/index.js +1 -2
  26. package/dist/{index-pIgGaXvS.d.ts → index-BvNkcegT.d.ts} +1 -1
  27. package/dist/{index-Bkh9S9-t.d.ts → index-DflhL1h8.d.ts} +15 -15
  28. package/dist/{index-5S-fi2xy.d.ts → index-SGxMZLAc.d.ts} +3 -0
  29. package/dist/index.d.ts +2 -2
  30. package/dist/index.js +7 -7
  31. package/dist/{lifecycle-operations-BrYrBsXY.js → lifecycle-operations-DTO93Hrl.js} +1 -1
  32. package/dist/manifest-D1P9uTlz.js +53 -0
  33. package/dist/{navigate-NyIjQUwI.d.ts → navigate-B_fcLDAG.d.ts} +1 -1
  34. package/dist/{navigate-b4GGxO_l.js → navigate-DSATWfHh.js} +8 -8
  35. package/dist/{query-registry-BL6rjGsO.js → query-registry-p_0kkieE.js} +1 -1
  36. package/dist/render-context-D0Hoj9dW.js +161 -0
  37. package/dist/{renderer-CZzNtoj2.js → renderer-BGMaUrVj.js} +10 -7
  38. package/dist/{deferred-vUOy-awa.js → resolution-BRmiFYvw.js} +61 -231
  39. package/dist/resource-operation-B94oj6xT.js +304 -0
  40. package/dist/resources/index.d.ts +2 -2
  41. package/dist/resources/index.js +4 -4
  42. package/dist/{route-matching-DHduNiGk.js → route-matching-DqULzZtC.js} +2 -276
  43. package/dist/router/index.d.ts +8 -6
  44. package/dist/router/index.js +7 -6
  45. package/dist/ssg/index.d.ts +1 -1
  46. package/dist/ssg/index.js +5 -4
  47. package/dist/ssr/index.d.ts +2 -2
  48. package/dist/ssr/index.js +2 -2
  49. package/dist/{ssr-CpiBHMNv.js → ssr-q250YlKo.js} +36 -18
  50. package/dist/{portal-BVWjAhNQ.js → structures-DsOm-clq.js} +232 -3
  51. package/dist/testing/index.d.ts +17 -3
  52. package/dist/testing/index.js +42 -4
  53. package/dist/{verify-hydration-C3QBBQqR.js → verify-hydration-DkISyZCo.js} +4 -3
  54. package/package.json +3 -2
  55. package/dist/render-context-D-DFk2WN.js +0 -73
  56. package/dist/structures-DSLF_iis.js +0 -223
package/CHANGELOG.md ADDED
@@ -0,0 +1,60 @@
1
+ # Changelog
2
+
3
+ ## Unreleased
4
+
5
+ ## 0.0.85
6
+
7
+ - breaking(runtime): require Node.js 24.15 or newer.
8
+ - feat(router): validate route hydration data and add synchronous `dehydrate`
9
+ selectors so SSR/SSG can omit server-only fields while client navigation
10
+ retains complete loader results.
11
+ - feat(router): add registry `basePath` support for mounted SPA, SSR, and SSG
12
+ routing, destinations, navigation, redirects, activity, and metadata context.
13
+ - fix(jsx): expose safe element inspection and cloning from the structures
14
+ foundation without carrying renderer-private cache metadata into clones.
15
+ - fix(renderer): retain intrinsic hosts and nested interactive descendants when
16
+ a rerender passes through a transparent context scope, keep keyed provider
17
+ ownership isolated, and preserve intentional focus moves during commits.
18
+ - fix(runtime): isolate synchronous DOM handlers from active reconciliation
19
+ scopes and correctly detach capture-phase delegated listeners.
20
+
21
+ ### 0.0.52 — audit remediation
22
+
23
+ - fix(release): rebuild packed artifacts from an absent `dist`, verify every
24
+ export-map subpath and installed CLI, and keep source maps out of npm
25
+ tarballs.
26
+ - fix(data): make query invalidation generation-safe, await reconciliation,
27
+ normalize async failures, and retain mutation callbacks for an execution.
28
+ - fix(router): isolate initial route sources per root and keep history/route
29
+ cleanup coherent when destination rendering or teardown fails.
30
+ - fix(renderer): make control, keyed, portal, ownership, and lifecycle writes
31
+ transactional, with anchored multi-node ranges and structural SSR hydration.
32
+ - perf(hydration): adopt matching intrinsic SSR trees in place and publish only
33
+ transactional refs and listeners instead of running full reconciliation.
34
+ - fix(hydration): activate deferred boundaries locally with retryable marker and
35
+ listener rollback semantics, while preserving focus, portals, and cleanup.
36
+ - refactor(renderer): split blueprint, boundary-range, component-host, and
37
+ lifecycle batch responsibilities behind internal facades with enforced
38
+ complexity budgets.
39
+ - test(bench): add keyed movement-density and separate full-clear teardown
40
+ diagnostics without changing movement thresholds or cleanup semantics.
41
+ - test(bench): add a Chromium component-boundary keyed reorder diagnostic and
42
+ document browser authority for jsdom-only hotspot investigations.
43
+ - fix(router): preserve shared layout identity and roll back multi-root route
44
+ DOM, ownership, metadata, history, and URL publication as one transaction.
45
+ - fix(ssg): publish full builds through staging/backup swap and incremental
46
+ routes through temp-file replacement.
47
+ - test(quality): add replayable lifecycle traces, deterministic seed fixtures,
48
+ timer-policy enforcement, benchmark guardrails, and package release gates.
49
+
50
+ ## 0.0.51
51
+
52
+ - chore(quality): make release verification test packed consumers and public types, exclude source maps from npm tarballs, and replace architecture size checks with semantic boundaries.
53
+ - feat(router): add route-query updates for route-local filters without remounting the active route.
54
+ - feat(runtime): isolate render-scoped query caches, keep the first shared query contract, and evict entries when the last owner unmounts.
55
+ - feat(ssr): harden CSS style sanitization with an allowlist for safe functions and URI-scheme rejection, while resetting escape caches per request.
56
+ - fix(router): trim the public router barrel so internal manifest and SSR helpers stay on source-only paths.
57
+
58
+ ## 0.0.29
59
+
60
+ - feat(state): support destructuring `const [get, set] = state(initial)`; getter remains callable and setter is identical to `get.set`. Added tests and docs.
package/capabilities.json CHANGED
@@ -12,6 +12,31 @@
12
12
  "docs": "https://github.com/askrjs/askr/blob/main/docs/guides/state.md",
13
13
  "docsPath": "docs/guides/state.md"
14
14
  },
15
+ {
16
+ "intent": "data queries and mutations",
17
+ "package": "@askrjs/askr",
18
+ "import": "@askrjs/askr/data",
19
+ "exports": ["createQuery", "defineQuery", "queryScope", "createMutation"],
20
+ "constraints": [
21
+ "query keys identify shared cache entries",
22
+ "fetches are cancellable"
23
+ ],
24
+ "stability": "stable",
25
+ "docs": "https://github.com/askrjs/askr/blob/main/docs/core/data.md",
26
+ "docsPath": "docs/core/data.md"
27
+ },
28
+ {
29
+ "intent": "test query-state fixtures",
30
+ "package": "@askrjs/askr",
31
+ "import": "@askrjs/askr/testing",
32
+ "exports": ["queryState"],
33
+ "constraints": [
34
+ "fixtures are test-only and do not perform network requests"
35
+ ],
36
+ "stability": "stable",
37
+ "docs": "https://github.com/askrjs/askr/blob/main/docs/contributing/testing.md",
38
+ "docsPath": "docs/contributing/testing.md"
39
+ },
15
40
  {
16
41
  "intent": "routing and navigation",
17
42
  "package": "@askrjs/askr",
@@ -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-pIgGaXvS.js";
1
+ import { a as action, i as ActionValidationError, n as ActionForm, o as defineAction, r as ActionStatus, t as ActionDescriptor } from "../index-BvNkcegT.js";
2
2
  export { ActionDescriptor, ActionForm, ActionStatus, ActionValidationError, action, defineAction };
@@ -1,8 +1,8 @@
1
1
  import { d as getCurrentAppRenderRuntime } from "../component-scope-DzJEbYGE.js";
2
- import { r as getCurrentRenderData } from "../render-context-D-DFk2WN.js";
2
+ import { r as getCurrentRenderData } from "../render-context-D0Hoj9dW.js";
3
3
  import { t as state } from "../state-DCjONcHK.js";
4
4
  import { jsx, jsxs } from "../jsx-runtime.js";
5
- import { c as resolveDataRuntimeState, s as invalidateQueriesForRuntime } from "../data-runtime-D68YOo9L.js";
5
+ import { c as resolveDataRuntimeState, s as invalidateQueriesForRuntime } from "../data-runtime-CnVeSvJz.js";
6
6
  //#region src/actions/runtime.ts
7
7
  const emptyFramework = Object.freeze({});
8
8
  /** @internal Read Askr-owned state from the current application root. */
@@ -1,9 +1,9 @@
1
1
  import { d as getCurrentAppRenderRuntime, f as getCurrentComponentInstance, i as claimHookIndex } from "./component-scope-DzJEbYGE.js";
2
- import { a as registerCommitOperation } from "./component-internal-DcrLymUJ.js";
2
+ import { a as registerCommitOperation } from "./component-internal-uVCJAre6.js";
3
3
  import { l as notifyReadableReaders, o as markReactivePropsDirtySource, s as markReadableDerivedSubscribersDirty, u as recordReadableRead } from "./readable-B5NtV7V0.js";
4
- import { n as getActiveRenderContext } from "./render-context-D-DFk2WN.js";
5
- import { b as getActiveRoutes, c as removeRouteBasePath, d as deepFreeze, f as makeQuery, n as computeMatchesFromRoutes, p as parseLocation, y as getActiveRouteBasePath } from "./route-matching-DHduNiGk.js";
4
+ import { n as getActiveRenderContext } from "./render-context-D0Hoj9dW.js";
6
5
  import { n as syncRouteActivitySnapshot } from "./route-activity-CNJfpwx-.js";
6
+ import { b as getActiveRoutes, c as removeRouteBasePath, d as deepFreeze, f as makeQuery, n as computeMatchesFromRoutes, p as parseLocation, y as getActiveRouteBasePath } from "./route-matching-DqULzZtC.js";
7
7
  //#region src/common/app-render-runtime.ts
8
8
  const stagedRouteLocations = /* @__PURE__ */ new WeakMap();
9
9
  function createAppRenderRuntime(input = {}) {
@@ -1,4 +1,4 @@
1
- import { L as RouteParams, Z as RouteSnapshot } from "./index-pIgGaXvS.js";
1
+ import { L as RouteParams, Z as RouteSnapshot } from "./index-BvNkcegT.js";
2
2
  //#region src/router/activity.d.ts
3
3
  interface RouteChangeOptions {
4
4
  immediate?: boolean;
package/dist/benchmark.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { r as flushRuntimeScheduler } from "./access-Dpfoi4cA.js";
2
- import { t as installRendererBridge } from "./renderer-CZzNtoj2.js";
2
+ import { t as installRendererBridge } from "./renderer-BGMaUrVj.js";
3
3
  import { t as state } from "./state-DCjONcHK.js";
4
4
  import { t as selector } from "./selector-Ck_Pp9av.js";
5
- import { i as For } from "./control-oLADku43.js";
5
+ import { i as For } from "./control-BF3geQKh.js";
6
6
  import { jsx, jsxs } from "./jsx-runtime.js";
7
- import { t as createIsland } from "./boot-DWe880Et.js";
7
+ import { t as createIsland } from "./boot-Bd-j_BL5.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.85",
67
- buildLabel: "0.0.85-local"
66
+ packageVersion: "0.0.87",
67
+ buildLabel: "0.0.87-local"
68
68
  };
69
69
  function getBenchmarkMetadata() {
70
70
  return { ...benchmarkMetadata };
@@ -1,7 +1,7 @@
1
1
  import { l as ComponentFunction } from "../control-DhUZU4_V.js";
2
- import { W as RouteRegistry, w as RouteAuthOptions } from "../index-pIgGaXvS.js";
3
- import { v as DataRuntime } from "../index-5S-fi2xy.js";
4
- import { a as ScrollRestorationOptions } from "../navigate-NyIjQUwI.js";
2
+ import { W as RouteRegistry, w as RouteAuthOptions } from "../index-BvNkcegT.js";
3
+ import { v as DataRuntime } from "../index-SGxMZLAc.js";
4
+ import { a as ScrollRestorationOptions } from "../navigate-B_fcLDAG.js";
5
5
  //#region src/boot/types.d.ts
6
6
  type IslandConfig = {
7
7
  root: Element | string;
@@ -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-DWe880Et.js";
1
+ import { a as cleanupApp, i as hydrateSPA, n as createIslands, o as hasApp, r as createSPA, t as createIsland } from "../boot-Bd-j_BL5.js";
2
2
  export { cleanupApp, createIsland, createIslands, createSPA, hasApp, hydrateSPA };
@@ -1,19 +1,20 @@
1
1
  import { b as isDevelopmentEnvironment, r as flushRuntimeScheduler, v as logger, x as isProductionEnvironment } from "./access-Dpfoi4cA.js";
2
2
  import { n as Fragment, t as ELEMENT_TYPE } from "./jsx-C3IECePB.js";
3
- import { n as createComponentInstance, r as executeComponent } from "./component-internal-DcrLymUJ.js";
3
+ import { n as createComponentInstance, r as executeComponent } from "./component-internal-uVCJAre6.js";
4
4
  import { t as cleanupComponent } from "./component-cleanup-BUfUleGZ.js";
5
5
  import { p as isPromiseLike } from "./lifecycle-batch-Dfpid9-A.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-CZzNtoj2.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-BGMaUrVj.js";
7
7
  import { _ as teardownNodeSubtree, d as removeAllListeners } from "./cleanup-c837KVij.js";
8
- import { S as pageRenderEnvelope, c as _applyManifest, d as getRouteRenderContext, f as getRouteRenderData, k as assertExecutionModel, m as resolveRouteRequest, o as reviveDeferredValue, p as hasRouteRenderData } from "./deferred-vUOy-awa.js";
9
- import { c as stopHydrationRenderPhase, o as startHydrationRenderPhase } from "./render-context-D-DFk2WN.js";
10
- import { I as lockRouteRegistration, P as hasRegisteredRoutes, _ as clearRouteState, m as _setActiveRouteAuthOptions } from "./route-matching-DHduNiGk.js";
11
- import { a as disposeDefaultPortalScope, t as DefaultPortal } from "./portal-BVWjAhNQ.js";
12
- import { r as validateCspNonce, t as CspNonceScope } from "./csp-nonce-Bc52OIVc.js";
13
- import { i as getDefaultDataRuntime } from "./data-runtime-D68YOo9L.js";
14
- import { a as hydrateDataRuntime } from "./query-registry-BL6rjGsO.js";
15
- import { o as createAppRenderRuntime, r as setServerLocation } from "./activity-Jd9CgEa3.js";
16
- import { f as registerAppInstance, g as unregisterAppInstance, i as resolveRouteMeta, o as configureScrollRestoration, r as reconcileRouteMeta, t as initializeNavigation } from "./navigate-b4GGxO_l.js";
8
+ import { r as assertExecutionModel, t as _applyManifest } from "./manifest-D1P9uTlz.js";
9
+ import { d as stopHydrationRenderPhase, l as startHydrationRenderPhase, v as pageRenderEnvelope } from "./render-context-D0Hoj9dW.js";
10
+ import { r as validateCspNonce, t as CspNonceScope } from "./csp-nonce-CUscoNF1.js";
11
+ import { i as getDefaultDataRuntime } from "./data-runtime-CnVeSvJz.js";
12
+ import { a as hydrateDataRuntime } from "./query-registry-p_0kkieE.js";
13
+ import { I as lockRouteRegistration, P as hasRegisteredRoutes, _ as clearRouteState, m as _setActiveRouteAuthOptions } from "./route-matching-DqULzZtC.js";
14
+ import { a as resolveRouteRequest, i as hasRouteRenderData, m as reviveDeferredValue, n as getRouteRenderContext, r as getRouteRenderData } from "./resolution-BRmiFYvw.js";
15
+ import { o as createAppRenderRuntime, r as setServerLocation } from "./activity-BnkhdIXm.js";
16
+ import { f as registerAppInstance, g as unregisterAppInstance, i as resolveRouteMeta, o as configureScrollRestoration, r as reconcileRouteMeta, t as initializeNavigation } from "./navigate-DSATWfHh.js";
17
+ import { n as disposeRegisteredDefaultPortalScope, r as getDefaultPortalHost } from "./default-portal-runtime-DvMvWJVp.js";
17
18
  import "./ssr-DSHd_Q9K.js";
18
19
  //#region src/boot/hydration.ts
19
20
  const DEFERRED_PAYLOAD = "__askr_deferred__";
@@ -268,7 +269,7 @@ function mountOrUpdate(rootElement, componentFn, options) {
268
269
  if (isPromiseLike(out)) throw new Error("Async components are not supported. Components must return synchronously.");
269
270
  const portalVNode = {
270
271
  $$typeof: ELEMENT_TYPE,
271
- type: DefaultPortal,
272
+ type: getDefaultPortalHost(),
272
273
  props: { __askrAutoDefaultPortal: true },
273
274
  key: "__default_portal"
274
275
  };
@@ -337,7 +338,7 @@ function mountOrUpdate(rootElement, componentFn, options) {
337
338
  }
338
339
  attachCleanupForRoot(rootElement, instance);
339
340
  registerRootCleanupCallback(rootElement, () => {
340
- disposeDefaultPortalScope(instance.portalScope ?? instance);
341
+ disposeRegisteredDefaultPortalScope(instance.portalScope ?? instance);
341
342
  });
342
343
  executeComponent(instance);
343
344
  flushRuntimeScheduler();
@@ -586,7 +587,7 @@ async function hydrateSPA(config) {
586
587
  cspNonce: config.cspNonce
587
588
  }));
588
589
  if (shouldVerifyHydrationMarkup(config)) {
589
- const { verifyHydrationSyncForUrl } = await import("./verify-hydration-C3QBBQqR.js");
590
+ const { verifyHydrationSyncForUrl } = await import("./verify-hydration-DkISyZCo.js");
590
591
  if (!verifyHydrationSyncForUrl({
591
592
  root: rootElement,
592
593
  url: currentUrl,
@@ -668,7 +668,7 @@ function executeComponentSync(instance) {
668
668
  const result = callWithContext(getExecutionContextFrame(instance.ownerFrame), instance.fn, instance.props, context);
669
669
  if (trackRenderTime) {
670
670
  const renderTime = Date.now() - renderStartTime;
671
- if (renderTime > 5) warnInstanceOnce(instance, "slow-render", `[askr] Slow render detected: ${renderTime}ms. Consider optimizing component performance.`);
671
+ if (renderTime > 5) warnInstanceOnce(instance, "slow-render", `[askr] Slow render detected in ${instance.fn?.name || "<anonymous>"}: ${renderTime}ms. Consider optimizing component performance.`);
672
672
  }
673
673
  if (!instance.firstRenderComplete) instance.firstRenderComplete = true;
674
674
  didComplete = true;
@@ -1,2 +1,2 @@
1
- import { i as For, n as Match, r as Show, t as Case } from "../control-oLADku43.js";
1
+ import { i as For, n as Match, r as Show, t as Case } from "../control-BF3geQKh.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 { b as isDevelopmentEnvironment } from "./access-Dpfoi4cA.js";
3
3
  import { n as Fragment } from "./jsx-C3IECePB.js";
4
- import { m as createShowState, p as createCaseState, s as useForState } from "./for-internal-B_mnQhan.js";
4
+ import { m as createShowState, p as createCaseState, s as useForState } from "./for-internal-Dxf3iZ9E.js";
5
5
  import { t as createFineGrainedEffect } from "./effect-lnxQIpJG.js";
6
6
  import { t as state } from "./state-DCjONcHK.js";
7
7
  //#region src/control/shared.ts
@@ -1,4 +1,4 @@
1
- import { g as readScope, u as defineScope } from "./component-internal-DcrLymUJ.js";
1
+ import { g as readScope, u as defineScope } from "./component-internal-uVCJAre6.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 { A as ServerQueryHandler, C as Query, D as QueryPrefetchContext, E as QueryKeyPart, O as QueryScope, S as Mutation, T as QueryDefinition, a as defineServerQueries, b as InvalidateOnIntervalOptions, c as prefetchQuery, d as invalidateOnInterval, f as queryScope, g as createMutation, h as createQuery, i as defineQuery, k as QueryStaleReason, l as serveQuery, m as getDefaultDataRuntime, n as ServerQueryRegistry, o as dehydrateDataRuntime, p as createDataRuntime, r as createQueryPrefetchContext, s as hydrateDataRuntime, t as ServerQueryEntry, u as invalidate, v as DataRuntime, w as QueryConsistency, x as InvalidateOptions, y as DataRuntimeOptions } from "../index-5S-fi2xy.js";
1
+ import { A as ServerQueryHandler, C as Query, D as QueryPrefetchContext, E as QueryKeyPart, O as QueryScope, S as Mutation, T as QueryDefinition, a as defineServerQueries, b as InvalidateOnIntervalOptions, c as prefetchQuery, d as invalidateOnInterval, f as queryScope, g as createMutation, h as createQuery, i as defineQuery, k as QueryStaleReason, l as serveQuery, m as getDefaultDataRuntime, n as ServerQueryRegistry, o as dehydrateDataRuntime, p as createDataRuntime, r as createQueryPrefetchContext, s as hydrateDataRuntime, t as ServerQueryEntry, u as invalidate, v as DataRuntime, w as QueryConsistency, x as InvalidateOptions, y as DataRuntimeOptions } from "../index-SGxMZLAc.js";
2
2
  export { type DataRuntime, type DataRuntimeOptions, type InvalidateOnIntervalOptions, type InvalidateOptions, type Mutation, 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
- import { i as getDefaultDataRuntime, t as createDataRuntime } from "../data-runtime-D68YOo9L.js";
2
- import { a as queryScope, i as invalidateOnInterval, n as createMutation, r as invalidate, t as createQuery } from "../data-Dkqb8_QP.js";
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-BL6rjGsO.js";
1
+ import { i as getDefaultDataRuntime, t as createDataRuntime } from "../data-runtime-CnVeSvJz.js";
2
+ import { a as queryScope, i as invalidateOnInterval, n as createMutation, r as invalidate, t as createQuery } from "../data-CXZ-FOa7.js";
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-p_0kkieE.js";
4
4
  export { createDataRuntime, createMutation, createQuery, createQueryPrefetchContext, defineQuery, defineServerQueries, dehydrateDataRuntime, getDefaultDataRuntime, hydrateDataRuntime, invalidate, invalidateOnInterval, prefetchQuery, queryScope, serveQuery };
@@ -1,9 +1,9 @@
1
1
  import { n as enqueueRuntimeTask, v as logger } from "./access-Dpfoi4cA.js";
2
2
  import { f as getCurrentComponentInstance, i as claimHookIndex } from "./component-scope-DzJEbYGE.js";
3
3
  import { l as notifyReadableReaders, o as markReactivePropsDirtySource, s as markReadableDerivedSubscribersDirty, u as recordReadableRead } from "./readable-B5NtV7V0.js";
4
- import { n as getActiveRenderContext } from "./render-context-D-DFk2WN.js";
5
- import { i as routeActive, n as documentVisible, o as timer, s as windowFocused } from "./lifecycle-operations-BrYrBsXY.js";
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-D68YOo9L.js";
4
+ import { n as getActiveRenderContext } from "./render-context-D0Hoj9dW.js";
5
+ import { i as routeActive, n as documentVisible, o as timer, s as windowFocused } from "./lifecycle-operations-DTO93Hrl.js";
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-CnVeSvJz.js";
7
7
  //#region src/data/query-key.ts
8
8
  function serializeQueryKeyNumber(part) {
9
9
  if (Number.isNaN(part)) return "NaN";
@@ -500,7 +500,9 @@ function createLegacyQuery(options) {
500
500
  const instance = getCurrentComponentInstance();
501
501
  const runtimeState = resolveDataRuntimeState(options.runtime);
502
502
  const cache = runtimeState.queryCache;
503
+ const override = runtimeState.queryTestOverrides.get(options.key);
503
504
  if (!instance) {
505
+ if (override) return override;
504
506
  let cell = cache.get(options.key);
505
507
  if (!cell) {
506
508
  cell = new QueryCell(options, options.key, cache);
@@ -518,6 +520,7 @@ function createLegacyQuery(options) {
518
520
  return existingSlot.cell;
519
521
  }
520
522
  if (existingSlot) existingSlot.cell.detach(instance._ownershipGeneration, hookIndex);
523
+ if (override) return override;
521
524
  let cell = cache.get(options.key);
522
525
  if (!cell) {
523
526
  cell = new QueryCell(options, options.key, cache);
@@ -1,4 +1,4 @@
1
- import { n as getActiveRenderContext } from "./render-context-D-DFk2WN.js";
1
+ import { n as getActiveRenderContext } from "./render-context-D0Hoj9dW.js";
2
2
  //#region src/data/invalidation-listeners.ts
3
3
  const invalidationListeners = /* @__PURE__ */ new Set();
4
4
  function addInvalidationListener(listener) {
@@ -14,22 +14,24 @@ function emitInvalidation(event) {
14
14
  //#region src/data/data-runtime.ts
15
15
  const dataRuntimeStates = /* @__PURE__ */ new WeakMap();
16
16
  const dataRuntimeByQueryCache = /* @__PURE__ */ new WeakMap();
17
- function createDataRuntimeState(queryCache, queryData) {
17
+ function createDataRuntimeState(queryCache, queryData, queryTestOverrides) {
18
18
  return {
19
19
  queryCache,
20
20
  queryData,
21
21
  querySlotsByGeneration: /* @__PURE__ */ new WeakMap(),
22
22
  mutationSlotsByGeneration: /* @__PURE__ */ new WeakMap(),
23
23
  queryCleanupRegistered: /* @__PURE__ */ new WeakSet(),
24
- mutationCleanupRegistered: /* @__PURE__ */ new WeakSet()
24
+ mutationCleanupRegistered: /* @__PURE__ */ new WeakSet(),
25
+ queryTestOverrides
25
26
  };
26
27
  }
27
28
  function createDataRuntime(options = {}) {
28
29
  const runtime = Object.freeze({
29
30
  queryCache: options.queryCache ?? /* @__PURE__ */ new Map(),
30
- queryData: options.queryData ?? /* @__PURE__ */ new Map()
31
+ queryData: options.queryData ?? /* @__PURE__ */ new Map(),
32
+ queryTestOverrides: options.queryTestOverrides ?? /* @__PURE__ */ new Map()
31
33
  });
32
- dataRuntimeStates.set(runtime, createDataRuntimeState(runtime.queryCache, runtime.queryData));
34
+ dataRuntimeStates.set(runtime, createDataRuntimeState(runtime.queryCache, runtime.queryData, runtime.queryTestOverrides));
33
35
  dataRuntimeByQueryCache.set(runtime.queryCache, runtime);
34
36
  return runtime;
35
37
  }
@@ -0,0 +1,20 @@
1
+ //#region src/common/default-portal-runtime.ts
2
+ let defaultPortalRuntime = null;
3
+ function InactiveDefaultPortalHost() {
4
+ return null;
5
+ }
6
+ /** Register the optional portal capability when its public module is loaded. */
7
+ function registerDefaultPortalRuntime(runtime) {
8
+ defaultPortalRuntime = runtime;
9
+ }
10
+ function getDefaultPortalHost() {
11
+ return defaultPortalRuntime?.host ?? InactiveDefaultPortalHost;
12
+ }
13
+ function clearRegisteredDefaultPortalForInstance(instance) {
14
+ defaultPortalRuntime?.clearForInstance(instance);
15
+ }
16
+ function disposeRegisteredDefaultPortalScope(scope) {
17
+ defaultPortalRuntime?.disposeScope(scope);
18
+ }
19
+ //#endregion
20
+ export { registerDefaultPortalRuntime as i, disposeRegisteredDefaultPortalScope as n, getDefaultPortalHost as r, clearRegisteredDefaultPortalForInstance as t };
@@ -1,6 +1,9 @@
1
- import { f as getCurrentComponentInstance } from "./component-scope-DzJEbYGE.js";
2
- import { A as getExecutionModel, T as createRouteHandler } from "./deferred-vUOy-awa.js";
3
- 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-DHduNiGk.js";
1
+ import { d as getCurrentAppRenderRuntime, f as getCurrentComponentInstance } from "./component-scope-DzJEbYGE.js";
2
+ import { i as getExecutionModel } from "./manifest-D1P9uTlz.js";
3
+ import { n as getActiveRenderContext, r as getCurrentRenderData } from "./render-context-D0Hoj9dW.js";
4
+ import { t as resource } from "./resource-operation-B94oj6xT.js";
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-DqULzZtC.js";
6
+ import { _ as createRouteHandler, d as DEFERRED_BOUNDARY, p as isDeferred, s as guardHydratedRouteData } from "./resolution-BRmiFYvw.js";
4
7
  import { allOf } from "@askrjs/auth";
5
8
  //#region src/router/access.ts
6
9
  function compileNodePolicies(node) {
@@ -200,4 +203,78 @@ function route(path, Component, options) {
200
203
  });
201
204
  }
202
205
  //#endregion
203
- export { route as a, page as i, group as n, index as r, fallback as t };
206
+ //#region src/router/deferred.tsx
207
+ function abortError() {
208
+ const error = /* @__PURE__ */ new Error("Deferred route data was aborted.");
209
+ error.name = "AbortError";
210
+ return error;
211
+ }
212
+ function awaitWithSignal(promise, signal) {
213
+ if (!signal) return promise;
214
+ if (signal.aborted) return Promise.reject(abortError());
215
+ return new Promise((resolve, reject) => {
216
+ const abort = () => reject(abortError());
217
+ signal.addEventListener("abort", abort, { once: true });
218
+ promise.then((value) => {
219
+ signal.removeEventListener("abort", abort);
220
+ resolve(value);
221
+ }, (error) => {
222
+ signal.removeEventListener("abort", abort);
223
+ reject(error);
224
+ });
225
+ });
226
+ }
227
+ async function resolveDeferredValues(input, signal) {
228
+ const seen = /* @__PURE__ */ new Set();
229
+ const visit = async (value) => {
230
+ if (!value || typeof value !== "object") return;
231
+ if (isDeferred(value)) {
232
+ const resolved = await awaitWithSignal(value.promise, signal);
233
+ await visit(resolved);
234
+ return;
235
+ }
236
+ if (seen.has(value)) return;
237
+ seen.add(value);
238
+ const children = Array.isArray(value) ? value : Object.values(value);
239
+ await Promise.all(children.map(visit));
240
+ };
241
+ await visit(input);
242
+ return input;
243
+ }
244
+ function routeData() {
245
+ const envelope = getCurrentRenderData();
246
+ if (envelope) return guardHydratedRouteData(envelope.route, envelope.framework);
247
+ const runtime = getCurrentAppRenderRuntime();
248
+ if (!runtime?.hasRoute) throw new Error("routeData() can only be read while rendering a route with loader data.");
249
+ return guardHydratedRouteData(runtime.route, runtime.framework);
250
+ }
251
+ function rejectedChild(props, error) {
252
+ return typeof props.rejected === "function" ? props.rejected(error) : props.rejected ?? null;
253
+ }
254
+ function Resolve(props) {
255
+ if (props.value.state === "fulfilled") return props.children(props.value.value);
256
+ if (props.value.state === "rejected") return rejectedChild(props, props.value.error);
257
+ const renderContext = getActiveRenderContext();
258
+ if (renderContext) {
259
+ const id = `d:${renderContext.deferredBoundaries.length}`;
260
+ renderContext.deferredBoundaries.push({
261
+ id,
262
+ promise: props.value.promise,
263
+ fulfilled: (value) => props.children(value),
264
+ rejected: (error) => rejectedChild(props, error)
265
+ });
266
+ return {
267
+ type: DEFERRED_BOUNDARY,
268
+ props: {
269
+ id,
270
+ pending: props.pending ?? null
271
+ }
272
+ };
273
+ }
274
+ const result = resource(() => props.value.promise, [props.value]);
275
+ if (result.error) return rejectedChild(props, result.error);
276
+ if (result.pending || result.value === null) return props.pending ?? null;
277
+ return props.children(result.value);
278
+ }
279
+ //#endregion
280
+ export { group as a, route as c, fallback as i, resolveDeferredValues as n, index as o, routeData as r, page as s, Resolve as t };
@@ -1,7 +1,7 @@
1
1
  import { n as _isDOMElement } from "./vnode-D24p6IW2.js";
2
2
  import { b as isDevelopmentEnvironment, o as getRuntimeRenderer, v as logger } from "./access-Dpfoi4cA.js";
3
3
  import { h as getCurrentStateIndex, i as claimHookIndex, o as clearRenderTracking, p as getCurrentInstance } from "./component-scope-DzJEbYGE.js";
4
- import { _ as rebaseVNodeTreeWithContextFrame, m as haveEquivalentContextFrames, n as createComponentInstance, s as renderScopedComponent } from "./component-internal-DcrLymUJ.js";
4
+ import { _ as rebaseVNodeTreeWithContextFrame, m as haveEquivalentContextFrames, n as createComponentInstance, s as renderScopedComponent } from "./component-internal-uVCJAre6.js";
5
5
  import { d as shouldCoalesceFineGrainedItemReads, l as notifyReadableReaders, o as markReactivePropsDirtySource, s as markReadableDerivedSubscribersDirty, u as recordReadableRead } from "./readable-B5NtV7V0.js";
6
6
  import { i as unregisterOwnedChildScope, r as registerOwnedChildScope, t as cleanupComponent } from "./component-cleanup-BUfUleGZ.js";
7
7
  import { o as finalizeInlineReadSubscriptions, u as registerLifecycleTransaction } from "./lifecycle-batch-Dfpid9-A.js";
@@ -1,3 +1,3 @@
1
1
  import { r as JSXElement } from "../jsx-Dvr2SGRG.js";
2
- import { _ as Portal, c as Presence, d as SlotProps, g as DefaultPortal, h as layout, l as PresenceProps, m as LayoutComponent, u as Slot, v as PortalProps, y as definePortal } from "../index-Bkh9S9-t.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-DflhL1h8.js";
3
3
  export { DefaultPortal, type JSXElement, type LayoutComponent, Portal, type PortalProps, Presence, type PresenceProps, Slot, type SlotProps, definePortal, layout };
@@ -1,3 +1,2 @@
1
- import { a as layout, i as Slot, r as Presence } from "../structures-DSLF_iis.js";
2
- import { i as definePortal, n as Portal, t as DefaultPortal } from "../portal-BVWjAhNQ.js";
1
+ import { a as definePortal, c as layout, i as Portal, o as Presence, r as DefaultPortal, s as Slot } from "../structures-DsOm-clq.js";
3
2
  export { DefaultPortal, Portal, Presence, Slot, definePortal, layout };
@@ -1,3 +1,3 @@
1
1
  import { r as JSXElement } from "../../jsx-Dvr2SGRG.js";
2
- import { _ as Portal, a as Collection, c as Presence, d as SlotProps, f as cloneElement, g as DefaultPortal, h as layout, i as createLayer, l as PresenceProps, m as LayoutComponent, n as LayerManager, o as CollectionItem, p as isElement, r as LayerOptions, s as createCollection, t as Layer, u as Slot, v as PortalProps, y as definePortal } from "../../index-Bkh9S9-t.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-DflhL1h8.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,3 +1,2 @@
1
- import { a as layout, i as Slot, n as createCollection, o as cloneElement, r as Presence, s as isElement, t as createLayer } from "../../structures-DSLF_iis.js";
2
- import { i as definePortal, n as Portal, t as DefaultPortal } from "../../portal-BVWjAhNQ.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-DsOm-clq.js";
3
2
  export { DefaultPortal, Portal, Presence, Slot, cloneElement, createCollection, createLayer, definePortal, isElement, layout };
@@ -1,7 +1,7 @@
1
1
  import { a as ComponentInstance, b as StateTuple, i as ReadableSource, n as ChildScope, o as Scope, r as DOMRange, u as RenderableChild } from "./control-DhUZU4_V.js";
2
2
  import { r as JSXElement } from "./jsx-Dvr2SGRG.js";
3
3
  import { t as Scheduler } from "./scheduler-CmLO4Dfm.js";
4
- import { D as QueryPrefetchContext, _ as CoreTelemetry } from "./index-5S-fi2xy.js";
4
+ import { D as QueryPrefetchContext, _ as CoreTelemetry } from "./index-SGxMZLAc.js";
5
5
  import "./jsx-runtime-C-oIHX9X.js";
6
6
  import { AuthContext, AuthRequirement } from "@askrjs/auth";
7
7
  import { InferSchema, ObjectSchema } from "@askrjs/schema";
@@ -1,20 +1,6 @@
1
1
  import { u as RenderableChild } from "./control-DhUZU4_V.js";
2
2
  import { r as JSXElement } from "./jsx-Dvr2SGRG.js";
3
3
  import "./types-C9YcqVpk.js";
4
- //#region src/runtime/portal.d.ts
5
- interface Portal<T extends RenderableChild = RenderableChild> {
6
- (): T | JSXElement | null | undefined;
7
- render(props: {
8
- children?: T;
9
- }): unknown;
10
- }
11
- interface PortalProps {
12
- children?: RenderableChild;
13
- }
14
- declare function definePortal<T extends RenderableChild = RenderableChild>(): Portal<T>;
15
- declare const DefaultPortal: Portal<RenderableChild>;
16
- declare function Portal(props: PortalProps): JSXElement | null;
17
- //#endregion
18
4
  //#region src/foundations/structures/layout.d.ts
19
5
  /**
20
6
  * Layout helper.
@@ -109,6 +95,20 @@ interface PresenceProps {
109
95
  */
110
96
  declare function Presence({ present, children }: PresenceProps): JSXElement | null;
111
97
  //#endregion
98
+ //#region src/runtime/portal.d.ts
99
+ interface Portal<T extends RenderableChild = RenderableChild> {
100
+ (): T | JSXElement | null | undefined;
101
+ render(props: {
102
+ children?: T;
103
+ }): unknown;
104
+ }
105
+ interface PortalProps {
106
+ children?: RenderableChild;
107
+ }
108
+ declare function definePortal<T extends RenderableChild = RenderableChild>(): Portal<T>;
109
+ declare const DefaultPortal: Portal<RenderableChild>;
110
+ declare function Portal(props: PortalProps): JSXElement | null;
111
+ //#endregion
112
112
  //#region src/foundations/structures/collection.d.ts
113
113
  /**
114
114
  * createCollection
@@ -280,4 +280,4 @@ declare function createLayer(): LayerManager;
280
280
  * }
281
281
  */
282
282
  //#endregion
283
- export { Portal as _, Collection as a, Presence as c, SlotProps as d, cloneElement as f, DefaultPortal as g, layout as h, createLayer as i, PresenceProps as l, LayoutComponent as m, LayerManager as n, CollectionItem as o, isElement as p, LayerOptions as r, createCollection as s, Layer as t, Slot as u, PortalProps as v, definePortal as y };
283
+ export { isElement as _, Collection as a, DefaultPortal as c, definePortal as d, Presence as f, cloneElement as g, SlotProps as h, createLayer as i, Portal as l, Slot as m, LayerManager as n, CollectionItem as o, PresenceProps as p, LayerOptions as r, createCollection as s, Layer as t, PortalProps as u, LayoutComponent as v, layout as y };
@@ -4,10 +4,13 @@ type QueryStaleReason = 'aborted' | 'error' | 'inconsistent';
4
4
  interface DataRuntime {
5
5
  readonly queryCache: Map<string, unknown>;
6
6
  readonly queryData: Map<string, unknown>;
7
+ /** Test-only query overrides keyed by the canonical query key. */
8
+ readonly queryTestOverrides: Map<string, unknown>;
7
9
  }
8
10
  interface DataRuntimeOptions {
9
11
  queryCache?: Map<string, unknown>;
10
12
  queryData?: Map<string, unknown>;
13
+ queryTestOverrides?: Map<string, unknown>;
11
14
  }
12
15
  interface QueryDefinition<TInput, TResult extends {}> {
13
16
  readonly key: (input: TInput) => string;
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { b as StateTuple, c as readScope, o as Scope, s as defineScope, v as State, x as state, y as StateSetter } from "./control-DhUZU4_V.js";
2
2
  import { s as Props, t as Fragment } from "./jsx-Dvr2SGRG.js";
3
- import { $ as cspNonce, Q as CspNonceScope, at as AskrRuntimeOptions, c as createRef, ct as createRuntime, d as registerSSRStyle, et as Selector, it as AskrRuntime, lt as getDefaultRuntime, nt as Derived, ot as RuntimeKeyedReorderDecision, rt as derive, s as Ref, st as RuntimeRendererHost, tt as selector, ut as getSignal } from "./index-pIgGaXvS.js";
3
+ import { $ as cspNonce, Q as CspNonceScope, at as AskrRuntimeOptions, c as createRef, ct as createRuntime, d as registerSSRStyle, et as Selector, it as AskrRuntime, lt as getDefaultRuntime, nt as Derived, ot as RuntimeKeyedReorderDecision, rt as derive, s as Ref, st as RuntimeRendererHost, tt as selector, ut as getSignal } from "./index-BvNkcegT.js";
4
4
  import { a as Show, c as ForProps, i as MatchProps, n as CaseProps, o as ShowProps, r as Match, s as For, t as Case } from "./index-r-nt13FE.js";
5
- import { A as ServerQueryHandler, D as QueryPrefetchContext, T as QueryDefinition, a as defineServerQueries, c as prefetchQuery, h as createQuery, i as defineQuery, l as serveQuery, o as dehydrateDataRuntime, s as hydrateDataRuntime, v as DataRuntime } from "./index-5S-fi2xy.js";
5
+ import { A as ServerQueryHandler, D as QueryPrefetchContext, T as QueryDefinition, a as defineServerQueries, c as prefetchQuery, h as createQuery, i as defineQuery, l as serveQuery, o as dehydrateDataRuntime, s as hydrateDataRuntime, v as DataRuntime } from "./index-SGxMZLAc.js";
6
6
  import { i as jsxs, n as jsx } from "./jsx-runtime-Cr1jspx9.js";
7
7
  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 RuntimeKeyedReorderDecision, type RuntimeRendererHost, type Scope, type Selector, type ServerQueryHandler, Show, type ShowProps, type State, type StateSetter, type StateTuple, createQuery, createRef, createRuntime, cspNonce, defineQuery, defineScope, defineServerQueries, dehydrateDataRuntime, derive, getDefaultRuntime, getSignal, hydrateDataRuntime, jsx, jsxs, prefetchQuery, readScope, registerSSRStyle, selector, serveQuery, state };