@uniformdev/richtext 19.186.4-alpha.4 → 19.190.0

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
@@ -1,3 +1,4 @@
1
+ import { AssetParamValueItem } from '@uniformdev/assets';
1
2
  import { SerializedEditorState, SerializedParagraphNode } from 'lexical';
2
3
 
3
4
  declare function purifyText(text: string): string;
@@ -26,7 +27,13 @@ interface NodeStringRendererProps {
26
27
  type NodeStringRenderer = (props: NodeStringRendererProps) => string;
27
28
  type ParameterRichTextValue = SerializedEditorState | undefined | null;
28
29
  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
+ type RichTextBuiltInElement = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'unorderedList' | 'orderedList' | 'link' | 'quote' | 'code' | 'variable' | 'table' | 'asset';
31
+
32
+ interface AssetNode extends RichTextNode {
33
+ __asset?: NonNullable<AssetParamValueItem>;
34
+ __error?: string;
35
+ }
36
+ declare const assetHtmlRenderer: NodeStringRenderer;
30
37
 
31
38
  interface HeadingNode extends RichTextNode {
32
39
  tag: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
@@ -126,6 +133,7 @@ declare function isRichTextNodeType(node: unknown, type: 'text'): node is TextNo
126
133
  declare function isRichTextNodeType(node: unknown, type: 'list'): node is ListNode;
127
134
  declare function isRichTextNodeType(node: unknown, type: 'listitem'): node is ListItemNode;
128
135
  declare function isRichTextNodeType(node: unknown, type: 'link'): node is LinkNode;
136
+ declare function isRichTextNodeType(node: unknown, type: 'asset'): node is AssetNode;
129
137
  declare function isRichTextNodeType(node: unknown, type: string): node is RichTextNode;
130
138
  declare function isRichTextValueConsideredEmpty(value: ParameterRichTextValue): boolean;
131
139
  declare function hasChildren<TRichTextNode extends RichTextNode>(node: TRichTextNode): node is TRichTextNode & {
@@ -202,4 +210,4 @@ declare const emptyRichTextValue: {
202
210
  };
203
211
  };
204
212
 
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 };
213
+ export { type AssetNode, 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, assetHtmlRenderer, 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,3 +1,4 @@
1
+ import { AssetParamValueItem } from '@uniformdev/assets';
1
2
  import { SerializedEditorState, SerializedParagraphNode } from 'lexical';
2
3
 
3
4
  declare function purifyText(text: string): string;
@@ -26,7 +27,13 @@ interface NodeStringRendererProps {
26
27
  type NodeStringRenderer = (props: NodeStringRendererProps) => string;
27
28
  type ParameterRichTextValue = SerializedEditorState | undefined | null;
28
29
  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
+ type RichTextBuiltInElement = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'unorderedList' | 'orderedList' | 'link' | 'quote' | 'code' | 'variable' | 'table' | 'asset';
31
+
32
+ interface AssetNode extends RichTextNode {
33
+ __asset?: NonNullable<AssetParamValueItem>;
34
+ __error?: string;
35
+ }
36
+ declare const assetHtmlRenderer: NodeStringRenderer;
30
37
 
31
38
  interface HeadingNode extends RichTextNode {
32
39
  tag: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
@@ -126,6 +133,7 @@ declare function isRichTextNodeType(node: unknown, type: 'text'): node is TextNo
126
133
  declare function isRichTextNodeType(node: unknown, type: 'list'): node is ListNode;
127
134
  declare function isRichTextNodeType(node: unknown, type: 'listitem'): node is ListItemNode;
128
135
  declare function isRichTextNodeType(node: unknown, type: 'link'): node is LinkNode;
136
+ declare function isRichTextNodeType(node: unknown, type: 'asset'): node is AssetNode;
129
137
  declare function isRichTextNodeType(node: unknown, type: string): node is RichTextNode;
130
138
  declare function isRichTextValueConsideredEmpty(value: ParameterRichTextValue): boolean;
131
139
  declare function hasChildren<TRichTextNode extends RichTextNode>(node: TRichTextNode): node is TRichTextNode & {
@@ -202,4 +210,4 @@ declare const emptyRichTextValue: {
202
210
  };
203
211
  };
204
212
 
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 };
213
+ export { type AssetNode, 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, assetHtmlRenderer, 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
@@ -66,6 +66,26 @@ function hasChildren(node) {
66
66
  return "children" in node && isArrayWithLength(node.children);
67
67
  }
68
68
 
69
+ // src/nodes/asset.ts
70
+ var assetHtmlRenderer = ({ context }) => {
71
+ var _a, _b;
72
+ const node = context.currentNode;
73
+ if (node.__asset === void 0) {
74
+ return "";
75
+ }
76
+ if (node.__asset.type !== "image") {
77
+ return "";
78
+ }
79
+ const imgAttributes = /* @__PURE__ */ new Map();
80
+ imgAttributes.set("src", node.__asset.fields.url.value);
81
+ if ((_a = node.__asset.fields.title) == null ? void 0 : _a.value) {
82
+ imgAttributes.set("alt", node.__asset.fields.title.value);
83
+ }
84
+ const img = renderHtmlElement("img", imgAttributes);
85
+ const figcaption = ((_b = node.__asset.fields.description) == null ? void 0 : _b.value) ? renderHtmlElement("figcaption", null, node.__asset.fields.description.value) : "";
86
+ return renderHtmlElement("figure", null, `${img}${figcaption}`);
87
+ };
88
+
69
89
  // src/nodes/heading.ts
70
90
  var headingHtmlRenderer = ({ context, renderChildren }) => {
71
91
  var _a;
@@ -248,7 +268,8 @@ var rendererTypeMap = /* @__PURE__ */ new Map([
248
268
  ["tab", tabHtmlRenderer],
249
269
  ["table", tableHtmlRenderer],
250
270
  ["tablecell", tablecellHtmlRenderer],
251
- ["tablerow", tablerowHtmlRenderer]
271
+ ["tablerow", tablerowHtmlRenderer],
272
+ ["asset", assetHtmlRenderer]
252
273
  ]);
253
274
  var resolveDefaultRenderer = (context) => {
254
275
  const renderer = rendererTypeMap.get(context.currentNode.type);
@@ -426,6 +447,10 @@ var richTextBuiltInElements = [
426
447
  label: "Table",
427
448
  type: "table"
428
449
  },
450
+ {
451
+ label: "Asset",
452
+ type: "asset"
453
+ },
429
454
  {
430
455
  label: "Dynamic Token",
431
456
  type: "variable"
@@ -496,6 +521,7 @@ var emptyRichTextValue = {
496
521
  }
497
522
  };
498
523
  export {
524
+ assetHtmlRenderer,
499
525
  emptyRichTextValue,
500
526
  getLabelForElement,
501
527
  getLabelForFormat,
package/dist/index.js CHANGED
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var src_exports = {};
22
22
  __export(src_exports, {
23
+ assetHtmlRenderer: () => assetHtmlRenderer,
23
24
  emptyRichTextValue: () => emptyRichTextValue,
24
25
  getLabelForElement: () => getLabelForElement,
25
26
  getLabelForFormat: () => getLabelForFormat,
@@ -126,6 +127,26 @@ function hasChildren(node) {
126
127
  return "children" in node && isArrayWithLength(node.children);
127
128
  }
128
129
 
130
+ // src/nodes/asset.ts
131
+ var assetHtmlRenderer = ({ context }) => {
132
+ var _a, _b;
133
+ const node = context.currentNode;
134
+ if (node.__asset === void 0) {
135
+ return "";
136
+ }
137
+ if (node.__asset.type !== "image") {
138
+ return "";
139
+ }
140
+ const imgAttributes = /* @__PURE__ */ new Map();
141
+ imgAttributes.set("src", node.__asset.fields.url.value);
142
+ if ((_a = node.__asset.fields.title) == null ? void 0 : _a.value) {
143
+ imgAttributes.set("alt", node.__asset.fields.title.value);
144
+ }
145
+ const img = renderHtmlElement("img", imgAttributes);
146
+ const figcaption = ((_b = node.__asset.fields.description) == null ? void 0 : _b.value) ? renderHtmlElement("figcaption", null, node.__asset.fields.description.value) : "";
147
+ return renderHtmlElement("figure", null, `${img}${figcaption}`);
148
+ };
149
+
129
150
  // src/nodes/heading.ts
130
151
  var headingHtmlRenderer = ({ context, renderChildren }) => {
131
152
  var _a;
@@ -308,7 +329,8 @@ var rendererTypeMap = /* @__PURE__ */ new Map([
308
329
  ["tab", tabHtmlRenderer],
309
330
  ["table", tableHtmlRenderer],
310
331
  ["tablecell", tablecellHtmlRenderer],
311
- ["tablerow", tablerowHtmlRenderer]
332
+ ["tablerow", tablerowHtmlRenderer],
333
+ ["asset", assetHtmlRenderer]
312
334
  ]);
313
335
  var resolveDefaultRenderer = (context) => {
314
336
  const renderer = rendererTypeMap.get(context.currentNode.type);
@@ -486,6 +508,10 @@ var richTextBuiltInElements = [
486
508
  label: "Table",
487
509
  type: "table"
488
510
  },
511
+ {
512
+ label: "Asset",
513
+ type: "asset"
514
+ },
489
515
  {
490
516
  label: "Dynamic Token",
491
517
  type: "variable"
@@ -557,6 +583,7 @@ var emptyRichTextValue = {
557
583
  };
558
584
  // Annotate the CommonJS export names for ESM import in node:
559
585
  0 && (module.exports = {
586
+ assetHtmlRenderer,
560
587
  emptyRichTextValue,
561
588
  getLabelForElement,
562
589
  getLabelForFormat,
package/dist/index.mjs CHANGED
@@ -66,6 +66,26 @@ function hasChildren(node) {
66
66
  return "children" in node && isArrayWithLength(node.children);
67
67
  }
68
68
 
69
+ // src/nodes/asset.ts
70
+ var assetHtmlRenderer = ({ context }) => {
71
+ var _a, _b;
72
+ const node = context.currentNode;
73
+ if (node.__asset === void 0) {
74
+ return "";
75
+ }
76
+ if (node.__asset.type !== "image") {
77
+ return "";
78
+ }
79
+ const imgAttributes = /* @__PURE__ */ new Map();
80
+ imgAttributes.set("src", node.__asset.fields.url.value);
81
+ if ((_a = node.__asset.fields.title) == null ? void 0 : _a.value) {
82
+ imgAttributes.set("alt", node.__asset.fields.title.value);
83
+ }
84
+ const img = renderHtmlElement("img", imgAttributes);
85
+ const figcaption = ((_b = node.__asset.fields.description) == null ? void 0 : _b.value) ? renderHtmlElement("figcaption", null, node.__asset.fields.description.value) : "";
86
+ return renderHtmlElement("figure", null, `${img}${figcaption}`);
87
+ };
88
+
69
89
  // src/nodes/heading.ts
70
90
  var headingHtmlRenderer = ({ context, renderChildren }) => {
71
91
  var _a;
@@ -248,7 +268,8 @@ var rendererTypeMap = /* @__PURE__ */ new Map([
248
268
  ["tab", tabHtmlRenderer],
249
269
  ["table", tableHtmlRenderer],
250
270
  ["tablecell", tablecellHtmlRenderer],
251
- ["tablerow", tablerowHtmlRenderer]
271
+ ["tablerow", tablerowHtmlRenderer],
272
+ ["asset", assetHtmlRenderer]
252
273
  ]);
253
274
  var resolveDefaultRenderer = (context) => {
254
275
  const renderer = rendererTypeMap.get(context.currentNode.type);
@@ -426,6 +447,10 @@ var richTextBuiltInElements = [
426
447
  label: "Table",
427
448
  type: "table"
428
449
  },
450
+ {
451
+ label: "Asset",
452
+ type: "asset"
453
+ },
429
454
  {
430
455
  label: "Dynamic Token",
431
456
  type: "variable"
@@ -496,6 +521,7 @@ var emptyRichTextValue = {
496
521
  }
497
522
  };
498
523
  export {
524
+ assetHtmlRenderer,
499
525
  emptyRichTextValue,
500
526
  getLabelForElement,
501
527
  getLabelForFormat,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniformdev/richtext",
3
- "version": "19.186.4-alpha.4+1424f4a2db",
3
+ "version": "19.190.0",
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,6 +45,7 @@
45
45
  "@lexical/link": "0.17.1",
46
46
  "@lexical/list": "0.17.1",
47
47
  "@lexical/rich-text": "0.17.1",
48
+ "@uniformdev/assets": "19.190.0",
48
49
  "lexical": "0.17.1"
49
50
  },
50
51
  "files": [
@@ -53,5 +54,5 @@
53
54
  "publishConfig": {
54
55
  "access": "public"
55
56
  },
56
- "gitHead": "1424f4a2db7b2f40aab77fee598eb714ac00b807"
57
+ "gitHead": "8bfb11f83f7e3333b531435363d81f43a7dca5a9"
57
58
  }