@carbon/ai-chat-components 1.3.0 → 1.4.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 +394 -322
- package/es/components/audio-player/src/utils/url-detector.js +2 -1
- package/es/components/audio-player/src/utils/url-detector.js.map +1 -1
- package/es/components/chat-history/src/history-panel-item.js +2 -2
- package/es/components/chat-history/src/history-panel-item.js.map +1 -1
- package/es/components/chat-history/src/history-toolbar.d.ts +53 -0
- package/es/components/chat-history/src/history-toolbar.js +13 -2
- package/es/components/chat-history/src/history-toolbar.js.map +1 -1
- package/es/components/markdown/src/markdown-renderer.js +77 -32
- package/es/components/markdown/src/markdown-renderer.js.map +1 -1
- package/es/components/markdown/src/markdown-token-tree.js +37 -3
- package/es/components/markdown/src/markdown-token-tree.js.map +1 -1
- package/es/components/markdown/src/utils/html-helpers.d.ts +3 -0
- package/es/components/markdown/src/utils/html-helpers.js +113 -1
- package/es/components/markdown/src/utils/html-helpers.js.map +1 -1
- package/es/components/reasoning-steps/src/reasoning-step.js +6 -2
- package/es/components/reasoning-steps/src/reasoning-step.js.map +1 -1
- package/es/components/toolbar/src/toolbar.js +2 -2
- package/es/components/toolbar/src/toolbar.scss.js +1 -1
- package/es/react/ai-label-action-button.d.ts +3 -0
- package/es/react/ai-label-action-button.js +27 -0
- package/es/react/ai-label-action-button.js.map +1 -0
- package/es-custom/components/audio-player/src/utils/url-detector.js +2 -1
- package/es-custom/components/audio-player/src/utils/url-detector.js.map +1 -1
- package/es-custom/components/chat-history/src/history-panel-item.js +2 -2
- package/es-custom/components/chat-history/src/history-panel-item.js.map +1 -1
- package/es-custom/components/chat-history/src/history-toolbar.d.ts +53 -0
- package/es-custom/components/chat-history/src/history-toolbar.js +13 -2
- package/es-custom/components/chat-history/src/history-toolbar.js.map +1 -1
- package/es-custom/components/markdown/src/markdown-renderer.js +77 -32
- package/es-custom/components/markdown/src/markdown-renderer.js.map +1 -1
- package/es-custom/components/markdown/src/markdown-token-tree.js +37 -3
- package/es-custom/components/markdown/src/markdown-token-tree.js.map +1 -1
- package/es-custom/components/markdown/src/utils/html-helpers.d.ts +3 -0
- package/es-custom/components/markdown/src/utils/html-helpers.js +113 -1
- package/es-custom/components/markdown/src/utils/html-helpers.js.map +1 -1
- package/es-custom/components/reasoning-steps/src/reasoning-step.js +6 -2
- package/es-custom/components/reasoning-steps/src/reasoning-step.js.map +1 -1
- package/es-custom/components/toolbar/src/toolbar.js +2 -2
- package/es-custom/components/toolbar/src/toolbar.scss.js +1 -1
- package/es-custom/react/ai-label-action-button.d.ts +3 -0
- package/es-custom/react/ai-label-action-button.js +27 -0
- package/es-custom/react/ai-label-action-button.js.map +1 -0
- package/package.json +3 -3
|
@@ -36,6 +36,7 @@ var AudioSource;
|
|
|
36
36
|
* Derived from react-player v2.15.1
|
|
37
37
|
*/
|
|
38
38
|
const MATCH_URL_SOUNDCLOUD = /(?:soundcloud\.com|snd\.sc)\/[^.]+$/;
|
|
39
|
+
const MATCH_DATA_AUDIO_URI = /^data:audio\/[a-z0-9.+-]+(?:;[^,]*)?,/i;
|
|
39
40
|
const AUDIO_EXTENSIONS = /\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\?)/i;
|
|
40
41
|
/**
|
|
41
42
|
* Detect the audio source type from a URL
|
|
@@ -52,7 +53,7 @@ function detectAudioSource(url) {
|
|
|
52
53
|
return AudioSource.SOUNDCLOUD;
|
|
53
54
|
}
|
|
54
55
|
// Check for native audio files
|
|
55
|
-
if (AUDIO_EXTENSIONS.test(url)) {
|
|
56
|
+
if (AUDIO_EXTENSIONS.test(url) || MATCH_DATA_AUDIO_URI.test(url)) {
|
|
56
57
|
return AudioSource.NATIVE;
|
|
57
58
|
}
|
|
58
59
|
return AudioSource.UNKNOWN;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-detector.js","sources":["../../../../../src/components/audio-player/src/utils/url-detector.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAAA;;;;;;;AAOG;AAEH;;;;;;;;AAQG;AAEH;;AAEG;IACS;AAAZ,CAAA,UAAY,WAAW,EAAA;AACrB,IAAA,WAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AACzB,IAAA,WAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,WAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACrB,CAAC,EAJW,WAAW,KAAX,WAAW,GAAA,EAAA,CAAA,CAAA;AAMvB;;;AAGG;AACH,MAAM,oBAAoB,GAAG,qCAAqC;
|
|
1
|
+
{"version":3,"file":"url-detector.js","sources":["../../../../../src/components/audio-player/src/utils/url-detector.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAAA;;;;;;;AAOG;AAEH;;;;;;;;AAQG;AAEH;;AAEG;IACS;AAAZ,CAAA,UAAY,WAAW,EAAA;AACrB,IAAA,WAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AACzB,IAAA,WAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,WAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACrB,CAAC,EAJW,WAAW,KAAX,WAAW,GAAA,EAAA,CAAA,CAAA;AAMvB;;;AAGG;AACH,MAAM,oBAAoB,GAAG,qCAAqC;AAClE,MAAM,oBAAoB,GAAG,wCAAwC;AAErE,MAAM,gBAAgB,GACpB,wEAAwE;AAE1E;;;;;AAKG;AACG,SAAU,iBAAiB,CAAC,GAAW,EAAA;IAC3C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QACnC,OAAO,WAAW,CAAC,OAAO;IAC5B;;AAGA,IAAA,IAAI,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACjE,OAAO,WAAW,CAAC,UAAU;IAC/B;;AAGA,IAAA,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAChE,OAAO,WAAW,CAAC,MAAM;IAC3B;IAEA,OAAO,WAAW,CAAC,OAAO;AAC5B;AAEA;;;;;AAKG;AACG,SAAU,eAAe,CAAC,GAAW,EAAA;IACzC,OAAO,iBAAiB,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,UAAU;AAC1D;AAEA;;;;;AAKG;AACG,SAAU,gBAAgB,CAAC,GAAW,EAAA;IAC1C,OAAO,iBAAiB,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,MAAM;AACtD;AAEA;;;;"}
|
|
@@ -264,7 +264,7 @@ let CDSAIChatHistoryPanelItem = class CDSAIChatHistoryPanelItem extends HostList
|
|
|
264
264
|
}
|
|
265
265
|
}
|
|
266
266
|
render() {
|
|
267
|
-
const { id, selected, name, actions, rename, _adjustMenuPosition: adjustMenuPosition, _handleMenuTriggerKeyDown: handleMenuTriggerKeyDown, _handleMenuItemClick: handleMenuItemClick, _handleMenuItemKeyDown: handleMenuItemKeyDown, } = this;
|
|
267
|
+
const { id, selected, name, actions, rename, overflowMenuLabel, _adjustMenuPosition: adjustMenuPosition, _handleMenuTriggerKeyDown: handleMenuTriggerKeyDown, _handleMenuItemClick: handleMenuItemClick, _handleMenuItemKeyDown: handleMenuItemKeyDown, } = this;
|
|
268
268
|
const classes = classMap({
|
|
269
269
|
[`cds--side-nav__link`]: true,
|
|
270
270
|
[`cds--side-nav__link--current`]: selected,
|
|
@@ -284,7 +284,7 @@ let CDSAIChatHistoryPanelItem = class CDSAIChatHistoryPanelItem extends HostList
|
|
|
284
284
|
class: `${prefix}--overflow-menu__icon`,
|
|
285
285
|
slot: "icon",
|
|
286
286
|
})}
|
|
287
|
-
<span slot="tooltip-content"
|
|
287
|
+
<span slot="tooltip-content">${overflowMenuLabel}</span>
|
|
288
288
|
<cds-overflow-menu-body flipped>
|
|
289
289
|
${repeat(actions, (action) => action.text, (action) => html `<cds-overflow-menu-item
|
|
290
290
|
?danger=${action.delete}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-panel-item.js","sources":["../../../../src/components/chat-history/src/history-panel-item.ts"],"sourcesContent":[null],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"history-panel-item.js","sources":["../../../../src/components/chat-history/src/history-panel-item.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
2
|
import "@carbon/web-components/es/components/search/search.js";
|
|
3
3
|
import "@carbon/web-components/es/components/icon-button/index.js";
|
|
4
|
+
/**
|
|
5
|
+
* Attributes that can be passed to the cds-search component.
|
|
6
|
+
*/
|
|
7
|
+
export interface SearchAttributes {
|
|
8
|
+
/** Label text for the search icon */
|
|
9
|
+
"label-text"?: string;
|
|
10
|
+
/** Placeholder text for the search input */
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
/** Whether the search input is disabled */
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
/** Value of the search input */
|
|
15
|
+
value?: string;
|
|
16
|
+
/** Label for the close button */
|
|
17
|
+
"close-button-label-text"?: string;
|
|
18
|
+
}
|
|
4
19
|
/**
|
|
5
20
|
* Chat History Toolbar.
|
|
6
21
|
*
|
|
@@ -20,7 +35,45 @@ declare class CDSAIChatHistoryToolbar extends LitElement {
|
|
|
20
35
|
* `true` to remove search from toolbar.
|
|
21
36
|
*/
|
|
22
37
|
searchOff: any;
|
|
38
|
+
/**
|
|
39
|
+
* @deprecated Use `searchAttributes['close-button-label-text']` instead.
|
|
40
|
+
* This property will be removed in a future major version.
|
|
41
|
+
*/
|
|
23
42
|
closeButtonLabelText: string;
|
|
43
|
+
/**
|
|
44
|
+
* Optional attributes to pass to the cds-search component.
|
|
45
|
+
* Allows customization of search behavior and appearance.
|
|
46
|
+
*
|
|
47
|
+
* Note: This is a JavaScript property only (not an HTML attribute).
|
|
48
|
+
* Use `.searchAttributes` to set it programmatically.
|
|
49
|
+
*
|
|
50
|
+
* Default values:
|
|
51
|
+
* - `close-button-label-text`: "Clear search" (can be overridden via deprecated `closeButtonLabelText` property)
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```javascript
|
|
55
|
+
* // Via JavaScript property
|
|
56
|
+
* const toolbar = document.querySelector('cds-aichat-history-toolbar');
|
|
57
|
+
* toolbar.searchAttributes = {
|
|
58
|
+
* 'label-text': 'Search conversations',
|
|
59
|
+
* placeholder: 'Type to search...',
|
|
60
|
+
* disabled: false,
|
|
61
|
+
* value: ''
|
|
62
|
+
* };
|
|
63
|
+
* ```
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```html
|
|
67
|
+
* <!-- Via Lit template binding -->
|
|
68
|
+
* <cds-aichat-history-toolbar
|
|
69
|
+
* .searchAttributes=${{
|
|
70
|
+
* 'label-text': 'Search conversations',
|
|
71
|
+
* placeholder: 'Type to search...'
|
|
72
|
+
* }}
|
|
73
|
+
* ></cds-aichat-history-toolbar>
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
searchAttributes?: SearchAttributes;
|
|
24
77
|
/**
|
|
25
78
|
* Handles new chat button click event
|
|
26
79
|
*/
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import { __decorate } from 'tslib';
|
|
9
9
|
import { LitElement, nothing, html } from 'lit';
|
|
10
10
|
import { property } from 'lit/decorators.js';
|
|
11
|
+
import spread from '@carbon/web-components/es/globals/directives/spread.js';
|
|
11
12
|
import prefix from '../../../globals/settings.js';
|
|
12
13
|
import { carbonElement } from '../../../globals/decorators/carbon-element.js';
|
|
13
14
|
import '@carbon/web-components/es/components/search/search.js';
|
|
@@ -41,6 +42,10 @@ let CDSAIChatHistoryToolbar = class CDSAIChatHistoryToolbar extends LitElement {
|
|
|
41
42
|
* Label for new chat button.
|
|
42
43
|
*/
|
|
43
44
|
this.newChatLabel = "New chat";
|
|
45
|
+
/**
|
|
46
|
+
* @deprecated Use `searchAttributes['close-button-label-text']` instead.
|
|
47
|
+
* This property will be removed in a future major version.
|
|
48
|
+
*/
|
|
44
49
|
this.closeButtonLabelText = "Clear search";
|
|
45
50
|
/**
|
|
46
51
|
* Handles new chat button click event
|
|
@@ -53,11 +58,14 @@ let CDSAIChatHistoryToolbar = class CDSAIChatHistoryToolbar extends LitElement {
|
|
|
53
58
|
};
|
|
54
59
|
}
|
|
55
60
|
render() {
|
|
56
|
-
const { closeButtonLabelText, newChatLabel, searchOff, _handleNewChatButtonClick: handleNewChatButtonClick, } = this;
|
|
61
|
+
const { closeButtonLabelText, newChatLabel, searchOff, searchAttributes, _handleNewChatButtonClick: handleNewChatButtonClick, } = this;
|
|
62
|
+
// Use searchAttributes['close-button-label-text'] if provided, otherwise fall back to deprecated property
|
|
63
|
+
const effectiveCloseButtonLabel = searchAttributes?.["close-button-label-text"] ?? closeButtonLabelText;
|
|
57
64
|
return html ` <slot name="actions-start"></slot>
|
|
58
65
|
${!searchOff
|
|
59
66
|
? html `<cds-search
|
|
60
|
-
close-button-label-text=${
|
|
67
|
+
close-button-label-text=${effectiveCloseButtonLabel}
|
|
68
|
+
${searchAttributes ? spread(searchAttributes) : nothing}
|
|
61
69
|
></cds-search>`
|
|
62
70
|
: nothing}
|
|
63
71
|
<slot name="actions-end"></slot>
|
|
@@ -82,6 +90,9 @@ __decorate([
|
|
|
82
90
|
__decorate([
|
|
83
91
|
property({ type: String, attribute: "close-button-label-text" })
|
|
84
92
|
], CDSAIChatHistoryToolbar.prototype, "closeButtonLabelText", void 0);
|
|
93
|
+
__decorate([
|
|
94
|
+
property({ type: Object, attribute: false })
|
|
95
|
+
], CDSAIChatHistoryToolbar.prototype, "searchAttributes", void 0);
|
|
85
96
|
CDSAIChatHistoryToolbar = __decorate([
|
|
86
97
|
carbonElement(`${prefix}-history-toolbar`)
|
|
87
98
|
], CDSAIChatHistoryToolbar);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-toolbar.js","sources":["../../../../src/components/chat-history/src/history-toolbar.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"history-toolbar.js","sources":["../../../../src/components/chat-history/src/history-toolbar.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;AAOG;AA8BH;;;;;AAKG;AAEH,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,UAAU,CAAA;AAAhD,IAAA,WAAA,GAAA;;AACE;;AAEG;QAEH,IAAA,CAAA,IAAI,GAAG,SAAS;AAEhB;;AAEG;QAEH,IAAA,CAAA,YAAY,GAAG,UAAU;AAQzB;;;AAGG;QAEH,IAAA,CAAA,oBAAoB,GAAG,cAAc;AAsCrC;;AAEG;QACH,IAAA,CAAA,yBAAyB,GAAG,MAAK;AAC/B,YAAA,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,6BAA6B,EAAE;AAC7C,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,QAAQ,EAAE,IAAI;AACf,aAAA,CAAC,CACH;AACH,QAAA,CAAC;IAgCH;IA9BE,MAAM,GAAA;AACJ,QAAA,MAAM,EACJ,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,yBAAyB,EAAE,wBAAwB,GACpD,GAAG,IAAI;;QAGR,MAAM,yBAAyB,GAC7B,gBAAgB,GAAG,yBAAyB,CAAC,IAAI,oBAAoB;AAEvE,QAAA,OAAO,IAAI,CAAA,CAAA;AACP,MAAA,EAAA,CAAC;cACC,IAAI,CAAA,CAAA;sCACwB,yBAAyB;cACjD,gBAAgB,GAAG,MAAM,CAAC,gBAAuB,CAAC,GAAG,OAAO;AACjD,wBAAA;AACjB,cAAE,OAAO;;kDAEiC,wBAAwB,CAAA;UAChE,UAAU,CAAC,YAAY,EAAE;AACzB,YAAA,IAAI,EAAE,MAAM;SACb,CAAC;uCAC6B,YAAY,CAAA;yBAC1B;IACvB;;AAEO,uBAAA,CAAA,MAAM,GAAG,MAAH;AAlGb,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACxB,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAMjB,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE;AAC7B,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,MAAA,CAAA;AAM1B,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE;AACzD,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA;AAOV,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,yBAAyB,EAAE;AAC1B,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,sBAAA,EAAA,MAAA,CAAA;AAoCtC,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE;AACR,CAAA,EAAA,uBAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,MAAA,CAAA;AA5DhC,uBAAuB,GAAA,UAAA,CAAA;AAD5B,IAAA,aAAa,CAAC,CAAA,EAAG,MAAM,CAAA,gBAAA,CAAkB;AACpC,CAAA,EAAA,uBAAuB,CAwG5B;AAGD,gCAAe,uBAAuB;;;;"}
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import DOMPurify from 'dompurify';
|
|
9
|
-
import { nothing, html } from 'lit';
|
|
9
|
+
import { nothing, render, 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 } from 'lit/directive.js';
|
|
12
|
+
import { directive, Directive, PartType } from 'lit/directive.js';
|
|
13
13
|
import '@carbon/web-components/es/components/list/index.js';
|
|
14
14
|
import '@carbon/web-components/es/components/checkbox/index.js';
|
|
15
15
|
import '../../code-snippet/src/code-snippet.js';
|
|
@@ -20,7 +20,7 @@ import '../../card/src/card-steps.js';
|
|
|
20
20
|
import '../../table/src/table.js';
|
|
21
21
|
import { defaultLineCountText } from '../../code-snippet/src/formatters.js';
|
|
22
22
|
import { extractTableData } from './utils/table-helpers.js';
|
|
23
|
-
import { combineConsecutiveHtmlInline } from './utils/html-helpers.js';
|
|
23
|
+
import { HTML_CONTAINER_SLOT, combineConsecutiveHtmlInline, combineSplitHtmlBlocks } from './utils/html-helpers.js';
|
|
24
24
|
|
|
25
25
|
/*
|
|
26
26
|
* Copyright IBM Corp. 2025, 2026
|
|
@@ -52,6 +52,69 @@ class SpreadAttrs extends Directive {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
const spread = directive(SpreadAttrs);
|
|
55
|
+
const sanitizeHtmlContent = (content) => DOMPurify.sanitize(content, {
|
|
56
|
+
ADD_ATTR: ["data-aichat-markdown"],
|
|
57
|
+
CUSTOM_ELEMENT_HANDLING: {
|
|
58
|
+
tagNameCheck: () => true, // Allow custom elements
|
|
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
|
+
}
|
|
92
|
+
}
|
|
93
|
+
const htmlContainer = directive(HtmlContainer);
|
|
94
|
+
function renderChildTokenTrees(children, options, childContext) {
|
|
95
|
+
const normalizedChildren = combineConsecutiveHtmlInline(combineSplitHtmlBlocks(children));
|
|
96
|
+
// Multiple or complex children: use repeat for stable keying
|
|
97
|
+
return html `${repeat(normalizedChildren, (child, index) => {
|
|
98
|
+
// Generate stable key that doesn't depend on line positions
|
|
99
|
+
// This prevents unnecessary re-renders during streaming
|
|
100
|
+
const stableKey = `${index}:${child.token.type}:${child.token.tag}`;
|
|
101
|
+
if (child.token.type?.includes("table")) {
|
|
102
|
+
return `table-${stableKey}`;
|
|
103
|
+
}
|
|
104
|
+
return `stable-${stableKey}`;
|
|
105
|
+
}, (child, index) => {
|
|
106
|
+
const result = renderTokenTree(child, {
|
|
107
|
+
...options,
|
|
108
|
+
context: {
|
|
109
|
+
...childContext,
|
|
110
|
+
parentChildren: normalizedChildren,
|
|
111
|
+
currentIndex: index,
|
|
112
|
+
},
|
|
113
|
+
});
|
|
114
|
+
// Ensure we never return undefined, which Lit would render as the string "undefined"
|
|
115
|
+
return result ?? html ``;
|
|
116
|
+
})}`;
|
|
117
|
+
}
|
|
55
118
|
/**
|
|
56
119
|
* Converts TokenTree to Lit TemplateResult.
|
|
57
120
|
*/
|
|
@@ -63,16 +126,19 @@ function renderTokenTree(node, options) {
|
|
|
63
126
|
let content = token.content || "";
|
|
64
127
|
// Apply HTML sanitization if requested
|
|
65
128
|
if (sanitize && content) {
|
|
66
|
-
content =
|
|
67
|
-
CUSTOM_ELEMENT_HANDLING: {
|
|
68
|
-
tagNameCheck: () => true, // Allow custom elements
|
|
69
|
-
attributeNameCheck: () => true,
|
|
70
|
-
allowCustomizedBuiltInElements: true,
|
|
71
|
-
},
|
|
72
|
-
});
|
|
129
|
+
content = sanitizeHtmlContent(content);
|
|
73
130
|
}
|
|
74
131
|
return html `${unsafeHTML(content)}`;
|
|
75
132
|
}
|
|
133
|
+
// Handle split HTML blocks that wrap markdown siblings (e.g. <details>…</details>).
|
|
134
|
+
if (token.type === "html_container") {
|
|
135
|
+
const openingHtml = token.content ?? "";
|
|
136
|
+
const innerContent = renderChildTokenTrees(children, options, context);
|
|
137
|
+
return html `<div
|
|
138
|
+
class="cds-aichat-markdown-html-container"
|
|
139
|
+
${htmlContainer(openingHtml, innerContent, sanitize)}
|
|
140
|
+
></div>`;
|
|
141
|
+
}
|
|
76
142
|
// Handle plain text content
|
|
77
143
|
if (token.type === "text") {
|
|
78
144
|
return html `${token.content}`;
|
|
@@ -134,28 +200,7 @@ function renderTokenTree(node, options) {
|
|
|
134
200
|
content = html `${children[0].token.content}`;
|
|
135
201
|
}
|
|
136
202
|
else {
|
|
137
|
-
|
|
138
|
-
// Multiple or complex children: use repeat for stable keying
|
|
139
|
-
content = html `${repeat(normalizedChildren, (c, index) => {
|
|
140
|
-
// Generate stable key that doesn't depend on line positions
|
|
141
|
-
// This prevents unnecessary re-renders during streaming
|
|
142
|
-
const stableKey = `${index}:${c.token.type}:${c.token.tag}`;
|
|
143
|
-
if (c.token.type?.includes("table")) {
|
|
144
|
-
return `table-${stableKey}`;
|
|
145
|
-
}
|
|
146
|
-
return `stable-${stableKey}`;
|
|
147
|
-
}, (c, index) => {
|
|
148
|
-
const result = renderTokenTree(c, {
|
|
149
|
-
...options,
|
|
150
|
-
context: {
|
|
151
|
-
...childContext,
|
|
152
|
-
parentChildren: normalizedChildren,
|
|
153
|
-
currentIndex: index,
|
|
154
|
-
},
|
|
155
|
-
});
|
|
156
|
-
// Ensure we never return undefined, which Lit would render as the string "undefined"
|
|
157
|
-
return result ?? html ``;
|
|
158
|
-
})}`;
|
|
203
|
+
content = renderChildTokenTrees(children, options, childContext);
|
|
159
204
|
}
|
|
160
205
|
// Handle tokens without HTML tags (just return content)
|
|
161
206
|
if (!tag) {
|
|
@@ -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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"}
|
|
@@ -11,7 +11,7 @@ import { markdownItHighlight } from './plugins/markdown-it-highlight.js';
|
|
|
11
11
|
import { markdownItTaskLists } from './plugins/markdown-it-task-lists.js';
|
|
12
12
|
|
|
13
13
|
/*
|
|
14
|
-
* Copyright IBM Corp. 2025
|
|
14
|
+
* Copyright IBM Corp. 2025, 2026
|
|
15
15
|
*
|
|
16
16
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
17
17
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -48,13 +48,47 @@ const noHtmlMarkdown = new MarkdownIt("commonmark", {
|
|
|
48
48
|
.use(markdownItAttrs)
|
|
49
49
|
.use(markdownItHighlight)
|
|
50
50
|
.use(markdownItTaskLists);
|
|
51
|
+
// markdown-it treats a closing HTML tag and the next markdown line (ie. </div>\n##Heading) as one HTML
|
|
52
|
+
// block when there is no blank line between them. Insert an extra newline so the
|
|
53
|
+
// following markdown is parsed as markdown, not swallowed into the HTML token.
|
|
54
|
+
function normalizeHtmlBlockBoundaries(markdown, allowHtml) {
|
|
55
|
+
if (!allowHtml) {
|
|
56
|
+
return markdown;
|
|
57
|
+
}
|
|
58
|
+
return markdown.replace(/(^|\n)(\s*<\/\s*[A-Za-z][\w:-]*\s*>)(\r?\n)(?=\S)/g, "$1$2$3$3");
|
|
59
|
+
}
|
|
60
|
+
// Fallback for html_block tokens that still bundle a closing tag with trailing
|
|
61
|
+
// markdown on the next line. Split them so the closer stays HTML and the rest
|
|
62
|
+
// is re-parsed as markdown.
|
|
63
|
+
function splitHtmlBlockTrailingMarkdown(tokens, allowHtml) {
|
|
64
|
+
return tokens.flatMap((token) => {
|
|
65
|
+
if (token.type !== "html_block") {
|
|
66
|
+
return [token];
|
|
67
|
+
}
|
|
68
|
+
const trailingMarkdownMatch = token.content.match(/^(\s*<\/\s*[A-Za-z][\w:-]*\s*>)(\s*\n)([\s\S]*\S[\s\S]*)$/);
|
|
69
|
+
if (!trailingMarkdownMatch) {
|
|
70
|
+
return [token];
|
|
71
|
+
}
|
|
72
|
+
const [, closingHtml, leadingWhitespace, trailingMarkdown] = trailingMarkdownMatch;
|
|
73
|
+
const htmlToken = {
|
|
74
|
+
...token,
|
|
75
|
+
content: closingHtml,
|
|
76
|
+
map: token.map ? [token.map[0], token.map[0] + 1] : token.map,
|
|
77
|
+
};
|
|
78
|
+
return [
|
|
79
|
+
htmlToken,
|
|
80
|
+
...markdownToMarkdownItTokens(`${leadingWhitespace}${trailingMarkdown}`, allowHtml),
|
|
81
|
+
];
|
|
82
|
+
});
|
|
83
|
+
}
|
|
51
84
|
/**
|
|
52
85
|
* Parses markdown text into a flat array of markdown-it tokens.
|
|
53
86
|
*/
|
|
54
87
|
function markdownToMarkdownItTokens(fullText, allowHtml = true) {
|
|
88
|
+
const normalizedText = normalizeHtmlBlockBoundaries(fullText, allowHtml);
|
|
55
89
|
return allowHtml
|
|
56
|
-
? htmlMarkdown.parse(
|
|
57
|
-
: noHtmlMarkdown.parse(
|
|
90
|
+
? splitHtmlBlockTrailingMarkdown(htmlMarkdown.parse(normalizedText, {}), true)
|
|
91
|
+
: noHtmlMarkdown.parse(normalizedText, {});
|
|
58
92
|
}
|
|
59
93
|
/**
|
|
60
94
|
* Generates a unique string key for a markdown-it token.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-token-tree.js","sources":["../../../../src/components/markdown/src/markdown-token-tree.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;AAOG;AAoBH;;;AAGG;AACH,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE;AAChD,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,OAAO,EAAE,IAAI;CACd;KACE,MAAM,CAAC,OAAO;KACd,MAAM,CAAC,eAAe;KACtB,MAAM,CAAC,SAAS;KAChB,GAAG,CAAC,eAAe;KACnB,GAAG,CAAC,mBAAmB;KACvB,GAAG,CAAC,mBAAmB,CAAC;AAE3B;;;AAGG;AACH,MAAM,cAAc,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE;AAClD,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,OAAO,EAAE,IAAI;CACd;KACE,MAAM,CAAC,OAAO;KACd,MAAM,CAAC,eAAe;KACtB,MAAM,CAAC,SAAS;KAChB,GAAG,CAAC,eAAe;KACnB,GAAG,CAAC,mBAAmB;KACvB,GAAG,CAAC,mBAAmB,CAAC;AAE3B;;AAEG;SACa,0BAA0B,CACxC,QAAgB,EAChB,SAAS,GAAG,IAAI,EAAA;
|
|
1
|
+
{"version":3,"file":"markdown-token-tree.js","sources":["../../../../src/components/markdown/src/markdown-token-tree.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,5 @@
|
|
|
1
1
|
import type { TokenTree } from "../markdown-token-tree";
|
|
2
|
+
/** Marker element appended to opening HTML so markdown children mount inside the block. */
|
|
3
|
+
export declare const HTML_CONTAINER_SLOT = "<div data-aichat-markdown=\"\"></div>";
|
|
2
4
|
export declare function combineConsecutiveHtmlInline(children: TokenTree[]): TokenTree[];
|
|
5
|
+
export declare function combineSplitHtmlBlocks(children: TokenTree[]): TokenTree[];
|
|
@@ -42,6 +42,43 @@ const INLINE_HTML_ALLOWED_TOKEN_TYPES = new Set([
|
|
|
42
42
|
"link_open",
|
|
43
43
|
"link_close",
|
|
44
44
|
]);
|
|
45
|
+
/** Marker element appended to opening HTML so markdown children mount inside the block. */
|
|
46
|
+
const HTML_CONTAINER_SLOT = '<div data-aichat-markdown=""></div>';
|
|
47
|
+
// Detects html_block openers (e.g. "<div>\n<summary>…") that markdown-it split from
|
|
48
|
+
// their closing tag. Used by combineSplitHtmlBlocks to wrap later markdown siblings
|
|
49
|
+
// back inside the HTML element. Returns null for closers, self-closing tags, or blocks
|
|
50
|
+
// that already include a matching </tag>.
|
|
51
|
+
function parseHtmlBlockOpening(content) {
|
|
52
|
+
const trimmed = (content ?? "").trim();
|
|
53
|
+
if (!trimmed.startsWith("<") ||
|
|
54
|
+
trimmed.startsWith("</") ||
|
|
55
|
+
trimmed.startsWith("<!") ||
|
|
56
|
+
trimmed.startsWith("<?") ||
|
|
57
|
+
trimmed.startsWith("<%")) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
const openingMatch = trimmed.match(/^<\s*([A-Za-z][\w:-]*)\b/);
|
|
61
|
+
if (!openingMatch) {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
const tagName = openingMatch[1].toLowerCase();
|
|
65
|
+
if (SELF_CLOSING_HTML_TAGS.has(tagName) || /\/>\s*$/.test(trimmed)) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
const closePattern = new RegExp(`</\\s*${tagName}\\s*>`, "i");
|
|
69
|
+
if (closePattern.test(trimmed)) {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
return { kind: "opening", tagName };
|
|
73
|
+
}
|
|
74
|
+
function parseHtmlBlockClosing(content) {
|
|
75
|
+
const trimmed = (content ?? "").trim();
|
|
76
|
+
const closingMatch = trimmed.match(/^<\/\s*([A-Za-z][\w:-]*)\s*>$/);
|
|
77
|
+
if (!closingMatch) {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
return { kind: "closing", tagName: closingMatch[1].toLowerCase() };
|
|
81
|
+
}
|
|
45
82
|
// Minimal tag parser that ignores comments/entities (e.g., <!-- ... -->) and reports whether a tag opens, closes, or
|
|
46
83
|
// self-closes a given element.
|
|
47
84
|
function parseHtmlInlineTag(content) {
|
|
@@ -164,6 +201,81 @@ function combineConsecutiveHtmlInline(children) {
|
|
|
164
201
|
}
|
|
165
202
|
return didCombine ? combinedChildren : children;
|
|
166
203
|
}
|
|
204
|
+
// Wraps markdown block tokens that sit between a split html_block opener and
|
|
205
|
+
// closer so rendered content stays inside the HTML element (e.g. <details>).
|
|
206
|
+
function combineSplitHtmlBlocks(children) {
|
|
207
|
+
if (children.length < 2) {
|
|
208
|
+
return children;
|
|
209
|
+
}
|
|
210
|
+
const combinedChildren = [];
|
|
211
|
+
let didCombine = false;
|
|
212
|
+
for (let index = 0; index < children.length; index++) {
|
|
213
|
+
const startNode = children[index];
|
|
214
|
+
if (startNode.token.type !== "html_block") {
|
|
215
|
+
combinedChildren.push(startNode);
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
const openingTag = parseHtmlBlockOpening(startNode.token.content);
|
|
219
|
+
if (!openingTag) {
|
|
220
|
+
combinedChildren.push(startNode);
|
|
221
|
+
continue;
|
|
222
|
+
}
|
|
223
|
+
const stack = [openingTag.tagName];
|
|
224
|
+
const innerChildren = [];
|
|
225
|
+
let endIndex = index;
|
|
226
|
+
let closingHtml = "";
|
|
227
|
+
let success = false;
|
|
228
|
+
for (let lookahead = index + 1; lookahead < children.length; lookahead++) {
|
|
229
|
+
const candidate = children[lookahead];
|
|
230
|
+
if (candidate.token.type === "html_block") {
|
|
231
|
+
const nestedClosing = parseHtmlBlockClosing(candidate.token.content);
|
|
232
|
+
if (nestedClosing) {
|
|
233
|
+
const expected = stack[stack.length - 1];
|
|
234
|
+
if (expected !== nestedClosing.tagName) {
|
|
235
|
+
break;
|
|
236
|
+
}
|
|
237
|
+
stack.pop();
|
|
238
|
+
endIndex = lookahead;
|
|
239
|
+
if (stack.length === 0) {
|
|
240
|
+
closingHtml = candidate.token.content ?? "";
|
|
241
|
+
success = true;
|
|
242
|
+
break;
|
|
243
|
+
}
|
|
244
|
+
innerChildren.push(candidate);
|
|
245
|
+
continue;
|
|
246
|
+
}
|
|
247
|
+
const nestedOpening = parseHtmlBlockOpening(candidate.token.content);
|
|
248
|
+
if (nestedOpening) {
|
|
249
|
+
stack.push(nestedOpening.tagName);
|
|
250
|
+
}
|
|
251
|
+
innerChildren.push(candidate);
|
|
252
|
+
continue;
|
|
253
|
+
}
|
|
254
|
+
innerChildren.push(candidate);
|
|
255
|
+
}
|
|
256
|
+
if (!success || endIndex <= index) {
|
|
257
|
+
combinedChildren.push(startNode);
|
|
258
|
+
continue;
|
|
259
|
+
}
|
|
260
|
+
combinedChildren.push({
|
|
261
|
+
key: [
|
|
262
|
+
startNode.key,
|
|
263
|
+
...innerChildren.map((child) => child.key),
|
|
264
|
+
children[endIndex].key,
|
|
265
|
+
].join("|"),
|
|
266
|
+
token: {
|
|
267
|
+
...startNode.token,
|
|
268
|
+
type: "html_container",
|
|
269
|
+
tag: openingTag.tagName,
|
|
270
|
+
meta: { closingHtml },
|
|
271
|
+
},
|
|
272
|
+
children: innerChildren,
|
|
273
|
+
});
|
|
274
|
+
index = endIndex;
|
|
275
|
+
didCombine = true;
|
|
276
|
+
}
|
|
277
|
+
return didCombine ? combinedChildren : children;
|
|
278
|
+
}
|
|
167
279
|
function serializeInlineToken(tokenTree) {
|
|
168
280
|
const token = tokenTree.token;
|
|
169
281
|
const type = token.type ?? "";
|
|
@@ -202,5 +314,5 @@ function serializeInlineToken(tokenTree) {
|
|
|
202
314
|
return token.content ?? "";
|
|
203
315
|
}
|
|
204
316
|
|
|
205
|
-
export { combineConsecutiveHtmlInline };
|
|
317
|
+
export { HTML_CONTAINER_SLOT, combineConsecutiveHtmlInline, combineSplitHtmlBlocks };
|
|
206
318
|
//# sourceMappingURL=html-helpers.js.map
|