@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.
Files changed (542) hide show
  1. package/custom-elements.json +1 -1
  2. package/es/components/code-snippet/src/codemirror/base-setup.js +3 -3
  3. package/es/components/code-snippet/src/codemirror/codemirror-runtime.d.ts +1 -1
  4. package/es/components/code-snippet/src/codemirror/codemirror-runtime.js +1 -1
  5. package/es/components/code-snippet/src/codemirror/content-sync.d.ts +1 -1
  6. package/es/components/code-snippet/src/codemirror/editor-manager.d.ts +1 -1
  7. package/es/components/code-snippet/src/codemirror/editor-manager.js +1 -1
  8. package/es/components/code-snippet/src/codemirror/language-controller.d.ts +1 -1
  9. package/es/components/code-snippet/src/codemirror/theme.js +1 -1
  10. package/es-custom/components/card/index.d.ts +11 -0
  11. package/es-custom/components/card/index.js +11 -0
  12. package/es-custom/components/card/index.js.map +1 -0
  13. package/es-custom/components/card/src/card-footer.d.ts +43 -0
  14. package/es-custom/components/card/src/card-footer.js +141 -0
  15. package/es-custom/components/card/src/card-footer.js.map +1 -0
  16. package/es-custom/components/card/src/card-footer.scss.js +13 -0
  17. package/es-custom/components/card/src/card-footer.scss.js.map +1 -0
  18. package/es-custom/components/card/src/card-steps.d.ts +28 -0
  19. package/es-custom/components/card/src/card-steps.js +91 -0
  20. package/es-custom/components/card/src/card-steps.js.map +1 -0
  21. package/es-custom/components/card/src/card-steps.scss.js +13 -0
  22. package/es-custom/components/card/src/card-steps.scss.js.map +1 -0
  23. package/es-custom/components/card/src/card.d.ts +27 -0
  24. package/es-custom/components/card/src/card.js +65 -0
  25. package/es-custom/components/card/src/card.js.map +1 -0
  26. package/es-custom/components/card/src/card.scss.js +13 -0
  27. package/es-custom/components/card/src/card.scss.js.map +1 -0
  28. package/es-custom/components/chain-of-thought/defs.d.ts +54 -0
  29. package/es-custom/components/chain-of-thought/defs.js +38 -0
  30. package/es-custom/components/chain-of-thought/defs.js.map +1 -0
  31. package/es-custom/components/chain-of-thought/index.d.ts +10 -0
  32. package/es-custom/components/chain-of-thought/index.js +13 -0
  33. package/es-custom/components/chain-of-thought/index.js.map +1 -0
  34. package/es-custom/components/chain-of-thought/src/chain-of-thought-step.d.ts +43 -0
  35. package/es-custom/components/chain-of-thought/src/chain-of-thought-step.js +351 -0
  36. package/es-custom/components/chain-of-thought/src/chain-of-thought-step.js.map +1 -0
  37. package/es-custom/components/chain-of-thought/src/chain-of-thought-step.scss.js +13 -0
  38. package/es-custom/components/chain-of-thought/src/chain-of-thought-step.scss.js.map +1 -0
  39. package/es-custom/components/chain-of-thought/src/chain-of-thought-toggle.d.ts +33 -0
  40. package/es-custom/components/chain-of-thought/src/chain-of-thought-toggle.js +107 -0
  41. package/es-custom/components/chain-of-thought/src/chain-of-thought-toggle.js.map +1 -0
  42. package/es-custom/components/chain-of-thought/src/chain-of-thought-toggle.scss.js +13 -0
  43. package/es-custom/components/chain-of-thought/src/chain-of-thought-toggle.scss.js.map +1 -0
  44. package/es-custom/components/chain-of-thought/src/chain-of-thought.d.ts +41 -0
  45. package/es-custom/components/chain-of-thought/src/chain-of-thought.js +132 -0
  46. package/es-custom/components/chain-of-thought/src/chain-of-thought.js.map +1 -0
  47. package/es-custom/components/chain-of-thought/src/chain-of-thought.scss.js +13 -0
  48. package/es-custom/components/chain-of-thought/src/chain-of-thought.scss.js.map +1 -0
  49. package/es-custom/components/chain-of-thought/src/tool-call-data.d.ts +33 -0
  50. package/es-custom/components/chain-of-thought/src/tool-call-data.js +179 -0
  51. package/es-custom/components/chain-of-thought/src/tool-call-data.js.map +1 -0
  52. package/es-custom/components/chain-of-thought/src/tool-call-data.scss.js +13 -0
  53. package/es-custom/components/chain-of-thought/src/tool-call-data.scss.js.map +1 -0
  54. package/es-custom/components/chat-button/defs.d.ts +25 -0
  55. package/es-custom/components/chat-button/defs.js +36 -0
  56. package/es-custom/components/chat-button/defs.js.map +1 -0
  57. package/es-custom/components/chat-button/index.d.ts +9 -0
  58. package/es-custom/components/chat-button/index.js +9 -0
  59. package/es-custom/components/chat-button/index.js.map +1 -0
  60. package/es-custom/components/chat-button/src/chat-button.d.ts +40 -0
  61. package/es-custom/components/chat-button/src/chat-button.js +78 -0
  62. package/es-custom/components/chat-button/src/chat-button.js.map +1 -0
  63. package/es-custom/components/chat-button/src/chat-button.scss.js +13 -0
  64. package/es-custom/components/chat-button/src/chat-button.scss.js.map +1 -0
  65. package/es-custom/components/code-snippet/index.d.ts +3 -0
  66. package/es-custom/components/code-snippet/index.js +10 -0
  67. package/es-custom/components/code-snippet/index.js.map +1 -0
  68. package/es-custom/components/code-snippet/src/code-snippet-card.d.ts +63 -0
  69. package/es-custom/components/code-snippet/src/code-snippet-card.js +186 -0
  70. package/es-custom/components/code-snippet/src/code-snippet-card.js.map +1 -0
  71. package/es-custom/components/code-snippet/src/code-snippet.d.ts +461 -0
  72. package/es-custom/components/code-snippet/src/code-snippet.js +678 -0
  73. package/es-custom/components/code-snippet/src/code-snippet.js.map +1 -0
  74. package/es-custom/components/code-snippet/src/code-snippet.scss.js +13 -0
  75. package/es-custom/components/code-snippet/src/code-snippet.scss.js.map +1 -0
  76. package/es-custom/components/code-snippet/src/codemirror/base-setup.d.ts +12 -0
  77. package/es-custom/components/code-snippet/src/codemirror/base-setup.js +65 -0
  78. package/es-custom/components/code-snippet/src/codemirror/base-setup.js.map +1 -0
  79. package/es-custom/components/code-snippet/src/codemirror/codemirror-loader.d.ts +12 -0
  80. package/es-custom/components/code-snippet/src/codemirror/codemirror-loader.js +36 -0
  81. package/es-custom/components/code-snippet/src/codemirror/codemirror-loader.js.map +1 -0
  82. package/es-custom/components/code-snippet/src/codemirror/codemirror-runtime.d.ts +7 -0
  83. package/es-custom/components/code-snippet/src/codemirror/codemirror-runtime.js +13 -0
  84. package/es-custom/components/code-snippet/src/codemirror/codemirror-runtime.js.map +1 -0
  85. package/es-custom/components/code-snippet/src/codemirror/content-sync.d.ts +12 -0
  86. package/es-custom/components/code-snippet/src/codemirror/content-sync.js +72 -0
  87. package/es-custom/components/code-snippet/src/codemirror/content-sync.js.map +1 -0
  88. package/es-custom/components/code-snippet/src/codemirror/editor-manager.d.ts +28 -0
  89. package/es-custom/components/code-snippet/src/codemirror/editor-manager.js +75 -0
  90. package/es-custom/components/code-snippet/src/codemirror/editor-manager.js.map +1 -0
  91. package/es-custom/components/code-snippet/src/codemirror/language-controller.d.ts +38 -0
  92. package/es-custom/components/code-snippet/src/codemirror/language-controller.js +220 -0
  93. package/es-custom/components/code-snippet/src/codemirror/language-controller.js.map +1 -0
  94. package/es-custom/components/code-snippet/src/codemirror/language-data.d.ts +6 -0
  95. package/es-custom/components/code-snippet/src/codemirror/language-data.js +1043 -0
  96. package/es-custom/components/code-snippet/src/codemirror/language-data.js.map +1 -0
  97. package/es-custom/components/code-snippet/src/codemirror/language-utils.d.ts +79 -0
  98. package/es-custom/components/code-snippet/src/codemirror/language-utils.js +219 -0
  99. package/es-custom/components/code-snippet/src/codemirror/language-utils.js.map +1 -0
  100. package/es-custom/components/code-snippet/src/codemirror/marker-utils.d.ts +123 -0
  101. package/es-custom/components/code-snippet/src/codemirror/marker-utils.js +183 -0
  102. package/es-custom/components/code-snippet/src/codemirror/marker-utils.js.map +1 -0
  103. package/es-custom/components/code-snippet/src/codemirror/theme.d.ts +54 -0
  104. package/es-custom/components/code-snippet/src/codemirror/theme.js +320 -0
  105. package/es-custom/components/code-snippet/src/codemirror/theme.js.map +1 -0
  106. package/es-custom/components/code-snippet/src/dom-utils.d.ts +24 -0
  107. package/es-custom/components/code-snippet/src/dom-utils.js +63 -0
  108. package/es-custom/components/code-snippet/src/dom-utils.js.map +1 -0
  109. package/es-custom/components/code-snippet/src/formatters.d.ts +4 -0
  110. package/es-custom/components/code-snippet/src/formatters.js +19 -0
  111. package/es-custom/components/code-snippet/src/formatters.js.map +1 -0
  112. package/es-custom/components/code-snippet/src/layout-utils.d.ts +22 -0
  113. package/es-custom/components/code-snippet/src/layout-utils.js +63 -0
  114. package/es-custom/components/code-snippet/src/layout-utils.js.map +1 -0
  115. package/es-custom/components/code-snippet/src/streaming-manager.d.ts +24 -0
  116. package/es-custom/components/code-snippet/src/streaming-manager.js +120 -0
  117. package/es-custom/components/code-snippet/src/streaming-manager.js.map +1 -0
  118. package/es-custom/components/feedback/index.d.ts +4 -0
  119. package/es-custom/components/feedback/index.js +10 -0
  120. package/es-custom/components/feedback/index.js.map +1 -0
  121. package/es-custom/components/feedback/src/feedback-buttons.d.ts +63 -0
  122. package/es-custom/components/feedback/src/feedback-buttons.js +113 -0
  123. package/es-custom/components/feedback/src/feedback-buttons.js.map +1 -0
  124. package/es-custom/components/feedback/src/feedback-buttons.scss.js +13 -0
  125. package/es-custom/components/feedback/src/feedback-buttons.scss.js.map +1 -0
  126. package/es-custom/components/feedback/src/feedback-buttons.template.d.ts +4 -0
  127. package/es-custom/components/feedback/src/feedback-buttons.template.js +79 -0
  128. package/es-custom/components/feedback/src/feedback-buttons.template.js.map +1 -0
  129. package/es-custom/components/feedback/src/feedback.d.ts +113 -0
  130. package/es-custom/components/feedback/src/feedback.js +195 -0
  131. package/es-custom/components/feedback/src/feedback.js.map +1 -0
  132. package/es-custom/components/feedback/src/feedback.scss.js +13 -0
  133. package/es-custom/components/feedback/src/feedback.scss.js.map +1 -0
  134. package/es-custom/components/feedback/src/feedback.template.d.ts +12 -0
  135. package/es-custom/components/feedback/src/feedback.template.js +115 -0
  136. package/es-custom/components/feedback/src/feedback.template.js.map +1 -0
  137. package/es-custom/components/markdown/index.d.ts +2 -0
  138. package/es-custom/components/markdown/index.js +9 -0
  139. package/es-custom/components/markdown/index.js.map +1 -0
  140. package/es-custom/components/markdown/src/markdown-renderer.d.ts +66 -0
  141. package/es-custom/components/markdown/src/markdown-renderer.js +359 -0
  142. package/es-custom/components/markdown/src/markdown-renderer.js.map +1 -0
  143. package/es-custom/components/markdown/src/markdown-token-tree.d.ts +32 -0
  144. package/es-custom/components/markdown/src/markdown-token-tree.js +180 -0
  145. package/es-custom/components/markdown/src/markdown-token-tree.js.map +1 -0
  146. package/es-custom/components/markdown/src/markdown.d.ts +72 -0
  147. package/es-custom/components/markdown/src/markdown.js +342 -0
  148. package/es-custom/components/markdown/src/markdown.js.map +1 -0
  149. package/es-custom/components/markdown/src/markdown.scss.js +13 -0
  150. package/es-custom/components/markdown/src/markdown.scss.js.map +1 -0
  151. package/es-custom/components/markdown/src/markdown.template.d.ts +6 -0
  152. package/es-custom/components/markdown/src/markdown.template.js +29 -0
  153. package/es-custom/components/markdown/src/markdown.template.js.map +1 -0
  154. package/es-custom/components/markdown/src/plugins/markdown-it-attrs.d.ts +7 -0
  155. package/es-custom/components/markdown/src/plugins/markdown-it-attrs.js +84 -0
  156. package/es-custom/components/markdown/src/plugins/markdown-it-attrs.js.map +1 -0
  157. package/es-custom/components/markdown/src/plugins/markdown-it-highlight.d.ts +7 -0
  158. package/es-custom/components/markdown/src/plugins/markdown-it-highlight.js +59 -0
  159. package/es-custom/components/markdown/src/plugins/markdown-it-highlight.js.map +1 -0
  160. package/es-custom/components/markdown/src/plugins/markdown-it-task-lists.d.ts +12 -0
  161. package/es-custom/components/markdown/src/plugins/markdown-it-task-lists.js +73 -0
  162. package/es-custom/components/markdown/src/plugins/markdown-it-task-lists.js.map +1 -0
  163. package/es-custom/components/markdown/src/plugins/markdownItAttrs/core.d.ts +26 -0
  164. package/es-custom/components/markdown/src/plugins/markdownItAttrs/core.js +330 -0
  165. package/es-custom/components/markdown/src/plugins/markdownItAttrs/core.js.map +1 -0
  166. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/blocks.d.ts +6 -0
  167. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/blocks.js +63 -0
  168. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/blocks.js.map +1 -0
  169. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/code.d.ts +6 -0
  170. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/code.js +43 -0
  171. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/code.js.map +1 -0
  172. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/index.d.ts +5 -0
  173. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/index.js +55 -0
  174. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/index.js.map +1 -0
  175. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/inline.d.ts +19 -0
  176. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/inline.js +210 -0
  177. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/inline.js.map +1 -0
  178. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/lists.d.ts +13 -0
  179. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/lists.js +156 -0
  180. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/lists.js.map +1 -0
  181. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/tables.d.ts +13 -0
  182. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/tables.js +216 -0
  183. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/tables.js.map +1 -0
  184. package/es-custom/components/markdown/src/plugins/markdownItAttrs/types.d.ts +34 -0
  185. package/es-custom/components/markdown/src/plugins/markdownItAttrs/types.js +8 -0
  186. package/es-custom/components/markdown/src/plugins/markdownItAttrs/types.js.map +1 -0
  187. package/es-custom/components/markdown/src/plugins/markdownItAttrs/utils.d.ts +25 -0
  188. package/es-custom/components/markdown/src/plugins/markdownItAttrs/utils.js +62 -0
  189. package/es-custom/components/markdown/src/plugins/markdownItAttrs/utils.js.map +1 -0
  190. package/es-custom/components/markdown/src/utils/html-helpers.d.ts +2 -0
  191. package/es-custom/components/markdown/src/utils/html-helpers.js +204 -0
  192. package/es-custom/components/markdown/src/utils/html-helpers.js.map +1 -0
  193. package/es-custom/components/markdown/src/utils/table-helpers.d.ts +31 -0
  194. package/es-custom/components/markdown/src/utils/table-helpers.js +106 -0
  195. package/es-custom/components/markdown/src/utils/table-helpers.js.map +1 -0
  196. package/es-custom/components/markdown/src/utils.d.ts +8 -0
  197. package/es-custom/components/markdown/src/utils.js +31 -0
  198. package/es-custom/components/markdown/src/utils.js.map +1 -0
  199. package/es-custom/components/processing/index.d.ts +1 -0
  200. package/es-custom/components/processing/index.js +9 -0
  201. package/es-custom/components/processing/index.js.map +1 -0
  202. package/es-custom/components/processing/src/processing.d.ts +16 -0
  203. package/es-custom/components/processing/src/processing.js +59 -0
  204. package/es-custom/components/processing/src/processing.js.map +1 -0
  205. package/es-custom/components/processing/src/processing.scss.js +13 -0
  206. package/es-custom/components/processing/src/processing.scss.js.map +1 -0
  207. package/es-custom/components/reasoning-steps/index.d.ts +4 -0
  208. package/es-custom/components/reasoning-steps/index.js +11 -0
  209. package/es-custom/components/reasoning-steps/index.js.map +1 -0
  210. package/es-custom/components/reasoning-steps/src/reasoning-step.d.ts +33 -0
  211. package/es-custom/components/reasoning-steps/src/reasoning-step.js +251 -0
  212. package/es-custom/components/reasoning-steps/src/reasoning-step.js.map +1 -0
  213. package/es-custom/components/reasoning-steps/src/reasoning-step.scss.js +13 -0
  214. package/es-custom/components/reasoning-steps/src/reasoning-step.scss.js.map +1 -0
  215. package/es-custom/components/reasoning-steps/src/reasoning-steps-toggle.d.ts +36 -0
  216. package/es-custom/components/reasoning-steps/src/reasoning-steps-toggle.js +81 -0
  217. package/es-custom/components/reasoning-steps/src/reasoning-steps-toggle.js.map +1 -0
  218. package/es-custom/components/reasoning-steps/src/reasoning-steps-toggle.scss.js +13 -0
  219. package/es-custom/components/reasoning-steps/src/reasoning-steps-toggle.scss.js.map +1 -0
  220. package/es-custom/components/reasoning-steps/src/reasoning-steps-toggle.template.d.ts +3 -0
  221. package/es-custom/components/reasoning-steps/src/reasoning-steps-toggle.template.js +43 -0
  222. package/es-custom/components/reasoning-steps/src/reasoning-steps-toggle.template.js.map +1 -0
  223. package/es-custom/components/reasoning-steps/src/reasoning-steps.d.ts +19 -0
  224. package/es-custom/components/reasoning-steps/src/reasoning-steps.js +112 -0
  225. package/es-custom/components/reasoning-steps/src/reasoning-steps.js.map +1 -0
  226. package/es-custom/components/reasoning-steps/src/reasoning-steps.scss.js +13 -0
  227. package/es-custom/components/reasoning-steps/src/reasoning-steps.scss.js.map +1 -0
  228. package/es-custom/components/table/index.d.ts +3 -0
  229. package/es-custom/components/table/index.js +9 -0
  230. package/es-custom/components/table/index.js.map +1 -0
  231. package/es-custom/components/table/src/table-loader.d.ts +4 -0
  232. package/es-custom/components/table/src/table-loader.js +28 -0
  233. package/es-custom/components/table/src/table-loader.js.map +1 -0
  234. package/es-custom/components/table/src/table-pagination.template.d.ts +27 -0
  235. package/es-custom/components/table/src/table-pagination.template.js +55 -0
  236. package/es-custom/components/table/src/table-pagination.template.js.map +1 -0
  237. package/es-custom/components/table/src/table-runtime.d.ts +2 -0
  238. package/es-custom/components/table/src/table-runtime.js +10 -0
  239. package/es-custom/components/table/src/table-runtime.js.map +1 -0
  240. package/es-custom/components/table/src/table-skeleton.template.d.ts +6 -0
  241. package/es-custom/components/table/src/table-skeleton.template.js +34 -0
  242. package/es-custom/components/table/src/table-skeleton.template.js.map +1 -0
  243. package/es-custom/components/table/src/table.d.ts +184 -0
  244. package/es-custom/components/table/src/table.js +543 -0
  245. package/es-custom/components/table/src/table.js.map +1 -0
  246. package/es-custom/components/table/src/table.scss.js +13 -0
  247. package/es-custom/components/table/src/table.scss.js.map +1 -0
  248. package/es-custom/components/table/src/table.template.d.ts +10 -0
  249. package/es-custom/components/table/src/table.template.js +89 -0
  250. package/es-custom/components/table/src/table.template.js.map +1 -0
  251. package/es-custom/components/table/src/types.d.ts +13 -0
  252. package/es-custom/components/table/src/types.js +8 -0
  253. package/es-custom/components/table/src/types.js.map +1 -0
  254. package/es-custom/components/toolbar/index.d.ts +1 -0
  255. package/es-custom/components/toolbar/index.js +9 -0
  256. package/es-custom/components/toolbar/index.js.map +1 -0
  257. package/es-custom/components/toolbar/src/toolbar.d.ts +38 -0
  258. package/es-custom/components/toolbar/src/toolbar.js +191 -0
  259. package/es-custom/components/toolbar/src/toolbar.js.map +1 -0
  260. package/es-custom/components/toolbar/src/toolbar.scss.js +13 -0
  261. package/es-custom/components/toolbar/src/toolbar.scss.js.map +1 -0
  262. package/es-custom/components/workspace-shell/index.d.ts +4 -0
  263. package/es-custom/components/workspace-shell/index.js +12 -0
  264. package/es-custom/components/workspace-shell/index.js.map +1 -0
  265. package/es-custom/components/workspace-shell/src/workspace-shell-body.d.ts +17 -0
  266. package/es-custom/components/workspace-shell/src/workspace-shell-body.js +50 -0
  267. package/es-custom/components/workspace-shell/src/workspace-shell-body.js.map +1 -0
  268. package/es-custom/components/workspace-shell/src/workspace-shell-footer.d.ts +40 -0
  269. package/es-custom/components/workspace-shell/src/workspace-shell-footer.js +144 -0
  270. package/es-custom/components/workspace-shell/src/workspace-shell-footer.js.map +1 -0
  271. package/es-custom/components/workspace-shell/src/workspace-shell-footer.scss.js +13 -0
  272. package/es-custom/components/workspace-shell/src/workspace-shell-footer.scss.js.map +1 -0
  273. package/es-custom/components/workspace-shell/src/workspace-shell-header.d.ts +28 -0
  274. package/es-custom/components/workspace-shell/src/workspace-shell-header.js +78 -0
  275. package/es-custom/components/workspace-shell/src/workspace-shell-header.js.map +1 -0
  276. package/es-custom/components/workspace-shell/src/workspace-shell-header.scss.js +13 -0
  277. package/es-custom/components/workspace-shell/src/workspace-shell-header.scss.js.map +1 -0
  278. package/es-custom/components/workspace-shell/src/workspace-shell.d.ts +19 -0
  279. package/es-custom/components/workspace-shell/src/workspace-shell.js +56 -0
  280. package/es-custom/components/workspace-shell/src/workspace-shell.js.map +1 -0
  281. package/es-custom/components/workspace-shell/src/workspace-shell.scss.js +13 -0
  282. package/es-custom/components/workspace-shell/src/workspace-shell.scss.js.map +1 -0
  283. package/es-custom/globals/decorators/carbon-element.d.ts +37 -0
  284. package/es-custom/globals/decorators/carbon-element.js +68 -0
  285. package/es-custom/globals/decorators/carbon-element.js.map +1 -0
  286. package/es-custom/globals/decorators/index.d.ts +1 -0
  287. package/es-custom/globals/decorators/index.js +9 -0
  288. package/es-custom/globals/decorators/index.js.map +1 -0
  289. package/es-custom/globals/settings.d.ts +2 -0
  290. package/es-custom/globals/settings.js +20 -0
  291. package/es-custom/globals/settings.js.map +1 -0
  292. package/es-custom/globals/utils/uuid.d.ts +5 -0
  293. package/es-custom/globals/utils/uuid.js +32 -0
  294. package/es-custom/globals/utils/uuid.js.map +1 -0
  295. package/es-custom/node_modules/@carbon/utilities/es/documentLang/documentLang.js +9 -0
  296. package/es-custom/node_modules/@carbon/utilities/es/documentLang/documentLang.js.map +1 -0
  297. package/es-custom/node_modules/@carbon/utilities/es/overflowHandler/overflowHandler.js +11 -0
  298. package/es-custom/node_modules/@carbon/utilities/es/overflowHandler/overflowHandler.js.map +1 -0
  299. package/es-custom/react/ai-label.d.ts +4 -0
  300. package/es-custom/react/ai-label.js +28 -0
  301. package/es-custom/react/ai-label.js.map +1 -0
  302. package/es-custom/react/button.d.ts +6 -0
  303. package/es-custom/react/button.js +29 -0
  304. package/es-custom/react/button.js.map +1 -0
  305. package/es-custom/react/card.d.ts +9 -0
  306. package/es-custom/react/card.js +43 -0
  307. package/es-custom/react/card.js.map +1 -0
  308. package/es-custom/react/chain-of-thought-step.d.ts +4 -0
  309. package/es-custom/react/chain-of-thought-step.js +32 -0
  310. package/es-custom/react/chain-of-thought-step.js.map +1 -0
  311. package/es-custom/react/chain-of-thought-toggle.d.ts +6 -0
  312. package/es-custom/react/chain-of-thought-toggle.js +31 -0
  313. package/es-custom/react/chain-of-thought-toggle.js.map +1 -0
  314. package/es-custom/react/chain-of-thought.d.ts +7 -0
  315. package/es-custom/react/chain-of-thought.js +33 -0
  316. package/es-custom/react/chain-of-thought.js.map +1 -0
  317. package/es-custom/react/chat-button.d.ts +13 -0
  318. package/es-custom/react/chat-button.js +30 -0
  319. package/es-custom/react/chat-button.js.map +1 -0
  320. package/es-custom/react/code-snippet-card.d.ts +4 -0
  321. package/es-custom/react/code-snippet-card.js +31 -0
  322. package/es-custom/react/code-snippet-card.js.map +1 -0
  323. package/es-custom/react/code-snippet.d.ts +4 -0
  324. package/es-custom/react/code-snippet.js +31 -0
  325. package/es-custom/react/code-snippet.js.map +1 -0
  326. package/es-custom/react/content-switcher.d.ts +7 -0
  327. package/es-custom/react/content-switcher.js +37 -0
  328. package/es-custom/react/content-switcher.js.map +1 -0
  329. package/es-custom/react/feedback-buttons.d.ts +4 -0
  330. package/es-custom/react/feedback-buttons.js +31 -0
  331. package/es-custom/react/feedback-buttons.js.map +1 -0
  332. package/es-custom/react/feedback.d.ts +6 -0
  333. package/es-custom/react/feedback.js +32 -0
  334. package/es-custom/react/feedback.js.map +1 -0
  335. package/es-custom/react/icon-button.d.ts +4 -0
  336. package/es-custom/react/icon-button.js +28 -0
  337. package/es-custom/react/icon-button.js.map +1 -0
  338. package/es-custom/react/icon.d.ts +4 -0
  339. package/es-custom/react/icon.js +28 -0
  340. package/es-custom/react/icon.js.map +1 -0
  341. package/es-custom/react/inline-notification.d.ts +4 -0
  342. package/es-custom/react/inline-notification.js +28 -0
  343. package/es-custom/react/inline-notification.js.map +1 -0
  344. package/es-custom/react/markdown.d.ts +4 -0
  345. package/es-custom/react/markdown.js +28 -0
  346. package/es-custom/react/markdown.js.map +1 -0
  347. package/es-custom/react/overflow-menu.d.ts +9 -0
  348. package/es-custom/react/overflow-menu.js +40 -0
  349. package/es-custom/react/overflow-menu.js.map +1 -0
  350. package/es-custom/react/processing.d.ts +4 -0
  351. package/es-custom/react/processing.js +28 -0
  352. package/es-custom/react/processing.js.map +1 -0
  353. package/es-custom/react/reasoning-step.d.ts +4 -0
  354. package/es-custom/react/reasoning-step.js +32 -0
  355. package/es-custom/react/reasoning-step.js.map +1 -0
  356. package/es-custom/react/reasoning-steps-toggle.d.ts +6 -0
  357. package/es-custom/react/reasoning-steps-toggle.js +31 -0
  358. package/es-custom/react/reasoning-steps-toggle.js.map +1 -0
  359. package/es-custom/react/reasoning-steps.d.ts +4 -0
  360. package/es-custom/react/reasoning-steps.js +28 -0
  361. package/es-custom/react/reasoning-steps.js.map +1 -0
  362. package/es-custom/react/tag.d.ts +4 -0
  363. package/es-custom/react/tag.js +28 -0
  364. package/es-custom/react/tag.js.map +1 -0
  365. package/es-custom/react/tile.d.ts +7 -0
  366. package/es-custom/react/tile.js +34 -0
  367. package/es-custom/react/tile.js.map +1 -0
  368. package/es-custom/react/tool-call-data.d.ts +4 -0
  369. package/es-custom/react/tool-call-data.js +28 -0
  370. package/es-custom/react/tool-call-data.js.map +1 -0
  371. package/es-custom/react/toolbar.d.ts +4 -0
  372. package/es-custom/react/toolbar.js +28 -0
  373. package/es-custom/react/toolbar.js.map +1 -0
  374. package/es-custom/react/utils/withWebComponentBridge.d.ts +15 -0
  375. package/es-custom/react/utils/withWebComponentBridge.js +95 -0
  376. package/es-custom/react/utils/withWebComponentBridge.js.map +1 -0
  377. package/es-custom/react/workspace-shell.d.ts +11 -0
  378. package/es-custom/react/workspace-shell.js +49 -0
  379. package/es-custom/react/workspace-shell.js.map +1 -0
  380. package/es-custom/testing/load-all-lazy-deps.d.ts +10 -0
  381. package/es-custom/testing/load-all-lazy-deps.js +30 -0
  382. package/es-custom/testing/load-all-lazy-deps.js.map +1 -0
  383. package/package.json +8 -6
  384. package/dist/16-C9Ph5740.js +0 -91
  385. package/dist/16-Dw0Ci4Fd.js +0 -91
  386. package/dist/16-FH37w-8T.js +0 -91
  387. package/dist/apl-ugs9-gp6.js +0 -91
  388. package/dist/asciiarmor-BsIYfA6P.js +0 -91
  389. package/dist/asn1-HkF5z2_O.js +0 -91
  390. package/dist/asterisk-CAIjKZq6.js +0 -91
  391. package/dist/button-Bc3tNCYN.js +0 -157
  392. package/dist/button-skeleton-DH50p4bH.js +0 -131
  393. package/dist/carbon-element-C38isbCs.js +0 -91
  394. package/dist/card.min.js +0 -193
  395. package/dist/chain-of-thought.min.js +0 -294
  396. package/dist/chat-button.min.js +0 -107
  397. package/dist/checkbox-skeleton-CS3inOnf.js +0 -166
  398. package/dist/class-map-BE4cOc2X.js +0 -128
  399. package/dist/clike-BIFB3b_k.js +0 -91
  400. package/dist/clojure-CXNiCqqB.js +0 -91
  401. package/dist/cmake-CR9NkLsk.js +0 -91
  402. package/dist/cobol-Ck90O_9v.js +0 -91
  403. package/dist/code-snippet.min.js +0 -91
  404. package/dist/codemirror-runtime-D8qZsrKE.js +0 -173
  405. package/dist/coffeescript-C0nvD2I-.js +0 -91
  406. package/dist/collection-helpers-BqatNkHh.js +0 -91
  407. package/dist/commonlisp-BROP4IME.js +0 -91
  408. package/dist/crystal-D6K96_U-.js +0 -91
  409. package/dist/css-CdH_tvvW.js +0 -91
  410. package/dist/cypher-CtHiEXsa.js +0 -91
  411. package/dist/d-Dcs18F9P.js +0 -91
  412. package/dist/diff-Bp64yuxL.js +0 -91
  413. package/dist/dockerfile-1DOwDLks.js +0 -91
  414. package/dist/dtd-DBKuh-AW.js +0 -91
  415. package/dist/dylan-ZUYgifRI.js +0 -91
  416. package/dist/ebnf-CEelJcGq.js +0 -91
  417. package/dist/ecl-CphVX9Cq.js +0 -91
  418. package/dist/eiffel-BQPneqZH.js +0 -91
  419. package/dist/elm-DSPAgqOt.js +0 -91
  420. package/dist/erlang-D_rMo9WA.js +0 -91
  421. package/dist/factor-CMTQjKbR.js +0 -91
  422. package/dist/fcl-BX3Rw6-t.js +0 -91
  423. package/dist/feedback.min.js +0 -281
  424. package/dist/forth-BGhjMNd3.js +0 -91
  425. package/dist/fortran-AEBjaYMh.js +0 -91
  426. package/dist/gas-DZXAjJGb.js +0 -91
  427. package/dist/gherkin-DxJx7fVg.js +0 -91
  428. package/dist/groovy-dfLbXlDy.js +0 -91
  429. package/dist/haskell-DyZ9y283.js +0 -91
  430. package/dist/haxe-D47ScCJn.js +0 -91
  431. package/dist/http-CQ5YdFwi.js +0 -91
  432. package/dist/icon-button-jLtiwRb4.js +0 -143
  433. package/dist/icon-loader-BKTEuybf.js +0 -101
  434. package/dist/idl-DMLd56tu.js +0 -91
  435. package/dist/if-defined-Dk7gHH6I.js +0 -96
  436. package/dist/index--CctdwCC.js +0 -91
  437. package/dist/index--ktPsmev.js +0 -168
  438. package/dist/index-BHiWR-3B.js +0 -91
  439. package/dist/index-BI8bnAEd.js +0 -91
  440. package/dist/index-BbGF94cg.js +0 -91
  441. package/dist/index-BnQBLEPx.js +0 -91
  442. package/dist/index-BsUuLdXD.js +0 -91
  443. package/dist/index-C2xfmTPp.js +0 -91
  444. package/dist/index-C3BN0MYy.js +0 -91
  445. package/dist/index-CD4di8Cf.js +0 -91
  446. package/dist/index-CVyUt3LQ.js +0 -91
  447. package/dist/index-Cg7m4sg1.js +0 -91
  448. package/dist/index-ClimwzxW.js +0 -91
  449. package/dist/index-CrevYuI-.js +0 -91
  450. package/dist/index-D5kcnwm2.js +0 -91
  451. package/dist/index-DCbIO0Hl.js +0 -91
  452. package/dist/index-Db-BDibx.js +0 -91
  453. package/dist/index-DmpHBiKi.js +0 -91
  454. package/dist/index-DzPjFlOn.js +0 -91
  455. package/dist/index-MgVf_8OP.js +0 -91
  456. package/dist/index-WHfhssUV.js +0 -91
  457. package/dist/index-rdaURAlB.js +0 -91
  458. package/dist/index-tFrMu4B_.js +0 -278
  459. package/dist/index-yLnmvqXN.js +0 -91
  460. package/dist/javascript-CB_5CYW7.js +0 -91
  461. package/dist/julia-DmOIk9mc.js +0 -91
  462. package/dist/livescript-BkgLC0lL.js +0 -91
  463. package/dist/loading-icon-CmnM4I_H.js +0 -106
  464. package/dist/lua-CWM_r9JC.js +0 -91
  465. package/dist/markdown.min.js +0 -298
  466. package/dist/mathematica-BSatVfC1.js +0 -91
  467. package/dist/mbox-4am1R8hd.js +0 -91
  468. package/dist/mirc-pdtTGW9l.js +0 -91
  469. package/dist/mllike-C0YFsE1U.js +0 -91
  470. package/dist/modelica-DVTWSHR-.js +0 -91
  471. package/dist/mscgen-ByAgrjGx.js +0 -91
  472. package/dist/mumps-X97p0_h_.js +0 -91
  473. package/dist/nginx-CqUadVPT.js +0 -91
  474. package/dist/nsis-Urp7BrWk.js +0 -91
  475. package/dist/ntriples-CToxeTsT.js +0 -91
  476. package/dist/octave-Dc4mpp8A.js +0 -91
  477. package/dist/oz-DX2Pk_mI.js +0 -91
  478. package/dist/pascal-B9GL_nqz.js +0 -91
  479. package/dist/perl-BvZFpXKD.js +0 -91
  480. package/dist/pig-BxFxDHBk.js +0 -91
  481. package/dist/powershell-CwCLRM7O.js +0 -91
  482. package/dist/processing.min.js +0 -105
  483. package/dist/properties-3nFD-Vnh.js +0 -91
  484. package/dist/protobuf-RqEyuWlw.js +0 -91
  485. package/dist/pug-1L6dEUb3.js +0 -91
  486. package/dist/puppet-C-gxR1ON.js +0 -91
  487. package/dist/python-BSbm1-vO.js +0 -91
  488. package/dist/q-4yAbTbi2.js +0 -91
  489. package/dist/r-BxfoMXlJ.js +0 -91
  490. package/dist/reasoning-steps.min.js +0 -202
  491. package/dist/rpm-DOp6MTEb.js +0 -91
  492. package/dist/ruby-DD6QCAKT.js +0 -91
  493. package/dist/sas-Cb-4sFOe.js +0 -91
  494. package/dist/scheme-CZsCl8E_.js +0 -91
  495. package/dist/settings-e2aItLYn.js +0 -99
  496. package/dist/shell-Bba6ETw_.js +0 -91
  497. package/dist/sieve-DZz1QovM.js +0 -91
  498. package/dist/simple-mode-DAyX7kcU.js +0 -91
  499. package/dist/smalltalk-BVigbKw-.js +0 -91
  500. package/dist/solr-BRh8QRgo.js +0 -91
  501. package/dist/sparql-DPq9GGqu.js +0 -91
  502. package/dist/spreadsheet-DWXWohNi.js +0 -91
  503. package/dist/sql-HgNux1Fi.js +0 -91
  504. package/dist/state-Bv4FM_9B.js +0 -96
  505. package/dist/stex-DB306cTl.js +0 -91
  506. package/dist/stylus-BVbE3BhF.js +0 -91
  507. package/dist/swift-k2z0otOi.js +0 -91
  508. package/dist/sync-D3qEZKNY.js +0 -91
  509. package/dist/table-runtime-Q-ak_IZE.js +0 -510
  510. package/dist/table.min.js +0 -91
  511. package/dist/tcl-BJwoeXra.js +0 -91
  512. package/dist/text-input-BlCqTf_p.js +0 -158
  513. package/dist/textile-9DAvWy-Y.js +0 -91
  514. package/dist/throttle-Bst9TagJ.js +0 -91
  515. package/dist/tiddlywiki-CDJdAycW.js +0 -91
  516. package/dist/tiki-Dlg5DFIR.js +0 -91
  517. package/dist/toml-DGqt7oU6.js +0 -91
  518. package/dist/toolbar.min.js +0 -178
  519. package/dist/troff-xJv1Y_X_.js +0 -91
  520. package/dist/ttcn-cfg-CrKiCUlI.js +0 -91
  521. package/dist/ttcn-dBogkyiy.js +0 -91
  522. package/dist/turtle-qtDt5E0f.js +0 -91
  523. package/dist/vb-h5NatM2n.js +0 -91
  524. package/dist/vbscript-BnXXn72l.js +0 -91
  525. package/dist/velocity-C_ZqzMiT.js +0 -91
  526. package/dist/verilog-s8oM517K.js +0 -91
  527. package/dist/vhdl-BgZd0MBH.js +0 -91
  528. package/dist/webidl-CDRn4bGa.js +0 -91
  529. package/dist/workspace-shell.min.js +0 -157
  530. package/dist/xquery-DTfjYCD7.js +0 -91
  531. package/dist/yacas-DxV9-gAO.js +0 -91
  532. package/dist/z80-PFwavMao.js +0 -91
  533. package/es/node_modules/@codemirror/autocomplete/dist/index.js +0 -258
  534. package/es/node_modules/@codemirror/autocomplete/dist/index.js.map +0 -1
  535. package/es/node_modules/@codemirror/commands/dist/index.js +0 -1140
  536. package/es/node_modules/@codemirror/commands/dist/index.js.map +0 -1
  537. package/es/node_modules/@codemirror/lint/dist/index.js +0 -636
  538. package/es/node_modules/@codemirror/lint/dist/index.js.map +0 -1
  539. package/es/node_modules/@lezer/common/dist/index.js +0 -253
  540. package/es/node_modules/@lezer/common/dist/index.js.map +0 -1
  541. package/es/node_modules/crelt/index.js +0 -37
  542. 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,6 @@
1
+ declare function markdownTemplate({ slotRef, onSlotChange, renderedContent, }: {
2
+ slotRef: any;
3
+ onSlotChange: () => void;
4
+ renderedContent: unknown;
5
+ }): import("lit-html").TemplateResult<1>;
6
+ export { markdownTemplate };
@@ -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 };