@uniformdev/next-app-router 20.74.7-alpha.12 → 20.74.7-alpha.15.sha-2e86ba8d87

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.
@@ -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
@@ -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
@@ -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
  };
@@ -4371,8 +4371,8 @@ var TransitionDataStore = class {
4371
4371
  }
4372
4372
  /**
4373
4373
  * Updates data in the transition storage.
4374
- * @param commands Commands to execute against existing stored value (event based stores)
4375
- * @param computedValue Pre-computed new value against existing value (object based stores)
4374
+ * @param commands - Commands to execute against existing stored value (event based stores)
4375
+ * @param computedValue - Pre-computed new value against existing value (object based stores)
4376
4376
  * @returns Resolved promise when the data has been updated
4377
4377
  */
4378
4378
  updateData(commands, computedValue) {
@@ -4848,7 +4848,7 @@ var VisitorDataStore = class {
4848
4848
  /**
4849
4849
  * Deletes visitor data (forgetting them)
4850
4850
  * In most cases you should use forget() on the Context instead of this function, which also clears the Context state.
4851
- * @param fromAllDevices for an identified user, whether to delete all their data (for the entire account) - true, or data for this device (sign out) - false
4851
+ * @param fromAllDevices - for an identified user, whether to delete all their data (for the entire account) - true, or data for this device (sign out) - false
4852
4852
  */
4853
4853
  async delete(fromAllDevices) {
4854
4854
  var _a, _b, _c, _d, _e;
@@ -5367,7 +5367,7 @@ var Context = class {
5367
5367
  }
5368
5368
  /**
5369
5369
  * Forgets the visitor's data and resets the Context to its initial state.
5370
- * @param fromAllDevices for an identified user, whether to delete all their data (for the entire account) - true, or data for this device (sign out) - false
5370
+ * @param fromAllDevices - for an identified user, whether to delete all their data (for the entire account) - true, or data for this device (sign out) - false
5371
5371
  */
5372
5372
  async forget(fromAllDevices) {
5373
5373
  const previousCompositionMetadata = __privateGet4(this, _state).compositionMetadata;
@@ -5408,14 +5408,14 @@ var Context = class {
5408
5408
  });
5409
5409
  return transitionState;
5410
5410
  }
5411
- /** @deprecated */
5411
+ /** @deprecated Internal API for test event processing; not for public use. */
5412
5412
  internal_processTestEvent(event) {
5413
5413
  if (event.variantId) {
5414
5414
  this.setTestVariantId(event.name, event.variantId);
5415
5415
  __privateMethod(this, _Context_instances, emitTest_fn).call(this, event);
5416
5416
  }
5417
5417
  }
5418
- /** @deprecated */
5418
+ /** @deprecated Internal API for personalization event processing; not for public use. */
5419
5419
  internal_processPersonalizationEvent(event) {
5420
5420
  __privateGet4(this, _pzCache)[event.name] = event.variantIds;
5421
5421
  __privateGet4(this, _mitt3).emit("personalizationResult", event);
@@ -4363,8 +4363,8 @@ var TransitionDataStore = class {
4363
4363
  }
4364
4364
  /**
4365
4365
  * Updates data in the transition storage.
4366
- * @param commands Commands to execute against existing stored value (event based stores)
4367
- * @param computedValue Pre-computed new value against existing value (object based stores)
4366
+ * @param commands - Commands to execute against existing stored value (event based stores)
4367
+ * @param computedValue - Pre-computed new value against existing value (object based stores)
4368
4368
  * @returns Resolved promise when the data has been updated
4369
4369
  */
4370
4370
  updateData(commands, computedValue) {
@@ -4840,7 +4840,7 @@ var VisitorDataStore = class {
4840
4840
  /**
4841
4841
  * Deletes visitor data (forgetting them)
4842
4842
  * In most cases you should use forget() on the Context instead of this function, which also clears the Context state.
4843
- * @param fromAllDevices for an identified user, whether to delete all their data (for the entire account) - true, or data for this device (sign out) - false
4843
+ * @param fromAllDevices - for an identified user, whether to delete all their data (for the entire account) - true, or data for this device (sign out) - false
4844
4844
  */
4845
4845
  async delete(fromAllDevices) {
4846
4846
  var _a, _b, _c, _d, _e;
@@ -5359,7 +5359,7 @@ var Context = class {
5359
5359
  }
5360
5360
  /**
5361
5361
  * Forgets the visitor's data and resets the Context to its initial state.
5362
- * @param fromAllDevices for an identified user, whether to delete all their data (for the entire account) - true, or data for this device (sign out) - false
5362
+ * @param fromAllDevices - for an identified user, whether to delete all their data (for the entire account) - true, or data for this device (sign out) - false
5363
5363
  */
5364
5364
  async forget(fromAllDevices) {
5365
5365
  const previousCompositionMetadata = __privateGet4(this, _state).compositionMetadata;
@@ -5400,14 +5400,14 @@ var Context = class {
5400
5400
  });
5401
5401
  return transitionState;
5402
5402
  }
5403
- /** @deprecated */
5403
+ /** @deprecated Internal API for test event processing; not for public use. */
5404
5404
  internal_processTestEvent(event) {
5405
5405
  if (event.variantId) {
5406
5406
  this.setTestVariantId(event.name, event.variantId);
5407
5407
  __privateMethod(this, _Context_instances, emitTest_fn).call(this, event);
5408
5408
  }
5409
5409
  }
5410
- /** @deprecated */
5410
+ /** @deprecated Internal API for personalization event processing; not for public use. */
5411
5411
  internal_processPersonalizationEvent(event) {
5412
5412
  __privateGet4(this, _pzCache)[event.name] = event.variantIds;
5413
5413
  __privateGet4(this, _mitt3).emit("personalizationResult", event);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniformdev/next-app-router",
3
- "version": "20.74.7-alpha.12+f93a44837e",
3
+ "version": "20.74.7-alpha.15.sha-2e86ba8d87",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "scripts": {
6
6
  "build": "tsup",
@@ -92,20 +92,20 @@
92
92
  "@types/node": "26.0.0",
93
93
  "@types/react": "19.2.17",
94
94
  "@types/react-dom": "19.2.3",
95
- "next": "16.2.9",
95
+ "next": "16.3.1",
96
96
  "react": "19.2.1",
97
97
  "react-dom": "19.2.1",
98
98
  "typescript": "6.0.3",
99
99
  "vite-tsconfig-paths": "^6.1.1",
100
- "vitest": "4.1.9"
100
+ "vitest": "4.1.11"
101
101
  },
102
102
  "dependencies": {
103
- "@uniformdev/canvas-react": "20.74.7-alpha.12+f93a44837e",
104
- "@uniformdev/next-app-router-client": "20.74.7-alpha.12+f93a44837e",
105
- "@uniformdev/next-app-router-shared": "20.74.7-alpha.12+f93a44837e",
106
- "@uniformdev/redirect": "20.74.7-alpha.12+f93a44837e",
107
- "@uniformdev/richtext": "20.74.7-alpha.12+f93a44837e",
108
- "@uniformdev/webhooks": "20.74.7-alpha.12+f93a44837e",
103
+ "@uniformdev/canvas-react": "20.74.7-alpha.15.sha-2e86ba8d87",
104
+ "@uniformdev/next-app-router-client": "20.74.7-alpha.15.sha-2e86ba8d87",
105
+ "@uniformdev/next-app-router-shared": "20.74.7-alpha.15.sha-2e86ba8d87",
106
+ "@uniformdev/redirect": "20.74.7-alpha.15.sha-2e86ba8d87",
107
+ "@uniformdev/richtext": "20.74.7-alpha.15.sha-2e86ba8d87",
108
+ "@uniformdev/webhooks": "20.74.7-alpha.15.sha-2e86ba8d87",
109
109
  "@vercel/functions": "^3.7.2",
110
110
  "encoding": "^0.1.13",
111
111
  "server-only": "^0.0.1",
@@ -122,5 +122,5 @@
122
122
  "publishConfig": {
123
123
  "access": "public"
124
124
  },
125
- "gitHead": "f93a44837e168f8ece4f56657a29a6f72467c1cb"
125
+ "gitHead": "2e86ba8d87b7176b519d928189d131385ae6cab5"
126
126
  }