@uniformdev/richtext 19.184.1 → 19.185.1-alpha.8

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,12 @@ 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
+ }
35
+ declare const assetHtmlRenderer: NodeStringRenderer;
30
36
 
31
37
  interface HeadingNode extends RichTextNode {
32
38
  tag: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
@@ -126,6 +132,7 @@ declare function isRichTextNodeType(node: unknown, type: 'text'): node is TextNo
126
132
  declare function isRichTextNodeType(node: unknown, type: 'list'): node is ListNode;
127
133
  declare function isRichTextNodeType(node: unknown, type: 'listitem'): node is ListItemNode;
128
134
  declare function isRichTextNodeType(node: unknown, type: 'link'): node is LinkNode;
135
+ declare function isRichTextNodeType(node: unknown, type: 'asset'): node is AssetNode;
129
136
  declare function isRichTextNodeType(node: unknown, type: string): node is RichTextNode;
130
137
  declare function isRichTextValueConsideredEmpty(value: ParameterRichTextValue): boolean;
131
138
  declare function hasChildren<TRichTextNode extends RichTextNode>(node: TRichTextNode): node is TRichTextNode & {
@@ -202,4 +209,4 @@ declare const emptyRichTextValue: {
202
209
  };
203
210
  };
204
211
 
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 };
212
+ 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,12 @@ 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
+ }
35
+ declare const assetHtmlRenderer: NodeStringRenderer;
30
36
 
31
37
  interface HeadingNode extends RichTextNode {
32
38
  tag: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
@@ -126,6 +132,7 @@ declare function isRichTextNodeType(node: unknown, type: 'text'): node is TextNo
126
132
  declare function isRichTextNodeType(node: unknown, type: 'list'): node is ListNode;
127
133
  declare function isRichTextNodeType(node: unknown, type: 'listitem'): node is ListItemNode;
128
134
  declare function isRichTextNodeType(node: unknown, type: 'link'): node is LinkNode;
135
+ declare function isRichTextNodeType(node: unknown, type: 'asset'): node is AssetNode;
129
136
  declare function isRichTextNodeType(node: unknown, type: string): node is RichTextNode;
130
137
  declare function isRichTextValueConsideredEmpty(value: ParameterRichTextValue): boolean;
131
138
  declare function hasChildren<TRichTextNode extends RichTextNode>(node: TRichTextNode): node is TRichTextNode & {
@@ -202,4 +209,4 @@ declare const emptyRichTextValue: {
202
209
  };
203
210
  };
204
211
 
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 };
212
+ 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,27 @@ function hasChildren(node) {
66
66
  return "children" in node && isArrayWithLength(node.children);
67
67
  }
68
68
 
69
+ // src/nodes/asset.ts
70
+ var ASSETS_SOURCE_UNIFORM = "uniform-assets";
71
+ var assetHtmlRenderer = ({ context }) => {
72
+ var _a, _b;
73
+ const node = context.currentNode;
74
+ if (node.__asset === void 0) {
75
+ return "";
76
+ }
77
+ if (node.__asset.type !== "image" || node.__asset._source !== ASSETS_SOURCE_UNIFORM) {
78
+ return "";
79
+ }
80
+ const imgAttributes = /* @__PURE__ */ new Map();
81
+ imgAttributes.set("src", node.__asset.fields.url.value);
82
+ if ((_a = node.__asset.fields.title) == null ? void 0 : _a.value) {
83
+ imgAttributes.set("alt", node.__asset.fields.title.value);
84
+ }
85
+ const img = renderHtmlElement("img", imgAttributes);
86
+ const figcaption = ((_b = node.__asset.fields.description) == null ? void 0 : _b.value) ? renderHtmlElement("figcaption", null, node.__asset.fields.description.value) : "";
87
+ return renderHtmlElement("figure", null, `${img}${figcaption}`);
88
+ };
89
+
69
90
  // src/nodes/heading.ts
70
91
  var headingHtmlRenderer = ({ context, renderChildren }) => {
71
92
  var _a;
@@ -248,7 +269,8 @@ var rendererTypeMap = /* @__PURE__ */ new Map([
248
269
  ["tab", tabHtmlRenderer],
249
270
  ["table", tableHtmlRenderer],
250
271
  ["tablecell", tablecellHtmlRenderer],
251
- ["tablerow", tablerowHtmlRenderer]
272
+ ["tablerow", tablerowHtmlRenderer],
273
+ ["asset", assetHtmlRenderer]
252
274
  ]);
253
275
  var resolveDefaultRenderer = (context) => {
254
276
  const renderer = rendererTypeMap.get(context.currentNode.type);
@@ -426,6 +448,10 @@ var richTextBuiltInElements = [
426
448
  label: "Table",
427
449
  type: "table"
428
450
  },
451
+ {
452
+ label: "Asset",
453
+ type: "asset"
454
+ },
429
455
  {
430
456
  label: "Dynamic Token",
431
457
  type: "variable"
@@ -496,6 +522,7 @@ var emptyRichTextValue = {
496
522
  }
497
523
  };
498
524
  export {
525
+ assetHtmlRenderer,
499
526
  emptyRichTextValue,
500
527
  getLabelForElement,
501
528
  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,27 @@ function hasChildren(node) {
126
127
  return "children" in node && isArrayWithLength(node.children);
127
128
  }
128
129
 
130
+ // src/nodes/asset.ts
131
+ var ASSETS_SOURCE_UNIFORM = "uniform-assets";
132
+ var assetHtmlRenderer = ({ context }) => {
133
+ var _a, _b;
134
+ const node = context.currentNode;
135
+ if (node.__asset === void 0) {
136
+ return "";
137
+ }
138
+ if (node.__asset.type !== "image" || node.__asset._source !== ASSETS_SOURCE_UNIFORM) {
139
+ return "";
140
+ }
141
+ const imgAttributes = /* @__PURE__ */ new Map();
142
+ imgAttributes.set("src", node.__asset.fields.url.value);
143
+ if ((_a = node.__asset.fields.title) == null ? void 0 : _a.value) {
144
+ imgAttributes.set("alt", node.__asset.fields.title.value);
145
+ }
146
+ const img = renderHtmlElement("img", imgAttributes);
147
+ const figcaption = ((_b = node.__asset.fields.description) == null ? void 0 : _b.value) ? renderHtmlElement("figcaption", null, node.__asset.fields.description.value) : "";
148
+ return renderHtmlElement("figure", null, `${img}${figcaption}`);
149
+ };
150
+
129
151
  // src/nodes/heading.ts
130
152
  var headingHtmlRenderer = ({ context, renderChildren }) => {
131
153
  var _a;
@@ -308,7 +330,8 @@ var rendererTypeMap = /* @__PURE__ */ new Map([
308
330
  ["tab", tabHtmlRenderer],
309
331
  ["table", tableHtmlRenderer],
310
332
  ["tablecell", tablecellHtmlRenderer],
311
- ["tablerow", tablerowHtmlRenderer]
333
+ ["tablerow", tablerowHtmlRenderer],
334
+ ["asset", assetHtmlRenderer]
312
335
  ]);
313
336
  var resolveDefaultRenderer = (context) => {
314
337
  const renderer = rendererTypeMap.get(context.currentNode.type);
@@ -486,6 +509,10 @@ var richTextBuiltInElements = [
486
509
  label: "Table",
487
510
  type: "table"
488
511
  },
512
+ {
513
+ label: "Asset",
514
+ type: "asset"
515
+ },
489
516
  {
490
517
  label: "Dynamic Token",
491
518
  type: "variable"
@@ -557,6 +584,7 @@ var emptyRichTextValue = {
557
584
  };
558
585
  // Annotate the CommonJS export names for ESM import in node:
559
586
  0 && (module.exports = {
587
+ assetHtmlRenderer,
560
588
  emptyRichTextValue,
561
589
  getLabelForElement,
562
590
  getLabelForFormat,
package/dist/index.mjs CHANGED
@@ -66,6 +66,27 @@ function hasChildren(node) {
66
66
  return "children" in node && isArrayWithLength(node.children);
67
67
  }
68
68
 
69
+ // src/nodes/asset.ts
70
+ var ASSETS_SOURCE_UNIFORM = "uniform-assets";
71
+ var assetHtmlRenderer = ({ context }) => {
72
+ var _a, _b;
73
+ const node = context.currentNode;
74
+ if (node.__asset === void 0) {
75
+ return "";
76
+ }
77
+ if (node.__asset.type !== "image" || node.__asset._source !== ASSETS_SOURCE_UNIFORM) {
78
+ return "";
79
+ }
80
+ const imgAttributes = /* @__PURE__ */ new Map();
81
+ imgAttributes.set("src", node.__asset.fields.url.value);
82
+ if ((_a = node.__asset.fields.title) == null ? void 0 : _a.value) {
83
+ imgAttributes.set("alt", node.__asset.fields.title.value);
84
+ }
85
+ const img = renderHtmlElement("img", imgAttributes);
86
+ const figcaption = ((_b = node.__asset.fields.description) == null ? void 0 : _b.value) ? renderHtmlElement("figcaption", null, node.__asset.fields.description.value) : "";
87
+ return renderHtmlElement("figure", null, `${img}${figcaption}`);
88
+ };
89
+
69
90
  // src/nodes/heading.ts
70
91
  var headingHtmlRenderer = ({ context, renderChildren }) => {
71
92
  var _a;
@@ -248,7 +269,8 @@ var rendererTypeMap = /* @__PURE__ */ new Map([
248
269
  ["tab", tabHtmlRenderer],
249
270
  ["table", tableHtmlRenderer],
250
271
  ["tablecell", tablecellHtmlRenderer],
251
- ["tablerow", tablerowHtmlRenderer]
272
+ ["tablerow", tablerowHtmlRenderer],
273
+ ["asset", assetHtmlRenderer]
252
274
  ]);
253
275
  var resolveDefaultRenderer = (context) => {
254
276
  const renderer = rendererTypeMap.get(context.currentNode.type);
@@ -426,6 +448,10 @@ var richTextBuiltInElements = [
426
448
  label: "Table",
427
449
  type: "table"
428
450
  },
451
+ {
452
+ label: "Asset",
453
+ type: "asset"
454
+ },
429
455
  {
430
456
  label: "Dynamic Token",
431
457
  type: "variable"
@@ -496,6 +522,7 @@ var emptyRichTextValue = {
496
522
  }
497
523
  };
498
524
  export {
525
+ assetHtmlRenderer,
499
526
  emptyRichTextValue,
500
527
  getLabelForElement,
501
528
  getLabelForFormat,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniformdev/richtext",
3
- "version": "19.184.1",
3
+ "version": "19.185.1-alpha.8+53f7f96124",
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",
@@ -40,12 +40,13 @@
40
40
  "document": "api-extractor run --local"
41
41
  },
42
42
  "devDependencies": {
43
- "@lexical/headless": "0.17.0",
44
- "@lexical/html": "0.17.0",
45
- "@lexical/link": "0.17.0",
46
- "@lexical/list": "0.17.0",
47
- "@lexical/rich-text": "0.17.0",
48
- "lexical": "0.17.0"
43
+ "@lexical/headless": "0.17.1",
44
+ "@lexical/html": "0.17.1",
45
+ "@lexical/link": "0.17.1",
46
+ "@lexical/list": "0.17.1",
47
+ "@lexical/rich-text": "0.17.1",
48
+ "@uniformdev/assets": "19.185.1-alpha.8+53f7f96124",
49
+ "lexical": "0.17.1"
49
50
  },
50
51
  "files": [
51
52
  "/dist"
@@ -53,5 +54,5 @@
53
54
  "publishConfig": {
54
55
  "access": "public"
55
56
  },
56
- "gitHead": "c3200578f3bda4f90e4c4b9d7997f698054aead8"
57
+ "gitHead": "53f7f961242f3518b103e55337ada7ad91c18dd7"
57
58
  }