@uniformdev/richtext 19.180.0 → 19.181.1
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 +54 -7
- package/dist/index.d.ts +54 -7
- package/dist/index.esm.js +72 -2
- package/dist/index.js +77 -2
- package/dist/index.mjs +72 -2
- package/package.json +2 -3
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SerializedEditorState, SerializedParagraphNode } from 'lexical';
|
|
2
2
|
|
|
3
3
|
declare function purifyText(text: string): string;
|
|
4
4
|
declare function isPureTextAlign(format?: string): format is string;
|
|
@@ -24,9 +24,9 @@ interface NodeStringRendererProps {
|
|
|
24
24
|
renderChildren(children?: RichTextNode[] | unknown): string;
|
|
25
25
|
}
|
|
26
26
|
type NodeStringRenderer = (props: NodeStringRendererProps) => string;
|
|
27
|
-
type ParameterRichTextValue =
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
type ParameterRichTextValue = SerializedEditorState | undefined | null;
|
|
28
|
+
type RichTextBuiltInFormat = 'code' | 'bold' | 'italic' | 'underline' | 'strikethrough' | 'superscript' | 'subscript';
|
|
29
|
+
type RichTextBuiltInElement = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'unorderedList' | 'orderedList' | 'link' | 'quote' | 'code' | 'variable' | 'table';
|
|
30
30
|
|
|
31
31
|
interface HeadingNode extends RichTextNode {
|
|
32
32
|
tag: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
|
|
@@ -37,6 +37,19 @@ interface LinkNode extends RichTextNode {
|
|
|
37
37
|
link: NonNullable<LinkParamValue>;
|
|
38
38
|
}
|
|
39
39
|
declare const linkHtmlRenderer: NodeStringRenderer;
|
|
40
|
+
type LinkParameterType = 'projectMapNode' | 'url' | 'tel' | 'email';
|
|
41
|
+
type ProjectMapLinkParamValue = {
|
|
42
|
+
type: 'projectMapNode';
|
|
43
|
+
projectMapId: string;
|
|
44
|
+
nodeId: string;
|
|
45
|
+
path: string;
|
|
46
|
+
dynamicInputValues?: Record<string, string>;
|
|
47
|
+
};
|
|
48
|
+
type NonProjectMapLinkParamValue = {
|
|
49
|
+
type: Exclude<LinkParameterType, 'projectMapNode'>;
|
|
50
|
+
path: string;
|
|
51
|
+
};
|
|
52
|
+
type LinkParamValue = ProjectMapLinkParamValue | NonProjectMapLinkParamValue | undefined;
|
|
40
53
|
declare function linkParamValueToHref(link: LinkParamValue): string | undefined;
|
|
41
54
|
|
|
42
55
|
interface ListNode extends RichTextNode {
|
|
@@ -58,6 +71,30 @@ declare const paragraphHtmlRenderer: NodeStringRenderer;
|
|
|
58
71
|
|
|
59
72
|
declare const rootHtmlRenderer: NodeStringRenderer;
|
|
60
73
|
|
|
74
|
+
interface TableNode extends RichTextNode {
|
|
75
|
+
}
|
|
76
|
+
declare const tableHtmlRenderer: NodeStringRenderer;
|
|
77
|
+
|
|
78
|
+
interface TableCellNode extends RichTextNode {
|
|
79
|
+
/**
|
|
80
|
+
* headerState:
|
|
81
|
+
* 0: no header
|
|
82
|
+
* 1: row header
|
|
83
|
+
* 2: column header
|
|
84
|
+
* 3: row and column header
|
|
85
|
+
*/
|
|
86
|
+
headerState: number;
|
|
87
|
+
}
|
|
88
|
+
declare const tablecellHtmlRenderer: NodeStringRenderer;
|
|
89
|
+
/**
|
|
90
|
+
* Convert headerState into relevant tag
|
|
91
|
+
*/
|
|
92
|
+
declare function getRichTextTagFromTableCellHeaderState(headerState: number): "td" | "th";
|
|
93
|
+
|
|
94
|
+
interface TableRowNode extends RichTextNode {
|
|
95
|
+
}
|
|
96
|
+
declare const tablerowHtmlRenderer: NodeStringRenderer;
|
|
97
|
+
|
|
61
98
|
interface TextNode extends RichTextNode {
|
|
62
99
|
/**
|
|
63
100
|
* The format is a bitflag value
|
|
@@ -82,7 +119,7 @@ declare function getRichTextTagsFromTextFormat(format: number): string[];
|
|
|
82
119
|
|
|
83
120
|
declare function isArrayWithLength<T>(arr: T[] | unknown | undefined): arr is T[];
|
|
84
121
|
declare function isRichTextNode(node: unknown): node is RichTextNode;
|
|
85
|
-
declare function isRichTextValue(value: unknown): value is NonNullable<
|
|
122
|
+
declare function isRichTextValue(value: unknown): value is NonNullable<ParameterRichTextValue>;
|
|
86
123
|
declare function isRichTextNodeType(node: unknown, type: 'heading'): node is HeadingNode;
|
|
87
124
|
declare function isRichTextNodeType(node: unknown, type: 'paragraph'): node is ParagraphNode;
|
|
88
125
|
declare function isRichTextNodeType(node: unknown, type: 'text'): node is TextNode;
|
|
@@ -90,7 +127,7 @@ declare function isRichTextNodeType(node: unknown, type: 'list'): node is ListNo
|
|
|
90
127
|
declare function isRichTextNodeType(node: unknown, type: 'listitem'): node is ListItemNode;
|
|
91
128
|
declare function isRichTextNodeType(node: unknown, type: 'link'): node is LinkNode;
|
|
92
129
|
declare function isRichTextNodeType(node: unknown, type: string): node is RichTextNode;
|
|
93
|
-
declare function isRichTextValueConsideredEmpty(value:
|
|
130
|
+
declare function isRichTextValueConsideredEmpty(value: ParameterRichTextValue): boolean;
|
|
94
131
|
declare function hasChildren<TRichTextNode extends RichTextNode>(node: TRichTextNode): node is TRichTextNode & {
|
|
95
132
|
children: RichTextNode[];
|
|
96
133
|
};
|
|
@@ -154,5 +191,15 @@ declare const richTextBuiltInFormats: Array<{
|
|
|
154
191
|
}>;
|
|
155
192
|
declare const getLabelForElement: (type: string) => string;
|
|
156
193
|
declare const getLabelForFormat: (type: string) => string;
|
|
194
|
+
declare const emptyRichTextValue: {
|
|
195
|
+
root: {
|
|
196
|
+
type: string;
|
|
197
|
+
version: number;
|
|
198
|
+
direction: null;
|
|
199
|
+
format: "";
|
|
200
|
+
indent: number;
|
|
201
|
+
children: SerializedParagraphNode[];
|
|
202
|
+
};
|
|
203
|
+
};
|
|
157
204
|
|
|
158
|
-
export { type HeadingNode, type LinkNode, type ListItemNode, type ListNode, type NodeStringRenderer, type NodeStringRendererProps, type ParagraphNode, type ParameterRichTextValue, type ResolveStringRenderer, type RichTextNode, type RichTextNodeWithChildren, type StringRenderContext, type TextNode, getLabelForElement, getLabelForFormat, getRichTextTagsFromTextFormat, hasChildren, headingHtmlRenderer, isArrayWithLength, isPureDirection, isPureTextAlign, isRichTextNode, isRichTextNodeType, isRichTextValue, isRichTextValueConsideredEmpty, linkHtmlRenderer, linkParamValueToHref, listHtmlRenderer, listitemHtmlRenderer, paragraphHtmlRenderer, purifyText, renderChildrenToHtml, renderChildrenToText, renderHtmlElement, renderToHtml, renderToText, resolveDefaultRenderer$1 as resolveDefaultHtmlRenderer, resolveDefaultRenderer as resolveDefaultTextRenderer, richTextBuiltInElements, richTextBuiltInFormats, rootHtmlRenderer, textHtmlRenderer, walkRichTextTree };
|
|
205
|
+
export { type HeadingNode, 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 StringRenderContext, type TableCellNode, type TableNode, type TableRowNode, type TextNode, emptyRichTextValue, getLabelForElement, getLabelForFormat, getRichTextTagFromTableCellHeaderState, getRichTextTagsFromTextFormat, hasChildren, headingHtmlRenderer, isArrayWithLength, isPureDirection, isPureTextAlign, isRichTextNode, isRichTextNodeType, isRichTextValue, isRichTextValueConsideredEmpty, linkHtmlRenderer, linkParamValueToHref, listHtmlRenderer, listitemHtmlRenderer, paragraphHtmlRenderer, purifyText, renderChildrenToHtml, renderChildrenToText, renderHtmlElement, renderToHtml, renderToText, resolveDefaultRenderer$1 as resolveDefaultHtmlRenderer, resolveDefaultRenderer as resolveDefaultTextRenderer, richTextBuiltInElements, richTextBuiltInFormats, rootHtmlRenderer, tableHtmlRenderer, tablecellHtmlRenderer, tablerowHtmlRenderer, textHtmlRenderer, walkRichTextTree };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SerializedEditorState, SerializedParagraphNode } from 'lexical';
|
|
2
2
|
|
|
3
3
|
declare function purifyText(text: string): string;
|
|
4
4
|
declare function isPureTextAlign(format?: string): format is string;
|
|
@@ -24,9 +24,9 @@ interface NodeStringRendererProps {
|
|
|
24
24
|
renderChildren(children?: RichTextNode[] | unknown): string;
|
|
25
25
|
}
|
|
26
26
|
type NodeStringRenderer = (props: NodeStringRendererProps) => string;
|
|
27
|
-
type ParameterRichTextValue =
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
type ParameterRichTextValue = SerializedEditorState | undefined | null;
|
|
28
|
+
type RichTextBuiltInFormat = 'code' | 'bold' | 'italic' | 'underline' | 'strikethrough' | 'superscript' | 'subscript';
|
|
29
|
+
type RichTextBuiltInElement = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'unorderedList' | 'orderedList' | 'link' | 'quote' | 'code' | 'variable' | 'table';
|
|
30
30
|
|
|
31
31
|
interface HeadingNode extends RichTextNode {
|
|
32
32
|
tag: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
|
|
@@ -37,6 +37,19 @@ interface LinkNode extends RichTextNode {
|
|
|
37
37
|
link: NonNullable<LinkParamValue>;
|
|
38
38
|
}
|
|
39
39
|
declare const linkHtmlRenderer: NodeStringRenderer;
|
|
40
|
+
type LinkParameterType = 'projectMapNode' | 'url' | 'tel' | 'email';
|
|
41
|
+
type ProjectMapLinkParamValue = {
|
|
42
|
+
type: 'projectMapNode';
|
|
43
|
+
projectMapId: string;
|
|
44
|
+
nodeId: string;
|
|
45
|
+
path: string;
|
|
46
|
+
dynamicInputValues?: Record<string, string>;
|
|
47
|
+
};
|
|
48
|
+
type NonProjectMapLinkParamValue = {
|
|
49
|
+
type: Exclude<LinkParameterType, 'projectMapNode'>;
|
|
50
|
+
path: string;
|
|
51
|
+
};
|
|
52
|
+
type LinkParamValue = ProjectMapLinkParamValue | NonProjectMapLinkParamValue | undefined;
|
|
40
53
|
declare function linkParamValueToHref(link: LinkParamValue): string | undefined;
|
|
41
54
|
|
|
42
55
|
interface ListNode extends RichTextNode {
|
|
@@ -58,6 +71,30 @@ declare const paragraphHtmlRenderer: NodeStringRenderer;
|
|
|
58
71
|
|
|
59
72
|
declare const rootHtmlRenderer: NodeStringRenderer;
|
|
60
73
|
|
|
74
|
+
interface TableNode extends RichTextNode {
|
|
75
|
+
}
|
|
76
|
+
declare const tableHtmlRenderer: NodeStringRenderer;
|
|
77
|
+
|
|
78
|
+
interface TableCellNode extends RichTextNode {
|
|
79
|
+
/**
|
|
80
|
+
* headerState:
|
|
81
|
+
* 0: no header
|
|
82
|
+
* 1: row header
|
|
83
|
+
* 2: column header
|
|
84
|
+
* 3: row and column header
|
|
85
|
+
*/
|
|
86
|
+
headerState: number;
|
|
87
|
+
}
|
|
88
|
+
declare const tablecellHtmlRenderer: NodeStringRenderer;
|
|
89
|
+
/**
|
|
90
|
+
* Convert headerState into relevant tag
|
|
91
|
+
*/
|
|
92
|
+
declare function getRichTextTagFromTableCellHeaderState(headerState: number): "td" | "th";
|
|
93
|
+
|
|
94
|
+
interface TableRowNode extends RichTextNode {
|
|
95
|
+
}
|
|
96
|
+
declare const tablerowHtmlRenderer: NodeStringRenderer;
|
|
97
|
+
|
|
61
98
|
interface TextNode extends RichTextNode {
|
|
62
99
|
/**
|
|
63
100
|
* The format is a bitflag value
|
|
@@ -82,7 +119,7 @@ declare function getRichTextTagsFromTextFormat(format: number): string[];
|
|
|
82
119
|
|
|
83
120
|
declare function isArrayWithLength<T>(arr: T[] | unknown | undefined): arr is T[];
|
|
84
121
|
declare function isRichTextNode(node: unknown): node is RichTextNode;
|
|
85
|
-
declare function isRichTextValue(value: unknown): value is NonNullable<
|
|
122
|
+
declare function isRichTextValue(value: unknown): value is NonNullable<ParameterRichTextValue>;
|
|
86
123
|
declare function isRichTextNodeType(node: unknown, type: 'heading'): node is HeadingNode;
|
|
87
124
|
declare function isRichTextNodeType(node: unknown, type: 'paragraph'): node is ParagraphNode;
|
|
88
125
|
declare function isRichTextNodeType(node: unknown, type: 'text'): node is TextNode;
|
|
@@ -90,7 +127,7 @@ declare function isRichTextNodeType(node: unknown, type: 'list'): node is ListNo
|
|
|
90
127
|
declare function isRichTextNodeType(node: unknown, type: 'listitem'): node is ListItemNode;
|
|
91
128
|
declare function isRichTextNodeType(node: unknown, type: 'link'): node is LinkNode;
|
|
92
129
|
declare function isRichTextNodeType(node: unknown, type: string): node is RichTextNode;
|
|
93
|
-
declare function isRichTextValueConsideredEmpty(value:
|
|
130
|
+
declare function isRichTextValueConsideredEmpty(value: ParameterRichTextValue): boolean;
|
|
94
131
|
declare function hasChildren<TRichTextNode extends RichTextNode>(node: TRichTextNode): node is TRichTextNode & {
|
|
95
132
|
children: RichTextNode[];
|
|
96
133
|
};
|
|
@@ -154,5 +191,15 @@ declare const richTextBuiltInFormats: Array<{
|
|
|
154
191
|
}>;
|
|
155
192
|
declare const getLabelForElement: (type: string) => string;
|
|
156
193
|
declare const getLabelForFormat: (type: string) => string;
|
|
194
|
+
declare const emptyRichTextValue: {
|
|
195
|
+
root: {
|
|
196
|
+
type: string;
|
|
197
|
+
version: number;
|
|
198
|
+
direction: null;
|
|
199
|
+
format: "";
|
|
200
|
+
indent: number;
|
|
201
|
+
children: SerializedParagraphNode[];
|
|
202
|
+
};
|
|
203
|
+
};
|
|
157
204
|
|
|
158
|
-
export { type HeadingNode, type LinkNode, type ListItemNode, type ListNode, type NodeStringRenderer, type NodeStringRendererProps, type ParagraphNode, type ParameterRichTextValue, type ResolveStringRenderer, type RichTextNode, type RichTextNodeWithChildren, type StringRenderContext, type TextNode, getLabelForElement, getLabelForFormat, getRichTextTagsFromTextFormat, hasChildren, headingHtmlRenderer, isArrayWithLength, isPureDirection, isPureTextAlign, isRichTextNode, isRichTextNodeType, isRichTextValue, isRichTextValueConsideredEmpty, linkHtmlRenderer, linkParamValueToHref, listHtmlRenderer, listitemHtmlRenderer, paragraphHtmlRenderer, purifyText, renderChildrenToHtml, renderChildrenToText, renderHtmlElement, renderToHtml, renderToText, resolveDefaultRenderer$1 as resolveDefaultHtmlRenderer, resolveDefaultRenderer as resolveDefaultTextRenderer, richTextBuiltInElements, richTextBuiltInFormats, rootHtmlRenderer, textHtmlRenderer, walkRichTextTree };
|
|
205
|
+
export { type HeadingNode, 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 StringRenderContext, type TableCellNode, type TableNode, type TableRowNode, type TextNode, emptyRichTextValue, getLabelForElement, getLabelForFormat, getRichTextTagFromTableCellHeaderState, getRichTextTagsFromTextFormat, hasChildren, headingHtmlRenderer, isArrayWithLength, isPureDirection, isPureTextAlign, isRichTextNode, isRichTextNodeType, isRichTextValue, isRichTextValueConsideredEmpty, linkHtmlRenderer, linkParamValueToHref, listHtmlRenderer, listitemHtmlRenderer, paragraphHtmlRenderer, purifyText, renderChildrenToHtml, renderChildrenToText, renderHtmlElement, renderToHtml, renderToText, resolveDefaultRenderer$1 as resolveDefaultHtmlRenderer, resolveDefaultRenderer as resolveDefaultTextRenderer, richTextBuiltInElements, richTextBuiltInFormats, rootHtmlRenderer, tableHtmlRenderer, tablecellHtmlRenderer, tablerowHtmlRenderer, textHtmlRenderer, walkRichTextTree };
|
package/dist/index.esm.js
CHANGED
|
@@ -155,6 +155,40 @@ var rootHtmlRenderer = ({ context, renderChildren }) => {
|
|
|
155
155
|
return hasChildren(context.currentNode) ? renderChildren(context.currentNode.children) : "";
|
|
156
156
|
};
|
|
157
157
|
|
|
158
|
+
// src/nodes/table.ts
|
|
159
|
+
var tableHtmlRenderer = ({ context, renderChildren }) => {
|
|
160
|
+
return ["table", "tbody"].reduceRight((children, tag) => {
|
|
161
|
+
return renderHtmlElement(tag, null, children);
|
|
162
|
+
}, renderChildren(context.currentNode.children));
|
|
163
|
+
};
|
|
164
|
+
var tableTextRenderer = ({ context, renderChildren }) => {
|
|
165
|
+
return hasChildren(context.currentNode) ? `${renderChildren(context.currentNode.children)} ` : "";
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
// src/nodes/tablecell.ts
|
|
169
|
+
var tablecellHtmlRenderer = ({ context, renderChildren }) => {
|
|
170
|
+
const node = context.currentNode;
|
|
171
|
+
const tag = getRichTextTagFromTableCellHeaderState(node.headerState);
|
|
172
|
+
return renderHtmlElement(tag, null, renderChildren(context.currentNode.children));
|
|
173
|
+
};
|
|
174
|
+
var tablecellTextRenderer = ({ context, renderChildren }) => {
|
|
175
|
+
return hasChildren(context.currentNode) ? `${renderChildren(context.currentNode.children)} ` : "";
|
|
176
|
+
};
|
|
177
|
+
function getRichTextTagFromTableCellHeaderState(headerState) {
|
|
178
|
+
if (headerState === 0) {
|
|
179
|
+
return "td";
|
|
180
|
+
}
|
|
181
|
+
return "th";
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// src/nodes/tablerow.ts
|
|
185
|
+
var tablerowHtmlRenderer = ({ context, renderChildren }) => {
|
|
186
|
+
return renderHtmlElement("tr", null, renderChildren(context.currentNode.children));
|
|
187
|
+
};
|
|
188
|
+
var tablerowTextRenderer = ({ context, renderChildren }) => {
|
|
189
|
+
return hasChildren(context.currentNode) ? `${renderChildren(context.currentNode.children)} ` : "";
|
|
190
|
+
};
|
|
191
|
+
|
|
158
192
|
// src/nodes/text.ts
|
|
159
193
|
var textHtmlRenderer = ({ context }) => {
|
|
160
194
|
const node = context.currentNode;
|
|
@@ -211,7 +245,10 @@ var rendererTypeMap = /* @__PURE__ */ new Map([
|
|
|
211
245
|
["paragraph", paragraphHtmlRenderer],
|
|
212
246
|
["root", rootHtmlRenderer],
|
|
213
247
|
["text", textHtmlRenderer],
|
|
214
|
-
["tab", tabHtmlRenderer]
|
|
248
|
+
["tab", tabHtmlRenderer],
|
|
249
|
+
["table", tableHtmlRenderer],
|
|
250
|
+
["tablecell", tablecellHtmlRenderer],
|
|
251
|
+
["tablerow", tablerowHtmlRenderer]
|
|
215
252
|
]);
|
|
216
253
|
var resolveDefaultRenderer = (context) => {
|
|
217
254
|
const renderer = rendererTypeMap.get(context.currentNode.type);
|
|
@@ -279,7 +316,10 @@ var rendererTypeMap2 = /* @__PURE__ */ new Map([
|
|
|
279
316
|
["linebreak", linebreakTextRenderer],
|
|
280
317
|
["paragraph", paragraphTextRenderer],
|
|
281
318
|
["listitem", listitemTextRenderer],
|
|
282
|
-
["heading", headingTextRenderer]
|
|
319
|
+
["heading", headingTextRenderer],
|
|
320
|
+
["table", tableTextRenderer],
|
|
321
|
+
["tablecell", tablecellTextRenderer],
|
|
322
|
+
["tablerow", tablerowTextRenderer]
|
|
283
323
|
]);
|
|
284
324
|
var resolveDefaultRenderer2 = (context) => {
|
|
285
325
|
const renderer = rendererTypeMap2.get(context.currentNode.type);
|
|
@@ -382,6 +422,10 @@ var richTextBuiltInElements = [
|
|
|
382
422
|
label: "Code Block",
|
|
383
423
|
type: "code"
|
|
384
424
|
},
|
|
425
|
+
{
|
|
426
|
+
label: "Table",
|
|
427
|
+
type: "table"
|
|
428
|
+
},
|
|
385
429
|
{
|
|
386
430
|
label: "Dynamic Token",
|
|
387
431
|
type: "variable"
|
|
@@ -430,9 +474,32 @@ var getLabelForFormat = (type) => {
|
|
|
430
474
|
const format = richTextBuiltInFormats.find((element) => element.type === type);
|
|
431
475
|
return (_a = format == null ? void 0 : format.label) != null ? _a : type;
|
|
432
476
|
};
|
|
477
|
+
var emptyRichTextValue = {
|
|
478
|
+
root: {
|
|
479
|
+
type: "root",
|
|
480
|
+
version: 1,
|
|
481
|
+
direction: null,
|
|
482
|
+
format: "",
|
|
483
|
+
indent: 0,
|
|
484
|
+
children: [
|
|
485
|
+
{
|
|
486
|
+
type: "paragraph",
|
|
487
|
+
version: 1,
|
|
488
|
+
format: "start",
|
|
489
|
+
indent: 0,
|
|
490
|
+
direction: null,
|
|
491
|
+
children: [],
|
|
492
|
+
textFormat: 0,
|
|
493
|
+
textStyle: ""
|
|
494
|
+
}
|
|
495
|
+
]
|
|
496
|
+
}
|
|
497
|
+
};
|
|
433
498
|
export {
|
|
499
|
+
emptyRichTextValue,
|
|
434
500
|
getLabelForElement,
|
|
435
501
|
getLabelForFormat,
|
|
502
|
+
getRichTextTagFromTableCellHeaderState,
|
|
436
503
|
getRichTextTagsFromTextFormat,
|
|
437
504
|
hasChildren,
|
|
438
505
|
headingHtmlRenderer,
|
|
@@ -459,6 +526,9 @@ export {
|
|
|
459
526
|
richTextBuiltInElements,
|
|
460
527
|
richTextBuiltInFormats,
|
|
461
528
|
rootHtmlRenderer,
|
|
529
|
+
tableHtmlRenderer,
|
|
530
|
+
tablecellHtmlRenderer,
|
|
531
|
+
tablerowHtmlRenderer,
|
|
462
532
|
textHtmlRenderer,
|
|
463
533
|
walkRichTextTree
|
|
464
534
|
};
|
package/dist/index.js
CHANGED
|
@@ -20,8 +20,10 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/index.ts
|
|
21
21
|
var src_exports = {};
|
|
22
22
|
__export(src_exports, {
|
|
23
|
+
emptyRichTextValue: () => emptyRichTextValue,
|
|
23
24
|
getLabelForElement: () => getLabelForElement,
|
|
24
25
|
getLabelForFormat: () => getLabelForFormat,
|
|
26
|
+
getRichTextTagFromTableCellHeaderState: () => getRichTextTagFromTableCellHeaderState,
|
|
25
27
|
getRichTextTagsFromTextFormat: () => getRichTextTagsFromTextFormat,
|
|
26
28
|
hasChildren: () => hasChildren,
|
|
27
29
|
headingHtmlRenderer: () => headingHtmlRenderer,
|
|
@@ -48,6 +50,9 @@ __export(src_exports, {
|
|
|
48
50
|
richTextBuiltInElements: () => richTextBuiltInElements,
|
|
49
51
|
richTextBuiltInFormats: () => richTextBuiltInFormats,
|
|
50
52
|
rootHtmlRenderer: () => rootHtmlRenderer,
|
|
53
|
+
tableHtmlRenderer: () => tableHtmlRenderer,
|
|
54
|
+
tablecellHtmlRenderer: () => tablecellHtmlRenderer,
|
|
55
|
+
tablerowHtmlRenderer: () => tablerowHtmlRenderer,
|
|
51
56
|
textHtmlRenderer: () => textHtmlRenderer,
|
|
52
57
|
walkRichTextTree: () => walkRichTextTree
|
|
53
58
|
});
|
|
@@ -210,6 +215,40 @@ var rootHtmlRenderer = ({ context, renderChildren }) => {
|
|
|
210
215
|
return hasChildren(context.currentNode) ? renderChildren(context.currentNode.children) : "";
|
|
211
216
|
};
|
|
212
217
|
|
|
218
|
+
// src/nodes/table.ts
|
|
219
|
+
var tableHtmlRenderer = ({ context, renderChildren }) => {
|
|
220
|
+
return ["table", "tbody"].reduceRight((children, tag) => {
|
|
221
|
+
return renderHtmlElement(tag, null, children);
|
|
222
|
+
}, renderChildren(context.currentNode.children));
|
|
223
|
+
};
|
|
224
|
+
var tableTextRenderer = ({ context, renderChildren }) => {
|
|
225
|
+
return hasChildren(context.currentNode) ? `${renderChildren(context.currentNode.children)} ` : "";
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
// src/nodes/tablecell.ts
|
|
229
|
+
var tablecellHtmlRenderer = ({ context, renderChildren }) => {
|
|
230
|
+
const node = context.currentNode;
|
|
231
|
+
const tag = getRichTextTagFromTableCellHeaderState(node.headerState);
|
|
232
|
+
return renderHtmlElement(tag, null, renderChildren(context.currentNode.children));
|
|
233
|
+
};
|
|
234
|
+
var tablecellTextRenderer = ({ context, renderChildren }) => {
|
|
235
|
+
return hasChildren(context.currentNode) ? `${renderChildren(context.currentNode.children)} ` : "";
|
|
236
|
+
};
|
|
237
|
+
function getRichTextTagFromTableCellHeaderState(headerState) {
|
|
238
|
+
if (headerState === 0) {
|
|
239
|
+
return "td";
|
|
240
|
+
}
|
|
241
|
+
return "th";
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
// src/nodes/tablerow.ts
|
|
245
|
+
var tablerowHtmlRenderer = ({ context, renderChildren }) => {
|
|
246
|
+
return renderHtmlElement("tr", null, renderChildren(context.currentNode.children));
|
|
247
|
+
};
|
|
248
|
+
var tablerowTextRenderer = ({ context, renderChildren }) => {
|
|
249
|
+
return hasChildren(context.currentNode) ? `${renderChildren(context.currentNode.children)} ` : "";
|
|
250
|
+
};
|
|
251
|
+
|
|
213
252
|
// src/nodes/text.ts
|
|
214
253
|
var textHtmlRenderer = ({ context }) => {
|
|
215
254
|
const node = context.currentNode;
|
|
@@ -266,7 +305,10 @@ var rendererTypeMap = /* @__PURE__ */ new Map([
|
|
|
266
305
|
["paragraph", paragraphHtmlRenderer],
|
|
267
306
|
["root", rootHtmlRenderer],
|
|
268
307
|
["text", textHtmlRenderer],
|
|
269
|
-
["tab", tabHtmlRenderer]
|
|
308
|
+
["tab", tabHtmlRenderer],
|
|
309
|
+
["table", tableHtmlRenderer],
|
|
310
|
+
["tablecell", tablecellHtmlRenderer],
|
|
311
|
+
["tablerow", tablerowHtmlRenderer]
|
|
270
312
|
]);
|
|
271
313
|
var resolveDefaultRenderer = (context) => {
|
|
272
314
|
const renderer = rendererTypeMap.get(context.currentNode.type);
|
|
@@ -334,7 +376,10 @@ var rendererTypeMap2 = /* @__PURE__ */ new Map([
|
|
|
334
376
|
["linebreak", linebreakTextRenderer],
|
|
335
377
|
["paragraph", paragraphTextRenderer],
|
|
336
378
|
["listitem", listitemTextRenderer],
|
|
337
|
-
["heading", headingTextRenderer]
|
|
379
|
+
["heading", headingTextRenderer],
|
|
380
|
+
["table", tableTextRenderer],
|
|
381
|
+
["tablecell", tablecellTextRenderer],
|
|
382
|
+
["tablerow", tablerowTextRenderer]
|
|
338
383
|
]);
|
|
339
384
|
var resolveDefaultRenderer2 = (context) => {
|
|
340
385
|
const renderer = rendererTypeMap2.get(context.currentNode.type);
|
|
@@ -437,6 +482,10 @@ var richTextBuiltInElements = [
|
|
|
437
482
|
label: "Code Block",
|
|
438
483
|
type: "code"
|
|
439
484
|
},
|
|
485
|
+
{
|
|
486
|
+
label: "Table",
|
|
487
|
+
type: "table"
|
|
488
|
+
},
|
|
440
489
|
{
|
|
441
490
|
label: "Dynamic Token",
|
|
442
491
|
type: "variable"
|
|
@@ -485,10 +534,33 @@ var getLabelForFormat = (type) => {
|
|
|
485
534
|
const format = richTextBuiltInFormats.find((element) => element.type === type);
|
|
486
535
|
return (_a = format == null ? void 0 : format.label) != null ? _a : type;
|
|
487
536
|
};
|
|
537
|
+
var emptyRichTextValue = {
|
|
538
|
+
root: {
|
|
539
|
+
type: "root",
|
|
540
|
+
version: 1,
|
|
541
|
+
direction: null,
|
|
542
|
+
format: "",
|
|
543
|
+
indent: 0,
|
|
544
|
+
children: [
|
|
545
|
+
{
|
|
546
|
+
type: "paragraph",
|
|
547
|
+
version: 1,
|
|
548
|
+
format: "start",
|
|
549
|
+
indent: 0,
|
|
550
|
+
direction: null,
|
|
551
|
+
children: [],
|
|
552
|
+
textFormat: 0,
|
|
553
|
+
textStyle: ""
|
|
554
|
+
}
|
|
555
|
+
]
|
|
556
|
+
}
|
|
557
|
+
};
|
|
488
558
|
// Annotate the CommonJS export names for ESM import in node:
|
|
489
559
|
0 && (module.exports = {
|
|
560
|
+
emptyRichTextValue,
|
|
490
561
|
getLabelForElement,
|
|
491
562
|
getLabelForFormat,
|
|
563
|
+
getRichTextTagFromTableCellHeaderState,
|
|
492
564
|
getRichTextTagsFromTextFormat,
|
|
493
565
|
hasChildren,
|
|
494
566
|
headingHtmlRenderer,
|
|
@@ -515,6 +587,9 @@ var getLabelForFormat = (type) => {
|
|
|
515
587
|
richTextBuiltInElements,
|
|
516
588
|
richTextBuiltInFormats,
|
|
517
589
|
rootHtmlRenderer,
|
|
590
|
+
tableHtmlRenderer,
|
|
591
|
+
tablecellHtmlRenderer,
|
|
592
|
+
tablerowHtmlRenderer,
|
|
518
593
|
textHtmlRenderer,
|
|
519
594
|
walkRichTextTree
|
|
520
595
|
});
|
package/dist/index.mjs
CHANGED
|
@@ -155,6 +155,40 @@ var rootHtmlRenderer = ({ context, renderChildren }) => {
|
|
|
155
155
|
return hasChildren(context.currentNode) ? renderChildren(context.currentNode.children) : "";
|
|
156
156
|
};
|
|
157
157
|
|
|
158
|
+
// src/nodes/table.ts
|
|
159
|
+
var tableHtmlRenderer = ({ context, renderChildren }) => {
|
|
160
|
+
return ["table", "tbody"].reduceRight((children, tag) => {
|
|
161
|
+
return renderHtmlElement(tag, null, children);
|
|
162
|
+
}, renderChildren(context.currentNode.children));
|
|
163
|
+
};
|
|
164
|
+
var tableTextRenderer = ({ context, renderChildren }) => {
|
|
165
|
+
return hasChildren(context.currentNode) ? `${renderChildren(context.currentNode.children)} ` : "";
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
// src/nodes/tablecell.ts
|
|
169
|
+
var tablecellHtmlRenderer = ({ context, renderChildren }) => {
|
|
170
|
+
const node = context.currentNode;
|
|
171
|
+
const tag = getRichTextTagFromTableCellHeaderState(node.headerState);
|
|
172
|
+
return renderHtmlElement(tag, null, renderChildren(context.currentNode.children));
|
|
173
|
+
};
|
|
174
|
+
var tablecellTextRenderer = ({ context, renderChildren }) => {
|
|
175
|
+
return hasChildren(context.currentNode) ? `${renderChildren(context.currentNode.children)} ` : "";
|
|
176
|
+
};
|
|
177
|
+
function getRichTextTagFromTableCellHeaderState(headerState) {
|
|
178
|
+
if (headerState === 0) {
|
|
179
|
+
return "td";
|
|
180
|
+
}
|
|
181
|
+
return "th";
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// src/nodes/tablerow.ts
|
|
185
|
+
var tablerowHtmlRenderer = ({ context, renderChildren }) => {
|
|
186
|
+
return renderHtmlElement("tr", null, renderChildren(context.currentNode.children));
|
|
187
|
+
};
|
|
188
|
+
var tablerowTextRenderer = ({ context, renderChildren }) => {
|
|
189
|
+
return hasChildren(context.currentNode) ? `${renderChildren(context.currentNode.children)} ` : "";
|
|
190
|
+
};
|
|
191
|
+
|
|
158
192
|
// src/nodes/text.ts
|
|
159
193
|
var textHtmlRenderer = ({ context }) => {
|
|
160
194
|
const node = context.currentNode;
|
|
@@ -211,7 +245,10 @@ var rendererTypeMap = /* @__PURE__ */ new Map([
|
|
|
211
245
|
["paragraph", paragraphHtmlRenderer],
|
|
212
246
|
["root", rootHtmlRenderer],
|
|
213
247
|
["text", textHtmlRenderer],
|
|
214
|
-
["tab", tabHtmlRenderer]
|
|
248
|
+
["tab", tabHtmlRenderer],
|
|
249
|
+
["table", tableHtmlRenderer],
|
|
250
|
+
["tablecell", tablecellHtmlRenderer],
|
|
251
|
+
["tablerow", tablerowHtmlRenderer]
|
|
215
252
|
]);
|
|
216
253
|
var resolveDefaultRenderer = (context) => {
|
|
217
254
|
const renderer = rendererTypeMap.get(context.currentNode.type);
|
|
@@ -279,7 +316,10 @@ var rendererTypeMap2 = /* @__PURE__ */ new Map([
|
|
|
279
316
|
["linebreak", linebreakTextRenderer],
|
|
280
317
|
["paragraph", paragraphTextRenderer],
|
|
281
318
|
["listitem", listitemTextRenderer],
|
|
282
|
-
["heading", headingTextRenderer]
|
|
319
|
+
["heading", headingTextRenderer],
|
|
320
|
+
["table", tableTextRenderer],
|
|
321
|
+
["tablecell", tablecellTextRenderer],
|
|
322
|
+
["tablerow", tablerowTextRenderer]
|
|
283
323
|
]);
|
|
284
324
|
var resolveDefaultRenderer2 = (context) => {
|
|
285
325
|
const renderer = rendererTypeMap2.get(context.currentNode.type);
|
|
@@ -382,6 +422,10 @@ var richTextBuiltInElements = [
|
|
|
382
422
|
label: "Code Block",
|
|
383
423
|
type: "code"
|
|
384
424
|
},
|
|
425
|
+
{
|
|
426
|
+
label: "Table",
|
|
427
|
+
type: "table"
|
|
428
|
+
},
|
|
385
429
|
{
|
|
386
430
|
label: "Dynamic Token",
|
|
387
431
|
type: "variable"
|
|
@@ -430,9 +474,32 @@ var getLabelForFormat = (type) => {
|
|
|
430
474
|
const format = richTextBuiltInFormats.find((element) => element.type === type);
|
|
431
475
|
return (_a = format == null ? void 0 : format.label) != null ? _a : type;
|
|
432
476
|
};
|
|
477
|
+
var emptyRichTextValue = {
|
|
478
|
+
root: {
|
|
479
|
+
type: "root",
|
|
480
|
+
version: 1,
|
|
481
|
+
direction: null,
|
|
482
|
+
format: "",
|
|
483
|
+
indent: 0,
|
|
484
|
+
children: [
|
|
485
|
+
{
|
|
486
|
+
type: "paragraph",
|
|
487
|
+
version: 1,
|
|
488
|
+
format: "start",
|
|
489
|
+
indent: 0,
|
|
490
|
+
direction: null,
|
|
491
|
+
children: [],
|
|
492
|
+
textFormat: 0,
|
|
493
|
+
textStyle: ""
|
|
494
|
+
}
|
|
495
|
+
]
|
|
496
|
+
}
|
|
497
|
+
};
|
|
433
498
|
export {
|
|
499
|
+
emptyRichTextValue,
|
|
434
500
|
getLabelForElement,
|
|
435
501
|
getLabelForFormat,
|
|
502
|
+
getRichTextTagFromTableCellHeaderState,
|
|
436
503
|
getRichTextTagsFromTextFormat,
|
|
437
504
|
hasChildren,
|
|
438
505
|
headingHtmlRenderer,
|
|
@@ -459,6 +526,9 @@ export {
|
|
|
459
526
|
richTextBuiltInElements,
|
|
460
527
|
richTextBuiltInFormats,
|
|
461
528
|
rootHtmlRenderer,
|
|
529
|
+
tableHtmlRenderer,
|
|
530
|
+
tablecellHtmlRenderer,
|
|
531
|
+
tablerowHtmlRenderer,
|
|
462
532
|
textHtmlRenderer,
|
|
463
533
|
walkRichTextTree
|
|
464
534
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uniformdev/richtext",
|
|
3
|
-
"version": "19.
|
|
3
|
+
"version": "19.181.1",
|
|
4
4
|
"description": "Common functionality and types for Uniform Rich Text parameters",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -45,7 +45,6 @@
|
|
|
45
45
|
"@lexical/link": "0.17.0",
|
|
46
46
|
"@lexical/list": "0.17.0",
|
|
47
47
|
"@lexical/rich-text": "0.17.0",
|
|
48
|
-
"@uniformdev/canvas": "^19.180.0",
|
|
49
48
|
"lexical": "0.17.0"
|
|
50
49
|
},
|
|
51
50
|
"files": [
|
|
@@ -54,5 +53,5 @@
|
|
|
54
53
|
"publishConfig": {
|
|
55
54
|
"access": "public"
|
|
56
55
|
},
|
|
57
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "b9bb017045427d3387878b65a7bddb8ae4ef1140"
|
|
58
57
|
}
|