@carbon/ai-chat-components 1.4.0 → 1.5.0-rc.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/custom-elements.json +1262 -709
- package/es/components/chat-history/src/chat-history.scss.js +1 -1
- package/es/components/chat-history/src/history-panel-item.d.ts +14 -0
- package/es/components/chat-history/src/history-panel-item.js +30 -0
- package/es/components/chat-history/src/history-panel-item.js.map +1 -1
- package/es/components/code-snippet/src/code-snippet.d.ts +5 -0
- package/es/components/code-snippet/src/code-snippet.js +17 -5
- package/es/components/code-snippet/src/code-snippet.js.map +1 -1
- package/es/components/feedback/src/feedback.d.ts +4 -0
- package/es/components/feedback/src/feedback.js +6 -4
- package/es/components/feedback/src/feedback.js.map +1 -1
- package/es/components/markdown/index.d.ts +3 -1
- package/es/components/markdown/index.js +1 -1
- package/es/components/markdown/src/markdown-renderer-types.d.ts +100 -0
- package/es/components/markdown/src/markdown-renderer-types.js +8 -0
- package/es/components/markdown/src/markdown-renderer-types.js.map +1 -0
- package/es/components/markdown/src/markdown-renderer.d.ts +14 -64
- package/es/components/markdown/src/markdown-renderer.js +110 -131
- package/es/components/markdown/src/markdown-renderer.js.map +1 -1
- package/es/components/markdown/src/markdown-token-tree.d.ts +50 -5
- package/es/components/markdown/src/markdown-token-tree.js +182 -47
- package/es/components/markdown/src/markdown-token-tree.js.map +1 -1
- package/es/components/markdown/src/markdown.d.ts +49 -1
- package/es/components/markdown/src/markdown.js +317 -106
- package/es/components/markdown/src/markdown.js.map +1 -1
- package/es/components/markdown/src/plugins/markdown-it-task-lists.js +2 -5
- package/es/components/markdown/src/plugins/markdown-it-task-lists.js.map +1 -1
- package/es/components/markdown/src/utils/lit-directives.d.ts +17 -0
- package/es/components/markdown/src/utils/lit-directives.js +84 -0
- package/es/components/markdown/src/utils/lit-directives.js.map +1 -0
- package/es/components/markdown/src/utils/plugin-fallback.d.ts +33 -0
- package/es/components/markdown/src/utils/plugin-fallback.js +216 -0
- package/es/components/markdown/src/utils/plugin-fallback.js.map +1 -0
- package/es/components/markdown/src/utils/streaming-table.d.ts +28 -0
- package/es/components/markdown/src/utils/streaming-table.js +86 -0
- package/es/components/markdown/src/utils/streaming-table.js.map +1 -0
- package/es/components/markdown/src/utils/table-helpers.d.ts +17 -0
- package/es/components/markdown/src/utils/table-helpers.js +104 -2
- package/es/components/markdown/src/utils/table-helpers.js.map +1 -1
- package/es/components/table/src/table.js +4 -1
- package/es/components/table/src/table.js.map +1 -1
- package/es/components/workspace-shell/src/workspace-shell.scss.js +1 -1
- package/es/react/markdown.d.ts +46 -2
- package/es/react/markdown.js +177 -20
- package/es/react/markdown.js.map +1 -1
- package/es-custom/components/chat-history/src/chat-history.scss.js +1 -1
- package/es-custom/components/chat-history/src/history-panel-item.d.ts +14 -0
- package/es-custom/components/chat-history/src/history-panel-item.js +30 -0
- package/es-custom/components/chat-history/src/history-panel-item.js.map +1 -1
- package/es-custom/components/code-snippet/src/code-snippet.d.ts +5 -0
- package/es-custom/components/code-snippet/src/code-snippet.js +17 -5
- package/es-custom/components/code-snippet/src/code-snippet.js.map +1 -1
- package/es-custom/components/feedback/src/feedback.d.ts +4 -0
- package/es-custom/components/feedback/src/feedback.js +6 -4
- package/es-custom/components/feedback/src/feedback.js.map +1 -1
- package/es-custom/components/markdown/index.d.ts +3 -1
- package/es-custom/components/markdown/index.js +1 -1
- package/es-custom/components/markdown/src/markdown-renderer-types.d.ts +100 -0
- package/es-custom/components/markdown/src/markdown-renderer-types.js +8 -0
- package/es-custom/components/markdown/src/markdown-renderer-types.js.map +1 -0
- package/es-custom/components/markdown/src/markdown-renderer.d.ts +14 -64
- package/es-custom/components/markdown/src/markdown-renderer.js +110 -131
- package/es-custom/components/markdown/src/markdown-renderer.js.map +1 -1
- package/es-custom/components/markdown/src/markdown-token-tree.d.ts +50 -5
- package/es-custom/components/markdown/src/markdown-token-tree.js +182 -47
- package/es-custom/components/markdown/src/markdown-token-tree.js.map +1 -1
- package/es-custom/components/markdown/src/markdown.d.ts +49 -1
- package/es-custom/components/markdown/src/markdown.js +317 -106
- package/es-custom/components/markdown/src/markdown.js.map +1 -1
- package/es-custom/components/markdown/src/plugins/markdown-it-task-lists.js +2 -5
- package/es-custom/components/markdown/src/plugins/markdown-it-task-lists.js.map +1 -1
- package/es-custom/components/markdown/src/utils/lit-directives.d.ts +17 -0
- package/es-custom/components/markdown/src/utils/lit-directives.js +84 -0
- package/es-custom/components/markdown/src/utils/lit-directives.js.map +1 -0
- package/es-custom/components/markdown/src/utils/plugin-fallback.d.ts +33 -0
- package/es-custom/components/markdown/src/utils/plugin-fallback.js +216 -0
- package/es-custom/components/markdown/src/utils/plugin-fallback.js.map +1 -0
- package/es-custom/components/markdown/src/utils/streaming-table.d.ts +28 -0
- package/es-custom/components/markdown/src/utils/streaming-table.js +86 -0
- package/es-custom/components/markdown/src/utils/streaming-table.js.map +1 -0
- package/es-custom/components/markdown/src/utils/table-helpers.d.ts +17 -0
- package/es-custom/components/markdown/src/utils/table-helpers.js +104 -2
- package/es-custom/components/markdown/src/utils/table-helpers.js.map +1 -1
- package/es-custom/components/table/src/table.js +4 -1
- package/es-custom/components/table/src/table.js.map +1 -1
- package/es-custom/components/workspace-shell/src/workspace-shell.scss.js +1 -1
- package/es-custom/react/markdown.d.ts +46 -2
- package/es-custom/react/markdown.js +177 -20
- package/es-custom/react/markdown.js.map +1 -1
- package/package.json +5 -4
- package/es/components/markdown/src/utils.d.ts +0 -4
- package/es/components/markdown/src/utils.js +0 -25
- package/es/components/markdown/src/utils.js.map +0 -1
- package/es-custom/components/markdown/src/utils.d.ts +0 -4
- package/es-custom/components/markdown/src/utils.js +0 -25
- package/es-custom/components/markdown/src/utils.js.map +0 -1
|
@@ -6,10 +6,9 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import DOMPurify from 'dompurify';
|
|
9
|
-
import {
|
|
9
|
+
import { html } from 'lit';
|
|
10
10
|
import { repeat } from 'lit/directives/repeat.js';
|
|
11
11
|
import { unsafeHTML } from 'lit/directives/unsafe-html.js';
|
|
12
|
-
import { directive, Directive, PartType } from 'lit/directive.js';
|
|
13
12
|
import '@carbon/web-components/es-custom/components/list/index.js';
|
|
14
13
|
import '@carbon/web-components/es-custom/components/checkbox/index.js';
|
|
15
14
|
import '../../code-snippet/src/code-snippet.js';
|
|
@@ -19,8 +18,10 @@ import '../../card/src/card-footer.js';
|
|
|
19
18
|
import '../../card/src/card-steps.js';
|
|
20
19
|
import '../../table/src/table.js';
|
|
21
20
|
import { defaultLineCountText } from '../../code-snippet/src/formatters.js';
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
21
|
+
import { renderTable } from './utils/table-helpers.js';
|
|
22
|
+
import { combineConsecutiveHtmlInline, combineSplitHtmlBlocks } from './utils/html-helpers.js';
|
|
23
|
+
import { sanitizeHtmlContent, htmlContainer, spread } from './utils/lit-directives.js';
|
|
24
|
+
import { shouldDelegateToPluginRule, renderFallback, isNativelyHandled } from './utils/plugin-fallback.js';
|
|
24
25
|
|
|
25
26
|
/*
|
|
26
27
|
* Copyright IBM Corp. 2025, 2026
|
|
@@ -30,67 +31,33 @@ import { HTML_CONTAINER_SLOT, combineConsecutiveHtmlInline, combineSplitHtmlBloc
|
|
|
30
31
|
*
|
|
31
32
|
* @license
|
|
32
33
|
*/
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
attributeNameCheck: () => true,
|
|
60
|
-
allowCustomizedBuiltInElements: true,
|
|
61
|
-
},
|
|
62
|
-
});
|
|
63
|
-
class HtmlContainer extends Directive {
|
|
64
|
-
constructor(partInfo) {
|
|
65
|
-
super(partInfo);
|
|
66
|
-
this.slotElement = null;
|
|
67
|
-
this.lastOpeningHtml = "";
|
|
68
|
-
if (partInfo.type !== PartType.ELEMENT) {
|
|
69
|
-
throw new Error("HtmlContainer must be used on an element");
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
render(_openingHtml, _childTemplate, _sanitize) {
|
|
73
|
-
return nothing;
|
|
74
|
-
}
|
|
75
|
-
update(part, [openingHtml, childTemplate, sanitize]) {
|
|
76
|
-
const host = part.element;
|
|
77
|
-
if (!this.slotElement || this.lastOpeningHtml !== openingHtml) {
|
|
78
|
-
this.lastOpeningHtml = openingHtml;
|
|
79
|
-
let content = `${openingHtml}${HTML_CONTAINER_SLOT}`;
|
|
80
|
-
if (sanitize && content) {
|
|
81
|
-
content = sanitizeHtmlContent(content);
|
|
82
|
-
}
|
|
83
|
-
const fragment = document.createRange().createContextualFragment(content);
|
|
84
|
-
host.replaceChildren(...Array.from(fragment.childNodes));
|
|
85
|
-
this.slotElement = host.querySelector("[data-aichat-markdown]");
|
|
86
|
-
}
|
|
87
|
-
if (this.slotElement) {
|
|
88
|
-
render(childTemplate, this.slotElement);
|
|
89
|
-
}
|
|
90
|
-
return nothing;
|
|
91
|
-
}
|
|
34
|
+
/**
|
|
35
|
+
* Walks a `TokenTree` and emits a Lit `TemplateResult` plus a batch of {@link MarkdownRendererSlotDescriptor} records the markdown element consumes during its `updated()` reconcile. External callers should go through {@link renderMarkdownTree} so the batch isn't accidentally dropped.
|
|
36
|
+
*
|
|
37
|
+
* ### Dispatch precedence
|
|
38
|
+
*
|
|
39
|
+
* Per token, in order:
|
|
40
|
+
*
|
|
41
|
+
* 1. **Consumer override** — `options.customRenderers?.[kind]` for `kind` in `{ table, codeBlock }`. The renderer emits a named `<slot>` placeholder and records a descriptor; the markdown element's `updated()` invokes the consumer callback later.
|
|
42
|
+
* 2. **Plugin-overridden rule** — `shouldDelegateToPluginRule(token, md)` is true when a user-supplied markdown-it plugin overrode the renderer rule for one of the curated leaf tokens in `PLUGIN_DELEGABLE_TOKEN_TYPES` (`fence`, `image`, `code_inline`, `html_block`). The token routes through `renderFallback` and surfaces as a `pluginFallback` descriptor.
|
|
43
|
+
* 3. **Native Lit dispatch** — the hand-written `renderWithStaticTag` switch. Kept flat (rather than a tag-to-renderer map) so the per-tag exceptions — task-list passthrough, Carbon `cds-custom-unordered-list` / `cds-custom-ordered-list` wrappers, automatic `target="_blank"` on `<a>`, image plugin delegation — stay easy to grep.
|
|
44
|
+
* 4. **Unknown plugin-introduced token** — anything not natively handled falls through to `renderFallback`, so plugins that register `md.renderer.rules[type]` (footnote, deflist, custom containers, emoji) just work.
|
|
45
|
+
*
|
|
46
|
+
* ### Slot contract
|
|
47
|
+
*
|
|
48
|
+
* {@link MarkdownRendererSlotDescriptor} (defined in `./markdown-renderer-types.ts`) is the bridge between this module and `./markdown.ts`. This module appends descriptors via `recordCustomRender`; the markdown element's `reconcileCustomRendererHosts` consumes them, invokes consumer callbacks (or adopts plugin-fallback HTML) and attaches the result as a light-DOM `<div slot="…">` host (or `<span>` for inline plugin output).
|
|
49
|
+
*/
|
|
50
|
+
/**
|
|
51
|
+
* Stable, parent-scoped slot name for an overridable token. Uses `startLine`
|
|
52
|
+
* (not the full `token.map`) so the name doesn't change when the token's
|
|
53
|
+
* `endLine` advances during streaming. The `currentIndex` from the parent
|
|
54
|
+
* context disambiguates siblings on the same start line (rare but possible).
|
|
55
|
+
*/
|
|
56
|
+
function slotNameFor(kind, token, options) {
|
|
57
|
+
const startLine = token.map?.[0] ?? 0;
|
|
58
|
+
const index = options.context?.currentIndex ?? 0;
|
|
59
|
+
return `cds-custom-aichat-markdown-renderer-${kind}-${startLine}-${index}`;
|
|
92
60
|
}
|
|
93
|
-
const htmlContainer = directive(HtmlContainer);
|
|
94
61
|
function renderChildTokenTrees(children, options, childContext) {
|
|
95
62
|
const normalizedChildren = combineConsecutiveHtmlInline(combineSplitHtmlBlocks(children));
|
|
96
63
|
// Multiple or complex children: use repeat for stable keying
|
|
@@ -115,14 +82,40 @@ function renderChildTokenTrees(children, options, childContext) {
|
|
|
115
82
|
return result ?? html ``;
|
|
116
83
|
})}`;
|
|
117
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Top-level entry: renders a markdown token tree to a Lit `TemplateResult`
|
|
87
|
+
* and returns the batch of custom-renderer slot descriptors collected along
|
|
88
|
+
* the way. Callers receive both pieces in one call so the batch can't be
|
|
89
|
+
* accidentally dropped.
|
|
90
|
+
*/
|
|
91
|
+
function renderMarkdownTree(node, options) {
|
|
92
|
+
const batch = [];
|
|
93
|
+
let pluginSlotIndex = 0;
|
|
94
|
+
const template = renderTokenTree(node, {
|
|
95
|
+
...options,
|
|
96
|
+
recordCustomRender: (descriptor) => batch.push(descriptor),
|
|
97
|
+
pluginSlotCounter: { next: () => pluginSlotIndex++ },
|
|
98
|
+
});
|
|
99
|
+
return { template, batch };
|
|
100
|
+
}
|
|
118
101
|
/**
|
|
119
102
|
* Converts TokenTree to Lit TemplateResult.
|
|
103
|
+
*
|
|
104
|
+
* Recursive renderer; external callers should use {@link renderMarkdownTree}
|
|
105
|
+
* which collects the slot-descriptor batch.
|
|
120
106
|
*/
|
|
121
107
|
function renderTokenTree(node, options) {
|
|
122
108
|
const { token, children } = node;
|
|
123
109
|
const { context, sanitize } = options;
|
|
124
110
|
// Handle raw HTML blocks and inline HTML
|
|
125
111
|
if (token.type === "html_block" || token.type === "html_inline") {
|
|
112
|
+
// Plugin-overridden html_block rules (rare but supported) — route through
|
|
113
|
+
// the plugin's renderer before our default unsafeHTML pass-through.
|
|
114
|
+
if (token.type === "html_block" &&
|
|
115
|
+
shouldDelegateToPluginRule(token, options.md) &&
|
|
116
|
+
options.md) {
|
|
117
|
+
return renderFallback(token, node, options.md, sanitize, options);
|
|
118
|
+
}
|
|
126
119
|
let content = token.content || "";
|
|
127
120
|
// Apply HTML sanitization if requested
|
|
128
121
|
if (sanitize && content) {
|
|
@@ -145,18 +138,22 @@ function renderTokenTree(node, options) {
|
|
|
145
138
|
}
|
|
146
139
|
// Handle inline code spans
|
|
147
140
|
if (token.type === "code_inline") {
|
|
141
|
+
if (shouldDelegateToPluginRule(token, options.md) && options.md) {
|
|
142
|
+
return renderFallback(token, node, options.md, sanitize, options);
|
|
143
|
+
}
|
|
148
144
|
return html `<code>${token.content}</code>`;
|
|
149
145
|
}
|
|
150
146
|
// Handle fenced code blocks
|
|
151
147
|
if (token.type === "fence") {
|
|
152
148
|
const language = token.info?.trim() ?? "";
|
|
153
149
|
const { codeSnippetHighlight = true, codeSnippetShowLessText, codeSnippetShowMoreText, codeSnippetCopyButtonTooltipContent, codeSnippetGetLineCountText = defaultLineCountText, codeSnippetAriaLabelReadOnly, codeSnippetAriaLabelEditable, } = options;
|
|
154
|
-
|
|
150
|
+
const defaultTemplate = html `<cds-custom-aichat-card is-flush>
|
|
155
151
|
<div slot="body">
|
|
156
152
|
<cds-custom-aichat-code-snippet
|
|
157
153
|
data-rounded
|
|
158
154
|
.language=${language}
|
|
159
155
|
.highlight=${codeSnippetHighlight}
|
|
156
|
+
.detectLanguage=${true}
|
|
160
157
|
.showLessText=${codeSnippetShowLessText}
|
|
161
158
|
.showMoreText=${codeSnippetShowMoreText}
|
|
162
159
|
.copyButtonTooltipContent=${codeSnippetCopyButtonTooltipContent}
|
|
@@ -167,6 +164,27 @@ function renderTokenTree(node, options) {
|
|
|
167
164
|
></cds-custom-aichat-code-snippet>
|
|
168
165
|
</div>
|
|
169
166
|
</cds-custom-aichat-card>`;
|
|
167
|
+
if (options.customRenderers?.codeBlock) {
|
|
168
|
+
const slotName = slotNameFor("codeBlock", token, options);
|
|
169
|
+
options.recordCustomRender?.({
|
|
170
|
+
slotName,
|
|
171
|
+
kind: "codeBlock",
|
|
172
|
+
token: token,
|
|
173
|
+
node,
|
|
174
|
+
data: {
|
|
175
|
+
language,
|
|
176
|
+
code: token.content ?? "",
|
|
177
|
+
isStreaming: !!options.streaming,
|
|
178
|
+
},
|
|
179
|
+
});
|
|
180
|
+
return html `<slot name=${slotName}>${defaultTemplate}</slot>`;
|
|
181
|
+
}
|
|
182
|
+
// Honor user-plugin `fence` overrides (markdown-it-mermaid, syntax
|
|
183
|
+
// highlighters, etc.). customRenderer slot above wins when set.
|
|
184
|
+
if (shouldDelegateToPluginRule(token, options.md) && options.md) {
|
|
185
|
+
return renderFallback(token, node, options.md, sanitize, options);
|
|
186
|
+
}
|
|
187
|
+
return defaultTemplate;
|
|
170
188
|
}
|
|
171
189
|
// Handle structural elements (paragraphs, headings, lists, etc.)
|
|
172
190
|
const tag = token.tag;
|
|
@@ -202,6 +220,12 @@ function renderTokenTree(node, options) {
|
|
|
202
220
|
else {
|
|
203
221
|
content = renderChildTokenTrees(children, options, childContext);
|
|
204
222
|
}
|
|
223
|
+
// Unknown plugin-introduced tokens (no tag we recognize) — defer to
|
|
224
|
+
// markdown-it's renderer so plugins that register md.renderer.rules[type]
|
|
225
|
+
// (footnote, emoji, deflist, container, etc.) just work.
|
|
226
|
+
if (!tag && options.md && !isNativelyHandled(token)) {
|
|
227
|
+
return renderFallback(token, node, options.md, sanitize, options);
|
|
228
|
+
}
|
|
205
229
|
// Handle tokens without HTML tags (just return content)
|
|
206
230
|
if (!tag) {
|
|
207
231
|
return content;
|
|
@@ -282,7 +306,7 @@ function renderWithStaticTag(tag, token, content, attrs, options, _context, node
|
|
|
282
306
|
case "cds-custom-checkbox": {
|
|
283
307
|
const { checked, disabled, ...otherAttrs } = attrs;
|
|
284
308
|
const isChecked = checked === "true";
|
|
285
|
-
const isDisabled = disabled === undefined ?
|
|
309
|
+
const isDisabled = disabled === undefined ? false : disabled === "" || disabled === "true";
|
|
286
310
|
return html `<cds-custom-checkbox
|
|
287
311
|
?checked=${isChecked}
|
|
288
312
|
?disabled=${isDisabled}
|
|
@@ -339,80 +363,35 @@ function renderWithStaticTag(tag, token, content, attrs, options, _context, node
|
|
|
339
363
|
attrs.target = "_blank";
|
|
340
364
|
}
|
|
341
365
|
return html `<a ${spread(attrs)}>${content}</a>`;
|
|
366
|
+
// Self-closing image. Plugin-introduced wrappers (e.g. image-figures)
|
|
367
|
+
// route through `shouldDelegateToPluginRule` before falling back to a
|
|
368
|
+
// plain `<img>` element.
|
|
369
|
+
case "img":
|
|
370
|
+
if (node && options.md && shouldDelegateToPluginRule(token, options.md)) {
|
|
371
|
+
return renderFallback(token, node, options.md, options.sanitize, options);
|
|
372
|
+
}
|
|
373
|
+
return html `<img ${spread(attrs)} />`;
|
|
342
374
|
// Tables with Carbon component and streaming support
|
|
343
375
|
case "table": {
|
|
344
376
|
if (!node) {
|
|
345
377
|
return html `<div>Error: Missing table data</div>`;
|
|
346
378
|
}
|
|
347
|
-
const
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
streaming &&
|
|
352
|
-
parentContext?.parentChildren &&
|
|
353
|
-
parentContext?.currentIndex !== undefined) {
|
|
354
|
-
const { parentChildren, currentIndex } = parentContext;
|
|
355
|
-
const hasNodesAfterTable = currentIndex < parentChildren.length - 1;
|
|
356
|
-
isLoading = !hasNodesAfterTable;
|
|
357
|
-
}
|
|
358
|
-
const renderCellTokens = (tokens, contextOverrides = {}) => {
|
|
359
|
-
// Same as block/inline rendering: merge split raw HTML (e.g. `<a>…</a>`)
|
|
360
|
-
// so each cell is not rendered as separate unsafeHTML + text chunks.
|
|
361
|
-
const normalizedTokens = combineConsecutiveHtmlInline(tokens);
|
|
362
|
-
return html `${repeat(normalizedTokens, (child, index) => `cell-${index}:${child.token.type}:${child.token.tag}`, (child, index) => renderTokenTree(child, {
|
|
363
|
-
...options,
|
|
364
|
-
context: {
|
|
365
|
-
...options.context,
|
|
366
|
-
...contextOverrides,
|
|
367
|
-
parentChildren: normalizedTokens,
|
|
368
|
-
currentIndex: index,
|
|
369
|
-
},
|
|
370
|
-
}))}`;
|
|
371
|
-
};
|
|
372
|
-
const createCellContent = (cell, contextOverrides) => ({
|
|
373
|
-
text: cell.text,
|
|
374
|
-
template: cell.tokens
|
|
375
|
-
? renderCellTokens(cell.tokens, contextOverrides)
|
|
376
|
-
: null,
|
|
377
|
-
});
|
|
378
|
-
// Only extract and process table data when not loading to avoid unnecessary work.
|
|
379
|
-
// During loading, the table shows a skeleton and doesn't need the actual data.
|
|
380
|
-
let headers = [];
|
|
381
|
-
let tableRows = [];
|
|
382
|
-
if (!isLoading) {
|
|
383
|
-
const extractedData = extractTableData(node);
|
|
384
|
-
headers = extractedData.headers.map((cell) => createCellContent(cell, { isInThead: true }));
|
|
385
|
-
tableRows = extractedData.rows.map((row) => ({
|
|
386
|
-
cells: row.map((cell) => createCellContent(cell)),
|
|
387
|
-
}));
|
|
388
|
-
}
|
|
389
|
-
// Always return the same structure to allow Lit to reuse the table element.
|
|
390
|
-
// When isLoading is true, the table component will show a skeleton state.
|
|
391
|
-
// When isLoading is false, it will show the actual data.
|
|
392
|
-
// This prevents recreating the table element and preserves its internal state.
|
|
393
|
-
return html `<div class="cds-custom-aichat-table--square">
|
|
394
|
-
<cds-custom-aichat-table
|
|
395
|
-
data-rounded
|
|
396
|
-
.headers=${headers}
|
|
397
|
-
.rows=${tableRows}
|
|
398
|
-
.loading=${isLoading}
|
|
399
|
-
.filterPlaceholderText=${tableFilterPlaceholderText}
|
|
400
|
-
.previousPageText=${tablePreviousPageText}
|
|
401
|
-
.nextPageText=${tableNextPageText}
|
|
402
|
-
.itemsPerPageText=${tableItemsPerPageText}
|
|
403
|
-
.downloadLabelText=${tableDownloadLabelText}
|
|
404
|
-
.locale=${tableLocale}
|
|
405
|
-
.getPaginationSupplementalText=${tableGetPaginationSupplementalText}
|
|
406
|
-
.getPaginationStatusText=${tableGetPaginationStatusText}
|
|
407
|
-
...=${attrs}
|
|
408
|
-
></cds-custom-aichat-table>
|
|
409
|
-
</div>`;
|
|
379
|
+
const slotName = options.customRenderers?.table
|
|
380
|
+
? slotNameFor("table", token, options)
|
|
381
|
+
: undefined;
|
|
382
|
+
return renderTable(token, node, attrs, options, renderTokenTree, slotName);
|
|
410
383
|
}
|
|
411
|
-
// Fallback for unknown tags
|
|
384
|
+
// Fallback for unknown tags. If we have the markdown-it instance available,
|
|
385
|
+
// defer to its renderer for plugin-introduced container tags (footnote_block,
|
|
386
|
+
// dl/dt/dd from deflist, custom containers, etc.). Otherwise fall back to
|
|
387
|
+
// a generic <div>.
|
|
412
388
|
default:
|
|
389
|
+
if (options.md && node && !isNativelyHandled(token)) {
|
|
390
|
+
return renderFallback(token, node, options.md, options.sanitize, options);
|
|
391
|
+
}
|
|
413
392
|
return html `<div ${spread(attrs)}>${content}</div>`;
|
|
414
393
|
}
|
|
415
394
|
}
|
|
416
395
|
|
|
417
|
-
export { renderTokenTree };
|
|
396
|
+
export { renderMarkdownTree, renderTokenTree };
|
|
418
397
|
//# sourceMappingURL=markdown-renderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-renderer.js","sources":["../../../../src/components/markdown/src/markdown-renderer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"markdown-renderer.js","sources":["../../../../src/components/markdown/src/markdown-renderer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,22 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The parse/diff layer between raw markdown source and the renderer. Parses with markdown-it (built-in plugins plus any caller-supplied `markdownItPlugins`), builds a nested {@link TokenTree}, and diffs it against the previous tree so streaming updates can reuse stable subtrees.
|
|
3
|
+
*
|
|
4
|
+
* ### Why diff
|
|
5
|
+
*
|
|
6
|
+
* `diffTokenTree` reuses old nodes by `key` whenever the key matches. This is what lets `./markdown-renderer.ts`'s use of Lit's `repeat` directive keep DOM stable during streaming: each incoming chunk re-parses the full source, but matched keys reuse the prior subtree, so only the genuinely new tail differs.
|
|
7
|
+
*
|
|
8
|
+
* ### Why `cachedHtml`
|
|
9
|
+
*
|
|
10
|
+
* For the leaf token types in {@link PLUGIN_DELEGABLE_TOKEN_TYPES}, when a user plugin's renderer rule produces the HTML (via `./utils/plugin-fallback.ts`), the result is cached on the `TokenTree` node and carried forward by `diffTokenTree` whenever the underlying token's `content` / `attrs` / `info` are unchanged. A stable earlier-in-document fence/image/etc. therefore isn't re-rendered through the plugin's rule on every streaming chunk. The cache is tagged with the `MarkdownIt` instance that produced it; a plugin swap (which builds a fresh instance) invalidates the cache on read.
|
|
11
|
+
*
|
|
12
|
+
* The block comment on {@link PLUGIN_DELEGABLE_TOKEN_TYPES} explains why only those four token types are eligible for delegation.
|
|
13
|
+
*
|
|
14
|
+
* ### Related files
|
|
15
|
+
*
|
|
16
|
+
* - `./markdown-renderer.ts` — consumes the `TokenTree` and produces a Lit `TemplateResult`.
|
|
17
|
+
* - `./utils/plugin-fallback.ts` — reads `cachedHtml` and {@link getPluginOverriddenRules} to drive the delegated-render flow.
|
|
18
|
+
*/
|
|
19
|
+
import MarkdownIt, { Token } from "markdown-it";
|
|
2
20
|
/**
|
|
3
21
|
* Represents a node in the token tree structure.
|
|
4
22
|
*/
|
|
@@ -11,9 +29,20 @@ export interface TokenTree {
|
|
|
11
29
|
children: TokenTree[];
|
|
12
30
|
}
|
|
13
31
|
/**
|
|
14
|
-
*
|
|
32
|
+
* A markdown-it plugin reference. Either a bare plugin function or a
|
|
33
|
+
* `[plugin, options]` / `[plugin, ...params]` tuple matching
|
|
34
|
+
* `MarkdownIt.use(...)`.
|
|
35
|
+
*
|
|
36
|
+
* @experimental
|
|
37
|
+
*/
|
|
38
|
+
export type MarkdownItPlugin = MarkdownIt.PluginSimple | [MarkdownIt.PluginWithOptions<unknown>, unknown] | [MarkdownIt.PluginWithParams, ...unknown[]];
|
|
39
|
+
/**
|
|
40
|
+
* Returns a (cached) markdown-it instance for the given plugin set, choosing the
|
|
41
|
+
* html-enabled variant or the html-disabled (HTML-neutralizing) variant based on
|
|
42
|
+
* `removeHtml`. Calling with the same `plugins` reference and `removeHtml` returns
|
|
43
|
+
* the same instance.
|
|
15
44
|
*/
|
|
16
|
-
export declare function
|
|
45
|
+
export declare function getMarkdownIt(plugins?: MarkdownItPlugin[], removeHtml?: boolean): MarkdownIt;
|
|
17
46
|
/**
|
|
18
47
|
* Converts a flat list of markdown-it tokens into a tree.
|
|
19
48
|
*/
|
|
@@ -27,6 +56,22 @@ export declare function buildTokenTree(tokens: Token[]): TokenTree;
|
|
|
27
56
|
*/
|
|
28
57
|
export declare function diffTokenTree(oldTree: TokenTree | undefined, newTree: TokenTree): TokenTree;
|
|
29
58
|
/**
|
|
30
|
-
*
|
|
59
|
+
* Result of {@link markdownToTokenTree}. Returns the parsed tree plus the
|
|
60
|
+
* markdown-it instance used to produce it so the renderer can fall back to
|
|
61
|
+
* `md.renderer.render()` for plugin-introduced tokens. The set of
|
|
62
|
+
* plugin-overridden rules is read from the per-instance WeakMap via
|
|
63
|
+
* {@link getPluginOverriddenRules} as needed.
|
|
64
|
+
*/
|
|
65
|
+
export interface MarkdownToTokenTreeResult {
|
|
66
|
+
tree: TokenTree;
|
|
67
|
+
md: MarkdownIt;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Converts markdown into a tree with keys on it for Lit. The returned `md` is the
|
|
71
|
+
* (cached) markdown-it instance keyed by `markdownItPlugins` identity and the
|
|
72
|
+
* `removeHtml` flag (html-enabled vs html-neutralizing variant).
|
|
31
73
|
*/
|
|
32
|
-
export declare function markdownToTokenTree(markdown: string, lastTree
|
|
74
|
+
export declare function markdownToTokenTree(markdown: string, lastTree: TokenTree | undefined, opts?: {
|
|
75
|
+
removeHtml?: boolean;
|
|
76
|
+
markdownItPlugins?: MarkdownItPlugin[];
|
|
77
|
+
}): MarkdownToTokenTreeResult;
|