@askrjs/askr 0.2.3 → 0.2.4

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 (70) hide show
  1. package/dist/{access-Rr7CMa06.js → access-BucjYZcX.js} +4 -2
  2. package/dist/actions/index.d.ts +1 -1
  3. package/dist/actions/index.js +2 -2
  4. package/dist/{activity-CAJ5eho-.d.ts → activity-DooIuxQO.d.ts} +2 -2
  5. package/dist/{activity-ZxJXI9hF.js → activity-FirwPXA_.js} +14 -2
  6. package/dist/benchmark.d.ts +1 -1
  7. package/dist/benchmark.js +8 -8
  8. package/dist/boot/index.d.ts +4 -2
  9. package/dist/boot/index.js +1 -1
  10. package/dist/{boot-D4GaLA0d.js → boot-tWyF6121.js} +13 -12
  11. package/dist/{cleanup-DsrbV-rr.js → cleanup-TXSsApEl.js} +4 -4
  12. package/dist/{component-cleanup-DjpwO9WX.js → component-cleanup-jdbgjkT1.js} +2 -2
  13. package/dist/{component-internal-Dl02WQKS.js → component-internal-C4hKKQBF.js} +5 -5
  14. package/dist/components/index.d.ts +2 -2
  15. package/dist/control/index.d.ts +1 -1
  16. package/dist/control/index.js +1 -1
  17. package/dist/{control-57x3wa4J.js → control-C-wSaq9V.js} +4 -4
  18. package/dist/{control-DdFw-Caz.d.ts → control-Cxag1yqV.d.ts} +1 -1
  19. package/dist/{csp-nonce-C9OuML0U.js → csp-nonce-9NFUb7hJ.js} +1 -1
  20. package/dist/data/index.d.ts +1 -1
  21. package/dist/data/index.js +1 -1
  22. package/dist/{data-B7XCDeC8.js → data-ghKopAbp.js} +32 -23
  23. package/dist/{deferred-BELyvMsC.js → deferred-CxjWCkIn.js} +2 -2
  24. package/dist/{effect-4LwBwV58.js → effect-CNwstBBD.js} +2 -2
  25. package/dist/{fastlane-Buz1Rvlr.js → fastlane-BKZduiBQ.js} +2 -2
  26. package/dist/{for-internal-DeoSg_AV.js → for-internal-DyBHfKJA.js} +33 -25
  27. package/dist/foundations/icon/index.d.ts +1 -1
  28. package/dist/foundations/index.d.ts +2 -2
  29. package/dist/foundations/index.js +1 -1
  30. package/dist/foundations/state/index.d.ts +1 -1
  31. package/dist/foundations/state/index.js +1 -1
  32. package/dist/foundations/structures/index.d.ts +2 -2
  33. package/dist/foundations/structures/index.js +1 -1
  34. package/dist/fx/index.d.ts +1 -1
  35. package/dist/fx/index.js +1 -1
  36. package/dist/{index-r5THqzPN.d.ts → index-CTpMmzgN.d.ts} +2 -2
  37. package/dist/{index-DSqXWc77.d.ts → index-Dgjbo2gU.d.ts} +58 -4
  38. package/dist/index.d.ts +3 -3
  39. package/dist/index.js +9 -9
  40. package/dist/jsx-dev-runtime.d.ts +2 -2
  41. package/dist/jsx-runtime-Cg7GqY1S.d.ts +2 -0
  42. package/dist/{jsx-runtime-Cdd6Gkb0.d.ts → jsx-runtime-gVIaTPw0.d.ts} +2 -2
  43. package/dist/jsx-runtime.d.ts +2 -2
  44. package/dist/{lifecycle-batch-Be-CLDjV.js → lifecycle-batch-63aXFf2S.js} +2 -2
  45. package/dist/{lifecycle-operations-C5m03NQc.js → lifecycle-operations-Q0k3EFnG.js} +94 -2
  46. package/dist/{navigate-wel1e6cU.d.ts → navigate-F4sHgWbw.d.ts} +3 -1
  47. package/dist/{navigate-C46GtScG.js → navigate-ZZu1IV0B.js} +88 -13
  48. package/dist/{readable-CEcteIDE.js → readable-Di1fzSwm.js} +1 -1
  49. package/dist/{renderer-BhXofszH.js → renderer-Cl23O0hV.js} +148 -130
  50. package/dist/{resolution-t8J0yNaU.js → resolution-ClD-K7Lz.js} +3 -3
  51. package/dist/{resource-operation-B8q-QRUx.js → resource-operation-Vz1S5h2k.js} +4 -4
  52. package/dist/resources/index.d.ts +3 -37
  53. package/dist/resources/index.js +6 -6
  54. package/dist/router/index.d.ts +4 -4
  55. package/dist/router/index.js +5 -5
  56. package/dist/{selector-C7rIpOnN.js → selector-CsKuomw0.js} +17 -16
  57. package/dist/{shared-CGrx2AOL.js → shared-CYBH3F8I.js} +1 -1
  58. package/dist/ssg/index.d.ts +1 -1
  59. package/dist/ssg/index.js +4 -4
  60. package/dist/ssr/index.d.ts +2 -2
  61. package/dist/ssr/index.js +1 -1
  62. package/dist/{ssr-BaC5qHEw.js → ssr-Doog-AfJ.js} +7 -7
  63. package/dist/{state-BzhOW2TX.js → state-BGJgYSyQ.js} +3 -3
  64. package/dist/{structures-BwfeO4Iz.js → structures-DFyK5AdQ.js} +4 -4
  65. package/dist/testing/index.d.ts +3 -1
  66. package/dist/testing/index.js +6 -5
  67. package/dist/{types-DkVJhVs9.d.ts → types-DWVrKn9N.d.ts} +5 -0
  68. package/dist/{verify-hydration-_Q6avFp0.js → verify-hydration-BZPJ_kYa.js} +1 -1
  69. package/package.json +6 -6
  70. package/dist/jsx-runtime-BTzDdBJ_.d.ts +0 -2
@@ -1,18 +1,18 @@
1
1
  import { n as hasTransparentComponentResult, t as __CONTROL_BOUNDARY__ } from "./control-C-ApnFs1.js";
2
2
  import { n as _isDOMElement, t as __ERROR_BOUNDARY__ } from "./vnode-D24p6IW2.js";
3
- import { b as getRuntimeEnv, i as getDefaultRuntimeInstance, l as runRuntimeHandlerScope, n as enqueueRuntimeTask, p as configureRuntimeRenderer, x as isDevelopmentEnvironment, y as logger } from "./access-Rr7CMa06.js";
4
- import { n as isBulkCommitActive, r as markFastPathApplied } from "./fastlane-Buz1Rvlr.js";
3
+ import { b as getRuntimeEnv, i as getDefaultRuntimeInstance, l as runRuntimeHandlerScope, n as enqueueRuntimeTask, p as configureRuntimeRenderer, x as isDevelopmentEnvironment, y as logger } from "./access-BucjYZcX.js";
4
+ import { n as isBulkCommitActive, r as markFastPathApplied } from "./fastlane-BKZduiBQ.js";
5
5
  import { T as withAppRenderRuntime, b as restoreDomCommitScope, c as enterDomCommitScope, d as getCurrentAppRenderRuntime, p as getCurrentInstance } from "./component-scope-4I3yEMkb.js";
6
6
  import { i as isFragmentType, r as STATIC_CHILDREN } from "./jsx-DRS-qjiN.js";
7
- import { S as withContext, c as createBoundaryReset, g as getVNodeContextFrame, i as mountInstanceInline, l as reportBoundaryError, m as getCurrentContextFrame, n as createComponentInstance, o as renderComponentInline, t as captureInlineRenderSnapshot, v as markVNodeTreeWithContextFrame } from "./component-internal-Dl02WQKS.js";
8
- import { t as cleanupComponent } from "./component-cleanup-DjpwO9WX.js";
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-Be-CLDjV.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-DeoSg_AV.js";
11
- import { n as createOwnedFineGrainedEffect, r as markFineGrainedEffectsDirtySource, t as createFineGrainedEffect } from "./effect-4LwBwV58.js";
12
- import { C as getDelegatedHandlersForElement, D as updateDelegatedListener, E as removeDelegatedListener, S as getDelegatedHandlerForElement, T as isEventDelegationEnabled, _ as teardownNodeSubtree, a as elementReactivePropsCleanup, b as addFreshDelegatedListener, c as forEachElementReactivePropCleanup, d as removeAllListeners, f as removeElementReactiveProps, g as setFreshElementReactivePropCleanup, h as setDirectElementReactivePropCleanup, i as elementListeners, l as getElementReactivePropCleanupSize, m as replaceElementRefBookkeeping, n as cleanupInstanceIfPresent, o as elementRefs, p as removeElementRef, r as cleanupInstancesUnder, s as forEachDescendantNode, t as REACTIVE_CHILDREN_KEY, u as getElementReactivePropsCleanupMap, v as updateElementRef, w as isDelegatedEvent, x as clearDelegatedHandlersForElement, y as addDelegatedListener } from "./cleanup-DsrbV-rr.js";
7
+ import { C as withContext, _ as getVNodeContextFrame, c as createBoundaryReset, h as getCurrentContextFrame, i as mountInstanceInline, l as reportBoundaryError, n as createComponentInstance, o as renderComponentInline, t as captureInlineRenderSnapshot, y as markVNodeTreeWithContextFrame } from "./component-internal-C4hKKQBF.js";
8
+ import { t as cleanupComponent } from "./component-cleanup-jdbgjkT1.js";
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-63aXFf2S.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-DyBHfKJA.js";
11
+ import { n as createOwnedFineGrainedEffect, r as markFineGrainedEffectsDirtySource, t as createFineGrainedEffect } from "./effect-CNwstBBD.js";
12
+ import { C as getDelegatedHandlersForElement, D as updateDelegatedListener, E as removeDelegatedListener, S as getDelegatedHandlerForElement, T as isEventDelegationEnabled, _ as teardownNodeSubtree, a as elementReactivePropsCleanup, b as addFreshDelegatedListener, c as forEachElementReactivePropCleanup, d as removeAllListeners, f as removeElementReactiveProps, g as setFreshElementReactivePropCleanup, h as setDirectElementReactivePropCleanup, i as elementListeners, l as getElementReactivePropCleanupSize, m as replaceElementRefBookkeeping, n as cleanupInstanceIfPresent, o as elementRefs, p as removeElementRef, r as cleanupInstancesUnder, s as forEachDescendantNode, t as REACTIVE_CHILDREN_KEY, u as getElementReactivePropsCleanupMap, v as updateElementRef, w as isDelegatedEvent, x as clearDelegatedHandlersForElement, y as addDelegatedListener } from "./cleanup-TXSsApEl.js";
13
13
  import { n as setRef } from "./compose-ref-Bfaf4kUC.js";
14
14
  import { n as getPublicAttributeName, t as sanitizeCssValue } from "./css-BuPaTOfe.js";
15
- import { i as ROUTE_ROOT_COMPONENT, o as isUnsafeUrlAttribute } from "./csp-nonce-C9OuML0U.js";
15
+ import { i as ROUTE_ROOT_COMPONENT, o as isUnsafeUrlAttribute } from "./csp-nonce-9NFUb7hJ.js";
16
16
  import { a as isSSRPortalHydrationAnchor } from "./portal-w3oQ6oQU.js";
17
17
  //#region src/renderer/utils.ts
18
18
  /**
@@ -98,9 +98,11 @@ function createWrappedHandler(handler, flushAfter = false) {
98
98
  }
99
99
  };
100
100
  try {
101
- if (!handlerCache.has(handler)) if (cacheSize >= MAX_CACHE_SIZE) {} else {
102
- cacheSize++;
103
- handlerCache.set(handler, /* @__PURE__ */ new Map());
101
+ if (!handlerCache.has(handler)) {
102
+ if (cacheSize >= MAX_CACHE_SIZE) {} else {
103
+ cacheSize++;
104
+ handlerCache.set(handler, /* @__PURE__ */ new Map());
105
+ }
104
106
  }
105
107
  const cachedByRuntime = handlerCache.get(handler)?.get(flushAfter) ?? { scoped: /* @__PURE__ */ new WeakMap() };
106
108
  if (appRuntime) cachedByRuntime.scoped.set(appRuntime, wrapped);
@@ -1784,42 +1786,46 @@ function syncElementPropBindings(el, domVNode, props, usesReactiveChildren) {
1784
1786
  } else applyScalarPropValue(el, key, value, domVNode.type);
1785
1787
  }
1786
1788
  removeStaleAttributes(el, domVNode, props);
1787
- if (existingListeners && existingListeners.size > 0) if (desiredListenerKeys === null) {
1788
- existingListeners.forEach((entry) => {
1789
- if (entry.isDelegated) removeDelegatedListener(el, entry.eventName);
1790
- else if (entry.options !== void 0) el.removeEventListener(entry.eventName, entry.handler, entry.options);
1791
- else el.removeEventListener(entry.eventName, entry.handler);
1792
- });
1793
- elementListeners.delete(el);
1794
- } else {
1795
- existingListeners.forEach((entry, listenerKey) => {
1796
- if (!desiredListenerKeys.has(listenerKey)) {
1789
+ if (existingListeners && existingListeners.size > 0) {
1790
+ if (desiredListenerKeys === null) {
1791
+ existingListeners.forEach((entry) => {
1797
1792
  if (entry.isDelegated) removeDelegatedListener(el, entry.eventName);
1798
1793
  else if (entry.options !== void 0) el.removeEventListener(entry.eventName, entry.handler, entry.options);
1799
1794
  else el.removeEventListener(entry.eventName, entry.handler);
1800
- existingListeners.delete(listenerKey);
1801
- }
1802
- });
1803
- if (existingListeners.size === 0) elementListeners.delete(el);
1795
+ });
1796
+ elementListeners.delete(el);
1797
+ } else {
1798
+ existingListeners.forEach((entry, listenerKey) => {
1799
+ if (!desiredListenerKeys.has(listenerKey)) {
1800
+ if (entry.isDelegated) removeDelegatedListener(el, entry.eventName);
1801
+ else if (entry.options !== void 0) el.removeEventListener(entry.eventName, entry.handler, entry.options);
1802
+ else el.removeEventListener(entry.eventName, entry.handler);
1803
+ existingListeners.delete(listenerKey);
1804
+ }
1805
+ });
1806
+ if (existingListeners.size === 0) elementListeners.delete(el);
1807
+ }
1804
1808
  }
1805
1809
  const delegatedHandlers = getDelegatedHandlersForElement(el);
1806
1810
  if (delegatedHandlers && delegatedHandlers.size > 0) {
1807
1811
  if (desiredDelegatedEventNames === null) for (const eventName of delegatedHandlers.keys()) removeDelegatedListener(el, eventName);
1808
1812
  else for (const eventName of delegatedHandlers.keys()) if (!desiredDelegatedEventNames.has(eventName)) removeDelegatedListener(el, eventName);
1809
1813
  }
1810
- if (existingReactiveProps && existingReactiveProps.size > 0) if (desiredReactivePropNames === null) {
1811
- existingReactiveProps.forEach((entry) => {
1812
- entry.cleanup();
1813
- });
1814
- elementReactivePropsCleanup.delete(el);
1815
- } else {
1816
- existingReactiveProps.forEach((entry, key) => {
1817
- if (!desiredReactivePropNames.has(key)) {
1814
+ if (existingReactiveProps && existingReactiveProps.size > 0) {
1815
+ if (desiredReactivePropNames === null) {
1816
+ existingReactiveProps.forEach((entry) => {
1818
1817
  entry.cleanup();
1819
- existingReactiveProps.delete(key);
1820
- }
1821
- });
1822
- if (existingReactiveProps.size === 0) elementReactivePropsCleanup.delete(el);
1818
+ });
1819
+ elementReactivePropsCleanup.delete(el);
1820
+ } else {
1821
+ existingReactiveProps.forEach((entry, key) => {
1822
+ if (!desiredReactivePropNames.has(key)) {
1823
+ entry.cleanup();
1824
+ existingReactiveProps.delete(key);
1825
+ }
1826
+ });
1827
+ if (existingReactiveProps.size === 0) elementReactivePropsCleanup.delete(el);
1828
+ }
1823
1829
  }
1824
1830
  }
1825
1831
  //#endregion
@@ -4135,17 +4141,18 @@ function updateUnkeyedChildren(parent, newChildren, forceUpdate = false) {
4135
4141
  const next = newChildren[i];
4136
4142
  const current = c[i];
4137
4143
  if (!current || next === void 0) continue;
4138
- if (_isDOMElement(next) && typeof next.type === "string") if (tagsEqualIgnoreCase(current.tagName, next.type)) {
4139
- domHost.updateElementFromVnode(current, next, true, forceUpdate);
4140
- retireComponentOwnersForIntrinsicReuse(current);
4141
- } else {
4142
- const dom = domHost.createDOMNode(next, parentNamespace);
4143
- if (dom) {
4144
- teardownNodeSubtree(current);
4145
- parent.replaceChild(dom, current);
4144
+ if (_isDOMElement(next) && typeof next.type === "string") {
4145
+ if (tagsEqualIgnoreCase(current.tagName, next.type)) {
4146
+ domHost.updateElementFromVnode(current, next, true, forceUpdate);
4147
+ retireComponentOwnersForIntrinsicReuse(current);
4148
+ } else {
4149
+ const dom = domHost.createDOMNode(next, parentNamespace);
4150
+ if (dom) {
4151
+ teardownNodeSubtree(current);
4152
+ parent.replaceChild(dom, current);
4153
+ }
4146
4154
  }
4147
- }
4148
- else if (_isDOMElement(next)) {
4155
+ } else if (_isDOMElement(next)) {
4149
4156
  if (trySyncControlBoundaryChild(parent, current, next)) continue;
4150
4157
  if (!trySyncComponentChild(current, next)) {
4151
4158
  const dom = domHost.createDOMNode(next, parentNamespace);
@@ -4183,65 +4190,69 @@ function updateUnkeyedChildren(parent, newChildren, forceUpdate = false) {
4183
4190
  continue;
4184
4191
  }
4185
4192
  if (!currentNode || nextIsEmpty) continue;
4186
- if (typeof next === "string" || typeof next === "number") if (currentNode.nodeType === 3) currentNode.data = String(next);
4187
- else {
4188
- const textNode = document.createTextNode(String(next));
4189
- teardownNodeSubtree(currentNode);
4190
- parent.replaceChild(textNode, currentNode);
4191
- }
4192
- else if (_isDOMElement(next)) if (currentNode.nodeType === 1) {
4193
- const currentEl = currentNode;
4194
- if (typeof next.type === "string") if (tagsEqualIgnoreCase(currentEl.tagName, next.type)) {
4195
- domHost.updateElementFromVnode(currentEl, next, true, forceUpdate);
4196
- retireComponentOwnersForIntrinsicReuse(currentEl);
4197
- } else {
4198
- const dom = domHost.createDOMNode(next, parentNamespace);
4199
- if (dom) {
4200
- teardownNodeSubtree(currentEl);
4201
- if (currentNode.parentNode === parent) parent.replaceChild(dom, currentNode);
4202
- else if (dom.parentNode !== parent) parent.insertBefore(dom, parent.childNodes[i] ?? null);
4203
- }
4204
- }
4193
+ if (typeof next === "string" || typeof next === "number") {
4194
+ if (currentNode.nodeType === 3) currentNode.data = String(next);
4205
4195
  else {
4206
- if (trySyncControlBoundaryChild(parent, currentNode, next)) continue;
4207
- const remainingExpected = newChildren.length - i - 1;
4208
- const hydrationRangeEndIndex = allNodes.length - remainingExpected;
4209
- const synced = trySyncComponentChild(currentEl, next, hydrationRangeEndIndex > i ? allNodes[hydrationRangeEndIndex] ?? null : void 0);
4210
- if (synced && isRangeStart(synced)) {
4211
- replaceHydratedRangeInSnapshot(allNodes, i, synced, hydrationRangeEndIndex);
4212
- continue;
4213
- }
4214
- if (synced && synced !== currentNode && synced.nextSibling === currentNode) {
4215
- allNodes.splice(i, 0, synced);
4216
- continue;
4217
- }
4218
- if (!synced) {
4219
- const dom = domHost.createDOMNode(next, parentNamespace);
4220
- if (dom) {
4221
- teardownNodeSubtree(currentEl);
4222
- parent.replaceChild(dom, currentNode);
4196
+ const textNode = document.createTextNode(String(next));
4197
+ teardownNodeSubtree(currentNode);
4198
+ parent.replaceChild(textNode, currentNode);
4199
+ }
4200
+ } else if (_isDOMElement(next)) {
4201
+ if (currentNode.nodeType === 1) {
4202
+ const currentEl = currentNode;
4203
+ if (typeof next.type === "string") {
4204
+ if (tagsEqualIgnoreCase(currentEl.tagName, next.type)) {
4205
+ domHost.updateElementFromVnode(currentEl, next, true, forceUpdate);
4206
+ retireComponentOwnersForIntrinsicReuse(currentEl);
4207
+ } else {
4208
+ const dom = domHost.createDOMNode(next, parentNamespace);
4209
+ if (dom) {
4210
+ teardownNodeSubtree(currentEl);
4211
+ if (currentNode.parentNode === parent) parent.replaceChild(dom, currentNode);
4212
+ else if (dom.parentNode !== parent) parent.insertBefore(dom, parent.childNodes[i] ?? null);
4213
+ }
4214
+ }
4215
+ } else {
4216
+ if (trySyncControlBoundaryChild(parent, currentNode, next)) continue;
4217
+ const remainingExpected = newChildren.length - i - 1;
4218
+ const hydrationRangeEndIndex = allNodes.length - remainingExpected;
4219
+ const synced = trySyncComponentChild(currentEl, next, hydrationRangeEndIndex > i ? allNodes[hydrationRangeEndIndex] ?? null : void 0);
4220
+ if (synced && isRangeStart(synced)) {
4221
+ replaceHydratedRangeInSnapshot(allNodes, i, synced, hydrationRangeEndIndex);
4222
+ continue;
4223
+ }
4224
+ if (synced && synced !== currentNode && synced.nextSibling === currentNode) {
4225
+ allNodes.splice(i, 0, synced);
4226
+ continue;
4227
+ }
4228
+ if (!synced) {
4229
+ const dom = domHost.createDOMNode(next, parentNamespace);
4230
+ if (dom) {
4231
+ teardownNodeSubtree(currentEl);
4232
+ parent.replaceChild(dom, currentNode);
4233
+ }
4223
4234
  }
4224
4235
  }
4225
- }
4226
- } else {
4227
- if (typeof next.type === "function") {
4228
- const remainingExpected = newChildren.length - i - 1;
4229
- const hydrationRangeEndIndex = allNodes.length - remainingExpected;
4230
- const synced = trySyncComponentChild(currentNode, next, hydrationRangeEndIndex > i ? allNodes[hydrationRangeEndIndex] ?? null : void 0);
4231
- if (synced && isRangeStart(synced)) {
4232
- replaceHydratedRangeInSnapshot(allNodes, i, synced, hydrationRangeEndIndex);
4233
- continue;
4236
+ } else {
4237
+ if (typeof next.type === "function") {
4238
+ const remainingExpected = newChildren.length - i - 1;
4239
+ const hydrationRangeEndIndex = allNodes.length - remainingExpected;
4240
+ const synced = trySyncComponentChild(currentNode, next, hydrationRangeEndIndex > i ? allNodes[hydrationRangeEndIndex] ?? null : void 0);
4241
+ if (synced && isRangeStart(synced)) {
4242
+ replaceHydratedRangeInSnapshot(allNodes, i, synced, hydrationRangeEndIndex);
4243
+ continue;
4244
+ }
4245
+ if (synced && synced !== currentNode && synced.nextSibling === currentNode) {
4246
+ allNodes.splice(i, 0, synced);
4247
+ continue;
4248
+ }
4249
+ if (synced) continue;
4234
4250
  }
4235
- if (synced && synced !== currentNode && synced.nextSibling === currentNode) {
4236
- allNodes.splice(i, 0, synced);
4237
- continue;
4251
+ const dom = domHost.createDOMNode(next, parentNamespace);
4252
+ if (dom) {
4253
+ teardownNodeSubtree(currentNode);
4254
+ parent.replaceChild(dom, currentNode);
4238
4255
  }
4239
- if (synced) continue;
4240
- }
4241
- const dom = domHost.createDOMNode(next, parentNamespace);
4242
- if (dom) {
4243
- teardownNodeSubtree(currentNode);
4244
- parent.replaceChild(dom, currentNode);
4245
4256
  }
4246
4257
  }
4247
4258
  }
@@ -4284,17 +4295,18 @@ function updateUnkeyedChildren(parent, newChildren, forceUpdate = false) {
4284
4295
  teardownNodeSubtree(current);
4285
4296
  parent.replaceChild(textNode, current);
4286
4297
  } else if (_isDOMElement(next)) {
4287
- if (typeof next.type === "string") if (tagsEqualIgnoreCase(current.tagName, next.type)) {
4288
- domHost.updateElementFromVnode(current, next, true, forceUpdate);
4289
- retireComponentOwnersForIntrinsicReuse(current);
4290
- } else {
4291
- const dom = domHost.createDOMNode(next, parentNamespace);
4292
- if (dom) {
4293
- teardownNodeSubtree(current);
4294
- parent.replaceChild(dom, current);
4298
+ if (typeof next.type === "string") {
4299
+ if (tagsEqualIgnoreCase(current.tagName, next.type)) {
4300
+ domHost.updateElementFromVnode(current, next, true, forceUpdate);
4301
+ retireComponentOwnersForIntrinsicReuse(current);
4302
+ } else {
4303
+ const dom = domHost.createDOMNode(next, parentNamespace);
4304
+ if (dom) {
4305
+ teardownNodeSubtree(current);
4306
+ parent.replaceChild(dom, current);
4307
+ }
4295
4308
  }
4296
- }
4297
- else if (!trySyncComponentChild(current, next)) {
4309
+ } else if (!trySyncComponentChild(current, next)) {
4298
4310
  const dom = domHost.createDOMNode(next, parentNamespace);
4299
4311
  if (dom) {
4300
4312
  teardownNodeSubtree(current);
@@ -4738,8 +4750,10 @@ function commitForStateBoundaryChildren(parent, forState, childrenVNodes, runtim
4738
4750
  const previousChildrenSet = new Set(previousChildren);
4739
4751
  for (const node of Array.from(parent.childNodes)) if (!previousChildrenSet.has(node)) teardownNodeSubtree(node);
4740
4752
  parent.replaceChildren(...previousChildren);
4741
- if (keyedMapMayMutate) if (previousKeyedMap) keyedElements.set(parent, new Map(previousKeyedMap));
4742
- else keyedElements.delete(parent);
4753
+ if (keyedMapMayMutate) {
4754
+ if (previousKeyedMap) keyedElements.set(parent, new Map(previousKeyedMap));
4755
+ else keyedElements.delete(parent);
4756
+ }
4743
4757
  throw error;
4744
4758
  }
4745
4759
  }
@@ -5718,12 +5732,13 @@ function trySyncControlBoundaryChild(parent, currentNode, next) {
5718
5732
  if (nextDom && !rangeContains(nextDom, removedNode) && !nextDom.start.parentNode) insertRangeBefore(parent, nextDom, removedNode);
5719
5733
  else parent.removeChild(removedNode);
5720
5734
  }
5721
- if (nextDom && nextDom.start.parentNode !== parent) if (currentNode?.parentNode === parent && !rangeContains(nextDom, currentNode)) {
5722
- teardownNodeSubtree(currentNode);
5723
- insertRangeBefore(parent, nextDom, currentNode);
5724
- currentNode.parentNode?.removeChild(currentNode);
5725
- } else insertRangeBefore(parent, nextDom);
5726
- else if (!nextDom && currentNode?.parentNode === parent) {
5735
+ if (nextDom && nextDom.start.parentNode !== parent) {
5736
+ if (currentNode?.parentNode === parent && !rangeContains(nextDom, currentNode)) {
5737
+ teardownNodeSubtree(currentNode);
5738
+ insertRangeBefore(parent, nextDom, currentNode);
5739
+ currentNode.parentNode?.removeChild(currentNode);
5740
+ } else insertRangeBefore(parent, nextDom);
5741
+ } else if (!nextDom && currentNode?.parentNode === parent) {
5727
5742
  teardownNodeSubtree(currentNode);
5728
5743
  parent.removeChild(currentNode);
5729
5744
  }
@@ -6830,9 +6845,10 @@ function commitBlueprintBinding(binding, value, host) {
6830
6845
  return;
6831
6846
  }
6832
6847
  }
6833
- if (binding.kind === "prop") if (!binding.hasValue && (binding.propName === "class" || binding.propName === "className") && (value === "" || value === void 0 || value === null || value === false)) binding.lastClassTokens = EMPTY_CLASS_TOKENS;
6834
- else applyScalarPropValue(binding.element, binding.propName, value, binding.tagName, binding.hasValue ? previousValue : void 0, binding);
6835
- else {
6848
+ if (binding.kind === "prop") {
6849
+ if (!binding.hasValue && (binding.propName === "class" || binding.propName === "className") && (value === "" || value === void 0 || value === null || value === false)) binding.lastClassTokens = EMPTY_CLASS_TOKENS;
6850
+ else applyScalarPropValue(binding.element, binding.propName, value, binding.tagName, binding.hasValue ? previousValue : void 0, binding);
6851
+ } else {
6836
6852
  const normalized = normalizeOwnedReactiveTextValue(value);
6837
6853
  if (normalized === null) {
6838
6854
  binding.textNode = null;
@@ -7138,15 +7154,17 @@ function createFragmentElement(node, props, parentNamespace) {
7138
7154
  const fragment = document.createDocumentFragment();
7139
7155
  const children = props.children ?? node.children;
7140
7156
  try {
7141
- if (children) if (Array.isArray(children)) {
7142
- maybeWarnMissingKeys(children);
7143
- for (const child of children) {
7144
- const dom = createDOMNode(child, parentNamespace);
7157
+ if (children) {
7158
+ if (Array.isArray(children)) {
7159
+ maybeWarnMissingKeys(children);
7160
+ for (const child of children) {
7161
+ const dom = createDOMNode(child, parentNamespace);
7162
+ if (dom) fragment.appendChild(dom);
7163
+ }
7164
+ } else {
7165
+ const dom = createDOMNode(children, parentNamespace);
7145
7166
  if (dom) fragment.appendChild(dom);
7146
7167
  }
7147
- } else {
7148
- const dom = createDOMNode(children, parentNamespace);
7149
- if (dom) fragment.appendChild(dom);
7150
7168
  }
7151
7169
  return fragment;
7152
7170
  } catch (error) {
@@ -1,8 +1,8 @@
1
1
  import { n as Fragment, t as ELEMENT_TYPE } from "./jsx-DRS-qjiN.js";
2
- import { p as defineScope, y as readScope } from "./component-internal-Dl02WQKS.js";
3
- import { p as isPromiseLike } from "./lifecycle-batch-Be-CLDjV.js";
2
+ import { b as readScope, m as defineScope } from "./component-internal-C4hKKQBF.js";
3
+ import { p as isPromiseLike } from "./lifecycle-batch-63aXFf2S.js";
4
4
  import { S as withPageFramework, b as replacePageRoute, n as getActiveRenderContext } from "./render-context-B7ohlh6t.js";
5
- import { i as ROUTE_ROOT_COMPONENT } from "./csp-nonce-C9OuML0U.js";
5
+ import { i as ROUTE_ROOT_COMPONENT } from "./csp-nonce-9NFUb7hJ.js";
6
6
  import { c as withTelemetry, t as createQueryPrefetchContext } from "./query-registry-Bua3cDyb.js";
7
7
  import { c as removeRouteBasePath, i as getMatchingRouteRecord, l as buildRouteContext, o as addRouteBasePath, s as normalizeRouteBasePath, u as buildRouteContextBase, v as getActiveRouteAuthOptions } from "./route-matching-Bo6UqG-5.js";
8
8
  //#region src/router/route-data-loader.ts
@@ -1,10 +1,10 @@
1
- import { t as enqueueRuntimeLane, y as logger } from "./access-Rr7CMa06.js";
1
+ import { t as enqueueRuntimeLane, y as logger } from "./access-BucjYZcX.js";
2
2
  import { f as getCurrentComponentInstance } from "./component-scope-4I3yEMkb.js";
3
- import { m as getCurrentContextFrame, u as registerCommitOperationForInstance, x as withAsyncResourceContext } from "./component-internal-Dl02WQKS.js";
4
- import { p as isPromiseLike } from "./lifecycle-batch-Be-CLDjV.js";
3
+ import { S as withAsyncResourceContext, d as registerCommitOperationForInstance, h as getCurrentContextFrame } from "./component-internal-C4hKKQBF.js";
4
+ import { p as isPromiseLike } from "./lifecycle-batch-63aXFf2S.js";
5
5
  import { t as brandSnapshotSource } from "./snapshot-source-BB42xgwb.js";
6
6
  import { C as SSRDataMissingError, a as getResourceVerificationSnapshot, i as getNextRenderKey, n as getActiveRenderContext, o as isHydrationVerificationRender, p as throwSSRDataMissing, r as getCurrentRenderData, s as recordResourceVerificationSnapshot } from "./render-context-B7ohlh6t.js";
7
- import { t as state } from "./state-BzhOW2TX.js";
7
+ import { t as state } from "./state-BGJgYSyQ.js";
8
8
  //#region src/runtime/resource-cell.ts
9
9
  /**
10
10
  * Pure, component-agnostic ResourceCell state machine.
@@ -1,5 +1,5 @@
1
- import { Q as getSignal } from "../index-DSqXWc77.js";
2
- import { i as onRouteChange, n as RouteChangeOptions, t as RouteChangeCleanup } from "../activity-CAJ5eho-.js";
1
+ import { $ as routeActive, G as TimerOptions, J as WatchSource, K as WatchCallback, Q as on, U as ActivityPredicate, W as ListenerTarget, X as capture, Y as WatchValues, Z as documentVisible, et as task, nt as watch, pt as getSignal, q as WatchContext, rt as windowFocused, tt as timer } from "../index-Dgjbo2gU.js";
2
+ import { i as onRouteChange, n as RouteChangeOptions, t as RouteChangeCleanup } from "../activity-DooIuxQO.js";
3
3
  //#region src/runtime/resource-operation.d.ts
4
4
  /** Reactive result of a {@link resource}: current value, loading state, and controls. */
5
5
  interface ResourceResult<T> {
@@ -37,38 +37,4 @@ type StreamSource<T> = (context: {
37
37
  /** Subscribe to a streaming data source for the current component's lifetime, with auto reconnect/cleanup. */
38
38
  declare function stream<T>(source: StreamSource<T>, options?: StreamOptions<T>): StreamResult<T>;
39
39
  //#endregion
40
- //#region src/runtime/lifecycle-operations.d.ts
41
- /** A gating condition for lifecycle primitives like {@link timer}; `true` means active. */
42
- type ActivityPredicate = () => boolean;
43
- /** Options for {@link timer}. */
44
- interface TimerOptions {
45
- when?: ActivityPredicate | readonly ActivityPredicate[];
46
- }
47
- /** {@link ActivityPredicate} that is true while the current route matches `pathOrPaths`. */
48
- declare function routeActive(pathOrPaths: string | readonly string[]): ActivityPredicate;
49
- /** {@link ActivityPredicate} that is true while the document is visible. */
50
- declare function documentVisible(): ActivityPredicate;
51
- /** {@link ActivityPredicate} that is true while the window has focus. */
52
- declare function windowFocused(): ActivityPredicate;
53
- /** An event target, or a function resolving one, accepted by {@link on}. */
54
- type ListenerTarget = EventTarget | (() => EventTarget | null | undefined);
55
- type ListenerOptions = boolean | AddEventListenerOptions | undefined;
56
- /** Attach an owned event listener to `target` for the current component's lifetime. */
57
- declare function on(target: ListenerTarget, event: string, handler: EventListener, options?: ListenerOptions): void;
58
- /** Run `fn` on an owned interval for the current component's lifetime, optionally gated by `options.when`. */
59
- declare function timer(intervalMs: number, fn: () => void, options?: TimerOptions): void;
60
- /** Runs an owned task after commit. */
61
- declare function task(fn: () => void | (() => void) | PromiseLike<void | (() => void)>): void;
62
- /**
63
- * Capture the result of a synchronous expression at call time and return a
64
- * thunk that returns the captured value later. This is a low-level helper for
65
- * cases where async continuations need to observe a snapshot of values at the
66
- * moment scheduling occurred.
67
- *
68
- * Usage (public API):
69
- * const snapshot = capture(() => someState());
70
- * Promise.resolve().then(() => { use(snapshot()); });
71
- */
72
- declare function capture<T>(fn: () => T): () => T;
73
- //#endregion
74
- export { type ActivityPredicate, type ListenerTarget, type ResourceResult, type RouteChangeCleanup, type RouteChangeOptions, type StreamOptions, type StreamResult, type StreamStatus, type TimerOptions, capture, documentVisible, getSignal, on, onRouteChange, resource, routeActive, stream, task, timer, windowFocused };
40
+ export { type ActivityPredicate, type ListenerTarget, type ResourceResult, type RouteChangeCleanup, type RouteChangeOptions, type StreamOptions, type StreamResult, type StreamStatus, type TimerOptions, type WatchCallback, type WatchContext, type WatchSource, type WatchValues, capture, documentVisible, getSignal, on, onRouteChange, resource, routeActive, stream, task, timer, watch, windowFocused };
@@ -1,9 +1,9 @@
1
- import { t as enqueueRuntimeLane } from "../access-Rr7CMa06.js";
1
+ import { t as enqueueRuntimeLane } from "../access-BucjYZcX.js";
2
2
  import { f as getCurrentComponentInstance, g as getSignal, i as claimHookIndex } from "../component-scope-4I3yEMkb.js";
3
- import { a as registerCommitOperation } from "../component-internal-Dl02WQKS.js";
4
- import { t as resource } from "../resource-operation-B8q-QRUx.js";
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-C5m03NQc.js";
6
- import { n as onRouteChange } from "../activity-ZxJXI9hF.js";
3
+ import { a as registerCommitOperation } from "../component-internal-C4hKKQBF.js";
4
+ import { t as resource } from "../resource-operation-Vz1S5h2k.js";
5
+ import { a as task, c as windowFocused, i as routeActive, n as documentVisible, o as timer, r as on, s as watch, t as capture } from "../lifecycle-operations-Q0k3EFnG.js";
6
+ import { n as onRouteChange } from "../activity-FirwPXA_.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));
@@ -216,4 +216,4 @@ function stream(source, options = {}) {
216
216
  return slot.snapshot;
217
217
  }
218
218
  //#endregion
219
- export { capture, documentVisible, getSignal, on, onRouteChange, resource, routeActive, stream, task, timer, windowFocused };
219
+ export { capture, documentVisible, getSignal, on, onRouteChange, resource, routeActive, stream, task, timer, watch, windowFocused };
@@ -1,7 +1,7 @@
1
- import { $ as AccessAllowDecision, At as RouteRefSearch, Ct as RouteOptions, Dt as RouteQuery, Et as RoutePolicy, Ft as RouteRequestResult, It as RouteSearch, Lt as RouteSearchValue, Mt as RouteRegistryOptions, Nt as RouteRenderResult, Ot as RouteRecord, Pt as RouteRequestOptions, Rt as RouteSnapshot, St as RouteMode, Tt as RoutePathParams, _t as RouteHandler, at as GroupHelperOptions, bt as RouteMeta, cn as RenderableChild, ct as PageScopeRecord, dt as RouteAuthOptions, et as AccessDecision, ft as RouteAuthResolver, gt as RouteDestination, ht as RouteDefinition, it as AccessRedirectStatus, jt as RouteRegistry, kt as RouteRef, lt as ParsedSegment, mt as RouteContext, nt as AccessDenyStatus, ot as LayoutScopeRecord, pt as RouteComponent, rt as AccessRedirectDecision, st as PageHelperOptions, tt as AccessDenyDecision, ut as Route, vt as RouteManifest, wt as RouteParams, xt as RouteMetaSource, yt as RouteMatch } from "../index-DSqXWc77.js";
2
- import { r as JSXElement, s as Props } from "../types-DkVJhVs9.js";
3
- import { a as ScrollRestorationOptions, i as NavigationScrollBehavior, n as NavigateOptions, r as HistoryScrollBehavior, t as navigate } from "../navigate-wel1e6cU.js";
4
- import { i as onRouteChange, n as RouteChangeOptions, r as currentRoute, t as RouteChangeCleanup } from "../activity-CAJ5eho-.js";
1
+ import { $t as RouteSnapshot, At as RouteDefinition, Bt as RoutePathParams, Cn as RenderableChild, Ct as PageScopeRecord, Dt as RouteAuthResolver, Et as RouteAuthOptions, Ft as RouteMeta, Gt as RouteRefSearch, Ht as RouteQuery, It as RouteMetaSource, Jt as RouteRenderResult, Kt as RouteRegistry, Lt as RouteMode, Mt as RouteHandler, Nt as RouteManifest, Ot as RouteComponent, Pt as RouteMatch, Qt as RouteSearchValue, Rt as RouteOptions, St as PageHelperOptions, Tt as Route, Ut as RouteRecord, Vt as RoutePolicy, Wt as RouteRef, Xt as RouteRequestResult, Yt as RouteRequestOptions, Zt as RouteSearch, _t as AccessDenyStatus, bt as GroupHelperOptions, gt as AccessDenyDecision, ht as AccessDecision, jt as RouteDestination, kt as RouteContext, mt as AccessAllowDecision, qt as RouteRegistryOptions, vt as AccessRedirectDecision, wt as ParsedSegment, xt as LayoutScopeRecord, yt as AccessRedirectStatus, zt as RouteParams } from "../index-Dgjbo2gU.js";
2
+ import { r as JSXElement, s as Props } from "../types-DWVrKn9N.js";
3
+ import { a as ScrollRestorationOptions, i as NavigationScrollBehavior, n as NavigateOptions, r as HistoryScrollBehavior, t as navigate } from "../navigate-F4sHgWbw.js";
4
+ import { i as onRouteChange, n as RouteChangeOptions, r as currentRoute, t as RouteChangeCleanup } from "../activity-DooIuxQO.js";
5
5
  import { AuthContext, AuthContext as AuthContext$1, AuthRequirement, AuthRequirement as AuthRequirement$1 } from "@askrjs/auth";
6
6
  import { ObjectSchema } from "@askrjs/schema";
7
7
  //#region src/router/route-query.d.ts
@@ -1,11 +1,11 @@
1
1
  import { n as createRouteRegistry } from "../manifest-D6rfj_jC.js";
2
- import { a as isSafeHref } from "../csp-nonce-C9OuML0U.js";
2
+ import { a as isSafeHref } from "../csp-nonce-9NFUb7hJ.js";
3
3
  import { jsx } from "../jsx-runtime.js";
4
4
  import { o as addRouteBasePath, y as getActiveRouteBasePath } from "../route-matching-Bo6UqG-5.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-BELyvMsC.js";
6
- import { S as RouteDataLoadError, a as resolveRouteRequest, b as lazy, f as defer, g as Outlet, h as currentAuth, p as isDeferred, x as lazyRouteData } from "../resolution-t8J0yNaU.js";
7
- import { n as onRouteChange, t as currentRoute } from "../activity-ZxJXI9hF.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-C46GtScG.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-CxjWCkIn.js";
6
+ import { S as RouteDataLoadError, a as resolveRouteRequest, b as lazy, f as defer, g as Outlet, h as currentAuth, p as isDeferred, x as lazyRouteData } from "../resolution-ClD-K7Lz.js";
7
+ import { n as onRouteChange, t as currentRoute } from "../activity-FirwPXA_.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-ZZu1IV0B.js";
9
9
  import { i as mergeProps } from "../aria-hKjThHcp.js";
10
10
  import { t as applyInteractionPolicy } from "../interactions-D102JxBR.js";
11
11
  //#region src/router/route-query.ts
@@ -1,6 +1,6 @@
1
- import { t as enqueueRuntimeLane } from "./access-Rr7CMa06.js";
1
+ import { t as enqueueRuntimeLane } from "./access-BucjYZcX.js";
2
2
  import { i as claimHookIndex, p as getCurrentInstance } from "./component-scope-4I3yEMkb.js";
3
- import { c as markReadableUsage, f as syncDerivedDependencySubscriptions, l as notifyReadableReaders, o as markReactivePropsDirtySource, p as withDerivedReadTracking, r as clearDerivedDependencySubscriptions, s as markReadableDerivedSubscribersDirty, u as recordReadableRead } from "./readable-CEcteIDE.js";
3
+ import { c as markReadableUsage, f as syncDerivedDependencySubscriptions, l as notifyReadableReaders, o as markReactivePropsDirtySource, p as withDerivedReadTracking, r as clearDerivedDependencySubscriptions, s as markReadableDerivedSubscribersDirty, u as recordReadableRead } from "./readable-Di1fzSwm.js";
4
4
  //#region src/runtime/selector-store.ts
5
5
  const dirtySelectorRecords = /* @__PURE__ */ new Set();
6
6
  let hasPendingSelectorFlush = false;
@@ -270,20 +270,21 @@ function getOrCreateSelectorHook(instance, hookIndex, source, equals) {
270
270
  const store = getSelectorStore(instance);
271
271
  const existing = store.get(hookIndex);
272
272
  if (existing) {
273
- if (existing._source !== source || existing._equals !== equals) if (existing._equals === equals && existing._record && existing._lane) {
274
- const record = existing._record;
275
- selectorRecords.delete(record._source);
276
- record._source = source;
277
- selectorRecords.set(source, record);
278
- existing._source = source;
279
- record._dirty = true;
280
- recomputeSelectorSourceRecord(record, false);
281
- ensureSelectorHookBinding(existing);
282
- } else {
283
- detachSelectorHookBinding(existing);
284
- attachSelectorHookBinding(existing, source, equals);
285
- }
286
- else ensureSelectorHookBinding(existing);
273
+ if (existing._source !== source || existing._equals !== equals) {
274
+ if (existing._equals === equals && existing._record && existing._lane) {
275
+ const record = existing._record;
276
+ selectorRecords.delete(record._source);
277
+ record._source = source;
278
+ selectorRecords.set(source, record);
279
+ existing._source = source;
280
+ record._dirty = true;
281
+ recomputeSelectorSourceRecord(record, false);
282
+ ensureSelectorHookBinding(existing);
283
+ } else {
284
+ detachSelectorHookBinding(existing);
285
+ attachSelectorHookBinding(existing, source, equals);
286
+ }
287
+ } else ensureSelectorHookBinding(existing);
287
288
  return existing;
288
289
  }
289
290
  const created = createSelectorHook(instance, instance._ownershipGeneration, store, hookIndex, source, equals);
@@ -1,4 +1,4 @@
1
- import { l as notifyReadableReaders, o as markReactivePropsDirtySource, s as markReadableDerivedSubscribersDirty } from "./readable-CEcteIDE.js";
1
+ import { l as notifyReadableReaders, o as markReactivePropsDirtySource, s as markReadableDerivedSubscribersDirty } from "./readable-Di1fzSwm.js";
2
2
  //#region src/data/shared.ts
3
3
  function createReadableSource() {
4
4
  return (() => void 0);
@@ -1,4 +1,4 @@
1
- import { Ct as RouteOptions, Et as RoutePolicy, Tt as RoutePathParams, _t as RouteHandler, dn as DocumentRenderContext, fn as DocumentRenderer, hn as SSRStyleRegistrationValidation, jt as RouteRegistry, un as DocumentRenderArgs } from "../index-DSqXWc77.js";
1
+ import { An as SSRStyleRegistrationValidation, Bt as RoutePathParams, Dn as DocumentRenderer, En as DocumentRenderContext, Kt as RouteRegistry, Mt as RouteHandler, Rt as RouteOptions, Tn as DocumentRenderArgs, Vt as RoutePolicy } from "../index-Dgjbo2gU.js";
2
2
  import { AuthRequirement } from "@askrjs/auth";
3
3
  import "node:fs/promises";
4
4
  //#region src/ssg/types.d.ts
package/dist/ssg/index.js CHANGED
@@ -1,10 +1,10 @@
1
- import "../access-Rr7CMa06.js";
1
+ import "../access-BucjYZcX.js";
2
2
  import { n as createRouteRegistry } from "../manifest-D6rfj_jC.js";
3
3
  import { o as addRouteBasePath } from "../route-matching-Bo6UqG-5.js";
4
- import { c as route, n as resolveDeferredValues } from "../deferred-BELyvMsC.js";
5
- import { S as RouteDataLoadError, c as prepareRouteHydrationData, t as bindResolvedRouteData, v as getRenderHandler, y as _preloadRouteHandler } from "../resolution-t8J0yNaU.js";
4
+ import { c as route, n as resolveDeferredValues } from "../deferred-CxjWCkIn.js";
5
+ import { S as RouteDataLoadError, c as prepareRouteHydrationData, t as bindResolvedRouteData, v as getRenderHandler, y as _preloadRouteHandler } from "../resolution-ClD-K7Lz.js";
6
6
  import { n as renderDocument } from "../ssr-DSHd_Q9K.js";
7
- import { n as renderToString } from "../ssr-BaC5qHEw.js";
7
+ import { n as renderToString } from "../ssr-Doog-AfJ.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,5 +1,5 @@
1
- import { Bt as DataRuntime, D as SSRPortalState, E as DeferredBoundaryRegistration, Ft as RouteRequestResult, Ot as RouteRecord, _t as RouteHandler, c as ServerQueryRegistry, dn as DocumentRenderContext, dt as RouteAuthOptions, en as QueryPrefetchContext, fn as DocumentRenderer, hn as SSRStyleRegistrationValidation, jt as RouteRegistry, mn as SSRStyleRegistration, pn as SSRData, rt as AccessRedirectDecision, tt as AccessDenyDecision, un as DocumentRenderArgs, ut as Route, zt as CoreTelemetry } from "../index-DSqXWc77.js";
2
- import { r as JSXElement, s as Props } from "../types-DkVJhVs9.js";
1
+ import { An as SSRStyleRegistrationValidation, D as SSRPortalState, Dn as DocumentRenderer, E as DeferredBoundaryRegistration, En as DocumentRenderContext, Et as RouteAuthOptions, Kt as RouteRegistry, Mt as RouteHandler, On as SSRData, Tn as DocumentRenderArgs, Tt as Route, Ut as RouteRecord, Xt as RouteRequestResult, c as ServerQueryRegistry, en as CoreTelemetry, gt as AccessDenyDecision, hn as QueryPrefetchContext, kn as SSRStyleRegistration, tn as DataRuntime, vt as AccessRedirectDecision } from "../index-Dgjbo2gU.js";
2
+ import { r as JSXElement, s as Props } from "../types-DWVrKn9N.js";
3
3
  import { AuthContext } from "@askrjs/auth";
4
4
  //#region src/common/page-render-envelope.d.ts
5
5
  declare const PAGE_RENDER_ENVELOPE_VERSION: 1;
package/dist/ssr/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import { C as SSRDataMissingError } from "../render-context-B7ohlh6t.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-BaC5qHEw.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-Doog-AfJ.js";
3
3
  export { SSRDataMissingError, createRenderContext, getRenderContext, renderResolvedToStringSync, renderRouteRequest, renderRouteRequestToString, renderToStream, renderToString, renderToStringSync, resolveRequest, withRenderContext, withRenderContextAsync };