@uniformdev/next-app-router 20.75.1-alpha.0 → 20.76.1-alpha.3

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.
@@ -63,6 +63,11 @@ type UniformCompositionProps = {
63
63
  resolveComponent: ResolveComponentFunction;
64
64
  /**
65
65
  * If provided, the composition will use the data client to retrieve data.
66
+ *
67
+ * Pass the same client here that you pass to `handleUniformRoute`. Without it, this component
68
+ * falls back to `DefaultDataClient` for the route it resolves and, on draft requests,
69
+ * for the manifest it evaluates personalization against - so a custom manifest source
70
+ * configured only on the middleware would not apply while the page renders.
66
71
  */
67
72
  dataClient?: DataClient;
68
73
  /**
@@ -63,6 +63,11 @@ type UniformCompositionProps = {
63
63
  resolveComponent: ResolveComponentFunction;
64
64
  /**
65
65
  * If provided, the composition will use the data client to retrieve data.
66
+ *
67
+ * Pass the same client here that you pass to `handleUniformRoute`. Without it, this component
68
+ * falls back to `DefaultDataClient` for the route it resolves and, on draft requests,
69
+ * for the manifest it evaluates personalization against - so a custom manifest source
70
+ * configured only on the middleware would not apply while the page renders.
66
71
  */
67
72
  dataClient?: DataClient;
68
73
  /**
package/dist/cache.js CHANGED
@@ -2039,7 +2039,9 @@ var DefaultDataClient = class {
2039
2039
  source: "middleware",
2040
2040
  route: options.route,
2041
2041
  routeClient,
2042
- enableRuntimeCache: options.route.state === CANVAS_PUBLISHED_STATE && getMiddlewareRuntimeCache(),
2042
+ // The runtime cache is keyed on the route path. Development bypasses it so an author sees
2043
+ // an edit right away, the same way the fetch cache is bypassed for development.
2044
+ enableRuntimeCache: options.route.state === CANVAS_PUBLISHED_STATE && getMiddlewareRuntimeCache() && !isDevelopmentEnvironment(),
2043
2045
  disableSwrCache: getDisableSwrMiddlewareCache()
2044
2046
  });
2045
2047
  if (resolvedRoute.type === "composition") {
package/dist/cache.mjs CHANGED
@@ -2026,7 +2026,9 @@ var DefaultDataClient = class {
2026
2026
  source: "middleware",
2027
2027
  route: options.route,
2028
2028
  routeClient,
2029
- enableRuntimeCache: options.route.state === CANVAS_PUBLISHED_STATE && getMiddlewareRuntimeCache(),
2029
+ // The runtime cache is keyed on the route path. Development bypasses it so an author sees
2030
+ // an edit right away, the same way the fetch cache is bypassed for development.
2031
+ enableRuntimeCache: options.route.state === CANVAS_PUBLISHED_STATE && getMiddlewareRuntimeCache() && !isDevelopmentEnvironment(),
2030
2032
  disableSwrCache: getDisableSwrMiddlewareCache()
2031
2033
  });
2032
2034
  if (resolvedRoute.type === "composition") {
package/dist/compat.d.mts CHANGED
@@ -1,7 +1,7 @@
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-Bo6UsTDC.mjs';
4
+ import { R as ResolveComponentResult, a as ResolveComponentFunction } from './UniformComposition-CpEVJ-SR.mjs';
5
5
  import '@uniformdev/next-app-router-client';
6
6
  import '@uniformdev/canvas';
7
7
  import './client-DRMp2gpi.mjs';
package/dist/compat.d.ts CHANGED
@@ -1,7 +1,7 @@
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-BWxMuY7i.js';
4
+ import { R as ResolveComponentResult, a as ResolveComponentFunction } from './UniformComposition-Ck7mRTp-.js';
5
5
  import '@uniformdev/next-app-router-client';
6
6
  import '@uniformdev/canvas';
7
7
  import './client-DRMp2gpi.js';
@@ -36,7 +36,7 @@ type RenderRichTextComponentResolver = (node: RichTextNode) => RichTextRendererC
36
36
  declare const UniformRichText: React.ForwardRefExoticComponent<{
37
37
  /**
38
38
  * The name of the HTML tag to render.
39
- * @default "div"
39
+ * @defaultValue "div"
40
40
  */
41
41
  as?: React.ElementType;
42
42
  /**
@@ -51,7 +51,7 @@ declare const UniformRichText: React.ForwardRefExoticComponent<{
51
51
  /**
52
52
  * Sets the value to show in Canvas editor when the parameter value is empty.
53
53
  * Can be a static string, or a function to generate the placeholder out of parameter info.
54
- * @default undefined
54
+ * @defaultValue undefined
55
55
  */
56
56
  placeholder?: string | ((parameter: {
57
57
  id: string;
@@ -36,7 +36,7 @@ type RenderRichTextComponentResolver = (node: RichTextNode) => RichTextRendererC
36
36
  declare const UniformRichText: React.ForwardRefExoticComponent<{
37
37
  /**
38
38
  * The name of the HTML tag to render.
39
- * @default "div"
39
+ * @defaultValue "div"
40
40
  */
41
41
  as?: React.ElementType;
42
42
  /**
@@ -51,7 +51,7 @@ declare const UniformRichText: React.ForwardRefExoticComponent<{
51
51
  /**
52
52
  * Sets the value to show in Canvas editor when the parameter value is empty.
53
53
  * Can be a static string, or a function to generate the placeholder out of parameter info.
54
- * @default undefined
54
+ * @defaultValue undefined
55
55
  */
56
56
  placeholder?: string | ((parameter: {
57
57
  id: string;
package/dist/component.js CHANGED
@@ -936,11 +936,11 @@ var ATTRIBUTE_PARAMETER_ID = "data-uniform-parameter-id";
936
936
  var ATTRIBUTE_PARAMETER_TYPE = "data-uniform-parameter-type";
937
937
 
938
938
  // src/components/UniformRichText.tsx
939
- var import_richtext6 = require("@uniformdev/richtext");
939
+ var import_richtext8 = require("@uniformdev/richtext");
940
940
  var import_react12 = __toESM(require("react"));
941
941
 
942
942
  // src/components/UniformRichTextNode.tsx
943
- var import_richtext5 = require("@uniformdev/richtext");
943
+ var import_richtext7 = require("@uniformdev/richtext");
944
944
  var import_react11 = __toESM(require("react"));
945
945
 
946
946
  // src/components/nodes/AssetRichTextNode.tsx
@@ -986,41 +986,57 @@ var LinkRichTextNode = ({ children, node }) => {
986
986
  };
987
987
 
988
988
  // src/components/nodes/ListItemRichTextNode.tsx
989
+ var import_richtext2 = require("@uniformdev/richtext");
989
990
  var import_react5 = __toESM(require("react"));
990
991
  var ListItemRichTextNode = ({ children, node }) => {
991
992
  const { value } = node;
992
- return /* @__PURE__ */ import_react5.default.createElement("li", { value: Number.isFinite(value) && value > 0 ? value : void 0 }, children);
993
+ const normalizedValue = (0, import_richtext2.getRichTextListItemValue)(value);
994
+ return /* @__PURE__ */ import_react5.default.createElement(
995
+ "li",
996
+ {
997
+ value: typeof normalizedValue === "number" && Number.isFinite(normalizedValue) && normalizedValue > 0 ? normalizedValue : void 0
998
+ },
999
+ children
1000
+ );
993
1001
  };
994
1002
 
995
1003
  // src/components/nodes/ListRichTextNode.tsx
1004
+ var import_richtext3 = require("@uniformdev/richtext");
996
1005
  var import_react6 = __toESM(require("react"));
997
1006
  var ListRichTextNode = ({ children, node }) => {
998
1007
  const { tag, start } = node;
999
1008
  const ListTag = tag != null ? tag : "ul";
1000
- return /* @__PURE__ */ import_react6.default.createElement(ListTag, { start: Number.isFinite(start) && start > 0 ? start : void 0 }, children);
1009
+ const normalizedStart = (0, import_richtext3.getRichTextListStart)(start);
1010
+ return /* @__PURE__ */ import_react6.default.createElement(
1011
+ ListTag,
1012
+ {
1013
+ start: typeof normalizedStart === "number" && Number.isFinite(normalizedStart) && normalizedStart > 0 ? normalizedStart : void 0
1014
+ },
1015
+ children
1016
+ );
1001
1017
  };
1002
1018
 
1003
1019
  // src/components/nodes/ParagraphRichTextNode.tsx
1004
- var import_richtext2 = require("@uniformdev/richtext");
1020
+ var import_richtext4 = require("@uniformdev/richtext");
1005
1021
  var import_react7 = __toESM(require("react"));
1006
1022
  var ParagraphRichTextNode = ({ children, node }) => {
1007
1023
  const { format, direction } = node;
1008
1024
  return /* @__PURE__ */ import_react7.default.createElement(
1009
1025
  "p",
1010
1026
  {
1011
- dir: (0, import_richtext2.isPureDirection)(direction) ? direction : void 0,
1012
- style: (0, import_richtext2.isPureTextAlign)(format) ? { textAlign: format } : void 0
1027
+ dir: (0, import_richtext4.isPureDirection)(direction) ? direction : void 0,
1028
+ style: (0, import_richtext4.isPureTextAlign)(format) ? { textAlign: format } : void 0
1013
1029
  },
1014
1030
  children
1015
1031
  );
1016
1032
  };
1017
1033
 
1018
1034
  // src/components/nodes/TableCellRichTextNode.tsx
1019
- var import_richtext3 = require("@uniformdev/richtext");
1035
+ var import_richtext5 = require("@uniformdev/richtext");
1020
1036
  var import_react8 = __toESM(require("react"));
1021
1037
  var TableCellRichTextNode = ({ children, node }) => {
1022
1038
  const { headerState } = node;
1023
- const TableCellTag = (0, import_richtext3.getRichTextTagFromTableCellHeaderState)(headerState);
1039
+ const TableCellTag = (0, import_richtext5.getRichTextTagFromTableCellHeaderState)(headerState);
1024
1040
  return /* @__PURE__ */ import_react8.default.createElement(TableCellTag, null, children);
1025
1041
  };
1026
1042
 
@@ -1031,18 +1047,18 @@ var TabRichTextNode = () => {
1031
1047
  };
1032
1048
 
1033
1049
  // src/components/nodes/TextRichTextNode.tsx
1034
- var import_richtext4 = require("@uniformdev/richtext");
1050
+ var import_richtext6 = require("@uniformdev/richtext");
1035
1051
  var import_react10 = __toESM(require("react"));
1036
1052
  var TextRichTextNode = ({ node }) => {
1037
1053
  const { text, format } = node;
1038
- const tags = (0, import_richtext4.getRichTextTagsFromTextFormat)(format);
1054
+ const tags = (0, import_richtext6.getRichTextTagsFromTextFormat)(format);
1039
1055
  return /* @__PURE__ */ import_react10.default.createElement(import_react10.default.Fragment, null, tags.length > 0 ? tags.reduceRight((children, Tag) => /* @__PURE__ */ import_react10.default.createElement(Tag, null, children), text) : text);
1040
1056
  };
1041
1057
 
1042
1058
  // src/components/UniformRichTextNode.tsx
1043
1059
  function UniformRichTextNode({ node, ...props }) {
1044
1060
  var _a;
1045
- if (!(0, import_richtext5.isRichTextNode)(node)) return null;
1061
+ if (!(0, import_richtext7.isRichTextNode)(node)) return null;
1046
1062
  let NodeRenderer = (_a = props.resolveRichTextRenderer) == null ? void 0 : _a.call(props, node);
1047
1063
  if (typeof NodeRenderer === "undefined") {
1048
1064
  NodeRenderer = resolveRichTextDefaultRenderer(node);
@@ -1096,8 +1112,8 @@ var UniformRichText = import_react12.default.forwardRef(function UniformRichText
1096
1112
  }
1097
1113
  const computedPlaceholder = typeof placeholder === "function" ? placeholder({ id: parameter.parameterId }) : placeholder;
1098
1114
  const value = parameter.value;
1099
- if (!value || !(0, import_richtext6.isRichTextValue)(value)) return null;
1100
- if (!isContextualEditing && (0, import_richtext6.isRichTextValueConsideredEmpty)(value)) return null;
1115
+ if (!value || !(0, import_richtext8.isRichTextValue)(value)) return null;
1116
+ if (!isContextualEditing && (0, import_richtext8.isRichTextValueConsideredEmpty)(value)) return null;
1101
1117
  return Tag === null ? /* @__PURE__ */ import_react12.default.createElement(UniformRichTextNode, { node: value.root, resolveRichTextRenderer }) : /* @__PURE__ */ import_react12.default.createElement(
1102
1118
  Tag,
1103
1119
  {
@@ -1109,7 +1125,7 @@ var UniformRichText = import_react12.default.forwardRef(function UniformRichText
1109
1125
  [ATTRIBUTE_PARAMETER_TYPE]: "richText"
1110
1126
  } : {}
1111
1127
  },
1112
- (0, import_richtext6.isRichTextValueConsideredEmpty)(value) ? /* @__PURE__ */ import_react12.default.createElement("p", null, /* @__PURE__ */ import_react12.default.createElement("i", null, computedPlaceholder)) : /* @__PURE__ */ import_react12.default.createElement(UniformRichTextNode, { node: value.root, resolveRichTextRenderer })
1128
+ (0, import_richtext8.isRichTextValueConsideredEmpty)(value) ? /* @__PURE__ */ import_react12.default.createElement("p", null, /* @__PURE__ */ import_react12.default.createElement("i", null, computedPlaceholder)) : /* @__PURE__ */ import_react12.default.createElement(UniformRichTextNode, { node: value.root, resolveRichTextRenderer })
1113
1129
  );
1114
1130
  });
1115
1131
 
@@ -974,18 +974,34 @@ var LinkRichTextNode = ({ children, node }) => {
974
974
  };
975
975
 
976
976
  // src/components/nodes/ListItemRichTextNode.tsx
977
+ import { getRichTextListItemValue } from "@uniformdev/richtext";
977
978
  import React5 from "react";
978
979
  var ListItemRichTextNode = ({ children, node }) => {
979
980
  const { value } = node;
980
- return /* @__PURE__ */ React5.createElement("li", { value: Number.isFinite(value) && value > 0 ? value : void 0 }, children);
981
+ const normalizedValue = getRichTextListItemValue(value);
982
+ return /* @__PURE__ */ React5.createElement(
983
+ "li",
984
+ {
985
+ value: typeof normalizedValue === "number" && Number.isFinite(normalizedValue) && normalizedValue > 0 ? normalizedValue : void 0
986
+ },
987
+ children
988
+ );
981
989
  };
982
990
 
983
991
  // src/components/nodes/ListRichTextNode.tsx
992
+ import { getRichTextListStart } from "@uniformdev/richtext";
984
993
  import React6 from "react";
985
994
  var ListRichTextNode = ({ children, node }) => {
986
995
  const { tag, start } = node;
987
996
  const ListTag = tag != null ? tag : "ul";
988
- return /* @__PURE__ */ React6.createElement(ListTag, { start: Number.isFinite(start) && start > 0 ? start : void 0 }, children);
997
+ const normalizedStart = getRichTextListStart(start);
998
+ return /* @__PURE__ */ React6.createElement(
999
+ ListTag,
1000
+ {
1001
+ start: typeof normalizedStart === "number" && Number.isFinite(normalizedStart) && normalizedStart > 0 ? normalizedStart : void 0
1002
+ },
1003
+ children
1004
+ );
989
1005
  };
990
1006
 
991
1007
  // src/components/nodes/ParagraphRichTextNode.tsx
package/dist/index.d.mts CHANGED
@@ -2,8 +2,8 @@ import { CanvasClient, CompositionDeliveryClient, RouteClient, ComponentInstance
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-Bo6UsTDC.mjs';
6
- export { C as CompositionCache, a as ResolveComponentFunction, R as ResolveComponentResult, b as UniformComposition, c as createCompositionCache } from './UniformComposition-Bo6UsTDC.mjs';
5
+ import { U as UniformCompositionProps } from './UniformComposition-CpEVJ-SR.mjs';
6
+ export { C as CompositionCache, a as ResolveComponentFunction, R as ResolveComponentResult, b as UniformComposition, c as createCompositionCache } from './UniformComposition-CpEVJ-SR.mjs';
7
7
  import React from 'react';
8
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-DRMp2gpi.mjs';
9
9
  import { a as ResolvedRouteResult } from './resolveRouteFromCode-C0dkUV2T.mjs';
@@ -249,12 +249,12 @@ type EvaluatePersonalizationsFunction = (personalization: {
249
249
  type PrecomputeCompositionOptions = Pick<ResolvedRouteResult, 'pageState' | 'route'> & {
250
250
  /**
251
251
  * Whether to evaluate tests
252
- * @default true
252
+ * @defaultValue true
253
253
  */
254
254
  evaluateTests?: boolean | EvaluateTestsFunction;
255
255
  /**
256
256
  * Whether to evaluate personalizations
257
- * @default true
257
+ * @defaultValue true
258
258
  */
259
259
  evaluatePersonalizations?: boolean | EvaluatePersonalizationsFunction;
260
260
  };
package/dist/index.d.ts CHANGED
@@ -2,8 +2,8 @@ import { CanvasClient, CompositionDeliveryClient, RouteClient, ComponentInstance
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-BWxMuY7i.js';
6
- export { C as CompositionCache, a as ResolveComponentFunction, R as ResolveComponentResult, b as UniformComposition, c as createCompositionCache } from './UniformComposition-BWxMuY7i.js';
5
+ import { U as UniformCompositionProps } from './UniformComposition-Ck7mRTp-.js';
6
+ export { C as CompositionCache, a as ResolveComponentFunction, R as ResolveComponentResult, b as UniformComposition, c as createCompositionCache } from './UniformComposition-Ck7mRTp-.js';
7
7
  import React from 'react';
8
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-DRMp2gpi.js';
9
9
  import { a as ResolvedRouteResult } from './resolveRouteFromCode-Bhz8EJBu.js';
@@ -249,12 +249,12 @@ type EvaluatePersonalizationsFunction = (personalization: {
249
249
  type PrecomputeCompositionOptions = Pick<ResolvedRouteResult, 'pageState' | 'route'> & {
250
250
  /**
251
251
  * Whether to evaluate tests
252
- * @default true
252
+ * @defaultValue true
253
253
  */
254
254
  evaluateTests?: boolean | EvaluateTestsFunction;
255
255
  /**
256
256
  * Whether to evaluate personalizations
257
- * @default true
257
+ * @defaultValue true
258
258
  */
259
259
  evaluatePersonalizations?: boolean | EvaluatePersonalizationsFunction;
260
260
  };