@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.js
CHANGED
|
@@ -25,8 +25,6 @@ __export(index_exports, {
|
|
|
25
25
|
emptyRichTextValue: () => emptyRichTextValue,
|
|
26
26
|
getLabelForElement: () => getLabelForElement,
|
|
27
27
|
getLabelForFormat: () => getLabelForFormat,
|
|
28
|
-
getRichTextListItemValue: () => getRichTextListItemValue,
|
|
29
|
-
getRichTextListStart: () => getRichTextListStart,
|
|
30
28
|
getRichTextTagFromTableCellHeaderState: () => getRichTextTagFromTableCellHeaderState,
|
|
31
29
|
getRichTextTagsFromTextFormat: () => getRichTextTagsFromTextFormat,
|
|
32
30
|
hasChildren: () => hasChildren,
|
|
@@ -45,10 +43,8 @@ __export(index_exports, {
|
|
|
45
43
|
linkParamValueToHtmlAttributes: () => linkParamValueToHtmlAttributes,
|
|
46
44
|
listHtmlRenderer: () => listHtmlRenderer,
|
|
47
45
|
listitemHtmlRenderer: () => listitemHtmlRenderer,
|
|
48
|
-
omitDefaultRichTextProperties: () => omitDefaultRichTextProperties,
|
|
49
46
|
paragraphHtmlRenderer: () => paragraphHtmlRenderer,
|
|
50
47
|
purifyText: () => purifyText,
|
|
51
|
-
rehydrateDefaultRichTextProperties: () => rehydrateDefaultRichTextProperties,
|
|
52
48
|
renderChildrenToHtml: () => renderChildrenToHtml,
|
|
53
49
|
renderChildrenToText: () => renderChildrenToText,
|
|
54
50
|
renderHtmlElement: () => renderHtmlElement,
|
|
@@ -252,23 +248,18 @@ var listHtmlRenderer = ({ context, renderChildren }) => {
|
|
|
252
248
|
var _a;
|
|
253
249
|
const node = context.currentNode;
|
|
254
250
|
const attributes = /* @__PURE__ */ new Map();
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
attributes.set("start", start.toString());
|
|
251
|
+
if (node.start > 1) {
|
|
252
|
+
attributes.set("start", node.start.toString());
|
|
258
253
|
}
|
|
259
254
|
return renderHtmlElement((_a = node.tag) != null ? _a : "ul", attributes, renderChildren(context.currentNode.children));
|
|
260
255
|
};
|
|
261
|
-
function getRichTextListStart(start) {
|
|
262
|
-
return start === void 0 ? 1 : start;
|
|
263
|
-
}
|
|
264
256
|
|
|
265
257
|
// src/nodes/listitem.ts
|
|
266
258
|
var listitemHtmlRenderer = ({ context, renderChildren }) => {
|
|
267
259
|
const node = context.currentNode;
|
|
268
260
|
const attributes = /* @__PURE__ */ new Map();
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
attributes.set("value", value.toString());
|
|
261
|
+
if (Number.isFinite(node.value) && node.value > 0) {
|
|
262
|
+
attributes.set("value", node.value.toString());
|
|
272
263
|
}
|
|
273
264
|
return renderHtmlElement("li", attributes, renderChildren(context.currentNode.children));
|
|
274
265
|
};
|
|
@@ -282,9 +273,6 @@ var listitemTextRenderer = ({ context, renderChildren }) => {
|
|
|
282
273
|
}
|
|
283
274
|
return `${childrenRendered} `;
|
|
284
275
|
};
|
|
285
|
-
function getRichTextListItemValue(value) {
|
|
286
|
-
return value === void 0 ? 1 : value;
|
|
287
|
-
}
|
|
288
276
|
|
|
289
277
|
// src/nodes/paragraph.ts
|
|
290
278
|
var paragraphHtmlRenderer = ({ context, renderChildren }) => {
|
|
@@ -331,7 +319,7 @@ var tablecellTextRenderer = ({ context, renderChildren }) => {
|
|
|
331
319
|
return hasChildren(context.currentNode) ? `${renderChildren(context.currentNode.children)} ` : "";
|
|
332
320
|
};
|
|
333
321
|
function getRichTextTagFromTableCellHeaderState(headerState) {
|
|
334
|
-
if (
|
|
322
|
+
if (headerState === 0) {
|
|
335
323
|
return "td";
|
|
336
324
|
}
|
|
337
325
|
return "th";
|
|
@@ -360,9 +348,6 @@ var textTextRenderer = ({ context }) => {
|
|
|
360
348
|
};
|
|
361
349
|
function getRichTextTagsFromTextFormat(format) {
|
|
362
350
|
const tags = [];
|
|
363
|
-
if (!format) {
|
|
364
|
-
return tags;
|
|
365
|
-
}
|
|
366
351
|
if (format & 1 << 0) {
|
|
367
352
|
tags.push("strong");
|
|
368
353
|
}
|
|
@@ -387,133 +372,154 @@ function getRichTextTagsFromTextFormat(format) {
|
|
|
387
372
|
return tags;
|
|
388
373
|
}
|
|
389
374
|
|
|
390
|
-
// src/
|
|
391
|
-
var
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
var
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
"
|
|
411
|
-
"
|
|
412
|
-
"direction"
|
|
413
|
-
// 'version', // Retain until SDKs that treat missing `version` as `1` are widely adopted.
|
|
414
|
-
]);
|
|
415
|
-
var TEXT_PROPERTIES_SAFE_TO_OMIT = Object.freeze([
|
|
416
|
-
// 'format', // Retain until SDKs that treat missing text/tab `format` as `0` are widely adopted.
|
|
417
|
-
"style",
|
|
418
|
-
"mode",
|
|
419
|
-
"detail"
|
|
420
|
-
// 'version', // Retain until SDKs that treat missing `version` as `1` are widely adopted.
|
|
421
|
-
]);
|
|
422
|
-
var NO_PROPERTIES_SAFE_TO_OMIT = Object.freeze([
|
|
423
|
-
// 'version', // Retain until SDKs that treat missing `version` as `1` are widely adopted.
|
|
375
|
+
// src/nodes/tab.ts
|
|
376
|
+
var tabHtmlRenderer = () => {
|
|
377
|
+
return " ";
|
|
378
|
+
};
|
|
379
|
+
var tabTextRenderer = () => {
|
|
380
|
+
return " ";
|
|
381
|
+
};
|
|
382
|
+
|
|
383
|
+
// src/renderToHtml.ts
|
|
384
|
+
var rendererTypeMap = /* @__PURE__ */ new Map([
|
|
385
|
+
["heading", headingHtmlRenderer],
|
|
386
|
+
["link", linkHtmlRenderer],
|
|
387
|
+
["list", listHtmlRenderer],
|
|
388
|
+
["listitem", listitemHtmlRenderer],
|
|
389
|
+
["paragraph", paragraphHtmlRenderer],
|
|
390
|
+
["root", rootHtmlRenderer],
|
|
391
|
+
["text", textHtmlRenderer],
|
|
392
|
+
["tab", tabHtmlRenderer],
|
|
393
|
+
["table", tableHtmlRenderer],
|
|
394
|
+
["tablecell", tablecellHtmlRenderer],
|
|
395
|
+
["tablerow", tablerowHtmlRenderer],
|
|
396
|
+
["asset", assetHtmlRenderer]
|
|
424
397
|
]);
|
|
425
|
-
var
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
tab: Object.freeze({ 1: TEXT_BASELINE_V1 }),
|
|
449
|
-
linebreak: Object.freeze({ 1: VERSION_ONLY_V1 }),
|
|
450
|
-
asset: Object.freeze({ 1: VERSION_ONLY_V1 }),
|
|
451
|
-
// Rich text variable binding still requires an explicit version, so variable nodes stay verbose.
|
|
452
|
-
variable: Object.freeze({ 1: NO_DEFAULTS })
|
|
453
|
-
});
|
|
454
|
-
var RICH_TEXT_NODE_PROPERTIES_SAFE_TO_OMIT = Object.freeze({
|
|
455
|
-
root: ELEMENT_PROPERTIES_SAFE_TO_OMIT,
|
|
456
|
-
heading: ELEMENT_PROPERTIES_SAFE_TO_OMIT,
|
|
457
|
-
quote: ELEMENT_PROPERTIES_SAFE_TO_OMIT,
|
|
458
|
-
code: ELEMENT_PROPERTIES_SAFE_TO_OMIT,
|
|
459
|
-
table: ELEMENT_PROPERTIES_SAFE_TO_OMIT,
|
|
460
|
-
tablerow: ELEMENT_PROPERTIES_SAFE_TO_OMIT,
|
|
461
|
-
link: ELEMENT_PROPERTIES_SAFE_TO_OMIT,
|
|
462
|
-
paragraph: Object.freeze([...ELEMENT_PROPERTIES_SAFE_TO_OMIT, "textFormat", "textStyle"]),
|
|
463
|
-
list: Object.freeze([
|
|
464
|
-
...ELEMENT_PROPERTIES_SAFE_TO_OMIT
|
|
465
|
-
// 'start', // Retain until SDKs that treat missing list `start` as `1` are widely adopted.
|
|
466
|
-
]),
|
|
467
|
-
listitem: Object.freeze([
|
|
468
|
-
...ELEMENT_PROPERTIES_SAFE_TO_OMIT
|
|
469
|
-
// 'value', // Retain until SDKs that treat missing list-item `value` as `1` are widely adopted.
|
|
470
|
-
]),
|
|
471
|
-
tablecell: Object.freeze([
|
|
472
|
-
...ELEMENT_PROPERTIES_SAFE_TO_OMIT,
|
|
473
|
-
"colSpan",
|
|
474
|
-
"rowSpan",
|
|
475
|
-
"backgroundColor"
|
|
476
|
-
// 'headerState', // Retain until SDKs that treat missing `headerState` as `0` are widely adopted.
|
|
477
|
-
]),
|
|
478
|
-
text: TEXT_PROPERTIES_SAFE_TO_OMIT,
|
|
479
|
-
tab: TEXT_PROPERTIES_SAFE_TO_OMIT,
|
|
480
|
-
linebreak: NO_PROPERTIES_SAFE_TO_OMIT,
|
|
481
|
-
asset: NO_PROPERTIES_SAFE_TO_OMIT,
|
|
482
|
-
variable: NO_PROPERTIES_SAFE_TO_OMIT
|
|
483
|
-
});
|
|
484
|
-
function getStoredRichTextNodeVersion(node) {
|
|
485
|
-
return typeof node.version === "number" ? node.version : OMITTED_RICH_TEXT_NODE_VERSION;
|
|
486
|
-
}
|
|
487
|
-
function isOmittableRichTextDefault(key, nodeValue, defaultValue) {
|
|
488
|
-
if (!Object.is(nodeValue, defaultValue)) {
|
|
489
|
-
return false;
|
|
398
|
+
var resolveDefaultRenderer = (context) => {
|
|
399
|
+
const renderer = rendererTypeMap.get(context.currentNode.type);
|
|
400
|
+
if (renderer) {
|
|
401
|
+
return renderer;
|
|
402
|
+
}
|
|
403
|
+
const tags = rendererTypeTagMap.get(context.currentNode.type);
|
|
404
|
+
if (tags) {
|
|
405
|
+
return ({ renderChildren }) => {
|
|
406
|
+
var _a;
|
|
407
|
+
return (_a = tags.reduceRight(
|
|
408
|
+
(children, tag) => {
|
|
409
|
+
return renderHtmlElement(tag, null, children);
|
|
410
|
+
},
|
|
411
|
+
hasChildren(context.currentNode) ? renderChildren(context.currentNode.children) : void 0
|
|
412
|
+
)) != null ? _a : "";
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
return () => `<!-- WARNING: No renderer for type ${context.currentNode.type} -->`;
|
|
416
|
+
};
|
|
417
|
+
function initializeRenderContext(node, parentContext) {
|
|
418
|
+
let ancestorNodes = [];
|
|
419
|
+
if (parentContext == null ? void 0 : parentContext.ancestorNodes) {
|
|
420
|
+
ancestorNodes = ancestorNodes.concat(parentContext.ancestorNodes);
|
|
490
421
|
}
|
|
491
|
-
if (
|
|
492
|
-
|
|
422
|
+
if (parentContext == null ? void 0 : parentContext.currentNode) {
|
|
423
|
+
ancestorNodes.unshift(parentContext.currentNode);
|
|
493
424
|
}
|
|
494
|
-
return
|
|
425
|
+
return {
|
|
426
|
+
...parentContext != null ? parentContext : {},
|
|
427
|
+
currentNode: node,
|
|
428
|
+
ancestorNodes
|
|
429
|
+
};
|
|
495
430
|
}
|
|
496
|
-
function
|
|
431
|
+
function renderToHtml(node, parentContext) {
|
|
497
432
|
var _a;
|
|
498
|
-
|
|
499
|
-
const
|
|
500
|
-
|
|
501
|
-
|
|
433
|
+
if (!isRichTextNode(node)) return "";
|
|
434
|
+
const context = initializeRenderContext(node, parentContext);
|
|
435
|
+
let renderer = (_a = context.resolveRenderer) == null ? void 0 : _a.call(context, context);
|
|
436
|
+
if (typeof renderer === "undefined") {
|
|
437
|
+
renderer = resolveDefaultRenderer(context);
|
|
438
|
+
} else if (renderer === null) {
|
|
439
|
+
return "";
|
|
440
|
+
}
|
|
441
|
+
const renderChildren = (children) => renderChildrenToHtml(children, context);
|
|
442
|
+
if (renderer) {
|
|
443
|
+
return renderer({ context, renderChildren });
|
|
444
|
+
} else {
|
|
445
|
+
throw new Error(`There is no renderer for node type: ${context.currentNode.type}`);
|
|
502
446
|
}
|
|
503
|
-
|
|
504
|
-
|
|
447
|
+
}
|
|
448
|
+
function renderChildrenToHtml(children, context) {
|
|
449
|
+
return Array.isArray(children) ? children.map((node) => renderToHtml(node, context)).join("") : "";
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
// src/nodes/linebreak.ts
|
|
453
|
+
var linebreakTextRenderer = () => {
|
|
454
|
+
return " ";
|
|
455
|
+
};
|
|
456
|
+
|
|
457
|
+
// src/renderToText.ts
|
|
458
|
+
var rendererTypeMap2 = /* @__PURE__ */ new Map([
|
|
459
|
+
["text", textTextRenderer],
|
|
460
|
+
["tab", tabTextRenderer],
|
|
461
|
+
["linebreak", linebreakTextRenderer],
|
|
462
|
+
["paragraph", paragraphTextRenderer],
|
|
463
|
+
["listitem", listitemTextRenderer],
|
|
464
|
+
["heading", headingTextRenderer],
|
|
465
|
+
["table", tableTextRenderer],
|
|
466
|
+
["tablecell", tablecellTextRenderer],
|
|
467
|
+
["tablerow", tablerowTextRenderer]
|
|
468
|
+
]);
|
|
469
|
+
var resolveDefaultRenderer2 = (context) => {
|
|
470
|
+
const renderer = rendererTypeMap2.get(context.currentNode.type);
|
|
471
|
+
if (renderer) {
|
|
472
|
+
return renderer;
|
|
505
473
|
}
|
|
506
|
-
|
|
507
|
-
return
|
|
474
|
+
return ({ context: context2, renderChildren }) => {
|
|
475
|
+
return hasChildren(context2.currentNode) ? renderChildren(context2.currentNode.children) : "";
|
|
476
|
+
};
|
|
477
|
+
};
|
|
478
|
+
function initializeRenderContext2(node, parentContext) {
|
|
479
|
+
let ancestorNodes = [];
|
|
480
|
+
if (parentContext == null ? void 0 : parentContext.ancestorNodes) {
|
|
481
|
+
ancestorNodes = ancestorNodes.concat(parentContext.ancestorNodes);
|
|
482
|
+
}
|
|
483
|
+
if (parentContext == null ? void 0 : parentContext.currentNode) {
|
|
484
|
+
ancestorNodes.unshift(parentContext.currentNode);
|
|
485
|
+
}
|
|
486
|
+
return {
|
|
487
|
+
...parentContext != null ? parentContext : {},
|
|
488
|
+
currentNode: node,
|
|
489
|
+
ancestorNodes
|
|
490
|
+
};
|
|
491
|
+
}
|
|
492
|
+
function renderToText(node, parentContext) {
|
|
493
|
+
var _a;
|
|
494
|
+
if (!isRichTextNode(node)) return "";
|
|
495
|
+
const context = initializeRenderContext2(node, parentContext);
|
|
496
|
+
let renderer = (_a = context.resolveRenderer) == null ? void 0 : _a.call(context, context);
|
|
497
|
+
if (typeof renderer === "undefined") {
|
|
498
|
+
renderer = resolveDefaultRenderer2(context);
|
|
499
|
+
} else if (renderer === null) {
|
|
500
|
+
return "";
|
|
508
501
|
}
|
|
509
|
-
|
|
510
|
-
|
|
502
|
+
const renderChildren = (children) => renderChildrenToText(children, context);
|
|
503
|
+
if (renderer) {
|
|
504
|
+
const rendered = renderer({ context, renderChildren });
|
|
505
|
+
return context.ancestorNodes.length > 0 ? rendered : rendered.trim();
|
|
506
|
+
} else {
|
|
507
|
+
throw new Error(`There is no renderer for node type: ${context.currentNode.type}`);
|
|
511
508
|
}
|
|
512
|
-
return VERSION_ONLY_V1;
|
|
513
509
|
}
|
|
514
|
-
function
|
|
510
|
+
function renderChildrenToText(children, context) {
|
|
511
|
+
return Array.isArray(children) ? children.map((node) => renderToText(node, context)).join("") : "";
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
// src/types.ts
|
|
515
|
+
function resolveLinkAttrConfig(entry) {
|
|
515
516
|
var _a;
|
|
516
|
-
return
|
|
517
|
+
return {
|
|
518
|
+
key: entry.key,
|
|
519
|
+
options: entry.options,
|
|
520
|
+
label: (_a = entry.label) != null ? _a : entry.key,
|
|
521
|
+
helpText: entry.helpText
|
|
522
|
+
};
|
|
517
523
|
}
|
|
518
524
|
|
|
519
525
|
// src/utils.ts
|
|
@@ -666,200 +672,6 @@ var defaultParameterConfiguration = {
|
|
|
666
672
|
}
|
|
667
673
|
}
|
|
668
674
|
};
|
|
669
|
-
|
|
670
|
-
// src/omitDefaultRichTextProperties.ts
|
|
671
|
-
function omitDefaultPropertiesFromNode(node) {
|
|
672
|
-
const defaults = getDefaultRichTextPropertiesForNode(node);
|
|
673
|
-
for (const key of getRichTextPropertiesSafeToOmit(node)) {
|
|
674
|
-
if (!(key in node)) {
|
|
675
|
-
continue;
|
|
676
|
-
}
|
|
677
|
-
const defaultValue = defaults[key];
|
|
678
|
-
if (isOmittableRichTextDefault(key, node[key], defaultValue)) {
|
|
679
|
-
delete node[key];
|
|
680
|
-
}
|
|
681
|
-
}
|
|
682
|
-
}
|
|
683
|
-
function omitDefaultRichTextProperties(value) {
|
|
684
|
-
if (!isRichTextValue(value)) {
|
|
685
|
-
return value;
|
|
686
|
-
}
|
|
687
|
-
const cloned = structuredClone(value);
|
|
688
|
-
walkRichTextTree(cloned.root, (node) => {
|
|
689
|
-
omitDefaultPropertiesFromNode(node);
|
|
690
|
-
});
|
|
691
|
-
return cloned;
|
|
692
|
-
}
|
|
693
|
-
|
|
694
|
-
// src/rehydrateDefaultRichTextProperties.ts
|
|
695
|
-
function rehydrateDefaultPropertiesOnNode(node) {
|
|
696
|
-
const defaults = getDefaultRichTextPropertiesForNode(node);
|
|
697
|
-
for (const [key, defaultValue] of Object.entries(defaults)) {
|
|
698
|
-
if (!(key in node)) {
|
|
699
|
-
node[key] = defaultValue;
|
|
700
|
-
}
|
|
701
|
-
}
|
|
702
|
-
}
|
|
703
|
-
function rehydrateDefaultRichTextProperties(value) {
|
|
704
|
-
if (!isRichTextValue(value)) {
|
|
705
|
-
return value;
|
|
706
|
-
}
|
|
707
|
-
const cloned = structuredClone(value);
|
|
708
|
-
walkRichTextTree(cloned.root, (node) => {
|
|
709
|
-
rehydrateDefaultPropertiesOnNode(node);
|
|
710
|
-
});
|
|
711
|
-
return cloned;
|
|
712
|
-
}
|
|
713
|
-
|
|
714
|
-
// src/nodes/tab.ts
|
|
715
|
-
var tabHtmlRenderer = () => {
|
|
716
|
-
return " ";
|
|
717
|
-
};
|
|
718
|
-
var tabTextRenderer = () => {
|
|
719
|
-
return " ";
|
|
720
|
-
};
|
|
721
|
-
|
|
722
|
-
// src/renderToHtml.ts
|
|
723
|
-
var rendererTypeMap = /* @__PURE__ */ new Map([
|
|
724
|
-
["heading", headingHtmlRenderer],
|
|
725
|
-
["link", linkHtmlRenderer],
|
|
726
|
-
["list", listHtmlRenderer],
|
|
727
|
-
["listitem", listitemHtmlRenderer],
|
|
728
|
-
["paragraph", paragraphHtmlRenderer],
|
|
729
|
-
["root", rootHtmlRenderer],
|
|
730
|
-
["text", textHtmlRenderer],
|
|
731
|
-
["tab", tabHtmlRenderer],
|
|
732
|
-
["table", tableHtmlRenderer],
|
|
733
|
-
["tablecell", tablecellHtmlRenderer],
|
|
734
|
-
["tablerow", tablerowHtmlRenderer],
|
|
735
|
-
["asset", assetHtmlRenderer]
|
|
736
|
-
]);
|
|
737
|
-
var resolveDefaultRenderer = (context) => {
|
|
738
|
-
const renderer = rendererTypeMap.get(context.currentNode.type);
|
|
739
|
-
if (renderer) {
|
|
740
|
-
return renderer;
|
|
741
|
-
}
|
|
742
|
-
const tags = rendererTypeTagMap.get(context.currentNode.type);
|
|
743
|
-
if (tags) {
|
|
744
|
-
return ({ renderChildren }) => {
|
|
745
|
-
var _a;
|
|
746
|
-
return (_a = tags.reduceRight(
|
|
747
|
-
(children, tag) => {
|
|
748
|
-
return renderHtmlElement(tag, null, children);
|
|
749
|
-
},
|
|
750
|
-
hasChildren(context.currentNode) ? renderChildren(context.currentNode.children) : void 0
|
|
751
|
-
)) != null ? _a : "";
|
|
752
|
-
};
|
|
753
|
-
}
|
|
754
|
-
return () => `<!-- WARNING: No renderer for type ${context.currentNode.type} -->`;
|
|
755
|
-
};
|
|
756
|
-
function initializeRenderContext(node, parentContext) {
|
|
757
|
-
let ancestorNodes = [];
|
|
758
|
-
if (parentContext == null ? void 0 : parentContext.ancestorNodes) {
|
|
759
|
-
ancestorNodes = ancestorNodes.concat(parentContext.ancestorNodes);
|
|
760
|
-
}
|
|
761
|
-
if (parentContext == null ? void 0 : parentContext.currentNode) {
|
|
762
|
-
ancestorNodes.unshift(parentContext.currentNode);
|
|
763
|
-
}
|
|
764
|
-
return {
|
|
765
|
-
...parentContext != null ? parentContext : {},
|
|
766
|
-
currentNode: node,
|
|
767
|
-
ancestorNodes
|
|
768
|
-
};
|
|
769
|
-
}
|
|
770
|
-
function renderToHtml(node, parentContext) {
|
|
771
|
-
var _a;
|
|
772
|
-
if (!isRichTextNode(node)) return "";
|
|
773
|
-
const context = initializeRenderContext(node, parentContext);
|
|
774
|
-
let renderer = (_a = context.resolveRenderer) == null ? void 0 : _a.call(context, context);
|
|
775
|
-
if (typeof renderer === "undefined") {
|
|
776
|
-
renderer = resolveDefaultRenderer(context);
|
|
777
|
-
} else if (renderer === null) {
|
|
778
|
-
return "";
|
|
779
|
-
}
|
|
780
|
-
const renderChildren = (children) => renderChildrenToHtml(children, context);
|
|
781
|
-
if (renderer) {
|
|
782
|
-
return renderer({ context, renderChildren });
|
|
783
|
-
} else {
|
|
784
|
-
throw new Error(`There is no renderer for node type: ${context.currentNode.type}`);
|
|
785
|
-
}
|
|
786
|
-
}
|
|
787
|
-
function renderChildrenToHtml(children, context) {
|
|
788
|
-
return Array.isArray(children) ? children.map((node) => renderToHtml(node, context)).join("") : "";
|
|
789
|
-
}
|
|
790
|
-
|
|
791
|
-
// src/nodes/linebreak.ts
|
|
792
|
-
var linebreakTextRenderer = () => {
|
|
793
|
-
return " ";
|
|
794
|
-
};
|
|
795
|
-
|
|
796
|
-
// src/renderToText.ts
|
|
797
|
-
var rendererTypeMap2 = /* @__PURE__ */ new Map([
|
|
798
|
-
["text", textTextRenderer],
|
|
799
|
-
["tab", tabTextRenderer],
|
|
800
|
-
["linebreak", linebreakTextRenderer],
|
|
801
|
-
["paragraph", paragraphTextRenderer],
|
|
802
|
-
["listitem", listitemTextRenderer],
|
|
803
|
-
["heading", headingTextRenderer],
|
|
804
|
-
["table", tableTextRenderer],
|
|
805
|
-
["tablecell", tablecellTextRenderer],
|
|
806
|
-
["tablerow", tablerowTextRenderer]
|
|
807
|
-
]);
|
|
808
|
-
var resolveDefaultRenderer2 = (context) => {
|
|
809
|
-
const renderer = rendererTypeMap2.get(context.currentNode.type);
|
|
810
|
-
if (renderer) {
|
|
811
|
-
return renderer;
|
|
812
|
-
}
|
|
813
|
-
return ({ context: context2, renderChildren }) => {
|
|
814
|
-
return hasChildren(context2.currentNode) ? renderChildren(context2.currentNode.children) : "";
|
|
815
|
-
};
|
|
816
|
-
};
|
|
817
|
-
function initializeRenderContext2(node, parentContext) {
|
|
818
|
-
let ancestorNodes = [];
|
|
819
|
-
if (parentContext == null ? void 0 : parentContext.ancestorNodes) {
|
|
820
|
-
ancestorNodes = ancestorNodes.concat(parentContext.ancestorNodes);
|
|
821
|
-
}
|
|
822
|
-
if (parentContext == null ? void 0 : parentContext.currentNode) {
|
|
823
|
-
ancestorNodes.unshift(parentContext.currentNode);
|
|
824
|
-
}
|
|
825
|
-
return {
|
|
826
|
-
...parentContext != null ? parentContext : {},
|
|
827
|
-
currentNode: node,
|
|
828
|
-
ancestorNodes
|
|
829
|
-
};
|
|
830
|
-
}
|
|
831
|
-
function renderToText(node, parentContext) {
|
|
832
|
-
var _a;
|
|
833
|
-
if (!isRichTextNode(node)) return "";
|
|
834
|
-
const context = initializeRenderContext2(node, parentContext);
|
|
835
|
-
let renderer = (_a = context.resolveRenderer) == null ? void 0 : _a.call(context, context);
|
|
836
|
-
if (typeof renderer === "undefined") {
|
|
837
|
-
renderer = resolveDefaultRenderer2(context);
|
|
838
|
-
} else if (renderer === null) {
|
|
839
|
-
return "";
|
|
840
|
-
}
|
|
841
|
-
const renderChildren = (children) => renderChildrenToText(children, context);
|
|
842
|
-
if (renderer) {
|
|
843
|
-
const rendered = renderer({ context, renderChildren });
|
|
844
|
-
return context.ancestorNodes.length > 0 ? rendered : rendered.trim();
|
|
845
|
-
} else {
|
|
846
|
-
throw new Error(`There is no renderer for node type: ${context.currentNode.type}`);
|
|
847
|
-
}
|
|
848
|
-
}
|
|
849
|
-
function renderChildrenToText(children, context) {
|
|
850
|
-
return Array.isArray(children) ? children.map((node) => renderToText(node, context)).join("") : "";
|
|
851
|
-
}
|
|
852
|
-
|
|
853
|
-
// src/types.ts
|
|
854
|
-
function resolveLinkAttrConfig(entry) {
|
|
855
|
-
var _a;
|
|
856
|
-
return {
|
|
857
|
-
key: entry.key,
|
|
858
|
-
options: entry.options,
|
|
859
|
-
label: (_a = entry.label) != null ? _a : entry.key,
|
|
860
|
-
helpText: entry.helpText
|
|
861
|
-
};
|
|
862
|
-
}
|
|
863
675
|
// Annotate the CommonJS export names for ESM import in node:
|
|
864
676
|
0 && (module.exports = {
|
|
865
677
|
assetHtmlRenderer,
|
|
@@ -867,8 +679,6 @@ function resolveLinkAttrConfig(entry) {
|
|
|
867
679
|
emptyRichTextValue,
|
|
868
680
|
getLabelForElement,
|
|
869
681
|
getLabelForFormat,
|
|
870
|
-
getRichTextListItemValue,
|
|
871
|
-
getRichTextListStart,
|
|
872
682
|
getRichTextTagFromTableCellHeaderState,
|
|
873
683
|
getRichTextTagsFromTextFormat,
|
|
874
684
|
hasChildren,
|
|
@@ -887,10 +697,8 @@ function resolveLinkAttrConfig(entry) {
|
|
|
887
697
|
linkParamValueToHtmlAttributes,
|
|
888
698
|
listHtmlRenderer,
|
|
889
699
|
listitemHtmlRenderer,
|
|
890
|
-
omitDefaultRichTextProperties,
|
|
891
700
|
paragraphHtmlRenderer,
|
|
892
701
|
purifyText,
|
|
893
|
-
rehydrateDefaultRichTextProperties,
|
|
894
702
|
renderChildrenToHtml,
|
|
895
703
|
renderChildrenToText,
|
|
896
704
|
renderHtmlElement,
|