sparkdesign 0.4.3 → 0.4.5

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 (467) hide show
  1. package/README.md +205 -111
  2. package/dist/_basePickBy-DnQN8w3y.js +151 -0
  3. package/dist/_basePickBy-a-kPMlkg.cjs +1 -0
  4. package/dist/_baseUniq-B-N2NQ50.js +614 -0
  5. package/dist/_baseUniq-Cc_zbSif.cjs +1 -0
  6. package/dist/arc-BQBhijZ6.js +83 -0
  7. package/dist/arc-mWQt0Yph.cjs +1 -0
  8. package/dist/architectureDiagram-VXUJARFQ-BMZEucno.cjs +36 -0
  9. package/dist/architectureDiagram-VXUJARFQ-DTdjD3Bp.js +4661 -0
  10. package/dist/blockDiagram-VD42YOAC-CzHn0yob.js +2256 -0
  11. package/dist/blockDiagram-VD42YOAC-DDxdHAlz.cjs +122 -0
  12. package/dist/c4Diagram-YG6GDRKO-4Gz0I4gj.cjs +10 -0
  13. package/dist/c4Diagram-YG6GDRKO-BIy--yVN.js +1580 -0
  14. package/dist/channel-BQn0o8bs.js +5 -0
  15. package/dist/channel-DaN7XniJ.cjs +1 -0
  16. package/dist/chunk-4BX2VUAB-BlQFTQqz.cjs +1 -0
  17. package/dist/chunk-4BX2VUAB-Czitj3Kc.js +8 -0
  18. package/dist/chunk-55IACEB6-DXacNZbO.js +8 -0
  19. package/dist/chunk-55IACEB6-DnDxpye9.cjs +1 -0
  20. package/dist/chunk-B4BG7PRW-CBdN0q_V.js +1375 -0
  21. package/dist/chunk-B4BG7PRW-DbGvUkGO.cjs +165 -0
  22. package/dist/chunk-DI55MBZ5-D1YJMs6x.cjs +220 -0
  23. package/dist/chunk-DI55MBZ5-NCQTvayw.js +1370 -0
  24. package/dist/chunk-FMBD7UC4-CsGMbrtr.js +19 -0
  25. package/dist/chunk-FMBD7UC4-Di7cUUh5.cjs +15 -0
  26. package/dist/chunk-QN33PNHL-0j5LC8Lm.cjs +1 -0
  27. package/dist/chunk-QN33PNHL-3GERZBRm.js +19 -0
  28. package/dist/chunk-QZHKN3VN-AVEY9ImQ.js +15 -0
  29. package/dist/chunk-QZHKN3VN-s8Z0a8mc.cjs +1 -0
  30. package/dist/chunk-TZMSLE5B-CAf87HPt.cjs +1 -0
  31. package/dist/chunk-TZMSLE5B-sbiflal0.js +64 -0
  32. package/dist/classDiagram-2ON5EDUG-Ct9JLIN2.cjs +1 -0
  33. package/dist/classDiagram-2ON5EDUG-Dzfrft3a.js +16 -0
  34. package/dist/classDiagram-v2-WZHVMYZB-Ct9JLIN2.cjs +1 -0
  35. package/dist/classDiagram-v2-WZHVMYZB-Dzfrft3a.js +16 -0
  36. package/dist/clone-Cde_NQ8V.js +8 -0
  37. package/dist/clone-DCNjWuM2.cjs +1 -0
  38. package/dist/cose-bilkent-S5V4N54A-0uLijMro.cjs +1 -0
  39. package/dist/cose-bilkent-S5V4N54A-Bb08N431.js +2608 -0
  40. package/dist/cytoscape.esm-CNUX3VTg.cjs +321 -0
  41. package/dist/cytoscape.esm-Cvf3sx9F.js +18704 -0
  42. package/dist/dagre-6UL2VRFP-CY_Wz5Zd.js +444 -0
  43. package/dist/dagre-6UL2VRFP-Dxe7_qZc.cjs +4 -0
  44. package/dist/defaultLocale-BgPVtth8.js +171 -0
  45. package/dist/defaultLocale-C4wbwF1n.cjs +1 -0
  46. package/dist/diagram-PSM6KHXK-D2bdb7MT.js +531 -0
  47. package/dist/diagram-PSM6KHXK-YF69SUjY.cjs +24 -0
  48. package/dist/diagram-QEK2KX5R-BpUSoh0-.js +217 -0
  49. package/dist/diagram-QEK2KX5R-DZPGteon.cjs +43 -0
  50. package/dist/diagram-S2PKOQOG-ht-zdvFG.cjs +24 -0
  51. package/dist/diagram-S2PKOQOG-zFeLJ50Z.js +142 -0
  52. package/dist/erDiagram-Q2GNP2WA-B38iJ6ts.js +841 -0
  53. package/dist/erDiagram-Q2GNP2WA-RgS80DDU.cjs +60 -0
  54. package/dist/flowDiagram-NV44I4VS-BHilOs2p.cjs +162 -0
  55. package/dist/flowDiagram-NV44I4VS-BrBJcoce.js +1620 -0
  56. package/dist/fonts/KaTeX_AMS-Regular.ttf +0 -0
  57. package/dist/fonts/KaTeX_AMS-Regular.woff +0 -0
  58. package/dist/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  59. package/dist/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  60. package/dist/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  61. package/dist/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  62. package/dist/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  63. package/dist/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  64. package/dist/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  65. package/dist/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  66. package/dist/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  67. package/dist/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  68. package/dist/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  69. package/dist/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  70. package/dist/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  71. package/dist/fonts/KaTeX_Main-Bold.ttf +0 -0
  72. package/dist/fonts/KaTeX_Main-Bold.woff +0 -0
  73. package/dist/fonts/KaTeX_Main-Bold.woff2 +0 -0
  74. package/dist/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  75. package/dist/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  76. package/dist/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  77. package/dist/fonts/KaTeX_Main-Italic.ttf +0 -0
  78. package/dist/fonts/KaTeX_Main-Italic.woff +0 -0
  79. package/dist/fonts/KaTeX_Main-Italic.woff2 +0 -0
  80. package/dist/fonts/KaTeX_Main-Regular.ttf +0 -0
  81. package/dist/fonts/KaTeX_Main-Regular.woff +0 -0
  82. package/dist/fonts/KaTeX_Main-Regular.woff2 +0 -0
  83. package/dist/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  84. package/dist/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  85. package/dist/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  86. package/dist/fonts/KaTeX_Math-Italic.ttf +0 -0
  87. package/dist/fonts/KaTeX_Math-Italic.woff +0 -0
  88. package/dist/fonts/KaTeX_Math-Italic.woff2 +0 -0
  89. package/dist/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  90. package/dist/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  91. package/dist/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  92. package/dist/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  93. package/dist/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  94. package/dist/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  95. package/dist/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  96. package/dist/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  97. package/dist/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  98. package/dist/fonts/KaTeX_Script-Regular.ttf +0 -0
  99. package/dist/fonts/KaTeX_Script-Regular.woff +0 -0
  100. package/dist/fonts/KaTeX_Script-Regular.woff2 +0 -0
  101. package/dist/fonts/KaTeX_Size1-Regular.ttf +0 -0
  102. package/dist/fonts/KaTeX_Size1-Regular.woff +0 -0
  103. package/dist/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  104. package/dist/fonts/KaTeX_Size2-Regular.ttf +0 -0
  105. package/dist/fonts/KaTeX_Size2-Regular.woff +0 -0
  106. package/dist/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  107. package/dist/fonts/KaTeX_Size3-Regular.ttf +0 -0
  108. package/dist/fonts/KaTeX_Size3-Regular.woff +0 -0
  109. package/dist/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  110. package/dist/fonts/KaTeX_Size4-Regular.ttf +0 -0
  111. package/dist/fonts/KaTeX_Size4-Regular.woff +0 -0
  112. package/dist/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  113. package/dist/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  114. package/dist/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  115. package/dist/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  116. package/dist/ganttDiagram-JELNMOA3-pZiJeFio.cjs +267 -0
  117. package/dist/ganttDiagram-JELNMOA3-tw6FhkWJ.js +2670 -0
  118. package/dist/gitGraphDiagram-V2S2FVAM-BWn5uIK5.js +699 -0
  119. package/dist/gitGraphDiagram-V2S2FVAM-DKKeG-9R.cjs +65 -0
  120. package/dist/graph-DIbblrZP.cjs +1 -0
  121. package/dist/graph-DPcK91G3.js +247 -0
  122. package/dist/infoDiagram-HS3SLOUP-B8gwwhct.cjs +2 -0
  123. package/dist/infoDiagram-HS3SLOUP-D47PNcP_.js +24 -0
  124. package/dist/init-CHZsXQcr.cjs +1 -0
  125. package/dist/init-DjUOC4st.js +16 -0
  126. package/dist/journeyDiagram-XKPGCS4Q-BG3cfhyU.js +834 -0
  127. package/dist/journeyDiagram-XKPGCS4Q-D8DVLJof.cjs +139 -0
  128. package/dist/kanban-definition-3W4ZIXB7-4OCnEouP.cjs +89 -0
  129. package/dist/kanban-definition-3W4ZIXB7-CWi_ssF9.js +719 -0
  130. package/dist/katex.css +1 -0
  131. package/dist/layout-Byuh8f-J.cjs +1 -0
  132. package/dist/layout-CdLdvj1j.js +1335 -0
  133. package/dist/linear-C2Q_PI9B.js +259 -0
  134. package/dist/linear-C69aPBW1.cjs +1 -0
  135. package/dist/mermaid.core-DBwAx_jp.cjs +249 -0
  136. package/dist/mermaid.core-gFR0XUlD.js +15300 -0
  137. package/dist/mindmap-definition-VGOIOE7T-8P7obVV4.cjs +68 -0
  138. package/dist/mindmap-definition-VGOIOE7T-DnOa7WJ9.js +784 -0
  139. package/dist/ordinal-B6-f3MAq.js +61 -0
  140. package/dist/ordinal-CagbB1m8.cjs +1 -0
  141. package/dist/pieDiagram-ADFJNKIX-5NAlvhMo.js +161 -0
  142. package/dist/pieDiagram-ADFJNKIX-CQBG4yR9.cjs +30 -0
  143. package/dist/qoder-design.css +2 -0
  144. package/dist/quadrantDiagram-AYHSOK5B-Oe4y7RZ0.cjs +7 -0
  145. package/dist/quadrantDiagram-AYHSOK5B-rh2DPEP1.js +1022 -0
  146. package/dist/registry/basic/alert-dialog.d.ts +40 -0
  147. package/dist/registry/basic/avatar.d.ts +30 -0
  148. package/dist/registry/basic/button.d.ts +16 -0
  149. package/dist/registry/basic/collapse.d.ts +22 -0
  150. package/dist/registry/basic/collapsible-card.d.ts +34 -0
  151. package/dist/registry/basic/collapsible.d.ts +15 -0
  152. package/dist/registry/basic/dropdown-menu.d.ts +52 -0
  153. package/dist/registry/basic/icon-button.d.ts +12 -0
  154. package/dist/registry/basic/icons-inline.d.ts +51 -0
  155. package/dist/registry/basic/kbd.d.ts +23 -0
  156. package/dist/registry/basic/option-list.d.ts +16 -0
  157. package/dist/registry/basic/pagination.d.ts +33 -0
  158. package/dist/registry/basic/progress.d.ts +18 -0
  159. package/dist/registry/basic/radio-group.d.ts +25 -0
  160. package/dist/registry/basic/resizable.d.ts +318 -0
  161. package/dist/registry/basic/scrollbar.d.ts +12 -0
  162. package/dist/registry/basic/select.d.ts +35 -0
  163. package/dist/registry/basic/shimmering-text.d.ts +27 -0
  164. package/dist/registry/basic/sidebar-menu.d.ts +23 -0
  165. package/dist/registry/basic/skeleton.d.ts +10 -0
  166. package/dist/registry/basic/slider.d.ts +16 -0
  167. package/dist/registry/basic/sonner.d.ts +23 -0
  168. package/dist/registry/basic/spinner.d.ts +5 -0
  169. package/dist/registry/basic/switch.d.ts +20 -0
  170. package/dist/registry/basic/table.d.ts +18 -0
  171. package/dist/registry/basic/tabs.d.ts +29 -0
  172. package/dist/registry/basic/tag.d.ts +23 -0
  173. package/dist/registry/basic/theme-from-document.d.ts +10 -0
  174. package/dist/registry/basic/toggle.d.ts +29 -0
  175. package/dist/registry/basic/tooltip.d.ts +34 -0
  176. package/dist/registry/basic/typography.d.ts +76 -0
  177. package/dist/registry/chat/ask-user-part.d.ts +24 -0
  178. package/dist/registry/chat/browser-action-part.d.ts +28 -0
  179. package/dist/registry/chat/chat-input/chat-input-folder-selector.d.ts +22 -0
  180. package/dist/registry/chat/chat-input/chat-input-model-switcher.d.ts +12 -0
  181. package/dist/registry/chat/chat-input/chat-input-textarea.d.ts +9 -0
  182. package/dist/registry/chat/chat-input/compound.d.ts +97 -0
  183. package/dist/registry/chat/chat-input/context.d.ts +64 -0
  184. package/dist/registry/chat/chat-input/folder-permission-dialog.d.ts +11 -0
  185. package/dist/registry/chat/chat-input/index.d.ts +34 -0
  186. package/dist/registry/chat/chat-input/types.d.ts +79 -0
  187. package/dist/registry/chat/chat-input/useAutoResizeTextarea.d.ts +7 -0
  188. package/dist/registry/chat/code-block-part.d.ts +23 -0
  189. package/dist/registry/chat/file-attachment.d.ts +19 -0
  190. package/dist/registry/chat/file-card.d.ts +10 -0
  191. package/dist/registry/chat/file-review-part.d.ts +30 -0
  192. package/dist/registry/chat/folder-button.d.ts +20 -0
  193. package/dist/registry/chat/generated-images-grid.d.ts +15 -0
  194. package/dist/registry/chat/generation-status-bar.d.ts +19 -0
  195. package/dist/registry/chat/hint-banner.d.ts +28 -0
  196. package/dist/registry/chat/image-attachment.d.ts +19 -0
  197. package/dist/registry/chat/image-generating.d.ts +15 -0
  198. package/dist/registry/chat/markdown.d.ts +8 -0
  199. package/dist/registry/chat/mermaid-part.d.ts +17 -0
  200. package/dist/registry/chat/permission-card.d.ts +24 -0
  201. package/dist/registry/chat/plan-part.d.ts +30 -0
  202. package/dist/registry/chat/queue-indicator.d.ts +27 -0
  203. package/dist/registry/chat/reasoning-step/compound.d.ts +17 -0
  204. package/dist/registry/chat/reasoning-step/context.d.ts +10 -0
  205. package/dist/registry/chat/reasoning-step/index.d.ts +14 -0
  206. package/dist/registry/chat/reasoning-step/types.d.ts +95 -0
  207. package/dist/registry/chat/related-prompts.d.ts +23 -0
  208. package/dist/registry/chat/response/compound.d.ts +25 -0
  209. package/dist/registry/chat/response/context.d.ts +9 -0
  210. package/dist/registry/chat/response/index.d.ts +15 -0
  211. package/dist/registry/chat/response/types.d.ts +99 -0
  212. package/dist/registry/chat/send-button.d.ts +17 -0
  213. package/dist/registry/chat/streaming-markdown-block.d.ts +8 -0
  214. package/dist/registry/chat/task-part.d.ts +28 -0
  215. package/dist/registry/chat/terminal-code-block-part.d.ts +18 -0
  216. package/dist/registry/chat/thinking-indicator.d.ts +14 -0
  217. package/dist/registry/chat/tool-invocation-card.d.ts +20 -0
  218. package/dist/registry/chat/user-message.d.ts +6 -0
  219. package/dist/registry/chat/user-question/UserQuestionCard.d.ts +30 -0
  220. package/dist/registry/chat/user-question/UserQuestionFooter.d.ts +18 -0
  221. package/dist/registry/chat/user-question/UserQuestionHeader.d.ts +20 -0
  222. package/dist/registry/chat/user-question/compound.d.ts +37 -0
  223. package/dist/registry/chat/user-question/context.d.ts +55 -0
  224. package/dist/registry/chat/user-question/index.d.ts +15 -0
  225. package/dist/registry/chat/user-question/types.d.ts +52 -0
  226. package/dist/registry/chat/user-question/useUserQuestionKeyboard.d.ts +17 -0
  227. package/dist/registry/chat/user-question/useUserQuestionState.d.ts +26 -0
  228. package/dist/registry/chat/user-question-answer.d.ts +13 -0
  229. package/dist/registry/lib/file-icon-maps.d.ts +20 -0
  230. package/dist/registry/lib/use-mermaid-render.d.ts +5 -0
  231. package/dist/registry/lib/utils.d.ts +11 -0
  232. package/dist/requirementDiagram-UZGBJVZJ-DcWaCuXr.js +850 -0
  233. package/dist/requirementDiagram-UZGBJVZJ-gfdlrFiq.cjs +64 -0
  234. package/dist/sankeyDiagram-TZEHDZUN-CQIKFwD0.js +810 -0
  235. package/dist/sankeyDiagram-TZEHDZUN-DvPtzQvC.cjs +10 -0
  236. package/dist/scale/computed.css +103 -0
  237. package/dist/scale/config.css +110 -0
  238. package/dist/scale/index.css +30 -0
  239. package/dist/scale/presets/compact.css +30 -0
  240. package/dist/scale/presets/dense.css +64 -0
  241. package/dist/scale/presets/sharp.css +40 -0
  242. package/dist/scale/presets/soft.css +16 -0
  243. package/dist/scale.css +13 -0
  244. package/dist/sequenceDiagram-WL72ISMW-BNrsMagL.cjs +145 -0
  245. package/dist/sequenceDiagram-WL72ISMW-iCX3ckKx.js +2511 -0
  246. package/dist/spark-design.cjs.js +265 -0
  247. package/dist/spark-design.es.js +13486 -0
  248. package/dist/src/components/basic/AlertDialog/index.d.ts +20 -0
  249. package/dist/src/components/basic/Avatar/index.d.ts +7 -0
  250. package/dist/src/components/basic/Button/index.d.ts +7 -0
  251. package/dist/src/components/basic/Collapse/index.d.ts +15 -0
  252. package/dist/src/components/basic/Collapsible/index.d.ts +7 -0
  253. package/dist/src/components/basic/CollapsibleCard/index.d.ts +7 -0
  254. package/dist/src/components/basic/CollapsibleSection/index.d.ts +43 -0
  255. package/dist/src/components/basic/DropdownMenu/index.d.ts +19 -0
  256. package/dist/src/components/basic/EllipsisText/index.d.ts +53 -0
  257. package/dist/src/components/basic/IconButton/index.d.ts +7 -0
  258. package/dist/src/components/basic/Kbd/index.d.ts +7 -0
  259. package/dist/src/components/basic/OptionList/index.d.ts +7 -0
  260. package/dist/src/components/basic/Pagination/index.d.ts +7 -0
  261. package/dist/src/components/basic/Progress/index.d.ts +7 -0
  262. package/dist/src/components/basic/RadioGroup/index.d.ts +7 -0
  263. package/dist/src/components/basic/Resizable/index.d.ts +7 -0
  264. package/dist/src/components/basic/Scrollbar/index.d.ts +7 -0
  265. package/dist/src/components/basic/Select/index.d.ts +17 -0
  266. package/dist/src/components/basic/ShimmeringText/index.d.ts +7 -0
  267. package/dist/src/components/basic/SidebarMenu/index.d.ts +4 -0
  268. package/dist/src/components/basic/Skeleton/index.d.ts +7 -0
  269. package/dist/src/components/basic/Slider/index.d.ts +7 -0
  270. package/dist/src/components/basic/Spinner/index.d.ts +7 -0
  271. package/dist/src/components/basic/Switch/index.d.ts +38 -0
  272. package/dist/src/components/basic/Table/index.d.ts +7 -0
  273. package/dist/src/components/basic/Tabs/index.d.ts +7 -0
  274. package/dist/src/components/basic/Tag/index.d.ts +10 -0
  275. package/dist/src/components/basic/Toast/index.d.ts +12 -0
  276. package/dist/src/components/basic/Toggle/index.d.ts +7 -0
  277. package/dist/src/components/basic/Tooltip/index.d.ts +21 -0
  278. package/dist/src/components/basic/Typography/index.d.ts +7 -0
  279. package/dist/src/components/chat/AskUserPart/index.d.ts +6 -0
  280. package/dist/src/components/chat/BrowserActionPart/index.d.ts +7 -0
  281. package/dist/src/components/chat/ChatInput/index.d.ts +29 -0
  282. package/dist/src/components/chat/CodeBlockPart/index.d.ts +7 -0
  283. package/dist/src/components/chat/FileAttachment/index.d.ts +3 -0
  284. package/dist/src/components/chat/FileCard/index.d.ts +3 -0
  285. package/dist/src/components/chat/FileReviewPart/index.d.ts +7 -0
  286. package/dist/src/components/chat/FolderButton/index.d.ts +5 -0
  287. package/dist/src/components/chat/GeneratedImagesGrid/index.d.ts +7 -0
  288. package/dist/src/components/chat/GenerationStatusBar/index.d.ts +7 -0
  289. package/dist/src/components/chat/HintBanner/index.d.ts +6 -0
  290. package/dist/src/components/chat/ImageAttachment/index.d.ts +3 -0
  291. package/dist/src/components/chat/ImageGenerating/index.d.ts +6 -0
  292. package/dist/src/components/chat/Markdown/demo-content.d.ts +1 -0
  293. package/dist/src/components/chat/Markdown/index.d.ts +7 -0
  294. package/dist/src/components/chat/MermaidPart/index.d.ts +6 -0
  295. package/dist/src/components/chat/PermissionCard/index.d.ts +4 -0
  296. package/dist/src/components/chat/PlanPart/index.d.ts +6 -0
  297. package/dist/src/components/chat/QueueIndicator/index.d.ts +4 -0
  298. package/dist/src/components/chat/ReasoningStep/index.d.ts +13 -0
  299. package/dist/src/components/chat/RelatedPrompts/index.d.ts +6 -0
  300. package/dist/src/components/chat/Response/StreamingMarkdownBlock.d.ts +6 -0
  301. package/dist/src/components/chat/Response/index.d.ts +16 -0
  302. package/dist/src/components/chat/SendButton/index.d.ts +5 -0
  303. package/dist/src/components/chat/TaskPart/index.d.ts +7 -0
  304. package/dist/src/components/chat/TerminalCodeBlockPart/index.d.ts +6 -0
  305. package/dist/src/components/chat/ThinkingIndicator/index.d.ts +6 -0
  306. package/dist/src/components/chat/ToolInvocationCard/index.d.ts +4 -0
  307. package/dist/src/components/chat/UserMessage/index.d.ts +7 -0
  308. package/dist/src/components/chat/UserQuestion/index.d.ts +19 -0
  309. package/dist/src/components/chat/UserQuestionAnswer/index.d.ts +3 -0
  310. package/dist/src/components/index.d.ts +138 -0
  311. package/dist/src/icons/context.d.ts +26 -0
  312. package/dist/src/icons/types.d.ts +18 -0
  313. package/dist/src/lib/ThemeStyleContext.d.ts +134 -0
  314. package/dist/src/lib/file-icon.d.ts +16 -0
  315. package/dist/src/lib/i18n.d.ts +12 -0
  316. package/dist/src/lib/index.d.ts +10 -0
  317. package/dist/src/lib/motion.d.ts +22 -0
  318. package/dist/src/lib/utils.d.ts +11 -0
  319. package/dist/stateDiagram-FKZM4ZOC-DBvJ_eeL.cjs +1 -0
  320. package/dist/stateDiagram-FKZM4ZOC-ZVsJlaHJ.js +263 -0
  321. package/dist/stateDiagram-v2-4FDKWEC3-CB_nTHcE.js +16 -0
  322. package/dist/stateDiagram-v2-4FDKWEC3-Xkx17v6T.cjs +1 -0
  323. package/dist/theme-base.css +270 -0
  324. package/dist/theme.css +17 -0
  325. package/dist/themes/dark-parchment.css +133 -0
  326. package/dist/themes/dark-qoder.css +133 -0
  327. package/dist/themes/light-parchment.css +124 -0
  328. package/dist/themes/light-qoder.css +132 -0
  329. package/dist/timeline-definition-IT6M3QCI-BmGkYQiz.cjs +61 -0
  330. package/dist/timeline-definition-IT6M3QCI-Ck8zTt6w.js +795 -0
  331. package/dist/tokens/CLAUDE.md +305 -0
  332. package/dist/tokens/index.css +35 -0
  333. package/dist/tokens/scale/computed.css +103 -0
  334. package/dist/tokens/scale/config.css +110 -0
  335. package/dist/tokens/scale/index.css +30 -0
  336. package/dist/tokens/scale/presets/compact.css +30 -0
  337. package/dist/tokens/scale/presets/dense.css +64 -0
  338. package/dist/tokens/scale/presets/sharp.css +40 -0
  339. package/dist/tokens/scale/presets/soft.css +16 -0
  340. package/dist/tokens/scale.css +13 -0
  341. package/dist/tokens/scrollbar-utility.css +35 -0
  342. package/dist/tokens/theme-base.css +270 -0
  343. package/dist/tokens/theme.css +17 -0
  344. package/dist/tokens/themes/dark-parchment.css +133 -0
  345. package/dist/tokens/themes/dark-qoder.css +133 -0
  346. package/dist/tokens/themes/light-parchment.css +124 -0
  347. package/dist/tokens/themes/light-qoder.css +132 -0
  348. package/dist/treemap-GDKQZRPO-B9sfERx8.js +17922 -0
  349. package/dist/treemap-GDKQZRPO-BVfJRs0Z.cjs +160 -0
  350. package/dist/xychartDiagram-PRI3JC2R-By_S8NzN.js +1340 -0
  351. package/dist/xychartDiagram-PRI3JC2R-CNfDrGxM.cjs +7 -0
  352. package/package.json +128 -19
  353. /package/{dist → cli/dist}/commands/add.js +0 -0
  354. /package/{dist → cli/dist}/commands/diff.js +0 -0
  355. /package/{dist → cli/dist}/commands/init.js +0 -0
  356. /package/{dist → cli/dist}/commands/list.js +0 -0
  357. /package/{dist → cli/dist}/index.js +0 -0
  358. /package/{dist → cli/dist}/utils/config.js +0 -0
  359. /package/{dist → cli/dist}/utils/registry.js +0 -0
  360. /package/{dist → cli/dist}/utils/tokens.js +0 -0
  361. /package/{dist → cli/dist}/utils/transform.js +0 -0
  362. /package/{registry → cli/registry}/__tests__/basic/button.test.tsx +0 -0
  363. /package/{registry → cli/registry}/__tests__/chat/markdown.test.tsx +0 -0
  364. /package/{registry → cli/registry}/__tests__/chat/thinking-indicator.test.tsx +0 -0
  365. /package/{registry → cli/registry}/__tests__/chat/tool-invocation-card.test.tsx +0 -0
  366. /package/{registry → cli/registry}/basic/alert-dialog.tsx +0 -0
  367. /package/{registry → cli/registry}/basic/avatar.tsx +0 -0
  368. /package/{registry → cli/registry}/basic/button.tsx +0 -0
  369. /package/{registry → cli/registry}/basic/collapse.tsx +0 -0
  370. /package/{registry → cli/registry}/basic/collapsible-card.tsx +0 -0
  371. /package/{registry → cli/registry}/basic/collapsible.tsx +0 -0
  372. /package/{registry → cli/registry}/basic/dropdown-menu.tsx +0 -0
  373. /package/{registry → cli/registry}/basic/icon-button.tsx +0 -0
  374. /package/{registry → cli/registry}/basic/icons-inline.tsx +0 -0
  375. /package/{registry → cli/registry}/basic/kbd.tsx +0 -0
  376. /package/{registry → cli/registry}/basic/option-list.tsx +0 -0
  377. /package/{registry → cli/registry}/basic/pagination.tsx +0 -0
  378. /package/{registry → cli/registry}/basic/progress.tsx +0 -0
  379. /package/{registry → cli/registry}/basic/radio-group.tsx +0 -0
  380. /package/{registry → cli/registry}/basic/resizable.tsx +0 -0
  381. /package/{registry → cli/registry}/basic/scrollbar.tsx +0 -0
  382. /package/{registry → cli/registry}/basic/select.tsx +0 -0
  383. /package/{registry → cli/registry}/basic/shimmering-text.tsx +0 -0
  384. /package/{registry → cli/registry}/basic/sidebar-menu.tsx +0 -0
  385. /package/{registry → cli/registry}/basic/skeleton.tsx +0 -0
  386. /package/{registry → cli/registry}/basic/slider.tsx +0 -0
  387. /package/{registry → cli/registry}/basic/sonner.tsx +0 -0
  388. /package/{registry → cli/registry}/basic/spinner.tsx +0 -0
  389. /package/{registry → cli/registry}/basic/switch.tsx +0 -0
  390. /package/{registry → cli/registry}/basic/table.tsx +0 -0
  391. /package/{registry → cli/registry}/basic/tabs.tsx +0 -0
  392. /package/{registry → cli/registry}/basic/tag.tsx +0 -0
  393. /package/{registry → cli/registry}/basic/theme-from-document.ts +0 -0
  394. /package/{registry → cli/registry}/basic/toggle.tsx +0 -0
  395. /package/{registry → cli/registry}/basic/tooltip.tsx +0 -0
  396. /package/{registry → cli/registry}/basic/typography.tsx +0 -0
  397. /package/{registry → cli/registry}/chat/ask-user-part.tsx +0 -0
  398. /package/{registry → cli/registry}/chat/browser-action-part.tsx +0 -0
  399. /package/{registry → cli/registry}/chat/chat-input/chat-input-folder-selector.tsx +0 -0
  400. /package/{registry → cli/registry}/chat/chat-input/chat-input-model-switcher.tsx +0 -0
  401. /package/{registry → cli/registry}/chat/chat-input/chat-input-textarea.tsx +0 -0
  402. /package/{registry → cli/registry}/chat/chat-input/compound.tsx +0 -0
  403. /package/{registry → cli/registry}/chat/chat-input/context.tsx +0 -0
  404. /package/{registry → cli/registry}/chat/chat-input/folder-permission-dialog.tsx +0 -0
  405. /package/{registry → cli/registry}/chat/chat-input/index.tsx +0 -0
  406. /package/{registry → cli/registry}/chat/chat-input/types.ts +0 -0
  407. /package/{registry → cli/registry}/chat/chat-input/useAutoResizeTextarea.ts +0 -0
  408. /package/{registry → cli/registry}/chat/code-block-part.tsx +0 -0
  409. /package/{registry → cli/registry}/chat/file-attachment.tsx +0 -0
  410. /package/{registry → cli/registry}/chat/file-card.tsx +0 -0
  411. /package/{registry → cli/registry}/chat/file-review-part.tsx +0 -0
  412. /package/{registry → cli/registry}/chat/folder-button.tsx +0 -0
  413. /package/{registry → cli/registry}/chat/generated-images-grid.tsx +0 -0
  414. /package/{registry → cli/registry}/chat/generation-status-bar.tsx +0 -0
  415. /package/{registry → cli/registry}/chat/hint-banner.tsx +0 -0
  416. /package/{registry → cli/registry}/chat/image-attachment.tsx +0 -0
  417. /package/{registry → cli/registry}/chat/image-generating.tsx +0 -0
  418. /package/{registry → cli/registry}/chat/markdown.tsx +0 -0
  419. /package/{registry → cli/registry}/chat/mermaid-part.tsx +0 -0
  420. /package/{registry → cli/registry}/chat/permission-card.tsx +0 -0
  421. /package/{registry → cli/registry}/chat/plan-part.tsx +0 -0
  422. /package/{registry → cli/registry}/chat/queue-indicator.tsx +0 -0
  423. /package/{registry → cli/registry}/chat/reasoning-step/compound.tsx +0 -0
  424. /package/{registry → cli/registry}/chat/reasoning-step/context.tsx +0 -0
  425. /package/{registry → cli/registry}/chat/reasoning-step/index.tsx +0 -0
  426. /package/{registry → cli/registry}/chat/reasoning-step/types.ts +0 -0
  427. /package/{registry → cli/registry}/chat/related-prompts.tsx +0 -0
  428. /package/{registry → cli/registry}/chat/response/compound.tsx +0 -0
  429. /package/{registry → cli/registry}/chat/response/context.tsx +0 -0
  430. /package/{registry → cli/registry}/chat/response/index.tsx +0 -0
  431. /package/{registry → cli/registry}/chat/response/types.ts +0 -0
  432. /package/{registry → cli/registry}/chat/send-button.tsx +0 -0
  433. /package/{registry → cli/registry}/chat/streaming-markdown-block.tsx +0 -0
  434. /package/{registry → cli/registry}/chat/task-part.tsx +0 -0
  435. /package/{registry → cli/registry}/chat/terminal-code-block-part.tsx +0 -0
  436. /package/{registry → cli/registry}/chat/thinking-indicator.tsx +0 -0
  437. /package/{registry → cli/registry}/chat/tool-invocation-card.tsx +0 -0
  438. /package/{registry → cli/registry}/chat/user-message.tsx +0 -0
  439. /package/{registry → cli/registry}/chat/user-question/UserQuestionCard.tsx +0 -0
  440. /package/{registry → cli/registry}/chat/user-question/UserQuestionFooter.tsx +0 -0
  441. /package/{registry → cli/registry}/chat/user-question/UserQuestionHeader.tsx +0 -0
  442. /package/{registry → cli/registry}/chat/user-question/compound.tsx +0 -0
  443. /package/{registry → cli/registry}/chat/user-question/context.tsx +0 -0
  444. /package/{registry → cli/registry}/chat/user-question/index.tsx +0 -0
  445. /package/{registry → cli/registry}/chat/user-question/types.ts +0 -0
  446. /package/{registry → cli/registry}/chat/user-question/useUserQuestionKeyboard.ts +0 -0
  447. /package/{registry → cli/registry}/chat/user-question/useUserQuestionState.ts +0 -0
  448. /package/{registry → cli/registry}/chat/user-question-answer.tsx +0 -0
  449. /package/{registry → cli/registry}/lib/file-icon-maps.ts +0 -0
  450. /package/{registry → cli/registry}/lib/use-mermaid-render.ts +0 -0
  451. /package/{registry → cli/registry}/lib/utils.ts +0 -0
  452. /package/{registry → cli/registry}/meta.json +0 -0
  453. /package/{registry → cli/registry}/tokens/index.css +0 -0
  454. /package/{registry → cli/registry}/tokens/scale/computed.css +0 -0
  455. /package/{registry → cli/registry}/tokens/scale/config.css +0 -0
  456. /package/{registry → cli/registry}/tokens/scale/index.css +0 -0
  457. /package/{registry → cli/registry}/tokens/scale/presets/compact.css +0 -0
  458. /package/{registry → cli/registry}/tokens/scale/presets/dense.css +0 -0
  459. /package/{registry → cli/registry}/tokens/scale/presets/sharp.css +0 -0
  460. /package/{registry → cli/registry}/tokens/scale/presets/soft.css +0 -0
  461. /package/{registry → cli/registry}/tokens/scale.css +0 -0
  462. /package/{registry → cli/registry}/tokens/scrollbar-utility.css +0 -0
  463. /package/{registry → cli/registry}/tokens/theme.css +0 -0
  464. /package/{registry → cli/registry}/tokens/themes/dark-parchment.css +0 -0
  465. /package/{registry → cli/registry}/tokens/themes/dark-qoder.css +0 -0
  466. /package/{registry → cli/registry}/tokens/themes/light-parchment.css +0 -0
  467. /package/{registry → cli/registry}/tokens/themes/light-qoder.css +0 -0
@@ -0,0 +1,305 @@
1
+ # CLAUDE.md - Tokens 设计令牌模块
2
+
3
+ > 代码是机器相,文档是语义相,两相必须同构。
4
+ > 修改代码 → 检查 L3 → 检查 L2 → 检查 L1
5
+
6
+ ---
7
+
8
+ ## 模块概述
9
+
10
+ **tokens** 是设计系统的核心,定义双维度主题:布局风格 + 颜色主题。
11
+
12
+ ---
13
+
14
+ ## 目录结构
15
+
16
+ ```
17
+ tokens/
18
+ ├── index.css # 统一入口 (推荐)
19
+ ├── scale.css # [DEPRECATED] 向后兼容入口
20
+ ├── scale/ # 布局风格 token (data-style)
21
+ │ ├── config.css # 可配置基础变量 (用户可覆盖)
22
+ │ ├── computed.css # 映射到实际变量
23
+ │ ├── index.css # scale 统一入口
24
+ │ └── presets/ # 预设风格
25
+ │ ├── compact.css # 紧凑风格
26
+ │ ├── soft.css # 柔和风格
27
+ │ ├── sharp.css # 锐利风格
28
+ │ └── dense.css # 密集风格
29
+ ├── theme-base.css # @theme 映射 + 动画 + 公共样式
30
+ ├── theme.css # [DEPRECATED] 向后兼容入口
31
+ ├── scrollbar-utility.css # 滚动条工具样式
32
+ └── themes/ # 颜色主题文件 (可按需引入)
33
+ ├── light-qoder.css # Qoder 亮色 (默认)
34
+ ├── dark-qoder.css # Qoder 暗色
35
+ ├── light-parchment.css # 羊皮纸亮色
36
+ └── dark-parchment.css # 羊皮纸暗色
37
+ ```
38
+
39
+ ---
40
+
41
+ ## 双维度主题系统
42
+
43
+ ### 维度 1: 布局风格 (data-style)
44
+
45
+ | 风格 | 描述 | Spacing | Radius | Font Size |
46
+ |------|------|---------|--------|-----------|
47
+ | `neutral` | 平衡的标准 | 100% | 100% | 100% |
48
+ | `compact` | 优化效率 | 75% | 67% | -1px |
49
+ | `soft` | 舒适至上 | 150% | 150% | +10% |
50
+ | `sharp` | 几何精度 | 100% | 0 | 100% |
51
+ | `dense` | 信息密集 | 50% | 50% | -2px |
52
+
53
+ ### 维度 2: 颜色主题 (data-theme)
54
+
55
+ **主题**与**亮暗色**区分:`data-theme` 为颜色主题的机制(取值为主题名);**亮色**与**暗色**为内置两套主题(`light` / `dark`),与布局风格 (data-style) 独立,可扩展自定义主题。
56
+
57
+ | 主题 | 描述 |
58
+ |------|------|
59
+ | `light` | 亮色(内置) |
60
+ | `dark` | 暗色(内置) |
61
+ | *自定义* | 可扩展 |
62
+
63
+ ---
64
+
65
+ ## scale/ - 布局风格令牌
66
+
67
+ ### 配置化架构
68
+
69
+ scale 模块采用双层设计,支持用户自定义配置:
70
+
71
+ 1. **config.css** - 定义可覆盖的基础变量 (`--config-*`)
72
+ 2. **computed.css** - 将配置映射到实际变量 (`--spacing-*`, `--radius-*`)
73
+ 3. **presets/** - 预设风格,覆盖部分配置
74
+
75
+ ### 用户自定义配置
76
+
77
+ ```css
78
+ /* 只引入配置层 + 计算层,不引入预设 */
79
+ @import "./tokens/scale/config.css";
80
+ @import "./tokens/scale/computed.css";
81
+
82
+ /* 覆盖配置 */
83
+ :root {
84
+ --config-radius-default: 10px; /* 自定义默认圆角 */
85
+ --config-spacing-4: 18px; /* 自定义间距 */
86
+ --config-font-size-base: 16px; /* 自定义基础字号 */
87
+ }
88
+ ```
89
+
90
+ ### 可配置变量列表
91
+
92
+ | 类别 | 变量前缀 | 示例 |
93
+ |------|---------|------|
94
+ | 间距 | `--config-spacing-*` | `--config-spacing-4: 16px` |
95
+ | 圆角 | `--config-radius-*` | `--config-radius-default: 6px` |
96
+ | 字号 | `--config-font-size-*` | `--config-font-size-base: 14px` |
97
+ | 动画 | `--config-motion-*` | `--config-motion-duration-base: 200ms` |
98
+ | 字体 | `--config-font-*` | `--config-font-mono: ...` |
99
+
100
+ ### 结构原则(只覆盖差异)
101
+
102
+ - **:root / neutral**:完整基准 scale
103
+ - **soft**:仅覆盖 `--radius`,继承 spacing 与 font
104
+ - **compact 与 sharp**:共用同一 spacing + font 块,再分别补 radius(compact 有圆角,sharp 直角 + 等宽字体)
105
+ - **dense**:独立完整 scale(与基准差异大,单独列出)
106
+
107
+ ### Token 类别
108
+
109
+ 1. **Spacing Scale**:`--spacing-0` 到 `--spacing-96`
110
+ 2. **Radius Scale**:`--radius-none` 到 `--radius-full`
111
+ 3. **Font Size Scale**:`--font-size-xs` 到 `--font-size-9xl`
112
+
113
+ ### 按钮与 spacing 的搭配关系
114
+
115
+ 按钮使用 `h-7/9/11` + `px-2/3/4`,各主题通过 scale 同时控制高度与左右 padding,使 **padding-x / height** 比例约在 0.28~0.36,视觉一致:
116
+
117
+ - **neutral**:28/36/44 + 8/12/16 → 比例 ~0.29 / 0.33 / 0.36
118
+ - **compact / sharp**:28/32/40 + 8/10/14 → 比例 ~0.29 / 0.31 / 0.35
119
+ - **dense**:24/28/32 + 6/8/12 → 比例 ~0.25 / 0.29 / 0.375
120
+
121
+ ### Tailwind 兼容
122
+
123
+ 所有 token 直接映射到 Tailwind 类名:
124
+
125
+ ```html
126
+ <!-- 直接使用 Tailwind 类名 -->
127
+ <div className="p-4 rounded-md text-base">
128
+ ```
129
+
130
+ ### 使用方式
131
+
132
+ ```html
133
+ <body data-style="soft">
134
+ <!-- spacing-4 = 24px (150% of 16px) -->
135
+ <!-- radius-md = 12px (150% of 6px) -->
136
+ </body>
137
+ ```
138
+
139
+ ---
140
+
141
+ ## theme-base.css - Tailwind 映射与公共样式
142
+
143
+ 此文件定义 Token → Tailwind 的映射契约,不包含具体颜色值。
144
+
145
+ ### 内容
146
+
147
+ 1. **@custom-variant dark**:定义 dark 变体选择器
148
+ 2. **@theme inline**:text/radius/spacing 映射(随 data-style 变化)
149
+ 3. **@theme**:颜色变量映射 `--color-*: var(--token-color-*)`
150
+ 4. **动画**:accordion-down/up/right/left
151
+ 5. **字体**:Seti 图标字体
152
+
153
+ ---
154
+
155
+ ## themes/*.css - 颜色主题文件
156
+
157
+ ### 命名与 @theme 无自引用
158
+
159
+ 颜色「源」变量在 `:root` / `[data-theme="..."]` 中统一使用 **`--token-color-*`** 命名;`@theme` 块内仅做**单向映射** `--color-*: var(--token-color-*)`,避免 `--color-xxx: var(--color-xxx)` 自循环导致按需引入(CLI init/add)时取不到值。
160
+
161
+ - **组件与样式**:继续使用公开 API `var(--color-primary)` 等,由 @theme 解析到 `--token-color-*`。
162
+ - **扩展新主题**:在主题块内定义 `--token-color-*`,不要在该主题块内再定义 `--color-*`。
163
+
164
+ ### Token 类别
165
+
166
+ 1. **Primary**:主色调
167
+ 2. **Text**:文本色(primary/secondary/tertiary/quaternary/base)
168
+ 3. **Border**:边框色(primary/secondary/tertiary)
169
+ 4. **Fill**:填充色(primary/secondary/tertiary/quaternary/disable)
170
+ 5. **Background**:背景色(container/elevated/layout/spotlight/mask/base/highlight)
171
+ 6. **Semantic**:语义色(link/error/info/success/warning)
172
+ 7. **Accent**:强调色(pink/purple/yellow/orange/teal/blue/mauve/slate/lavender/sage)
173
+ 8. **Diff**:diff 颜色(insert/remove)
174
+
175
+ ### 扩展新主题
176
+
177
+ **方式 1:创建独立文件**
178
+
179
+ ```css
180
+ /* my-custom-theme.css */
181
+ [data-theme="my-theme"] {
182
+ --token-color-primary: #3B82F6;
183
+ --token-color-primary-hover: #2563EB;
184
+ /* ... 覆盖需要的颜色变量 */
185
+ }
186
+ ```
187
+
188
+ 用户引入:
189
+ ```css
190
+ @import "./tokens/scale.css";
191
+ @import "./tokens/theme-base.css";
192
+ @import "./my-custom-theme.css";
193
+ ```
194
+
195
+ **方式 2:添加到 themes/ 目录**
196
+
197
+ 如果要作为内置主题,在 `themes/` 目录下创建新文件,并在 `index.css` 中添加引入。
198
+
199
+ ---
200
+
201
+ ## 引入方式
202
+
203
+ ### 1. 全量引入(推荐)
204
+
205
+ ```css
206
+ @import "./tokens/index.css";
207
+ ```
208
+
209
+ ### 2. 按需引入
210
+
211
+ ```css
212
+ /* 只需要 light/dark 主题 */
213
+ @import "./tokens/scale/index.css";
214
+ @import "./tokens/theme-base.css";
215
+ @import "./tokens/themes/light-qoder.css";
216
+ @import "./tokens/themes/dark-qoder.css";
217
+ ```
218
+
219
+ ### 3. 自定义布局配置
220
+
221
+ ```css
222
+ /* 使用自定义布局配置 */
223
+ @import "./tokens/scale/config.css";
224
+ @import "./tokens/scale/computed.css";
225
+ @import "./tokens/theme-base.css";
226
+ @import "./tokens/themes/light-qoder.css";
227
+
228
+ :root {
229
+ --config-radius-default: 10px; /* 覆盖配置 */
230
+ }
231
+ ```
232
+
233
+ ### 4. 自定义颜色主题
234
+
235
+ ```css
236
+ /* 使用自定义颜色主题 */
237
+ @import "./tokens/scale/index.css";
238
+ @import "./tokens/theme-base.css";
239
+ @import "./my-brand-theme.css";
240
+ ```
241
+
242
+ ---
243
+
244
+ ## 使用规范
245
+
246
+ ### 组件中使用 Token
247
+
248
+ ```tsx
249
+ // ✅ 正确 - 使用 CSS 变量
250
+ <div className="bg-[var(--color-primary)] text-[var(--color-text)]" />
251
+
252
+ // ❌ 错误 - 硬编码颜色
253
+ <div className="bg-[#1890FF] text-[#333]" />
254
+ ```
255
+
256
+ ### Tailwind v4 @theme 映射
257
+
258
+ `theme.css` 末尾的 `@theme` 块将 CSS 变量映射到 Tailwind 4 的原生 token 系统,支持:
259
+
260
+ ```tsx
261
+ // Tailwind 4 原生支持
262
+ <div className="bg-primary text-text" />
263
+ ```
264
+
265
+ ### 构建与消费模式
266
+
267
+ Token 文件同时服务两种消费模式:
268
+
269
+ | 模式 | token 文件作用 | 消费者 Tailwind 要求 |
270
+ |------|---------------|---------------------|
271
+ | **NPM 预编译**(当前) | `@tailwindcss/cli` 读取 → 编译进 `dist/qoder-design.css` | 不需要 |
272
+ | **按需引入**(CLI 复制源码) | 消费者 `@import` token 文件进自己的 CSS | 需要 Tailwind 4 |
273
+
274
+ `@theme` 块是两种模式的共用桥梁:NPM 模式下编译进预编译 CSS,按需引入模式下由消费者的 Tailwind 处理。
275
+
276
+ ---
277
+
278
+ ## L3 协议
279
+
280
+ ### scale/
281
+ - **config.css**:定义可覆盖的 `--config-*` 变量
282
+ - **computed.css**:映射 `--config-*` 到实际变量
283
+ - **presets/**:预设风格,只覆盖差异部分
284
+ - 新增风格需遵循 spacing/radius/font-size 三类完整性
285
+
286
+ ### theme-base.css
287
+ - 定义 @theme 映射,不包含具体颜色值
288
+ - 新增 Tailwind 映射时确保双向一致
289
+
290
+ ### themes/*.css
291
+ - 每个主题独立文件,便于按需引入
292
+ - 扩展主题时必须覆盖完整颜色类别
293
+ - 修改颜色值需确保对比度符合无障碍标准
294
+
295
+ ---
296
+
297
+ ## 开发检查清单
298
+
299
+ - [ ] 新增风格时更新 scale/presets/
300
+ - [ ] 新增配置项时更新 scale/config.css 和 scale/computed.css
301
+ - [ ] 新增颜色主题时创建 themes/*.css 并更新 index.css
302
+ - [ ] Token 命名遵循 `--token-color-{name}` 格式(颜色)
303
+ - [ ] Token 命名遵循 `--config-{category}-{name}` 格式(布局配置)
304
+ - [ ] 测试多主题切换
305
+ - [ ] L2 文档已更新(此文件)
@@ -0,0 +1,35 @@
1
+ /* ============================================
2
+ * [POS]: src/tokens/index.css - Token 系统统一入口
3
+ *
4
+ * 引入方式:
5
+ * 1. 全量引入(默认): @import "./tokens/index.css";
6
+ * 2. 按需引入:
7
+ * @import "./tokens/scale/config.css"; // 可配置基础变量
8
+ * @import "./tokens/scale/computed.css"; // 映射到实际变量
9
+ * @import "./tokens/theme-base.css";
10
+ * @import "./tokens/themes/light-qoder.css";
11
+ *
12
+ * 自定义布局配置:
13
+ * @import "./tokens/scale/config.css";
14
+ * @import "./tokens/scale/computed.css";
15
+ * :root { --config-radius-default: 10px; } // 覆盖配置
16
+ *
17
+ * 自定义颜色主题:
18
+ * @import "./tokens/theme-base.css";
19
+ * @import "./my-custom-theme.css"; // 定义 [data-theme="xxx"] { --token-color-*: ... }
20
+ * ============================================ */
21
+
22
+ /* 布局风格 Token (data-style: neutral | compact | soft | sharp | dense) */
23
+ @import "./scale.css";
24
+
25
+ /* Tailwind @theme 映射 + 动画 + 公共样式 */
26
+ @import "./theme-base.css";
27
+
28
+ /* 内置主题 (data-theme) */
29
+ @import "./themes/light-qoder.css";
30
+ @import "./themes/dark-qoder.css";
31
+ @import "./themes/light-parchment.css";
32
+ @import "./themes/dark-parchment.css";
33
+
34
+ /* 滚动条工具样式 */
35
+ @import "./scrollbar-utility.css";
@@ -0,0 +1,103 @@
1
+ /* ============================================
2
+ * Scale Computed - 应用配置,产出实际变量
3
+ *
4
+ * 此文件将 --config-* 映射到 --spacing-* / --radius-* / --font-size-*
5
+ * 组件和样式使用这些实际变量,不直接使用 --config-*
6
+ * ============================================ */
7
+
8
+ :root,
9
+ [data-style="neutral"] {
10
+ /* ============================================
11
+ Spacing (从配置映射)
12
+ ============================================ */
13
+ --spacing: var(--config-spacing-1);
14
+ --spacing-0: var(--config-spacing-0);
15
+ --spacing-px: var(--config-spacing-px);
16
+ --spacing-0\.5: var(--config-spacing-0\.5);
17
+ --spacing-1: var(--config-spacing-1);
18
+ --spacing-1\.5: var(--config-spacing-1\.5);
19
+ --spacing-2: var(--config-spacing-2);
20
+ --spacing-2\.5: var(--config-spacing-2\.5);
21
+ --spacing-3: var(--config-spacing-3);
22
+ --spacing-3\.5: var(--config-spacing-3\.5);
23
+ --spacing-4: var(--config-spacing-4);
24
+ --spacing-5: var(--config-spacing-5);
25
+ --spacing-6: var(--config-spacing-6);
26
+ --spacing-7: var(--config-spacing-7);
27
+ --spacing-8: var(--config-spacing-8);
28
+ --spacing-9: var(--config-spacing-9);
29
+ --spacing-10: var(--config-spacing-10);
30
+ --spacing-11: var(--config-spacing-11);
31
+ --spacing-12: var(--config-spacing-12);
32
+ --spacing-14: var(--config-spacing-14);
33
+ --spacing-16: var(--config-spacing-16);
34
+ --spacing-20: var(--config-spacing-20);
35
+ --spacing-24: var(--config-spacing-24);
36
+ --spacing-28: var(--config-spacing-28);
37
+ --spacing-32: var(--config-spacing-32);
38
+ --spacing-36: var(--config-spacing-36);
39
+ --spacing-40: var(--config-spacing-40);
40
+ --spacing-44: var(--config-spacing-44);
41
+ --spacing-48: var(--config-spacing-48);
42
+ --spacing-52: var(--config-spacing-52);
43
+ --spacing-56: var(--config-spacing-56);
44
+ --spacing-60: var(--config-spacing-60);
45
+ --spacing-64: var(--config-spacing-64);
46
+ --spacing-72: var(--config-spacing-72);
47
+ --spacing-80: var(--config-spacing-80);
48
+ --spacing-96: var(--config-spacing-96);
49
+
50
+ /* ============================================
51
+ Radius (从配置映射)
52
+ ============================================ */
53
+ --radius-none: var(--config-radius-none);
54
+ --radius-sm: var(--config-radius-sm);
55
+ --radius-DEFAULT: var(--config-radius-default);
56
+ --radius-md: var(--config-radius-md);
57
+ --radius-lg: var(--config-radius-lg);
58
+ --radius-xl: var(--config-radius-xl);
59
+ --radius-2xl: var(--config-radius-2xl);
60
+ --radius-3xl: var(--config-radius-3xl);
61
+ --radius-full: var(--config-radius-full);
62
+ --radius: var(--radius-DEFAULT);
63
+
64
+ /* ============================================
65
+ Font Size (从配置映射)
66
+ ============================================ */
67
+ --font-size-xs: var(--config-font-size-xs);
68
+ --font-size-xs--line-height: var(--config-font-size-xs-lh);
69
+ --font-size-sm: var(--config-font-size-sm);
70
+ --font-size-sm--line-height: var(--config-font-size-sm-lh);
71
+ --font-size-base: var(--config-font-size-base);
72
+ --font-size-base--line-height: var(--config-font-size-base-lh);
73
+ --font-size-lg: var(--config-font-size-lg);
74
+ --font-size-lg--line-height: var(--config-font-size-lg-lh);
75
+ --font-size-xl: var(--config-font-size-xl);
76
+ --font-size-xl--line-height: var(--config-font-size-xl-lh);
77
+ --font-size-2xl: var(--config-font-size-2xl);
78
+ --font-size-2xl--line-height: var(--config-font-size-2xl-lh);
79
+ --font-size-3xl: var(--config-font-size-3xl);
80
+ --font-size-3xl--line-height: var(--config-font-size-3xl-lh);
81
+ --font-size-4xl: var(--config-font-size-4xl);
82
+ --font-size-4xl--line-height: var(--config-font-size-4xl-lh);
83
+ --font-size-5xl: var(--config-font-size-5xl);
84
+ --font-size-5xl--line-height: var(--config-font-size-5xl-lh);
85
+ --font-size-6xl: var(--config-font-size-6xl);
86
+ --font-size-6xl--line-height: var(--config-font-size-6xl-lh);
87
+ --font-size-7xl: var(--config-font-size-7xl);
88
+ --font-size-7xl--line-height: var(--config-font-size-7xl-lh);
89
+ --font-size-8xl: var(--config-font-size-8xl);
90
+ --font-size-8xl--line-height: var(--config-font-size-8xl-lh);
91
+ --font-size-9xl: var(--config-font-size-9xl);
92
+ --font-size-9xl--line-height: var(--config-font-size-9xl-lh);
93
+
94
+ /* ============================================
95
+ Motion (从配置映射)
96
+ ============================================ */
97
+ --motion-duration-fast: var(--config-motion-duration-fast);
98
+ --motion-duration-base: var(--config-motion-duration-base);
99
+ --motion-duration-slow: var(--config-motion-duration-slow);
100
+ --motion-ease-standard: var(--config-motion-ease-standard);
101
+ --motion-ease-emphasized: var(--config-motion-ease-emphasized);
102
+ --motion-ease-out: var(--config-motion-ease-out);
103
+ }
@@ -0,0 +1,110 @@
1
+ /* ============================================
2
+ * Scale Config - 可配置的布局基础变量
3
+ *
4
+ * 用户可覆盖这些变量来自定义布局风格:
5
+ * :root {
6
+ * --config-radius-default: 10px; // 自定义默认圆角
7
+ * --config-spacing-4: 18px; // 自定义 spacing-4
8
+ * }
9
+ * ============================================ */
10
+
11
+ :root {
12
+ /* ============================================
13
+ Spacing 配置 (Tailwind 兼容)
14
+ ============================================ */
15
+ --config-spacing-unit: 4px; /* 基础单位 */
16
+ --config-spacing-0: 0;
17
+ --config-spacing-px: 1px;
18
+ --config-spacing-0\.5: 2px;
19
+ --config-spacing-1: 4px;
20
+ --config-spacing-1\.5: 6px;
21
+ --config-spacing-2: 8px;
22
+ --config-spacing-2\.5: 10px;
23
+ --config-spacing-3: 12px;
24
+ --config-spacing-3\.5: 14px;
25
+ --config-spacing-4: 16px;
26
+ --config-spacing-5: 20px;
27
+ --config-spacing-6: 24px;
28
+ --config-spacing-7: 28px;
29
+ --config-spacing-8: 32px;
30
+ --config-spacing-9: 36px;
31
+ --config-spacing-10: 40px;
32
+ --config-spacing-11: 44px;
33
+ --config-spacing-12: 48px;
34
+ --config-spacing-14: 56px;
35
+ --config-spacing-16: 64px;
36
+ --config-spacing-20: 80px;
37
+ --config-spacing-24: 96px;
38
+ --config-spacing-28: 112px;
39
+ --config-spacing-32: 128px;
40
+ --config-spacing-36: 144px;
41
+ --config-spacing-40: 160px;
42
+ --config-spacing-44: 176px;
43
+ --config-spacing-48: 192px;
44
+ --config-spacing-52: 208px;
45
+ --config-spacing-56: 224px;
46
+ --config-spacing-60: 240px;
47
+ --config-spacing-64: 256px;
48
+ --config-spacing-72: 288px;
49
+ --config-spacing-80: 320px;
50
+ --config-spacing-96: 384px;
51
+
52
+ /* ============================================
53
+ Radius 配置
54
+ ============================================ */
55
+ --config-radius-none: 0;
56
+ --config-radius-sm: 4px;
57
+ --config-radius-default: 6px;
58
+ --config-radius-md: 6px;
59
+ --config-radius-lg: 8px;
60
+ --config-radius-xl: 12px;
61
+ --config-radius-2xl: 16px;
62
+ --config-radius-3xl: 24px;
63
+ --config-radius-full: 9999px;
64
+
65
+ /* ============================================
66
+ Font Size 配置
67
+ ============================================ */
68
+ --config-font-size-xs: 12px;
69
+ --config-font-size-xs-lh: 16px;
70
+ --config-font-size-sm: 14px;
71
+ --config-font-size-sm-lh: 20px;
72
+ --config-font-size-base: 14px;
73
+ --config-font-size-base-lh: 20px;
74
+ --config-font-size-lg: 16px;
75
+ --config-font-size-lg-lh: 24px;
76
+ --config-font-size-xl: 18px;
77
+ --config-font-size-xl-lh: 24px;
78
+ --config-font-size-2xl: 20px;
79
+ --config-font-size-2xl-lh: 24px;
80
+ --config-font-size-3xl: 24px;
81
+ --config-font-size-3xl-lh: 28px;
82
+ --config-font-size-4xl: 30px;
83
+ --config-font-size-4xl-lh: 32px;
84
+ --config-font-size-5xl: 36px;
85
+ --config-font-size-5xl-lh: 36px;
86
+ --config-font-size-6xl: 48px;
87
+ --config-font-size-6xl-lh: 1;
88
+ --config-font-size-7xl: 60px;
89
+ --config-font-size-7xl-lh: 1;
90
+ --config-font-size-8xl: 72px;
91
+ --config-font-size-8xl-lh: 1;
92
+ --config-font-size-9xl: 96px;
93
+ --config-font-size-9xl-lh: 1;
94
+
95
+ /* ============================================
96
+ Motion 配置
97
+ ============================================ */
98
+ --config-motion-duration-fast: 150ms;
99
+ --config-motion-duration-base: 200ms;
100
+ --config-motion-duration-slow: 300ms;
101
+ --config-motion-ease-standard: cubic-bezier(0.16, 1, 0.3, 1);
102
+ --config-motion-ease-emphasized: cubic-bezier(0.2, 0.8, 0.2, 1);
103
+ --config-motion-ease-out: cubic-bezier(0, 0, 0.2, 1);
104
+
105
+ /* ============================================
106
+ Font Family 配置
107
+ ============================================ */
108
+ --config-font-sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
109
+ --config-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
110
+ }
@@ -0,0 +1,30 @@
1
+ /* ============================================
2
+ * Scale 布局风格系统 - 统一入口
3
+ *
4
+ * 引入方式:
5
+ * 1. 全量引入(推荐): @import "./scale/index.css";
6
+ * 2. 按需引入:
7
+ * @import "./scale/config.css";
8
+ * @import "./scale/computed.css";
9
+ * @import "./scale/presets/compact.css";
10
+ *
11
+ * 自定义配置:
12
+ * @import "./scale/config.css";
13
+ * @import "./scale/computed.css";
14
+ * :root {
15
+ * --config-radius-default: 10px; // 自定义圆角
16
+ * --config-spacing-4: 18px; // 自定义间距
17
+ * }
18
+ * ============================================ */
19
+
20
+ /* 配置层:可覆盖的基础变量 */
21
+ @import "./config.css";
22
+
23
+ /* 计算层:映射到实际变量 */
24
+ @import "./computed.css";
25
+
26
+ /* 预设风格 */
27
+ @import "./presets/compact.css";
28
+ @import "./presets/soft.css";
29
+ @import "./presets/sharp.css";
30
+ @import "./presets/dense.css";
@@ -0,0 +1,30 @@
1
+ /* ============================================
2
+ * Preset: Compact - 紧凑风格
3
+ * 优化效率,适合信息密集场景
4
+ * ============================================ */
5
+
6
+ [data-style="compact"] {
7
+ /* Spacing (紧凑比例) */
8
+ --spacing-3: 10px;
9
+ --spacing-4: 14px;
10
+ --spacing-9: 32px;
11
+ --spacing-11: 40px;
12
+
13
+ /* Radius (略小) */
14
+ --radius-xl: 10px;
15
+ --radius-2xl: 12px;
16
+ --radius-3xl: 16px;
17
+
18
+ /* Font Size (略小) */
19
+ --font-size-sm: 12px;
20
+ --font-size-lg: 14px;
21
+ --font-size-xl: 16px;
22
+ --font-size-2xl: 18px;
23
+ --font-size-3xl: 22px;
24
+ --font-size-4xl: 28px;
25
+ --font-size-5xl: 34px;
26
+ --font-size-6xl: 44px;
27
+ --font-size-7xl: 56px;
28
+ --font-size-8xl: 64px;
29
+ --font-size-9xl: 88px;
30
+ }
@@ -0,0 +1,64 @@
1
+ /* ============================================
2
+ * Preset: Dense - 密集风格
3
+ * 信息密集,最大化内容展示
4
+ * ============================================ */
5
+
6
+ [data-style="dense"] {
7
+ /* Spacing (压缩比例) */
8
+ --spacing-2: 6px;
9
+ --spacing-2\.5: 8px;
10
+ --spacing-3: 8px;
11
+ --spacing-3\.5: 10px;
12
+ --spacing-4: 12px;
13
+ --spacing-5: 16px;
14
+ --spacing-6: 20px;
15
+ --spacing-7: 20px;
16
+ --spacing-8: 28px;
17
+ --spacing-9: 28px;
18
+ --spacing-10: 32px;
19
+ --spacing-11: 32px;
20
+ --spacing-12: 40px;
21
+ --spacing-14: 48px;
22
+ --spacing-16: 56px;
23
+ --spacing-20: 64px;
24
+ --spacing-24: 80px;
25
+ --spacing-28: 96px;
26
+ --spacing-32: 112px;
27
+ --spacing-36: 128px;
28
+ --spacing-40: 144px;
29
+ --spacing-44: 160px;
30
+ --spacing-48: 176px;
31
+ --spacing-52: 192px;
32
+ --spacing-56: 208px;
33
+ --spacing-60: 224px;
34
+ --spacing-64: 240px;
35
+ --spacing-72: 272px;
36
+ --spacing-80: 304px;
37
+ --spacing-96: 368px;
38
+
39
+ /* Radius (小圆角) */
40
+ --radius-sm: 2px;
41
+ --radius-DEFAULT: 4px;
42
+ --radius-md: 4px;
43
+ --radius-lg: 6px;
44
+ --radius-xl: 6px;
45
+ --radius-2xl: 8px;
46
+ --radius-3xl: 8px;
47
+ --radius: var(--radius-DEFAULT);
48
+
49
+ /* ChatInput 特殊配置 */
50
+ --chat-status-overlap: 4px;
51
+
52
+ /* Font Size (更小) */
53
+ --font-size-base: 12px;
54
+ --font-size-lg: 14px;
55
+ --font-size-xl: 14px;
56
+ --font-size-2xl: 16px;
57
+ --font-size-3xl: 18px;
58
+ --font-size-4xl: 22px;
59
+ --font-size-5xl: 28px;
60
+ --font-size-6xl: 36px;
61
+ --font-size-7xl: 44px;
62
+ --font-size-8xl: 56px;
63
+ --font-size-9xl: 72px;
64
+ }