@askrjs/askr 0.0.82 → 0.0.83

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.
package/dist/benchmark.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { r as flushRuntimeScheduler } from "./access-ePqdQqkV.js";
2
- import { t as installRendererBridge } from "./renderer-7atwHjve.js";
2
+ import { t as installRendererBridge } from "./renderer-VSw0KKDG.js";
3
3
  import { t as state } from "./state-BCl9DeiN.js";
4
4
  import { t as selector } from "./selector-DVwvof1M.js";
5
5
  import { i as For } from "./control-C0X1zgrM.js";
6
6
  import { jsx, jsxs } from "./jsx-runtime.js";
7
- import { t as createIsland } from "./boot-C7Q1dWzA.js";
7
+ import { t as createIsland } from "./boot-uK1hzONI.js";
8
8
  //#region src/bench/components/benchmark-row.tsx
9
9
  function BenchmarkRow({ item, isSelected, onSelect, onRemove }) {
10
10
  return /* @__PURE__ */ jsxs("tr", {
@@ -63,8 +63,8 @@ function BenchmarkTable({ rows, isSelected, onSelect, onRemove }) {
63
63
  installRendererBridge();
64
64
  const benchmarkMetadata = {
65
65
  packageName: "@askrjs/askr",
66
- packageVersion: "0.0.82",
67
- buildLabel: "0.0.82-local"
66
+ packageVersion: "0.0.83",
67
+ buildLabel: "0.0.83-local"
68
68
  };
69
69
  function getBenchmarkMetadata() {
70
70
  return { ...benchmarkMetadata };
@@ -1,2 +1,2 @@
1
- import { a as cleanupApp, i as hydrateSPA, n as createIslands, o as hasApp, r as createSPA, t as createIsland } from "../boot-C7Q1dWzA.js";
1
+ import { a as cleanupApp, i as hydrateSPA, n as createIslands, o as hasApp, r as createSPA, t as createIsland } from "../boot-uK1hzONI.js";
2
2
  export { cleanupApp, createIsland, createIslands, createSPA, hasApp, hydrateSPA };
@@ -3,7 +3,7 @@ import { n as Fragment, t as ELEMENT_TYPE } from "./jsx-C3IECePB.js";
3
3
  import { n as createComponentInstance, r as executeComponent } from "./component-internal-DsM75Gl1.js";
4
4
  import { t as cleanupComponent } from "./component-cleanup-oWN45rfa.js";
5
5
  import { p as isPromiseLike } from "./lifecycle-batch-CwHCDseR.js";
6
- import { a as withIntrinsicHydrationAdoption, c as beginHydrationListenerTransaction, d as setStaticChildSlotsCacheEnabled, i as registerDeferredHydrationBoundary, l as commitHydrationListenerTransaction, n as activateHydrationBoundary$1, o as beginHydrationDirectListenerMode, r as clearDeferredHydrationBoundaries, s as endHydrationDirectListenerMode, t as installRendererBridge, u as discardHydrationListenerTransaction } from "./renderer-7atwHjve.js";
6
+ import { a as withIntrinsicHydrationAdoption, c as beginHydrationListenerTransaction, d as setStaticChildSlotsCacheEnabled, i as registerDeferredHydrationBoundary, l as commitHydrationListenerTransaction, n as activateHydrationBoundary$1, o as beginHydrationDirectListenerMode, r as clearDeferredHydrationBoundaries, s as endHydrationDirectListenerMode, t as installRendererBridge, u as discardHydrationListenerTransaction } from "./renderer-VSw0KKDG.js";
7
7
  import { _ as teardownNodeSubtree, d as removeAllListeners } from "./cleanup-CEF-cX49.js";
8
8
  import { T as assertExecutionModel, c as _applyManifest, d as getRouteRenderContext, f as getRouteRenderData, m as resolveRouteRequest, o as reviveDeferredValue, p as hasRouteRenderData, v as pageRenderEnvelope } from "./deferred-rdHAgyKe.js";
9
9
  import { c as stopHydrationRenderPhase, o as startHydrationRenderPhase } from "./render-context-D-DFk2WN.js";
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ import { g as readScope, u as defineScope } from "./component-internal-DsM75Gl1.
4
4
  import { f as syncDerivedDependencySubscriptions, l as notifyReadableReaders, o as markReactivePropsDirtySource, p as withDerivedReadTracking, r as clearDerivedDependencySubscriptions, s as markReadableDerivedSubscribersDirty, u as recordReadableRead } from "./readable-B3VIOfd7.js";
5
5
  import { g as getSignal, i as claimHookIndex, p as getCurrentInstance } from "./component-scope-DzJEbYGE.js";
6
6
  import { n as isSnapshotSource } from "./snapshot-source-BB42xgwb.js";
7
- import { t as installRendererBridge } from "./renderer-7atwHjve.js";
7
+ import { t as installRendererBridge } from "./renderer-VSw0KKDG.js";
8
8
  import { a as registerSSRStyle } from "./render-context-D-DFk2WN.js";
9
9
  import { t as state } from "./state-BCl9DeiN.js";
10
10
  import { t as selector } from "./selector-DVwvof1M.js";
@@ -4432,7 +4432,12 @@ function adoptHydratedRange(parent, scope, before, vnode) {
4432
4432
  return range;
4433
4433
  }
4434
4434
  function getScopeRange(scope) {
4435
- if (scope.range) return scope.range;
4435
+ if (scope.range) {
4436
+ const host = scope.range.start;
4437
+ const ownedRange = host.__ASKR_INSTANCE ? getOwnedRange(host.__ASKR_INSTANCE) : void 0;
4438
+ if (ownedRange?.start === scope.range.start) scope.range = ownedRange;
4439
+ return scope.range;
4440
+ }
4436
4441
  if (!scope.dom) return null;
4437
4442
  const range = {
4438
4443
  start: scope.dom,
@@ -4442,6 +4447,10 @@ function getScopeRange(scope) {
4442
4447
  scope.range = range;
4443
4448
  return range;
4444
4449
  }
4450
+ function getRangeComponentFunction(range) {
4451
+ if (!range) return void 0;
4452
+ return range.start.__ASKR_INSTANCE?.fn;
4453
+ }
4445
4454
  function materializeChildScopeRange(vnode, parentNamespace, scope, scopeAlreadyActive = false) {
4446
4455
  const previousInstance = scope && !scopeAlreadyActive ? enterDomCommitScope(scope.componentInstance) : null;
4447
4456
  let dom;
@@ -4479,8 +4488,10 @@ function syncControlBoundaryScopeDom(parent, scope, vnode, before = null, allowH
4479
4488
  return resolvedRange;
4480
4489
  }
4481
4490
  if (_isDOMElement(vnode) && typeof vnode.type === "function") {
4482
- const synced = host.syncComponentElement(dom, vnode, vnode.type, (vnode.props ?? {}) || {}, getBoundaryParentNamespace(parent));
4491
+ if (resolvedRange && !resolvedRange.single && getRangeComponentFunction(resolvedRange) === vnode.type) return resolvedRange;
4492
+ const synced = host.syncComponentElement(resolvedRange?.start ?? dom, vnode, vnode.type, (vnode.props ?? {}) || {}, getBoundaryParentNamespace(parent));
4483
4493
  if (synced) {
4494
+ if (resolvedRange && !resolvedRange.single) return getScopeRange(scope);
4484
4495
  const nextRange = {
4485
4496
  start: synced,
4486
4497
  end: synced,
@@ -4530,10 +4541,6 @@ function teardownBoundaryRangeNode(node) {
4530
4541
  teardownNodeSubtree(node);
4531
4542
  node.parentNode?.removeChild(node);
4532
4543
  }
4533
- function syncControlBoundaryScopeNode(parent, scope, vnode) {
4534
- const range = syncControlBoundaryScopeDom(parent, scope, vnode, null, true, false);
4535
- return range?.single ? range.start : null;
4536
- }
4537
4544
  function syncControlBoundaryInMixedParent(parent, controlState, childrenVNodes, before) {
4538
4545
  if (controlState.kind === "for") {
4539
4546
  const ownedNodes = /* @__PURE__ */ new Set();
@@ -4754,6 +4761,10 @@ function createForBoundary(node, props, parentNamespace) {
4754
4761
  }
4755
4762
  //#endregion
4756
4763
  //#region src/renderer/boundaries.ts
4764
+ function syncControlBoundaryScopeNode(parent, scope, vnode) {
4765
+ const range = syncControlBoundaryScopeDom(parent, scope, vnode, null, true, false);
4766
+ return range?.single ? range.start : null;
4767
+ }
4757
4768
  let boundaryDOMHost = null;
4758
4769
  function configureBoundaryDOMHost(host) {
4759
4770
  boundaryDOMHost = host;
@@ -1,7 +1,7 @@
1
1
  import { r as flushRuntimeScheduler } from "../access-ePqdQqkV.js";
2
2
  import { r as computeRouteActivityMatches } from "../route-matching-BUwz4kfl.js";
3
3
  import { l as addInvalidationListener } from "../data-runtime-D68YOo9L.js";
4
- import { a as cleanupApp, r as createSPA, t as createIsland } from "../boot-C7Q1dWzA.js";
4
+ import { a as cleanupApp, r as createSPA, t as createIsland } from "../boot-uK1hzONI.js";
5
5
  //#region src/testing/render.ts
6
6
  const renderStates = /* @__PURE__ */ new WeakMap();
7
7
  const eventConstructorNames = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askrjs/askr",
3
- "version": "0.0.82",
3
+ "version": "0.0.83",
4
4
  "description": "Actor-backed deterministic UI framework",
5
5
  "keywords": [
6
6
  "askr",