@uniformdev/richtext 20.75.1-alpha.16 → 20.75.1-alpha.6
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 +12 -46
- package/dist/index.d.ts +12 -46
- package/dist/index.esm.js +142 -330
- package/dist/index.js +142 -334
- package/dist/index.mjs +142 -330
- package/package.json +9 -9
package/dist/index.esm.js
CHANGED
|
@@ -182,23 +182,18 @@ var listHtmlRenderer = ({ context, renderChildren }) => {
|
|
|
182
182
|
var _a;
|
|
183
183
|
const node = context.currentNode;
|
|
184
184
|
const attributes = /* @__PURE__ */ new Map();
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
attributes.set("start", start.toString());
|
|
185
|
+
if (node.start > 1) {
|
|
186
|
+
attributes.set("start", node.start.toString());
|
|
188
187
|
}
|
|
189
188
|
return renderHtmlElement((_a = node.tag) != null ? _a : "ul", attributes, renderChildren(context.currentNode.children));
|
|
190
189
|
};
|
|
191
|
-
function getRichTextListStart(start) {
|
|
192
|
-
return start === void 0 ? 1 : start;
|
|
193
|
-
}
|
|
194
190
|
|
|
195
191
|
// src/nodes/listitem.ts
|
|
196
192
|
var listitemHtmlRenderer = ({ context, renderChildren }) => {
|
|
197
193
|
const node = context.currentNode;
|
|
198
194
|
const attributes = /* @__PURE__ */ new Map();
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
attributes.set("value", value.toString());
|
|
195
|
+
if (Number.isFinite(node.value) && node.value > 0) {
|
|
196
|
+
attributes.set("value", node.value.toString());
|
|
202
197
|
}
|
|
203
198
|
return renderHtmlElement("li", attributes, renderChildren(context.currentNode.children));
|
|
204
199
|
};
|
|
@@ -212,9 +207,6 @@ var listitemTextRenderer = ({ context, renderChildren }) => {
|
|
|
212
207
|
}
|
|
213
208
|
return `${childrenRendered} `;
|
|
214
209
|
};
|
|
215
|
-
function getRichTextListItemValue(value) {
|
|
216
|
-
return value === void 0 ? 1 : value;
|
|
217
|
-
}
|
|
218
210
|
|
|
219
211
|
// src/nodes/paragraph.ts
|
|
220
212
|
var paragraphHtmlRenderer = ({ context, renderChildren }) => {
|
|
@@ -261,7 +253,7 @@ var tablecellTextRenderer = ({ context, renderChildren }) => {
|
|
|
261
253
|
return hasChildren(context.currentNode) ? `${renderChildren(context.currentNode.children)} ` : "";
|
|
262
254
|
};
|
|
263
255
|
function getRichTextTagFromTableCellHeaderState(headerState) {
|
|
264
|
-
if (
|
|
256
|
+
if (headerState === 0) {
|
|
265
257
|
return "td";
|
|
266
258
|
}
|
|
267
259
|
return "th";
|
|
@@ -290,9 +282,6 @@ var textTextRenderer = ({ context }) => {
|
|
|
290
282
|
};
|
|
291
283
|
function getRichTextTagsFromTextFormat(format) {
|
|
292
284
|
const tags = [];
|
|
293
|
-
if (!format) {
|
|
294
|
-
return tags;
|
|
295
|
-
}
|
|
296
285
|
if (format & 1 << 0) {
|
|
297
286
|
tags.push("strong");
|
|
298
287
|
}
|
|
@@ -317,133 +306,154 @@ function getRichTextTagsFromTextFormat(format) {
|
|
|
317
306
|
return tags;
|
|
318
307
|
}
|
|
319
308
|
|
|
320
|
-
// src/
|
|
321
|
-
var
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
var
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
"
|
|
341
|
-
"
|
|
342
|
-
"direction"
|
|
343
|
-
// 'version', // Retain until SDKs that treat missing `version` as `1` are widely adopted.
|
|
344
|
-
]);
|
|
345
|
-
var TEXT_PROPERTIES_SAFE_TO_OMIT = Object.freeze([
|
|
346
|
-
// 'format', // Retain until SDKs that treat missing text/tab `format` as `0` are widely adopted.
|
|
347
|
-
"style",
|
|
348
|
-
"mode",
|
|
349
|
-
"detail"
|
|
350
|
-
// 'version', // Retain until SDKs that treat missing `version` as `1` are widely adopted.
|
|
351
|
-
]);
|
|
352
|
-
var NO_PROPERTIES_SAFE_TO_OMIT = Object.freeze([
|
|
353
|
-
// 'version', // Retain until SDKs that treat missing `version` as `1` are widely adopted.
|
|
309
|
+
// src/nodes/tab.ts
|
|
310
|
+
var tabHtmlRenderer = () => {
|
|
311
|
+
return " ";
|
|
312
|
+
};
|
|
313
|
+
var tabTextRenderer = () => {
|
|
314
|
+
return " ";
|
|
315
|
+
};
|
|
316
|
+
|
|
317
|
+
// src/renderToHtml.ts
|
|
318
|
+
var rendererTypeMap = /* @__PURE__ */ new Map([
|
|
319
|
+
["heading", headingHtmlRenderer],
|
|
320
|
+
["link", linkHtmlRenderer],
|
|
321
|
+
["list", listHtmlRenderer],
|
|
322
|
+
["listitem", listitemHtmlRenderer],
|
|
323
|
+
["paragraph", paragraphHtmlRenderer],
|
|
324
|
+
["root", rootHtmlRenderer],
|
|
325
|
+
["text", textHtmlRenderer],
|
|
326
|
+
["tab", tabHtmlRenderer],
|
|
327
|
+
["table", tableHtmlRenderer],
|
|
328
|
+
["tablecell", tablecellHtmlRenderer],
|
|
329
|
+
["tablerow", tablerowHtmlRenderer],
|
|
330
|
+
["asset", assetHtmlRenderer]
|
|
354
331
|
]);
|
|
355
|
-
var
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
code: Object.freeze({ 1: ELEMENT_BASELINE_V1 }),
|
|
360
|
-
table: Object.freeze({ 1: ELEMENT_BASELINE_V1 }),
|
|
361
|
-
tablerow: Object.freeze({ 1: ELEMENT_BASELINE_V1 }),
|
|
362
|
-
link: Object.freeze({ 1: ELEMENT_BASELINE_V1 }),
|
|
363
|
-
paragraph: Object.freeze({
|
|
364
|
-
1: Object.freeze({ ...ELEMENT_BASELINE_V1, textFormat: 0, textStyle: "" })
|
|
365
|
-
}),
|
|
366
|
-
list: Object.freeze({ 1: Object.freeze({ ...ELEMENT_BASELINE_V1, start: 1 }) }),
|
|
367
|
-
listitem: Object.freeze({ 1: Object.freeze({ ...ELEMENT_BASELINE_V1, value: 1 }) }),
|
|
368
|
-
tablecell: Object.freeze({
|
|
369
|
-
1: Object.freeze({
|
|
370
|
-
...ELEMENT_BASELINE_V1,
|
|
371
|
-
colSpan: 1,
|
|
372
|
-
rowSpan: 1,
|
|
373
|
-
backgroundColor: null,
|
|
374
|
-
headerState: 0
|
|
375
|
-
})
|
|
376
|
-
}),
|
|
377
|
-
text: Object.freeze({ 1: TEXT_BASELINE_V1 }),
|
|
378
|
-
tab: Object.freeze({ 1: TEXT_BASELINE_V1 }),
|
|
379
|
-
linebreak: Object.freeze({ 1: VERSION_ONLY_V1 }),
|
|
380
|
-
asset: Object.freeze({ 1: VERSION_ONLY_V1 }),
|
|
381
|
-
// Rich text variable binding still requires an explicit version, so variable nodes stay verbose.
|
|
382
|
-
variable: Object.freeze({ 1: NO_DEFAULTS })
|
|
383
|
-
});
|
|
384
|
-
var RICH_TEXT_NODE_PROPERTIES_SAFE_TO_OMIT = Object.freeze({
|
|
385
|
-
root: ELEMENT_PROPERTIES_SAFE_TO_OMIT,
|
|
386
|
-
heading: ELEMENT_PROPERTIES_SAFE_TO_OMIT,
|
|
387
|
-
quote: ELEMENT_PROPERTIES_SAFE_TO_OMIT,
|
|
388
|
-
code: ELEMENT_PROPERTIES_SAFE_TO_OMIT,
|
|
389
|
-
table: ELEMENT_PROPERTIES_SAFE_TO_OMIT,
|
|
390
|
-
tablerow: ELEMENT_PROPERTIES_SAFE_TO_OMIT,
|
|
391
|
-
link: ELEMENT_PROPERTIES_SAFE_TO_OMIT,
|
|
392
|
-
paragraph: Object.freeze([...ELEMENT_PROPERTIES_SAFE_TO_OMIT, "textFormat", "textStyle"]),
|
|
393
|
-
list: Object.freeze([
|
|
394
|
-
...ELEMENT_PROPERTIES_SAFE_TO_OMIT
|
|
395
|
-
// 'start', // Retain until SDKs that treat missing list `start` as `1` are widely adopted.
|
|
396
|
-
]),
|
|
397
|
-
listitem: Object.freeze([
|
|
398
|
-
...ELEMENT_PROPERTIES_SAFE_TO_OMIT
|
|
399
|
-
// 'value', // Retain until SDKs that treat missing list-item `value` as `1` are widely adopted.
|
|
400
|
-
]),
|
|
401
|
-
tablecell: Object.freeze([
|
|
402
|
-
...ELEMENT_PROPERTIES_SAFE_TO_OMIT,
|
|
403
|
-
"colSpan",
|
|
404
|
-
"rowSpan",
|
|
405
|
-
"backgroundColor"
|
|
406
|
-
// 'headerState', // Retain until SDKs that treat missing `headerState` as `0` are widely adopted.
|
|
407
|
-
]),
|
|
408
|
-
text: TEXT_PROPERTIES_SAFE_TO_OMIT,
|
|
409
|
-
tab: TEXT_PROPERTIES_SAFE_TO_OMIT,
|
|
410
|
-
linebreak: NO_PROPERTIES_SAFE_TO_OMIT,
|
|
411
|
-
asset: NO_PROPERTIES_SAFE_TO_OMIT,
|
|
412
|
-
variable: NO_PROPERTIES_SAFE_TO_OMIT
|
|
413
|
-
});
|
|
414
|
-
function getStoredRichTextNodeVersion(node) {
|
|
415
|
-
return typeof node.version === "number" ? node.version : OMITTED_RICH_TEXT_NODE_VERSION;
|
|
416
|
-
}
|
|
417
|
-
function isOmittableRichTextDefault(key, nodeValue, defaultValue) {
|
|
418
|
-
if (!Object.is(nodeValue, defaultValue)) {
|
|
419
|
-
return false;
|
|
332
|
+
var resolveDefaultRenderer = (context) => {
|
|
333
|
+
const renderer = rendererTypeMap.get(context.currentNode.type);
|
|
334
|
+
if (renderer) {
|
|
335
|
+
return renderer;
|
|
420
336
|
}
|
|
421
|
-
|
|
422
|
-
|
|
337
|
+
const tags = rendererTypeTagMap.get(context.currentNode.type);
|
|
338
|
+
if (tags) {
|
|
339
|
+
return ({ renderChildren }) => {
|
|
340
|
+
var _a;
|
|
341
|
+
return (_a = tags.reduceRight(
|
|
342
|
+
(children, tag) => {
|
|
343
|
+
return renderHtmlElement(tag, null, children);
|
|
344
|
+
},
|
|
345
|
+
hasChildren(context.currentNode) ? renderChildren(context.currentNode.children) : void 0
|
|
346
|
+
)) != null ? _a : "";
|
|
347
|
+
};
|
|
423
348
|
}
|
|
424
|
-
return
|
|
349
|
+
return () => `<!-- WARNING: No renderer for type ${context.currentNode.type} -->`;
|
|
350
|
+
};
|
|
351
|
+
function initializeRenderContext(node, parentContext) {
|
|
352
|
+
let ancestorNodes = [];
|
|
353
|
+
if (parentContext == null ? void 0 : parentContext.ancestorNodes) {
|
|
354
|
+
ancestorNodes = ancestorNodes.concat(parentContext.ancestorNodes);
|
|
355
|
+
}
|
|
356
|
+
if (parentContext == null ? void 0 : parentContext.currentNode) {
|
|
357
|
+
ancestorNodes.unshift(parentContext.currentNode);
|
|
358
|
+
}
|
|
359
|
+
return {
|
|
360
|
+
...parentContext != null ? parentContext : {},
|
|
361
|
+
currentNode: node,
|
|
362
|
+
ancestorNodes
|
|
363
|
+
};
|
|
425
364
|
}
|
|
426
|
-
function
|
|
365
|
+
function renderToHtml(node, parentContext) {
|
|
427
366
|
var _a;
|
|
428
|
-
|
|
429
|
-
const
|
|
430
|
-
|
|
431
|
-
|
|
367
|
+
if (!isRichTextNode(node)) return "";
|
|
368
|
+
const context = initializeRenderContext(node, parentContext);
|
|
369
|
+
let renderer = (_a = context.resolveRenderer) == null ? void 0 : _a.call(context, context);
|
|
370
|
+
if (typeof renderer === "undefined") {
|
|
371
|
+
renderer = resolveDefaultRenderer(context);
|
|
372
|
+
} else if (renderer === null) {
|
|
373
|
+
return "";
|
|
432
374
|
}
|
|
433
|
-
|
|
434
|
-
|
|
375
|
+
const renderChildren = (children) => renderChildrenToHtml(children, context);
|
|
376
|
+
if (renderer) {
|
|
377
|
+
return renderer({ context, renderChildren });
|
|
378
|
+
} else {
|
|
379
|
+
throw new Error(`There is no renderer for node type: ${context.currentNode.type}`);
|
|
435
380
|
}
|
|
436
|
-
|
|
437
|
-
|
|
381
|
+
}
|
|
382
|
+
function renderChildrenToHtml(children, context) {
|
|
383
|
+
return Array.isArray(children) ? children.map((node) => renderToHtml(node, context)).join("") : "";
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
// src/nodes/linebreak.ts
|
|
387
|
+
var linebreakTextRenderer = () => {
|
|
388
|
+
return " ";
|
|
389
|
+
};
|
|
390
|
+
|
|
391
|
+
// src/renderToText.ts
|
|
392
|
+
var rendererTypeMap2 = /* @__PURE__ */ new Map([
|
|
393
|
+
["text", textTextRenderer],
|
|
394
|
+
["tab", tabTextRenderer],
|
|
395
|
+
["linebreak", linebreakTextRenderer],
|
|
396
|
+
["paragraph", paragraphTextRenderer],
|
|
397
|
+
["listitem", listitemTextRenderer],
|
|
398
|
+
["heading", headingTextRenderer],
|
|
399
|
+
["table", tableTextRenderer],
|
|
400
|
+
["tablecell", tablecellTextRenderer],
|
|
401
|
+
["tablerow", tablerowTextRenderer]
|
|
402
|
+
]);
|
|
403
|
+
var resolveDefaultRenderer2 = (context) => {
|
|
404
|
+
const renderer = rendererTypeMap2.get(context.currentNode.type);
|
|
405
|
+
if (renderer) {
|
|
406
|
+
return renderer;
|
|
407
|
+
}
|
|
408
|
+
return ({ context: context2, renderChildren }) => {
|
|
409
|
+
return hasChildren(context2.currentNode) ? renderChildren(context2.currentNode.children) : "";
|
|
410
|
+
};
|
|
411
|
+
};
|
|
412
|
+
function initializeRenderContext2(node, parentContext) {
|
|
413
|
+
let ancestorNodes = [];
|
|
414
|
+
if (parentContext == null ? void 0 : parentContext.ancestorNodes) {
|
|
415
|
+
ancestorNodes = ancestorNodes.concat(parentContext.ancestorNodes);
|
|
416
|
+
}
|
|
417
|
+
if (parentContext == null ? void 0 : parentContext.currentNode) {
|
|
418
|
+
ancestorNodes.unshift(parentContext.currentNode);
|
|
419
|
+
}
|
|
420
|
+
return {
|
|
421
|
+
...parentContext != null ? parentContext : {},
|
|
422
|
+
currentNode: node,
|
|
423
|
+
ancestorNodes
|
|
424
|
+
};
|
|
425
|
+
}
|
|
426
|
+
function renderToText(node, parentContext) {
|
|
427
|
+
var _a;
|
|
428
|
+
if (!isRichTextNode(node)) return "";
|
|
429
|
+
const context = initializeRenderContext2(node, parentContext);
|
|
430
|
+
let renderer = (_a = context.resolveRenderer) == null ? void 0 : _a.call(context, context);
|
|
431
|
+
if (typeof renderer === "undefined") {
|
|
432
|
+
renderer = resolveDefaultRenderer2(context);
|
|
433
|
+
} else if (renderer === null) {
|
|
434
|
+
return "";
|
|
438
435
|
}
|
|
439
|
-
|
|
440
|
-
|
|
436
|
+
const renderChildren = (children) => renderChildrenToText(children, context);
|
|
437
|
+
if (renderer) {
|
|
438
|
+
const rendered = renderer({ context, renderChildren });
|
|
439
|
+
return context.ancestorNodes.length > 0 ? rendered : rendered.trim();
|
|
440
|
+
} else {
|
|
441
|
+
throw new Error(`There is no renderer for node type: ${context.currentNode.type}`);
|
|
441
442
|
}
|
|
442
|
-
return VERSION_ONLY_V1;
|
|
443
443
|
}
|
|
444
|
-
function
|
|
444
|
+
function renderChildrenToText(children, context) {
|
|
445
|
+
return Array.isArray(children) ? children.map((node) => renderToText(node, context)).join("") : "";
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
// src/types.ts
|
|
449
|
+
function resolveLinkAttrConfig(entry) {
|
|
445
450
|
var _a;
|
|
446
|
-
return
|
|
451
|
+
return {
|
|
452
|
+
key: entry.key,
|
|
453
|
+
options: entry.options,
|
|
454
|
+
label: (_a = entry.label) != null ? _a : entry.key,
|
|
455
|
+
helpText: entry.helpText
|
|
456
|
+
};
|
|
447
457
|
}
|
|
448
458
|
|
|
449
459
|
// src/utils.ts
|
|
@@ -596,208 +606,12 @@ var defaultParameterConfiguration = {
|
|
|
596
606
|
}
|
|
597
607
|
}
|
|
598
608
|
};
|
|
599
|
-
|
|
600
|
-
// src/omitDefaultRichTextProperties.ts
|
|
601
|
-
function omitDefaultPropertiesFromNode(node) {
|
|
602
|
-
const defaults = getDefaultRichTextPropertiesForNode(node);
|
|
603
|
-
for (const key of getRichTextPropertiesSafeToOmit(node)) {
|
|
604
|
-
if (!(key in node)) {
|
|
605
|
-
continue;
|
|
606
|
-
}
|
|
607
|
-
const defaultValue = defaults[key];
|
|
608
|
-
if (isOmittableRichTextDefault(key, node[key], defaultValue)) {
|
|
609
|
-
delete node[key];
|
|
610
|
-
}
|
|
611
|
-
}
|
|
612
|
-
}
|
|
613
|
-
function omitDefaultRichTextProperties(value) {
|
|
614
|
-
if (!isRichTextValue(value)) {
|
|
615
|
-
return value;
|
|
616
|
-
}
|
|
617
|
-
const cloned = structuredClone(value);
|
|
618
|
-
walkRichTextTree(cloned.root, (node) => {
|
|
619
|
-
omitDefaultPropertiesFromNode(node);
|
|
620
|
-
});
|
|
621
|
-
return cloned;
|
|
622
|
-
}
|
|
623
|
-
|
|
624
|
-
// src/rehydrateDefaultRichTextProperties.ts
|
|
625
|
-
function rehydrateDefaultPropertiesOnNode(node) {
|
|
626
|
-
const defaults = getDefaultRichTextPropertiesForNode(node);
|
|
627
|
-
for (const [key, defaultValue] of Object.entries(defaults)) {
|
|
628
|
-
if (!(key in node)) {
|
|
629
|
-
node[key] = defaultValue;
|
|
630
|
-
}
|
|
631
|
-
}
|
|
632
|
-
}
|
|
633
|
-
function rehydrateDefaultRichTextProperties(value) {
|
|
634
|
-
if (!isRichTextValue(value)) {
|
|
635
|
-
return value;
|
|
636
|
-
}
|
|
637
|
-
const cloned = structuredClone(value);
|
|
638
|
-
walkRichTextTree(cloned.root, (node) => {
|
|
639
|
-
rehydrateDefaultPropertiesOnNode(node);
|
|
640
|
-
});
|
|
641
|
-
return cloned;
|
|
642
|
-
}
|
|
643
|
-
|
|
644
|
-
// src/nodes/tab.ts
|
|
645
|
-
var tabHtmlRenderer = () => {
|
|
646
|
-
return " ";
|
|
647
|
-
};
|
|
648
|
-
var tabTextRenderer = () => {
|
|
649
|
-
return " ";
|
|
650
|
-
};
|
|
651
|
-
|
|
652
|
-
// src/renderToHtml.ts
|
|
653
|
-
var rendererTypeMap = /* @__PURE__ */ new Map([
|
|
654
|
-
["heading", headingHtmlRenderer],
|
|
655
|
-
["link", linkHtmlRenderer],
|
|
656
|
-
["list", listHtmlRenderer],
|
|
657
|
-
["listitem", listitemHtmlRenderer],
|
|
658
|
-
["paragraph", paragraphHtmlRenderer],
|
|
659
|
-
["root", rootHtmlRenderer],
|
|
660
|
-
["text", textHtmlRenderer],
|
|
661
|
-
["tab", tabHtmlRenderer],
|
|
662
|
-
["table", tableHtmlRenderer],
|
|
663
|
-
["tablecell", tablecellHtmlRenderer],
|
|
664
|
-
["tablerow", tablerowHtmlRenderer],
|
|
665
|
-
["asset", assetHtmlRenderer]
|
|
666
|
-
]);
|
|
667
|
-
var resolveDefaultRenderer = (context) => {
|
|
668
|
-
const renderer = rendererTypeMap.get(context.currentNode.type);
|
|
669
|
-
if (renderer) {
|
|
670
|
-
return renderer;
|
|
671
|
-
}
|
|
672
|
-
const tags = rendererTypeTagMap.get(context.currentNode.type);
|
|
673
|
-
if (tags) {
|
|
674
|
-
return ({ renderChildren }) => {
|
|
675
|
-
var _a;
|
|
676
|
-
return (_a = tags.reduceRight(
|
|
677
|
-
(children, tag) => {
|
|
678
|
-
return renderHtmlElement(tag, null, children);
|
|
679
|
-
},
|
|
680
|
-
hasChildren(context.currentNode) ? renderChildren(context.currentNode.children) : void 0
|
|
681
|
-
)) != null ? _a : "";
|
|
682
|
-
};
|
|
683
|
-
}
|
|
684
|
-
return () => `<!-- WARNING: No renderer for type ${context.currentNode.type} -->`;
|
|
685
|
-
};
|
|
686
|
-
function initializeRenderContext(node, parentContext) {
|
|
687
|
-
let ancestorNodes = [];
|
|
688
|
-
if (parentContext == null ? void 0 : parentContext.ancestorNodes) {
|
|
689
|
-
ancestorNodes = ancestorNodes.concat(parentContext.ancestorNodes);
|
|
690
|
-
}
|
|
691
|
-
if (parentContext == null ? void 0 : parentContext.currentNode) {
|
|
692
|
-
ancestorNodes.unshift(parentContext.currentNode);
|
|
693
|
-
}
|
|
694
|
-
return {
|
|
695
|
-
...parentContext != null ? parentContext : {},
|
|
696
|
-
currentNode: node,
|
|
697
|
-
ancestorNodes
|
|
698
|
-
};
|
|
699
|
-
}
|
|
700
|
-
function renderToHtml(node, parentContext) {
|
|
701
|
-
var _a;
|
|
702
|
-
if (!isRichTextNode(node)) return "";
|
|
703
|
-
const context = initializeRenderContext(node, parentContext);
|
|
704
|
-
let renderer = (_a = context.resolveRenderer) == null ? void 0 : _a.call(context, context);
|
|
705
|
-
if (typeof renderer === "undefined") {
|
|
706
|
-
renderer = resolveDefaultRenderer(context);
|
|
707
|
-
} else if (renderer === null) {
|
|
708
|
-
return "";
|
|
709
|
-
}
|
|
710
|
-
const renderChildren = (children) => renderChildrenToHtml(children, context);
|
|
711
|
-
if (renderer) {
|
|
712
|
-
return renderer({ context, renderChildren });
|
|
713
|
-
} else {
|
|
714
|
-
throw new Error(`There is no renderer for node type: ${context.currentNode.type}`);
|
|
715
|
-
}
|
|
716
|
-
}
|
|
717
|
-
function renderChildrenToHtml(children, context) {
|
|
718
|
-
return Array.isArray(children) ? children.map((node) => renderToHtml(node, context)).join("") : "";
|
|
719
|
-
}
|
|
720
|
-
|
|
721
|
-
// src/nodes/linebreak.ts
|
|
722
|
-
var linebreakTextRenderer = () => {
|
|
723
|
-
return " ";
|
|
724
|
-
};
|
|
725
|
-
|
|
726
|
-
// src/renderToText.ts
|
|
727
|
-
var rendererTypeMap2 = /* @__PURE__ */ new Map([
|
|
728
|
-
["text", textTextRenderer],
|
|
729
|
-
["tab", tabTextRenderer],
|
|
730
|
-
["linebreak", linebreakTextRenderer],
|
|
731
|
-
["paragraph", paragraphTextRenderer],
|
|
732
|
-
["listitem", listitemTextRenderer],
|
|
733
|
-
["heading", headingTextRenderer],
|
|
734
|
-
["table", tableTextRenderer],
|
|
735
|
-
["tablecell", tablecellTextRenderer],
|
|
736
|
-
["tablerow", tablerowTextRenderer]
|
|
737
|
-
]);
|
|
738
|
-
var resolveDefaultRenderer2 = (context) => {
|
|
739
|
-
const renderer = rendererTypeMap2.get(context.currentNode.type);
|
|
740
|
-
if (renderer) {
|
|
741
|
-
return renderer;
|
|
742
|
-
}
|
|
743
|
-
return ({ context: context2, renderChildren }) => {
|
|
744
|
-
return hasChildren(context2.currentNode) ? renderChildren(context2.currentNode.children) : "";
|
|
745
|
-
};
|
|
746
|
-
};
|
|
747
|
-
function initializeRenderContext2(node, parentContext) {
|
|
748
|
-
let ancestorNodes = [];
|
|
749
|
-
if (parentContext == null ? void 0 : parentContext.ancestorNodes) {
|
|
750
|
-
ancestorNodes = ancestorNodes.concat(parentContext.ancestorNodes);
|
|
751
|
-
}
|
|
752
|
-
if (parentContext == null ? void 0 : parentContext.currentNode) {
|
|
753
|
-
ancestorNodes.unshift(parentContext.currentNode);
|
|
754
|
-
}
|
|
755
|
-
return {
|
|
756
|
-
...parentContext != null ? parentContext : {},
|
|
757
|
-
currentNode: node,
|
|
758
|
-
ancestorNodes
|
|
759
|
-
};
|
|
760
|
-
}
|
|
761
|
-
function renderToText(node, parentContext) {
|
|
762
|
-
var _a;
|
|
763
|
-
if (!isRichTextNode(node)) return "";
|
|
764
|
-
const context = initializeRenderContext2(node, parentContext);
|
|
765
|
-
let renderer = (_a = context.resolveRenderer) == null ? void 0 : _a.call(context, context);
|
|
766
|
-
if (typeof renderer === "undefined") {
|
|
767
|
-
renderer = resolveDefaultRenderer2(context);
|
|
768
|
-
} else if (renderer === null) {
|
|
769
|
-
return "";
|
|
770
|
-
}
|
|
771
|
-
const renderChildren = (children) => renderChildrenToText(children, context);
|
|
772
|
-
if (renderer) {
|
|
773
|
-
const rendered = renderer({ context, renderChildren });
|
|
774
|
-
return context.ancestorNodes.length > 0 ? rendered : rendered.trim();
|
|
775
|
-
} else {
|
|
776
|
-
throw new Error(`There is no renderer for node type: ${context.currentNode.type}`);
|
|
777
|
-
}
|
|
778
|
-
}
|
|
779
|
-
function renderChildrenToText(children, context) {
|
|
780
|
-
return Array.isArray(children) ? children.map((node) => renderToText(node, context)).join("") : "";
|
|
781
|
-
}
|
|
782
|
-
|
|
783
|
-
// src/types.ts
|
|
784
|
-
function resolveLinkAttrConfig(entry) {
|
|
785
|
-
var _a;
|
|
786
|
-
return {
|
|
787
|
-
key: entry.key,
|
|
788
|
-
options: entry.options,
|
|
789
|
-
label: (_a = entry.label) != null ? _a : entry.key,
|
|
790
|
-
helpText: entry.helpText
|
|
791
|
-
};
|
|
792
|
-
}
|
|
793
609
|
export {
|
|
794
610
|
assetHtmlRenderer,
|
|
795
611
|
defaultParameterConfiguration,
|
|
796
612
|
emptyRichTextValue,
|
|
797
613
|
getLabelForElement,
|
|
798
614
|
getLabelForFormat,
|
|
799
|
-
getRichTextListItemValue,
|
|
800
|
-
getRichTextListStart,
|
|
801
615
|
getRichTextTagFromTableCellHeaderState,
|
|
802
616
|
getRichTextTagsFromTextFormat,
|
|
803
617
|
hasChildren,
|
|
@@ -816,10 +630,8 @@ export {
|
|
|
816
630
|
linkParamValueToHtmlAttributes,
|
|
817
631
|
listHtmlRenderer,
|
|
818
632
|
listitemHtmlRenderer,
|
|
819
|
-
omitDefaultRichTextProperties,
|
|
820
633
|
paragraphHtmlRenderer,
|
|
821
634
|
purifyText,
|
|
822
|
-
rehydrateDefaultRichTextProperties,
|
|
823
635
|
renderChildrenToHtml,
|
|
824
636
|
renderChildrenToText,
|
|
825
637
|
renderHtmlElement,
|