@askrjs/askr 0.2.2 → 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 (80) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +32 -4
  3. package/dist/{access-d_DCdwqn.js → access-BucjYZcX.js} +15 -10
  4. package/dist/actions/index.d.ts +1 -1
  5. package/dist/actions/index.js +5 -4
  6. package/dist/{activity-CAJ5eho-.d.ts → activity-DooIuxQO.d.ts} +2 -2
  7. package/dist/{activity-B2Yy7Wz9.js → activity-FirwPXA_.js} +14 -2
  8. package/dist/{compose-ref-1Fhs7mbF.js → aria-hKjThHcp.js} +1 -18
  9. package/dist/benchmark.d.ts +1 -1
  10. package/dist/benchmark.js +8 -8
  11. package/dist/boot/index.d.ts +4 -2
  12. package/dist/boot/index.js +1 -1
  13. package/dist/{boot-DVwjHCNh.js → boot-tWyF6121.js} +14 -15
  14. package/dist/{cleanup-DPtpXtA4.js → cleanup-TXSsApEl.js} +6 -11
  15. package/dist/{component-cleanup-DPe8claJ.js → component-cleanup-jdbgjkT1.js} +2 -2
  16. package/dist/{component-internal-xW_OnTmC.js → component-internal-C4hKKQBF.js} +16 -7
  17. package/dist/components/index.d.ts +2 -2
  18. package/dist/compose-ref-Bfaf4kUC.js +20 -0
  19. package/dist/control/index.d.ts +1 -1
  20. package/dist/control/index.js +1 -1
  21. package/dist/{control-BLVTE1gO.js → control-C-wSaq9V.js} +4 -4
  22. package/dist/{control-DdFw-Caz.d.ts → control-Cxag1yqV.d.ts} +1 -1
  23. package/dist/{csp-nonce-CCnMtOW-.js → csp-nonce-9NFUb7hJ.js} +1 -1
  24. package/dist/data/index.d.ts +1 -1
  25. package/dist/data/index.js +1 -1
  26. package/dist/{data-BjUf0PPS.js → data-ghKopAbp.js} +49 -49
  27. package/dist/{deferred-BRw0gbn5.js → deferred-CxjWCkIn.js} +2 -2
  28. package/dist/{effect-BQP5o0Kx.js → effect-CNwstBBD.js} +2 -2
  29. package/dist/{fastlane-DUxiFV9S.js → fastlane-BKZduiBQ.js} +2 -2
  30. package/dist/{for-internal-DKcYl3nl.js → for-internal-DyBHfKJA.js} +33 -25
  31. package/dist/foundations/icon/index.d.ts +1 -1
  32. package/dist/foundations/index.d.ts +2 -2
  33. package/dist/foundations/index.js +1 -1
  34. package/dist/foundations/interactions/index.d.ts +1 -1
  35. package/dist/foundations/interactions/index.js +1 -1
  36. package/dist/foundations/state/index.d.ts +1 -1
  37. package/dist/foundations/state/index.js +1 -1
  38. package/dist/foundations/structures/index.d.ts +2 -2
  39. package/dist/foundations/structures/index.js +1 -1
  40. package/dist/foundations/utilities/index.d.ts +1 -1
  41. package/dist/foundations/utilities/index.js +2 -1
  42. package/dist/fx/index.d.ts +1 -1
  43. package/dist/fx/index.js +1 -1
  44. package/dist/{index-CzH-0LcA.d.ts → index-B1gu0_m0.d.ts} +2 -0
  45. package/dist/{index-r5THqzPN.d.ts → index-CTpMmzgN.d.ts} +2 -2
  46. package/dist/{index-DSqXWc77.d.ts → index-Dgjbo2gU.d.ts} +58 -4
  47. package/dist/index.d.ts +3 -3
  48. package/dist/index.js +10 -10
  49. package/dist/{interactions-B-7vkBgx.js → interactions-D102JxBR.js} +10 -3
  50. package/dist/jsx-dev-runtime.d.ts +2 -2
  51. package/dist/jsx-runtime-Cg7GqY1S.d.ts +2 -0
  52. package/dist/{jsx-runtime-Cdd6Gkb0.d.ts → jsx-runtime-gVIaTPw0.d.ts} +2 -2
  53. package/dist/jsx-runtime.d.ts +2 -2
  54. package/dist/{lifecycle-batch-BYECQw8T.js → lifecycle-batch-63aXFf2S.js} +2 -2
  55. package/dist/{lifecycle-operations-DJk_5MrD.js → lifecycle-operations-Q0k3EFnG.js} +94 -2
  56. package/dist/{navigate-wel1e6cU.d.ts → navigate-F4sHgWbw.d.ts} +3 -1
  57. package/dist/{navigate-DvJvo--6.js → navigate-ZZu1IV0B.js} +88 -13
  58. package/dist/{readable-D-JIKCg2.js → readable-Di1fzSwm.js} +1 -1
  59. package/dist/{renderer-RjZ8LHbt.js → renderer-Cl23O0hV.js} +154 -137
  60. package/dist/{resolution-dVYwYXrI.js → resolution-ClD-K7Lz.js} +3 -3
  61. package/dist/{resource-operation-4qFIM02d.js → resource-operation-Vz1S5h2k.js} +4 -4
  62. package/dist/resources/index.d.ts +3 -37
  63. package/dist/resources/index.js +6 -6
  64. package/dist/router/index.d.ts +4 -4
  65. package/dist/router/index.js +7 -7
  66. package/dist/{selector-NQiYHwZC.js → selector-CsKuomw0.js} +17 -16
  67. package/dist/shared-CYBH3F8I.js +27 -0
  68. package/dist/ssg/index.d.ts +1 -1
  69. package/dist/ssg/index.js +4 -4
  70. package/dist/ssr/index.d.ts +8 -2
  71. package/dist/ssr/index.js +1 -1
  72. package/dist/{ssr-F87AcFMt.js → ssr-Doog-AfJ.js} +26 -15
  73. package/dist/{state-Ks-sWTQi.js → state-BGJgYSyQ.js} +3 -3
  74. package/dist/{structures-C-wmHCi6.js → structures-DFyK5AdQ.js} +4 -4
  75. package/dist/testing/index.d.ts +3 -1
  76. package/dist/testing/index.js +6 -5
  77. package/dist/{types-DkVJhVs9.d.ts → types-DWVrKn9N.d.ts} +5 -0
  78. package/dist/{verify-hydration-CThsx0pq.js → verify-hydration-BZPJ_kYa.js} +1 -1
  79. package/package.json +7 -7
  80. package/dist/jsx-runtime-BTzDdBJ_.d.ts +0 -2
@@ -1,17 +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-d_DCdwqn.js";
4
- import { n as isBulkCommitActive, r as markFastPathApplied } from "./fastlane-DUxiFV9S.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-xW_OnTmC.js";
8
- import { t as cleanupComponent } from "./component-cleanup-DPe8claJ.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-BYECQw8T.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-DKcYl3nl.js";
11
- import { n as createOwnedFineGrainedEffect, r as markFineGrainedEffectsDirtySource, t as createFineGrainedEffect } from "./effect-BQP5o0Kx.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-DPtpXtA4.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
+ import { n as setRef } from "./compose-ref-Bfaf4kUC.js";
13
14
  import { n as getPublicAttributeName, t as sanitizeCssValue } from "./css-BuPaTOfe.js";
14
- import { i as ROUTE_ROOT_COMPONENT, o as isUnsafeUrlAttribute } from "./csp-nonce-CCnMtOW-.js";
15
+ import { i as ROUTE_ROOT_COMPONENT, o as isUnsafeUrlAttribute } from "./csp-nonce-9NFUb7hJ.js";
15
16
  import { a as isSSRPortalHydrationAnchor } from "./portal-w3oQ6oQU.js";
16
17
  //#region src/renderer/utils.ts
17
18
  /**
@@ -97,9 +98,11 @@ function createWrappedHandler(handler, flushAfter = false) {
97
98
  }
98
99
  };
99
100
  try {
100
- if (!handlerCache.has(handler)) if (cacheSize >= MAX_CACHE_SIZE) {} else {
101
- cacheSize++;
102
- 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
+ }
103
106
  }
104
107
  const cachedByRuntime = handlerCache.get(handler)?.get(flushAfter) ?? { scoped: /* @__PURE__ */ new WeakMap() };
105
108
  if (appRuntime) cachedByRuntime.scoped.set(appRuntime, wrapped);
@@ -330,7 +333,10 @@ function registerRange(range, owner) {
330
333
  if (!owner) return;
331
334
  const previousStartOwner = ownersByAnchor.get(range.start);
332
335
  const previousEndOwner = ownersByAnchor.get(range.end);
333
- for (const previousOwner of [previousStartOwner, previousEndOwner]) if (previousOwner && previousOwner !== owner && rangesByOwner.get(previousOwner) === range) rangesByOwner.delete(previousOwner);
336
+ for (const previousOwner of [previousStartOwner, previousEndOwner]) {
337
+ const previousRange = previousOwner ? rangesByOwner.get(previousOwner) : void 0;
338
+ if (previousOwner && previousOwner !== owner && previousRange && (previousRange.start === range.start || previousRange.end === range.end)) rangesByOwner.delete(previousOwner);
339
+ }
334
340
  rangesByOwner.set(owner, range);
335
341
  ownersByAnchor.set(range.start, owner);
336
342
  if (range.end !== range.start) ownersByAnchor.set(range.end, owner);
@@ -1780,42 +1786,46 @@ function syncElementPropBindings(el, domVNode, props, usesReactiveChildren) {
1780
1786
  } else applyScalarPropValue(el, key, value, domVNode.type);
1781
1787
  }
1782
1788
  removeStaleAttributes(el, domVNode, props);
1783
- if (existingListeners && existingListeners.size > 0) if (desiredListenerKeys === null) {
1784
- existingListeners.forEach((entry) => {
1785
- if (entry.isDelegated) removeDelegatedListener(el, entry.eventName);
1786
- else if (entry.options !== void 0) el.removeEventListener(entry.eventName, entry.handler, entry.options);
1787
- else el.removeEventListener(entry.eventName, entry.handler);
1788
- });
1789
- elementListeners.delete(el);
1790
- } else {
1791
- existingListeners.forEach((entry, listenerKey) => {
1792
- if (!desiredListenerKeys.has(listenerKey)) {
1789
+ if (existingListeners && existingListeners.size > 0) {
1790
+ if (desiredListenerKeys === null) {
1791
+ existingListeners.forEach((entry) => {
1793
1792
  if (entry.isDelegated) removeDelegatedListener(el, entry.eventName);
1794
1793
  else if (entry.options !== void 0) el.removeEventListener(entry.eventName, entry.handler, entry.options);
1795
1794
  else el.removeEventListener(entry.eventName, entry.handler);
1796
- existingListeners.delete(listenerKey);
1797
- }
1798
- });
1799
- 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
+ }
1800
1808
  }
1801
1809
  const delegatedHandlers = getDelegatedHandlersForElement(el);
1802
1810
  if (delegatedHandlers && delegatedHandlers.size > 0) {
1803
1811
  if (desiredDelegatedEventNames === null) for (const eventName of delegatedHandlers.keys()) removeDelegatedListener(el, eventName);
1804
1812
  else for (const eventName of delegatedHandlers.keys()) if (!desiredDelegatedEventNames.has(eventName)) removeDelegatedListener(el, eventName);
1805
1813
  }
1806
- if (existingReactiveProps && existingReactiveProps.size > 0) if (desiredReactivePropNames === null) {
1807
- existingReactiveProps.forEach((entry) => {
1808
- entry.cleanup();
1809
- });
1810
- elementReactivePropsCleanup.delete(el);
1811
- } else {
1812
- existingReactiveProps.forEach((entry, key) => {
1813
- if (!desiredReactivePropNames.has(key)) {
1814
+ if (existingReactiveProps && existingReactiveProps.size > 0) {
1815
+ if (desiredReactivePropNames === null) {
1816
+ existingReactiveProps.forEach((entry) => {
1814
1817
  entry.cleanup();
1815
- existingReactiveProps.delete(key);
1816
- }
1817
- });
1818
- 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
+ }
1819
1829
  }
1820
1830
  }
1821
1831
  //#endregion
@@ -1907,13 +1917,8 @@ function restoreFormControl(element, snapshot) {
1907
1917
  if (checked !== void 0 && "checked" in control) control.checked = checked;
1908
1918
  }
1909
1919
  function applyRefValue(ref, value) {
1910
- if (!ref) return;
1911
1920
  try {
1912
- if (typeof ref === "function") {
1913
- ref(value);
1914
- return;
1915
- }
1916
- if (Object.isExtensible(ref)) ref.current = value;
1921
+ setRef(ref, value);
1917
1922
  } catch {}
1918
1923
  }
1919
1924
  function restoreRef(element, snapshot) {
@@ -4136,17 +4141,18 @@ function updateUnkeyedChildren(parent, newChildren, forceUpdate = false) {
4136
4141
  const next = newChildren[i];
4137
4142
  const current = c[i];
4138
4143
  if (!current || next === void 0) continue;
4139
- if (_isDOMElement(next) && typeof next.type === "string") if (tagsEqualIgnoreCase(current.tagName, next.type)) {
4140
- domHost.updateElementFromVnode(current, next, true, forceUpdate);
4141
- retireComponentOwnersForIntrinsicReuse(current);
4142
- } else {
4143
- const dom = domHost.createDOMNode(next, parentNamespace);
4144
- if (dom) {
4145
- teardownNodeSubtree(current);
4146
- 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
+ }
4147
4154
  }
4148
- }
4149
- else if (_isDOMElement(next)) {
4155
+ } else if (_isDOMElement(next)) {
4150
4156
  if (trySyncControlBoundaryChild(parent, current, next)) continue;
4151
4157
  if (!trySyncComponentChild(current, next)) {
4152
4158
  const dom = domHost.createDOMNode(next, parentNamespace);
@@ -4184,65 +4190,69 @@ function updateUnkeyedChildren(parent, newChildren, forceUpdate = false) {
4184
4190
  continue;
4185
4191
  }
4186
4192
  if (!currentNode || nextIsEmpty) continue;
4187
- if (typeof next === "string" || typeof next === "number") if (currentNode.nodeType === 3) currentNode.data = String(next);
4188
- else {
4189
- const textNode = document.createTextNode(String(next));
4190
- teardownNodeSubtree(currentNode);
4191
- parent.replaceChild(textNode, currentNode);
4192
- }
4193
- else if (_isDOMElement(next)) if (currentNode.nodeType === 1) {
4194
- const currentEl = currentNode;
4195
- if (typeof next.type === "string") if (tagsEqualIgnoreCase(currentEl.tagName, next.type)) {
4196
- domHost.updateElementFromVnode(currentEl, next, true, forceUpdate);
4197
- retireComponentOwnersForIntrinsicReuse(currentEl);
4198
- } else {
4199
- const dom = domHost.createDOMNode(next, parentNamespace);
4200
- if (dom) {
4201
- teardownNodeSubtree(currentEl);
4202
- if (currentNode.parentNode === parent) parent.replaceChild(dom, currentNode);
4203
- else if (dom.parentNode !== parent) parent.insertBefore(dom, parent.childNodes[i] ?? null);
4204
- }
4205
- }
4193
+ if (typeof next === "string" || typeof next === "number") {
4194
+ if (currentNode.nodeType === 3) currentNode.data = String(next);
4206
4195
  else {
4207
- if (trySyncControlBoundaryChild(parent, currentNode, next)) continue;
4208
- const remainingExpected = newChildren.length - i - 1;
4209
- const hydrationRangeEndIndex = allNodes.length - remainingExpected;
4210
- const synced = trySyncComponentChild(currentEl, next, hydrationRangeEndIndex > i ? allNodes[hydrationRangeEndIndex] ?? null : void 0);
4211
- if (synced && isRangeStart(synced)) {
4212
- replaceHydratedRangeInSnapshot(allNodes, i, synced, hydrationRangeEndIndex);
4213
- continue;
4214
- }
4215
- if (synced && synced !== currentNode && synced.nextSibling === currentNode) {
4216
- allNodes.splice(i, 0, synced);
4217
- continue;
4218
- }
4219
- if (!synced) {
4220
- const dom = domHost.createDOMNode(next, parentNamespace);
4221
- if (dom) {
4222
- teardownNodeSubtree(currentEl);
4223
- 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
+ }
4224
4234
  }
4225
4235
  }
4226
- }
4227
- } else {
4228
- if (typeof next.type === "function") {
4229
- const remainingExpected = newChildren.length - i - 1;
4230
- const hydrationRangeEndIndex = allNodes.length - remainingExpected;
4231
- const synced = trySyncComponentChild(currentNode, next, hydrationRangeEndIndex > i ? allNodes[hydrationRangeEndIndex] ?? null : void 0);
4232
- if (synced && isRangeStart(synced)) {
4233
- replaceHydratedRangeInSnapshot(allNodes, i, synced, hydrationRangeEndIndex);
4234
- 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;
4235
4250
  }
4236
- if (synced && synced !== currentNode && synced.nextSibling === currentNode) {
4237
- allNodes.splice(i, 0, synced);
4238
- continue;
4251
+ const dom = domHost.createDOMNode(next, parentNamespace);
4252
+ if (dom) {
4253
+ teardownNodeSubtree(currentNode);
4254
+ parent.replaceChild(dom, currentNode);
4239
4255
  }
4240
- if (synced) continue;
4241
- }
4242
- const dom = domHost.createDOMNode(next, parentNamespace);
4243
- if (dom) {
4244
- teardownNodeSubtree(currentNode);
4245
- parent.replaceChild(dom, currentNode);
4246
4256
  }
4247
4257
  }
4248
4258
  }
@@ -4285,17 +4295,18 @@ function updateUnkeyedChildren(parent, newChildren, forceUpdate = false) {
4285
4295
  teardownNodeSubtree(current);
4286
4296
  parent.replaceChild(textNode, current);
4287
4297
  } else if (_isDOMElement(next)) {
4288
- if (typeof next.type === "string") if (tagsEqualIgnoreCase(current.tagName, next.type)) {
4289
- domHost.updateElementFromVnode(current, next, true, forceUpdate);
4290
- retireComponentOwnersForIntrinsicReuse(current);
4291
- } else {
4292
- const dom = domHost.createDOMNode(next, parentNamespace);
4293
- if (dom) {
4294
- teardownNodeSubtree(current);
4295
- 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
+ }
4296
4308
  }
4297
- }
4298
- else if (!trySyncComponentChild(current, next)) {
4309
+ } else if (!trySyncComponentChild(current, next)) {
4299
4310
  const dom = domHost.createDOMNode(next, parentNamespace);
4300
4311
  if (dom) {
4301
4312
  teardownNodeSubtree(current);
@@ -4739,8 +4750,10 @@ function commitForStateBoundaryChildren(parent, forState, childrenVNodes, runtim
4739
4750
  const previousChildrenSet = new Set(previousChildren);
4740
4751
  for (const node of Array.from(parent.childNodes)) if (!previousChildrenSet.has(node)) teardownNodeSubtree(node);
4741
4752
  parent.replaceChildren(...previousChildren);
4742
- if (keyedMapMayMutate) if (previousKeyedMap) keyedElements.set(parent, new Map(previousKeyedMap));
4743
- else keyedElements.delete(parent);
4753
+ if (keyedMapMayMutate) {
4754
+ if (previousKeyedMap) keyedElements.set(parent, new Map(previousKeyedMap));
4755
+ else keyedElements.delete(parent);
4756
+ }
4744
4757
  throw error;
4745
4758
  }
4746
4759
  }
@@ -5719,12 +5732,13 @@ function trySyncControlBoundaryChild(parent, currentNode, next) {
5719
5732
  if (nextDom && !rangeContains(nextDom, removedNode) && !nextDom.start.parentNode) insertRangeBefore(parent, nextDom, removedNode);
5720
5733
  else parent.removeChild(removedNode);
5721
5734
  }
5722
- if (nextDom && nextDom.start.parentNode !== parent) if (currentNode?.parentNode === parent && !rangeContains(nextDom, currentNode)) {
5723
- teardownNodeSubtree(currentNode);
5724
- insertRangeBefore(parent, nextDom, currentNode);
5725
- currentNode.parentNode?.removeChild(currentNode);
5726
- } else insertRangeBefore(parent, nextDom);
5727
- 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) {
5728
5742
  teardownNodeSubtree(currentNode);
5729
5743
  parent.removeChild(currentNode);
5730
5744
  }
@@ -6831,9 +6845,10 @@ function commitBlueprintBinding(binding, value, host) {
6831
6845
  return;
6832
6846
  }
6833
6847
  }
6834
- 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;
6835
- else applyScalarPropValue(binding.element, binding.propName, value, binding.tagName, binding.hasValue ? previousValue : void 0, binding);
6836
- 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 {
6837
6852
  const normalized = normalizeOwnedReactiveTextValue(value);
6838
6853
  if (normalized === null) {
6839
6854
  binding.textNode = null;
@@ -7139,15 +7154,17 @@ function createFragmentElement(node, props, parentNamespace) {
7139
7154
  const fragment = document.createDocumentFragment();
7140
7155
  const children = props.children ?? node.children;
7141
7156
  try {
7142
- if (children) if (Array.isArray(children)) {
7143
- maybeWarnMissingKeys(children);
7144
- for (const child of children) {
7145
- 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);
7146
7166
  if (dom) fragment.appendChild(dom);
7147
7167
  }
7148
- } else {
7149
- const dom = createDOMNode(children, parentNamespace);
7150
- if (dom) fragment.appendChild(dom);
7151
7168
  }
7152
7169
  return fragment;
7153
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-xW_OnTmC.js";
3
- import { p as isPromiseLike } from "./lifecycle-batch-BYECQw8T.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-CCnMtOW-.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-d_DCdwqn.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-xW_OnTmC.js";
4
- import { p as isPromiseLike } from "./lifecycle-batch-BYECQw8T.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-Ks-sWTQi.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-d_DCdwqn.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-xW_OnTmC.js";
4
- import { t as resource } from "../resource-operation-4qFIM02d.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-DJk_5MrD.js";
6
- import { n as onRouteChange } from "../activity-B2Yy7Wz9.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,13 +1,13 @@
1
1
  import { n as createRouteRegistry } from "../manifest-D6rfj_jC.js";
2
- import { a as isSafeHref } from "../csp-nonce-CCnMtOW-.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-BRw0gbn5.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-dVYwYXrI.js";
7
- import { n as onRouteChange, t as currentRoute } from "../activity-B2Yy7Wz9.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-DvJvo--6.js";
9
- import { o as mergeProps } from "../compose-ref-1Fhs7mbF.js";
10
- import { t as applyInteractionPolicy } from "../interactions-B-7vkBgx.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
+ import { i as mergeProps } from "../aria-hKjThHcp.js";
10
+ import { t as applyInteractionPolicy } from "../interactions-D102JxBR.js";
11
11
  //#region src/router/route-query.ts
12
12
  function getRouteQueryHistoryMode(options) {
13
13
  if (options.history) return options.history;
@@ -1,6 +1,6 @@
1
- import { t as enqueueRuntimeLane } from "./access-d_DCdwqn.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-D-JIKCg2.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);
@@ -0,0 +1,27 @@
1
+ import { l as notifyReadableReaders, o as markReactivePropsDirtySource, s as markReadableDerivedSubscribersDirty } from "./readable-Di1fzSwm.js";
2
+ //#region src/data/shared.ts
3
+ function createReadableSource() {
4
+ return (() => void 0);
5
+ }
6
+ function notifySource(source) {
7
+ markReadableDerivedSubscribersDirty(source);
8
+ markReactivePropsDirtySource(source);
9
+ notifyReadableReaders(source);
10
+ }
11
+ function isAbortError(error, signal) {
12
+ return signal.aborted || error instanceof Error && error.name === "AbortError" || typeof DOMException !== "undefined" && error instanceof DOMException && error.name === "AbortError";
13
+ }
14
+ /** Whether an async result still belongs to the latest generation. */
15
+ function isCurrentAsyncGeneration(currentGeneration, capturedGeneration) {
16
+ return currentGeneration === capturedGeneration;
17
+ }
18
+ /** Whether an async result still owns both its generation and controller. */
19
+ function isCurrentAsyncOperation(currentGeneration, capturedGeneration, currentController, capturedController) {
20
+ return isCurrentAsyncGeneration(currentGeneration, capturedGeneration) && currentController === capturedController;
21
+ }
22
+ function normalizeAsyncDataError(error, fallbackMessage) {
23
+ if (error instanceof Error) return error;
24
+ return new Error(error == null ? fallbackMessage : String(error));
25
+ }
26
+ //#endregion
27
+ export { normalizeAsyncDataError as a, isCurrentAsyncOperation as i, isAbortError as n, notifySource as o, isCurrentAsyncGeneration as r, createReadableSource as t };
@@ -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