@carbon/ai-chat-components 0.5.0 → 0.6.0-rc.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 (483) hide show
  1. package/custom-elements.json +9201 -295
  2. package/dist/16-B6dpbhwk.js +91 -0
  3. package/dist/apl-Bkd9Mf6P.js +91 -0
  4. package/dist/asciiarmor-DL4R2aFc.js +91 -0
  5. package/dist/asn1-BNuq0wMN.js +91 -0
  6. package/dist/asterisk-CKsJI4Xo.js +91 -0
  7. package/dist/button-Cl3aa-QH.js +157 -0
  8. package/dist/button-skeleton-DpmYT5sr.js +116 -0
  9. package/dist/carbon-element-DtQeYrv7.js +91 -0
  10. package/dist/carbon-element-wyoWZuGw.js +91 -0
  11. package/dist/chain-of-thought.min.js +276 -0
  12. package/dist/chat-button.min.js +71 -81
  13. package/dist/checkbox-skeleton-77m2gyNb.js +166 -0
  14. package/dist/class-map-BgQK6m9u.js +106 -0
  15. package/dist/clike-7TJ9zfKW.js +91 -0
  16. package/dist/clojure-9jpZ60Lu.js +91 -0
  17. package/dist/cmake-UY0DwvRL.js +91 -0
  18. package/dist/cobol-DhfZi79a.js +91 -0
  19. package/dist/code-snippet.min.js +91 -0
  20. package/dist/codemirror-runtime-ClX6d06H.js +173 -0
  21. package/dist/coffeescript-mDf6LSpC.js +91 -0
  22. package/dist/collection-helpers-DTO_rBxT.js +91 -0
  23. package/dist/commonlisp-Qa7gZPAc.js +91 -0
  24. package/dist/crystal-C1gbEnje.js +91 -0
  25. package/dist/css-BLorXS28.js +91 -0
  26. package/dist/custom-element-C-oe1CPQ.js +96 -0
  27. package/dist/cypher-BY0J-JQD.js +91 -0
  28. package/dist/d-zkooxxUz.js +91 -0
  29. package/dist/diff-CrCOHpAq.js +91 -0
  30. package/dist/dockerfile-D7x4UVxN.js +91 -0
  31. package/dist/dtd-Cp_rfrvO.js +91 -0
  32. package/dist/dylan-BWjG5gpG.js +91 -0
  33. package/dist/ebnf-JN5Vq0lF.js +91 -0
  34. package/dist/ecl-De3xBvSp.js +91 -0
  35. package/dist/eiffel-BUg3McKi.js +91 -0
  36. package/dist/elm-BzEpaycL.js +91 -0
  37. package/dist/erlang-CRda3Szm.js +91 -0
  38. package/dist/factor-HH6tZH2o.js +91 -0
  39. package/dist/fcl-DethtZZ9.js +91 -0
  40. package/dist/feedback.min.js +300 -0
  41. package/dist/forth-CvRI4Fp8.js +91 -0
  42. package/dist/fortran-BlOOIWks.js +91 -0
  43. package/dist/gas-D13dt2I8.js +91 -0
  44. package/dist/gherkin-DeOVdg90.js +91 -0
  45. package/dist/groovy-HwkbYX11.js +91 -0
  46. package/dist/haskell-BrtcJMpO.js +91 -0
  47. package/dist/haxe-DLraHdYm.js +91 -0
  48. package/dist/http-DZFwp0rs.js +91 -0
  49. package/dist/icon-button-DLTQYCDh.js +143 -0
  50. package/dist/icon-loader-DNSGSUXr.js +101 -0
  51. package/dist/idl-9eLgsa_L.js +91 -0
  52. package/dist/if-defined-D_Efffcr.js +96 -0
  53. package/dist/index-07U-x-DZ.js +91 -0
  54. package/dist/index-B-leT4Qo.js +91 -0
  55. package/dist/index-BCIOZ3Iv.js +91 -0
  56. package/dist/index-BJcdJS87.js +91 -0
  57. package/dist/index-BlpbVMq_.js +91 -0
  58. package/dist/index-CB8fQWmx.js +91 -0
  59. package/dist/index-CDmjsjkj.js +91 -0
  60. package/dist/index-CHI0qSLN.js +91 -0
  61. package/dist/index-CHor-HRv.js +91 -0
  62. package/dist/index-C_x1WGc6.js +91 -0
  63. package/dist/index-Cg3MLvVN.js +91 -0
  64. package/dist/index-Cp5sEHjB.js +367 -0
  65. package/dist/index-CtUoNlIM.js +91 -0
  66. package/dist/index-CusUYvgE.js +91 -0
  67. package/dist/index-CvvPafwM.js +168 -0
  68. package/dist/index-DDjGfF24.js +91 -0
  69. package/dist/index-DxS06aLY.js +91 -0
  70. package/dist/index-FwP_JV-c.js +91 -0
  71. package/dist/index-Hcd_VCMd.js +91 -0
  72. package/dist/index-LlI0lXKE.js +91 -0
  73. package/dist/index-Q34JRmNZ.js +91 -0
  74. package/dist/index-f7UAoB15.js +91 -0
  75. package/dist/index-mQZVoo3c.js +91 -0
  76. package/dist/index-yd1vgygF.js +91 -0
  77. package/dist/javascript-hgM39w7C.js +91 -0
  78. package/dist/julia-DtM_gc7j.js +91 -0
  79. package/dist/{settings-XW6XylsZ.js → lit-element-BnGYooZk.js} +70 -12
  80. package/dist/livescript-BySrhTUe.js +91 -0
  81. package/dist/lua-ChD7R8km.js +91 -0
  82. package/dist/markdown.min.js +296 -0
  83. package/dist/mathematica-kcP6Cajy.js +91 -0
  84. package/dist/mbox-Bw_KHaUe.js +91 -0
  85. package/dist/mirc-jvko25mJ.js +91 -0
  86. package/dist/mllike-CNKOuVeX.js +91 -0
  87. package/dist/modelica-YfrFDmxR.js +91 -0
  88. package/dist/mscgen-Bok75bzR.js +91 -0
  89. package/dist/mumps-BTuSBaU1.js +91 -0
  90. package/dist/nginx-DwZuHJnC.js +91 -0
  91. package/dist/nsis-CIx93lk7.js +91 -0
  92. package/dist/ntriples-Djj269Be.js +91 -0
  93. package/dist/octave-CrdvfVOv.js +91 -0
  94. package/dist/oz-C4bYf6je.js +91 -0
  95. package/dist/pascal-D2KPt6vl.js +91 -0
  96. package/dist/perl-5YDHx0ay.js +91 -0
  97. package/dist/pig-DzmRINVg.js +91 -0
  98. package/dist/powershell-BT_ybnoW.js +91 -0
  99. package/dist/processing.min.js +71 -4
  100. package/dist/properties-4YytEGly.js +91 -0
  101. package/dist/protobuf-CI-p1B8j.js +91 -0
  102. package/dist/pug-DLHGbkXU.js +91 -0
  103. package/dist/puppet-BbNNtXxr.js +91 -0
  104. package/dist/python-D3PSFk0-.js +91 -0
  105. package/dist/q-ObXF982D.js +91 -0
  106. package/dist/query-DLqIY4Wn.js +101 -0
  107. package/dist/r-DiZLK5qY.js +91 -0
  108. package/dist/radio-group-manager-GuAarpdg.js +91 -0
  109. package/dist/reasoning-steps.min.js +171 -0
  110. package/dist/repeat-DQkjGru3.js +96 -0
  111. package/dist/rpm-BA1XlISV.js +91 -0
  112. package/dist/ruby-o3bYJp8s.js +91 -0
  113. package/dist/sas-YW-OKZPX.js +91 -0
  114. package/dist/scheme-D5iPrCDC.js +91 -0
  115. package/dist/settings-BfbbHBjJ.js +99 -0
  116. package/dist/shell-BMwJ8_g7.js +91 -0
  117. package/dist/sieve-BE4sKTG2.js +91 -0
  118. package/dist/simple-mode-2GmZ0AR1.js +91 -0
  119. package/dist/smalltalk-CI3t8V3g.js +91 -0
  120. package/dist/solr-xhjjvvCE.js +91 -0
  121. package/dist/sparql-D64FGxiD.js +91 -0
  122. package/dist/spreadsheet-CnwQq-zp.js +91 -0
  123. package/dist/sql-CWCB15es.js +91 -0
  124. package/dist/state-BF51fRID.js +96 -0
  125. package/dist/stex-DqIfOYF1.js +91 -0
  126. package/dist/stylus-xz-vruRQ.js +91 -0
  127. package/dist/swift-BPHP66va.js +91 -0
  128. package/dist/sync-HIZypRbs.js +91 -0
  129. package/dist/table-runtime-C7apcdgu.js +510 -0
  130. package/dist/table.min.js +91 -0
  131. package/dist/tcl-BSDESp20.js +91 -0
  132. package/dist/text-input-Ca8K1Ydg.js +158 -0
  133. package/dist/textile-COeIYMRW.js +91 -0
  134. package/dist/throttle-CN5lMS8t.js +91 -0
  135. package/dist/tiddlywiki-Bs5PoKQf.js +91 -0
  136. package/dist/tiki-DqKGtwP5.js +91 -0
  137. package/dist/tile-container.min.js +70 -14
  138. package/dist/toml-DA5Yl8WK.js +91 -0
  139. package/dist/toolbar.min.js +180 -0
  140. package/dist/troff-BRNQrjuW.js +91 -0
  141. package/dist/ttcn-Bn8eKWOh.js +91 -0
  142. package/dist/ttcn-cfg-BO-9W9JU.js +91 -0
  143. package/dist/turtle-CxuhUAyA.js +91 -0
  144. package/dist/vb-C40-VEDj.js +91 -0
  145. package/dist/vbscript-BogOMGMf.js +91 -0
  146. package/dist/velocity-CQs7G9b4.js +91 -0
  147. package/dist/verilog-CelFoyTQ.js +91 -0
  148. package/dist/vhdl-BlCs0iAG.js +91 -0
  149. package/dist/webidl-VWB4mjSa.js +91 -0
  150. package/dist/workspace-shell.min.js +162 -0
  151. package/dist/xquery-B8qd1YwF.js +91 -0
  152. package/dist/yacas-OhfCFLfI.js +91 -0
  153. package/dist/z80-oZfTgdDp.js +91 -0
  154. package/es/components/chain-of-thought/index.d.ts +4 -0
  155. package/es/components/chain-of-thought/index.js +11 -0
  156. package/es/components/chain-of-thought/index.js.map +1 -0
  157. package/es/components/chain-of-thought/src/cds-aichat-chain-of-thought.d.ts +15 -0
  158. package/es/components/chain-of-thought/src/cds-aichat-chain-of-thought.js +36 -0
  159. package/es/components/chain-of-thought/src/cds-aichat-chain-of-thought.js.map +1 -0
  160. package/es/components/chain-of-thought/src/chain-of-thought.d.ts +87 -0
  161. package/es/components/chain-of-thought/src/chain-of-thought.js +189 -0
  162. package/es/components/chain-of-thought/src/chain-of-thought.js.map +1 -0
  163. package/es/components/chain-of-thought/src/chain-of-thought.scss.js +13 -0
  164. package/es/components/chain-of-thought/src/chain-of-thought.scss.js.map +1 -0
  165. package/es/components/chain-of-thought/src/chain-of-thought.template.d.ts +5 -0
  166. package/es/components/chain-of-thought/src/chain-of-thought.template.js +206 -0
  167. package/es/components/chain-of-thought/src/chain-of-thought.template.js.map +1 -0
  168. package/es/components/chain-of-thought/src/parse-unknown-data-to-markdown.d.ts +10 -0
  169. package/es/components/chain-of-thought/src/parse-unknown-data-to-markdown.js +50 -0
  170. package/es/components/chain-of-thought/src/parse-unknown-data-to-markdown.js.map +1 -0
  171. package/es/components/chain-of-thought/src/types.d.ts +73 -0
  172. package/es/components/chain-of-thought/src/types.js +29 -0
  173. package/es/components/chain-of-thought/src/types.js.map +1 -0
  174. package/es/components/chat-button/defs.d.ts +25 -0
  175. package/es/components/chat-button/defs.js +36 -0
  176. package/es/components/chat-button/defs.js.map +1 -0
  177. package/es/components/chat-button/index.d.ts +1 -1
  178. package/es/components/chat-button/index.js +1 -1
  179. package/es/components/chat-button/src/chat-button.d.ts +32 -0
  180. package/es/components/chat-button/{chat-button.js → src/chat-button.js} +16 -10
  181. package/es/components/chat-button/src/chat-button.js.map +1 -0
  182. package/es/components/chat-button/src/chat-button.scss.js +1 -1
  183. package/es/components/code-snippet/index.d.ts +3 -0
  184. package/es/components/code-snippet/index.js +10 -0
  185. package/es/components/code-snippet/index.js.map +1 -0
  186. package/es/components/code-snippet/src/code-snippet-tile-container.d.ts +32 -0
  187. package/es/components/code-snippet/src/code-snippet-tile-container.js +143 -0
  188. package/es/components/code-snippet/src/code-snippet-tile-container.js.map +1 -0
  189. package/es/components/code-snippet/src/code-snippet.d.ts +482 -0
  190. package/es/components/code-snippet/src/code-snippet.js +592 -0
  191. package/es/components/code-snippet/src/code-snippet.js.map +1 -0
  192. package/es/components/code-snippet/src/code-snippet.scss.js +13 -0
  193. package/es/components/code-snippet/src/code-snippet.scss.js.map +1 -0
  194. package/es/components/code-snippet/src/codemirror/base-setup.d.ts +12 -0
  195. package/es/components/code-snippet/src/codemirror/base-setup.js +65 -0
  196. package/es/components/code-snippet/src/codemirror/base-setup.js.map +1 -0
  197. package/es/components/code-snippet/src/codemirror/codemirror-loader.d.ts +12 -0
  198. package/es/components/code-snippet/src/codemirror/codemirror-loader.js +36 -0
  199. package/es/components/code-snippet/src/codemirror/codemirror-loader.js.map +1 -0
  200. package/es/components/code-snippet/src/codemirror/codemirror-runtime.d.ts +7 -0
  201. package/es/components/code-snippet/src/codemirror/codemirror-runtime.js +13 -0
  202. package/es/components/code-snippet/src/codemirror/codemirror-runtime.js.map +1 -0
  203. package/es/components/code-snippet/src/codemirror/content-sync.d.ts +12 -0
  204. package/es/components/code-snippet/src/codemirror/content-sync.js +72 -0
  205. package/es/components/code-snippet/src/codemirror/content-sync.js.map +1 -0
  206. package/es/components/code-snippet/src/codemirror/editor-manager.d.ts +28 -0
  207. package/es/components/code-snippet/src/codemirror/editor-manager.js +75 -0
  208. package/es/components/code-snippet/src/codemirror/editor-manager.js.map +1 -0
  209. package/es/components/code-snippet/src/codemirror/language-controller.d.ts +38 -0
  210. package/es/components/code-snippet/src/codemirror/language-controller.js +220 -0
  211. package/es/components/code-snippet/src/codemirror/language-controller.js.map +1 -0
  212. package/es/components/code-snippet/src/codemirror/language-data.d.ts +6 -0
  213. package/es/components/code-snippet/src/codemirror/language-data.js +1043 -0
  214. package/es/components/code-snippet/src/codemirror/language-data.js.map +1 -0
  215. package/es/components/code-snippet/src/codemirror/language-utils.d.ts +79 -0
  216. package/es/components/code-snippet/src/codemirror/language-utils.js +219 -0
  217. package/es/components/code-snippet/src/codemirror/language-utils.js.map +1 -0
  218. package/es/components/code-snippet/src/codemirror/marker-utils.d.ts +123 -0
  219. package/es/components/code-snippet/src/codemirror/marker-utils.js +183 -0
  220. package/es/components/code-snippet/src/codemirror/marker-utils.js.map +1 -0
  221. package/es/components/code-snippet/src/codemirror/theme.d.ts +54 -0
  222. package/es/components/code-snippet/src/codemirror/theme.js +320 -0
  223. package/es/components/code-snippet/src/codemirror/theme.js.map +1 -0
  224. package/es/components/code-snippet/src/dom-utils.d.ts +24 -0
  225. package/es/components/code-snippet/src/dom-utils.js +63 -0
  226. package/es/components/code-snippet/src/dom-utils.js.map +1 -0
  227. package/es/components/code-snippet/src/formatters.d.ts +4 -0
  228. package/es/components/code-snippet/src/formatters.js +19 -0
  229. package/es/components/code-snippet/src/formatters.js.map +1 -0
  230. package/es/components/code-snippet/src/layout-utils.d.ts +22 -0
  231. package/es/components/code-snippet/src/layout-utils.js +63 -0
  232. package/es/components/code-snippet/src/layout-utils.js.map +1 -0
  233. package/es/components/code-snippet/src/streaming-manager.d.ts +24 -0
  234. package/es/components/code-snippet/src/streaming-manager.js +120 -0
  235. package/es/components/code-snippet/src/streaming-manager.js.map +1 -0
  236. package/es/components/feedback/index.d.ts +7 -0
  237. package/es/components/feedback/index.js +12 -0
  238. package/es/components/feedback/index.js.map +1 -0
  239. package/es/components/feedback/src/cds-aichat-feedback-buttons.d.ts +15 -0
  240. package/es/components/feedback/src/cds-aichat-feedback-buttons.js +36 -0
  241. package/es/components/feedback/src/cds-aichat-feedback-buttons.js.map +1 -0
  242. package/es/components/feedback/src/cds-aichat-feedback.d.ts +15 -0
  243. package/es/components/feedback/src/cds-aichat-feedback.js +36 -0
  244. package/es/components/feedback/src/cds-aichat-feedback.js.map +1 -0
  245. package/es/components/feedback/src/feedback-buttons.d.ts +56 -0
  246. package/es/components/feedback/src/feedback-buttons.js +104 -0
  247. package/es/components/feedback/src/feedback-buttons.js.map +1 -0
  248. package/es/components/feedback/src/feedback-buttons.scss.js +13 -0
  249. package/es/components/feedback/src/feedback-buttons.scss.js.map +1 -0
  250. package/es/components/feedback/src/feedback-buttons.template.d.ts +4 -0
  251. package/es/components/feedback/src/feedback-buttons.template.js +79 -0
  252. package/es/components/feedback/src/feedback-buttons.template.js.map +1 -0
  253. package/es/components/feedback/src/feedback.d.ts +114 -0
  254. package/es/components/feedback/src/feedback.js +182 -0
  255. package/es/components/feedback/src/feedback.js.map +1 -0
  256. package/es/components/feedback/src/feedback.scss.js +13 -0
  257. package/es/components/feedback/src/feedback.scss.js.map +1 -0
  258. package/es/components/feedback/src/feedback.template.d.ts +12 -0
  259. package/es/components/feedback/src/feedback.template.js +115 -0
  260. package/es/components/feedback/src/feedback.template.js.map +1 -0
  261. package/es/components/markdown/index.d.ts +2 -0
  262. package/es/components/markdown/index.js +9 -0
  263. package/es/components/markdown/index.js.map +1 -0
  264. package/es/components/markdown/src/cds-aichat-markdown.d.ts +13 -0
  265. package/es/components/markdown/src/cds-aichat-markdown.js +35 -0
  266. package/es/components/markdown/src/cds-aichat-markdown.js.map +1 -0
  267. package/es/components/markdown/src/markdown-renderer.d.ts +62 -0
  268. package/es/components/markdown/src/markdown-renderer.js +354 -0
  269. package/es/components/markdown/src/markdown-renderer.js.map +1 -0
  270. package/es/components/markdown/src/markdown-token-tree.d.ts +32 -0
  271. package/es/components/markdown/src/markdown-token-tree.js +178 -0
  272. package/es/components/markdown/src/markdown-token-tree.js.map +1 -0
  273. package/es/components/markdown/src/markdown.d.ts +44 -0
  274. package/es/components/markdown/src/markdown.js +238 -0
  275. package/es/components/markdown/src/markdown.js.map +1 -0
  276. package/es/components/markdown/src/markdown.scss.js +13 -0
  277. package/es/components/markdown/src/markdown.scss.js.map +1 -0
  278. package/es/components/markdown/src/markdown.template.d.ts +3 -0
  279. package/es/components/markdown/src/markdown.template.js +24 -0
  280. package/es/components/markdown/src/markdown.template.js.map +1 -0
  281. package/es/components/markdown/src/plugins/markdown-it-attrs.d.ts +7 -0
  282. package/es/components/markdown/src/plugins/markdown-it-attrs.js +84 -0
  283. package/es/components/markdown/src/plugins/markdown-it-attrs.js.map +1 -0
  284. package/es/components/markdown/src/plugins/markdown-it-highlight.d.ts +7 -0
  285. package/es/components/markdown/src/plugins/markdown-it-highlight.js +59 -0
  286. package/es/components/markdown/src/plugins/markdown-it-highlight.js.map +1 -0
  287. package/es/components/markdown/src/plugins/markdown-it-task-lists.d.ts +12 -0
  288. package/es/components/markdown/src/plugins/markdown-it-task-lists.js +73 -0
  289. package/es/components/markdown/src/plugins/markdown-it-task-lists.js.map +1 -0
  290. package/es/components/markdown/src/plugins/markdownItAttrs/core.d.ts +26 -0
  291. package/es/components/markdown/src/plugins/markdownItAttrs/core.js +330 -0
  292. package/es/components/markdown/src/plugins/markdownItAttrs/core.js.map +1 -0
  293. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/blocks.d.ts +6 -0
  294. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/blocks.js +63 -0
  295. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/blocks.js.map +1 -0
  296. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/code.d.ts +6 -0
  297. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/code.js +43 -0
  298. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/code.js.map +1 -0
  299. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/index.d.ts +5 -0
  300. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/index.js +55 -0
  301. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/index.js.map +1 -0
  302. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/inline.d.ts +19 -0
  303. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/inline.js +210 -0
  304. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/inline.js.map +1 -0
  305. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/lists.d.ts +13 -0
  306. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/lists.js +156 -0
  307. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/lists.js.map +1 -0
  308. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/tables.d.ts +13 -0
  309. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/tables.js +216 -0
  310. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/tables.js.map +1 -0
  311. package/es/components/markdown/src/plugins/markdownItAttrs/types.d.ts +34 -0
  312. package/es/components/markdown/src/plugins/markdownItAttrs/types.js +8 -0
  313. package/es/components/markdown/src/plugins/markdownItAttrs/types.js.map +1 -0
  314. package/es/components/markdown/src/plugins/markdownItAttrs/utils.d.ts +25 -0
  315. package/es/components/markdown/src/plugins/markdownItAttrs/utils.js +62 -0
  316. package/es/components/markdown/src/plugins/markdownItAttrs/utils.js.map +1 -0
  317. package/es/components/markdown/src/utils/html-helpers.d.ts +2 -0
  318. package/es/components/markdown/src/utils/html-helpers.js +204 -0
  319. package/es/components/markdown/src/utils/html-helpers.js.map +1 -0
  320. package/es/components/markdown/src/utils/table-helpers.d.ts +31 -0
  321. package/es/components/markdown/src/utils/table-helpers.js +106 -0
  322. package/es/components/markdown/src/utils/table-helpers.js.map +1 -0
  323. package/es/components/markdown/src/utils.d.ts +8 -0
  324. package/es/components/markdown/src/utils.js +31 -0
  325. package/es/components/markdown/src/utils.js.map +1 -0
  326. package/es/components/reasoning-steps/index.d.ts +2 -0
  327. package/es/components/reasoning-steps/index.js +10 -0
  328. package/es/components/reasoning-steps/index.js.map +1 -0
  329. package/es/components/reasoning-steps/src/cds-aichat-reasoning-step.d.ts +29 -0
  330. package/es/components/reasoning-steps/src/cds-aichat-reasoning-step.js +231 -0
  331. package/es/components/reasoning-steps/src/cds-aichat-reasoning-step.js.map +1 -0
  332. package/es/components/reasoning-steps/src/cds-aichat-reasoning-step.scss.js +13 -0
  333. package/es/components/reasoning-steps/src/cds-aichat-reasoning-step.scss.js.map +1 -0
  334. package/es/components/reasoning-steps/src/cds-aichat-reasoning-steps.d.ts +13 -0
  335. package/es/components/reasoning-steps/src/cds-aichat-reasoning-steps.js +96 -0
  336. package/es/components/reasoning-steps/src/cds-aichat-reasoning-steps.js.map +1 -0
  337. package/es/components/reasoning-steps/src/cds-aichat-reasoning-steps.scss.js +13 -0
  338. package/es/components/reasoning-steps/src/cds-aichat-reasoning-steps.scss.js.map +1 -0
  339. package/es/components/table/index.d.ts +3 -0
  340. package/es/components/table/index.js +9 -0
  341. package/es/components/table/index.js.map +1 -0
  342. package/es/components/table/src/cds-aichat-table.d.ts +262 -0
  343. package/es/components/table/src/cds-aichat-table.js +511 -0
  344. package/es/components/table/src/cds-aichat-table.js.map +1 -0
  345. package/es/components/table/src/table-loader.d.ts +4 -0
  346. package/es/components/table/src/table-loader.js +28 -0
  347. package/es/components/table/src/table-loader.js.map +1 -0
  348. package/es/components/table/src/table-pagination.template.d.ts +27 -0
  349. package/es/components/table/src/table-pagination.template.js +55 -0
  350. package/es/components/table/src/table-pagination.template.js.map +1 -0
  351. package/es/components/table/src/table-runtime.d.ts +2 -0
  352. package/es/components/table/src/table-runtime.js +10 -0
  353. package/es/components/table/src/table-runtime.js.map +1 -0
  354. package/es/components/table/src/table-skeleton.template.d.ts +6 -0
  355. package/es/components/table/src/table-skeleton.template.js +34 -0
  356. package/es/components/table/src/table-skeleton.template.js.map +1 -0
  357. package/es/components/table/src/table.scss.js +13 -0
  358. package/es/components/table/src/table.scss.js.map +1 -0
  359. package/es/components/table/src/table.template.d.ts +10 -0
  360. package/es/components/table/src/table.template.js +89 -0
  361. package/es/components/table/src/table.template.js.map +1 -0
  362. package/es/components/table/src/types.d.ts +13 -0
  363. package/es/components/table/src/types.js +8 -0
  364. package/es/components/table/src/types.js.map +1 -0
  365. package/es/components/tile-container/src/styles.scss.js +1 -1
  366. package/es/components/toolbar/index.d.ts +1 -0
  367. package/es/components/toolbar/index.js +9 -0
  368. package/es/components/toolbar/index.js.map +1 -0
  369. package/es/components/toolbar/src/toolbar.d.ts +39 -0
  370. package/es/components/toolbar/src/toolbar.js +179 -0
  371. package/es/components/toolbar/src/toolbar.js.map +1 -0
  372. package/es/components/toolbar/src/toolbar.scss.js +13 -0
  373. package/es/components/toolbar/src/toolbar.scss.js.map +1 -0
  374. package/es/components/workspace-shell/index.d.ts +5 -0
  375. package/es/components/workspace-shell/index.js +13 -0
  376. package/es/components/workspace-shell/index.js.map +1 -0
  377. package/es/components/workspace-shell/src/styles.scss.js +13 -0
  378. package/es/components/workspace-shell/src/styles.scss.js.map +1 -0
  379. package/es/components/workspace-shell/src/workspace-shell-body.d.ts +16 -0
  380. package/es/components/workspace-shell/src/workspace-shell-body.js +50 -0
  381. package/es/components/workspace-shell/src/workspace-shell-body.js.map +1 -0
  382. package/es/components/workspace-shell/src/workspace-shell-footer.d.ts +19 -0
  383. package/es/components/workspace-shell/src/workspace-shell-footer.js +53 -0
  384. package/es/components/workspace-shell/src/workspace-shell-footer.js.map +1 -0
  385. package/es/components/workspace-shell/src/workspace-shell-header.d.ts +27 -0
  386. package/es/components/workspace-shell/src/workspace-shell-header.js +77 -0
  387. package/es/components/workspace-shell/src/workspace-shell-header.js.map +1 -0
  388. package/es/components/workspace-shell/src/workspace-shell-toolbar.d.ts +22 -0
  389. package/es/components/workspace-shell/src/workspace-shell-toolbar.js +61 -0
  390. package/es/components/workspace-shell/src/workspace-shell-toolbar.js.map +1 -0
  391. package/es/components/workspace-shell/src/workspace-shell.d.ts +20 -0
  392. package/es/components/workspace-shell/src/workspace-shell.js +83 -0
  393. package/es/components/workspace-shell/src/workspace-shell.js.map +1 -0
  394. package/es/components/workspace-shell/src/workspace-shell.scss.js +13 -0
  395. package/es/components/workspace-shell/src/workspace-shell.scss.js.map +1 -0
  396. package/es/globals/utils/uuid.d.ts +5 -0
  397. package/es/globals/utils/uuid.js +32 -0
  398. package/es/globals/utils/uuid.js.map +1 -0
  399. package/es/node_modules/@carbon/utilities/es/documentLang/documentLang.js +9 -0
  400. package/es/node_modules/@carbon/utilities/es/documentLang/documentLang.js.map +1 -0
  401. package/es/node_modules/@carbon/utilities/es/overflowHandler/overflowHandler.js +11 -0
  402. package/es/node_modules/@carbon/utilities/es/overflowHandler/overflowHandler.js.map +1 -0
  403. package/es/node_modules/@codemirror/autocomplete/dist/index.js +258 -0
  404. package/es/node_modules/@codemirror/autocomplete/dist/index.js.map +1 -0
  405. package/es/node_modules/@codemirror/commands/dist/index.js +1140 -0
  406. package/es/node_modules/@codemirror/commands/dist/index.js.map +1 -0
  407. package/es/node_modules/@codemirror/lint/dist/index.js +636 -0
  408. package/es/node_modules/@codemirror/lint/dist/index.js.map +1 -0
  409. package/es/node_modules/@lezer/common/dist/index.js +253 -0
  410. package/es/node_modules/@lezer/common/dist/index.js.map +1 -0
  411. package/es/node_modules/crelt/index.js +37 -0
  412. package/es/node_modules/crelt/index.js.map +1 -0
  413. package/es/react/ai-label.d.ts +2 -1
  414. package/es/react/ai-label.js +3 -2
  415. package/es/react/ai-label.js.map +1 -1
  416. package/es/react/button.d.ts +2 -1
  417. package/es/react/button.js +3 -2
  418. package/es/react/button.js.map +1 -1
  419. package/es/react/chain-of-thought.d.ts +7 -0
  420. package/es/react/chain-of-thought.js +29 -0
  421. package/es/react/chain-of-thought.js.map +1 -0
  422. package/es/react/chat-button.d.ts +4 -4
  423. package/es/react/chat-button.js +6 -4
  424. package/es/react/chat-button.js.map +1 -1
  425. package/es/react/code-snippet-tile-container.d.ts +5 -0
  426. package/es/react/code-snippet-tile-container.js +30 -0
  427. package/es/react/code-snippet-tile-container.js.map +1 -0
  428. package/es/react/code-snippet.d.ts +4 -0
  429. package/es/react/code-snippet.js +31 -0
  430. package/es/react/code-snippet.js.map +1 -0
  431. package/es/react/content-switcher.d.ts +7 -0
  432. package/es/react/content-switcher.js +37 -0
  433. package/es/react/content-switcher.js.map +1 -0
  434. package/es/react/feedback-buttons.d.ts +4 -0
  435. package/es/react/feedback-buttons.js +28 -0
  436. package/es/react/feedback-buttons.js.map +1 -0
  437. package/es/react/feedback.d.ts +6 -0
  438. package/es/react/feedback.js +32 -0
  439. package/es/react/feedback.js.map +1 -0
  440. package/es/react/icon-button.d.ts +2 -1
  441. package/es/react/icon-button.js +3 -2
  442. package/es/react/icon-button.js.map +1 -1
  443. package/es/react/icon.d.ts +4 -0
  444. package/es/react/icon.js +28 -0
  445. package/es/react/icon.js.map +1 -0
  446. package/es/react/markdown.d.ts +4 -0
  447. package/es/react/markdown.js +28 -0
  448. package/es/react/markdown.js.map +1 -0
  449. package/es/react/overflow-menu.d.ts +9 -0
  450. package/es/react/overflow-menu.js +40 -0
  451. package/es/react/overflow-menu.js.map +1 -0
  452. package/es/react/processing.d.ts +2 -1
  453. package/es/react/processing.js +3 -2
  454. package/es/react/processing.js.map +1 -1
  455. package/es/react/reasoning-step.d.ts +6 -0
  456. package/es/react/reasoning-step.js +31 -0
  457. package/es/react/reasoning-step.js.map +1 -0
  458. package/es/react/reasoning-steps.d.ts +3 -0
  459. package/es/react/reasoning-steps.js +27 -0
  460. package/es/react/reasoning-steps.js.map +1 -0
  461. package/es/react/tile-container.d.ts +2 -1
  462. package/es/react/tile-container.js +3 -2
  463. package/es/react/tile-container.js.map +1 -1
  464. package/es/react/tile.d.ts +3 -2
  465. package/es/react/tile.js +5 -4
  466. package/es/react/tile.js.map +1 -1
  467. package/es/react/toolbar.d.ts +4 -0
  468. package/es/react/toolbar.js +28 -0
  469. package/es/react/toolbar.js.map +1 -0
  470. package/es/react/utils/withWebComponentBridge.d.ts +15 -0
  471. package/es/react/utils/withWebComponentBridge.js +95 -0
  472. package/es/react/utils/withWebComponentBridge.js.map +1 -0
  473. package/es/testing/load-all-lazy-deps.d.ts +10 -0
  474. package/es/testing/load-all-lazy-deps.js +30 -0
  475. package/es/testing/load-all-lazy-deps.js.map +1 -0
  476. package/package.json +39 -5
  477. package/dist/carbon-element-CMR7BOhG.js +0 -24
  478. package/dist/class-map-h7IEvsL_.js +0 -39
  479. package/es/components/chat-button/chat-button.d.ts +0 -23
  480. package/es/components/chat-button/chat-button.js.map +0 -1
  481. package/es/components/chat-button/src/chat-button.template.d.ts +0 -16
  482. package/es/components/chat-button/src/chat-button.template.js +0 -27
  483. package/es/components/chat-button/src/chat-button.template.js.map +0 -1
@@ -0,0 +1,636 @@
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 { getPanel, showPanel, EditorView, Decoration, hoverTooltip, WidgetType } from '@codemirror/view';
9
+ import { StateField, StateEffect, Facet, combineConfig, RangeSetBuilder } from '@codemirror/state';
10
+ import crelt from '../../../crelt/index.js';
11
+
12
+ class SelectedDiagnostic {
13
+ constructor(from, to, diagnostic) {
14
+ this.from = from;
15
+ this.to = to;
16
+ this.diagnostic = diagnostic;
17
+ }
18
+ }
19
+ class LintState {
20
+ constructor(diagnostics, panel, selected) {
21
+ this.diagnostics = diagnostics;
22
+ this.panel = panel;
23
+ this.selected = selected;
24
+ }
25
+ static init(diagnostics, panel, state) {
26
+ // Filter the list of diagnostics for which to create markers
27
+ let diagnosticFilter = state.facet(lintConfig).markerFilter;
28
+ if (diagnosticFilter)
29
+ diagnostics = diagnosticFilter(diagnostics, state);
30
+ let sorted = diagnostics.slice().sort((a, b) => a.from - b.from || a.to - b.to);
31
+ let deco = new RangeSetBuilder(), active = [], pos = 0;
32
+ let scan = state.doc.iter(), scanPos = 0, docLen = state.doc.length;
33
+ for (let i = 0;;) {
34
+ let next = i == sorted.length ? null : sorted[i];
35
+ if (!next && !active.length)
36
+ break;
37
+ let from, to;
38
+ if (active.length) {
39
+ from = pos;
40
+ to = active.reduce((p, d) => Math.min(p, d.to), next && next.from > from ? next.from : 1e8);
41
+ }
42
+ else {
43
+ from = next.from;
44
+ if (from > docLen)
45
+ break;
46
+ to = next.to;
47
+ active.push(next);
48
+ i++;
49
+ }
50
+ while (i < sorted.length) {
51
+ let next = sorted[i];
52
+ if (next.from == from && (next.to > next.from || next.to == from)) {
53
+ active.push(next);
54
+ i++;
55
+ to = Math.min(next.to, to);
56
+ }
57
+ else {
58
+ to = Math.min(next.from, to);
59
+ break;
60
+ }
61
+ }
62
+ to = Math.min(to, docLen);
63
+ let widget = false;
64
+ if (active.some(d => d.from == from && (d.to == to || to == docLen))) {
65
+ widget = from == to;
66
+ if (!widget && to - from < 10) {
67
+ let behind = from - (scanPos + scan.value.length);
68
+ if (behind > 0) {
69
+ scan.next(behind);
70
+ scanPos = from;
71
+ }
72
+ for (let check = from;;) {
73
+ if (check >= to) {
74
+ widget = true;
75
+ break;
76
+ }
77
+ if (!scan.lineBreak && scanPos + scan.value.length > check)
78
+ break;
79
+ check = scanPos + scan.value.length;
80
+ scanPos += scan.value.length;
81
+ scan.next();
82
+ }
83
+ }
84
+ }
85
+ let sev = maxSeverity(active);
86
+ if (widget) {
87
+ deco.add(from, from, Decoration.widget({
88
+ widget: new DiagnosticWidget(sev),
89
+ diagnostics: active.slice()
90
+ }));
91
+ }
92
+ else {
93
+ let markClass = active.reduce((c, d) => d.markClass ? c + " " + d.markClass : c, "");
94
+ deco.add(from, to, Decoration.mark({
95
+ class: "cm-lintRange cm-lintRange-" + sev + markClass,
96
+ diagnostics: active.slice(),
97
+ inclusiveEnd: active.some(a => a.to > to)
98
+ }));
99
+ }
100
+ pos = to;
101
+ if (pos == docLen)
102
+ break;
103
+ for (let i = 0; i < active.length; i++)
104
+ if (active[i].to <= pos)
105
+ active.splice(i--, 1);
106
+ }
107
+ let set = deco.finish();
108
+ return new LintState(set, panel, findDiagnostic(set));
109
+ }
110
+ }
111
+ function findDiagnostic(diagnostics, diagnostic = null, after = 0) {
112
+ let found = null;
113
+ diagnostics.between(after, 1e9, (from, to, { spec }) => {
114
+ if (diagnostic && spec.diagnostics.indexOf(diagnostic) < 0)
115
+ return;
116
+ if (!found)
117
+ found = new SelectedDiagnostic(from, to, diagnostic || spec.diagnostics[0]);
118
+ else if (spec.diagnostics.indexOf(found.diagnostic) < 0)
119
+ return false;
120
+ else
121
+ found = new SelectedDiagnostic(found.from, to, found.diagnostic);
122
+ });
123
+ return found;
124
+ }
125
+ function hideTooltip(tr, tooltip) {
126
+ let from = tooltip.pos, to = tooltip.end || from;
127
+ let result = tr.state.facet(lintConfig).hideOn(tr, from, to);
128
+ if (result != null)
129
+ return result;
130
+ let line = tr.startState.doc.lineAt(tooltip.pos);
131
+ return !!(tr.effects.some(e => e.is(setDiagnosticsEffect)) || tr.changes.touchesRange(line.from, Math.max(line.to, to)));
132
+ }
133
+ function maybeEnableLint(state, effects) {
134
+ return state.field(lintState, false) ? effects : effects.concat(StateEffect.appendConfig.of(lintExtensions));
135
+ }
136
+ /**
137
+ The state effect that updates the set of active diagnostics. Can
138
+ be useful when writing an extension that needs to track these.
139
+ */
140
+ const setDiagnosticsEffect = /*@__PURE__*/StateEffect.define();
141
+ const togglePanel = /*@__PURE__*/StateEffect.define();
142
+ const movePanelSelection = /*@__PURE__*/StateEffect.define();
143
+ const lintState = /*@__PURE__*/StateField.define({
144
+ create() {
145
+ return new LintState(Decoration.none, null, null);
146
+ },
147
+ update(value, tr) {
148
+ if (tr.docChanged && value.diagnostics.size) {
149
+ let mapped = value.diagnostics.map(tr.changes), selected = null, panel = value.panel;
150
+ if (value.selected) {
151
+ let selPos = tr.changes.mapPos(value.selected.from, 1);
152
+ selected = findDiagnostic(mapped, value.selected.diagnostic, selPos) || findDiagnostic(mapped, null, selPos);
153
+ }
154
+ if (!mapped.size && panel && tr.state.facet(lintConfig).autoPanel)
155
+ panel = null;
156
+ value = new LintState(mapped, panel, selected);
157
+ }
158
+ for (let effect of tr.effects) {
159
+ if (effect.is(setDiagnosticsEffect)) {
160
+ let panel = !tr.state.facet(lintConfig).autoPanel ? value.panel : effect.value.length ? LintPanel.open : null;
161
+ value = LintState.init(effect.value, panel, tr.state);
162
+ }
163
+ else if (effect.is(togglePanel)) {
164
+ value = new LintState(value.diagnostics, effect.value ? LintPanel.open : null, value.selected);
165
+ }
166
+ else if (effect.is(movePanelSelection)) {
167
+ value = new LintState(value.diagnostics, value.panel, effect.value);
168
+ }
169
+ }
170
+ return value;
171
+ },
172
+ provide: f => [showPanel.from(f, val => val.panel),
173
+ EditorView.decorations.from(f, s => s.diagnostics)]
174
+ });
175
+ const activeMark = /*@__PURE__*/Decoration.mark({ class: "cm-lintRange cm-lintRange-active" });
176
+ function lintTooltip(view, pos, side) {
177
+ let { diagnostics } = view.state.field(lintState);
178
+ let found, start = -1, end = -1;
179
+ diagnostics.between(pos - (side < 0 ? 1 : 0), pos + (side > 0 ? 1 : 0), (from, to, { spec }) => {
180
+ if (pos >= from && pos <= to &&
181
+ (from == to || ((pos > from || side > 0) && (pos < to || side < 0)))) {
182
+ found = spec.diagnostics;
183
+ start = from;
184
+ end = to;
185
+ return false;
186
+ }
187
+ });
188
+ let diagnosticFilter = view.state.facet(lintConfig).tooltipFilter;
189
+ if (found && diagnosticFilter)
190
+ found = diagnosticFilter(found, view.state);
191
+ if (!found)
192
+ return null;
193
+ return {
194
+ pos: start,
195
+ end: end,
196
+ above: view.state.doc.lineAt(start).to < end,
197
+ create() {
198
+ return { dom: diagnosticsTooltip(view, found) };
199
+ }
200
+ };
201
+ }
202
+ function diagnosticsTooltip(view, diagnostics) {
203
+ return crelt("ul", { class: "cm-tooltip-lint" }, diagnostics.map(d => renderDiagnostic(view, d, false)));
204
+ }
205
+ /**
206
+ Command to open and focus the lint panel.
207
+ */
208
+ const openLintPanel = (view) => {
209
+ let field = view.state.field(lintState, false);
210
+ if (!field || !field.panel)
211
+ view.dispatch({ effects: maybeEnableLint(view.state, [togglePanel.of(true)]) });
212
+ let panel = getPanel(view, LintPanel.open);
213
+ if (panel)
214
+ panel.dom.querySelector(".cm-panel-lint ul").focus();
215
+ return true;
216
+ };
217
+ /**
218
+ Command to close the lint panel, when open.
219
+ */
220
+ const closeLintPanel = (view) => {
221
+ let field = view.state.field(lintState, false);
222
+ if (!field || !field.panel)
223
+ return false;
224
+ view.dispatch({ effects: togglePanel.of(false) });
225
+ return true;
226
+ };
227
+ /**
228
+ Move the selection to the next diagnostic.
229
+ */
230
+ const nextDiagnostic = (view) => {
231
+ let field = view.state.field(lintState, false);
232
+ if (!field)
233
+ return false;
234
+ let sel = view.state.selection.main, next = field.diagnostics.iter(sel.to + 1);
235
+ if (!next.value) {
236
+ next = field.diagnostics.iter(0);
237
+ if (!next.value || next.from == sel.from && next.to == sel.to)
238
+ return false;
239
+ }
240
+ view.dispatch({ selection: { anchor: next.from, head: next.to }, scrollIntoView: true });
241
+ return true;
242
+ };
243
+ /**
244
+ A set of default key bindings for the lint functionality.
245
+
246
+ - Ctrl-Shift-m (Cmd-Shift-m on macOS): [`openLintPanel`](https://codemirror.net/6/docs/ref/#lint.openLintPanel)
247
+ - F8: [`nextDiagnostic`](https://codemirror.net/6/docs/ref/#lint.nextDiagnostic)
248
+ */
249
+ const lintKeymap = [
250
+ { key: "Mod-Shift-m", run: openLintPanel, preventDefault: true },
251
+ { key: "F8", run: nextDiagnostic }
252
+ ];
253
+ const lintConfig = /*@__PURE__*/Facet.define({
254
+ combine(input) {
255
+ return {
256
+ sources: input.map(i => i.source).filter(x => x != null),
257
+ ...combineConfig(input.map(i => i.config), {
258
+ delay: 750,
259
+ markerFilter: null,
260
+ tooltipFilter: null,
261
+ needsRefresh: null,
262
+ hideOn: () => null,
263
+ }, {
264
+ delay: Math.max,
265
+ markerFilter: combineFilter,
266
+ tooltipFilter: combineFilter,
267
+ needsRefresh: (a, b) => !a ? b : !b ? a : u => a(u) || b(u),
268
+ hideOn: (a, b) => !a ? b : !b ? a : (t, x, y) => a(t, x, y) || b(t, x, y),
269
+ autoPanel: (a, b) => a || b
270
+ })
271
+ };
272
+ }
273
+ });
274
+ function combineFilter(a, b) {
275
+ return !a ? b : !b ? a : (d, s) => b(a(d, s), s);
276
+ }
277
+ function assignKeys(actions) {
278
+ let assigned = [];
279
+ if (actions)
280
+ actions: for (let { name } of actions) {
281
+ for (let i = 0; i < name.length; i++) {
282
+ let ch = name[i];
283
+ if (/[a-zA-Z]/.test(ch) && !assigned.some(c => c.toLowerCase() == ch.toLowerCase())) {
284
+ assigned.push(ch);
285
+ continue actions;
286
+ }
287
+ }
288
+ assigned.push("");
289
+ }
290
+ return assigned;
291
+ }
292
+ function renderDiagnostic(view, diagnostic, inPanel) {
293
+ var _a;
294
+ let keys = inPanel ? assignKeys(diagnostic.actions) : [];
295
+ return crelt("li", { class: "cm-diagnostic cm-diagnostic-" + diagnostic.severity }, crelt("span", { class: "cm-diagnosticText" }, diagnostic.renderMessage ? diagnostic.renderMessage(view) : diagnostic.message), (_a = diagnostic.actions) === null || _a === void 0 ? void 0 : _a.map((action, i) => {
296
+ let fired = false, click = (e) => {
297
+ e.preventDefault();
298
+ if (fired)
299
+ return;
300
+ fired = true;
301
+ let found = findDiagnostic(view.state.field(lintState).diagnostics, diagnostic);
302
+ if (found)
303
+ action.apply(view, found.from, found.to);
304
+ };
305
+ let { name } = action, keyIndex = keys[i] ? name.indexOf(keys[i]) : -1;
306
+ let nameElt = keyIndex < 0 ? name : [name.slice(0, keyIndex),
307
+ crelt("u", name.slice(keyIndex, keyIndex + 1)),
308
+ name.slice(keyIndex + 1)];
309
+ let markClass = action.markClass ? " " + action.markClass : "";
310
+ return crelt("button", {
311
+ type: "button",
312
+ class: "cm-diagnosticAction" + markClass,
313
+ onclick: click,
314
+ onmousedown: click,
315
+ "aria-label": ` Action: ${name}${keyIndex < 0 ? "" : ` (access key "${keys[i]})"`}.`
316
+ }, nameElt);
317
+ }), diagnostic.source && crelt("div", { class: "cm-diagnosticSource" }, diagnostic.source));
318
+ }
319
+ class DiagnosticWidget extends WidgetType {
320
+ constructor(sev) {
321
+ super();
322
+ this.sev = sev;
323
+ }
324
+ eq(other) { return other.sev == this.sev; }
325
+ toDOM() {
326
+ return crelt("span", { class: "cm-lintPoint cm-lintPoint-" + this.sev });
327
+ }
328
+ }
329
+ class PanelItem {
330
+ constructor(view, diagnostic) {
331
+ this.diagnostic = diagnostic;
332
+ this.id = "item_" + Math.floor(Math.random() * 0xffffffff).toString(16);
333
+ this.dom = renderDiagnostic(view, diagnostic, true);
334
+ this.dom.id = this.id;
335
+ this.dom.setAttribute("role", "option");
336
+ }
337
+ }
338
+ class LintPanel {
339
+ constructor(view) {
340
+ this.view = view;
341
+ this.items = [];
342
+ let onkeydown = (event) => {
343
+ if (event.keyCode == 27) { // Escape
344
+ closeLintPanel(this.view);
345
+ this.view.focus();
346
+ }
347
+ else if (event.keyCode == 38 || event.keyCode == 33) { // ArrowUp, PageUp
348
+ this.moveSelection((this.selectedIndex - 1 + this.items.length) % this.items.length);
349
+ }
350
+ else if (event.keyCode == 40 || event.keyCode == 34) { // ArrowDown, PageDown
351
+ this.moveSelection((this.selectedIndex + 1) % this.items.length);
352
+ }
353
+ else if (event.keyCode == 36) { // Home
354
+ this.moveSelection(0);
355
+ }
356
+ else if (event.keyCode == 35) { // End
357
+ this.moveSelection(this.items.length - 1);
358
+ }
359
+ else if (event.keyCode == 13) { // Enter
360
+ this.view.focus();
361
+ }
362
+ else if (event.keyCode >= 65 && event.keyCode <= 90 && this.selectedIndex >= 0) { // A-Z
363
+ let { diagnostic } = this.items[this.selectedIndex], keys = assignKeys(diagnostic.actions);
364
+ for (let i = 0; i < keys.length; i++)
365
+ if (keys[i].toUpperCase().charCodeAt(0) == event.keyCode) {
366
+ let found = findDiagnostic(this.view.state.field(lintState).diagnostics, diagnostic);
367
+ if (found)
368
+ diagnostic.actions[i].apply(view, found.from, found.to);
369
+ }
370
+ }
371
+ else {
372
+ return;
373
+ }
374
+ event.preventDefault();
375
+ };
376
+ let onclick = (event) => {
377
+ for (let i = 0; i < this.items.length; i++) {
378
+ if (this.items[i].dom.contains(event.target))
379
+ this.moveSelection(i);
380
+ }
381
+ };
382
+ this.list = crelt("ul", {
383
+ tabIndex: 0,
384
+ role: "listbox",
385
+ "aria-label": this.view.state.phrase("Diagnostics"),
386
+ onkeydown,
387
+ onclick
388
+ });
389
+ this.dom = crelt("div", { class: "cm-panel-lint" }, this.list, crelt("button", {
390
+ type: "button",
391
+ name: "close",
392
+ "aria-label": this.view.state.phrase("close"),
393
+ onclick: () => closeLintPanel(this.view)
394
+ }, "×"));
395
+ this.update();
396
+ }
397
+ get selectedIndex() {
398
+ let selected = this.view.state.field(lintState).selected;
399
+ if (!selected)
400
+ return -1;
401
+ for (let i = 0; i < this.items.length; i++)
402
+ if (this.items[i].diagnostic == selected.diagnostic)
403
+ return i;
404
+ return -1;
405
+ }
406
+ update() {
407
+ let { diagnostics, selected } = this.view.state.field(lintState);
408
+ let i = 0, needsSync = false, newSelectedItem = null;
409
+ let seen = new Set();
410
+ diagnostics.between(0, this.view.state.doc.length, (_start, _end, { spec }) => {
411
+ for (let diagnostic of spec.diagnostics) {
412
+ if (seen.has(diagnostic))
413
+ continue;
414
+ seen.add(diagnostic);
415
+ let found = -1, item;
416
+ for (let j = i; j < this.items.length; j++)
417
+ if (this.items[j].diagnostic == diagnostic) {
418
+ found = j;
419
+ break;
420
+ }
421
+ if (found < 0) {
422
+ item = new PanelItem(this.view, diagnostic);
423
+ this.items.splice(i, 0, item);
424
+ needsSync = true;
425
+ }
426
+ else {
427
+ item = this.items[found];
428
+ if (found > i) {
429
+ this.items.splice(i, found - i);
430
+ needsSync = true;
431
+ }
432
+ }
433
+ if (selected && item.diagnostic == selected.diagnostic) {
434
+ if (!item.dom.hasAttribute("aria-selected")) {
435
+ item.dom.setAttribute("aria-selected", "true");
436
+ newSelectedItem = item;
437
+ }
438
+ }
439
+ else if (item.dom.hasAttribute("aria-selected")) {
440
+ item.dom.removeAttribute("aria-selected");
441
+ }
442
+ i++;
443
+ }
444
+ });
445
+ while (i < this.items.length && !(this.items.length == 1 && this.items[0].diagnostic.from < 0)) {
446
+ needsSync = true;
447
+ this.items.pop();
448
+ }
449
+ if (this.items.length == 0) {
450
+ this.items.push(new PanelItem(this.view, {
451
+ from: -1, to: -1,
452
+ severity: "info",
453
+ message: this.view.state.phrase("No diagnostics")
454
+ }));
455
+ needsSync = true;
456
+ }
457
+ if (newSelectedItem) {
458
+ this.list.setAttribute("aria-activedescendant", newSelectedItem.id);
459
+ this.view.requestMeasure({
460
+ key: this,
461
+ read: () => ({ sel: newSelectedItem.dom.getBoundingClientRect(), panel: this.list.getBoundingClientRect() }),
462
+ write: ({ sel, panel }) => {
463
+ let scaleY = panel.height / this.list.offsetHeight;
464
+ if (sel.top < panel.top)
465
+ this.list.scrollTop -= (panel.top - sel.top) / scaleY;
466
+ else if (sel.bottom > panel.bottom)
467
+ this.list.scrollTop += (sel.bottom - panel.bottom) / scaleY;
468
+ }
469
+ });
470
+ }
471
+ else if (this.selectedIndex < 0) {
472
+ this.list.removeAttribute("aria-activedescendant");
473
+ }
474
+ if (needsSync)
475
+ this.sync();
476
+ }
477
+ sync() {
478
+ let domPos = this.list.firstChild;
479
+ function rm() {
480
+ let prev = domPos;
481
+ domPos = prev.nextSibling;
482
+ prev.remove();
483
+ }
484
+ for (let item of this.items) {
485
+ if (item.dom.parentNode == this.list) {
486
+ while (domPos != item.dom)
487
+ rm();
488
+ domPos = item.dom.nextSibling;
489
+ }
490
+ else {
491
+ this.list.insertBefore(item.dom, domPos);
492
+ }
493
+ }
494
+ while (domPos)
495
+ rm();
496
+ }
497
+ moveSelection(selectedIndex) {
498
+ if (this.selectedIndex < 0)
499
+ return;
500
+ let field = this.view.state.field(lintState);
501
+ let selection = findDiagnostic(field.diagnostics, this.items[selectedIndex].diagnostic);
502
+ if (!selection)
503
+ return;
504
+ this.view.dispatch({
505
+ selection: { anchor: selection.from, head: selection.to },
506
+ scrollIntoView: true,
507
+ effects: movePanelSelection.of(selection)
508
+ });
509
+ }
510
+ static open(view) { return new LintPanel(view); }
511
+ }
512
+ function svg(content, attrs = `viewBox="0 0 40 40"`) {
513
+ return `url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${attrs}>${encodeURIComponent(content)}</svg>')`;
514
+ }
515
+ function underline(color) {
516
+ return svg(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${color}" fill="none" stroke-width=".7"/>`, `width="6" height="3"`);
517
+ }
518
+ const baseTheme = /*@__PURE__*/EditorView.baseTheme({
519
+ ".cm-diagnostic": {
520
+ padding: "3px 6px 3px 8px",
521
+ marginLeft: "-1px",
522
+ display: "block",
523
+ whiteSpace: "pre-wrap"
524
+ },
525
+ ".cm-diagnostic-error": { borderLeft: "5px solid #d11" },
526
+ ".cm-diagnostic-warning": { borderLeft: "5px solid orange" },
527
+ ".cm-diagnostic-info": { borderLeft: "5px solid #999" },
528
+ ".cm-diagnostic-hint": { borderLeft: "5px solid #66d" },
529
+ ".cm-diagnosticAction": {
530
+ font: "inherit",
531
+ border: "none",
532
+ padding: "2px 4px",
533
+ backgroundColor: "#444",
534
+ color: "white",
535
+ borderRadius: "3px",
536
+ marginLeft: "8px",
537
+ cursor: "pointer"
538
+ },
539
+ ".cm-diagnosticSource": {
540
+ fontSize: "70%",
541
+ opacity: .7
542
+ },
543
+ ".cm-lintRange": {
544
+ backgroundPosition: "left bottom",
545
+ backgroundRepeat: "repeat-x",
546
+ paddingBottom: "0.7px",
547
+ },
548
+ ".cm-lintRange-error": { backgroundImage: /*@__PURE__*/underline("#d11") },
549
+ ".cm-lintRange-warning": { backgroundImage: /*@__PURE__*/underline("orange") },
550
+ ".cm-lintRange-info": { backgroundImage: /*@__PURE__*/underline("#999") },
551
+ ".cm-lintRange-hint": { backgroundImage: /*@__PURE__*/underline("#66d") },
552
+ ".cm-lintRange-active": { backgroundColor: "#ffdd9980" },
553
+ ".cm-tooltip-lint": {
554
+ padding: 0,
555
+ margin: 0
556
+ },
557
+ ".cm-lintPoint": {
558
+ position: "relative",
559
+ "&:after": {
560
+ content: '""',
561
+ position: "absolute",
562
+ bottom: 0,
563
+ left: "-2px",
564
+ borderLeft: "3px solid transparent",
565
+ borderRight: "3px solid transparent",
566
+ borderBottom: "4px solid #d11"
567
+ }
568
+ },
569
+ ".cm-lintPoint-warning": {
570
+ "&:after": { borderBottomColor: "orange" }
571
+ },
572
+ ".cm-lintPoint-info": {
573
+ "&:after": { borderBottomColor: "#999" }
574
+ },
575
+ ".cm-lintPoint-hint": {
576
+ "&:after": { borderBottomColor: "#66d" }
577
+ },
578
+ ".cm-panel.cm-panel-lint": {
579
+ position: "relative",
580
+ "& ul": {
581
+ maxHeight: "100px",
582
+ overflowY: "auto",
583
+ "& [aria-selected]": {
584
+ backgroundColor: "#ddd",
585
+ "& u": { textDecoration: "underline" }
586
+ },
587
+ "&:focus [aria-selected]": {
588
+ background_fallback: "#bdf",
589
+ backgroundColor: "Highlight",
590
+ color_fallback: "white",
591
+ color: "HighlightText"
592
+ },
593
+ "& u": { textDecoration: "none" },
594
+ padding: 0,
595
+ margin: 0
596
+ },
597
+ "& [name=close]": {
598
+ position: "absolute",
599
+ top: "0",
600
+ right: "2px",
601
+ background: "inherit",
602
+ border: "none",
603
+ font: "inherit",
604
+ padding: 0,
605
+ margin: 0
606
+ }
607
+ }
608
+ });
609
+ function severityWeight(sev) {
610
+ return sev == "error" ? 4 : sev == "warning" ? 3 : sev == "info" ? 2 : 1;
611
+ }
612
+ function maxSeverity(diagnostics) {
613
+ let sev = "hint", weight = 1;
614
+ for (let d of diagnostics) {
615
+ let w = severityWeight(d.severity);
616
+ if (w > weight) {
617
+ weight = w;
618
+ sev = d.severity;
619
+ }
620
+ }
621
+ return sev;
622
+ }
623
+ const lintExtensions = [
624
+ lintState,
625
+ /*@__PURE__*/EditorView.decorations.compute([lintState], state => {
626
+ let { selected, panel } = state.field(lintState);
627
+ return !selected || !panel || selected.from == selected.to ? Decoration.none : Decoration.set([
628
+ activeMark.range(selected.from, selected.to)
629
+ ]);
630
+ }),
631
+ /*@__PURE__*/hoverTooltip(lintTooltip, { hideOn: hideTooltip }),
632
+ baseTheme
633
+ ];
634
+
635
+ export { closeLintPanel, lintKeymap, nextDiagnostic, openLintPanel, setDiagnosticsEffect };
636
+ //# sourceMappingURL=index.js.map