@carbon/ai-chat-components 0.7.0 → 0.7.1
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 +1 -1
- package/es/components/code-snippet/src/codemirror/base-setup.js +3 -3
- package/es/components/code-snippet/src/codemirror/codemirror-runtime.d.ts +1 -1
- package/es/components/code-snippet/src/codemirror/codemirror-runtime.js +1 -1
- package/es/components/code-snippet/src/codemirror/content-sync.d.ts +1 -1
- package/es/components/code-snippet/src/codemirror/editor-manager.d.ts +1 -1
- package/es/components/code-snippet/src/codemirror/editor-manager.js +1 -1
- package/es/components/code-snippet/src/codemirror/language-controller.d.ts +1 -1
- package/es/components/code-snippet/src/codemirror/theme.js +1 -1
- package/es-custom/components/card/index.d.ts +11 -0
- package/es-custom/components/card/index.js +11 -0
- package/es-custom/components/card/index.js.map +1 -0
- package/es-custom/components/card/src/card-footer.d.ts +43 -0
- package/es-custom/components/card/src/card-footer.js +141 -0
- package/es-custom/components/card/src/card-footer.js.map +1 -0
- package/es-custom/components/card/src/card-footer.scss.js +13 -0
- package/es-custom/components/card/src/card-footer.scss.js.map +1 -0
- package/es-custom/components/card/src/card-steps.d.ts +28 -0
- package/es-custom/components/card/src/card-steps.js +91 -0
- package/es-custom/components/card/src/card-steps.js.map +1 -0
- package/es-custom/components/card/src/card-steps.scss.js +13 -0
- package/es-custom/components/card/src/card-steps.scss.js.map +1 -0
- package/es-custom/components/card/src/card.d.ts +27 -0
- package/es-custom/components/card/src/card.js +65 -0
- package/es-custom/components/card/src/card.js.map +1 -0
- package/es-custom/components/card/src/card.scss.js +13 -0
- package/es-custom/components/card/src/card.scss.js.map +1 -0
- package/es-custom/components/chain-of-thought/defs.d.ts +54 -0
- package/es-custom/components/chain-of-thought/defs.js +38 -0
- package/es-custom/components/chain-of-thought/defs.js.map +1 -0
- package/es-custom/components/chain-of-thought/index.d.ts +10 -0
- package/es-custom/components/chain-of-thought/index.js +13 -0
- package/es-custom/components/chain-of-thought/index.js.map +1 -0
- package/es-custom/components/chain-of-thought/src/chain-of-thought-step.d.ts +43 -0
- package/es-custom/components/chain-of-thought/src/chain-of-thought-step.js +351 -0
- package/es-custom/components/chain-of-thought/src/chain-of-thought-step.js.map +1 -0
- package/es-custom/components/chain-of-thought/src/chain-of-thought-step.scss.js +13 -0
- package/es-custom/components/chain-of-thought/src/chain-of-thought-step.scss.js.map +1 -0
- package/es-custom/components/chain-of-thought/src/chain-of-thought-toggle.d.ts +33 -0
- package/es-custom/components/chain-of-thought/src/chain-of-thought-toggle.js +107 -0
- package/es-custom/components/chain-of-thought/src/chain-of-thought-toggle.js.map +1 -0
- package/es-custom/components/chain-of-thought/src/chain-of-thought-toggle.scss.js +13 -0
- package/es-custom/components/chain-of-thought/src/chain-of-thought-toggle.scss.js.map +1 -0
- package/es-custom/components/chain-of-thought/src/chain-of-thought.d.ts +41 -0
- package/es-custom/components/chain-of-thought/src/chain-of-thought.js +132 -0
- package/es-custom/components/chain-of-thought/src/chain-of-thought.js.map +1 -0
- package/es-custom/components/chain-of-thought/src/chain-of-thought.scss.js +13 -0
- package/es-custom/components/chain-of-thought/src/chain-of-thought.scss.js.map +1 -0
- package/es-custom/components/chain-of-thought/src/tool-call-data.d.ts +33 -0
- package/es-custom/components/chain-of-thought/src/tool-call-data.js +179 -0
- package/es-custom/components/chain-of-thought/src/tool-call-data.js.map +1 -0
- package/es-custom/components/chain-of-thought/src/tool-call-data.scss.js +13 -0
- package/es-custom/components/chain-of-thought/src/tool-call-data.scss.js.map +1 -0
- package/es-custom/components/chat-button/defs.d.ts +25 -0
- package/es-custom/components/chat-button/defs.js +36 -0
- package/es-custom/components/chat-button/defs.js.map +1 -0
- package/es-custom/components/chat-button/index.d.ts +9 -0
- package/es-custom/components/chat-button/index.js +9 -0
- package/es-custom/components/chat-button/index.js.map +1 -0
- package/es-custom/components/chat-button/src/chat-button.d.ts +40 -0
- package/es-custom/components/chat-button/src/chat-button.js +78 -0
- package/es-custom/components/chat-button/src/chat-button.js.map +1 -0
- package/es-custom/components/chat-button/src/chat-button.scss.js +13 -0
- package/es-custom/components/chat-button/src/chat-button.scss.js.map +1 -0
- package/es-custom/components/code-snippet/index.d.ts +3 -0
- package/es-custom/components/code-snippet/index.js +10 -0
- package/es-custom/components/code-snippet/index.js.map +1 -0
- package/es-custom/components/code-snippet/src/code-snippet-card.d.ts +63 -0
- package/es-custom/components/code-snippet/src/code-snippet-card.js +186 -0
- package/es-custom/components/code-snippet/src/code-snippet-card.js.map +1 -0
- package/es-custom/components/code-snippet/src/code-snippet.d.ts +461 -0
- package/es-custom/components/code-snippet/src/code-snippet.js +678 -0
- package/es-custom/components/code-snippet/src/code-snippet.js.map +1 -0
- package/es-custom/components/code-snippet/src/code-snippet.scss.js +13 -0
- package/es-custom/components/code-snippet/src/code-snippet.scss.js.map +1 -0
- package/es-custom/components/code-snippet/src/codemirror/base-setup.d.ts +12 -0
- package/es-custom/components/code-snippet/src/codemirror/base-setup.js +65 -0
- package/es-custom/components/code-snippet/src/codemirror/base-setup.js.map +1 -0
- package/es-custom/components/code-snippet/src/codemirror/codemirror-loader.d.ts +12 -0
- package/es-custom/components/code-snippet/src/codemirror/codemirror-loader.js +36 -0
- package/es-custom/components/code-snippet/src/codemirror/codemirror-loader.js.map +1 -0
- package/es-custom/components/code-snippet/src/codemirror/codemirror-runtime.d.ts +7 -0
- package/es-custom/components/code-snippet/src/codemirror/codemirror-runtime.js +13 -0
- package/es-custom/components/code-snippet/src/codemirror/codemirror-runtime.js.map +1 -0
- package/es-custom/components/code-snippet/src/codemirror/content-sync.d.ts +12 -0
- package/es-custom/components/code-snippet/src/codemirror/content-sync.js +72 -0
- package/es-custom/components/code-snippet/src/codemirror/content-sync.js.map +1 -0
- package/es-custom/components/code-snippet/src/codemirror/editor-manager.d.ts +28 -0
- package/es-custom/components/code-snippet/src/codemirror/editor-manager.js +75 -0
- package/es-custom/components/code-snippet/src/codemirror/editor-manager.js.map +1 -0
- package/es-custom/components/code-snippet/src/codemirror/language-controller.d.ts +38 -0
- package/es-custom/components/code-snippet/src/codemirror/language-controller.js +220 -0
- package/es-custom/components/code-snippet/src/codemirror/language-controller.js.map +1 -0
- package/es-custom/components/code-snippet/src/codemirror/language-data.d.ts +6 -0
- package/es-custom/components/code-snippet/src/codemirror/language-data.js +1043 -0
- package/es-custom/components/code-snippet/src/codemirror/language-data.js.map +1 -0
- package/es-custom/components/code-snippet/src/codemirror/language-utils.d.ts +79 -0
- package/es-custom/components/code-snippet/src/codemirror/language-utils.js +219 -0
- package/es-custom/components/code-snippet/src/codemirror/language-utils.js.map +1 -0
- package/es-custom/components/code-snippet/src/codemirror/marker-utils.d.ts +123 -0
- package/es-custom/components/code-snippet/src/codemirror/marker-utils.js +183 -0
- package/es-custom/components/code-snippet/src/codemirror/marker-utils.js.map +1 -0
- package/es-custom/components/code-snippet/src/codemirror/theme.d.ts +54 -0
- package/es-custom/components/code-snippet/src/codemirror/theme.js +320 -0
- package/es-custom/components/code-snippet/src/codemirror/theme.js.map +1 -0
- package/es-custom/components/code-snippet/src/dom-utils.d.ts +24 -0
- package/es-custom/components/code-snippet/src/dom-utils.js +63 -0
- package/es-custom/components/code-snippet/src/dom-utils.js.map +1 -0
- package/es-custom/components/code-snippet/src/formatters.d.ts +4 -0
- package/es-custom/components/code-snippet/src/formatters.js +19 -0
- package/es-custom/components/code-snippet/src/formatters.js.map +1 -0
- package/es-custom/components/code-snippet/src/layout-utils.d.ts +22 -0
- package/es-custom/components/code-snippet/src/layout-utils.js +63 -0
- package/es-custom/components/code-snippet/src/layout-utils.js.map +1 -0
- package/es-custom/components/code-snippet/src/streaming-manager.d.ts +24 -0
- package/es-custom/components/code-snippet/src/streaming-manager.js +120 -0
- package/es-custom/components/code-snippet/src/streaming-manager.js.map +1 -0
- package/es-custom/components/feedback/index.d.ts +4 -0
- package/es-custom/components/feedback/index.js +10 -0
- package/es-custom/components/feedback/index.js.map +1 -0
- package/es-custom/components/feedback/src/feedback-buttons.d.ts +63 -0
- package/es-custom/components/feedback/src/feedback-buttons.js +113 -0
- package/es-custom/components/feedback/src/feedback-buttons.js.map +1 -0
- package/es-custom/components/feedback/src/feedback-buttons.scss.js +13 -0
- package/es-custom/components/feedback/src/feedback-buttons.scss.js.map +1 -0
- package/es-custom/components/feedback/src/feedback-buttons.template.d.ts +4 -0
- package/es-custom/components/feedback/src/feedback-buttons.template.js +79 -0
- package/es-custom/components/feedback/src/feedback-buttons.template.js.map +1 -0
- package/es-custom/components/feedback/src/feedback.d.ts +113 -0
- package/es-custom/components/feedback/src/feedback.js +195 -0
- package/es-custom/components/feedback/src/feedback.js.map +1 -0
- package/es-custom/components/feedback/src/feedback.scss.js +13 -0
- package/es-custom/components/feedback/src/feedback.scss.js.map +1 -0
- package/es-custom/components/feedback/src/feedback.template.d.ts +12 -0
- package/es-custom/components/feedback/src/feedback.template.js +115 -0
- package/es-custom/components/feedback/src/feedback.template.js.map +1 -0
- package/es-custom/components/markdown/index.d.ts +2 -0
- package/es-custom/components/markdown/index.js +9 -0
- package/es-custom/components/markdown/index.js.map +1 -0
- package/es-custom/components/markdown/src/markdown-renderer.d.ts +66 -0
- package/es-custom/components/markdown/src/markdown-renderer.js +359 -0
- package/es-custom/components/markdown/src/markdown-renderer.js.map +1 -0
- package/es-custom/components/markdown/src/markdown-token-tree.d.ts +32 -0
- package/es-custom/components/markdown/src/markdown-token-tree.js +180 -0
- package/es-custom/components/markdown/src/markdown-token-tree.js.map +1 -0
- package/es-custom/components/markdown/src/markdown.d.ts +72 -0
- package/es-custom/components/markdown/src/markdown.js +342 -0
- package/es-custom/components/markdown/src/markdown.js.map +1 -0
- package/es-custom/components/markdown/src/markdown.scss.js +13 -0
- package/es-custom/components/markdown/src/markdown.scss.js.map +1 -0
- package/es-custom/components/markdown/src/markdown.template.d.ts +6 -0
- package/es-custom/components/markdown/src/markdown.template.js +29 -0
- package/es-custom/components/markdown/src/markdown.template.js.map +1 -0
- package/es-custom/components/markdown/src/plugins/markdown-it-attrs.d.ts +7 -0
- package/es-custom/components/markdown/src/plugins/markdown-it-attrs.js +84 -0
- package/es-custom/components/markdown/src/plugins/markdown-it-attrs.js.map +1 -0
- package/es-custom/components/markdown/src/plugins/markdown-it-highlight.d.ts +7 -0
- package/es-custom/components/markdown/src/plugins/markdown-it-highlight.js +59 -0
- package/es-custom/components/markdown/src/plugins/markdown-it-highlight.js.map +1 -0
- package/es-custom/components/markdown/src/plugins/markdown-it-task-lists.d.ts +12 -0
- package/es-custom/components/markdown/src/plugins/markdown-it-task-lists.js +73 -0
- package/es-custom/components/markdown/src/plugins/markdown-it-task-lists.js.map +1 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/core.d.ts +26 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/core.js +330 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/core.js.map +1 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/blocks.d.ts +6 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/blocks.js +63 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/blocks.js.map +1 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/code.d.ts +6 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/code.js +43 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/code.js.map +1 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/index.d.ts +5 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/index.js +55 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/index.js.map +1 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/inline.d.ts +19 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/inline.js +210 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/inline.js.map +1 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/lists.d.ts +13 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/lists.js +156 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/lists.js.map +1 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/tables.d.ts +13 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/tables.js +216 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/tables.js.map +1 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/types.d.ts +34 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/types.js +8 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/types.js.map +1 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/utils.d.ts +25 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/utils.js +62 -0
- package/es-custom/components/markdown/src/plugins/markdownItAttrs/utils.js.map +1 -0
- package/es-custom/components/markdown/src/utils/html-helpers.d.ts +2 -0
- package/es-custom/components/markdown/src/utils/html-helpers.js +204 -0
- package/es-custom/components/markdown/src/utils/html-helpers.js.map +1 -0
- package/es-custom/components/markdown/src/utils/table-helpers.d.ts +31 -0
- package/es-custom/components/markdown/src/utils/table-helpers.js +106 -0
- package/es-custom/components/markdown/src/utils/table-helpers.js.map +1 -0
- package/es-custom/components/markdown/src/utils.d.ts +8 -0
- package/es-custom/components/markdown/src/utils.js +31 -0
- package/es-custom/components/markdown/src/utils.js.map +1 -0
- package/es-custom/components/processing/index.d.ts +1 -0
- package/es-custom/components/processing/index.js +9 -0
- package/es-custom/components/processing/index.js.map +1 -0
- package/es-custom/components/processing/src/processing.d.ts +16 -0
- package/es-custom/components/processing/src/processing.js +59 -0
- package/es-custom/components/processing/src/processing.js.map +1 -0
- package/es-custom/components/processing/src/processing.scss.js +13 -0
- package/es-custom/components/processing/src/processing.scss.js.map +1 -0
- package/es-custom/components/reasoning-steps/index.d.ts +4 -0
- package/es-custom/components/reasoning-steps/index.js +11 -0
- package/es-custom/components/reasoning-steps/index.js.map +1 -0
- package/es-custom/components/reasoning-steps/src/reasoning-step.d.ts +33 -0
- package/es-custom/components/reasoning-steps/src/reasoning-step.js +251 -0
- package/es-custom/components/reasoning-steps/src/reasoning-step.js.map +1 -0
- package/es-custom/components/reasoning-steps/src/reasoning-step.scss.js +13 -0
- package/es-custom/components/reasoning-steps/src/reasoning-step.scss.js.map +1 -0
- package/es-custom/components/reasoning-steps/src/reasoning-steps-toggle.d.ts +36 -0
- package/es-custom/components/reasoning-steps/src/reasoning-steps-toggle.js +81 -0
- package/es-custom/components/reasoning-steps/src/reasoning-steps-toggle.js.map +1 -0
- package/es-custom/components/reasoning-steps/src/reasoning-steps-toggle.scss.js +13 -0
- package/es-custom/components/reasoning-steps/src/reasoning-steps-toggle.scss.js.map +1 -0
- package/es-custom/components/reasoning-steps/src/reasoning-steps-toggle.template.d.ts +3 -0
- package/es-custom/components/reasoning-steps/src/reasoning-steps-toggle.template.js +43 -0
- package/es-custom/components/reasoning-steps/src/reasoning-steps-toggle.template.js.map +1 -0
- package/es-custom/components/reasoning-steps/src/reasoning-steps.d.ts +19 -0
- package/es-custom/components/reasoning-steps/src/reasoning-steps.js +112 -0
- package/es-custom/components/reasoning-steps/src/reasoning-steps.js.map +1 -0
- package/es-custom/components/reasoning-steps/src/reasoning-steps.scss.js +13 -0
- package/es-custom/components/reasoning-steps/src/reasoning-steps.scss.js.map +1 -0
- package/es-custom/components/table/index.d.ts +3 -0
- package/es-custom/components/table/index.js +9 -0
- package/es-custom/components/table/index.js.map +1 -0
- package/es-custom/components/table/src/table-loader.d.ts +4 -0
- package/es-custom/components/table/src/table-loader.js +28 -0
- package/es-custom/components/table/src/table-loader.js.map +1 -0
- package/es-custom/components/table/src/table-pagination.template.d.ts +27 -0
- package/es-custom/components/table/src/table-pagination.template.js +55 -0
- package/es-custom/components/table/src/table-pagination.template.js.map +1 -0
- package/es-custom/components/table/src/table-runtime.d.ts +2 -0
- package/es-custom/components/table/src/table-runtime.js +10 -0
- package/es-custom/components/table/src/table-runtime.js.map +1 -0
- package/es-custom/components/table/src/table-skeleton.template.d.ts +6 -0
- package/es-custom/components/table/src/table-skeleton.template.js +34 -0
- package/es-custom/components/table/src/table-skeleton.template.js.map +1 -0
- package/es-custom/components/table/src/table.d.ts +184 -0
- package/es-custom/components/table/src/table.js +543 -0
- package/es-custom/components/table/src/table.js.map +1 -0
- package/es-custom/components/table/src/table.scss.js +13 -0
- package/es-custom/components/table/src/table.scss.js.map +1 -0
- package/es-custom/components/table/src/table.template.d.ts +10 -0
- package/es-custom/components/table/src/table.template.js +89 -0
- package/es-custom/components/table/src/table.template.js.map +1 -0
- package/es-custom/components/table/src/types.d.ts +13 -0
- package/es-custom/components/table/src/types.js +8 -0
- package/es-custom/components/table/src/types.js.map +1 -0
- package/es-custom/components/toolbar/index.d.ts +1 -0
- package/es-custom/components/toolbar/index.js +9 -0
- package/es-custom/components/toolbar/index.js.map +1 -0
- package/es-custom/components/toolbar/src/toolbar.d.ts +38 -0
- package/es-custom/components/toolbar/src/toolbar.js +191 -0
- package/es-custom/components/toolbar/src/toolbar.js.map +1 -0
- package/es-custom/components/toolbar/src/toolbar.scss.js +13 -0
- package/es-custom/components/toolbar/src/toolbar.scss.js.map +1 -0
- package/es-custom/components/workspace-shell/index.d.ts +4 -0
- package/es-custom/components/workspace-shell/index.js +12 -0
- package/es-custom/components/workspace-shell/index.js.map +1 -0
- package/es-custom/components/workspace-shell/src/workspace-shell-body.d.ts +17 -0
- package/es-custom/components/workspace-shell/src/workspace-shell-body.js +50 -0
- package/es-custom/components/workspace-shell/src/workspace-shell-body.js.map +1 -0
- package/es-custom/components/workspace-shell/src/workspace-shell-footer.d.ts +40 -0
- package/es-custom/components/workspace-shell/src/workspace-shell-footer.js +144 -0
- package/es-custom/components/workspace-shell/src/workspace-shell-footer.js.map +1 -0
- package/es-custom/components/workspace-shell/src/workspace-shell-footer.scss.js +13 -0
- package/es-custom/components/workspace-shell/src/workspace-shell-footer.scss.js.map +1 -0
- package/es-custom/components/workspace-shell/src/workspace-shell-header.d.ts +28 -0
- package/es-custom/components/workspace-shell/src/workspace-shell-header.js +78 -0
- package/es-custom/components/workspace-shell/src/workspace-shell-header.js.map +1 -0
- package/es-custom/components/workspace-shell/src/workspace-shell-header.scss.js +13 -0
- package/es-custom/components/workspace-shell/src/workspace-shell-header.scss.js.map +1 -0
- package/es-custom/components/workspace-shell/src/workspace-shell.d.ts +19 -0
- package/es-custom/components/workspace-shell/src/workspace-shell.js +56 -0
- package/es-custom/components/workspace-shell/src/workspace-shell.js.map +1 -0
- package/es-custom/components/workspace-shell/src/workspace-shell.scss.js +13 -0
- package/es-custom/components/workspace-shell/src/workspace-shell.scss.js.map +1 -0
- package/es-custom/globals/decorators/carbon-element.d.ts +37 -0
- package/es-custom/globals/decorators/carbon-element.js +68 -0
- package/es-custom/globals/decorators/carbon-element.js.map +1 -0
- package/es-custom/globals/decorators/index.d.ts +1 -0
- package/es-custom/globals/decorators/index.js +9 -0
- package/es-custom/globals/decorators/index.js.map +1 -0
- package/es-custom/globals/settings.d.ts +2 -0
- package/es-custom/globals/settings.js +20 -0
- package/es-custom/globals/settings.js.map +1 -0
- package/es-custom/globals/utils/uuid.d.ts +5 -0
- package/es-custom/globals/utils/uuid.js +32 -0
- package/es-custom/globals/utils/uuid.js.map +1 -0
- package/es-custom/node_modules/@carbon/utilities/es/documentLang/documentLang.js +9 -0
- package/es-custom/node_modules/@carbon/utilities/es/documentLang/documentLang.js.map +1 -0
- package/es-custom/node_modules/@carbon/utilities/es/overflowHandler/overflowHandler.js +11 -0
- package/es-custom/node_modules/@carbon/utilities/es/overflowHandler/overflowHandler.js.map +1 -0
- package/es-custom/react/ai-label.d.ts +4 -0
- package/es-custom/react/ai-label.js +28 -0
- package/es-custom/react/ai-label.js.map +1 -0
- package/es-custom/react/button.d.ts +6 -0
- package/es-custom/react/button.js +29 -0
- package/es-custom/react/button.js.map +1 -0
- package/es-custom/react/card.d.ts +9 -0
- package/es-custom/react/card.js +43 -0
- package/es-custom/react/card.js.map +1 -0
- package/es-custom/react/chain-of-thought-step.d.ts +4 -0
- package/es-custom/react/chain-of-thought-step.js +32 -0
- package/es-custom/react/chain-of-thought-step.js.map +1 -0
- package/es-custom/react/chain-of-thought-toggle.d.ts +6 -0
- package/es-custom/react/chain-of-thought-toggle.js +31 -0
- package/es-custom/react/chain-of-thought-toggle.js.map +1 -0
- package/es-custom/react/chain-of-thought.d.ts +7 -0
- package/es-custom/react/chain-of-thought.js +33 -0
- package/es-custom/react/chain-of-thought.js.map +1 -0
- package/es-custom/react/chat-button.d.ts +13 -0
- package/es-custom/react/chat-button.js +30 -0
- package/es-custom/react/chat-button.js.map +1 -0
- package/es-custom/react/code-snippet-card.d.ts +4 -0
- package/es-custom/react/code-snippet-card.js +31 -0
- package/es-custom/react/code-snippet-card.js.map +1 -0
- package/es-custom/react/code-snippet.d.ts +4 -0
- package/es-custom/react/code-snippet.js +31 -0
- package/es-custom/react/code-snippet.js.map +1 -0
- package/es-custom/react/content-switcher.d.ts +7 -0
- package/es-custom/react/content-switcher.js +37 -0
- package/es-custom/react/content-switcher.js.map +1 -0
- package/es-custom/react/feedback-buttons.d.ts +4 -0
- package/es-custom/react/feedback-buttons.js +31 -0
- package/es-custom/react/feedback-buttons.js.map +1 -0
- package/es-custom/react/feedback.d.ts +6 -0
- package/es-custom/react/feedback.js +32 -0
- package/es-custom/react/feedback.js.map +1 -0
- package/es-custom/react/icon-button.d.ts +4 -0
- package/es-custom/react/icon-button.js +28 -0
- package/es-custom/react/icon-button.js.map +1 -0
- package/es-custom/react/icon.d.ts +4 -0
- package/es-custom/react/icon.js +28 -0
- package/es-custom/react/icon.js.map +1 -0
- package/es-custom/react/inline-notification.d.ts +4 -0
- package/es-custom/react/inline-notification.js +28 -0
- package/es-custom/react/inline-notification.js.map +1 -0
- package/es-custom/react/markdown.d.ts +4 -0
- package/es-custom/react/markdown.js +28 -0
- package/es-custom/react/markdown.js.map +1 -0
- package/es-custom/react/overflow-menu.d.ts +9 -0
- package/es-custom/react/overflow-menu.js +40 -0
- package/es-custom/react/overflow-menu.js.map +1 -0
- package/es-custom/react/processing.d.ts +4 -0
- package/es-custom/react/processing.js +28 -0
- package/es-custom/react/processing.js.map +1 -0
- package/es-custom/react/reasoning-step.d.ts +4 -0
- package/es-custom/react/reasoning-step.js +32 -0
- package/es-custom/react/reasoning-step.js.map +1 -0
- package/es-custom/react/reasoning-steps-toggle.d.ts +6 -0
- package/es-custom/react/reasoning-steps-toggle.js +31 -0
- package/es-custom/react/reasoning-steps-toggle.js.map +1 -0
- package/es-custom/react/reasoning-steps.d.ts +4 -0
- package/es-custom/react/reasoning-steps.js +28 -0
- package/es-custom/react/reasoning-steps.js.map +1 -0
- package/es-custom/react/tag.d.ts +4 -0
- package/es-custom/react/tag.js +28 -0
- package/es-custom/react/tag.js.map +1 -0
- package/es-custom/react/tile.d.ts +7 -0
- package/es-custom/react/tile.js +34 -0
- package/es-custom/react/tile.js.map +1 -0
- package/es-custom/react/tool-call-data.d.ts +4 -0
- package/es-custom/react/tool-call-data.js +28 -0
- package/es-custom/react/tool-call-data.js.map +1 -0
- package/es-custom/react/toolbar.d.ts +4 -0
- package/es-custom/react/toolbar.js +28 -0
- package/es-custom/react/toolbar.js.map +1 -0
- package/es-custom/react/utils/withWebComponentBridge.d.ts +15 -0
- package/es-custom/react/utils/withWebComponentBridge.js +95 -0
- package/es-custom/react/utils/withWebComponentBridge.js.map +1 -0
- package/es-custom/react/workspace-shell.d.ts +11 -0
- package/es-custom/react/workspace-shell.js +49 -0
- package/es-custom/react/workspace-shell.js.map +1 -0
- package/es-custom/testing/load-all-lazy-deps.d.ts +10 -0
- package/es-custom/testing/load-all-lazy-deps.js +30 -0
- package/es-custom/testing/load-all-lazy-deps.js.map +1 -0
- package/package.json +8 -6
- package/dist/16-C9Ph5740.js +0 -91
- package/dist/16-Dw0Ci4Fd.js +0 -91
- package/dist/16-FH37w-8T.js +0 -91
- package/dist/apl-ugs9-gp6.js +0 -91
- package/dist/asciiarmor-BsIYfA6P.js +0 -91
- package/dist/asn1-HkF5z2_O.js +0 -91
- package/dist/asterisk-CAIjKZq6.js +0 -91
- package/dist/button-Bc3tNCYN.js +0 -157
- package/dist/button-skeleton-DH50p4bH.js +0 -131
- package/dist/carbon-element-C38isbCs.js +0 -91
- package/dist/card.min.js +0 -193
- package/dist/chain-of-thought.min.js +0 -294
- package/dist/chat-button.min.js +0 -107
- package/dist/checkbox-skeleton-CS3inOnf.js +0 -166
- package/dist/class-map-BE4cOc2X.js +0 -128
- package/dist/clike-BIFB3b_k.js +0 -91
- package/dist/clojure-CXNiCqqB.js +0 -91
- package/dist/cmake-CR9NkLsk.js +0 -91
- package/dist/cobol-Ck90O_9v.js +0 -91
- package/dist/code-snippet.min.js +0 -91
- package/dist/codemirror-runtime-D8qZsrKE.js +0 -173
- package/dist/coffeescript-C0nvD2I-.js +0 -91
- package/dist/collection-helpers-BqatNkHh.js +0 -91
- package/dist/commonlisp-BROP4IME.js +0 -91
- package/dist/crystal-D6K96_U-.js +0 -91
- package/dist/css-CdH_tvvW.js +0 -91
- package/dist/cypher-CtHiEXsa.js +0 -91
- package/dist/d-Dcs18F9P.js +0 -91
- package/dist/diff-Bp64yuxL.js +0 -91
- package/dist/dockerfile-1DOwDLks.js +0 -91
- package/dist/dtd-DBKuh-AW.js +0 -91
- package/dist/dylan-ZUYgifRI.js +0 -91
- package/dist/ebnf-CEelJcGq.js +0 -91
- package/dist/ecl-CphVX9Cq.js +0 -91
- package/dist/eiffel-BQPneqZH.js +0 -91
- package/dist/elm-DSPAgqOt.js +0 -91
- package/dist/erlang-D_rMo9WA.js +0 -91
- package/dist/factor-CMTQjKbR.js +0 -91
- package/dist/fcl-BX3Rw6-t.js +0 -91
- package/dist/feedback.min.js +0 -281
- package/dist/forth-BGhjMNd3.js +0 -91
- package/dist/fortran-AEBjaYMh.js +0 -91
- package/dist/gas-DZXAjJGb.js +0 -91
- package/dist/gherkin-DxJx7fVg.js +0 -91
- package/dist/groovy-dfLbXlDy.js +0 -91
- package/dist/haskell-DyZ9y283.js +0 -91
- package/dist/haxe-D47ScCJn.js +0 -91
- package/dist/http-CQ5YdFwi.js +0 -91
- package/dist/icon-button-jLtiwRb4.js +0 -143
- package/dist/icon-loader-BKTEuybf.js +0 -101
- package/dist/idl-DMLd56tu.js +0 -91
- package/dist/if-defined-Dk7gHH6I.js +0 -96
- package/dist/index--CctdwCC.js +0 -91
- package/dist/index--ktPsmev.js +0 -168
- package/dist/index-BHiWR-3B.js +0 -91
- package/dist/index-BI8bnAEd.js +0 -91
- package/dist/index-BbGF94cg.js +0 -91
- package/dist/index-BnQBLEPx.js +0 -91
- package/dist/index-BsUuLdXD.js +0 -91
- package/dist/index-C2xfmTPp.js +0 -91
- package/dist/index-C3BN0MYy.js +0 -91
- package/dist/index-CD4di8Cf.js +0 -91
- package/dist/index-CVyUt3LQ.js +0 -91
- package/dist/index-Cg7m4sg1.js +0 -91
- package/dist/index-ClimwzxW.js +0 -91
- package/dist/index-CrevYuI-.js +0 -91
- package/dist/index-D5kcnwm2.js +0 -91
- package/dist/index-DCbIO0Hl.js +0 -91
- package/dist/index-Db-BDibx.js +0 -91
- package/dist/index-DmpHBiKi.js +0 -91
- package/dist/index-DzPjFlOn.js +0 -91
- package/dist/index-MgVf_8OP.js +0 -91
- package/dist/index-WHfhssUV.js +0 -91
- package/dist/index-rdaURAlB.js +0 -91
- package/dist/index-tFrMu4B_.js +0 -278
- package/dist/index-yLnmvqXN.js +0 -91
- package/dist/javascript-CB_5CYW7.js +0 -91
- package/dist/julia-DmOIk9mc.js +0 -91
- package/dist/livescript-BkgLC0lL.js +0 -91
- package/dist/loading-icon-CmnM4I_H.js +0 -106
- package/dist/lua-CWM_r9JC.js +0 -91
- package/dist/markdown.min.js +0 -298
- package/dist/mathematica-BSatVfC1.js +0 -91
- package/dist/mbox-4am1R8hd.js +0 -91
- package/dist/mirc-pdtTGW9l.js +0 -91
- package/dist/mllike-C0YFsE1U.js +0 -91
- package/dist/modelica-DVTWSHR-.js +0 -91
- package/dist/mscgen-ByAgrjGx.js +0 -91
- package/dist/mumps-X97p0_h_.js +0 -91
- package/dist/nginx-CqUadVPT.js +0 -91
- package/dist/nsis-Urp7BrWk.js +0 -91
- package/dist/ntriples-CToxeTsT.js +0 -91
- package/dist/octave-Dc4mpp8A.js +0 -91
- package/dist/oz-DX2Pk_mI.js +0 -91
- package/dist/pascal-B9GL_nqz.js +0 -91
- package/dist/perl-BvZFpXKD.js +0 -91
- package/dist/pig-BxFxDHBk.js +0 -91
- package/dist/powershell-CwCLRM7O.js +0 -91
- package/dist/processing.min.js +0 -105
- package/dist/properties-3nFD-Vnh.js +0 -91
- package/dist/protobuf-RqEyuWlw.js +0 -91
- package/dist/pug-1L6dEUb3.js +0 -91
- package/dist/puppet-C-gxR1ON.js +0 -91
- package/dist/python-BSbm1-vO.js +0 -91
- package/dist/q-4yAbTbi2.js +0 -91
- package/dist/r-BxfoMXlJ.js +0 -91
- package/dist/reasoning-steps.min.js +0 -202
- package/dist/rpm-DOp6MTEb.js +0 -91
- package/dist/ruby-DD6QCAKT.js +0 -91
- package/dist/sas-Cb-4sFOe.js +0 -91
- package/dist/scheme-CZsCl8E_.js +0 -91
- package/dist/settings-e2aItLYn.js +0 -99
- package/dist/shell-Bba6ETw_.js +0 -91
- package/dist/sieve-DZz1QovM.js +0 -91
- package/dist/simple-mode-DAyX7kcU.js +0 -91
- package/dist/smalltalk-BVigbKw-.js +0 -91
- package/dist/solr-BRh8QRgo.js +0 -91
- package/dist/sparql-DPq9GGqu.js +0 -91
- package/dist/spreadsheet-DWXWohNi.js +0 -91
- package/dist/sql-HgNux1Fi.js +0 -91
- package/dist/state-Bv4FM_9B.js +0 -96
- package/dist/stex-DB306cTl.js +0 -91
- package/dist/stylus-BVbE3BhF.js +0 -91
- package/dist/swift-k2z0otOi.js +0 -91
- package/dist/sync-D3qEZKNY.js +0 -91
- package/dist/table-runtime-Q-ak_IZE.js +0 -510
- package/dist/table.min.js +0 -91
- package/dist/tcl-BJwoeXra.js +0 -91
- package/dist/text-input-BlCqTf_p.js +0 -158
- package/dist/textile-9DAvWy-Y.js +0 -91
- package/dist/throttle-Bst9TagJ.js +0 -91
- package/dist/tiddlywiki-CDJdAycW.js +0 -91
- package/dist/tiki-Dlg5DFIR.js +0 -91
- package/dist/toml-DGqt7oU6.js +0 -91
- package/dist/toolbar.min.js +0 -178
- package/dist/troff-xJv1Y_X_.js +0 -91
- package/dist/ttcn-cfg-CrKiCUlI.js +0 -91
- package/dist/ttcn-dBogkyiy.js +0 -91
- package/dist/turtle-qtDt5E0f.js +0 -91
- package/dist/vb-h5NatM2n.js +0 -91
- package/dist/vbscript-BnXXn72l.js +0 -91
- package/dist/velocity-C_ZqzMiT.js +0 -91
- package/dist/verilog-s8oM517K.js +0 -91
- package/dist/vhdl-BgZd0MBH.js +0 -91
- package/dist/webidl-CDRn4bGa.js +0 -91
- package/dist/workspace-shell.min.js +0 -157
- package/dist/xquery-DTfjYCD7.js +0 -91
- package/dist/yacas-DxV9-gAO.js +0 -91
- package/dist/z80-PFwavMao.js +0 -91
- package/es/node_modules/@codemirror/autocomplete/dist/index.js +0 -258
- package/es/node_modules/@codemirror/autocomplete/dist/index.js.map +0 -1
- package/es/node_modules/@codemirror/commands/dist/index.js +0 -1140
- package/es/node_modules/@codemirror/commands/dist/index.js.map +0 -1
- package/es/node_modules/@codemirror/lint/dist/index.js +0 -636
- package/es/node_modules/@codemirror/lint/dist/index.js.map +0 -1
- package/es/node_modules/@lezer/common/dist/index.js +0 -253
- package/es/node_modules/@lezer/common/dist/index.js.map +0 -1
- package/es/node_modules/crelt/index.js +0 -37
- package/es/node_modules/crelt/index.js.map +0 -1
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { __decorate } from 'tslib';
|
|
9
|
+
import { LitElement } from 'lit';
|
|
10
|
+
import { property, state } from 'lit/decorators.js';
|
|
11
|
+
import { carbonElement } from '../../../globals/decorators/carbon-element.js';
|
|
12
|
+
import styles from './markdown.scss.js';
|
|
13
|
+
import throttle from 'lodash-es/throttle.js';
|
|
14
|
+
import { createRef } from 'lit/directives/ref.js';
|
|
15
|
+
import { markdownToTokenTree } from './markdown-token-tree.js';
|
|
16
|
+
import { renderTokenTree } from './markdown-renderer.js';
|
|
17
|
+
import { consoleError } from './utils.js';
|
|
18
|
+
import { markdownTemplate } from './markdown.template.js';
|
|
19
|
+
|
|
20
|
+
/*
|
|
21
|
+
* Copyright IBM Corp. 2025
|
|
22
|
+
*
|
|
23
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
24
|
+
* LICENSE file in the root directory of this source tree.
|
|
25
|
+
*
|
|
26
|
+
* @license
|
|
27
|
+
*/
|
|
28
|
+
let CDSAIChatMarkdown = class CDSAIChatMarkdown extends LitElement {
|
|
29
|
+
constructor() {
|
|
30
|
+
super(...arguments);
|
|
31
|
+
/**
|
|
32
|
+
* Sanitize any HTML included in the markdown. e.g. remove script tags, onclick handlers, etc.
|
|
33
|
+
*/
|
|
34
|
+
this.sanitizeHTML = false;
|
|
35
|
+
/**
|
|
36
|
+
* Remove all HTML from included markdown.
|
|
37
|
+
*/
|
|
38
|
+
this.removeHTML = false;
|
|
39
|
+
/**
|
|
40
|
+
* If you are actively streaming, setting this to true can help prevent needless UI thrashing when writing
|
|
41
|
+
* complex components (like a sortable and filterable table).
|
|
42
|
+
*/
|
|
43
|
+
this.streaming = false;
|
|
44
|
+
/**
|
|
45
|
+
* Enable syntax highlighting for any code fence blocks.
|
|
46
|
+
*/
|
|
47
|
+
this.highlight = true;
|
|
48
|
+
// Table strings
|
|
49
|
+
/** Placeholder text for table filters. */
|
|
50
|
+
this.filterPlaceholderText = "Filter table...";
|
|
51
|
+
/** Label for the previous page control in tables. */
|
|
52
|
+
this.previousPageText = "Previous page";
|
|
53
|
+
/** Label for the next page control in tables. */
|
|
54
|
+
this.nextPageText = "Next page";
|
|
55
|
+
/** Label for the items-per-page control in tables. */
|
|
56
|
+
this.itemsPerPageText = "Items per page:";
|
|
57
|
+
/** Label for download of CSV of table data. */
|
|
58
|
+
this.downloadLabelText = "Download table data";
|
|
59
|
+
/** Locale used for table pagination and formatting. */
|
|
60
|
+
this.locale = "en";
|
|
61
|
+
// Code snippet strings
|
|
62
|
+
/** Feedback text shown after copying code blocks. */
|
|
63
|
+
this.feedback = "Copied!";
|
|
64
|
+
/** Label for collapsing long code blocks. */
|
|
65
|
+
this.showLessText = "Show less";
|
|
66
|
+
/** Label for expanding long code blocks. */
|
|
67
|
+
this.showMoreText = "Show more";
|
|
68
|
+
/** Tooltip content for the copy action on code blocks. */
|
|
69
|
+
this.tooltipContent = "Copy code";
|
|
70
|
+
/**
|
|
71
|
+
* @internal
|
|
72
|
+
*/
|
|
73
|
+
this.needsReparse = false;
|
|
74
|
+
/**
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
this.contentSlot = createRef();
|
|
78
|
+
/**
|
|
79
|
+
* @internal
|
|
80
|
+
*/
|
|
81
|
+
this._slottedMarkdown = "";
|
|
82
|
+
/**
|
|
83
|
+
* Tracks the latest asynchronous rendering work so callers waiting on `updateComplete` know when throttled updates are done.
|
|
84
|
+
*
|
|
85
|
+
* @internal
|
|
86
|
+
*/
|
|
87
|
+
this.renderTask = null;
|
|
88
|
+
/**
|
|
89
|
+
* @internal
|
|
90
|
+
*/
|
|
91
|
+
this.tokenTree = {
|
|
92
|
+
key: "root",
|
|
93
|
+
token: {
|
|
94
|
+
type: "root",
|
|
95
|
+
tag: "",
|
|
96
|
+
nesting: 0,
|
|
97
|
+
level: 0,
|
|
98
|
+
content: "",
|
|
99
|
+
attrs: null,
|
|
100
|
+
children: null,
|
|
101
|
+
markup: "",
|
|
102
|
+
block: true,
|
|
103
|
+
hidden: false,
|
|
104
|
+
map: null,
|
|
105
|
+
info: "",
|
|
106
|
+
meta: null,
|
|
107
|
+
},
|
|
108
|
+
children: [],
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* @internal
|
|
112
|
+
*/
|
|
113
|
+
this.renderedContent = null;
|
|
114
|
+
/**
|
|
115
|
+
* Throttled function that updates the rendered content.
|
|
116
|
+
* If needsReparse is true, parses markdown into a token tree first.
|
|
117
|
+
* Otherwise, just re-renders the existing token tree with current settings.
|
|
118
|
+
*
|
|
119
|
+
* @internal
|
|
120
|
+
*/
|
|
121
|
+
this.renderMarkdown = async () => {
|
|
122
|
+
try {
|
|
123
|
+
if (this.needsReparse) {
|
|
124
|
+
// First, we take the markdown we were given and use the markdown-it parser to turn is into a tree we can
|
|
125
|
+
// transform into Lit components and compare smartly to avoid re-renders of components that were already
|
|
126
|
+
// rendered when the markdown is updated (likely by streaming, but possibly by an edit somewhere in the
|
|
127
|
+
// middle). It takes the current tokenTree as an argument for quick diffing to avoid re-creating parts
|
|
128
|
+
// of the tree.
|
|
129
|
+
this.tokenTree = markdownToTokenTree(this._slottedMarkdown, this.tokenTree, !this.removeHTML);
|
|
130
|
+
this.needsReparse = false;
|
|
131
|
+
}
|
|
132
|
+
// Next we take that tree and transform it into Lit content to be rendered into the template.
|
|
133
|
+
// this.renderedContent is what is rendered in the template directly.
|
|
134
|
+
this.renderedContent = renderTokenTree(this.tokenTree, {
|
|
135
|
+
sanitize: this.sanitizeHTML,
|
|
136
|
+
streaming: this.streaming,
|
|
137
|
+
highlight: this.highlight,
|
|
138
|
+
// Table strings
|
|
139
|
+
filterPlaceholderText: this.filterPlaceholderText,
|
|
140
|
+
previousPageText: this.previousPageText,
|
|
141
|
+
nextPageText: this.nextPageText,
|
|
142
|
+
itemsPerPageText: this.itemsPerPageText,
|
|
143
|
+
downloadLabelText: this.downloadLabelText,
|
|
144
|
+
locale: this.locale,
|
|
145
|
+
getPaginationSupplementalText: this.getPaginationSupplementalText,
|
|
146
|
+
getPaginationStatusText: this.getPaginationStatusText,
|
|
147
|
+
// Code snippet strings
|
|
148
|
+
feedback: this.feedback,
|
|
149
|
+
showLessText: this.showLessText,
|
|
150
|
+
showMoreText: this.showMoreText,
|
|
151
|
+
tooltipContent: this.tooltipContent,
|
|
152
|
+
getLineCountText: this.getLineCountText,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
consoleError("Failed to parse markdown", error);
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* @internal
|
|
161
|
+
*/
|
|
162
|
+
this.scheduleRender = throttle(() => {
|
|
163
|
+
// Lit's getter/setter pipeline can schedule multiple renders quickly.
|
|
164
|
+
// We capture the active render promise so we can report completion later.
|
|
165
|
+
const task = this.renderMarkdown();
|
|
166
|
+
const trackedTask = task.finally(() => {
|
|
167
|
+
if (this.renderTask === trackedTask) {
|
|
168
|
+
this.renderTask = null;
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
this.renderTask = trackedTask;
|
|
172
|
+
return trackedTask;
|
|
173
|
+
}, 150);
|
|
174
|
+
}
|
|
175
|
+
connectedCallback() {
|
|
176
|
+
super.connectedCallback();
|
|
177
|
+
this.needsReparse = true;
|
|
178
|
+
this.scheduleRender();
|
|
179
|
+
this._syncMarkdownFromLightDom();
|
|
180
|
+
this.mutationObserver = new MutationObserver(() => {
|
|
181
|
+
this._syncMarkdownFromLightDom();
|
|
182
|
+
});
|
|
183
|
+
this.mutationObserver.observe(this, {
|
|
184
|
+
childList: true,
|
|
185
|
+
characterData: true,
|
|
186
|
+
subtree: true,
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
disconnectedCallback() {
|
|
190
|
+
this.mutationObserver?.disconnect();
|
|
191
|
+
this.mutationObserver = undefined;
|
|
192
|
+
super.disconnectedCallback();
|
|
193
|
+
}
|
|
194
|
+
willUpdate(changed) {
|
|
195
|
+
if (changed.has("removeHTML")) {
|
|
196
|
+
// Properties that affect token tree structure require full reparse
|
|
197
|
+
// - removeHTML: changes which parser is used (html: true vs false)
|
|
198
|
+
this.needsReparse = true;
|
|
199
|
+
this.scheduleRender();
|
|
200
|
+
}
|
|
201
|
+
else if (
|
|
202
|
+
// Properties that only affect rendering can skip reparsing
|
|
203
|
+
// - sanitizeHTML: applies DOMPurify during render, doesn't change tokens
|
|
204
|
+
// - string properties: change translated strings in rendered output
|
|
205
|
+
// - streaming: affects loading states in rendered output
|
|
206
|
+
changed.has("sanitizeHTML") ||
|
|
207
|
+
changed.has("streaming") ||
|
|
208
|
+
changed.has("filterPlaceholderText") ||
|
|
209
|
+
changed.has("previousPageText") ||
|
|
210
|
+
changed.has("nextPageText") ||
|
|
211
|
+
changed.has("itemsPerPageText") ||
|
|
212
|
+
changed.has("downloadLabelText") ||
|
|
213
|
+
changed.has("locale") ||
|
|
214
|
+
changed.has("getPaginationSupplementalText") ||
|
|
215
|
+
changed.has("getPaginationStatusText") ||
|
|
216
|
+
changed.has("feedback") ||
|
|
217
|
+
changed.has("showLessText") ||
|
|
218
|
+
changed.has("showMoreText") ||
|
|
219
|
+
changed.has("tooltipContent") ||
|
|
220
|
+
changed.has("getLineCountText")) {
|
|
221
|
+
this.scheduleRender();
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Reads slotted text content and uses it as the markdown source when provided.
|
|
226
|
+
*/
|
|
227
|
+
_syncMarkdownFromLightDom() {
|
|
228
|
+
const slotEl = this.contentSlot.value;
|
|
229
|
+
let content = "";
|
|
230
|
+
if (slotEl) {
|
|
231
|
+
content = slotEl
|
|
232
|
+
.assignedNodes({ flatten: true })
|
|
233
|
+
.map((node) => ("textContent" in node ? node.textContent || "" : ""))
|
|
234
|
+
.join("")
|
|
235
|
+
.trim();
|
|
236
|
+
}
|
|
237
|
+
else if (this.childNodes.length) {
|
|
238
|
+
// Fallback before the slot is stamped
|
|
239
|
+
content = Array.from(this.childNodes)
|
|
240
|
+
.map((node) => ("textContent" in node ? node.textContent || "" : ""))
|
|
241
|
+
.join("")
|
|
242
|
+
.trim();
|
|
243
|
+
}
|
|
244
|
+
if (content && content !== this._slottedMarkdown) {
|
|
245
|
+
this._slottedMarkdown = content;
|
|
246
|
+
this.needsReparse = true;
|
|
247
|
+
this.scheduleRender();
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
firstUpdated() {
|
|
251
|
+
this._syncMarkdownFromLightDom();
|
|
252
|
+
}
|
|
253
|
+
async getUpdateComplete() {
|
|
254
|
+
// `updateComplete` is Lit's public hook for consumers/tests to await
|
|
255
|
+
// all pending work. Because we throttle renders, the base implementation
|
|
256
|
+
// might resolve before the throttled callback runs. Overriding this
|
|
257
|
+
// method lets us flush the throttle and await the render promise so
|
|
258
|
+
// callers can reliably wait for `renderedContent` to update.
|
|
259
|
+
const result = await super.getUpdateComplete();
|
|
260
|
+
const flushResult = this.scheduleRender.flush?.();
|
|
261
|
+
if (flushResult instanceof Promise) {
|
|
262
|
+
await flushResult;
|
|
263
|
+
}
|
|
264
|
+
if (this.renderTask) {
|
|
265
|
+
await this.renderTask;
|
|
266
|
+
}
|
|
267
|
+
return result;
|
|
268
|
+
}
|
|
269
|
+
render() {
|
|
270
|
+
const { renderedContent } = this;
|
|
271
|
+
return markdownTemplate({
|
|
272
|
+
slotRef: this.contentSlot,
|
|
273
|
+
onSlotChange: () => this._syncMarkdownFromLightDom(),
|
|
274
|
+
renderedContent,
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
CDSAIChatMarkdown.styles = styles;
|
|
279
|
+
__decorate([
|
|
280
|
+
property({ type: Boolean, attribute: "sanitize-html" })
|
|
281
|
+
], CDSAIChatMarkdown.prototype, "sanitizeHTML", void 0);
|
|
282
|
+
__decorate([
|
|
283
|
+
property({ type: Boolean, attribute: "remove-html" })
|
|
284
|
+
], CDSAIChatMarkdown.prototype, "removeHTML", void 0);
|
|
285
|
+
__decorate([
|
|
286
|
+
property({ type: Boolean, attribute: "streaming" })
|
|
287
|
+
], CDSAIChatMarkdown.prototype, "streaming", void 0);
|
|
288
|
+
__decorate([
|
|
289
|
+
property({ type: Boolean, attribute: "highlight" })
|
|
290
|
+
], CDSAIChatMarkdown.prototype, "highlight", void 0);
|
|
291
|
+
__decorate([
|
|
292
|
+
property({ type: String, attribute: "filter-placeholder-text" })
|
|
293
|
+
], CDSAIChatMarkdown.prototype, "filterPlaceholderText", void 0);
|
|
294
|
+
__decorate([
|
|
295
|
+
property({ type: String, attribute: "previous-page-text" })
|
|
296
|
+
], CDSAIChatMarkdown.prototype, "previousPageText", void 0);
|
|
297
|
+
__decorate([
|
|
298
|
+
property({ type: String, attribute: "next-page-text" })
|
|
299
|
+
], CDSAIChatMarkdown.prototype, "nextPageText", void 0);
|
|
300
|
+
__decorate([
|
|
301
|
+
property({ type: String, attribute: "items-per-page-text" })
|
|
302
|
+
], CDSAIChatMarkdown.prototype, "itemsPerPageText", void 0);
|
|
303
|
+
__decorate([
|
|
304
|
+
property({ type: String, attribute: "download-label-text" })
|
|
305
|
+
], CDSAIChatMarkdown.prototype, "downloadLabelText", void 0);
|
|
306
|
+
__decorate([
|
|
307
|
+
property({ type: String, attribute: "locale" })
|
|
308
|
+
], CDSAIChatMarkdown.prototype, "locale", void 0);
|
|
309
|
+
__decorate([
|
|
310
|
+
property({ type: Object, attribute: false })
|
|
311
|
+
], CDSAIChatMarkdown.prototype, "getPaginationSupplementalText", void 0);
|
|
312
|
+
__decorate([
|
|
313
|
+
property({ type: Object, attribute: false })
|
|
314
|
+
], CDSAIChatMarkdown.prototype, "getPaginationStatusText", void 0);
|
|
315
|
+
__decorate([
|
|
316
|
+
property({ type: String, attribute: "feedback" })
|
|
317
|
+
], CDSAIChatMarkdown.prototype, "feedback", void 0);
|
|
318
|
+
__decorate([
|
|
319
|
+
property({ type: String, attribute: "show-less-text" })
|
|
320
|
+
], CDSAIChatMarkdown.prototype, "showLessText", void 0);
|
|
321
|
+
__decorate([
|
|
322
|
+
property({ type: String, attribute: "show-more-text" })
|
|
323
|
+
], CDSAIChatMarkdown.prototype, "showMoreText", void 0);
|
|
324
|
+
__decorate([
|
|
325
|
+
property({ type: String, attribute: "tooltip-content" })
|
|
326
|
+
], CDSAIChatMarkdown.prototype, "tooltipContent", void 0);
|
|
327
|
+
__decorate([
|
|
328
|
+
property({ type: Object, attribute: false })
|
|
329
|
+
], CDSAIChatMarkdown.prototype, "getLineCountText", void 0);
|
|
330
|
+
__decorate([
|
|
331
|
+
state()
|
|
332
|
+
], CDSAIChatMarkdown.prototype, "tokenTree", void 0);
|
|
333
|
+
__decorate([
|
|
334
|
+
state()
|
|
335
|
+
], CDSAIChatMarkdown.prototype, "renderedContent", void 0);
|
|
336
|
+
CDSAIChatMarkdown = __decorate([
|
|
337
|
+
carbonElement("cds-aichat-markdown")
|
|
338
|
+
], CDSAIChatMarkdown);
|
|
339
|
+
var CDSAIChatMarkdown$1 = CDSAIChatMarkdown;
|
|
340
|
+
|
|
341
|
+
export { CDSAIChatMarkdown, CDSAIChatMarkdown$1 as default };
|
|
342
|
+
//# sourceMappingURL=markdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.js","sources":["../../../../src/components/markdown/src/markdown.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { css } from 'lit';
|
|
9
|
+
|
|
10
|
+
var styles = css(["a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{font-feature-settings:\"liga\" 1;border:0;font:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}button,input,select,textarea{border-radius:0;font-family:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{background-color:var(--cds-custom-background,#fff);color:var(--cds-custom-text-primary,#161616);line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:none}table{border-collapse:collapse;border-spacing:0}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}html{font-size:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,sans-serif;font-weight:400;text-rendering:optimizeLegibility}code{font-family:IBM Plex Mono,system-ui,-apple-system,BlinkMacSystemFont,\\.SFNSText-Regular,monospace}strong{font-weight:600}@media screen and (-ms-high-contrast:active){svg{fill:ButtonText}}h1{font-size:var(--cds-custom-heading-06-font-size,2.625rem);font-weight:var(--cds-custom-heading-06-font-weight,300);letter-spacing:var(--cds-custom-heading-06-letter-spacing,0);line-height:var(--cds-custom-heading-06-line-height,1.199)}h2{font-size:var(--cds-custom-heading-05-font-size,2rem);font-weight:var(--cds-custom-heading-05-font-weight,400);letter-spacing:var(--cds-custom-heading-05-letter-spacing,0);line-height:var(--cds-custom-heading-05-line-height,1.25)}h3{font-size:var(--cds-custom-heading-04-font-size,1.75rem);font-weight:var(--cds-custom-heading-04-font-weight,400);letter-spacing:var(--cds-custom-heading-04-letter-spacing,0);line-height:var(--cds-custom-heading-04-line-height,1.28572)}h4{font-size:var(--cds-custom-heading-03-font-size,1.25rem);font-weight:var(--cds-custom-heading-03-font-weight,400);letter-spacing:var(--cds-custom-heading-03-letter-spacing,0);line-height:var(--cds-custom-heading-03-line-height,1.4)}h5{font-size:var(--cds-custom-heading-02-font-size,1rem);font-weight:var(--cds-custom-heading-02-font-weight,600);letter-spacing:var(--cds-custom-heading-02-letter-spacing,0);line-height:var(--cds-custom-heading-02-line-height,1.5)}h6{font-size:var(--cds-custom-heading-01-font-size,.875rem);font-weight:var(--cds-custom-heading-01-font-weight,600);letter-spacing:var(--cds-custom-heading-01-letter-spacing,.16px);line-height:var(--cds-custom-heading-01-line-height,1.42857)}p{font-size:var(--cds-custom-body-02-font-size,1rem);font-weight:var(--cds-custom-body-02-font-weight,400);letter-spacing:var(--cds-custom-body-02-letter-spacing,0);line-height:var(--cds-custom-body-02-line-height,1.5)}a{color:var(--cds-custom-link-primary,#0062fe)}em{font-style:italic}.cds-custom--link{border:0;box-sizing:border-box;font-family:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}.cds-custom--link *,.cds-custom--link :after,.cds-custom--link :before{box-sizing:inherit}.cds-custom--link{color:var(--cds-custom-link-text-color,var(--cds-custom-link-primary,#0f62fe));display:inline-flex;font-size:var(--cds-custom-body-compact-01-font-size,.875rem);font-weight:var(--cds-custom-body-compact-01-font-weight,400);letter-spacing:var(--cds-custom-body-compact-01-letter-spacing,.16px);line-height:var(--cds-custom-body-compact-01-line-height,1.28572);outline:none;text-decoration:none;transition:color 70ms cubic-bezier(.2,0,.38,.9)}.cds-custom--link:hover{color:var(--cds-custom-link-hover-text-color,var(--cds-custom-link-primary-hover,#0043ce));text-decoration:underline}.cds-custom--link:active:not(.cds-custom--link--disabled),.cds-custom--link:active:visited,.cds-custom--link:active:visited:hover{outline:1px solid var(--cds-custom-focus,#0f62fe)}@media screen and (prefers-contrast){.cds-custom--link:active:not(.cds-custom--link--disabled),.cds-custom--link:active:visited,.cds-custom--link:active:visited:hover{outline-style:dotted}}.cds-custom--link:active:not(.cds-custom--link--disabled),.cds-custom--link:active:visited,.cds-custom--link:active:visited:hover{color:var(--cds-custom-link-text-color,var(--cds-custom-link-primary,#0f62fe));outline-color:var(--cds-custom-link-focus-text-color,var(--cds-custom-focus,#0f62fe));text-decoration:underline}.cds-custom--link:focus:not(.cds-custom--link--disabled){outline:1px solid var(--cds-custom-focus,#0f62fe)}@media screen and (prefers-contrast){.cds-custom--link:focus:not(.cds-custom--link--disabled){outline-style:dotted}}.cds-custom--link:focus:not(.cds-custom--link--disabled){outline-color:var(--cds-custom-link-focus-text-color,var(--cds-custom-focus,#0f62fe));text-decoration:underline}.cds-custom--link:visited{color:var(--cds-custom-link-text-color,var(--cds-custom-link-primary,#0f62fe))}.cds-custom--link:visited:hover{color:var(--cds-custom-link-hover-text-color,var(--cds-custom-link-primary-hover,#0043ce))}.cds-custom--link--disabled,.cds-custom--link--disabled:hover{border:0;box-sizing:border-box;font-family:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}.cds-custom--link--disabled *,.cds-custom--link--disabled :after,.cds-custom--link--disabled :before,.cds-custom--link--disabled:hover *,.cds-custom--link--disabled:hover :after,.cds-custom--link--disabled:hover :before{box-sizing:inherit}.cds-custom--link--disabled,.cds-custom--link--disabled:hover{color:var(--cds-custom-text-disabled,hsla(0,0%,9%,.25));cursor:not-allowed;font-size:var(--cds-custom-body-compact-01-font-size,.875rem);font-weight:var(--cds-custom-body-compact-01-font-weight,400);font-weight:400;letter-spacing:var(--cds-custom-body-compact-01-letter-spacing,.16px);line-height:var(--cds-custom-body-compact-01-line-height,1.28572);text-decoration:none}.cds-custom--link.cds-custom--link--visited,.cds-custom--link.cds-custom--link--visited:visited{color:var(--cds-custom-link-visited-text-color,var(--cds-custom-link-visited,#8a3ffc))}.cds-custom--link.cds-custom--link--visited:hover,.cds-custom--link.cds-custom--link--visited:visited:hover{color:var(--cds-custom-link-hover-text-color,var(--cds-custom-link-primary-hover,#0043ce))}.cds-custom--link.cds-custom--link--inline{display:inline;text-decoration:underline}.cds-custom--link--disabled.cds-custom--link--inline{text-decoration:underline}.cds-custom--link--sm,.cds-custom--link--sm.cds-custom--link--disabled:hover{font-size:var(--cds-custom-helper-text-01-font-size,.75rem);letter-spacing:var(--cds-custom-helper-text-01-letter-spacing,.32px);line-height:var(--cds-custom-helper-text-01-line-height,1.33333)}.cds-custom--link--lg,.cds-custom--link--lg.cds-custom--link--disabled:hover{font-size:var(--cds-custom-body-compact-02-font-size,1rem);font-weight:var(--cds-custom-body-compact-02-font-weight,400);letter-spacing:var(--cds-custom-body-compact-02-letter-spacing,0);line-height:var(--cds-custom-body-compact-02-line-height,1.375)}.cds-custom--link__icon{align-self:center;display:inline-flex;margin-inline-start:.5rem}:host{display:block;font-size:var(--cds-custom-body-01-font-size,.875rem);font-weight:var(--cds-custom-body-01-font-weight,400);inline-size:100%;letter-spacing:var(--cds-custom-body-01-letter-spacing,.16px);line-height:var(--cds-custom-body-01-line-height,1.42857);max-inline-size:100%}:host mark{background-color:var(--cds-custom-highlight,#d0e2ff);border-radius:.25rem;color:var(--cds-custom-text-primary,#161616)}:host b,:host strong{font-weight:700}:host em,:host i{font-style:italic}:host .cds-aichat-markdown-stack{display:block;max-inline-size:100%}:host .cds-aichat-markdown-stack>:not(:first-child){margin-block-start:1rem}:host .cds-aichat-markdown-stack>h1+:not(:first-child),:host .cds-aichat-markdown-stack>h2+:not(:first-child),:host .cds-aichat-markdown-stack>h3+:not(:first-child),:host .cds-aichat-markdown-stack>h4+:not(:first-child),:host .cds-aichat-markdown-stack>h5+:not(:first-child),:host .cds-aichat-markdown-stack>h6+:not(:first-child){margin-block-start:.25rem}:host p{font-size:var(--cds-custom-body-01-font-size,.875rem);font-weight:var(--cds-custom-body-01-font-weight,400);letter-spacing:var(--cds-custom-body-01-letter-spacing,.16px);line-height:var(--cds-custom-body-01-line-height,1.42857)}:host blockquote{border-inline-start:2px solid var(--cds-custom-border-subtle-00,#e0e0e0);padding-inline-start:.5rem}:host blockquote>:not(:first-child){margin-block-start:1rem}:host blockquote>h1+:not(:first-child),:host blockquote>h2+:not(:first-child),:host blockquote>h3+:not(:first-child),:host blockquote>h4+:not(:first-child),:host blockquote>h5+:not(:first-child),:host blockquote>h6+:not(:first-child){margin-block-start:.5rem}:host pre{background-color:var(--cds-custom-layer-02,#fff);border:1px solid var(--cds-custom-chat-bubble-border,#e0e0e0);font-family:var(--cds-custom-code-02-font-family,\"IBM Plex Mono\",system-ui,-apple-system,BlinkMacSystemFont,\".SFNSText-Regular\",monospace);font-size:var(--cds-custom-code-02-font-size,.875rem);font-weight:var(--cds-custom-code-02-font-weight,400);letter-spacing:var(--cds-custom-code-02-letter-spacing,.32px);line-height:var(--cds-custom-code-02-line-height,1.42857);overflow:auto hidden;padding:1rem;white-space:pre-wrap}:host img{max-inline-size:100%}:host h1{font-size:var(--cds-custom-heading-04-font-size,1.75rem);font-weight:var(--cds-custom-heading-04-font-weight,400);letter-spacing:var(--cds-custom-heading-04-letter-spacing,0);line-height:var(--cds-custom-heading-04-line-height,1.28572)}:host h2{font-size:var(--cds-custom-heading-03-font-size,1.25rem);font-weight:var(--cds-custom-heading-03-font-weight,400);letter-spacing:var(--cds-custom-heading-03-letter-spacing,0);line-height:var(--cds-custom-heading-03-line-height,1.4)}:host h3{font-size:var(--cds-custom-heading-02-font-size,1rem);font-weight:var(--cds-custom-heading-02-font-weight,600);letter-spacing:var(--cds-custom-heading-02-letter-spacing,0);line-height:var(--cds-custom-heading-02-line-height,1.5)}:host h4{font-size:var(--cds-custom-heading-01-font-size,.875rem);font-weight:var(--cds-custom-heading-01-font-weight,600);letter-spacing:var(--cds-custom-heading-01-letter-spacing,.16px);line-height:var(--cds-custom-heading-01-line-height,1.42857)}:host h5{font-size:var(--cds-custom-heading-01-font-size,.875rem);font-weight:var(--cds-custom-heading-01-font-weight,600);letter-spacing:var(--cds-custom-heading-01-letter-spacing,.16px);line-height:var(--cds-custom-heading-01-line-height,1.42857)}:host h6{font-size:var(--cds-custom-heading-01-font-size,.875rem);font-weight:var(--cds-custom-heading-01-font-weight,600);letter-spacing:var(--cds-custom-heading-01-letter-spacing,.16px);line-height:var(--cds-custom-heading-01-line-height,1.42857)}:host cds-custom-ordered-list:not([nested]) cds-custom-list-item{margin-inline-start:1.5rem}:host cds-aichat-code-snippet-card{display:block;margin-block-end:1rem}:host cds-aichat-code-snippet-card:not(:defined){display:none}"]);
|
|
11
|
+
|
|
12
|
+
export { styles as default };
|
|
13
|
+
//# sourceMappingURL=markdown.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { html } from 'lit';
|
|
9
|
+
import { ref } from 'lit/directives/ref.js';
|
|
10
|
+
|
|
11
|
+
/*
|
|
12
|
+
* Copyright IBM Corp. 2025
|
|
13
|
+
*
|
|
14
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
15
|
+
* LICENSE file in the root directory of this source tree.
|
|
16
|
+
*
|
|
17
|
+
* @license
|
|
18
|
+
*/
|
|
19
|
+
function markdownTemplate({ slotRef, onSlotChange, renderedContent, }) {
|
|
20
|
+
return html `
|
|
21
|
+
<div class="cds-aichat-markdown-stack">${renderedContent}</div>
|
|
22
|
+
<div hidden>
|
|
23
|
+
<slot ${ref(slotRef)} @slotchange=${onSlotChange}></slot>
|
|
24
|
+
</div>
|
|
25
|
+
`;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { markdownTemplate };
|
|
29
|
+
//# sourceMappingURL=markdown.template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.template.js","sources":["../../../../src/components/markdown/src/markdown.template.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAAA;;;;;;;AAOG;AAKH,SAAS,gBAAgB,CAAC,EACxB,OAAO,EACP,YAAY,EACZ,eAAe,GAKhB,EAAA;AACC,IAAA,OAAO,IAAI,CAAA;6CACgC,eAAe,CAAA;;AAE9C,YAAA,EAAA,GAAG,CAAC,OAAO,CAAC,CAAA,aAAA,EAAgB,YAAY,CAAA;;GAEnD;AACH;;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type MarkdownIt from "markdown-it";
|
|
2
|
+
import type { MarkdownItAttrsOptions } from "./markdownItAttrs/types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Markdown-it plugin that adds support for applying attributes to markdown elements using curly brace syntax.
|
|
5
|
+
*/
|
|
6
|
+
export declare function markdownItAttrs(md: MarkdownIt, options_?: MarkdownItAttrsOptions): void;
|
|
7
|
+
export default markdownItAttrs;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { test } from './markdownItAttrs/core.js';
|
|
9
|
+
import { createPatterns } from './markdownItAttrs/patterns/index.js';
|
|
10
|
+
|
|
11
|
+
/*
|
|
12
|
+
* Copyright IBM Corp. 2025
|
|
13
|
+
*
|
|
14
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
15
|
+
* LICENSE file in the root directory of this source tree.
|
|
16
|
+
*
|
|
17
|
+
* @license
|
|
18
|
+
*/
|
|
19
|
+
const defaultOptions = {
|
|
20
|
+
leftDelimiter: "{",
|
|
21
|
+
rightDelimiter: "}",
|
|
22
|
+
allowedAttributes: [],
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Markdown-it plugin that adds support for applying attributes to markdown elements using curly brace syntax.
|
|
26
|
+
*/
|
|
27
|
+
function markdownItAttrs(md, options_) {
|
|
28
|
+
const options = Object.assign({}, defaultOptions, options_);
|
|
29
|
+
// Create an array of pattern matchers that detect and transform different markdown
|
|
30
|
+
// elements with attribute syntax (e.g., {.class #id key=val}). Each pattern defines
|
|
31
|
+
// rules for matching specific token sequences and transforming them by extracting
|
|
32
|
+
// and applying the attributes. Different patterns are needed because attributes appear
|
|
33
|
+
// in different positions for different elements:
|
|
34
|
+
// - Links: attributes after closing: [text](url){target="_blank"}
|
|
35
|
+
// - Inline elements: attributes after closing: **bold**{.class}
|
|
36
|
+
// - Code blocks: attributes at end of info string: ```js{.highlight}
|
|
37
|
+
// - Tables: attributes in paragraph after table_close
|
|
38
|
+
// - Lists: attributes on softbreak or at item end
|
|
39
|
+
// Each pattern knows where to look for attributes and which token to apply them to.
|
|
40
|
+
const patterns = createPatterns(options);
|
|
41
|
+
/**
|
|
42
|
+
* Core processing function that walks through all tokens in the markdown document
|
|
43
|
+
* and applies attribute transformations when patterns match.
|
|
44
|
+
*/
|
|
45
|
+
function curlyAttrs(state) {
|
|
46
|
+
const tokens = state.tokens;
|
|
47
|
+
// Iterate through each token in the document
|
|
48
|
+
for (let tokenIndex = 0; tokenIndex < tokens.length; tokenIndex++) {
|
|
49
|
+
// Test each pattern against the current token position
|
|
50
|
+
for (let patternIndex = 0; patternIndex < patterns.length; patternIndex++) {
|
|
51
|
+
const pattern = patterns[patternIndex];
|
|
52
|
+
let childIndex = null;
|
|
53
|
+
// Check if all tests in the pattern match
|
|
54
|
+
const patternMatches = pattern.tests.every((rule) => {
|
|
55
|
+
const result = test(tokens, tokenIndex, rule);
|
|
56
|
+
if (result.j !== null) {
|
|
57
|
+
childIndex = result.j; // Store child token index if matched within children
|
|
58
|
+
}
|
|
59
|
+
return result.match;
|
|
60
|
+
});
|
|
61
|
+
// If pattern matched, apply the transformation
|
|
62
|
+
if (patternMatches) {
|
|
63
|
+
try {
|
|
64
|
+
pattern.transform(tokens, tokenIndex, childIndex ?? undefined);
|
|
65
|
+
// For inline patterns, re-check the same position since tokens may have changed
|
|
66
|
+
if (pattern.name === "inline attributes" ||
|
|
67
|
+
pattern.name === "inline nesting 0") {
|
|
68
|
+
patternIndex--;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
console.error(`markdown-it-attrs: Error in pattern '${pattern.name}': ${error.message}`);
|
|
73
|
+
console.error(error.stack);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// Register the curlyAttrs function to run before linkify in the markdown-it processing pipeline
|
|
80
|
+
md.core.ruler.before("linkify", "curly_attributes", curlyAttrs);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export { markdownItAttrs as default, markdownItAttrs };
|
|
84
|
+
//# sourceMappingURL=markdown-it-attrs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-it-attrs.js","sources":["../../../../../src/components/markdown/src/plugins/markdown-it-attrs.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAAA;;;;;;;AAOG;AAwCH,MAAM,cAAc,GAAqC;AACvD,IAAA,aAAa,EAAE,GAAG;AAClB,IAAA,cAAc,EAAE,GAAG;AACnB,IAAA,iBAAiB,EAAE,EAAE;CACtB;AAED;;AAEG;AACG,SAAU,eAAe,CAC7B,EAAc,EACd,QAAiC,EAAA;AAEjC,IAAA,MAAM,OAAO,GAAqC,MAAM,CAAC,MAAM,CAC7D,EAAE,EACF,cAAc,EACd,QAAQ,CACT;;;;;;;;;;;;AAaD,IAAA,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC;AAExC;;;AAGG;IACH,SAAS,UAAU,CAAC,KAAgB,EAAA;AAClC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM;;AAG3B,QAAA,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;;AAEjE,YAAA,KACE,IAAI,YAAY,GAAG,CAAC,EACpB,YAAY,GAAG,QAAQ,CAAC,MAAM,EAC9B,YAAY,EAAE,EACd;AACA,gBAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC;gBACtC,IAAI,UAAU,GAAkB,IAAI;;gBAGpC,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAI;oBAClD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC;AAC7C,oBAAA,IAAI,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE;AACrB,wBAAA,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;oBACxB;oBACA,OAAO,MAAM,CAAC,KAAK;AACrB,gBAAA,CAAC,CAAC;;gBAGF,IAAI,cAAc,EAAE;AAClB,oBAAA,IAAI;wBACF,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,CAAC;;AAG9D,wBAAA,IACE,OAAO,CAAC,IAAI,KAAK,mBAAmB;AACpC,4BAAA,OAAO,CAAC,IAAI,KAAK,kBAAkB,EACnC;AACA,4BAAA,YAAY,EAAE;wBAChB;oBACF;oBAAE,OAAO,KAAK,EAAE;AACd,wBAAA,OAAO,CAAC,KAAK,CACX,CAAA,qCAAA,EAAwC,OAAO,CAAC,IAAI,CAAA,GAAA,EAAO,KAAe,CAAC,OAAO,CAAA,CAAE,CACrF;AACD,wBAAA,OAAO,CAAC,KAAK,CAAE,KAAe,CAAC,KAAK,CAAC;oBACvC;gBACF;YACF;QACF;IACF;;AAGA,IAAA,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,EAAE,UAAU,CAAC;AACjE;;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A markdown-it plugin that handles text highlighting using ==highlight== syntax.
|
|
3
|
+
* This follows the extended markdown syntax from https://www.markdownguide.org/extended-syntax/
|
|
4
|
+
*/
|
|
5
|
+
import MarkdownIt from "markdown-it";
|
|
6
|
+
declare function markdownItHighlight(md: MarkdownIt): void;
|
|
7
|
+
export { markdownItHighlight };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/*
|
|
9
|
+
* Copyright IBM Corp. 2025
|
|
10
|
+
*
|
|
11
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
12
|
+
* LICENSE file in the root directory of this source tree.
|
|
13
|
+
*
|
|
14
|
+
* @license
|
|
15
|
+
*/
|
|
16
|
+
function markdownItHighlight(md) {
|
|
17
|
+
// Define the highlight rule
|
|
18
|
+
md.inline.ruler.before("emphasis", "highlight", (state, silent) => {
|
|
19
|
+
const marker = "==";
|
|
20
|
+
const markerLength = marker.length;
|
|
21
|
+
const start = state.pos;
|
|
22
|
+
if (state.src.slice(start, start + markerLength) !== marker) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
if (silent) {
|
|
26
|
+
return false; // Don't execute when in silent mode
|
|
27
|
+
}
|
|
28
|
+
const max = state.posMax;
|
|
29
|
+
let pos = start + markerLength;
|
|
30
|
+
// Find the closing marker
|
|
31
|
+
while (pos < max) {
|
|
32
|
+
if (state.src.slice(pos, pos + markerLength) === marker) {
|
|
33
|
+
const content = state.src.slice(start + markerLength, pos);
|
|
34
|
+
if (content.trim()) {
|
|
35
|
+
const token = state.push("highlight_open", "mark", 1);
|
|
36
|
+
token.markup = marker;
|
|
37
|
+
// Recursively tokenize the content to support nested formatting
|
|
38
|
+
const oldPos = state.pos;
|
|
39
|
+
const oldPosMax = state.posMax;
|
|
40
|
+
state.pos = start + markerLength;
|
|
41
|
+
state.posMax = pos;
|
|
42
|
+
state.md.inline.tokenize(state);
|
|
43
|
+
state.pos = oldPos;
|
|
44
|
+
state.posMax = oldPosMax;
|
|
45
|
+
const closeToken = state.push("highlight_close", "mark", -1);
|
|
46
|
+
closeToken.markup = marker;
|
|
47
|
+
state.pos = pos + markerLength;
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
pos++;
|
|
53
|
+
}
|
|
54
|
+
return false;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export { markdownItHighlight };
|
|
59
|
+
//# sourceMappingURL=markdown-it-highlight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-it-highlight.js","sources":["../../../../../src/components/markdown/src/plugins/markdown-it-highlight.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAAA;;;;;;;AAOG;AASH,SAAS,mBAAmB,CAAC,EAAc,EAAA;;AAEzC,IAAA,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAI;QAChE,MAAM,MAAM,GAAG,IAAI;AACnB,QAAA,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM;AAClC,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG;AAEvB,QAAA,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAAC,KAAK,MAAM,EAAE;AAC3D,YAAA,OAAO,KAAK;QACd;QAEA,IAAI,MAAM,EAAE;YACV,OAAO,KAAK,CAAC;QACf;AAEA,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM;AACxB,QAAA,IAAI,GAAG,GAAG,KAAK,GAAG,YAAY;;AAG9B,QAAA,OAAO,GAAG,GAAG,GAAG,EAAE;AAChB,YAAA,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAAC,KAAK,MAAM,EAAE;AACvD,gBAAA,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY,EAAE,GAAG,CAAC;AAE1D,gBAAA,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE;AAClB,oBAAA,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC;AACrD,oBAAA,KAAK,CAAC,MAAM,GAAG,MAAM;;AAGrB,oBAAA,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG;AACxB,oBAAA,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM;AAC9B,oBAAA,KAAK,CAAC,GAAG,GAAG,KAAK,GAAG,YAAY;AAChC,oBAAA,KAAK,CAAC,MAAM,GAAG,GAAG;oBAClB,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC/B,oBAAA,KAAK,CAAC,GAAG,GAAG,MAAM;AAClB,oBAAA,KAAK,CAAC,MAAM,GAAG,SAAS;AAExB,oBAAA,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAAC;AAC5D,oBAAA,UAAU,CAAC,MAAM,GAAG,MAAM;AAE1B,oBAAA,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,YAAY;AAC9B,oBAAA,OAAO,IAAI;gBACb;gBACA;YACF;AACA,YAAA,GAAG,EAAE;QACP;AAEA,QAAA,OAAO,KAAK;AACd,IAAA,CAAC,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A markdown-it plugin that handles task lists with checkbox syntax.
|
|
3
|
+
* Implements GitHub Flavored Markdown task list extension.
|
|
4
|
+
*
|
|
5
|
+
* Syntax:
|
|
6
|
+
* - [ ] Unchecked task
|
|
7
|
+
* - [x] Checked task
|
|
8
|
+
* - [X] Checked task (uppercase also supported)
|
|
9
|
+
*/
|
|
10
|
+
import MarkdownIt from "markdown-it";
|
|
11
|
+
declare function markdownItTaskLists(md: MarkdownIt): void;
|
|
12
|
+
export { markdownItTaskLists };
|