@askrjs/askr 0.0.87 → 0.0.88

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 (55) hide show
  1. package/dist/actions/index.d.ts +1 -1
  2. package/dist/{activity-BnkhdIXm.js → activity-C9naVZwy.js} +2 -1
  3. package/dist/{activity-DNYL__cW.d.ts → activity-VMb7aJVx.d.ts} +1 -1
  4. package/dist/benchmark.d.ts +1 -1
  5. package/dist/benchmark.js +6 -6
  6. package/dist/boot/index.d.ts +3 -3
  7. package/dist/boot/index.js +1 -1
  8. package/dist/{boot-Bd-j_BL5.js → boot-BVHzYQz8.js} +6 -5
  9. package/dist/components/index.d.ts +2 -2
  10. package/dist/control/index.d.ts +1 -1
  11. package/dist/control/index.js +1 -1
  12. package/dist/{control-BjYBlytA.d.ts → control-CsGs2bLS.d.ts} +1 -1
  13. package/dist/{control-BF3geQKh.js → control-DlwTrXBN.js} +1 -1
  14. package/dist/{control-DhUZU4_V.d.ts → control-x8iehxf7.d.ts} +1 -1
  15. package/dist/{deferred-_DaSfpsr.js → deferred-BCgoep1C.js} +3 -2
  16. package/dist/{for-internal-Dxf3iZ9E.js → for-internal-Be7x2TFd.js} +8 -4
  17. package/dist/foundations/icon/index.d.ts +2 -2
  18. package/dist/foundations/icon/index.js +3 -2
  19. package/dist/foundations/index.d.ts +2 -2
  20. package/dist/foundations/index.js +1 -1
  21. package/dist/foundations/interactions/index.js +1 -1
  22. package/dist/foundations/state/index.d.ts +1 -1
  23. package/dist/foundations/structures/index.d.ts +2 -2
  24. package/dist/foundations/structures/index.js +1 -1
  25. package/dist/{index-r-nt13FE.d.ts → index-BYWsbogt.d.ts} +2 -2
  26. package/dist/{index-DflhL1h8.d.ts → index-DODUjRdZ.d.ts} +3 -3
  27. package/dist/{index-BvNkcegT.d.ts → index-yDjeTqs5.d.ts} +3 -3
  28. package/dist/index.d.ts +5 -5
  29. package/dist/index.js +3 -3
  30. package/dist/{interactions-DgGQyUQv.js → interactions-CWkNEq_C.js} +2 -1
  31. package/dist/{jsx-Dvr2SGRG.d.ts → jsx-BYXe_Nnk.d.ts} +18 -0
  32. package/dist/jsx-dev-runtime.d.ts +3 -3
  33. package/dist/jsx-runtime-BqhMEuT4.d.ts +2 -0
  34. package/dist/{jsx-runtime-Cr1jspx9.d.ts → jsx-runtime-LHh5tcTe.d.ts} +3 -3
  35. package/dist/jsx-runtime.d.ts +2 -2
  36. package/dist/{navigate-DSATWfHh.js → navigate-Bz6hh2JB.js} +1 -1
  37. package/dist/{navigate-B_fcLDAG.d.ts → navigate-kJ_EW8Y8.d.ts} +1 -1
  38. package/dist/{renderer-BGMaUrVj.js → renderer-5bjf5dIf.js} +45 -7
  39. package/dist/resources/index.d.ts +2 -2
  40. package/dist/resources/index.js +1 -1
  41. package/dist/router/index.d.ts +6 -6
  42. package/dist/router/index.js +15 -14
  43. package/dist/{selector-Ck_Pp9av.js → selector-BLNkRZ2i.js} +2 -1
  44. package/dist/ssg/index.d.ts +2 -2
  45. package/dist/ssg/index.js +2 -2
  46. package/dist/ssr/index.d.ts +3 -3
  47. package/dist/ssr/index.js +1 -1
  48. package/dist/{ssr-q250YlKo.js → ssr-D3hUAWyQ.js} +6 -4
  49. package/dist/{structures-DsOm-clq.js → structures--NKfTh3j.js} +2 -1
  50. package/dist/testing/index.d.ts +2 -2
  51. package/dist/testing/index.js +1 -1
  52. package/dist/{types-C9YcqVpk.d.ts → types-CsPtBGWb.d.ts} +1 -1
  53. package/dist/{verify-hydration-DkISyZCo.js → verify-hydration-Bd1kGLmH.js} +1 -1
  54. package/package.json +11 -10
  55. package/dist/jsx-runtime-C-oIHX9X.d.ts +0 -2
@@ -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-BvNkcegT.js";
1
+ import { a as action, i as ActionValidationError, n as ActionForm, o as defineAction, r as ActionStatus, t as ActionDescriptor } from "../index-yDjeTqs5.js";
2
2
  export { ActionDescriptor, ActionForm, ActionStatus, ActionValidationError, action, defineAction };
@@ -166,7 +166,8 @@ function readCurrentRouteSnapshot() {
166
166
  const { pathname, search, hash, withinBasePath } = readCurrentRouteLocation();
167
167
  const query = makeQuery(search);
168
168
  const matches = withinBasePath ? computeMatchesFromRoutes(pathname, getActiveRoutes()) : [];
169
- const params = deepFreeze({ ...(withinBasePath ? getActiveRenderContext()?.params : void 0) ?? matches[0]?.params ?? {} });
169
+ const routeParams = (withinBasePath ? getActiveRenderContext()?.params : void 0) ?? matches[0]?.params ?? {};
170
+ const params = deepFreeze({ ...routeParams });
170
171
  return Object.freeze({
171
172
  path: pathname,
172
173
  params,
@@ -1,4 +1,4 @@
1
- import { L as RouteParams, Z as RouteSnapshot } from "./index-BvNkcegT.js";
1
+ import { L as RouteParams, Z as RouteSnapshot } from "./index-yDjeTqs5.js";
2
2
  //#region src/router/activity.d.ts
3
3
  interface RouteChangeOptions {
4
4
  immediate?: boolean;
@@ -1,4 +1,4 @@
1
- import "./jsx-runtime-C-oIHX9X.js";
1
+ import "./jsx-runtime-BqhMEuT4.js";
2
2
  //#region src/bench/components/benchmark-row.d.ts
3
3
  interface BenchmarkRowData {
4
4
  id: number;
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-BGMaUrVj.js";
2
+ import { t as installRendererBridge } from "./renderer-5bjf5dIf.js";
3
3
  import { t as state } from "./state-DCjONcHK.js";
4
- import { t as selector } from "./selector-Ck_Pp9av.js";
5
- import { i as For } from "./control-BF3geQKh.js";
4
+ import { t as selector } from "./selector-BLNkRZ2i.js";
5
+ import { i as For } from "./control-DlwTrXBN.js";
6
6
  import { jsx, jsxs } from "./jsx-runtime.js";
7
- import { t as createIsland } from "./boot-Bd-j_BL5.js";
7
+ import { t as createIsland } from "./boot-BVHzYQz8.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.87",
67
- buildLabel: "0.0.87-local"
66
+ packageVersion: "0.0.88",
67
+ buildLabel: "0.0.88-local"
68
68
  };
69
69
  function getBenchmarkMetadata() {
70
70
  return { ...benchmarkMetadata };
@@ -1,7 +1,7 @@
1
- import { l as ComponentFunction } from "../control-DhUZU4_V.js";
2
- import { W as RouteRegistry, w as RouteAuthOptions } from "../index-BvNkcegT.js";
1
+ import { l as ComponentFunction } from "../control-x8iehxf7.js";
2
+ import { W as RouteRegistry, w as RouteAuthOptions } from "../index-yDjeTqs5.js";
3
3
  import { v as DataRuntime } from "../index-SGxMZLAc.js";
4
- import { a as ScrollRestorationOptions } from "../navigate-B_fcLDAG.js";
4
+ import { a as ScrollRestorationOptions } from "../navigate-kJ_EW8Y8.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-Bd-j_BL5.js";
1
+ import { a as cleanupApp, i as hydrateSPA, n as createIslands, o as hasApp, r as createSPA, t as createIsland } from "../boot-BVHzYQz8.js";
2
2
  export { cleanupApp, createIsland, createIslands, createSPA, hasApp, hydrateSPA };
@@ -3,7 +3,7 @@ import { n as Fragment, t as ELEMENT_TYPE } from "./jsx-C3IECePB.js";
3
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-BGMaUrVj.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-5bjf5dIf.js";
7
7
  import { _ as teardownNodeSubtree, d as removeAllListeners } from "./cleanup-c837KVij.js";
8
8
  import { r as assertExecutionModel, t as _applyManifest } from "./manifest-D1P9uTlz.js";
9
9
  import { d as stopHydrationRenderPhase, l as startHydrationRenderPhase, v as pageRenderEnvelope } from "./render-context-D0Hoj9dW.js";
@@ -12,8 +12,8 @@ import { i as getDefaultDataRuntime } from "./data-runtime-CnVeSvJz.js";
12
12
  import { a as hydrateDataRuntime } from "./query-registry-p_0kkieE.js";
13
13
  import { I as lockRouteRegistration, P as hasRegisteredRoutes, _ as clearRouteState, m as _setActiveRouteAuthOptions } from "./route-matching-DqULzZtC.js";
14
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";
15
+ import { o as createAppRenderRuntime, r as setServerLocation } from "./activity-C9naVZwy.js";
16
+ import { f as registerAppInstance, g as unregisterAppInstance, i as resolveRouteMeta, o as configureScrollRestoration, r as reconcileRouteMeta, t as initializeNavigation } from "./navigate-Bz6hh2JB.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
@@ -327,7 +327,8 @@ function mountOrUpdate(rootElement, componentFn, options) {
327
327
  }
328
328
  if (options && typeof options.cleanupStrict === "boolean") instance.cleanupStrict = options.cleanupStrict;
329
329
  } else {
330
- instance = createComponentInstance(String(++componentIdCounter), wrappedFn, {}, rootElement);
330
+ const componentId = String(++componentIdCounter);
331
+ instance = createComponentInstance(componentId, wrappedFn, {}, rootElement);
331
332
  instancesByRoot.set(rootElement, instance);
332
333
  instance.isRoot = true;
333
334
  instance._rootComponentFn = componentFn;
@@ -587,7 +588,7 @@ async function hydrateSPA(config) {
587
588
  cspNonce: config.cspNonce
588
589
  }));
589
590
  if (shouldVerifyHydrationMarkup(config)) {
590
- const { verifyHydrationSyncForUrl } = await import("./verify-hydration-DkISyZCo.js");
591
+ const { verifyHydrationSyncForUrl } = await import("./verify-hydration-Bd1kGLmH.js");
591
592
  if (!verifyHydrationSyncForUrl({
592
593
  root: rootElement,
593
594
  url: currentUrl,
@@ -1,5 +1,5 @@
1
- import { d as VNode } from "../control-DhUZU4_V.js";
2
- import { r as JSXElement, s as Props } from "../jsx-Dvr2SGRG.js";
1
+ import { d as VNode } from "../control-x8iehxf7.js";
2
+ import { r as JSXElement, s as Props } from "../jsx-BYXe_Nnk.js";
3
3
  //#region src/common/error-boundary.d.ts
4
4
  type ErrorBoundaryContent = VNode | readonly VNode[];
5
5
  type ErrorBoundaryFallbackValue = ErrorBoundaryContent | Node;
@@ -1,2 +1,2 @@
1
- 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";
1
+ 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-BYWsbogt.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-BF3geQKh.js";
1
+ import { i as For, n as Match, r as Show, t as Case } from "../control-DlwTrXBN.js";
2
2
  export { Case, For, Match, Show };
@@ -1,4 +1,4 @@
1
- import { s as Props } from "./jsx-Dvr2SGRG.js";
1
+ import { s as Props } from "./jsx-BYXe_Nnk.js";
2
2
  //#region src/common/control.d.ts
3
3
  declare const EAGER_CONTROL_PRIMITIVE: unique symbol;
4
4
  type EagerControlPrimitive<P extends Props = Props> = ((props: P) => unknown) & {
@@ -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-Dxf3iZ9E.js";
4
+ import { m as createShowState, p as createCaseState, s as useForState } from "./for-internal-Be7x2TFd.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 { i as JSXElementType, r as JSXElement, s as Props } from "./jsx-Dvr2SGRG.js";
1
+ import { i as JSXElementType, r as JSXElement, s as Props } from "./jsx-BYXe_Nnk.js";
2
2
  //#region src/runtime/state.d.ts
3
3
  /**
4
4
  * State value holder - callable to read, has set method to update
@@ -128,7 +128,7 @@ function registerRouteAtResolvedPath(path, Component, options, metadata) {
128
128
  const metaChain = [...getCurrentInheritedMeta(), ...normalizedOptions?.meta ? [normalizedOptions.meta] : []];
129
129
  const handler = createRouteHandler(comp, pageChain, chain);
130
130
  const renderHandler = createRouteHandler(comp, pageChain, chain, true);
131
- insertRecordSorted({
131
+ const record = {
132
132
  path,
133
133
  component: comp,
134
134
  segments,
@@ -148,7 +148,8 @@ function registerRouteAtResolvedPath(path, Component, options, metadata) {
148
148
  handler,
149
149
  renderHandler,
150
150
  ...metadata?.fallbackPrefix ? { fallbackPrefix: metadata.fallbackPrefix } : {}
151
- });
151
+ };
152
+ insertRecordSorted(record);
152
153
  addRouteToStores({
153
154
  path,
154
155
  handler,
@@ -578,13 +578,15 @@ const REACTIVE_FOR_ITEM_PROXY_HANDLER = {
578
578
  if (prop === REACTIVE_FOR_ITEM_STATE) return false;
579
579
  const metadata = getReactiveForItemState(target);
580
580
  metadata.wholeItemRead = true;
581
- recordReadableRead(getWholeItemSignal(metadata));
581
+ const itemSignal = getWholeItemSignal(metadata);
582
+ recordReadableRead(itemSignal);
582
583
  return prop in target || prop in Object(metadata.currentItem);
583
584
  },
584
585
  ownKeys(target) {
585
586
  const metadata = getReactiveForItemState(target);
586
587
  metadata.wholeItemRead = true;
587
- recordReadableRead(getWholeItemSignal(metadata));
588
+ const itemSignal = getWholeItemSignal(metadata);
589
+ recordReadableRead(itemSignal);
588
590
  const keys = /* @__PURE__ */ new Set();
589
591
  for (const key of Reflect.ownKeys(target)) if (key !== REACTIVE_FOR_ITEM_STATE) keys.add(key);
590
592
  for (const key of Reflect.ownKeys(Object(metadata.currentItem))) keys.add(key);
@@ -594,7 +596,8 @@ const REACTIVE_FOR_ITEM_PROXY_HANDLER = {
594
596
  if (prop === REACTIVE_FOR_ITEM_STATE) return;
595
597
  const metadata = getReactiveForItemState(target);
596
598
  metadata.wholeItemRead = true;
597
- recordReadableRead(getWholeItemSignal(metadata));
599
+ const itemSignal = getWholeItemSignal(metadata);
600
+ recordReadableRead(itemSignal);
598
601
  const ownDescriptor = Reflect.getOwnPropertyDescriptor(target, prop);
599
602
  if (ownDescriptor) return ownDescriptor;
600
603
  return Object.getOwnPropertyDescriptor(Object(metadata.currentItem), prop);
@@ -602,7 +605,8 @@ const REACTIVE_FOR_ITEM_PROXY_HANDLER = {
602
605
  getPrototypeOf(target) {
603
606
  const metadata = getReactiveForItemState(target);
604
607
  metadata.wholeItemRead = true;
605
- recordReadableRead(getWholeItemSignal(metadata));
608
+ const itemSignal = getWholeItemSignal(metadata);
609
+ recordReadableRead(itemSignal);
606
610
  return Object.getPrototypeOf(Object(metadata.currentItem));
607
611
  },
608
612
  set(target, prop, value) {
@@ -1,5 +1,5 @@
1
- import { r as JSXElement, s as Props } from "../../jsx-Dvr2SGRG.js";
2
- import "../../types-C9YcqVpk.js";
1
+ import { r as JSXElement, s as Props } from "../../jsx-BYXe_Nnk.js";
2
+ import "../../types-CsPtBGWb.js";
3
3
  import { t as Ref } from "../../compose-ref-Cizq72-x.js";
4
4
  //#region src/foundations/icon/icon.types.d.ts
5
5
  type IconSizeToken = 'sm' | 'md' | 'lg' | 'xl';
@@ -71,7 +71,7 @@ function IconBase({ size = 20, strokeWidth = 2, color = "currentColor", title, c
71
71
  iconName
72
72
  });
73
73
  const finalChildren = title ? [jsx("title", { children: title }), children] : children;
74
- return jsxs("svg", {
74
+ const svgProps = {
75
75
  ...rest,
76
76
  ...attrs,
77
77
  viewBox: rest.viewBox ?? "0 0 24 24",
@@ -80,7 +80,8 @@ function IconBase({ size = 20, strokeWidth = 2, color = "currentColor", title, c
80
80
  class: className,
81
81
  ref,
82
82
  children: finalChildren
83
- });
83
+ };
84
+ return jsxs("svg", svgProps);
84
85
  }
85
86
  //#endregion
86
87
  export { IconBase, getIconContractProps, isIconSizeToken, joinIconStyle, normalizeIconSizeValue, resolveIconSizeVariable, resolveIconStrokeWidthVariable, serializeIconStyle };
@@ -1,3 +1,3 @@
1
- import { r as JSXElement } from "../jsx-Dvr2SGRG.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";
1
+ import { r as JSXElement } from "../jsx-BYXe_Nnk.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-DODUjRdZ.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-DsOm-clq.js";
1
+ import { a as definePortal, c as layout, i as Portal, o as Presence, r as DefaultPortal, s as Slot } from "../structures--NKfTh3j.js";
2
2
  export { DefaultPortal, Portal, Presence, Slot, definePortal, layout };
@@ -1,2 +1,2 @@
1
- import { a as focusable, i as hoverable, n as mergeInteractionProps, o as dismissable, r as rovingFocus, s as pressable, t as applyInteractionPolicy } from "../../interactions-DgGQyUQv.js";
1
+ import { a as focusable, i as hoverable, n as mergeInteractionProps, o as dismissable, r as rovingFocus, s as pressable, t as applyInteractionPolicy } from "../../interactions-CWkNEq_C.js";
2
2
  export { applyInteractionPolicy, dismissable, focusable, hoverable, mergeInteractionProps, pressable, rovingFocus };
@@ -1,4 +1,4 @@
1
- import { v as State } from "../../control-DhUZU4_V.js";
1
+ import { v as State } from "../../control-x8iehxf7.js";
2
2
  //#region src/foundations/state/controllable.d.ts
3
3
  declare function isControlled<T>(value: T | undefined): value is T;
4
4
  declare function resolveControllable<T>(value: T | undefined, defaultValue: T): {
@@ -1,3 +1,3 @@
1
- import { r as JSXElement } from "../../jsx-Dvr2SGRG.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";
1
+ import { r as JSXElement } from "../../jsx-BYXe_Nnk.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-DODUjRdZ.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-DsOm-clq.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--NKfTh3j.js";
2
2
  export { DefaultPortal, Portal, Presence, Slot, cloneElement, createCollection, createLayer, definePortal, isElement, layout };
@@ -1,5 +1,5 @@
1
- import { d as VNode, t as ForEachSource, u as RenderableChild } from "./control-DhUZU4_V.js";
2
- import { r as JSXElement } from "./jsx-Dvr2SGRG.js";
1
+ import { d as VNode, t as ForEachSource, u as RenderableChild } from "./control-x8iehxf7.js";
2
+ import { r as JSXElement } from "./jsx-BYXe_Nnk.js";
3
3
  //#region src/control/shared.d.ts
4
4
  type BoundaryChild = RenderableChild;
5
5
  //#endregion
@@ -1,6 +1,6 @@
1
- import { u as RenderableChild } from "./control-DhUZU4_V.js";
2
- import { r as JSXElement } from "./jsx-Dvr2SGRG.js";
3
- import "./types-C9YcqVpk.js";
1
+ import { u as RenderableChild } from "./control-x8iehxf7.js";
2
+ import { r as JSXElement } from "./jsx-BYXe_Nnk.js";
3
+ import "./types-CsPtBGWb.js";
4
4
  //#region src/foundations/structures/layout.d.ts
5
5
  /**
6
6
  * Layout helper.
@@ -1,8 +1,8 @@
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
- import { r as JSXElement } from "./jsx-Dvr2SGRG.js";
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-x8iehxf7.js";
2
+ import { r as JSXElement } from "./jsx-BYXe_Nnk.js";
3
3
  import { t as Scheduler } from "./scheduler-CmLO4Dfm.js";
4
4
  import { D as QueryPrefetchContext, _ as CoreTelemetry } from "./index-SGxMZLAc.js";
5
- import "./jsx-runtime-C-oIHX9X.js";
5
+ import "./jsx-runtime-BqhMEuT4.js";
6
6
  import { AuthContext, AuthRequirement } from "@askrjs/auth";
7
7
  import { InferSchema, ObjectSchema } from "@askrjs/schema";
8
8
  //#region src/runtime/component-scope.d.ts
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
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
- 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-BvNkcegT.js";
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";
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-x8iehxf7.js";
2
+ import { s as Props, t as Fragment } from "./jsx-BYXe_Nnk.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-yDjeTqs5.js";
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-BYWsbogt.js";
5
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
- import { i as jsxs, n as jsx } from "./jsx-runtime-Cr1jspx9.js";
6
+ import { i as jsxs, n as jsx } from "./jsx-runtime-LHh5tcTe.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 };
package/dist/index.js CHANGED
@@ -4,12 +4,12 @@ import { n as Fragment } from "./jsx-C3IECePB.js";
4
4
  import { g as readScope, u as defineScope } from "./component-internal-uVCJAre6.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-B5NtV7V0.js";
6
6
  import { n as isSnapshotSource } from "./snapshot-source-BB42xgwb.js";
7
- import { t as installRendererBridge } from "./renderer-BGMaUrVj.js";
7
+ import { t as installRendererBridge } from "./renderer-5bjf5dIf.js";
8
8
  import { c as registerSSRStyle } from "./render-context-D0Hoj9dW.js";
9
9
  import { t as state } from "./state-DCjONcHK.js";
10
- import { t as selector } from "./selector-Ck_Pp9av.js";
10
+ import { t as selector } from "./selector-BLNkRZ2i.js";
11
11
  import { n as cspNonce, t as CspNonceScope } from "./csp-nonce-CUscoNF1.js";
12
- import { i as For, n as Match, r as Show, t as Case } from "./control-BF3geQKh.js";
12
+ import { i as For, n as Match, r as Show, t as Case } from "./control-DlwTrXBN.js";
13
13
  import { jsx, jsxs } from "./jsx-runtime.js";
14
14
  import { t as createQuery } from "./data-CXZ-FOa7.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-p_0kkieE.js";
@@ -260,7 +260,8 @@ function applyInteractionPolicy({ isNative, disabled, onPress, ref }) {
260
260
  * Policy props MUST take precedence to enforce invariants.
261
261
  */
262
262
  function mergeInteractionProps(childProps, policyProps, userProps) {
263
- const out = mergeProps(policyProps, userProps ? mergeProps(userProps, childProps) : childProps);
263
+ const mergedUserChild = userProps ? mergeProps(userProps, childProps) : childProps;
264
+ const out = mergeProps(policyProps, mergedUserChild);
264
265
  for (const k in out) {
265
266
  if (!k.startsWith("on")) continue;
266
267
  const policyHandler = policyProps?.[k];
@@ -117,10 +117,16 @@ type ForbiddenLayoutOnlyProps = {
117
117
  htmlFor?: never;
118
118
  label?: never;
119
119
  method?: never;
120
+ maxLength?: never;
121
+ maxlength?: never;
122
+ minLength?: never;
123
+ minlength?: never;
120
124
  multiple?: never;
121
125
  name?: never;
122
126
  noValidate?: never;
123
127
  placeholder?: never;
128
+ readOnly?: never;
129
+ readonly?: never;
124
130
  rel?: never;
125
131
  required?: never;
126
132
  rowSpan?: never;
@@ -183,8 +189,14 @@ interface InputIntrinsicProps extends IntrinsicProps {
183
189
  autocomplete?: ReactiveProp<IntrinsicTextValue>;
184
190
  checked?: ReactiveProp<IntrinsicBooleanValue>;
185
191
  disabled?: ReactiveProp<IntrinsicBooleanValue>;
192
+ maxLength?: ReactiveProp<IntrinsicNumberValue>;
193
+ maxlength?: ReactiveProp<IntrinsicNumberValue>;
194
+ minLength?: ReactiveProp<IntrinsicNumberValue>;
195
+ minlength?: ReactiveProp<IntrinsicNumberValue>;
186
196
  name?: ReactiveProp<IntrinsicTextValue>;
187
197
  placeholder?: ReactiveProp<IntrinsicTextValue>;
198
+ readOnly?: ReactiveProp<IntrinsicBooleanValue>;
199
+ readonly?: ReactiveProp<IntrinsicBooleanValue>;
188
200
  required?: ReactiveProp<IntrinsicBooleanValue>;
189
201
  type?: ReactiveProp<IntrinsicTextValue>;
190
202
  value?: ReactiveProp<IntrinsicFormValue>;
@@ -247,8 +259,14 @@ interface TextareaIntrinsicProps extends IntrinsicProps {
247
259
  autocomplete?: ReactiveProp<IntrinsicTextValue>;
248
260
  cols?: ReactiveProp<IntrinsicNumberValue>;
249
261
  disabled?: ReactiveProp<IntrinsicBooleanValue>;
262
+ maxLength?: ReactiveProp<IntrinsicNumberValue>;
263
+ maxlength?: ReactiveProp<IntrinsicNumberValue>;
264
+ minLength?: ReactiveProp<IntrinsicNumberValue>;
265
+ minlength?: ReactiveProp<IntrinsicNumberValue>;
250
266
  name?: ReactiveProp<IntrinsicTextValue>;
251
267
  placeholder?: ReactiveProp<IntrinsicTextValue>;
268
+ readOnly?: ReactiveProp<IntrinsicBooleanValue>;
269
+ readonly?: ReactiveProp<IntrinsicBooleanValue>;
252
270
  required?: ReactiveProp<IntrinsicBooleanValue>;
253
271
  rows?: ReactiveProp<IntrinsicNumberValue>;
254
272
  value?: ReactiveProp<IntrinsicTextValue>;
@@ -1,6 +1,6 @@
1
- import { a as IntrinsicFallbackProps, i as JSXElementType, n as JSXComponent, o as KnownIntrinsicElementProps, r as JSXElement, s as Props, t as Fragment } from "./jsx-Dvr2SGRG.js";
2
- import { t as EagerControlPrimitive } from "./control-BjYBlytA.js";
3
- import "./types-C9YcqVpk.js";
1
+ import { a as IntrinsicFallbackProps, i as JSXElementType, n as JSXComponent, o as KnownIntrinsicElementProps, r as JSXElement, s as Props, t as Fragment } from "./jsx-BYXe_Nnk.js";
2
+ import { t as EagerControlPrimitive } from "./control-CsGs2bLS.js";
3
+ import "./types-CsPtBGWb.js";
4
4
  //#region src/jsx/jsx-dev-runtime.d.ts
5
5
  declare namespace JSX {
6
6
  type ElementType = string | symbol | ((props: never) => unknown);
@@ -0,0 +1,2 @@
1
+ import "./types-CsPtBGWb.js";
2
+ import "./jsx-runtime-LHh5tcTe.js";
@@ -1,6 +1,6 @@
1
- import { a as IntrinsicFallbackProps, o as KnownIntrinsicElementProps, r as JSXElement, s as Props } from "./jsx-Dvr2SGRG.js";
2
- import { t as EagerControlPrimitive } from "./control-BjYBlytA.js";
3
- import "./types-C9YcqVpk.js";
1
+ import { a as IntrinsicFallbackProps, o as KnownIntrinsicElementProps, r as JSXElement, s as Props } from "./jsx-BYXe_Nnk.js";
2
+ import { t as EagerControlPrimitive } from "./control-CsGs2bLS.js";
3
+ import "./types-CsPtBGWb.js";
4
4
  //#region src/jsx/jsx-runtime.d.ts
5
5
  declare namespace JSX {
6
6
  type ElementType = string | symbol | ((props: never) => unknown);
@@ -1,3 +1,3 @@
1
- import { i as JSXElementType, n as JSXComponent, r as JSXElement, t as Fragment } from "./jsx-Dvr2SGRG.js";
2
- import { i as jsxs, n as jsx, r as jsxDEV, t as JSX } from "./jsx-runtime-Cr1jspx9.js";
1
+ import { i as JSXElementType, n as JSXComponent, r as JSXElement, t as Fragment } from "./jsx-BYXe_Nnk.js";
2
+ import { i as jsxs, n as jsx, r as jsxDEV, t as JSX } from "./jsx-runtime-LHh5tcTe.js";
3
3
  export { Fragment, JSX, type JSXComponent, type JSXElement, type JSXElementType, jsx, jsxDEV, jsxs };
@@ -8,7 +8,7 @@ import { _ as teardownNodeSubtree } from "./cleanup-c837KVij.js";
8
8
  import { t as CspNonceScope } from "./csp-nonce-CUscoNF1.js";
9
9
  import { I as lockRouteRegistration, o as addRouteBasePath, r as computeRouteActivityMatches, y as getActiveRouteBasePath } from "./route-matching-DqULzZtC.js";
10
10
  import { a as resolveRouteRequest, i as hasRouteRenderData, n as getRouteRenderContext, r as getRouteRenderData, u as withoutRouteHydrationMetadata } from "./resolution-BRmiFYvw.js";
11
- import { a as clearStagedAppRenderRouteLocation, i as syncCurrentRouteSnapshot, o as createAppRenderRuntime, s as stageAppRenderRouteLocation } from "./activity-BnkhdIXm.js";
11
+ import { a as clearStagedAppRenderRouteLocation, i as syncCurrentRouteSnapshot, o as createAppRenderRuntime, s as stageAppRenderRouteLocation } from "./activity-C9naVZwy.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-BvNkcegT.js";
1
+ import "./index-yDjeTqs5.js";
2
2
  //#region src/router/navigation-scroll.d.ts
3
3
  type NavigationScrollBehavior = 'top' | 'preserve';
4
4
  type HistoryScrollBehavior = 'restore' | 'top' | 'preserve';
@@ -7,7 +7,7 @@ import { i as isFragmentType, r as STATIC_CHILDREN } from "./jsx-C3IECePB.js";
7
7
  import { d as getCurrentContextFrame, h as markVNodeTreeWithContextFrame, i as mountInstanceInline, n as createComponentInstance, o as renderComponentInline, p as getVNodeContextFrame, t as captureInlineRenderSnapshot, y as withContext } from "./component-internal-uVCJAre6.js";
8
8
  import { t as cleanupComponent } from "./component-cleanup-BUfUleGZ.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-Dfpid9-A.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-Dxf3iZ9E.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-Be7x2TFd.js";
11
11
  import { n as createOwnedFineGrainedEffect, r as markFineGrainedEffectsDirtySource, t as createFineGrainedEffect } from "./effect-lnxQIpJG.js";
12
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-c837KVij.js";
13
13
  import { n as getPublicAttributeName, t as sanitizeCssValue } from "./css-BuPaTOfe.js";
@@ -3479,8 +3479,9 @@ function createReactiveScalarChildCleanupEntry(el, source, host) {
3479
3479
  }
3480
3480
  function setupReactiveChildBoundary(el, childFn, host) {
3481
3481
  let currentChildFn = childFn;
3482
+ const parentInstance = getCurrentInstance();
3482
3483
  const entry = {
3483
- scope: createChildScope(getCurrentInstance(), `__reactive-child__:${reactiveChildScopeId += 1}`, () => {
3484
+ scope: createChildScope(parentInstance, `__reactive-child__:${reactiveChildScopeId += 1}`, () => {
3484
3485
  syncReactiveChildExpectedNodes(el, commitReactiveChildBoundaryEntryNodes(el, entry, host));
3485
3486
  }),
3486
3487
  nodes: []
@@ -4872,9 +4873,7 @@ function commitForStateBoundaryChildrenImpl(parent, forState, childrenVNodes, ru
4872
4873
  case "SWAP":
4873
4874
  commitSwap();
4874
4875
  break;
4875
- default:
4876
- commitReorder();
4877
- break;
4876
+ default: commitReorder();
4878
4877
  }
4879
4878
  if (!removedBoundaryConsumed) removeForBoundaryNodes(parent, forState.lastRemovedNodes, { teardown: false });
4880
4879
  syncKeyedMapFromForState(parent, forState, forState.lastCommitStrategy, forState.lastRemovedNodes);
@@ -5039,6 +5038,44 @@ function unwrapStagingHost(staging, parent, restoreFocus) {
5039
5038
  function createAttributeFreeStagingHost(parent) {
5040
5039
  return parent.ownerDocument.createElementNS(parent.namespaceURI, parent.localName);
5041
5040
  }
5041
+ function migrateAdoptedRangeOwners(sourceNode, rangeHost, owners) {
5042
+ const sourceHost = sourceNode;
5043
+ const sourceHadInstanceList = Object.prototype.hasOwnProperty.call(sourceHost, "__ASKR_INSTANCES");
5044
+ const sourceHadPrimaryInstance = Object.prototype.hasOwnProperty.call(sourceHost, "__ASKR_INSTANCE");
5045
+ const sourceInstanceList = sourceHost.__ASKR_INSTANCES?.slice();
5046
+ const sourcePrimaryInstance = sourceHost.__ASKR_INSTANCE;
5047
+ const previousBindings = /* @__PURE__ */ new Map();
5048
+ for (const owner of owners) if (owner.target === sourceNode || owner._placeholder === sourceNode) {
5049
+ previousBindings.set(owner, {
5050
+ target: owner.target,
5051
+ placeholder: owner._placeholder
5052
+ });
5053
+ owner.target = null;
5054
+ owner._placeholder = rangeHost;
5055
+ }
5056
+ const sourceInstances = new Set(sourceHost.__ASKR_INSTANCES ?? []);
5057
+ if (sourcePrimaryInstance) sourceInstances.add(sourcePrimaryInstance);
5058
+ const remainingSourceInstances = Array.from(sourceInstances).filter((owner) => !owners.has(owner));
5059
+ if (remainingSourceInstances.length > 0) {
5060
+ sourceHost.__ASKR_INSTANCES = remainingSourceInstances;
5061
+ sourceHost.__ASKR_INSTANCE = remainingSourceInstances[0];
5062
+ } else {
5063
+ delete sourceHost.__ASKR_INSTANCES;
5064
+ delete sourceHost.__ASKR_INSTANCE;
5065
+ }
5066
+ rangeHost.__ASKR_INSTANCES = Array.from(owners);
5067
+ rangeHost.__ASKR_INSTANCE = rangeHost.__ASKR_INSTANCES[0];
5068
+ return () => {
5069
+ if (sourceHadInstanceList) sourceHost.__ASKR_INSTANCES = sourceInstanceList;
5070
+ else delete sourceHost.__ASKR_INSTANCES;
5071
+ if (sourceHadPrimaryInstance) sourceHost.__ASKR_INSTANCE = sourcePrimaryInstance;
5072
+ else delete sourceHost.__ASKR_INSTANCE;
5073
+ for (const [owner, binding] of previousBindings) {
5074
+ owner.target = binding.target;
5075
+ owner._placeholder = binding.placeholder;
5076
+ }
5077
+ };
5078
+ }
5042
5079
  function isAutomaticPortalHost(node) {
5043
5080
  const host = node;
5044
5081
  const instances = new Set(host.__ASKR_INSTANCES ?? []);
@@ -5093,12 +5130,12 @@ function adoptHydratedComponentRange(existingHost, instance, result, endExclusiv
5093
5130
  const host = start;
5094
5131
  const owners = new Set(retainedInstances);
5095
5132
  owners.add(instance);
5096
- host.__ASKR_INSTANCE = instance;
5097
- host.__ASKR_INSTANCES = Array.from(owners);
5133
+ const restoreMigratedOwners = migrateAdoptedRangeOwners(existingHost, host, owners);
5098
5134
  instance.target = null;
5099
5135
  instance._placeholder = start;
5100
5136
  mountInstanceInline(instance, null);
5101
5137
  const registered = registerLifecycleTransaction({}, () => {}, () => {
5138
+ restoreMigratedOwners();
5102
5139
  start.parentNode?.removeChild(start);
5103
5140
  end.parentNode?.removeChild(end);
5104
5141
  });
@@ -5106,6 +5143,7 @@ function adoptHydratedComponentRange(existingHost, instance, result, endExclusiv
5106
5143
  if (!syncComponentFragmentRange(host, instance, result, forceChildrenUpdate)) throw new Error("[askr] Failed to adopt hydrated component range.");
5107
5144
  } catch (error) {
5108
5145
  if (!registered) {
5146
+ restoreMigratedOwners();
5109
5147
  start.remove();
5110
5148
  end.remove();
5111
5149
  }
@@ -1,5 +1,5 @@
1
- import { ut as getSignal } from "../index-BvNkcegT.js";
2
- import { i as onRouteChange, n as RouteChangeOptions, t as RouteChangeCleanup } from "../activity-DNYL__cW.js";
1
+ import { ut as getSignal } from "../index-yDjeTqs5.js";
2
+ import { i as onRouteChange, n as RouteChangeOptions, t as RouteChangeCleanup } from "../activity-VMb7aJVx.js";
3
3
  //#region src/runtime/resource-operation.d.ts
4
4
  interface ResourceResult<T> {
5
5
  value: T | null;
@@ -3,7 +3,7 @@ import { f as getCurrentComponentInstance, g as getSignal, i as claimHookIndex }
3
3
  import { a as registerCommitOperation } from "../component-internal-uVCJAre6.js";
4
4
  import { t as resource } from "../resource-operation-B94oj6xT.js";
5
5
  import { a as task, i as routeActive, n as documentVisible, o as timer, r as on, s as windowFocused, t as capture } from "../lifecycle-operations-DTO93Hrl.js";
6
- import { n as onRouteChange } from "../activity-BnkhdIXm.js";
6
+ import { n as onRouteChange } from "../activity-C9naVZwy.js";
7
7
  //#region src/runtime/stream-operation.ts
8
8
  function toError(value) {
9
9
  return value instanceof Error ? value : new Error(String(value));
@@ -1,9 +1,9 @@
1
- import { u as RenderableChild } from "../control-DhUZU4_V.js";
2
- import { r as JSXElement, s as Props } from "../jsx-Dvr2SGRG.js";
3
- import { A as RouteHandler, B as RouteQuery, C as Route, D as RouteContext, E as RouteComponent, F as RouteMode, G as RouteRegistryOptions, H as RouteRef, I as RouteOptions, J as RouteRequestResult, K as RouteRenderResult, L as RouteParams, M as RouteMatch, N as RouteMeta, O as RouteDefinition, P as RouteMetaSource, R as RoutePathParams, S as ParsedSegment, T as RouteAuthResolver, U as RouteRefSearch, V as RouteRecord, W as RouteRegistry, X as RouteSearchValue, Y as RouteSearch, Z as RouteSnapshot, _ as AccessRedirectStatus, b as PageHelperOptions, f as AccessAllowDecision, g as AccessRedirectDecision, h as AccessDenyStatus, j as RouteManifest, k as RouteDestination, m as AccessDenyDecision, p as AccessDecision, q as RouteRequestOptions, v as GroupHelperOptions, w as RouteAuthOptions, x as PageScopeRecord, y as LayoutScopeRecord, z as RoutePolicy } from "../index-BvNkcegT.js";
4
- import "../types-C9YcqVpk.js";
5
- import { a as ScrollRestorationOptions, i as NavigationScrollBehavior, n as NavigateOptions, r as HistoryScrollBehavior, t as navigate } from "../navigate-B_fcLDAG.js";
6
- import { i as onRouteChange, n as RouteChangeOptions, r as currentRoute, t as RouteChangeCleanup } from "../activity-DNYL__cW.js";
1
+ import { u as RenderableChild } from "../control-x8iehxf7.js";
2
+ import { r as JSXElement, s as Props } from "../jsx-BYXe_Nnk.js";
3
+ import { A as RouteHandler, B as RouteQuery, C as Route, D as RouteContext, E as RouteComponent, F as RouteMode, G as RouteRegistryOptions, H as RouteRef, I as RouteOptions, J as RouteRequestResult, K as RouteRenderResult, L as RouteParams, M as RouteMatch, N as RouteMeta, O as RouteDefinition, P as RouteMetaSource, R as RoutePathParams, S as ParsedSegment, T as RouteAuthResolver, U as RouteRefSearch, V as RouteRecord, W as RouteRegistry, X as RouteSearchValue, Y as RouteSearch, Z as RouteSnapshot, _ as AccessRedirectStatus, b as PageHelperOptions, f as AccessAllowDecision, g as AccessRedirectDecision, h as AccessDenyStatus, j as RouteManifest, k as RouteDestination, m as AccessDenyDecision, p as AccessDecision, q as RouteRequestOptions, v as GroupHelperOptions, w as RouteAuthOptions, x as PageScopeRecord, y as LayoutScopeRecord, z as RoutePolicy } from "../index-yDjeTqs5.js";
4
+ import "../types-CsPtBGWb.js";
5
+ import { a as ScrollRestorationOptions, i as NavigationScrollBehavior, n as NavigateOptions, r as HistoryScrollBehavior, t as navigate } from "../navigate-kJ_EW8Y8.js";
6
+ import { i as onRouteChange, n as RouteChangeOptions, r as currentRoute, t as RouteChangeCleanup } from "../activity-VMb7aJVx.js";
7
7
  import { AuthContext, AuthContext as AuthContext$1, AuthRequirement, AuthRequirement as AuthRequirement$1 } from "@askrjs/auth";
8
8
  import { ObjectSchema } from "@askrjs/schema";
9
9
  //#region src/router/route-query.d.ts
@@ -2,12 +2,12 @@ import { n as createRouteRegistry } from "../manifest-D1P9uTlz.js";
2
2
  import { a as isSafeHref } from "../csp-nonce-CUscoNF1.js";
3
3
  import { jsx } from "../jsx-runtime.js";
4
4
  import { o as addRouteBasePath, y as getActiveRouteBasePath } from "../route-matching-DqULzZtC.js";
5
- import { a as group, c as route, i as fallback, n as resolveDeferredValues, o as index, r as routeData, s as page, t as Resolve } from "../deferred-_DaSfpsr.js";
5
+ import { a as group, c as route, i as fallback, n as resolveDeferredValues, o as index, r as routeData, s as page, t as Resolve } from "../deferred-BCgoep1C.js";
6
6
  import { a as resolveRouteRequest, b as lazy, f as defer, g as Outlet, h as currentAuth, p as isDeferred } from "../resolution-BRmiFYvw.js";
7
- import { n as onRouteChange, t as currentRoute } from "../activity-BnkhdIXm.js";
8
- import { a as serializeRouteMeta, c as getCurrentHref, d as parseTargetUrl, h as syncRegisteredRouteSnapshot, i as resolveRouteMeta, l as getRegisteredAppsSnapshot, m as syncAppRegistrationLocation, n as navigate, p as setCurrentRouteLocation, r as reconcileRouteMeta, s as saveScrollPosition, u as getWindowHref } from "../navigate-DSATWfHh.js";
7
+ import { n as onRouteChange, t as currentRoute } from "../activity-C9naVZwy.js";
8
+ import { a as serializeRouteMeta, c as getCurrentHref, d as parseTargetUrl, h as syncRegisteredRouteSnapshot, i as resolveRouteMeta, l as getRegisteredAppsSnapshot, m as syncAppRegistrationLocation, n as navigate, p as setCurrentRouteLocation, r as reconcileRouteMeta, s as saveScrollPosition, u as getWindowHref } from "../navigate-Bz6hh2JB.js";
9
9
  import { o as mergeProps } from "../compose-ref-Cc_YkUpM.js";
10
- import { t as applyInteractionPolicy } from "../interactions-DgGQyUQv.js";
10
+ import { t as applyInteractionPolicy } from "../interactions-CWkNEq_C.js";
11
11
  //#region src/router/route-query.ts
12
12
  function getRouteQueryHistoryMode(options) {
13
13
  if (options.history) return options.history;
@@ -192,17 +192,18 @@ function Link({ href: suppliedHref, to, class: className, children, rel, target,
192
192
  onPress?.(e);
193
193
  onClick?.(e);
194
194
  };
195
+ const props = mergeProps(interaction, {
196
+ ...rest,
197
+ onClick: consumerActivation,
198
+ href,
199
+ class: className,
200
+ rel,
201
+ target,
202
+ "aria-current": ariaCurrent,
203
+ "aria-label": ariaLabel
204
+ });
195
205
  return /* @__PURE__ */ jsx("a", {
196
- ...mergeProps(interaction, {
197
- ...rest,
198
- onClick: consumerActivation,
199
- href,
200
- class: className,
201
- rel,
202
- target,
203
- "aria-current": ariaCurrent,
204
- "aria-label": ariaLabel
205
- }),
206
+ ...props,
206
207
  children
207
208
  });
208
209
  }
@@ -226,7 +226,8 @@ function createSelectorHook(instance, generation, store, hookIndex, source, equa
226
226
  const record = selectorHook._record ?? ensureSelectorHookBinding(selectorHook);
227
227
  const lane = selectorHook._lane;
228
228
  if (!lane) throw new Error("selector() binding could not be established.");
229
- recordReadableRead(getCandidateSource(lane, candidate));
229
+ const sourceRef = getCandidateSource(lane, candidate);
230
+ recordReadableRead(sourceRef);
230
231
  const current = record._dirty || !record._hasValue ? recomputeSelectorSourceRecord(record, record._scheduled) : record._value;
231
232
  return lane._equals(current, candidate);
232
233
  };
@@ -1,5 +1,5 @@
1
- import { _ as SSRStyleRegistrationValidation, f as DocumentRenderArgs, m as DocumentRenderer, p as DocumentRenderContext } from "../control-DhUZU4_V.js";
2
- import { A as RouteHandler, I as RouteOptions, R as RoutePathParams, W as RouteRegistry, z as RoutePolicy } from "../index-BvNkcegT.js";
1
+ import { _ as SSRStyleRegistrationValidation, f as DocumentRenderArgs, m as DocumentRenderer, p as DocumentRenderContext } from "../control-x8iehxf7.js";
2
+ import { A as RouteHandler, I as RouteOptions, R as RoutePathParams, W as RouteRegistry, z as RoutePolicy } from "../index-yDjeTqs5.js";
3
3
  import { AuthRequirement } from "@askrjs/auth";
4
4
  import "node:fs/promises";
5
5
  //#region src/ssg/types.d.ts
package/dist/ssg/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import "../access-Dpfoi4cA.js";
2
2
  import { n as createRouteRegistry } from "../manifest-D1P9uTlz.js";
3
3
  import { o as addRouteBasePath } from "../route-matching-DqULzZtC.js";
4
- import { c as route, n as resolveDeferredValues } from "../deferred-_DaSfpsr.js";
4
+ import { c as route, n as resolveDeferredValues } from "../deferred-BCgoep1C.js";
5
5
  import { c as prepareRouteHydrationData, t as bindResolvedRouteData, v as getRenderHandler, y as _preloadRouteHandler } from "../resolution-BRmiFYvw.js";
6
6
  import { n as renderDocument } from "../ssr-DSHd_Q9K.js";
7
- import { n as renderToString } from "../ssr-q250YlKo.js";
7
+ import { n as renderToString } from "../ssr-D3hUAWyQ.js";
8
8
  import * as fs from "node:fs/promises";
9
9
  import * as pathModule from "node:path";
10
10
  import * as os from "node:os";
@@ -1,6 +1,6 @@
1
- import { _ as SSRStyleRegistrationValidation, f as DocumentRenderArgs, g as SSRStyleRegistration, h as SSRData, m as DocumentRenderer, p as DocumentRenderContext } from "../control-DhUZU4_V.js";
2
- import { r as JSXElement, s as Props } from "../jsx-Dvr2SGRG.js";
3
- import { A as RouteHandler, C as Route, J as RouteRequestResult, V as RouteRecord, W as RouteRegistry, g as AccessRedirectDecision, l as DeferredBoundaryRegistration, m as AccessDenyDecision, u as SSRPortalState, w as RouteAuthOptions } from "../index-BvNkcegT.js";
1
+ import { _ as SSRStyleRegistrationValidation, f as DocumentRenderArgs, g as SSRStyleRegistration, h as SSRData, m as DocumentRenderer, p as DocumentRenderContext } from "../control-x8iehxf7.js";
2
+ import { r as JSXElement, s as Props } from "../jsx-BYXe_Nnk.js";
3
+ import { A as RouteHandler, C as Route, J as RouteRequestResult, V as RouteRecord, W as RouteRegistry, g as AccessRedirectDecision, l as DeferredBoundaryRegistration, m as AccessDenyDecision, u as SSRPortalState, w as RouteAuthOptions } from "../index-yDjeTqs5.js";
4
4
  import { D as QueryPrefetchContext, _ as CoreTelemetry, n as ServerQueryRegistry, v as DataRuntime } from "../index-SGxMZLAc.js";
5
5
  import { AuthContext } from "@askrjs/auth";
6
6
  //#region src/common/page-render-envelope.d.ts
package/dist/ssr/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import { x as SSRDataMissingError } from "../render-context-D0Hoj9dW.js";
2
- import { a as renderResolvedToStringSync, c as createRenderContext, d as withRenderContextAsync, i as renderRouteRequestToString, l as getRenderContext, n as renderToString, o as renderToStringSync, r as renderRouteRequest, s as resolveRequest, t as renderToStream, u as withRenderContext } from "../ssr-q250YlKo.js";
2
+ import { a as renderResolvedToStringSync, c as createRenderContext, d as withRenderContextAsync, i as renderRouteRequestToString, l as getRenderContext, n as renderToString, o as renderToStringSync, r as renderRouteRequest, s as resolveRequest, t as renderToStream, u as withRenderContext } from "../ssr-D3hUAWyQ.js";
3
3
  export { SSRDataMissingError, createRenderContext, getRenderContext, renderResolvedToStringSync, renderRouteRequest, renderRouteRequestToString, renderToStream, renderToString, renderToStringSync, resolveRequest, withRenderContext, withRenderContextAsync };
@@ -6,7 +6,7 @@ import { i as isFragmentType, n as Fragment, t as ELEMENT_TYPE } from "./jsx-C3I
6
6
  import { f as getExecutionContextFrame, h as markVNodeTreeWithContextFrame, l as callWithContext, n as createComponentInstance, p as getVNodeContextFrame } from "./component-internal-uVCJAre6.js";
7
7
  import { t as cleanupComponent } from "./component-cleanup-BUfUleGZ.js";
8
8
  import { p as isPromiseLike } from "./lifecycle-batch-Dfpid9-A.js";
9
- import { _ as setControlBoundaryContextFrame, g as evaluateShowState, h as evaluateCaseState, i as evaluateForState, o as rollbackForStateTransaction, r as commitForStateTransaction } from "./for-internal-Dxf3iZ9E.js";
9
+ import { _ as setControlBoundaryContextFrame, g as evaluateShowState, h as evaluateCaseState, i as evaluateForState, o as rollbackForStateTransaction, r as commitForStateTransaction } from "./for-internal-Be7x2TFd.js";
10
10
  import { _ as isPageRenderEnvelope, f as stopRenderPhase$1, g as isEmptyPageRenderEnvelope, h as createPageRenderEnvelope, t as configureRenderContextProvider, u as startRenderPhase$1, x as SSRDataMissingError } from "./render-context-D0Hoj9dW.js";
11
11
  import { n as getPublicAttributeName, t as sanitizeCssValue } from "./css-BuPaTOfe.js";
12
12
  import { o as isUnsafeUrlAttribute, r as validateCspNonce, t as CspNonceScope } from "./csp-nonce-CUscoNF1.js";
@@ -309,7 +309,8 @@ function resolvePolicyAwareSSRRoute(opts, routeTable) {
309
309
  for (let redirects = 0; redirects <= MAX_SSR_REDIRECTS; redirects += 1) {
310
310
  const logicalHref = removeRouteBasePath(href, normalizeRouteBasePath(manifest.basePath));
311
311
  if (logicalHref === void 0) throw new Error(`SSR: no route found for url: ${href}`);
312
- const matched = _resolveRouteMatchFromRoutes(new URL(logicalHref, "http://localhost").pathname, routeTable);
312
+ const logicalUrl = new URL(logicalHref, "http://localhost");
313
+ const matched = _resolveRouteMatchFromRoutes(logicalUrl.pathname, routeTable);
313
314
  if (!matched) throw new Error(`SSR: no route found for url: ${href}`);
314
315
  const resolved = getRouteRequestResultSync(resolveRouteRequest(href, {
315
316
  registry: opts.registry,
@@ -350,7 +351,7 @@ var StringSink = class StringSink {
350
351
  this.bufferLen = 0;
351
352
  }
352
353
  static {
353
- this.FLUSH_THRESHOLD = 32 * 1024;
354
+ this.FLUSH_THRESHOLD = 32768;
354
355
  }
355
356
  write(html) {
356
357
  if (!html) return;
@@ -564,7 +565,8 @@ function executeComponentSync(component, props, ctx, ownerFrame = null) {
564
565
  });
565
566
  setCurrentComponentInstance(temp);
566
567
  try {
567
- const result = callWithContext(getExecutionContextFrame(ownerFrame), component, props || {}, { ssr: ctx });
568
+ const executionFrame = getExecutionContextFrame(ownerFrame);
569
+ const result = callWithContext(executionFrame, component, props || {}, { ssr: ctx });
568
570
  if (isPromiseLike(result)) throwSSRDataMissing();
569
571
  if (typeof result === "string" || typeof result === "number" || typeof result === "boolean" || result === null || result === void 0) {
570
572
  const inner = result === null || result === void 0 || result === false ? "" : String(result);
@@ -145,10 +145,11 @@ function writeSSRPortal(key, children) {
145
145
  function createSSRPortalAnchor() {
146
146
  const context = getActiveRenderContext();
147
147
  if (context?.mode !== "ssr") return null;
148
+ const token = createSSRPortalAnchorToken(context.ssrPortals.nextHostId++);
148
149
  return {
149
150
  $$typeof: ELEMENT_TYPE,
150
151
  type: SSR_PORTAL_ANCHOR,
151
- props: { token: createSSRPortalAnchorToken(context.ssrPortals.nextHostId++) }
152
+ props: { token }
152
153
  };
153
154
  }
154
155
  function createPortalSlot() {
@@ -1,5 +1,5 @@
1
- import { l as ComponentFunction } from "../control-DhUZU4_V.js";
2
- import { M as RouteMatch, W as RouteRegistry, w as RouteAuthOptions } from "../index-BvNkcegT.js";
1
+ import { l as ComponentFunction } from "../control-x8iehxf7.js";
2
+ import { M as RouteMatch, W as RouteRegistry, w as RouteAuthOptions } from "../index-yDjeTqs5.js";
3
3
  import { C as Query, k as QueryStaleReason, v as DataRuntime } from "../index-SGxMZLAc.js";
4
4
  //#region src/testing/render.d.ts
5
5
  interface RenderOptions {
@@ -1,7 +1,7 @@
1
1
  import { r as flushRuntimeScheduler } from "../access-Dpfoi4cA.js";
2
2
  import { l as addInvalidationListener, t as createDataRuntime } from "../data-runtime-CnVeSvJz.js";
3
3
  import { r as computeRouteActivityMatches } from "../route-matching-DqULzZtC.js";
4
- import { a as cleanupApp, r as createSPA, t as createIsland } from "../boot-Bd-j_BL5.js";
4
+ import { a as cleanupApp, r as createSPA, t as createIsland } from "../boot-BVHzYQz8.js";
5
5
  //#region src/testing/render.ts
6
6
  const renderStates = /* @__PURE__ */ new WeakMap();
7
7
  const eventConstructorNames = {
@@ -1,4 +1,4 @@
1
- import { o as KnownIntrinsicElementProps, r as JSXElement, s as Props } from "./jsx-Dvr2SGRG.js";
1
+ import { o as KnownIntrinsicElementProps, r as JSXElement, s as Props } from "./jsx-BYXe_Nnk.js";
2
2
  //#region src/jsx/types.d.ts
3
3
  declare global {
4
4
  namespace JSX {
@@ -1,6 +1,6 @@
1
1
  import { m as withHydrationVerificationRender } from "./render-context-D0Hoj9dW.js";
2
2
  import { t as SSR_RENDER_DATA_ATTR } from "./ssr-DSHd_Q9K.js";
3
- import { a as renderResolvedToStringSync } from "./ssr-q250YlKo.js";
3
+ import { a as renderResolvedToStringSync } from "./ssr-D3hUAWyQ.js";
4
4
  //#region src/ssr/verify-hydration.ts
5
5
  function normalizeHydrationHtml(html) {
6
6
  const template = document.createElement("template");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askrjs/askr",
3
- "version": "0.0.87",
3
+ "version": "0.0.88",
4
4
  "description": "Actor-backed deterministic UI framework",
5
5
  "keywords": [
6
6
  "askr",
@@ -148,20 +148,21 @@
148
148
  "prepublishOnly": "npm run check"
149
149
  },
150
150
  "dependencies": {
151
- "@askrjs/auth": ">=0.0.1 <0.1.0",
152
- "@askrjs/schema": ">=0.0.1 <0.1.0"
151
+ "@askrjs/auth": ">=0.0.8 <0.1.0",
152
+ "@askrjs/schema": ">=0.0.5 <0.1.0"
153
153
  },
154
154
  "devDependencies": {
155
- "@types/node": "^26.1.1",
155
+ "@types/node": "^26.1.2",
156
+ "@typescript/native": "npm:typescript@^7.0.2",
156
157
  "@vitest/browser-playwright": "4.1.10",
157
158
  "cross-env": "^10.1.0",
158
- "jsdom": "^30.0.0",
159
- "playwright": "^1.61.1",
160
- "publint": "^0.3.21",
159
+ "jsdom": "^30.0.1",
160
+ "playwright": "^1.62.1",
161
+ "publint": "^0.3.23",
161
162
  "tsd": "^0.33.0",
162
- "typescript": "6.0.3",
163
- "vite": "^8.1.4",
164
- "vite-plus": "^0.2.4"
163
+ "typescript": "npm:@typescript/typescript6@^6.0.2",
164
+ "vite": "^8.2.1",
165
+ "vite-plus": "^0.2.8"
165
166
  },
166
167
  "tsd": {
167
168
  "compilerOptions": {
@@ -1,2 +0,0 @@
1
- import "./types-C9YcqVpk.js";
2
- import "./jsx-runtime-Cr1jspx9.js";