sparkdesign 0.0.1 → 0.2.6

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 (403) hide show
  1. package/README.md +279 -5
  2. package/cli/dist/commands/add.js +84 -0
  3. package/cli/dist/commands/diff.js +54 -0
  4. package/cli/dist/commands/init.js +96 -0
  5. package/cli/dist/commands/list.js +25 -0
  6. package/cli/dist/index.js +37 -0
  7. package/cli/dist/utils/config.js +53 -0
  8. package/cli/dist/utils/registry.js +34 -0
  9. package/cli/dist/utils/tokens.js +90 -0
  10. package/cli/dist/utils/transform.js +19 -0
  11. package/cli/registry/basic/alert-dialog.tsx +180 -0
  12. package/cli/registry/basic/avatar.tsx +120 -0
  13. package/cli/registry/basic/button.tsx +100 -0
  14. package/cli/registry/basic/collapse.tsx +94 -0
  15. package/cli/registry/basic/collapsible-card.tsx +230 -0
  16. package/cli/registry/basic/collapsible.tsx +21 -0
  17. package/cli/registry/basic/dropdown-menu.tsx +254 -0
  18. package/cli/registry/basic/icon-button.tsx +66 -0
  19. package/cli/registry/basic/icons-inline.tsx +206 -0
  20. package/cli/registry/basic/kbd.tsx +50 -0
  21. package/cli/registry/basic/option-list.tsx +125 -0
  22. package/cli/registry/basic/pagination.tsx +132 -0
  23. package/cli/registry/basic/progress.tsx +42 -0
  24. package/cli/registry/basic/radio-group.tsx +69 -0
  25. package/cli/registry/basic/resizable.tsx +67 -0
  26. package/cli/registry/basic/scrollbar.tsx +114 -0
  27. package/cli/registry/basic/select.tsx +177 -0
  28. package/cli/registry/basic/skeleton.tsx +33 -0
  29. package/cli/registry/basic/slider.tsx +55 -0
  30. package/cli/registry/basic/sonner.tsx +104 -0
  31. package/cli/registry/basic/spinner.tsx +17 -0
  32. package/cli/registry/basic/switch.tsx +49 -0
  33. package/cli/registry/basic/table.tsx +117 -0
  34. package/cli/registry/basic/tabs.tsx +85 -0
  35. package/cli/registry/basic/tag.tsx +161 -0
  36. package/cli/registry/basic/theme-from-document.ts +10 -0
  37. package/cli/registry/basic/toggle.tsx +223 -0
  38. package/cli/registry/basic/tooltip.tsx +80 -0
  39. package/cli/registry/basic/typography.tsx +201 -0
  40. package/cli/registry/chat/browser-use-part.tsx +166 -0
  41. package/cli/registry/chat/chat-input/chat-input-folder-selector.tsx +185 -0
  42. package/cli/registry/chat/chat-input/chat-input-model-switcher.tsx +131 -0
  43. package/cli/registry/chat/chat-input/chat-input-textarea.tsx +67 -0
  44. package/cli/registry/chat/chat-input/compound.tsx +334 -0
  45. package/cli/registry/chat/chat-input/context.tsx +189 -0
  46. package/cli/registry/chat/chat-input/folder-permission-dialog.tsx +61 -0
  47. package/cli/registry/chat/chat-input/index.tsx +123 -0
  48. package/cli/registry/chat/chat-input/types.ts +77 -0
  49. package/cli/registry/chat/chat-input/useAutoResizeTextarea.ts +20 -0
  50. package/cli/registry/chat/code-block-part.tsx +151 -0
  51. package/cli/registry/chat/file-attachment.tsx +44 -0
  52. package/cli/registry/chat/file-card.tsx +68 -0
  53. package/cli/registry/chat/file-review-part.tsx +259 -0
  54. package/cli/registry/chat/folder-button.tsx +169 -0
  55. package/cli/registry/chat/generated-images-grid.tsx +56 -0
  56. package/cli/registry/chat/generation-status-bar.tsx +72 -0
  57. package/cli/registry/chat/image-attachment.tsx +166 -0
  58. package/cli/registry/chat/image-generating.tsx +281 -0
  59. package/cli/registry/chat/markdown.tsx +146 -0
  60. package/cli/registry/chat/mermaid-part.tsx +90 -0
  61. package/cli/registry/chat/permission-card.tsx +178 -0
  62. package/cli/registry/chat/plan-part.tsx +168 -0
  63. package/cli/registry/chat/question-part.tsx +70 -0
  64. package/cli/registry/chat/queue-indicator.tsx +234 -0
  65. package/cli/registry/chat/reasoning-step.tsx +358 -0
  66. package/cli/registry/chat/related-prompts.tsx +91 -0
  67. package/cli/registry/chat/request.tsx +38 -0
  68. package/cli/registry/chat/response.tsx +271 -0
  69. package/cli/registry/chat/send-button.tsx +94 -0
  70. package/cli/registry/chat/sidebar-menu.tsx +177 -0
  71. package/cli/registry/chat/streaming-markdown-block.tsx +111 -0
  72. package/cli/registry/chat/suggestion-part.tsx +165 -0
  73. package/cli/registry/chat/task-part.tsx +109 -0
  74. package/cli/registry/chat/terminal-code-block-part.tsx +69 -0
  75. package/cli/registry/chat/thinking-indicator.tsx +91 -0
  76. package/cli/registry/chat/tool-invocation-card.tsx +132 -0
  77. package/cli/registry/chat/user-question/UserQuestionCard.tsx +198 -0
  78. package/cli/registry/chat/user-question/UserQuestionFooter.tsx +66 -0
  79. package/cli/registry/chat/user-question/UserQuestionHeader.tsx +64 -0
  80. package/cli/registry/chat/user-question/index.tsx +340 -0
  81. package/cli/registry/chat/user-question/types.ts +61 -0
  82. package/cli/registry/chat/user-question/useUserQuestionKeyboard.ts +127 -0
  83. package/cli/registry/chat/user-question/useUserQuestionState.ts +165 -0
  84. package/cli/registry/chat/user-question-answer.tsx +62 -0
  85. package/cli/registry/lib/file-icon-maps.ts +150 -0
  86. package/cli/registry/lib/use-mermaid-render.ts +76 -0
  87. package/cli/registry/lib/utils.ts +6 -0
  88. package/cli/registry/meta.json +1 -0
  89. package/cli/registry/tokens/scale.css +299 -0
  90. package/cli/registry/tokens/theme.css +633 -0
  91. package/dist/_basePickBy-DnQN8w3y.js +151 -0
  92. package/dist/_basePickBy-a-kPMlkg.cjs +1 -0
  93. package/dist/_baseUniq-B-N2NQ50.js +614 -0
  94. package/dist/_baseUniq-Cc_zbSif.cjs +1 -0
  95. package/dist/arc-BQBhijZ6.js +83 -0
  96. package/dist/arc-mWQt0Yph.cjs +1 -0
  97. package/dist/architectureDiagram-VXUJARFQ-BMZEucno.cjs +36 -0
  98. package/dist/architectureDiagram-VXUJARFQ-DTdjD3Bp.js +4661 -0
  99. package/dist/blockDiagram-VD42YOAC-CzHn0yob.js +2256 -0
  100. package/dist/blockDiagram-VD42YOAC-DDxdHAlz.cjs +122 -0
  101. package/dist/c4Diagram-YG6GDRKO-4Gz0I4gj.cjs +10 -0
  102. package/dist/c4Diagram-YG6GDRKO-BIy--yVN.js +1580 -0
  103. package/dist/channel-BQn0o8bs.js +5 -0
  104. package/dist/channel-DaN7XniJ.cjs +1 -0
  105. package/dist/chunk-4BX2VUAB-BlQFTQqz.cjs +1 -0
  106. package/dist/chunk-4BX2VUAB-Czitj3Kc.js +8 -0
  107. package/dist/chunk-55IACEB6-DXacNZbO.js +8 -0
  108. package/dist/chunk-55IACEB6-DnDxpye9.cjs +1 -0
  109. package/dist/chunk-B4BG7PRW-CBdN0q_V.js +1375 -0
  110. package/dist/chunk-B4BG7PRW-DbGvUkGO.cjs +165 -0
  111. package/dist/chunk-DI55MBZ5-D1YJMs6x.cjs +220 -0
  112. package/dist/chunk-DI55MBZ5-NCQTvayw.js +1370 -0
  113. package/dist/chunk-FMBD7UC4-CsGMbrtr.js +19 -0
  114. package/dist/chunk-FMBD7UC4-Di7cUUh5.cjs +15 -0
  115. package/dist/chunk-QN33PNHL-0j5LC8Lm.cjs +1 -0
  116. package/dist/chunk-QN33PNHL-3GERZBRm.js +19 -0
  117. package/dist/chunk-QZHKN3VN-AVEY9ImQ.js +15 -0
  118. package/dist/chunk-QZHKN3VN-s8Z0a8mc.cjs +1 -0
  119. package/dist/chunk-TZMSLE5B-CAf87HPt.cjs +1 -0
  120. package/dist/chunk-TZMSLE5B-sbiflal0.js +64 -0
  121. package/dist/classDiagram-2ON5EDUG-Ct9JLIN2.cjs +1 -0
  122. package/dist/classDiagram-2ON5EDUG-Dzfrft3a.js +16 -0
  123. package/dist/classDiagram-v2-WZHVMYZB-Ct9JLIN2.cjs +1 -0
  124. package/dist/classDiagram-v2-WZHVMYZB-Dzfrft3a.js +16 -0
  125. package/dist/clone-Cde_NQ8V.js +8 -0
  126. package/dist/clone-DCNjWuM2.cjs +1 -0
  127. package/dist/cose-bilkent-S5V4N54A-0uLijMro.cjs +1 -0
  128. package/dist/cose-bilkent-S5V4N54A-Bb08N431.js +2608 -0
  129. package/dist/cytoscape.esm-CNUX3VTg.cjs +321 -0
  130. package/dist/cytoscape.esm-Cvf3sx9F.js +18704 -0
  131. package/dist/dagre-6UL2VRFP-CY_Wz5Zd.js +444 -0
  132. package/dist/dagre-6UL2VRFP-Dxe7_qZc.cjs +4 -0
  133. package/dist/defaultLocale-BgPVtth8.js +171 -0
  134. package/dist/defaultLocale-C4wbwF1n.cjs +1 -0
  135. package/dist/diagram-PSM6KHXK-D2bdb7MT.js +531 -0
  136. package/dist/diagram-PSM6KHXK-YF69SUjY.cjs +24 -0
  137. package/dist/diagram-QEK2KX5R-BpUSoh0-.js +217 -0
  138. package/dist/diagram-QEK2KX5R-DZPGteon.cjs +43 -0
  139. package/dist/diagram-S2PKOQOG-ht-zdvFG.cjs +24 -0
  140. package/dist/diagram-S2PKOQOG-zFeLJ50Z.js +142 -0
  141. package/dist/erDiagram-Q2GNP2WA-B38iJ6ts.js +841 -0
  142. package/dist/erDiagram-Q2GNP2WA-RgS80DDU.cjs +60 -0
  143. package/dist/flowDiagram-NV44I4VS-BHilOs2p.cjs +162 -0
  144. package/dist/flowDiagram-NV44I4VS-BrBJcoce.js +1620 -0
  145. package/dist/fonts/KaTeX_AMS-Regular.ttf +0 -0
  146. package/dist/fonts/KaTeX_AMS-Regular.woff +0 -0
  147. package/dist/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  148. package/dist/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  149. package/dist/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  150. package/dist/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  151. package/dist/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  152. package/dist/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  153. package/dist/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  154. package/dist/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  155. package/dist/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  156. package/dist/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  157. package/dist/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  158. package/dist/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  159. package/dist/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  160. package/dist/fonts/KaTeX_Main-Bold.ttf +0 -0
  161. package/dist/fonts/KaTeX_Main-Bold.woff +0 -0
  162. package/dist/fonts/KaTeX_Main-Bold.woff2 +0 -0
  163. package/dist/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  164. package/dist/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  165. package/dist/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  166. package/dist/fonts/KaTeX_Main-Italic.ttf +0 -0
  167. package/dist/fonts/KaTeX_Main-Italic.woff +0 -0
  168. package/dist/fonts/KaTeX_Main-Italic.woff2 +0 -0
  169. package/dist/fonts/KaTeX_Main-Regular.ttf +0 -0
  170. package/dist/fonts/KaTeX_Main-Regular.woff +0 -0
  171. package/dist/fonts/KaTeX_Main-Regular.woff2 +0 -0
  172. package/dist/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  173. package/dist/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  174. package/dist/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  175. package/dist/fonts/KaTeX_Math-Italic.ttf +0 -0
  176. package/dist/fonts/KaTeX_Math-Italic.woff +0 -0
  177. package/dist/fonts/KaTeX_Math-Italic.woff2 +0 -0
  178. package/dist/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  179. package/dist/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  180. package/dist/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  181. package/dist/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  182. package/dist/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  183. package/dist/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  184. package/dist/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  185. package/dist/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  186. package/dist/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  187. package/dist/fonts/KaTeX_Script-Regular.ttf +0 -0
  188. package/dist/fonts/KaTeX_Script-Regular.woff +0 -0
  189. package/dist/fonts/KaTeX_Script-Regular.woff2 +0 -0
  190. package/dist/fonts/KaTeX_Size1-Regular.ttf +0 -0
  191. package/dist/fonts/KaTeX_Size1-Regular.woff +0 -0
  192. package/dist/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  193. package/dist/fonts/KaTeX_Size2-Regular.ttf +0 -0
  194. package/dist/fonts/KaTeX_Size2-Regular.woff +0 -0
  195. package/dist/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  196. package/dist/fonts/KaTeX_Size3-Regular.ttf +0 -0
  197. package/dist/fonts/KaTeX_Size3-Regular.woff +0 -0
  198. package/dist/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  199. package/dist/fonts/KaTeX_Size4-Regular.ttf +0 -0
  200. package/dist/fonts/KaTeX_Size4-Regular.woff +0 -0
  201. package/dist/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  202. package/dist/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  203. package/dist/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  204. package/dist/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  205. package/dist/ganttDiagram-JELNMOA3-pZiJeFio.cjs +267 -0
  206. package/dist/ganttDiagram-JELNMOA3-tw6FhkWJ.js +2670 -0
  207. package/dist/gitGraphDiagram-V2S2FVAM-BWn5uIK5.js +699 -0
  208. package/dist/gitGraphDiagram-V2S2FVAM-DKKeG-9R.cjs +65 -0
  209. package/dist/graph-DIbblrZP.cjs +1 -0
  210. package/dist/graph-DPcK91G3.js +247 -0
  211. package/dist/infoDiagram-HS3SLOUP-B8gwwhct.cjs +2 -0
  212. package/dist/infoDiagram-HS3SLOUP-D47PNcP_.js +24 -0
  213. package/dist/init-CHZsXQcr.cjs +1 -0
  214. package/dist/init-DjUOC4st.js +16 -0
  215. package/dist/journeyDiagram-XKPGCS4Q-BG3cfhyU.js +834 -0
  216. package/dist/journeyDiagram-XKPGCS4Q-D8DVLJof.cjs +139 -0
  217. package/dist/kanban-definition-3W4ZIXB7-4OCnEouP.cjs +89 -0
  218. package/dist/kanban-definition-3W4ZIXB7-CWi_ssF9.js +719 -0
  219. package/dist/katex.css +1 -0
  220. package/dist/layout-Byuh8f-J.cjs +1 -0
  221. package/dist/layout-CdLdvj1j.js +1335 -0
  222. package/dist/linear-C2Q_PI9B.js +259 -0
  223. package/dist/linear-C69aPBW1.cjs +1 -0
  224. package/dist/mermaid.core-DBwAx_jp.cjs +249 -0
  225. package/dist/mermaid.core-gFR0XUlD.js +15300 -0
  226. package/dist/mindmap-definition-VGOIOE7T-8P7obVV4.cjs +68 -0
  227. package/dist/mindmap-definition-VGOIOE7T-DnOa7WJ9.js +784 -0
  228. package/dist/ordinal-B6-f3MAq.js +61 -0
  229. package/dist/ordinal-CagbB1m8.cjs +1 -0
  230. package/dist/pieDiagram-ADFJNKIX-5NAlvhMo.js +161 -0
  231. package/dist/pieDiagram-ADFJNKIX-CQBG4yR9.cjs +30 -0
  232. package/dist/qoder-design.css +2 -0
  233. package/dist/quadrantDiagram-AYHSOK5B-Oe4y7RZ0.cjs +7 -0
  234. package/dist/quadrantDiagram-AYHSOK5B-rh2DPEP1.js +1022 -0
  235. package/dist/registry/basic/alert-dialog.d.ts +40 -0
  236. package/dist/registry/basic/avatar.d.ts +30 -0
  237. package/dist/registry/basic/button.d.ts +16 -0
  238. package/dist/registry/basic/collapse.d.ts +22 -0
  239. package/dist/registry/basic/collapsible-card.d.ts +34 -0
  240. package/dist/registry/basic/collapsible.d.ts +15 -0
  241. package/dist/registry/basic/dropdown-menu.d.ts +52 -0
  242. package/dist/registry/basic/icon-button.d.ts +12 -0
  243. package/dist/registry/basic/icons-inline.d.ts +51 -0
  244. package/dist/registry/basic/kbd.d.ts +23 -0
  245. package/dist/registry/basic/option-list.d.ts +16 -0
  246. package/dist/registry/basic/pagination.d.ts +33 -0
  247. package/dist/registry/basic/progress.d.ts +18 -0
  248. package/dist/registry/basic/radio-group.d.ts +25 -0
  249. package/dist/registry/basic/resizable.d.ts +318 -0
  250. package/dist/registry/basic/scrollbar.d.ts +12 -0
  251. package/dist/registry/basic/select.d.ts +35 -0
  252. package/dist/registry/basic/skeleton.d.ts +10 -0
  253. package/dist/registry/basic/slider.d.ts +16 -0
  254. package/dist/registry/basic/sonner.d.ts +23 -0
  255. package/dist/registry/basic/spinner.d.ts +5 -0
  256. package/dist/registry/basic/switch.d.ts +20 -0
  257. package/dist/registry/basic/table.d.ts +18 -0
  258. package/dist/registry/basic/tabs.d.ts +29 -0
  259. package/dist/registry/basic/tag.d.ts +23 -0
  260. package/dist/registry/basic/theme-from-document.d.ts +10 -0
  261. package/dist/registry/basic/toggle.d.ts +29 -0
  262. package/dist/registry/basic/tooltip.d.ts +34 -0
  263. package/dist/registry/basic/typography.d.ts +76 -0
  264. package/dist/registry/chat/browser-use-part.d.ts +28 -0
  265. package/dist/registry/chat/chat-input/chat-input-folder-selector.d.ts +22 -0
  266. package/dist/registry/chat/chat-input/chat-input-model-switcher.d.ts +12 -0
  267. package/dist/registry/chat/chat-input/chat-input-textarea.d.ts +9 -0
  268. package/dist/registry/chat/chat-input/compound.d.ts +97 -0
  269. package/dist/registry/chat/chat-input/context.d.ts +64 -0
  270. package/dist/registry/chat/chat-input/folder-permission-dialog.d.ts +11 -0
  271. package/dist/registry/chat/chat-input/index.d.ts +34 -0
  272. package/dist/registry/chat/chat-input/types.d.ts +79 -0
  273. package/dist/registry/chat/chat-input/useAutoResizeTextarea.d.ts +7 -0
  274. package/dist/registry/chat/code-block-part.d.ts +23 -0
  275. package/dist/registry/chat/file-attachment.d.ts +19 -0
  276. package/dist/registry/chat/file-card.d.ts +10 -0
  277. package/dist/registry/chat/file-review-part.d.ts +30 -0
  278. package/dist/registry/chat/folder-button.d.ts +20 -0
  279. package/dist/registry/chat/generated-images-grid.d.ts +15 -0
  280. package/dist/registry/chat/generation-status-bar.d.ts +19 -0
  281. package/dist/registry/chat/image-attachment.d.ts +19 -0
  282. package/dist/registry/chat/image-generating.d.ts +15 -0
  283. package/dist/registry/chat/markdown.d.ts +8 -0
  284. package/dist/registry/chat/mermaid-part.d.ts +17 -0
  285. package/dist/registry/chat/permission-card.d.ts +24 -0
  286. package/dist/registry/chat/plan-part.d.ts +30 -0
  287. package/dist/registry/chat/question-part.d.ts +24 -0
  288. package/dist/registry/chat/queue-indicator.d.ts +27 -0
  289. package/dist/registry/chat/reasoning-step.d.ts +35 -0
  290. package/dist/registry/chat/related-prompts.d.ts +23 -0
  291. package/dist/registry/chat/request.d.ts +6 -0
  292. package/dist/registry/chat/response.d.ts +28 -0
  293. package/dist/registry/chat/send-button.d.ts +17 -0
  294. package/dist/registry/chat/sidebar-menu.d.ts +23 -0
  295. package/dist/registry/chat/streaming-markdown-block.d.ts +8 -0
  296. package/dist/registry/chat/suggestion-part.d.ts +28 -0
  297. package/dist/registry/chat/task-part.d.ts +28 -0
  298. package/dist/registry/chat/terminal-code-block-part.d.ts +18 -0
  299. package/dist/registry/chat/thinking-indicator.d.ts +14 -0
  300. package/dist/registry/chat/tool-invocation-card.d.ts +20 -0
  301. package/dist/registry/chat/user-question/UserQuestionCard.d.ts +30 -0
  302. package/dist/registry/chat/user-question/UserQuestionFooter.d.ts +18 -0
  303. package/dist/registry/chat/user-question/UserQuestionHeader.d.ts +20 -0
  304. package/dist/registry/chat/user-question/index.d.ts +7 -0
  305. package/dist/registry/chat/user-question/types.d.ts +52 -0
  306. package/dist/registry/chat/user-question/useUserQuestionKeyboard.d.ts +18 -0
  307. package/dist/registry/chat/user-question/useUserQuestionState.d.ts +26 -0
  308. package/dist/registry/chat/user-question-answer.d.ts +13 -0
  309. package/dist/registry/lib/file-icon-maps.d.ts +20 -0
  310. package/dist/registry/lib/use-mermaid-render.d.ts +5 -0
  311. package/dist/registry/lib/utils.d.ts +11 -0
  312. package/dist/requirementDiagram-UZGBJVZJ-DcWaCuXr.js +850 -0
  313. package/dist/requirementDiagram-UZGBJVZJ-gfdlrFiq.cjs +64 -0
  314. package/dist/sankeyDiagram-TZEHDZUN-CQIKFwD0.js +810 -0
  315. package/dist/sankeyDiagram-TZEHDZUN-DvPtzQvC.cjs +10 -0
  316. package/dist/scale.css +307 -0
  317. package/dist/sequenceDiagram-WL72ISMW-BNrsMagL.cjs +145 -0
  318. package/dist/sequenceDiagram-WL72ISMW-iCX3ckKx.js +2511 -0
  319. package/dist/spark-design.cjs.js +265 -0
  320. package/dist/spark-design.es.js +13207 -0
  321. package/dist/src/components/chat/BrowserUsePart/index.d.ts +7 -0
  322. package/dist/src/components/chat/ChatInput/index.d.ts +29 -0
  323. package/dist/src/components/chat/CodeBlockPart/index.d.ts +7 -0
  324. package/dist/src/components/chat/CollapsibleCard/index.d.ts +7 -0
  325. package/dist/src/components/chat/FileAttachment/index.d.ts +3 -0
  326. package/dist/src/components/chat/FileCard/index.d.ts +3 -0
  327. package/dist/src/components/chat/FileReviewPart/index.d.ts +7 -0
  328. package/dist/src/components/chat/FolderButton/index.d.ts +5 -0
  329. package/dist/src/components/chat/GeneratedImagesGrid/index.d.ts +7 -0
  330. package/dist/src/components/chat/GenerationStatusBar/index.d.ts +7 -0
  331. package/dist/src/components/chat/ImageAttachment/index.d.ts +3 -0
  332. package/dist/src/components/chat/ImageGenerating/index.d.ts +6 -0
  333. package/dist/src/components/chat/Markdown/demo-content.d.ts +1 -0
  334. package/dist/src/components/chat/Markdown/index.d.ts +7 -0
  335. package/dist/src/components/chat/MermaidPart/index.d.ts +6 -0
  336. package/dist/src/components/chat/PermissionCard/index.d.ts +4 -0
  337. package/dist/src/components/chat/PlanPart/index.d.ts +6 -0
  338. package/dist/src/components/chat/QuestionPart/index.d.ts +6 -0
  339. package/dist/src/components/chat/QueueIndicator/index.d.ts +4 -0
  340. package/dist/src/components/chat/ReasoningStep/index.d.ts +7 -0
  341. package/dist/src/components/chat/RelatedPrompts/index.d.ts +6 -0
  342. package/dist/src/components/chat/Request/index.d.ts +7 -0
  343. package/dist/src/components/chat/Response/StreamingMarkdownBlock.d.ts +6 -0
  344. package/dist/src/components/chat/Response/index.d.ts +6 -0
  345. package/dist/src/components/chat/SendButton/index.d.ts +5 -0
  346. package/dist/src/components/chat/SidebarMenu/index.d.ts +4 -0
  347. package/dist/src/components/chat/SuggestionPart/index.d.ts +6 -0
  348. package/dist/src/components/chat/TaskPart/index.d.ts +7 -0
  349. package/dist/src/components/chat/TerminalCodeBlockPart/index.d.ts +6 -0
  350. package/dist/src/components/chat/ThinkingIndicator/index.d.ts +6 -0
  351. package/dist/src/components/chat/ToolInvocationCard/index.d.ts +4 -0
  352. package/dist/src/components/chat/UserQuestion/index.d.ts +5 -0
  353. package/dist/src/components/chat/UserQuestionAnswer/index.d.ts +3 -0
  354. package/dist/src/components/foundation/AlertDialog/index.d.ts +20 -0
  355. package/dist/src/components/foundation/Avatar/index.d.ts +7 -0
  356. package/dist/src/components/foundation/Button/index.d.ts +7 -0
  357. package/dist/src/components/foundation/Collapse/index.d.ts +15 -0
  358. package/dist/src/components/foundation/Collapsible/index.d.ts +7 -0
  359. package/dist/src/components/foundation/CollapsibleSection/index.d.ts +43 -0
  360. package/dist/src/components/foundation/DropdownMenu/index.d.ts +19 -0
  361. package/dist/src/components/foundation/EllipsisText/index.d.ts +53 -0
  362. package/dist/src/components/foundation/IconButton/index.d.ts +7 -0
  363. package/dist/src/components/foundation/Kbd/index.d.ts +7 -0
  364. package/dist/src/components/foundation/OptionList/index.d.ts +7 -0
  365. package/dist/src/components/foundation/Pagination/index.d.ts +7 -0
  366. package/dist/src/components/foundation/Progress/index.d.ts +7 -0
  367. package/dist/src/components/foundation/RadioGroup/index.d.ts +7 -0
  368. package/dist/src/components/foundation/Resizable/index.d.ts +7 -0
  369. package/dist/src/components/foundation/Scrollbar/index.d.ts +7 -0
  370. package/dist/src/components/foundation/Select/index.d.ts +17 -0
  371. package/dist/src/components/foundation/Skeleton/index.d.ts +7 -0
  372. package/dist/src/components/foundation/Slider/index.d.ts +7 -0
  373. package/dist/src/components/foundation/Spinner/index.d.ts +7 -0
  374. package/dist/src/components/foundation/Switch/index.d.ts +38 -0
  375. package/dist/src/components/foundation/Table/index.d.ts +7 -0
  376. package/dist/src/components/foundation/Tabs/index.d.ts +7 -0
  377. package/dist/src/components/foundation/Tag/index.d.ts +10 -0
  378. package/dist/src/components/foundation/Toast/index.d.ts +12 -0
  379. package/dist/src/components/foundation/Toggle/index.d.ts +7 -0
  380. package/dist/src/components/foundation/Tooltip/index.d.ts +21 -0
  381. package/dist/src/components/foundation/Typography/index.d.ts +7 -0
  382. package/dist/src/components/index.d.ts +136 -0
  383. package/dist/src/icons/context.d.ts +26 -0
  384. package/dist/src/icons/types.d.ts +18 -0
  385. package/dist/src/lib/ThemeStyleContext.d.ts +21 -0
  386. package/dist/src/lib/file-icon.d.ts +16 -0
  387. package/dist/src/lib/i18n.d.ts +12 -0
  388. package/dist/src/lib/index.d.ts +10 -0
  389. package/dist/src/lib/motion.d.ts +22 -0
  390. package/dist/src/lib/utils.d.ts +11 -0
  391. package/dist/stateDiagram-FKZM4ZOC-DBvJ_eeL.cjs +1 -0
  392. package/dist/stateDiagram-FKZM4ZOC-ZVsJlaHJ.js +263 -0
  393. package/dist/stateDiagram-v2-4FDKWEC3-CB_nTHcE.js +16 -0
  394. package/dist/stateDiagram-v2-4FDKWEC3-Xkx17v6T.cjs +1 -0
  395. package/dist/theme.css +804 -0
  396. package/dist/timeline-definition-IT6M3QCI-BmGkYQiz.cjs +61 -0
  397. package/dist/timeline-definition-IT6M3QCI-Ck8zTt6w.js +795 -0
  398. package/dist/treemap-GDKQZRPO-B9sfERx8.js +17922 -0
  399. package/dist/treemap-GDKQZRPO-BVfJRs0Z.cjs +160 -0
  400. package/dist/xychartDiagram-PRI3JC2R-By_S8NzN.js +1340 -0
  401. package/dist/xychartDiagram-PRI3JC2R-CNfDrGxM.cjs +7 -0
  402. package/package.json +111 -9
  403. package/index.js +0 -5
@@ -0,0 +1,17 @@
1
+ /**
2
+ * [INPUT]: (MermaidPartProps) - content (Mermaid 源码);可选 headerIcon,未指定则用内联 SVG
3
+ * [OUTPUT]: (JSX.Element)
4
+ * [POS]: registry/chat - 从 QodeChatPanel 移植,全 token 化;mermaid 动态 import,未安装时降级提示
5
+ */
6
+ import { type ReactNode } from 'react';
7
+ export interface MermaidPartProps {
8
+ content?: string;
9
+ className?: string;
10
+ headerIcon?: ReactNode;
11
+ /** 布局风格,与 data-style 一致(如 soft/neutral/sharp),用于图表节点圆角等;不传则从 document 读取 */
12
+ dataStyle?: string;
13
+ }
14
+ export declare function MermaidPart({ content, className, headerIcon, dataStyle }: MermaidPartProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare namespace MermaidPart {
16
+ var displayName: string;
17
+ }
@@ -0,0 +1,24 @@
1
+ import type { HTMLAttributes, ButtonHTMLAttributes } from 'react';
2
+ import type { ReactNode } from 'react';
3
+ export interface PermissionCardAction extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
4
+ label: string;
5
+ }
6
+ export interface PermissionCardProps extends HTMLAttributes<HTMLDivElement> {
7
+ title?: string;
8
+ description?: string;
9
+ command: string;
10
+ commandIntent?: string;
11
+ isLoadingIntent?: boolean;
12
+ onClose?: () => void;
13
+ actions?: {
14
+ deny?: PermissionCardAction;
15
+ allowOnce?: PermissionCardAction;
16
+ };
17
+ closeIcon?: ReactNode;
18
+ warningIcon?: ReactNode;
19
+ /** 主库 i18n:展开/折叠按钮文案 */
20
+ expandLabel?: string;
21
+ collapseLabel?: string;
22
+ commaLabel?: string;
23
+ }
24
+ export declare const PermissionCard: import("react").ForwardRefExoticComponent<PermissionCardProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * [INPUT]: (PlanPartProps) - title、description、content、View/Build/Built;可选 headerIcon/downloadIcon/builtIcon,未指定则用内联 SVG
3
+ * [OUTPUT]: (JSX.Element)
4
+ * [POS]: registry/chat - 从 QodeChatPanel 移植,全 token 化
5
+ */
6
+ import type { ReactNode } from 'react';
7
+ export interface PlanPartProps {
8
+ title?: string;
9
+ description?: string;
10
+ content: string;
11
+ viewText?: string;
12
+ buildText?: string;
13
+ builtText?: string;
14
+ isBuilt?: boolean;
15
+ isGenerating?: boolean;
16
+ onView?: () => void;
17
+ onBuild?: () => void;
18
+ onDownload?: () => void;
19
+ defaultExpanded?: boolean;
20
+ contentMaxHeight?: number;
21
+ collapsible?: boolean;
22
+ className?: string;
23
+ headerIcon?: ReactNode;
24
+ downloadIcon?: ReactNode;
25
+ builtIcon?: ReactNode;
26
+ }
27
+ export declare function PlanPart({ title, description, content, viewText, buildText, builtText, isBuilt, isGenerating, onView, onBuild, onDownload, defaultExpanded, contentMaxHeight, collapsible, className, headerIcon, downloadIcon, builtIcon, }: PlanPartProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare namespace PlanPart {
29
+ var displayName: string;
30
+ }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * [INPUT]: (QuestionPartProps) - title、question、skipText/runText;可选 headerIcon,未指定则用内联 SVG
3
+ * [OUTPUT]: (JSX.Element)
4
+ * [POS]: registry/chat - 从 QodeChatPanel 移植,全 token 化
5
+ */
6
+ import type { ReactNode } from 'react';
7
+ export interface QuestionPartProps {
8
+ title?: string;
9
+ question: string;
10
+ skipText?: string;
11
+ runText?: string;
12
+ askTimeText?: string;
13
+ onSkip?: () => void;
14
+ onRun?: () => void;
15
+ onAskTimeChange?: (value: string) => void;
16
+ contentMaxHeight?: number;
17
+ collapsible?: boolean;
18
+ className?: string;
19
+ headerIcon?: ReactNode;
20
+ }
21
+ export declare function QuestionPart({ title, question, skipText, runText, askTimeText, onSkip, onRun, contentMaxHeight, collapsible, className, headerIcon, }: QuestionPartProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare namespace QuestionPart {
23
+ var displayName: string;
24
+ }
@@ -0,0 +1,27 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface QueueIndicatorItem {
3
+ id: string;
4
+ label: ReactNode;
5
+ attachmentCount?: number;
6
+ }
7
+ export interface QueueIndicatorLabels {
8
+ title?: string;
9
+ sendNowTip?: string;
10
+ removeTip?: string;
11
+ fileLabel?: string;
12
+ filesLabel?: string;
13
+ }
14
+ export interface QueueIndicatorProps {
15
+ items: QueueIndicatorItem[];
16
+ onRemoveItem?: (itemId: string) => void;
17
+ onSendNow?: (itemId: string) => void;
18
+ isStreaming?: boolean;
19
+ hasStatusCardBelow?: boolean;
20
+ labels?: QueueIndicatorLabels;
21
+ defaultExpanded?: boolean;
22
+ storageKey?: string;
23
+ arrowUpIcon?: ReactNode;
24
+ closeIcon?: ReactNode;
25
+ arrowDownSIcon?: ReactNode;
26
+ }
27
+ export declare const QueueIndicator: import("react").NamedExoticComponent<QueueIndicatorProps>;
@@ -0,0 +1,35 @@
1
+ import type { ReactNode } from 'react';
2
+ export type ReasoningStepDetail = {
3
+ type: 'action';
4
+ action: string;
5
+ desc?: string;
6
+ details?: ReasoningStepDetail[];
7
+ } | {
8
+ type: 'file';
9
+ filename: string;
10
+ lines?: string;
11
+ path?: string;
12
+ fileType?: string;
13
+ details?: ReasoningStepDetail[];
14
+ };
15
+ export interface ReasoningStepProps {
16
+ text: ReactNode;
17
+ description?: string;
18
+ status?: 'completed' | 'in-progress';
19
+ icon?: ReactNode;
20
+ showIcon?: boolean;
21
+ details?: ReasoningStepDetail[];
22
+ children?: ReactNode;
23
+ duration?: number;
24
+ spread?: number;
25
+ disableExpandAnimation?: boolean;
26
+ defaultExpanded?: boolean;
27
+ expanded?: boolean;
28
+ onExpandedChange?: (expanded: boolean) => void;
29
+ eyeIcon?: ReactNode;
30
+ arrowRightIcon?: ReactNode;
31
+ }
32
+ export declare function ReasoningStep({ text, description, status, icon, showIcon, details, children, duration, spread, disableExpandAnimation, defaultExpanded, expanded: expandedProp, onExpandedChange, eyeIcon, arrowRightIcon, }: ReasoningStepProps): import("react/jsx-runtime").JSX.Element;
33
+ export declare namespace ReasoningStep {
34
+ var displayName: string;
35
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * [INPUT]: (RelatedPromptsProps) - 推荐 prompt 列表
3
+ * [OUTPUT]: (JSX.Element) - 输入框上方的相关推荐 prompt 列表
4
+ * [POS]: registry/chat - 唯一来源,主库可注入 defaultIcon
5
+ */
6
+ import type { ReactNode } from 'react';
7
+ export interface RelatedPromptItem {
8
+ text: string;
9
+ prompt: string;
10
+ icon?: ReactNode;
11
+ }
12
+ export interface RelatedPromptsProps {
13
+ items: RelatedPromptItem[];
14
+ onSelect?: (item: RelatedPromptItem) => void;
15
+ singleLineText?: boolean;
16
+ className?: string;
17
+ /** 主库可注入 useIcon('chat3');不传则用 Chat3Line */
18
+ defaultIcon?: ReactNode;
19
+ }
20
+ export declare function RelatedPrompts({ items, onSelect, singleLineText, className, defaultIcon, }: RelatedPromptsProps): import("react/jsx-runtime").JSX.Element | null;
21
+ export declare namespace RelatedPrompts {
22
+ var displayName: string;
23
+ }
@@ -0,0 +1,6 @@
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
+ export interface RequestProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
3
+ children: ReactNode;
4
+ maxWidth?: string | number;
5
+ }
6
+ export declare const Request: import("react").ForwardRefExoticComponent<RequestProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,28 @@
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
+ import type { ReasoningStepDetail } from './reasoning-step';
3
+ export type ResponsePhase = 'thinking' | 'streaming' | 'done' | 'imageGenerating';
4
+ export type ResponseStepToolType = 'read' | 'edit' | 'search';
5
+ export interface ResponseStep {
6
+ text: string;
7
+ description?: string;
8
+ details?: ReasoningStepDetail[];
9
+ toolType?: ResponseStepToolType;
10
+ }
11
+ export interface ResponseRound {
12
+ step: ResponseStep;
13
+ simpleMd: string;
14
+ }
15
+ export interface ResponseProps extends HTMLAttributes<HTMLDivElement> {
16
+ simulate?: boolean;
17
+ phase?: ResponsePhase;
18
+ rounds?: ResponseRound[];
19
+ finalMarkdown?: string;
20
+ onSimulateComplete?: () => void;
21
+ onStepChange?: (text: string, toolType?: ResponseStepToolType) => void;
22
+ /** 主库可注入带 Lottie 的 ThinkingIndicator,与独立 ThinkingIndicator 动效一致 */
23
+ thinkingIndicator?: ReactNode;
24
+ }
25
+ export declare function Response({ simulate, phase, rounds, finalMarkdown, onSimulateComplete, onStepChange, thinkingIndicator, className, ...props }: ResponseProps): import("react/jsx-runtime").JSX.Element;
26
+ export declare namespace Response {
27
+ var displayName: string;
28
+ }
@@ -0,0 +1,17 @@
1
+ import type { ButtonHTMLAttributes, ReactNode } from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ declare const sendButtonVariants: (props?: ({
4
+ status?: "normal" | "generating" | "recording" | "stopRecording" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ declare const sendButtonIconVariants: (props?: ({
7
+ status?: "normal" | "generating" | "recording" | "stopRecording" | null | undefined;
8
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
+ export interface SendButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof sendButtonVariants> {
10
+ status?: 'normal' | 'generating' | 'recording' | 'stopRecording';
11
+ /** 主库可注入 useIcon('send');不传则用 registry 内联图标 */
12
+ sendIcon?: ReactNode;
13
+ stopIcon?: ReactNode;
14
+ micIcon?: ReactNode;
15
+ }
16
+ export declare const SendButton: import("react").ForwardRefExoticComponent<SendButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
17
+ export { sendButtonVariants, sendButtonIconVariants };
@@ -0,0 +1,23 @@
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
+ export interface SidebarMenuItemAction {
3
+ id: string;
4
+ label: string;
5
+ icon?: ReactNode;
6
+ onClick?: () => void;
7
+ destructive?: boolean;
8
+ }
9
+ export interface SidebarMenuItem {
10
+ id: string;
11
+ label: string;
12
+ icon?: ReactNode;
13
+ disabled?: boolean;
14
+ actions?: SidebarMenuItemAction[];
15
+ }
16
+ export interface SidebarMenuProps extends HTMLAttributes<HTMLDivElement> {
17
+ items: SidebarMenuItem[];
18
+ selectedId?: string;
19
+ onItemClick?: (item: SidebarMenuItem) => void;
20
+ width?: string;
21
+ moreIcon?: ReactNode;
22
+ }
23
+ export declare const SidebarMenu: import("react").ForwardRefExoticComponent<SidebarMenuProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,8 @@
1
+ export interface StreamingMarkdownBlockProps {
2
+ content: string;
3
+ isActive: boolean;
4
+ onStreamComplete?: () => void;
5
+ tokenDelayMs?: number;
6
+ className?: string;
7
+ }
8
+ export declare function StreamingMarkdownBlock({ content, isActive, onStreamComplete, tokenDelayMs, className, }: StreamingMarkdownBlockProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * [INPUT]: (SuggestionPartProps) - 建议横幅
3
+ * [OUTPUT]: (JSX.Element)
4
+ * [POS]: registry/chat - 唯一来源,主库再导出并注入图标
5
+ */
6
+ import type { ReactNode } from 'react';
7
+ export interface SuggestionPartProps {
8
+ type?: 'wiki' | 'credits';
9
+ title?: string;
10
+ description?: string;
11
+ highlightText?: string;
12
+ language?: string;
13
+ rechargeText?: string;
14
+ onClose?: () => void;
15
+ onGenerate?: () => void;
16
+ onRecharge?: () => void;
17
+ onLanguageChange?: (language: string) => void;
18
+ closeIcon?: ReactNode;
19
+ arrowDownSIcon?: ReactNode;
20
+ suggestionIcon?: ReactNode;
21
+ /** 供 Portal 浮层继承(与 ChatInput FolderButton 一致),不传则由 dropdown-menu 使用 getThemeFromDocument() 兜底 */
22
+ dataStyle?: string;
23
+ dataTheme?: string;
24
+ }
25
+ export declare function SuggestionPart({ type, title, description, highlightText, language, rechargeText, onClose, onGenerate, onRecharge, onLanguageChange, closeIcon, arrowDownSIcon, suggestionIcon, dataStyle, dataTheme, }: SuggestionPartProps): import("react/jsx-runtime").JSX.Element;
26
+ export declare namespace SuggestionPart {
27
+ var displayName: string;
28
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * [INPUT]: (TaskPartProps) - tasks、title、currentTaskId;可选 headerIcon/circleIcon/completedIcon/skippedIcon/loaderIcon,未指定则用内联 SVG
3
+ * [OUTPUT]: (JSX.Element)
4
+ * [POS]: registry/chat - 从 QodeChatPanel 移植,全 token 化
5
+ */
6
+ import type { ReactNode } from 'react';
7
+ export type TaskStatus = 'completed' | 'uncompleted' | 'skipped' | 'cancelled';
8
+ export interface TaskPartTask {
9
+ id?: string;
10
+ text: string;
11
+ status?: TaskStatus;
12
+ }
13
+ export interface TaskPartProps {
14
+ tasks?: TaskPartTask[];
15
+ title?: string;
16
+ currentTaskId?: string;
17
+ defaultExpanded?: boolean;
18
+ className?: string;
19
+ headerIcon?: ReactNode;
20
+ uncompletedIcon?: ReactNode;
21
+ completedIcon?: ReactNode;
22
+ skippedIcon?: ReactNode;
23
+ loaderIcon?: ReactNode;
24
+ }
25
+ export declare function TaskPart({ tasks, title, currentTaskId, defaultExpanded, className, headerIcon, uncompletedIcon, completedIcon, skippedIcon, loaderIcon, }: TaskPartProps): import("react/jsx-runtime").JSX.Element;
26
+ export declare namespace TaskPart {
27
+ var displayName: string;
28
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * [INPUT]: (TerminalCodeBlockPartProps) - command、output、autoRanCommand;可选 headerIcon/externalLinkIcon,未指定则用内联 SVG
3
+ * [OUTPUT]: (JSX.Element)
4
+ * [POS]: registry/chat - 从 QodeChatPanel 移植,全 token 化;不依赖 prism,纯样式
5
+ */
6
+ import type { ReactNode } from 'react';
7
+ export interface TerminalCodeBlockPartProps {
8
+ command?: string;
9
+ output?: string;
10
+ autoRanCommand?: string;
11
+ className?: string;
12
+ headerIcon?: ReactNode;
13
+ externalLinkIcon?: ReactNode;
14
+ }
15
+ export declare function TerminalCodeBlockPart({ command, output, autoRanCommand, className, headerIcon, externalLinkIcon, }: TerminalCodeBlockPartProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare namespace TerminalCodeBlockPart {
17
+ var displayName: string;
18
+ }
@@ -0,0 +1,14 @@
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
+ export interface ThinkingIndicatorProps extends HTMLAttributes<HTMLDivElement> {
3
+ text?: string;
4
+ textClassName?: string;
5
+ shimmer?: boolean;
6
+ shimmerDuration?: number;
7
+ shimmerSpread?: number;
8
+ /** 主库可注入 Lottie 等自定义动画;不传则用 CSS 三点脉动 */
9
+ loader?: ReactNode;
10
+ }
11
+ export declare function ThinkingIndicator({ text, textClassName, shimmer, shimmerDuration, shimmerSpread, className, loader, ...props }: ThinkingIndicatorProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare namespace ThinkingIndicator {
13
+ var displayName: string;
14
+ }
@@ -0,0 +1,20 @@
1
+ import type { ReactNode } from 'react';
2
+ export type ToolInvocationStatus = 'running' | 'success' | 'error';
3
+ export interface ToolInvocationCardProps {
4
+ toolName: string;
5
+ params?: string;
6
+ status: ToolInvocationStatus;
7
+ response?: string;
8
+ defaultExpanded?: boolean;
9
+ statusText?: string;
10
+ className?: string;
11
+ timeIcon?: ReactNode;
12
+ checkboxCircleIcon?: ReactNode;
13
+ closeCircleIcon?: ReactNode;
14
+ arrowRightIcon?: ReactNode;
15
+ runningText?: string;
16
+ ranText?: string;
17
+ failedText?: string;
18
+ responseLabel?: string;
19
+ }
20
+ export declare const ToolInvocationCard: import("react").NamedExoticComponent<ToolInvocationCardProps>;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * [INPUT]: 单题数据、answers/customInputs、handlers、labels、当前题/焦点/禁用状态
3
+ * [OUTPUT]: (JSX.Element) - 单题区块(题干 + OptionList + 自定义输入)
4
+ * [POS]: registry/chat/user-question
5
+ */
6
+ import type { Dispatch, MutableRefObject, SetStateAction } from 'react';
7
+ import type { UserQuestionItem, UserQuestionLabels } from './types';
8
+ export interface UserQuestionCardProps {
9
+ question: UserQuestionItem;
10
+ qIndex: number;
11
+ labels: Required<UserQuestionLabels>;
12
+ answers: Record<string, string[]>;
13
+ customInputs: Record<string, string>;
14
+ focusedOptionIndex: number;
15
+ isCurrentQuestion: boolean;
16
+ isSubmitting: boolean;
17
+ allQuestionsAnswered: boolean;
18
+ questionsLength: number;
19
+ questionRefs: MutableRefObject<Map<number, HTMLDivElement>>;
20
+ customInputRefs: MutableRefObject<Map<string, HTMLInputElement>>;
21
+ setCurrentQuestionIndex: (i: number) => void;
22
+ setFocusedOptionIndex: (i: number) => void;
23
+ setAnswers: Dispatch<SetStateAction<Record<string, string[]>>>;
24
+ setCustomInputs: Dispatch<SetStateAction<Record<string, string>>>;
25
+ getSelectedOptionIndex: (i: number) => number;
26
+ shouldScrollToQuestionRef: MutableRefObject<boolean>;
27
+ onOptionClick: (questionText: string, optionLabel: string, questionIndex: number) => void;
28
+ onContinue: () => void;
29
+ }
30
+ export declare function UserQuestionCard({ question, qIndex, labels, answers, customInputs, focusedOptionIndex, isCurrentQuestion, isSubmitting, allQuestionsAnswered, questionsLength, questionRefs, customInputRefs, setCurrentQuestionIndex, setFocusedOptionIndex, setAnswers, setCustomInputs, getSelectedOptionIndex, shouldScrollToQuestionRef, onOptionClick, onContinue, }: UserQuestionCardProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * [INPUT]: labels、推荐/跳过/继续 handlers、disabled、sparklingIcon
3
+ * [OUTPUT]: (JSX.Element) - 底部操作区
4
+ * [POS]: registry/chat/user-question
5
+ */
6
+ import type { ReactNode } from 'react';
7
+ import type { UserQuestionLabels } from './types';
8
+ export interface UserQuestionFooterProps {
9
+ labels: Required<UserQuestionLabels>;
10
+ sparklingIcon: ReactNode;
11
+ isSubmitting: boolean;
12
+ hasCustomText: boolean;
13
+ allQuestionsAnswered: boolean;
14
+ onRecommend: () => void;
15
+ onSkip: () => void;
16
+ onContinue: () => void;
17
+ }
18
+ export declare function UserQuestionFooter({ labels, sparklingIcon, isSubmitting, hasCustomText, allQuestionsAnswered, onRecommend, onSkip, onContinue, }: UserQuestionFooterProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * [INPUT]: 当前题、题数、labels、图标、上一/下一、disabled
3
+ * [OUTPUT]: (JSX.Element) - 顶部标题与题号切换
4
+ * [POS]: registry/chat/user-question
5
+ */
6
+ import type { ReactNode } from 'react';
7
+ import type { UserQuestionItem } from './types';
8
+ import type { UserQuestionLabels } from './types';
9
+ export interface UserQuestionHeaderProps {
10
+ currentQuestion: UserQuestionItem | undefined;
11
+ questionsLength: number;
12
+ labels: Required<UserQuestionLabels>;
13
+ chat4Icon: ReactNode;
14
+ arrowUpSIcon: ReactNode;
15
+ arrowDownSIcon: ReactNode;
16
+ currentQuestionIndex: number;
17
+ onPrevious: () => void;
18
+ onNext: () => void;
19
+ }
20
+ export declare function UserQuestionHeader({ currentQuestion, questionsLength, labels, chat4Icon, arrowUpSIcon, arrowDownSIcon, currentQuestionIndex, onPrevious, onNext, }: UserQuestionHeaderProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { type UserQuestionProps, type UserQuestionHandle } from './types';
2
+ export type { UserQuestionOption, UserQuestionItem, UserQuestionLabels, UserQuestionProps, UserQuestionHandle, } from './types';
3
+ export { DEFAULT_LABELS, NO_PREFERENCE_VALUE } from './types';
4
+ export { UserQuestionHeader } from './UserQuestionHeader';
5
+ export { UserQuestionCard } from './UserQuestionCard';
6
+ export { UserQuestionFooter } from './UserQuestionFooter';
7
+ export declare const UserQuestion: import("react").NamedExoticComponent<UserQuestionProps & import("react").RefAttributes<UserQuestionHandle>>;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * [INPUT]: 无(类型定义模块)
3
+ * [OUTPUT]: 导出 UserQuestion 相关类型与常量
4
+ * [POS]: registry/chat/user-question - 唯一类型来源
5
+ *
6
+ * [PROTOCOL]:
7
+ * 1. 类型/常量变更时同步更新 index 的 re-export
8
+ */
9
+ import type { ReactNode } from 'react';
10
+ /** 单个问题的选项 */
11
+ export interface UserQuestionOption {
12
+ label: string;
13
+ description?: string;
14
+ }
15
+ /** 单个问题 */
16
+ export interface UserQuestionItem {
17
+ question: string;
18
+ header?: string;
19
+ options: UserQuestionOption[];
20
+ multiSelect?: boolean;
21
+ /** 是否允许用户自定义输入(默认 true) */
22
+ allowCustomInput?: boolean;
23
+ }
24
+ export interface UserQuestionLabels {
25
+ multiSelect?: string;
26
+ singleSelect?: string;
27
+ questionHeader?: string;
28
+ skipAll?: string;
29
+ continue?: string;
30
+ submit?: string;
31
+ sending?: string;
32
+ customInputPlaceholder?: string;
33
+ recommend?: string;
34
+ }
35
+ export declare const DEFAULT_LABELS: Required<UserQuestionLabels>;
36
+ /** 跳过问题时填充的默认值 */
37
+ export declare const NO_PREFERENCE_VALUE = "[No preference]";
38
+ export interface UserQuestionProps {
39
+ questions: UserQuestionItem[];
40
+ resetKey?: string;
41
+ onAnswer: (answers: Record<string, string>) => void;
42
+ onSkip: () => void;
43
+ hasCustomText?: boolean;
44
+ labels?: UserQuestionLabels;
45
+ chat4Icon?: ReactNode;
46
+ arrowUpSIcon?: ReactNode;
47
+ arrowDownSIcon?: ReactNode;
48
+ sparklingIcon?: ReactNode;
49
+ }
50
+ export interface UserQuestionHandle {
51
+ getAnswers: () => Record<string, string>;
52
+ }
@@ -0,0 +1,18 @@
1
+ import type { MutableRefObject } from 'react';
2
+ import type { UserQuestionItem, UserQuestionOption } from './types';
3
+ export interface UseUserQuestionKeyboardProps {
4
+ isSubmitting: boolean;
5
+ currentQuestion: UserQuestionItem | undefined;
6
+ currentOptions: UserQuestionOption[];
7
+ currentQuestionIndex: number;
8
+ questions: UserQuestionItem[];
9
+ focusedOptionIndex: number;
10
+ setFocusedOptionIndex: (n: number) => void;
11
+ currentQuestionHasAnswer: boolean;
12
+ getSelectedOptionIndex: (i: number) => number;
13
+ shouldScrollToQuestionRef: MutableRefObject<boolean>;
14
+ setCurrentQuestionIndex: (i: number) => void;
15
+ handleOptionClick: (questionText: string, optionLabel: string, questionIndex: number) => void;
16
+ handleContinue: () => void;
17
+ }
18
+ export declare function useUserQuestionKeyboard({ isSubmitting, currentQuestion, currentOptions, currentQuestionIndex, questions, focusedOptionIndex, setFocusedOptionIndex, currentQuestionHasAnswer, getSelectedOptionIndex, shouldScrollToQuestionRef, setCurrentQuestionIndex, handleOptionClick, handleContinue, }: UseUserQuestionKeyboardProps): void;
@@ -0,0 +1,26 @@
1
+ import type { Ref } from 'react';
2
+ import type { UserQuestionItem, UserQuestionHandle } from './types';
3
+ export interface UseUserQuestionStateProps {
4
+ questions: UserQuestionItem[];
5
+ resetKey?: string;
6
+ onAnswer: (answers: Record<string, string>) => void;
7
+ ref: Ref<UserQuestionHandle | null>;
8
+ }
9
+ export declare function useUserQuestionState({ questions, resetKey, ref, }: UseUserQuestionStateProps): {
10
+ currentQuestionIndex: number;
11
+ setCurrentQuestionIndex: import("react").Dispatch<import("react").SetStateAction<number>>;
12
+ answers: Record<string, string[]>;
13
+ setAnswers: import("react").Dispatch<import("react").SetStateAction<Record<string, string[]>>>;
14
+ customInputs: Record<string, string>;
15
+ setCustomInputs: import("react").Dispatch<import("react").SetStateAction<Record<string, string>>>;
16
+ focusedOptionIndex: number;
17
+ setFocusedOptionIndex: import("react").Dispatch<import("react").SetStateAction<number>>;
18
+ isSubmitting: boolean;
19
+ setIsSubmitting: import("react").Dispatch<import("react").SetStateAction<boolean>>;
20
+ maxQuestionHeight: number | undefined;
21
+ scrollContainerRef: import("react").RefObject<HTMLDivElement | null>;
22
+ questionRefs: import("react").RefObject<Map<number, HTMLDivElement>>;
23
+ shouldScrollToQuestionRef: import("react").RefObject<boolean>;
24
+ customInputRefs: import("react").RefObject<Map<string, HTMLInputElement>>;
25
+ getSelectedOptionIndex: (questionIndex: number) => number;
26
+ };
@@ -0,0 +1,13 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface UserQuestionAnswerLabels {
3
+ answer?: string;
4
+ answers?: string;
5
+ }
6
+ export interface UserQuestionAnswerProps {
7
+ answers: Record<string, string>;
8
+ showHeader?: boolean;
9
+ labels?: UserQuestionAnswerLabels;
10
+ className?: string;
11
+ questionAnswerIcon?: ReactNode;
12
+ }
13
+ export declare const UserQuestionAnswer: import("react").NamedExoticComponent<UserQuestionAnswerProps>;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * [INPUT]: (无) - 文件图标映射配置
3
+ * [OUTPUT]: FILE_TYPE_MAP, SETI_CHAR_MAP, SETI_COLOR_MAP, getSetiIconType, getSetiIcon, getSetiIconColor, getFileIconColorClass
4
+ * [POS]: registry/lib - 与 QodeChatPanel utils/fileIconMaps 一致,供 FileReviewPart、ReasoningStep 等使用
5
+ *
6
+ * SETI_CHAR_MAP 与 QodeChatPanel 一致(qoder-seti.woff 使用 E054=js、E059=json 等)。
7
+ *
8
+ * [PROTOCOL]:
9
+ * 1. 新增文件类型须同时更新 SETI_CHAR_MAP、SETI_COLOR_MAP、FILE_TYPE_MAP
10
+ * 2. 使用 Seti 时需加载 qoder-seti.woff 并 @font-face font-family: 'Seti'(与 QodeChatPanel 同源字体)
11
+ */
12
+ export declare const SETI_CHAR_MAP: Record<string, string>;
13
+ export declare const SETI_COLOR_MAP: Record<string, string>;
14
+ export declare const FILE_TYPE_MAP: Record<string, string>;
15
+ export declare const TYPE_TO_TOKEN_CLASS: Record<string, string>;
16
+ export declare function getSetiIconType(fileType?: string, filename?: string): string;
17
+ export declare function getSetiIcon(fileType?: string, filename?: string): string;
18
+ export declare function getSetiIconColor(fileType?: string, filename?: string): string;
19
+ /** 返回 Tailwind token 类名,用于通用文件图标(非 Seti 字体) */
20
+ export declare function getFileIconColorClass(fileType?: string, filename?: string): string;
@@ -0,0 +1,5 @@
1
+ export interface UseMermaidRenderResult {
2
+ svg: string;
3
+ error: string;
4
+ }
5
+ export declare function useMermaidRender(content: string, id: string, dataStyle?: string): UseMermaidRenderResult;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * [INPUT]: (ClassValue[])
3
+ * [OUTPUT]: (string) - 合并后的 class 名
4
+ * [POS]: registry/lib/utils - 注册表工具函数,复制到用户项目后可自由修改
5
+ *
6
+ * [PROTOCOL]:
7
+ * 1. 用户可自由修改此文件
8
+ * 2. 更新时使用 npx sparkdesign diff utils 查看差异
9
+ */
10
+ import { type ClassValue } from 'clsx';
11
+ export declare function cn(...inputs: ClassValue[]): string;