@uniformdev/richtext 20.75.0 → 20.75.1-alpha.15.sha-b6ff05804e

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/index.d.mts CHANGED
@@ -6,10 +6,17 @@ declare function isPureTextAlign(format?: string): format is string;
6
6
  declare function isPureDirection(direction?: string | null): direction is string;
7
7
  declare function renderHtmlElement(tag: string, attributes: Map<string, string> | null, children?: string): string;
8
8
 
9
+ /**
10
+ * Serialized Lexical node as stored on Uniform rich text parameters.
11
+ *
12
+ * Stored payloads may omit default-valued properties. Custom renderers must
13
+ * treat a missing `version` as `1`.
14
+ */
9
15
  interface RichTextNode extends Record<string, unknown> {
10
16
  type: string;
11
17
  children?: RichTextNode[];
12
- version: number;
18
+ /** Lexical node version. Missing values are interpreted as `1`. */
19
+ version?: number;
13
20
  }
14
21
  type RichTextNodeWithChildren = RichTextNode & {
15
22
  children: RichTextNode[];
@@ -122,14 +129,24 @@ declare function linkParamValueToHref(link: LinkParamValue): string | undefined;
122
129
 
123
130
  interface ListNode extends RichTextNode {
124
131
  tag: 'ul' | 'ol';
125
- start: number;
132
+ /** Ordered-list start index. Missing values are interpreted as `1`. */
133
+ start?: number;
126
134
  }
127
135
  declare const listHtmlRenderer: NodeStringRenderer;
136
+ /**
137
+ * Normalizes an optional serialized list start while preserving invalid explicit values.
138
+ */
139
+ declare function getRichTextListStart(start?: number): number;
128
140
 
129
141
  interface ListItemNode extends RichTextNode {
130
- value: number;
142
+ /** List item ordinal. Missing values are interpreted as `1`. */
143
+ value?: number;
131
144
  }
132
145
  declare const listitemHtmlRenderer: NodeStringRenderer;
146
+ /**
147
+ * Normalizes an optional serialized list item ordinal while preserving invalid explicit values.
148
+ */
149
+ declare function getRichTextListItemValue(value?: number): number;
133
150
 
134
151
  interface ParagraphNode extends RichTextNode {
135
152
  format?: 'center' | 'end' | 'justify' | 'left' | 'match-parent' | 'right' | 'start';
@@ -149,14 +166,17 @@ interface TableCellNode extends RichTextNode {
149
166
  * 1: row header
150
167
  * 2: column header
151
168
  * 3: row and column header
169
+ *
170
+ * Missing values are interpreted as `0` (no header).
152
171
  */
153
- headerState: number;
172
+ headerState?: number;
154
173
  }
155
174
  declare const tablecellHtmlRenderer: NodeStringRenderer;
156
175
  /**
157
- * Convert headerState into relevant tag
176
+ * Convert headerState into relevant tag.
177
+ * Missing or 0 means a body cell (`td`); any non-zero flag is a header (`th`).
158
178
  */
159
- declare function getRichTextTagFromTableCellHeaderState(headerState: number): "td" | "th";
179
+ declare function getRichTextTagFromTableCellHeaderState(headerState?: number): "td" | "th";
160
180
 
161
181
  type TableRowNode = RichTextNode;
162
182
  declare const tablerowHtmlRenderer: NodeStringRenderer;
@@ -172,16 +192,18 @@ interface TextNode extends RichTextNode {
172
192
  * position 5: code
173
193
  * position 6: subscript
174
194
  * position 7: superscript
195
+ *
196
+ * Missing values are interpreted as `0` (no formatting).
175
197
  */
176
- format: number;
198
+ format?: number;
177
199
  text: string;
178
200
  }
179
201
  declare const textHtmlRenderer: NodeStringRenderer;
180
202
  /**
181
- * Convert format bitflag for holding text formats
182
- * into relevant tags
203
+ * Convert format bitflag for holding text formats into relevant tags.
204
+ * Missing format is treated as `0` (no formatting), matching the serialized default.
183
205
  */
184
- declare function getRichTextTagsFromTextFormat(format: number): string[];
206
+ declare function getRichTextTagsFromTextFormat(format?: number): string[];
185
207
 
186
208
  declare function isArrayWithLength<T>(arr: T[] | unknown | undefined): arr is T[];
187
209
  declare function isRichTextNode(node: unknown): node is RichTextNode;
@@ -199,6 +221,18 @@ declare function hasChildren<TRichTextNode extends RichTextNode>(node: TRichText
199
221
  children: RichTextNode[];
200
222
  };
201
223
 
224
+ /**
225
+ * Returns a clone with SDK-compatible Lexical default-valued properties removed.
226
+ * The input is not mutated, so stored or immer-frozen values are safe to pass directly.
227
+ */
228
+ declare function omitDefaultRichTextProperties<T extends ParameterRichTextValue>(value: T): T;
229
+
230
+ /**
231
+ * Returns a clone of the rich text value with omitted Lexical defaults restored.
232
+ * The input is not mutated, so stored or immer-frozen values are safe to pass directly.
233
+ */
234
+ declare function rehydrateDefaultRichTextProperties<T extends ParameterRichTextValue>(value: T): T;
235
+
202
236
  /**
203
237
  * When a custom renderer has not been provided we
204
238
  * check to see if there is a renderer for the type
@@ -207,7 +241,7 @@ declare function hasChildren<TRichTextNode extends RichTextNode>(node: TRichText
207
241
  *
208
242
  * Some node types like quote just map directly to a
209
243
  * HTML tag (ie blockquote). For those there is a simple
210
- * type -> tag Map.
244
+ * `type -> tag` Map.
211
245
  */
212
246
  declare const resolveDefaultRenderer$1: ResolveStringRenderer;
213
247
  /**
@@ -270,4 +304,4 @@ declare const emptyRichTextValue: {
270
304
  };
271
305
  declare const defaultParameterConfiguration: RichTextParamConfiguration;
272
306
 
273
- export { type AssetNode, type HeadingNode, type LinkAttrConfig, type LinkAttributesConfiguration, type LinkNode, type ListItemNode, type ListNode, type NodeStringRenderer, type NodeStringRendererProps, type ParagraphNode, type ParameterRichTextValue, type ResolveStringRenderer, type RichTextBuiltInElement, type RichTextBuiltInFormat, type RichTextNode, type RichTextNodeWithChildren, type RichTextParamConfiguration, type StringRenderContext, type TableCellNode, type TableNode, type TableRowNode, type TextNode, assetHtmlRenderer, defaultParameterConfiguration, emptyRichTextValue, getLabelForElement, getLabelForFormat, getRichTextTagFromTableCellHeaderState, getRichTextTagsFromTextFormat, hasChildren, headingHtmlRenderer, isArrayWithLength, isDangerousLinkAttributeKey, isPureDirection, isPureTextAlign, isRichTextNode, isRichTextNodeType, isRichTextValue, isRichTextValueConsideredEmpty, linkHtmlRenderer, linkParamValueToAnchorProps, linkParamValueToHref, linkParamValueToHtmlAttributes, listHtmlRenderer, listitemHtmlRenderer, paragraphHtmlRenderer, purifyText, renderChildrenToHtml, renderChildrenToText, renderHtmlElement, renderToHtml, renderToText, resolveDefaultRenderer$1 as resolveDefaultHtmlRenderer, resolveDefaultRenderer as resolveDefaultTextRenderer, resolveLinkAttrConfig, richTextBuiltInElements, richTextBuiltInFormats, rootHtmlRenderer, tableHtmlRenderer, tablecellHtmlRenderer, tablerowHtmlRenderer, textHtmlRenderer, walkRichTextTree };
307
+ export { type AssetNode, type HeadingNode, type LinkAttrConfig, type LinkAttributesConfiguration, type LinkNode, type ListItemNode, type ListNode, type NodeStringRenderer, type NodeStringRendererProps, type ParagraphNode, type ParameterRichTextValue, type ResolveStringRenderer, type RichTextBuiltInElement, type RichTextBuiltInFormat, type RichTextNode, type RichTextNodeWithChildren, type RichTextParamConfiguration, type StringRenderContext, type TableCellNode, type TableNode, type TableRowNode, type TextNode, assetHtmlRenderer, defaultParameterConfiguration, emptyRichTextValue, getLabelForElement, getLabelForFormat, getRichTextListItemValue, getRichTextListStart, getRichTextTagFromTableCellHeaderState, getRichTextTagsFromTextFormat, hasChildren, headingHtmlRenderer, isArrayWithLength, isDangerousLinkAttributeKey, isPureDirection, isPureTextAlign, isRichTextNode, isRichTextNodeType, isRichTextValue, isRichTextValueConsideredEmpty, linkHtmlRenderer, linkParamValueToAnchorProps, linkParamValueToHref, linkParamValueToHtmlAttributes, listHtmlRenderer, listitemHtmlRenderer, omitDefaultRichTextProperties, paragraphHtmlRenderer, purifyText, rehydrateDefaultRichTextProperties, renderChildrenToHtml, renderChildrenToText, renderHtmlElement, renderToHtml, renderToText, resolveDefaultRenderer$1 as resolveDefaultHtmlRenderer, resolveDefaultRenderer as resolveDefaultTextRenderer, resolveLinkAttrConfig, richTextBuiltInElements, richTextBuiltInFormats, rootHtmlRenderer, tableHtmlRenderer, tablecellHtmlRenderer, tablerowHtmlRenderer, textHtmlRenderer, walkRichTextTree };
package/dist/index.d.ts CHANGED
@@ -6,10 +6,17 @@ declare function isPureTextAlign(format?: string): format is string;
6
6
  declare function isPureDirection(direction?: string | null): direction is string;
7
7
  declare function renderHtmlElement(tag: string, attributes: Map<string, string> | null, children?: string): string;
8
8
 
9
+ /**
10
+ * Serialized Lexical node as stored on Uniform rich text parameters.
11
+ *
12
+ * Stored payloads may omit default-valued properties. Custom renderers must
13
+ * treat a missing `version` as `1`.
14
+ */
9
15
  interface RichTextNode extends Record<string, unknown> {
10
16
  type: string;
11
17
  children?: RichTextNode[];
12
- version: number;
18
+ /** Lexical node version. Missing values are interpreted as `1`. */
19
+ version?: number;
13
20
  }
14
21
  type RichTextNodeWithChildren = RichTextNode & {
15
22
  children: RichTextNode[];
@@ -122,14 +129,24 @@ declare function linkParamValueToHref(link: LinkParamValue): string | undefined;
122
129
 
123
130
  interface ListNode extends RichTextNode {
124
131
  tag: 'ul' | 'ol';
125
- start: number;
132
+ /** Ordered-list start index. Missing values are interpreted as `1`. */
133
+ start?: number;
126
134
  }
127
135
  declare const listHtmlRenderer: NodeStringRenderer;
136
+ /**
137
+ * Normalizes an optional serialized list start while preserving invalid explicit values.
138
+ */
139
+ declare function getRichTextListStart(start?: number): number;
128
140
 
129
141
  interface ListItemNode extends RichTextNode {
130
- value: number;
142
+ /** List item ordinal. Missing values are interpreted as `1`. */
143
+ value?: number;
131
144
  }
132
145
  declare const listitemHtmlRenderer: NodeStringRenderer;
146
+ /**
147
+ * Normalizes an optional serialized list item ordinal while preserving invalid explicit values.
148
+ */
149
+ declare function getRichTextListItemValue(value?: number): number;
133
150
 
134
151
  interface ParagraphNode extends RichTextNode {
135
152
  format?: 'center' | 'end' | 'justify' | 'left' | 'match-parent' | 'right' | 'start';
@@ -149,14 +166,17 @@ interface TableCellNode extends RichTextNode {
149
166
  * 1: row header
150
167
  * 2: column header
151
168
  * 3: row and column header
169
+ *
170
+ * Missing values are interpreted as `0` (no header).
152
171
  */
153
- headerState: number;
172
+ headerState?: number;
154
173
  }
155
174
  declare const tablecellHtmlRenderer: NodeStringRenderer;
156
175
  /**
157
- * Convert headerState into relevant tag
176
+ * Convert headerState into relevant tag.
177
+ * Missing or 0 means a body cell (`td`); any non-zero flag is a header (`th`).
158
178
  */
159
- declare function getRichTextTagFromTableCellHeaderState(headerState: number): "td" | "th";
179
+ declare function getRichTextTagFromTableCellHeaderState(headerState?: number): "td" | "th";
160
180
 
161
181
  type TableRowNode = RichTextNode;
162
182
  declare const tablerowHtmlRenderer: NodeStringRenderer;
@@ -172,16 +192,18 @@ interface TextNode extends RichTextNode {
172
192
  * position 5: code
173
193
  * position 6: subscript
174
194
  * position 7: superscript
195
+ *
196
+ * Missing values are interpreted as `0` (no formatting).
175
197
  */
176
- format: number;
198
+ format?: number;
177
199
  text: string;
178
200
  }
179
201
  declare const textHtmlRenderer: NodeStringRenderer;
180
202
  /**
181
- * Convert format bitflag for holding text formats
182
- * into relevant tags
203
+ * Convert format bitflag for holding text formats into relevant tags.
204
+ * Missing format is treated as `0` (no formatting), matching the serialized default.
183
205
  */
184
- declare function getRichTextTagsFromTextFormat(format: number): string[];
206
+ declare function getRichTextTagsFromTextFormat(format?: number): string[];
185
207
 
186
208
  declare function isArrayWithLength<T>(arr: T[] | unknown | undefined): arr is T[];
187
209
  declare function isRichTextNode(node: unknown): node is RichTextNode;
@@ -199,6 +221,18 @@ declare function hasChildren<TRichTextNode extends RichTextNode>(node: TRichText
199
221
  children: RichTextNode[];
200
222
  };
201
223
 
224
+ /**
225
+ * Returns a clone with SDK-compatible Lexical default-valued properties removed.
226
+ * The input is not mutated, so stored or immer-frozen values are safe to pass directly.
227
+ */
228
+ declare function omitDefaultRichTextProperties<T extends ParameterRichTextValue>(value: T): T;
229
+
230
+ /**
231
+ * Returns a clone of the rich text value with omitted Lexical defaults restored.
232
+ * The input is not mutated, so stored or immer-frozen values are safe to pass directly.
233
+ */
234
+ declare function rehydrateDefaultRichTextProperties<T extends ParameterRichTextValue>(value: T): T;
235
+
202
236
  /**
203
237
  * When a custom renderer has not been provided we
204
238
  * check to see if there is a renderer for the type
@@ -207,7 +241,7 @@ declare function hasChildren<TRichTextNode extends RichTextNode>(node: TRichText
207
241
  *
208
242
  * Some node types like quote just map directly to a
209
243
  * HTML tag (ie blockquote). For those there is a simple
210
- * type -> tag Map.
244
+ * `type -> tag` Map.
211
245
  */
212
246
  declare const resolveDefaultRenderer$1: ResolveStringRenderer;
213
247
  /**
@@ -270,4 +304,4 @@ declare const emptyRichTextValue: {
270
304
  };
271
305
  declare const defaultParameterConfiguration: RichTextParamConfiguration;
272
306
 
273
- export { type AssetNode, type HeadingNode, type LinkAttrConfig, type LinkAttributesConfiguration, type LinkNode, type ListItemNode, type ListNode, type NodeStringRenderer, type NodeStringRendererProps, type ParagraphNode, type ParameterRichTextValue, type ResolveStringRenderer, type RichTextBuiltInElement, type RichTextBuiltInFormat, type RichTextNode, type RichTextNodeWithChildren, type RichTextParamConfiguration, type StringRenderContext, type TableCellNode, type TableNode, type TableRowNode, type TextNode, assetHtmlRenderer, defaultParameterConfiguration, emptyRichTextValue, getLabelForElement, getLabelForFormat, getRichTextTagFromTableCellHeaderState, getRichTextTagsFromTextFormat, hasChildren, headingHtmlRenderer, isArrayWithLength, isDangerousLinkAttributeKey, isPureDirection, isPureTextAlign, isRichTextNode, isRichTextNodeType, isRichTextValue, isRichTextValueConsideredEmpty, linkHtmlRenderer, linkParamValueToAnchorProps, linkParamValueToHref, linkParamValueToHtmlAttributes, listHtmlRenderer, listitemHtmlRenderer, paragraphHtmlRenderer, purifyText, renderChildrenToHtml, renderChildrenToText, renderHtmlElement, renderToHtml, renderToText, resolveDefaultRenderer$1 as resolveDefaultHtmlRenderer, resolveDefaultRenderer as resolveDefaultTextRenderer, resolveLinkAttrConfig, richTextBuiltInElements, richTextBuiltInFormats, rootHtmlRenderer, tableHtmlRenderer, tablecellHtmlRenderer, tablerowHtmlRenderer, textHtmlRenderer, walkRichTextTree };
307
+ export { type AssetNode, type HeadingNode, type LinkAttrConfig, type LinkAttributesConfiguration, type LinkNode, type ListItemNode, type ListNode, type NodeStringRenderer, type NodeStringRendererProps, type ParagraphNode, type ParameterRichTextValue, type ResolveStringRenderer, type RichTextBuiltInElement, type RichTextBuiltInFormat, type RichTextNode, type RichTextNodeWithChildren, type RichTextParamConfiguration, type StringRenderContext, type TableCellNode, type TableNode, type TableRowNode, type TextNode, assetHtmlRenderer, defaultParameterConfiguration, emptyRichTextValue, getLabelForElement, getLabelForFormat, getRichTextListItemValue, getRichTextListStart, getRichTextTagFromTableCellHeaderState, getRichTextTagsFromTextFormat, hasChildren, headingHtmlRenderer, isArrayWithLength, isDangerousLinkAttributeKey, isPureDirection, isPureTextAlign, isRichTextNode, isRichTextNodeType, isRichTextValue, isRichTextValueConsideredEmpty, linkHtmlRenderer, linkParamValueToAnchorProps, linkParamValueToHref, linkParamValueToHtmlAttributes, listHtmlRenderer, listitemHtmlRenderer, omitDefaultRichTextProperties, paragraphHtmlRenderer, purifyText, rehydrateDefaultRichTextProperties, renderChildrenToHtml, renderChildrenToText, renderHtmlElement, renderToHtml, renderToText, resolveDefaultRenderer$1 as resolveDefaultHtmlRenderer, resolveDefaultRenderer as resolveDefaultTextRenderer, resolveLinkAttrConfig, richTextBuiltInElements, richTextBuiltInFormats, rootHtmlRenderer, tableHtmlRenderer, tablecellHtmlRenderer, tablerowHtmlRenderer, textHtmlRenderer, walkRichTextTree };