@uniformdev/next-app-router 20.63.0 → 20.63.1-alpha.18

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.
@@ -1,8 +1,8 @@
1
1
  import { RootComponentInstance, ComponentInstance } from '@uniformdev/canvas';
2
2
  import { ComponentProps } from '@uniformdev/next-app-router-shared';
3
3
  import React, { ComponentType } from 'react';
4
- import { D as DataClient } from './client-BCGVjYM-.js';
5
- import { a as ResolvedRouteResult, R as ResolveRouteFunction } from './resolveRouteFromCode-DgTsfMK8.js';
4
+ import { D as DataClient } from './client-BlKZeE6C.js';
5
+ import { a as ResolvedRouteResult, R as ResolveRouteFunction } from './resolveRouteFromCode-3u61IwOW.js';
6
6
  import { ClientContextComponent } from '@uniformdev/next-app-router-client';
7
7
 
8
8
  type CompositionCache = {
@@ -1,8 +1,8 @@
1
1
  import { RootComponentInstance, ComponentInstance } from '@uniformdev/canvas';
2
2
  import { ComponentProps } from '@uniformdev/next-app-router-shared';
3
3
  import React, { ComponentType } from 'react';
4
- import { D as DataClient } from './client-BCGVjYM-.mjs';
5
- import { a as ResolvedRouteResult, R as ResolveRouteFunction } from './resolveRouteFromCode-CKaYNXte.mjs';
4
+ import { D as DataClient } from './client-BlKZeE6C.mjs';
5
+ import { a as ResolvedRouteResult, R as ResolveRouteFunction } from './resolveRouteFromCode-_CdAMtVM.mjs';
6
6
  import { ClientContextComponent } from '@uniformdev/next-app-router-client';
7
7
 
8
8
  type CompositionCache = {
package/dist/cache.d.mts CHANGED
@@ -1,7 +1,7 @@
1
- import { R as ResolveRouteFunction } from './resolveRouteFromCode-CKaYNXte.mjs';
1
+ import { R as ResolveRouteFunction } from './resolveRouteFromCode-_CdAMtVM.mjs';
2
2
  import '@uniformdev/canvas';
3
3
  import '@uniformdev/next-app-router-shared';
4
- import './client-BCGVjYM-.mjs';
4
+ import './client-BlKZeE6C.mjs';
5
5
  import '@uniformdev/context';
6
6
 
7
7
  declare const resolveRouteFromCode: ResolveRouteFunction;
package/dist/cache.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { R as ResolveRouteFunction } from './resolveRouteFromCode-DgTsfMK8.js';
1
+ import { R as ResolveRouteFunction } from './resolveRouteFromCode-3u61IwOW.js';
2
2
  import '@uniformdev/canvas';
3
3
  import '@uniformdev/next-app-router-shared';
4
- import './client-BCGVjYM-.js';
4
+ import './client-BlKZeE6C.js';
5
5
  import '@uniformdev/context';
6
6
 
7
7
  declare const resolveRouteFromCode: ResolveRouteFunction;
@@ -1,4 +1,4 @@
1
- import { RouteGetParameters, RouteGetResponseEdgehancedComposition, RouteClient, RouteGetResponse } from '@uniformdev/canvas';
1
+ import { RouteGetParameters, RouteGetResponse, RouteClient, RouteGetResponseEdgehancedComposition } from '@uniformdev/canvas';
2
2
  import { ManifestV2 } from '@uniformdev/context';
3
3
  import { PageState } from '@uniformdev/next-app-router-shared';
4
4
 
@@ -1,4 +1,4 @@
1
- import { RouteGetParameters, RouteGetResponseEdgehancedComposition, RouteClient, RouteGetResponse } from '@uniformdev/canvas';
1
+ import { RouteGetParameters, RouteGetResponse, RouteClient, RouteGetResponseEdgehancedComposition } from '@uniformdev/canvas';
2
2
  import { ManifestV2 } from '@uniformdev/context';
3
3
  import { PageState } from '@uniformdev/next-app-router-shared';
4
4
 
package/dist/compat.d.mts CHANGED
@@ -1,12 +1,12 @@
1
1
  import React, { ComponentType } from 'react';
2
2
  import { ComponentProps as ComponentProps$1, ComponentParameter } from '@uniformdev/next-app-router-shared';
3
3
  import { U as UniformTextProps$1 } from './UniformText-ChMwHBw4.mjs';
4
- import { R as ResolveComponentResult, a as ResolveComponentFunction } from './UniformComposition-hhRIBHmn.mjs';
4
+ import { R as ResolveComponentResult, a as ResolveComponentFunction } from './UniformComposition-scIgVvIH.mjs';
5
5
  import '@uniformdev/next-app-router-client';
6
6
  import '@uniformdev/canvas';
7
- import './client-BCGVjYM-.mjs';
7
+ import './client-BlKZeE6C.mjs';
8
8
  import '@uniformdev/context';
9
- import './resolveRouteFromCode-CKaYNXte.mjs';
9
+ import './resolveRouteFromCode-_CdAMtVM.mjs';
10
10
 
11
11
  type ComponentContext = ComponentProps$1['component'] & {
12
12
  parameters: Record<string, ComponentParameter>;
package/dist/compat.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import React, { ComponentType } from 'react';
2
2
  import { ComponentProps as ComponentProps$1, ComponentParameter } from '@uniformdev/next-app-router-shared';
3
3
  import { U as UniformTextProps$1 } from './UniformText-ChMwHBw4.js';
4
- import { R as ResolveComponentResult, a as ResolveComponentFunction } from './UniformComposition-d7_93l3F.js';
4
+ import { R as ResolveComponentResult, a as ResolveComponentFunction } from './UniformComposition-BV6YnA2a.js';
5
5
  import '@uniformdev/next-app-router-client';
6
6
  import '@uniformdev/canvas';
7
- import './client-BCGVjYM-.js';
7
+ import './client-BlKZeE6C.js';
8
8
  import '@uniformdev/context';
9
- import './resolveRouteFromCode-DgTsfMK8.js';
9
+ import './resolveRouteFromCode-3u61IwOW.js';
10
10
 
11
11
  type ComponentContext = ComponentProps$1['component'] & {
12
12
  parameters: Record<string, ComponentParameter>;
package/dist/index.d.mts CHANGED
@@ -2,12 +2,12 @@ import { CanvasClient, RouteClient, ComponentInstance } from '@uniformdev/canvas
2
2
  import { CacheMode, CanvasCacheMode, ManifestCacheMode, ProjectMapCacheMode, RewriteRequestPathResult } from '@uniformdev/next-app-router-shared';
3
3
  import { ManifestClient } from '@uniformdev/context/api';
4
4
  import { ProjectMapClient } from '@uniformdev/project-map';
5
- import { U as UniformCompositionProps } from './UniformComposition-hhRIBHmn.mjs';
6
- export { C as CompositionCache, a as ResolveComponentFunction, R as ResolveComponentResult, b as UniformComposition, c as createCompositionCache } from './UniformComposition-hhRIBHmn.mjs';
5
+ import { U as UniformCompositionProps } from './UniformComposition-scIgVvIH.mjs';
6
+ export { C as CompositionCache, a as ResolveComponentFunction, R as ResolveComponentResult, b as UniformComposition, c as createCompositionCache } from './UniformComposition-scIgVvIH.mjs';
7
7
  import React from 'react';
8
- export { D as DataClient, a as DefaultDataClient, E as EnhanceRouteOptions, G as GetRouteFromMiddlewareOptions, b as GetRouteFromPageStateOptions, c as GetRouteOptions, R as RewriteRouteOptions, d as RewriteRouteResult, e as expireMiddlewareCacheTag } from './client-BCGVjYM-.mjs';
9
- import { a as ResolvedRouteResult } from './resolveRouteFromCode-CKaYNXte.mjs';
10
- export { R as ResolveRouteFunction, r as resolveRouteFromCode } from './resolveRouteFromCode-CKaYNXte.mjs';
8
+ export { D as DataClient, a as DefaultDataClient, E as EnhanceRouteOptions, G as GetRouteFromMiddlewareOptions, b as GetRouteFromPageStateOptions, c as GetRouteOptions, R as RewriteRouteOptions, d as RewriteRouteResult, e as expireMiddlewareCacheTag } from './client-BlKZeE6C.mjs';
9
+ import { a as ResolvedRouteResult } from './resolveRouteFromCode-_CdAMtVM.mjs';
10
+ export { R as ResolveRouteFunction, r as resolveRouteFromCode } from './resolveRouteFromCode-_CdAMtVM.mjs';
11
11
  import '@uniformdev/next-app-router-client';
12
12
  import '@uniformdev/context';
13
13
 
package/dist/index.d.ts CHANGED
@@ -2,12 +2,12 @@ import { CanvasClient, RouteClient, ComponentInstance } from '@uniformdev/canvas
2
2
  import { CacheMode, CanvasCacheMode, ManifestCacheMode, ProjectMapCacheMode, RewriteRequestPathResult } from '@uniformdev/next-app-router-shared';
3
3
  import { ManifestClient } from '@uniformdev/context/api';
4
4
  import { ProjectMapClient } from '@uniformdev/project-map';
5
- import { U as UniformCompositionProps } from './UniformComposition-d7_93l3F.js';
6
- export { C as CompositionCache, a as ResolveComponentFunction, R as ResolveComponentResult, b as UniformComposition, c as createCompositionCache } from './UniformComposition-d7_93l3F.js';
5
+ import { U as UniformCompositionProps } from './UniformComposition-BV6YnA2a.js';
6
+ export { C as CompositionCache, a as ResolveComponentFunction, R as ResolveComponentResult, b as UniformComposition, c as createCompositionCache } from './UniformComposition-BV6YnA2a.js';
7
7
  import React from 'react';
8
- export { D as DataClient, a as DefaultDataClient, E as EnhanceRouteOptions, G as GetRouteFromMiddlewareOptions, b as GetRouteFromPageStateOptions, c as GetRouteOptions, R as RewriteRouteOptions, d as RewriteRouteResult, e as expireMiddlewareCacheTag } from './client-BCGVjYM-.js';
9
- import { a as ResolvedRouteResult } from './resolveRouteFromCode-DgTsfMK8.js';
10
- export { R as ResolveRouteFunction, r as resolveRouteFromCode } from './resolveRouteFromCode-DgTsfMK8.js';
8
+ export { D as DataClient, a as DefaultDataClient, E as EnhanceRouteOptions, G as GetRouteFromMiddlewareOptions, b as GetRouteFromPageStateOptions, c as GetRouteOptions, R as RewriteRouteOptions, d as RewriteRouteResult, e as expireMiddlewareCacheTag } from './client-BlKZeE6C.js';
9
+ import { a as ResolvedRouteResult } from './resolveRouteFromCode-3u61IwOW.js';
10
+ export { R as ResolveRouteFunction, r as resolveRouteFromCode } from './resolveRouteFromCode-3u61IwOW.js';
11
11
  import '@uniformdev/next-app-router-client';
12
12
  import '@uniformdev/context';
13
13
 
package/dist/index.esm.js CHANGED
@@ -1506,7 +1506,7 @@ function hasReferencedVariables(value) {
1506
1506
  return variableTokenCount;
1507
1507
  }
1508
1508
  function walkNodeTree(node, visitor, options) {
1509
- var _a, _b;
1509
+ var _a, _b, _c;
1510
1510
  const componentQueue = [
1511
1511
  {
1512
1512
  ancestorsAndSelf: Array.isArray(node) ? node : [{ node, type: "root" }],
@@ -1514,12 +1514,14 @@ function walkNodeTree(node, visitor, options) {
1514
1514
  }
1515
1515
  ];
1516
1516
  const childContexts = /* @__PURE__ */ new Map();
1517
+ const order = (_a = options == null ? void 0 : options.order) != null ? _a : "dfs";
1518
+ const takeNext = () => order === "bfs" ? componentQueue.shift() : componentQueue.pop();
1517
1519
  do {
1518
- const currentQueueEntry = componentQueue.pop();
1520
+ const currentQueueEntry = takeNext();
1519
1521
  if (!currentQueueEntry) continue;
1520
1522
  const currentComponent = currentQueueEntry.ancestorsAndSelf[0];
1521
1523
  let visitDescendants = true;
1522
- let descendantContext = (_a = childContexts.get(currentComponent.node)) != null ? _a : currentQueueEntry.context;
1524
+ let descendantContext = (_b = childContexts.get(currentComponent.node)) != null ? _b : currentQueueEntry.context;
1523
1525
  let visitorInfo;
1524
1526
  if (currentComponent.type === "root" && isRootEntryReference(currentComponent) || currentComponent.type === "block") {
1525
1527
  visitorInfo = {
@@ -1706,39 +1708,11 @@ function walkNodeTree(node, visitor, options) {
1706
1708
  continue;
1707
1709
  }
1708
1710
  const slots = "slots" in currentComponent.node && currentComponent.node.slots;
1709
- if (slots) {
1710
- const slotKeys = Object.keys(slots);
1711
- for (let slotIndex = slotKeys.length - 1; slotIndex >= 0; slotIndex--) {
1712
- const slotKey = slotKeys[slotIndex];
1713
- const components = slots[slotKey];
1714
- for (let componentIndex = components.length - 1; componentIndex >= 0; componentIndex--) {
1715
- const enqueueingComponent = components[componentIndex];
1716
- const parentSlotIndexFn = () => {
1717
- const result = currentComponent.node.slots[slotKey].findIndex(
1718
- (x) => x === enqueueingComponent
1719
- );
1720
- return result;
1721
- };
1722
- componentQueue.push({
1723
- ancestorsAndSelf: [
1724
- {
1725
- type: "slot",
1726
- node: enqueueingComponent,
1727
- parentSlot: slotKey,
1728
- parentSlotIndexFn
1729
- },
1730
- ...currentQueueEntry.ancestorsAndSelf
1731
- ],
1732
- context: descendantContext
1733
- });
1734
- }
1735
- }
1736
- }
1711
+ const childEntries = [];
1737
1712
  const properties = getPropertiesValue(currentComponent.node);
1738
1713
  if (properties) {
1739
1714
  const propertyEntries = Object.entries(properties);
1740
- for (let propIndex = propertyEntries.length - 1; propIndex >= 0; propIndex--) {
1741
- const [propKey, propObject] = propertyEntries[propIndex];
1715
+ for (const [propKey, propObject] of propertyEntries) {
1742
1716
  if (!isNestedNodeType(propObject.type)) {
1743
1717
  continue;
1744
1718
  }
@@ -1758,13 +1732,12 @@ function walkNodeTree(node, visitor, options) {
1758
1732
  continue;
1759
1733
  }
1760
1734
  }
1761
- const blocks = (_b = propObject.value) != null ? _b : [];
1762
- for (let blockIndex = blocks.length - 1; blockIndex >= 0; blockIndex--) {
1763
- const enqueueingBlock = blocks[blockIndex];
1735
+ const blocks = (_c = propObject.value) != null ? _c : [];
1736
+ for (const enqueueingBlock of blocks) {
1764
1737
  const blockIndexFn = () => {
1765
1738
  return getBlockValue(currentComponent.node, propKey).findIndex((x) => x === enqueueingBlock);
1766
1739
  };
1767
- componentQueue.push({
1740
+ childEntries.push({
1768
1741
  ancestorsAndSelf: [
1769
1742
  {
1770
1743
  type: "block",
@@ -1779,6 +1752,36 @@ function walkNodeTree(node, visitor, options) {
1779
1752
  }
1780
1753
  }
1781
1754
  }
1755
+ if (slots) {
1756
+ const slotKeys = Object.keys(slots);
1757
+ for (const slotKey of slotKeys) {
1758
+ const components = slots[slotKey];
1759
+ for (const enqueueingComponent of components) {
1760
+ const parentSlotIndexFn = () => {
1761
+ const result = currentComponent.node.slots[slotKey].findIndex(
1762
+ (x) => x === enqueueingComponent
1763
+ );
1764
+ return result;
1765
+ };
1766
+ childEntries.push({
1767
+ ancestorsAndSelf: [
1768
+ {
1769
+ type: "slot",
1770
+ node: enqueueingComponent,
1771
+ parentSlot: slotKey,
1772
+ parentSlotIndexFn
1773
+ },
1774
+ ...currentQueueEntry.ancestorsAndSelf
1775
+ ],
1776
+ context: descendantContext
1777
+ });
1778
+ }
1779
+ }
1780
+ }
1781
+ if (order === "dfs") {
1782
+ childEntries.reverse();
1783
+ }
1784
+ componentQueue.push(...childEntries);
1782
1785
  } while (componentQueue.length > 0);
1783
1786
  }
1784
1787
  function isNestedNodeType(type) {
package/dist/index.js CHANGED
@@ -1533,7 +1533,7 @@ function hasReferencedVariables(value) {
1533
1533
  return variableTokenCount;
1534
1534
  }
1535
1535
  function walkNodeTree(node, visitor, options) {
1536
- var _a, _b;
1536
+ var _a, _b, _c;
1537
1537
  const componentQueue = [
1538
1538
  {
1539
1539
  ancestorsAndSelf: Array.isArray(node) ? node : [{ node, type: "root" }],
@@ -1541,12 +1541,14 @@ function walkNodeTree(node, visitor, options) {
1541
1541
  }
1542
1542
  ];
1543
1543
  const childContexts = /* @__PURE__ */ new Map();
1544
+ const order = (_a = options == null ? void 0 : options.order) != null ? _a : "dfs";
1545
+ const takeNext = () => order === "bfs" ? componentQueue.shift() : componentQueue.pop();
1544
1546
  do {
1545
- const currentQueueEntry = componentQueue.pop();
1547
+ const currentQueueEntry = takeNext();
1546
1548
  if (!currentQueueEntry) continue;
1547
1549
  const currentComponent = currentQueueEntry.ancestorsAndSelf[0];
1548
1550
  let visitDescendants = true;
1549
- let descendantContext = (_a = childContexts.get(currentComponent.node)) != null ? _a : currentQueueEntry.context;
1551
+ let descendantContext = (_b = childContexts.get(currentComponent.node)) != null ? _b : currentQueueEntry.context;
1550
1552
  let visitorInfo;
1551
1553
  if (currentComponent.type === "root" && isRootEntryReference(currentComponent) || currentComponent.type === "block") {
1552
1554
  visitorInfo = {
@@ -1733,39 +1735,11 @@ function walkNodeTree(node, visitor, options) {
1733
1735
  continue;
1734
1736
  }
1735
1737
  const slots = "slots" in currentComponent.node && currentComponent.node.slots;
1736
- if (slots) {
1737
- const slotKeys = Object.keys(slots);
1738
- for (let slotIndex = slotKeys.length - 1; slotIndex >= 0; slotIndex--) {
1739
- const slotKey = slotKeys[slotIndex];
1740
- const components = slots[slotKey];
1741
- for (let componentIndex = components.length - 1; componentIndex >= 0; componentIndex--) {
1742
- const enqueueingComponent = components[componentIndex];
1743
- const parentSlotIndexFn = () => {
1744
- const result = currentComponent.node.slots[slotKey].findIndex(
1745
- (x) => x === enqueueingComponent
1746
- );
1747
- return result;
1748
- };
1749
- componentQueue.push({
1750
- ancestorsAndSelf: [
1751
- {
1752
- type: "slot",
1753
- node: enqueueingComponent,
1754
- parentSlot: slotKey,
1755
- parentSlotIndexFn
1756
- },
1757
- ...currentQueueEntry.ancestorsAndSelf
1758
- ],
1759
- context: descendantContext
1760
- });
1761
- }
1762
- }
1763
- }
1738
+ const childEntries = [];
1764
1739
  const properties = getPropertiesValue(currentComponent.node);
1765
1740
  if (properties) {
1766
1741
  const propertyEntries = Object.entries(properties);
1767
- for (let propIndex = propertyEntries.length - 1; propIndex >= 0; propIndex--) {
1768
- const [propKey, propObject] = propertyEntries[propIndex];
1742
+ for (const [propKey, propObject] of propertyEntries) {
1769
1743
  if (!isNestedNodeType(propObject.type)) {
1770
1744
  continue;
1771
1745
  }
@@ -1785,13 +1759,12 @@ function walkNodeTree(node, visitor, options) {
1785
1759
  continue;
1786
1760
  }
1787
1761
  }
1788
- const blocks = (_b = propObject.value) != null ? _b : [];
1789
- for (let blockIndex = blocks.length - 1; blockIndex >= 0; blockIndex--) {
1790
- const enqueueingBlock = blocks[blockIndex];
1762
+ const blocks = (_c = propObject.value) != null ? _c : [];
1763
+ for (const enqueueingBlock of blocks) {
1791
1764
  const blockIndexFn = () => {
1792
1765
  return getBlockValue(currentComponent.node, propKey).findIndex((x) => x === enqueueingBlock);
1793
1766
  };
1794
- componentQueue.push({
1767
+ childEntries.push({
1795
1768
  ancestorsAndSelf: [
1796
1769
  {
1797
1770
  type: "block",
@@ -1806,6 +1779,36 @@ function walkNodeTree(node, visitor, options) {
1806
1779
  }
1807
1780
  }
1808
1781
  }
1782
+ if (slots) {
1783
+ const slotKeys = Object.keys(slots);
1784
+ for (const slotKey of slotKeys) {
1785
+ const components = slots[slotKey];
1786
+ for (const enqueueingComponent of components) {
1787
+ const parentSlotIndexFn = () => {
1788
+ const result = currentComponent.node.slots[slotKey].findIndex(
1789
+ (x) => x === enqueueingComponent
1790
+ );
1791
+ return result;
1792
+ };
1793
+ childEntries.push({
1794
+ ancestorsAndSelf: [
1795
+ {
1796
+ type: "slot",
1797
+ node: enqueueingComponent,
1798
+ parentSlot: slotKey,
1799
+ parentSlotIndexFn
1800
+ },
1801
+ ...currentQueueEntry.ancestorsAndSelf
1802
+ ],
1803
+ context: descendantContext
1804
+ });
1805
+ }
1806
+ }
1807
+ }
1808
+ if (order === "dfs") {
1809
+ childEntries.reverse();
1810
+ }
1811
+ componentQueue.push(...childEntries);
1809
1812
  } while (componentQueue.length > 0);
1810
1813
  }
1811
1814
  function isNestedNodeType(type) {
package/dist/index.mjs CHANGED
@@ -1506,7 +1506,7 @@ function hasReferencedVariables(value) {
1506
1506
  return variableTokenCount;
1507
1507
  }
1508
1508
  function walkNodeTree(node, visitor, options) {
1509
- var _a, _b;
1509
+ var _a, _b, _c;
1510
1510
  const componentQueue = [
1511
1511
  {
1512
1512
  ancestorsAndSelf: Array.isArray(node) ? node : [{ node, type: "root" }],
@@ -1514,12 +1514,14 @@ function walkNodeTree(node, visitor, options) {
1514
1514
  }
1515
1515
  ];
1516
1516
  const childContexts = /* @__PURE__ */ new Map();
1517
+ const order = (_a = options == null ? void 0 : options.order) != null ? _a : "dfs";
1518
+ const takeNext = () => order === "bfs" ? componentQueue.shift() : componentQueue.pop();
1517
1519
  do {
1518
- const currentQueueEntry = componentQueue.pop();
1520
+ const currentQueueEntry = takeNext();
1519
1521
  if (!currentQueueEntry) continue;
1520
1522
  const currentComponent = currentQueueEntry.ancestorsAndSelf[0];
1521
1523
  let visitDescendants = true;
1522
- let descendantContext = (_a = childContexts.get(currentComponent.node)) != null ? _a : currentQueueEntry.context;
1524
+ let descendantContext = (_b = childContexts.get(currentComponent.node)) != null ? _b : currentQueueEntry.context;
1523
1525
  let visitorInfo;
1524
1526
  if (currentComponent.type === "root" && isRootEntryReference(currentComponent) || currentComponent.type === "block") {
1525
1527
  visitorInfo = {
@@ -1706,39 +1708,11 @@ function walkNodeTree(node, visitor, options) {
1706
1708
  continue;
1707
1709
  }
1708
1710
  const slots = "slots" in currentComponent.node && currentComponent.node.slots;
1709
- if (slots) {
1710
- const slotKeys = Object.keys(slots);
1711
- for (let slotIndex = slotKeys.length - 1; slotIndex >= 0; slotIndex--) {
1712
- const slotKey = slotKeys[slotIndex];
1713
- const components = slots[slotKey];
1714
- for (let componentIndex = components.length - 1; componentIndex >= 0; componentIndex--) {
1715
- const enqueueingComponent = components[componentIndex];
1716
- const parentSlotIndexFn = () => {
1717
- const result = currentComponent.node.slots[slotKey].findIndex(
1718
- (x) => x === enqueueingComponent
1719
- );
1720
- return result;
1721
- };
1722
- componentQueue.push({
1723
- ancestorsAndSelf: [
1724
- {
1725
- type: "slot",
1726
- node: enqueueingComponent,
1727
- parentSlot: slotKey,
1728
- parentSlotIndexFn
1729
- },
1730
- ...currentQueueEntry.ancestorsAndSelf
1731
- ],
1732
- context: descendantContext
1733
- });
1734
- }
1735
- }
1736
- }
1711
+ const childEntries = [];
1737
1712
  const properties = getPropertiesValue(currentComponent.node);
1738
1713
  if (properties) {
1739
1714
  const propertyEntries = Object.entries(properties);
1740
- for (let propIndex = propertyEntries.length - 1; propIndex >= 0; propIndex--) {
1741
- const [propKey, propObject] = propertyEntries[propIndex];
1715
+ for (const [propKey, propObject] of propertyEntries) {
1742
1716
  if (!isNestedNodeType(propObject.type)) {
1743
1717
  continue;
1744
1718
  }
@@ -1758,13 +1732,12 @@ function walkNodeTree(node, visitor, options) {
1758
1732
  continue;
1759
1733
  }
1760
1734
  }
1761
- const blocks = (_b = propObject.value) != null ? _b : [];
1762
- for (let blockIndex = blocks.length - 1; blockIndex >= 0; blockIndex--) {
1763
- const enqueueingBlock = blocks[blockIndex];
1735
+ const blocks = (_c = propObject.value) != null ? _c : [];
1736
+ for (const enqueueingBlock of blocks) {
1764
1737
  const blockIndexFn = () => {
1765
1738
  return getBlockValue(currentComponent.node, propKey).findIndex((x) => x === enqueueingBlock);
1766
1739
  };
1767
- componentQueue.push({
1740
+ childEntries.push({
1768
1741
  ancestorsAndSelf: [
1769
1742
  {
1770
1743
  type: "block",
@@ -1779,6 +1752,36 @@ function walkNodeTree(node, visitor, options) {
1779
1752
  }
1780
1753
  }
1781
1754
  }
1755
+ if (slots) {
1756
+ const slotKeys = Object.keys(slots);
1757
+ for (const slotKey of slotKeys) {
1758
+ const components = slots[slotKey];
1759
+ for (const enqueueingComponent of components) {
1760
+ const parentSlotIndexFn = () => {
1761
+ const result = currentComponent.node.slots[slotKey].findIndex(
1762
+ (x) => x === enqueueingComponent
1763
+ );
1764
+ return result;
1765
+ };
1766
+ childEntries.push({
1767
+ ancestorsAndSelf: [
1768
+ {
1769
+ type: "slot",
1770
+ node: enqueueingComponent,
1771
+ parentSlot: slotKey,
1772
+ parentSlotIndexFn
1773
+ },
1774
+ ...currentQueueEntry.ancestorsAndSelf
1775
+ ],
1776
+ context: descendantContext
1777
+ });
1778
+ }
1779
+ }
1780
+ }
1781
+ if (order === "dfs") {
1782
+ childEntries.reverse();
1783
+ }
1784
+ componentQueue.push(...childEntries);
1782
1785
  } while (componentQueue.length > 0);
1783
1786
  }
1784
1787
  function isNestedNodeType(type) {
@@ -1,7 +1,7 @@
1
1
  import { Quirks } from '@uniformdev/context';
2
- import { PageState, RewriteRequestPathResult } from '@uniformdev/next-app-router-shared';
2
+ import { RewriteRequestPathResult, PageState } from '@uniformdev/next-app-router-shared';
3
3
  import { NextRequest, NextResponse } from 'next/server';
4
- import { D as DataClient } from './client-BCGVjYM-.mjs';
4
+ import { D as DataClient } from './client-BlKZeE6C.mjs';
5
5
  import '@uniformdev/canvas';
6
6
 
7
7
  type RewriteOptions = {
@@ -1,7 +1,7 @@
1
1
  import { Quirks } from '@uniformdev/context';
2
- import { PageState, RewriteRequestPathResult } from '@uniformdev/next-app-router-shared';
2
+ import { RewriteRequestPathResult, PageState } from '@uniformdev/next-app-router-shared';
3
3
  import { NextRequest, NextResponse } from 'next/server';
4
- import { D as DataClient } from './client-BCGVjYM-.js';
4
+ import { D as DataClient } from './client-BlKZeE6C.js';
5
5
  import '@uniformdev/canvas';
6
6
 
7
7
  type RewriteOptions = {
@@ -1709,7 +1709,7 @@ function hasReferencedVariables(value) {
1709
1709
  return variableTokenCount;
1710
1710
  }
1711
1711
  function walkNodeTree(node, visitor, options) {
1712
- var _a, _b;
1712
+ var _a, _b, _c;
1713
1713
  const componentQueue = [
1714
1714
  {
1715
1715
  ancestorsAndSelf: Array.isArray(node) ? node : [{ node, type: "root" }],
@@ -1717,12 +1717,14 @@ function walkNodeTree(node, visitor, options) {
1717
1717
  }
1718
1718
  ];
1719
1719
  const childContexts = /* @__PURE__ */ new Map();
1720
+ const order = (_a = options == null ? void 0 : options.order) != null ? _a : "dfs";
1721
+ const takeNext = () => order === "bfs" ? componentQueue.shift() : componentQueue.pop();
1720
1722
  do {
1721
- const currentQueueEntry = componentQueue.pop();
1723
+ const currentQueueEntry = takeNext();
1722
1724
  if (!currentQueueEntry) continue;
1723
1725
  const currentComponent = currentQueueEntry.ancestorsAndSelf[0];
1724
1726
  let visitDescendants = true;
1725
- let descendantContext = (_a = childContexts.get(currentComponent.node)) != null ? _a : currentQueueEntry.context;
1727
+ let descendantContext = (_b = childContexts.get(currentComponent.node)) != null ? _b : currentQueueEntry.context;
1726
1728
  let visitorInfo;
1727
1729
  if (currentComponent.type === "root" && isRootEntryReference(currentComponent) || currentComponent.type === "block") {
1728
1730
  visitorInfo = {
@@ -1909,39 +1911,11 @@ function walkNodeTree(node, visitor, options) {
1909
1911
  continue;
1910
1912
  }
1911
1913
  const slots = "slots" in currentComponent.node && currentComponent.node.slots;
1912
- if (slots) {
1913
- const slotKeys = Object.keys(slots);
1914
- for (let slotIndex = slotKeys.length - 1; slotIndex >= 0; slotIndex--) {
1915
- const slotKey = slotKeys[slotIndex];
1916
- const components = slots[slotKey];
1917
- for (let componentIndex = components.length - 1; componentIndex >= 0; componentIndex--) {
1918
- const enqueueingComponent = components[componentIndex];
1919
- const parentSlotIndexFn = () => {
1920
- const result = currentComponent.node.slots[slotKey].findIndex(
1921
- (x) => x === enqueueingComponent
1922
- );
1923
- return result;
1924
- };
1925
- componentQueue.push({
1926
- ancestorsAndSelf: [
1927
- {
1928
- type: "slot",
1929
- node: enqueueingComponent,
1930
- parentSlot: slotKey,
1931
- parentSlotIndexFn
1932
- },
1933
- ...currentQueueEntry.ancestorsAndSelf
1934
- ],
1935
- context: descendantContext
1936
- });
1937
- }
1938
- }
1939
- }
1914
+ const childEntries = [];
1940
1915
  const properties = getPropertiesValue(currentComponent.node);
1941
1916
  if (properties) {
1942
1917
  const propertyEntries = Object.entries(properties);
1943
- for (let propIndex = propertyEntries.length - 1; propIndex >= 0; propIndex--) {
1944
- const [propKey, propObject] = propertyEntries[propIndex];
1918
+ for (const [propKey, propObject] of propertyEntries) {
1945
1919
  if (!isNestedNodeType(propObject.type)) {
1946
1920
  continue;
1947
1921
  }
@@ -1961,13 +1935,12 @@ function walkNodeTree(node, visitor, options) {
1961
1935
  continue;
1962
1936
  }
1963
1937
  }
1964
- const blocks = (_b = propObject.value) != null ? _b : [];
1965
- for (let blockIndex = blocks.length - 1; blockIndex >= 0; blockIndex--) {
1966
- const enqueueingBlock = blocks[blockIndex];
1938
+ const blocks = (_c = propObject.value) != null ? _c : [];
1939
+ for (const enqueueingBlock of blocks) {
1967
1940
  const blockIndexFn = () => {
1968
1941
  return getBlockValue(currentComponent.node, propKey).findIndex((x) => x === enqueueingBlock);
1969
1942
  };
1970
- componentQueue.push({
1943
+ childEntries.push({
1971
1944
  ancestorsAndSelf: [
1972
1945
  {
1973
1946
  type: "block",
@@ -1982,6 +1955,36 @@ function walkNodeTree(node, visitor, options) {
1982
1955
  }
1983
1956
  }
1984
1957
  }
1958
+ if (slots) {
1959
+ const slotKeys = Object.keys(slots);
1960
+ for (const slotKey of slotKeys) {
1961
+ const components = slots[slotKey];
1962
+ for (const enqueueingComponent of components) {
1963
+ const parentSlotIndexFn = () => {
1964
+ const result = currentComponent.node.slots[slotKey].findIndex(
1965
+ (x) => x === enqueueingComponent
1966
+ );
1967
+ return result;
1968
+ };
1969
+ childEntries.push({
1970
+ ancestorsAndSelf: [
1971
+ {
1972
+ type: "slot",
1973
+ node: enqueueingComponent,
1974
+ parentSlot: slotKey,
1975
+ parentSlotIndexFn
1976
+ },
1977
+ ...currentQueueEntry.ancestorsAndSelf
1978
+ ],
1979
+ context: descendantContext
1980
+ });
1981
+ }
1982
+ }
1983
+ }
1984
+ if (order === "dfs") {
1985
+ childEntries.reverse();
1986
+ }
1987
+ componentQueue.push(...childEntries);
1985
1988
  } while (componentQueue.length > 0);
1986
1989
  }
1987
1990
  function isNestedNodeType(type) {
@@ -1694,7 +1694,7 @@ function hasReferencedVariables(value) {
1694
1694
  return variableTokenCount;
1695
1695
  }
1696
1696
  function walkNodeTree(node, visitor, options) {
1697
- var _a, _b;
1697
+ var _a, _b, _c;
1698
1698
  const componentQueue = [
1699
1699
  {
1700
1700
  ancestorsAndSelf: Array.isArray(node) ? node : [{ node, type: "root" }],
@@ -1702,12 +1702,14 @@ function walkNodeTree(node, visitor, options) {
1702
1702
  }
1703
1703
  ];
1704
1704
  const childContexts = /* @__PURE__ */ new Map();
1705
+ const order = (_a = options == null ? void 0 : options.order) != null ? _a : "dfs";
1706
+ const takeNext = () => order === "bfs" ? componentQueue.shift() : componentQueue.pop();
1705
1707
  do {
1706
- const currentQueueEntry = componentQueue.pop();
1708
+ const currentQueueEntry = takeNext();
1707
1709
  if (!currentQueueEntry) continue;
1708
1710
  const currentComponent = currentQueueEntry.ancestorsAndSelf[0];
1709
1711
  let visitDescendants = true;
1710
- let descendantContext = (_a = childContexts.get(currentComponent.node)) != null ? _a : currentQueueEntry.context;
1712
+ let descendantContext = (_b = childContexts.get(currentComponent.node)) != null ? _b : currentQueueEntry.context;
1711
1713
  let visitorInfo;
1712
1714
  if (currentComponent.type === "root" && isRootEntryReference(currentComponent) || currentComponent.type === "block") {
1713
1715
  visitorInfo = {
@@ -1894,39 +1896,11 @@ function walkNodeTree(node, visitor, options) {
1894
1896
  continue;
1895
1897
  }
1896
1898
  const slots = "slots" in currentComponent.node && currentComponent.node.slots;
1897
- if (slots) {
1898
- const slotKeys = Object.keys(slots);
1899
- for (let slotIndex = slotKeys.length - 1; slotIndex >= 0; slotIndex--) {
1900
- const slotKey = slotKeys[slotIndex];
1901
- const components = slots[slotKey];
1902
- for (let componentIndex = components.length - 1; componentIndex >= 0; componentIndex--) {
1903
- const enqueueingComponent = components[componentIndex];
1904
- const parentSlotIndexFn = () => {
1905
- const result = currentComponent.node.slots[slotKey].findIndex(
1906
- (x) => x === enqueueingComponent
1907
- );
1908
- return result;
1909
- };
1910
- componentQueue.push({
1911
- ancestorsAndSelf: [
1912
- {
1913
- type: "slot",
1914
- node: enqueueingComponent,
1915
- parentSlot: slotKey,
1916
- parentSlotIndexFn
1917
- },
1918
- ...currentQueueEntry.ancestorsAndSelf
1919
- ],
1920
- context: descendantContext
1921
- });
1922
- }
1923
- }
1924
- }
1899
+ const childEntries = [];
1925
1900
  const properties = getPropertiesValue(currentComponent.node);
1926
1901
  if (properties) {
1927
1902
  const propertyEntries = Object.entries(properties);
1928
- for (let propIndex = propertyEntries.length - 1; propIndex >= 0; propIndex--) {
1929
- const [propKey, propObject] = propertyEntries[propIndex];
1903
+ for (const [propKey, propObject] of propertyEntries) {
1930
1904
  if (!isNestedNodeType(propObject.type)) {
1931
1905
  continue;
1932
1906
  }
@@ -1946,13 +1920,12 @@ function walkNodeTree(node, visitor, options) {
1946
1920
  continue;
1947
1921
  }
1948
1922
  }
1949
- const blocks = (_b = propObject.value) != null ? _b : [];
1950
- for (let blockIndex = blocks.length - 1; blockIndex >= 0; blockIndex--) {
1951
- const enqueueingBlock = blocks[blockIndex];
1923
+ const blocks = (_c = propObject.value) != null ? _c : [];
1924
+ for (const enqueueingBlock of blocks) {
1952
1925
  const blockIndexFn = () => {
1953
1926
  return getBlockValue(currentComponent.node, propKey).findIndex((x) => x === enqueueingBlock);
1954
1927
  };
1955
- componentQueue.push({
1928
+ childEntries.push({
1956
1929
  ancestorsAndSelf: [
1957
1930
  {
1958
1931
  type: "block",
@@ -1967,6 +1940,36 @@ function walkNodeTree(node, visitor, options) {
1967
1940
  }
1968
1941
  }
1969
1942
  }
1943
+ if (slots) {
1944
+ const slotKeys = Object.keys(slots);
1945
+ for (const slotKey of slotKeys) {
1946
+ const components = slots[slotKey];
1947
+ for (const enqueueingComponent of components) {
1948
+ const parentSlotIndexFn = () => {
1949
+ const result = currentComponent.node.slots[slotKey].findIndex(
1950
+ (x) => x === enqueueingComponent
1951
+ );
1952
+ return result;
1953
+ };
1954
+ childEntries.push({
1955
+ ancestorsAndSelf: [
1956
+ {
1957
+ type: "slot",
1958
+ node: enqueueingComponent,
1959
+ parentSlot: slotKey,
1960
+ parentSlotIndexFn
1961
+ },
1962
+ ...currentQueueEntry.ancestorsAndSelf
1963
+ ],
1964
+ context: descendantContext
1965
+ });
1966
+ }
1967
+ }
1968
+ }
1969
+ if (order === "dfs") {
1970
+ childEntries.reverse();
1971
+ }
1972
+ componentQueue.push(...childEntries);
1970
1973
  } while (componentQueue.length > 0);
1971
1974
  }
1972
1975
  function isNestedNodeType(type) {
@@ -1,6 +1,6 @@
1
1
  import { RouteGetResponseEdgehancedComposition } from '@uniformdev/canvas';
2
2
  import { PageState } from '@uniformdev/next-app-router-shared';
3
- import { D as DataClient } from './client-BCGVjYM-.js';
3
+ import { D as DataClient } from './client-BlKZeE6C.js';
4
4
 
5
5
  type ResolvedRouteResult = {
6
6
  pageState: PageState;
@@ -1,6 +1,6 @@
1
1
  import { RouteGetResponseEdgehancedComposition } from '@uniformdev/canvas';
2
2
  import { PageState } from '@uniformdev/next-app-router-shared';
3
- import { D as DataClient } from './client-BCGVjYM-.mjs';
3
+ import { D as DataClient } from './client-BlKZeE6C.mjs';
4
4
 
5
5
  type ResolvedRouteResult = {
6
6
  pageState: PageState;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniformdev/next-app-router",
3
- "version": "20.63.0",
3
+ "version": "20.63.1-alpha.18+1b83158795",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "scripts": {
6
6
  "build": "tsup",
@@ -91,7 +91,7 @@
91
91
  "@types/node": "20.19.25",
92
92
  "@types/react": "19.0.8",
93
93
  "@types/react-dom": "19.0.3",
94
- "next": "16.0.7",
94
+ "next": "16.2.3",
95
95
  "react": "19.2.0",
96
96
  "react-dom": "19.2.0",
97
97
  "typescript": "5.9.2",
@@ -99,12 +99,12 @@
99
99
  "vitest": "3.2.4"
100
100
  },
101
101
  "dependencies": {
102
- "@uniformdev/canvas-react": "20.63.0",
103
- "@uniformdev/next-app-router-client": "20.63.0",
104
- "@uniformdev/next-app-router-shared": "20.63.0",
105
- "@uniformdev/redirect": "20.63.0",
106
- "@uniformdev/richtext": "20.63.0",
107
- "@uniformdev/webhooks": "20.63.0",
102
+ "@uniformdev/canvas-react": "20.63.1-alpha.18+1b83158795",
103
+ "@uniformdev/next-app-router-client": "20.63.1-alpha.18+1b83158795",
104
+ "@uniformdev/next-app-router-shared": "20.63.1-alpha.18+1b83158795",
105
+ "@uniformdev/redirect": "20.63.1-alpha.18+1b83158795",
106
+ "@uniformdev/richtext": "20.63.1-alpha.18+1b83158795",
107
+ "@uniformdev/webhooks": "20.63.1-alpha.18+1b83158795",
108
108
  "@vercel/functions": "^2.2.2",
109
109
  "encoding": "^0.1.13",
110
110
  "server-only": "^0.0.1",
@@ -121,5 +121,5 @@
121
121
  "publishConfig": {
122
122
  "access": "public"
123
123
  },
124
- "gitHead": "76729fa5c8c4dc3d71d65fdb181a659755ec34ae"
124
+ "gitHead": "1b83158795e07165d1500b0c859c49c1e613eeda"
125
125
  }