@icen.ai/ui 0.10.0 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/AGENTS.md +79 -309
  2. package/LICENSE +21 -0
  3. package/README.md +43 -54
  4. package/dist/base.css +68 -22
  5. package/dist/behaviors/accordion.mjs +1 -1
  6. package/dist/behaviors/ai-branch.mjs +14 -0
  7. package/dist/behaviors/ai-chat.d.mts +2 -2
  8. package/dist/behaviors/ai-chat.mjs +66 -10
  9. package/dist/behaviors/ai-composer.d.mts +5 -5
  10. package/dist/behaviors/ai-composer.mjs +34 -10
  11. package/dist/behaviors/ai-core.mjs +14 -0
  12. package/dist/behaviors/ai-diff.mjs +14 -0
  13. package/dist/behaviors/ai-feedback.mjs +14 -0
  14. package/dist/behaviors/ai-panel.d.mts +2 -2
  15. package/dist/behaviors/ai-panel.mjs +14 -0
  16. package/dist/behaviors/ai-provider.d.mts +1 -1
  17. package/dist/behaviors/ai-provider.mjs +14 -0
  18. package/dist/behaviors/ai-threads.mjs +14 -0
  19. package/dist/behaviors/ai-tool.d.mts +1 -1
  20. package/dist/behaviors/ai-tool.mjs +299 -24
  21. package/dist/behaviors/ai-tools.mjs +1179 -28
  22. package/dist/behaviors/autocomplete.d.mts +1 -1
  23. package/dist/behaviors/autocomplete.mjs +14 -0
  24. package/dist/behaviors/back-top.mjs +14 -0
  25. package/dist/behaviors/carousel.mjs +21 -1
  26. package/dist/behaviors/cascader.mjs +27 -0
  27. package/dist/behaviors/charts.d.mts +12 -1
  28. package/dist/behaviors/charts.mjs +298 -20
  29. package/dist/behaviors/code-block.mjs +22 -1
  30. package/dist/behaviors/command-palette.mjs +3 -3
  31. package/dist/behaviors/context-menu.d.mts +2 -2
  32. package/dist/behaviors/context-menu.mjs +14 -0
  33. package/dist/behaviors/controls.d.mts +8 -8
  34. package/dist/behaviors/controls.mjs +50 -6
  35. package/dist/behaviors/copy.mjs +14 -0
  36. package/dist/behaviors/datatable.d.mts +3 -3
  37. package/dist/behaviors/datatable.mjs +89 -11
  38. package/dist/behaviors/date-picker.mjs +14 -0
  39. package/dist/behaviors/events.d.mts +10 -10
  40. package/dist/behaviors/events.mjs +11 -1
  41. package/dist/behaviors/form-validate.d.mts +10 -1
  42. package/dist/behaviors/form-validate.mjs +279 -4611
  43. package/dist/behaviors/i18n.d.mts +14 -0
  44. package/dist/behaviors/i18n.mjs +28 -0
  45. package/dist/behaviors/input.mjs +16 -0
  46. package/dist/behaviors/kb-access.d.mts +2 -2
  47. package/dist/behaviors/kb-access.mjs +21 -2
  48. package/dist/behaviors/kb-acl.d.mts +2 -2
  49. package/dist/behaviors/kb-acl.mjs +14 -0
  50. package/dist/behaviors/kb-answer.d.mts +2 -2
  51. package/dist/behaviors/kb-answer.mjs +298 -23
  52. package/dist/behaviors/kb-audit.d.mts +2 -2
  53. package/dist/behaviors/kb-audit.mjs +14 -0
  54. package/dist/behaviors/kb-canvas.d.mts +3 -3
  55. package/dist/behaviors/kb-canvas.mjs +14 -0
  56. package/dist/behaviors/kb-chain.d.mts +2 -2
  57. package/dist/behaviors/kb-chain.mjs +14 -0
  58. package/dist/behaviors/kb-checkpoint.d.mts +2 -2
  59. package/dist/behaviors/kb-checkpoint.mjs +14 -0
  60. package/dist/behaviors/kb-chunks.d.mts +2 -2
  61. package/dist/behaviors/kb-chunks.mjs +14 -0
  62. package/dist/behaviors/kb-citation.d.mts +2 -2
  63. package/dist/behaviors/kb-citation.mjs +33 -6
  64. package/dist/behaviors/kb-clarify.d.mts +2 -2
  65. package/dist/behaviors/kb-clarify.mjs +14 -0
  66. package/dist/behaviors/kb-conflict.d.mts +2 -2
  67. package/dist/behaviors/kb-conflict.mjs +14 -0
  68. package/dist/behaviors/kb-connector.d.mts +2 -2
  69. package/dist/behaviors/kb-connector.mjs +14 -0
  70. package/dist/behaviors/kb-core.d.mts +1 -1
  71. package/dist/behaviors/kb-core.mjs +14 -0
  72. package/dist/behaviors/kb-eval.d.mts +2 -2
  73. package/dist/behaviors/kb-eval.mjs +21 -2
  74. package/dist/behaviors/kb-explain.d.mts +2 -2
  75. package/dist/behaviors/kb-explain.mjs +26 -2
  76. package/dist/behaviors/kb-filter.d.mts +2 -2
  77. package/dist/behaviors/kb-filter.mjs +21 -2
  78. package/dist/behaviors/kb-gap.d.mts +2 -2
  79. package/dist/behaviors/kb-gap.mjs +14 -0
  80. package/dist/behaviors/kb-hittest.d.mts +2 -2
  81. package/dist/behaviors/kb-hittest.mjs +15 -1
  82. package/dist/behaviors/kb-metadata.mjs +19 -0
  83. package/dist/behaviors/kb-passage.d.mts +2 -2
  84. package/dist/behaviors/kb-passage.mjs +14 -0
  85. package/dist/behaviors/kb-pipeline.d.mts +2 -2
  86. package/dist/behaviors/kb-pipeline.mjs +14 -0
  87. package/dist/behaviors/kb-qa.mjs +14 -0
  88. package/dist/behaviors/kb-rerank.d.mts +2 -2
  89. package/dist/behaviors/kb-rerank.mjs +14 -0
  90. package/dist/behaviors/kb-retrieval.d.mts +2 -2
  91. package/dist/behaviors/kb-retrieval.mjs +31 -4
  92. package/dist/behaviors/kb-review.d.mts +2 -2
  93. package/dist/behaviors/kb-review.mjs +21 -2
  94. package/dist/behaviors/kb-sandbox.d.mts +2 -2
  95. package/dist/behaviors/kb-sandbox.mjs +20 -1
  96. package/dist/behaviors/kb-segment.d.mts +2 -2
  97. package/dist/behaviors/kb-segment.mjs +15 -1
  98. package/dist/behaviors/kb-select.mjs +21 -2
  99. package/dist/behaviors/kb-sources.d.mts +2 -2
  100. package/dist/behaviors/kb-sources.mjs +14 -0
  101. package/dist/behaviors/kb-sql.d.mts +2 -2
  102. package/dist/behaviors/kb-sql.mjs +14 -0
  103. package/dist/behaviors/kb-trace.d.mts +2 -2
  104. package/dist/behaviors/kb-trace.mjs +22 -3
  105. package/dist/behaviors/kb-visibility.d.mts +2 -2
  106. package/dist/behaviors/kb-visibility.mjs +14 -0
  107. package/dist/behaviors/kb-who-can.d.mts +2 -2
  108. package/dist/behaviors/kb-who-can.mjs +21 -2
  109. package/dist/behaviors/mentions.d.mts +1 -1
  110. package/dist/behaviors/mentions.mjs +14 -0
  111. package/dist/behaviors/modal.d.mts +1 -1
  112. package/dist/behaviors/modal.mjs +14 -0
  113. package/dist/behaviors/motion.d.mts +16 -0
  114. package/dist/behaviors/motion.mjs +39 -0
  115. package/dist/behaviors/notification.d.mts +2 -2
  116. package/dist/behaviors/notification.mjs +27 -3
  117. package/dist/behaviors/panel.mjs +14 -0
  118. package/dist/behaviors/scroll-area.d.mts +17 -0
  119. package/dist/behaviors/scroll-area.mjs +59 -0
  120. package/dist/behaviors/select.mjs +21 -2
  121. package/dist/behaviors/slider.mjs +3 -3
  122. package/dist/behaviors/split-pane.mjs +2 -0
  123. package/dist/behaviors/suggestions.mjs +14 -0
  124. package/dist/behaviors/tabs.mjs +10 -0
  125. package/dist/behaviors/tag-input.mjs +14 -0
  126. package/dist/behaviors/theme-switcher.d.mts +2 -2
  127. package/dist/behaviors/theme-switcher.mjs +30 -2
  128. package/dist/behaviors/theme.mjs +16 -2
  129. package/dist/behaviors/toast.d.mts +2 -2
  130. package/dist/behaviors/toast.mjs +14 -0
  131. package/dist/behaviors/tree-select.mjs +27 -0
  132. package/dist/behaviors/tree.mjs +4 -4
  133. package/dist/behaviors/upload.mjs +14 -0
  134. package/dist/behaviors/url-safety.d.mts +8 -0
  135. package/dist/behaviors/url-safety.mjs +11 -0
  136. package/dist/components/accordion.d.mts +2 -0
  137. package/dist/components/ai-branch.d.mts +2 -0
  138. package/dist/components/ai-chat.css +40 -33
  139. package/dist/components/ai-chat.d.mts +2 -0
  140. package/dist/components/ai-composer.d.mts +2 -0
  141. package/dist/components/ai-context.d.mts +2 -0
  142. package/dist/components/ai-context.mjs +1 -0
  143. package/dist/components/ai-diff.css +6 -6
  144. package/dist/components/ai-diff.d.mts +2 -0
  145. package/dist/components/ai-feedback.d.mts +2 -0
  146. package/dist/components/ai-files.d.mts +2 -0
  147. package/dist/components/ai-message.d.mts +2 -0
  148. package/dist/components/ai-panel.css +12 -10
  149. package/dist/components/ai-reasoning.d.mts +2 -0
  150. package/dist/components/ai-subagent.d.mts +2 -0
  151. package/dist/components/ai-subagent.mjs +1 -0
  152. package/dist/components/ai-threads.d.mts +2 -0
  153. package/dist/components/ai-todo.d.mts +2 -0
  154. package/dist/components/ai-todo.mjs +1 -0
  155. package/dist/components/ai-tool-call.d.mts +2 -0
  156. package/dist/components/ai-tool-call.mjs +1 -0
  157. package/dist/components/ai-tool.css +16 -16
  158. package/dist/components/ai-usage.d.mts +2 -0
  159. package/dist/components/alert.d.mts +2 -0
  160. package/dist/components/autocomplete.css +12 -12
  161. package/dist/components/autocomplete.d.mts +2 -0
  162. package/dist/components/avatar.d.mts +2 -0
  163. package/dist/components/back-top.css +47 -16
  164. package/dist/components/back-top.d.mts +2 -0
  165. package/dist/components/badge.css +1 -1
  166. package/dist/components/badge.d.mts +2 -0
  167. package/dist/components/breadcrumb.css +26 -8
  168. package/dist/components/breadcrumb.d.mts +2 -0
  169. package/dist/components/btn.css +67 -62
  170. package/dist/components/btn.d.mts +2 -0
  171. package/dist/components/card.css +22 -22
  172. package/dist/components/card.d.mts +2 -0
  173. package/dist/components/carousel.d.mts +2 -0
  174. package/dist/components/cascader.css +56 -35
  175. package/dist/components/cascader.d.mts +2 -0
  176. package/dist/components/chart-area.css +46 -0
  177. package/dist/components/chart-area.d.mts +2 -0
  178. package/dist/components/chart-bar.css +66 -19
  179. package/dist/components/chart-bar.d.mts +2 -0
  180. package/dist/components/chart-calendar.d.mts +2 -0
  181. package/dist/components/chart-gauge.css +23 -3
  182. package/dist/components/chart-gauge.d.mts +2 -0
  183. package/dist/components/chart-graph.css +15 -3
  184. package/dist/components/chart-graph.d.mts +2 -0
  185. package/dist/components/chart-heatmap.css +117 -95
  186. package/dist/components/chart-heatmap.d.mts +2 -0
  187. package/dist/components/chart-line.css +54 -0
  188. package/dist/components/chart-line.d.mts +2 -0
  189. package/dist/components/chart-map.d.mts +2 -0
  190. package/dist/components/chart-pie.css +29 -0
  191. package/dist/components/chart-pie.d.mts +2 -0
  192. package/dist/components/chart-radar.css +50 -1
  193. package/dist/components/chart-radar.d.mts +2 -0
  194. package/dist/components/chart-scatter.css +39 -2
  195. package/dist/components/chart-scatter.d.mts +2 -0
  196. package/dist/components/chart-sparkline.css +20 -0
  197. package/dist/components/chart-sparkline.d.mts +2 -0
  198. package/dist/components/chart-stack.css +16 -5
  199. package/dist/components/chart-stack.d.mts +2 -0
  200. package/dist/components/charts.css +109 -35
  201. package/dist/components/charts.d.mts +2 -0
  202. package/dist/components/code-block.css +10 -8
  203. package/dist/components/code-block.d.mts +2 -0
  204. package/dist/components/command-palette.css +45 -38
  205. package/dist/components/command-palette.d.mts +2 -0
  206. package/dist/components/content.css +62 -57
  207. package/dist/components/context-menu.d.mts +2 -0
  208. package/dist/components/copy.css +10 -10
  209. package/dist/components/copy.d.mts +2 -0
  210. package/dist/components/datatable.css +72 -59
  211. package/dist/components/datatable.d.mts +2 -0
  212. package/dist/components/date-picker.css +26 -26
  213. package/dist/components/date-picker.d.mts +2 -0
  214. package/dist/components/desc.d.mts +2 -0
  215. package/dist/components/dropdown.d.mts +2 -0
  216. package/dist/components/empty.css +16 -16
  217. package/dist/components/empty.d.mts +2 -0
  218. package/dist/components/feedback.css +31 -29
  219. package/dist/components/form-validate.css +20 -6
  220. package/dist/components/form-validate.d.mts +2 -0
  221. package/dist/components/form.css +17 -14
  222. package/dist/components/form.d.mts +2 -0
  223. package/dist/components/icon.css +21 -10
  224. package/dist/components/icon.d.mts +2 -0
  225. package/dist/components/input.css +22 -22
  226. package/dist/components/input.d.mts +2 -0
  227. package/dist/components/kb-access.d.mts +2 -0
  228. package/dist/components/kb-acl.d.mts +2 -0
  229. package/dist/components/kb-agent.css +134 -55
  230. package/dist/components/kb-answer.d.mts +2 -0
  231. package/dist/components/kb-audit.d.mts +2 -0
  232. package/dist/components/kb-canvas.d.mts +2 -0
  233. package/dist/components/kb-chain.d.mts +2 -0
  234. package/dist/components/kb-checkpoint.d.mts +2 -0
  235. package/dist/components/kb-chunks.d.mts +2 -0
  236. package/dist/components/kb-citation.d.mts +2 -0
  237. package/dist/components/kb-clarify.d.mts +2 -0
  238. package/dist/components/kb-conflict.d.mts +2 -0
  239. package/dist/components/kb-connector.d.mts +2 -0
  240. package/dist/components/kb-data.css +192 -80
  241. package/dist/components/kb-eval.d.mts +2 -0
  242. package/dist/components/kb-explain.d.mts +2 -0
  243. package/dist/components/kb-filter.d.mts +2 -0
  244. package/dist/components/kb-gap.d.mts +2 -0
  245. package/dist/components/kb-ground.css +165 -73
  246. package/dist/components/kb-hittest.d.mts +2 -0
  247. package/dist/components/kb-ingest.css +308 -113
  248. package/dist/components/kb-metadata.d.mts +2 -0
  249. package/dist/components/kb-ops.css +189 -75
  250. package/dist/components/kb-passage.d.mts +2 -0
  251. package/dist/components/kb-perm.css +158 -87
  252. package/dist/components/kb-pipeline.d.mts +2 -0
  253. package/dist/components/kb-qa.d.mts +2 -0
  254. package/dist/components/kb-rerank.d.mts +2 -0
  255. package/dist/components/kb-retrieval.d.mts +2 -0
  256. package/dist/components/kb-review.d.mts +2 -0
  257. package/dist/components/kb-sandbox.d.mts +2 -0
  258. package/dist/components/kb-search.css +353 -116
  259. package/dist/components/kb-segment.d.mts +2 -0
  260. package/dist/components/kb-sources.d.mts +2 -0
  261. package/dist/components/kb-sql.d.mts +2 -0
  262. package/dist/components/kb-trace.d.mts +2 -0
  263. package/dist/components/kb-visibility.d.mts +2 -0
  264. package/dist/components/kb-who-can.d.mts +2 -0
  265. package/dist/components/kb.css +60 -36
  266. package/dist/components/kb.d.mts +2 -0
  267. package/dist/components/kbd.d.mts +2 -0
  268. package/dist/components/layout.css +10 -10
  269. package/dist/components/layout.d.mts +2 -0
  270. package/dist/components/list.d.mts +2 -0
  271. package/dist/components/material-chinese.css +10 -0
  272. package/dist/components/material-soviet.css +10 -0
  273. package/dist/components/material.css +61 -18
  274. package/dist/components/media-card.d.mts +2 -0
  275. package/dist/components/media.css +22 -27
  276. package/dist/components/mentions.css +18 -17
  277. package/dist/components/mentions.d.mts +2 -0
  278. package/dist/components/menu.css +32 -28
  279. package/dist/components/modal.css +30 -27
  280. package/dist/components/modal.d.mts +2 -0
  281. package/dist/components/nav.css +48 -44
  282. package/dist/components/nav.d.mts +2 -0
  283. package/dist/components/notification.css +31 -25
  284. package/dist/components/notification.d.mts +2 -0
  285. package/dist/components/pagination.css +15 -13
  286. package/dist/components/pagination.d.mts +2 -0
  287. package/dist/components/panel.css +19 -20
  288. package/dist/components/panel.d.mts +2 -0
  289. package/dist/components/pill.css +8 -7
  290. package/dist/components/pill.d.mts +2 -0
  291. package/dist/components/popover.css +32 -23
  292. package/dist/components/popover.d.mts +2 -0
  293. package/dist/components/progress.d.mts +2 -0
  294. package/dist/components/rating.d.mts +2 -0
  295. package/dist/components/result.d.mts +2 -0
  296. package/dist/components/scroll-area.css +84 -112
  297. package/dist/components/scroll-area.d.mts +2 -0
  298. package/dist/components/scroll-area.mjs +1 -0
  299. package/dist/components/segmented.css +47 -29
  300. package/dist/components/segmented.d.mts +2 -0
  301. package/dist/components/select.css +80 -41
  302. package/dist/components/select.d.mts +2 -0
  303. package/dist/components/sidebar.css +42 -38
  304. package/dist/components/sidebar.d.mts +2 -0
  305. package/dist/components/skeleton.d.mts +2 -0
  306. package/dist/components/slider.css +26 -22
  307. package/dist/components/slider.d.mts +2 -0
  308. package/dist/components/spinner.d.mts +2 -0
  309. package/dist/components/split-pane.css +16 -7
  310. package/dist/components/split-pane.d.mts +2 -0
  311. package/dist/components/stat.css +17 -16
  312. package/dist/components/stat.d.mts +2 -0
  313. package/dist/components/steps.css +26 -26
  314. package/dist/components/steps.d.mts +2 -0
  315. package/dist/components/switch.css +78 -39
  316. package/dist/components/switch.d.mts +2 -0
  317. package/dist/components/table.css +54 -32
  318. package/dist/components/table.d.mts +2 -0
  319. package/dist/components/tabs.css +53 -32
  320. package/dist/components/tabs.d.mts +2 -0
  321. package/dist/components/tag-input.css +12 -8
  322. package/dist/components/tag-input.d.mts +2 -0
  323. package/dist/components/tag.css +20 -12
  324. package/dist/components/tag.d.mts +2 -0
  325. package/dist/components/theme-switcher.css +7 -7
  326. package/dist/components/theme-switcher.d.mts +2 -0
  327. package/dist/components/timeline.d.mts +2 -0
  328. package/dist/components/toast.css +34 -30
  329. package/dist/components/toast.d.mts +2 -0
  330. package/dist/components/toolbar.css +19 -18
  331. package/dist/components/toolbar.d.mts +2 -0
  332. package/dist/components/tooltip.css +9 -8
  333. package/dist/components/tooltip.d.mts +2 -0
  334. package/dist/components/tree-select.css +63 -40
  335. package/dist/components/tree-select.d.mts +2 -0
  336. package/dist/components/tree.d.mts +2 -0
  337. package/dist/components/upload.css +9 -11
  338. package/dist/components/upload.d.mts +2 -0
  339. package/dist/index.d.mts +85 -84
  340. package/dist/index.mjs +14644 -13935
  341. package/dist/react.d.mts +18 -18
  342. package/dist/react.mjs +377 -36
  343. package/dist/registry.json +797 -64
  344. package/dist/tokens/colors.css +6 -0
  345. package/dist/tokens/design.css +137 -31
  346. package/dist/tokens/dtcg.json +9592 -2008
  347. package/dist/tokens/figma.variables.json +7451 -2141
  348. package/dist/tokens/motion.css +51 -0
  349. package/dist/tokens/pixel.css +10 -0
  350. package/dist/tokens/scrollbars.css +40 -0
  351. package/dist/tokens/tokens-studio.json +8390 -1142
  352. package/dist/tokens/typography.css +33 -0
  353. package/dist/tokens.css +402 -82
  354. package/dist/ui.css +4196 -2163
  355. package/dist/vue.d.mts +17 -17
  356. package/dist/vue.mjs +371 -34
  357. package/docs/spec/charts-scale-a11y.md +115 -0
  358. package/docs/spec/design-philosophy.md +5 -5
  359. package/docs/spec/design-primitives.md +10 -10
  360. package/docs/spec/motion-typography.md +105 -0
  361. package/docs/spec/scrollbars.md +46 -0
  362. package/package.json +17 -3
@@ -30,12 +30,14 @@
30
30
  align-items: center;
31
31
  gap: 8px;
32
32
  flex-wrap: wrap;
33
- min-height: 24px;
33
+ min-height: var(--icen-density-item-height);
34
34
  }
35
35
 
36
36
  .icen-kb-sql-title {
37
- font-size: 13px;
37
+ font-size: var(--icen-density-font-size-md);
38
38
  font-weight: 600;
39
+ line-height: 1.4;
40
+ letter-spacing: var(--icen-letter-spacing-heading);
39
41
  color: var(--icen-token-text);
40
42
  white-space: nowrap;
41
43
  }
@@ -60,35 +62,42 @@
60
62
  .icen-kb-sql-btn {
61
63
  display: inline-flex;
62
64
  align-items: center;
63
- gap: 4px;
64
- min-height: 22px;
65
- padding: 2px 8px;
65
+ gap: 6px;
66
+ height: var(--icen-density-item-height);
67
+ padding: 0 12px;
66
68
  font: inherit;
67
- font-size: 11.5px;
69
+ font-size: var(--icen-density-font-size-md);
70
+ font-weight: 500;
71
+ line-height: 1;
68
72
  color: var(--icen-token-text-muted);
69
73
  background: transparent;
70
74
  border: 1px solid var(--icen-token-line-soft);
71
75
  border-radius: var(--icen-radius-sm);
72
76
  cursor: pointer;
73
77
  white-space: nowrap;
78
+ transition: color var(--icen-tx-fast), background-color var(--icen-tx-fast), border-color var(--icen-tx-fast);
74
79
  }
75
80
  .icen-kb-sql-btn:hover:not(:disabled) {
76
81
  color: var(--icen-token-text);
77
82
  border-color: var(--icen-token-line);
78
- background: var(--icen-token-bg-soft);
83
+ background: var(--icen-token-fill-hover);
84
+ }
85
+ .icen-kb-sql-btn:active:not(:disabled) {
86
+ background: var(--icen-token-fill-pressed);
87
+ border-color: var(--icen-token-line-strong);
79
88
  }
80
89
  .icen-kb-sql-btn:focus-visible {
81
- outline: 2px solid var(--icen-token-accent);
82
- outline-offset: 1px;
90
+ outline: none;
91
+ box-shadow: var(--icen-ring);
83
92
  }
84
93
  .icen-kb-sql-btn:disabled {
85
- opacity: 0.55;
86
- cursor: default;
94
+ opacity: var(--icen-disabled-opacity);
95
+ cursor: not-allowed;
87
96
  }
88
97
  .icen-kb-sql-btn-icon,
89
98
  .icen-kb-sql-btn-icon svg {
90
- width: 12px;
91
- height: 12px;
99
+ width: 14px;
100
+ height: 14px;
92
101
  flex: 0 0 auto;
93
102
  }
94
103
  .icen-kb-sql-btn--run {
@@ -100,6 +109,9 @@
100
109
  border-color: var(--icen-token-accent);
101
110
  background: var(--icen-token-accent-subtle);
102
111
  }
112
+ .icen-kb-sql-btn--run:active:not(:disabled) {
113
+ background: color-mix(in srgb, var(--icen-token-accent) 16%, transparent);
114
+ }
103
115
  /* 修正卡内的主行动(一屏一个 accent 级操作:此处告警色承载) */
104
116
  .icen-kb-sql-btn--apply {
105
117
  color: var(--icen-token-warning);
@@ -109,9 +121,13 @@
109
121
  .icen-kb-sql-btn--apply:hover:not(:disabled) {
110
122
  color: var(--icen-token-warning);
111
123
  border-color: var(--icen-token-warning);
124
+ background: color-mix(in srgb, var(--icen-token-warning) 12%, transparent);
125
+ }
126
+ .icen-kb-sql-btn--apply:active:not(:disabled) {
127
+ background: color-mix(in srgb, var(--icen-token-warning) 18%, transparent);
112
128
  }
113
129
 
114
- /* SQL 码块:浅色 bg-soft / 深色更深一档([data-icen-theme="dark"] 类,与 tokens 同机制) */
130
+ /* SQL 码块:浅色 bg-soft / 深色降到画布层([data-icen-theme="dark"] 类,与 tokens 同机制) */
115
131
  .icen-kb-sql-code {
116
132
  margin: 0;
117
133
  padding: 10px 12px;
@@ -119,16 +135,17 @@
119
135
  border: 1px solid var(--icen-token-line-soft);
120
136
  border-radius: var(--icen-radius-sm);
121
137
  font-family: var(--icen-font-mono);
122
- font-size: 12px;
123
- line-height: 1.65;
138
+ font-size: var(--icen-density-font-size-xs);
139
+ line-height: 1.7;
124
140
  color: var(--icen-token-text);
125
141
  white-space: pre;
126
142
  overflow: auto;
143
+ overscroll-behavior: contain;
127
144
  max-height: 320px;
128
145
  tab-size: 2;
129
146
  }
130
147
  [data-icen-theme="dark"] .icen-kb-sql-code {
131
- background: color-mix(in srgb, var(--icen-token-bg) 85%, black);
148
+ background: var(--icen-token-bg);
132
149
  border-color: color-mix(in srgb, var(--icen-token-line-soft) 70%, transparent);
133
150
  }
134
151
 
@@ -144,7 +161,7 @@
144
161
  display: flex;
145
162
  flex-direction: column;
146
163
  gap: 8px;
147
- padding: 8px 10px;
164
+ padding: 10px 12px;
148
165
  border: 1px solid color-mix(in srgb, var(--icen-token-warning) 45%, transparent);
149
166
  border-radius: var(--icen-radius-sm);
150
167
  background: color-mix(in srgb, var(--icen-token-warning) 5%, transparent);
@@ -153,18 +170,20 @@
153
170
  display: flex;
154
171
  align-items: center;
155
172
  gap: 8px;
173
+ min-height: var(--icen-density-item-height);
156
174
  flex-wrap: wrap;
157
175
  }
158
176
  .icen-kb-sql-fix-title {
159
177
  display: inline-flex;
160
178
  align-items: center;
161
179
  gap: 6px;
162
- font-size: 12px;
180
+ font-size: var(--icen-density-font-size-xs);
181
+ line-height: 1.5;
163
182
  color: var(--icen-token-warning);
164
183
  }
165
184
  .icen-kb-sql-fix-title svg {
166
- width: 13px;
167
- height: 13px;
185
+ width: 14px;
186
+ height: 14px;
168
187
  flex: 0 0 auto;
169
188
  }
170
189
  .icen-kb-sql-fix-title + .icen-kb-sql-btn,
@@ -194,8 +213,8 @@
194
213
  min-height: 132px;
195
214
  padding: 10px 12px;
196
215
  font-family: var(--icen-font-mono);
197
- font-size: 12px;
198
- line-height: 1.65;
216
+ font-size: var(--icen-density-font-size-xs);
217
+ line-height: 1.7;
199
218
  color: var(--icen-token-text);
200
219
  background: var(--icen-token-bg-soft);
201
220
  border: 1px solid var(--icen-token-line);
@@ -204,8 +223,8 @@
204
223
  tab-size: 2;
205
224
  }
206
225
  .icen-kb-sql-textarea:focus-visible {
207
- outline: 2px solid var(--icen-token-accent);
208
- outline-offset: -1px;
226
+ outline: none;
227
+ box-shadow: var(--icen-ring);
209
228
  }
210
229
  .icen-kb-sql-editor-actions {
211
230
  display: flex;
@@ -224,7 +243,7 @@
224
243
  gap: 8px;
225
244
  padding: 10px 12px;
226
245
  border: 1px dashed var(--icen-token-line-dashed);
227
- border-radius: var(--icen-radius-sm);
246
+ border-radius: var(--icen-radius-md);
228
247
  background: var(--icen-token-bg-soft);
229
248
  }
230
249
  .icen-kb-clarify.is-answered {
@@ -235,9 +254,9 @@
235
254
  display: flex;
236
255
  align-items: flex-start;
237
256
  gap: 6px;
238
- font-size: 13px;
257
+ font-size: var(--icen-density-font-size-md);
258
+ line-height: 1.65;
239
259
  color: var(--icen-token-text);
240
- line-height: 1.6;
241
260
  }
242
261
  .icen-kb-clarify-qicon,
243
262
  .icen-kb-clarify-qicon svg {
@@ -257,23 +276,28 @@
257
276
  }
258
277
  .icen-kb-clarify-opt {
259
278
  font: inherit;
260
- font-size: 12px;
261
- min-height: 24px;
262
- padding: 3px 12px;
279
+ font-size: var(--icen-density-font-size-md);
280
+ font-weight: 500;
281
+ min-height: var(--icen-density-item-height);
282
+ padding: 0 12px;
263
283
  color: var(--icen-token-text-muted);
264
284
  background: var(--icen-token-surface);
265
285
  border: 1px solid var(--icen-token-line-soft);
266
286
  border-radius: var(--icen-radius-full);
267
287
  cursor: pointer;
268
- transition: color 0.16s ease-out, border-color 0.16s ease-out, background 0.16s ease-out;
288
+ transition: color var(--icen-tx-fast), border-color var(--icen-tx-fast), background-color var(--icen-tx-fast);
269
289
  }
270
290
  .icen-kb-clarify-opt:hover:not(:disabled) {
271
291
  color: var(--icen-token-text);
292
+ background: var(--icen-token-fill-hover);
272
293
  border-color: color-mix(in srgb, var(--icen-token-accent) 45%, transparent);
273
294
  }
295
+ .icen-kb-clarify-opt:active:not(:disabled):not(.is-picked) {
296
+ background: var(--icen-token-fill-pressed);
297
+ }
274
298
  .icen-kb-clarify-opt:focus-visible {
275
- outline: 2px solid var(--icen-token-accent);
276
- outline-offset: 1px;
299
+ outline: none;
300
+ box-shadow: var(--icen-ring);
277
301
  }
278
302
  .icen-kb-clarify-opt.is-picked {
279
303
  color: var(--icen-token-accent);
@@ -281,11 +305,12 @@
281
305
  background: var(--icen-token-accent-subtle);
282
306
  }
283
307
  .icen-kb-clarify-opt:disabled {
284
- opacity: 0.55;
285
- cursor: default;
308
+ opacity: var(--icen-disabled-opacity);
309
+ cursor: not-allowed;
286
310
  }
287
311
  .icen-kb-clarify-resolved {
288
- font-size: 12px;
312
+ font-size: var(--icen-density-font-size-xs);
313
+ line-height: 1.5;
289
314
  color: var(--icen-token-text-muted);
290
315
  }
291
316
  .icen-kb-clarify-picked {
@@ -293,7 +318,8 @@
293
318
  color: var(--icen-token-text);
294
319
  }
295
320
  .icen-kb-clarify-reason {
296
- font-size: 11.5px;
321
+ font-size: var(--icen-density-font-size-xs);
322
+ line-height: 1.5;
297
323
  color: var(--icen-token-text-faint);
298
324
  }
299
325
 
@@ -302,15 +328,14 @@
302
328
  .icen-kb-explain {
303
329
  min-width: 0;
304
330
  border: 1px solid var(--icen-token-line-soft);
305
- border-radius: var(--icen-radius-sm);
331
+ border-radius: var(--icen-radius-md);
306
332
  background: var(--icen-token-bg-soft);
307
- overflow: hidden;
308
333
  }
309
334
  .icen-kb-explain-head {
310
335
  border-radius: 0;
311
336
  }
312
337
  .icen-kb-explain-head:hover {
313
- border-radius: var(--icen-radius-sm);
338
+ border-radius: calc(var(--icen-radius-md) - 1px);
314
339
  }
315
340
  .icen-kb-explain-title {
316
341
  white-space: nowrap;
@@ -321,8 +346,8 @@
321
346
  display: flex;
322
347
  flex-direction: column;
323
348
  gap: 8px;
324
- padding-block: 4px 10px;
325
- padding-inline: 10px 28px;
349
+ padding-block: 6px 12px;
350
+ padding-inline: 12px 28px;
326
351
  }
327
352
  .icen-kb-explain-group {
328
353
  display: flex;
@@ -333,7 +358,8 @@
333
358
  .icen-kb-explain-group-label {
334
359
  flex: 0 0 auto;
335
360
  min-inline-size: 2.5em;
336
- font-size: 11px;
361
+ font-size: var(--icen-density-font-size-xs);
362
+ letter-spacing: .3px;
337
363
  color: var(--icen-token-text-faint);
338
364
  }
339
365
  .icen-kb-explain-metrics {
@@ -348,21 +374,28 @@
348
374
  align-items: center;
349
375
  gap: 10px;
350
376
  flex-wrap: wrap;
351
- font-size: 12.5px;
377
+ font-size: var(--icen-density-font-size-md);
378
+ line-height: 1.5;
352
379
  }
353
380
  .icen-kb-explain-metric-name {
354
381
  color: var(--icen-token-text);
355
382
  font-weight: 500;
356
383
  }
357
384
  .icen-kb-explain-metric-ref {
358
- font-size: 11.5px;
385
+ font-size: var(--icen-density-font-size-xs);
359
386
  color: var(--icen-token-accent);
360
387
  text-decoration: none;
361
388
  border-bottom: 1px solid color-mix(in srgb, var(--icen-token-accent) 35%, transparent);
389
+ border-radius: var(--icen-radius-xs);
390
+ transition: border-color var(--icen-tx-fast), color var(--icen-tx-fast);
362
391
  }
363
392
  .icen-kb-explain-metric-ref:hover {
364
393
  border-bottom-color: var(--icen-token-accent);
365
394
  }
395
+ .icen-kb-explain-metric-ref:focus-visible {
396
+ outline: none;
397
+ box-shadow: var(--icen-ring);
398
+ }
366
399
  .icen-kb-explain-count {
367
400
  flex: 0 0 auto;
368
401
  }
@@ -374,7 +407,7 @@
374
407
  flex-direction: column;
375
408
  gap: 12px;
376
409
  min-width: 0;
377
- font-size: 13px;
410
+ font-size: var(--icen-density-font-size-md);
378
411
  }
379
412
 
380
413
  /* 徽章区 */
@@ -388,29 +421,31 @@
388
421
  display: inline-flex;
389
422
  align-items: center;
390
423
  gap: 8px;
424
+ min-height: var(--icen-density-item-height);
391
425
  flex-wrap: wrap;
392
426
  padding: 0;
393
427
  font: inherit;
394
428
  background: none;
395
429
  border: none;
430
+ border-radius: var(--icen-radius-sm);
396
431
  cursor: pointer;
397
432
  text-align: start;
398
433
  }
399
434
  .icen-kb-verified:focus-visible {
400
- outline: 2px solid var(--icen-token-accent);
401
- outline-offset: 3px;
402
- border-radius: var(--icen-radius-sm);
435
+ outline: none;
436
+ box-shadow: var(--icen-ring);
403
437
  }
404
438
  .icen-kb-verified-via {
405
- font-size: 11.5px;
439
+ font-size: var(--icen-density-font-size-xs);
406
440
  color: var(--icen-token-text-muted);
407
441
  }
408
442
  .icen-kb-verified-note {
409
- font-size: 11.5px;
443
+ font-size: var(--icen-density-font-size-xs);
410
444
  color: var(--icen-token-text-faint);
411
445
  }
412
446
  .icen-kb-verified-hint {
413
- font-size: 11px;
447
+ font-size: var(--icen-density-font-size-xs);
448
+ line-height: 1.5;
414
449
  color: var(--icen-token-text-faint);
415
450
  border-inline-start: 2px solid var(--icen-token-line-soft);
416
451
  padding-inline-start: 8px;
@@ -426,10 +461,12 @@
426
461
  gap: 8px;
427
462
  flex-wrap: wrap;
428
463
  width: 100%;
429
- padding: 4px 8px;
464
+ padding: 6px 8px;
465
+ border: 1px solid var(--icen-token-line-soft);
430
466
  border-radius: var(--icen-radius-sm);
431
467
  background: var(--icen-token-bg-soft);
432
- font-size: 11.5px;
468
+ font-size: var(--icen-density-font-size-xs);
469
+ line-height: 1.5;
433
470
  color: var(--icen-token-text-muted);
434
471
  }
435
472
  .icen-kb-perm-icon,
@@ -454,14 +491,14 @@
454
491
 
455
492
  /* 正文与简化引用角标(与 kb-ground 域 .icen-kb-citation 类名一致;默认弱化,hover 点亮) */
456
493
  .icen-kb-answer-body {
457
- font-size: 13px;
494
+ font-size: var(--icen-density-font-size-md);
458
495
  line-height: 1.75;
459
496
  color: var(--icen-token-text);
460
497
  white-space: pre-wrap;
461
498
  overflow-wrap: anywhere;
462
499
  }
463
500
  .icen-kb-answer-body .icen-kb-citation {
464
- font-size: 10.5px;
501
+ font-size: var(--icen-density-font-size-xs);
465
502
  line-height: 1;
466
503
  margin: 0 1px;
467
504
  padding: 1px 5px;
@@ -470,7 +507,7 @@
470
507
  border: 1px solid var(--icen-token-line-soft);
471
508
  border-radius: var(--icen-radius-full);
472
509
  cursor: default;
473
- transition: color 0.16s ease-out, border-color 0.16s ease-out;
510
+ transition: color var(--icen-tx-fast), border-color var(--icen-tx-fast);
474
511
  }
475
512
  .icen-kb-answer-body .icen-kb-citation:hover {
476
513
  color: var(--icen-token-accent);
@@ -499,44 +536,52 @@
499
536
  .icen-kb-result-export {
500
537
  display: inline-flex;
501
538
  gap: 6px;
539
+ flex-wrap: wrap;
502
540
  margin-inline-start: auto;
503
541
  }
504
542
  .icen-kb-result-export-btn {
505
543
  font: inherit;
506
- font-size: 11.5px;
507
- min-height: 22px;
508
- padding: 2px 8px;
544
+ font-size: var(--icen-density-font-size-xs);
545
+ font-weight: 500;
546
+ min-height: var(--icen-density-item-height);
547
+ padding: 0 12px;
509
548
  color: var(--icen-token-text-muted);
510
549
  background: transparent;
511
550
  border: 1px solid var(--icen-token-line-soft);
512
551
  border-radius: var(--icen-radius-sm);
513
552
  cursor: pointer;
553
+ transition: color var(--icen-tx-fast), border-color var(--icen-tx-fast), background-color var(--icen-tx-fast);
514
554
  }
515
555
  .icen-kb-result-export-btn:hover:not(:disabled) {
516
556
  color: var(--icen-token-text);
517
557
  border-color: var(--icen-token-line);
518
- background: var(--icen-token-bg-soft);
558
+ background: var(--icen-token-fill-hover);
559
+ }
560
+ .icen-kb-result-export-btn:active:not(:disabled) {
561
+ background: var(--icen-token-fill-pressed);
562
+ border-color: var(--icen-token-line-strong);
519
563
  }
520
564
  .icen-kb-result-export-btn:focus-visible {
521
- outline: 2px solid var(--icen-token-accent);
522
- outline-offset: 1px;
565
+ outline: none;
566
+ box-shadow: var(--icen-ring);
523
567
  }
524
568
  .icen-kb-result-export-btn:disabled {
525
- opacity: 0.55;
526
- cursor: default;
569
+ opacity: var(--icen-disabled-opacity);
570
+ cursor: not-allowed;
527
571
  }
528
572
  .icen-kb-result-scroll {
529
573
  overflow: auto;
574
+ overscroll-behavior: contain;
530
575
  max-height: 360px;
531
576
  border: 1px solid var(--icen-token-line-soft);
532
- border-radius: var(--icen-radius-sm);
577
+ border-radius: var(--icen-radius-md);
533
578
  background: var(--icen-token-surface);
534
579
  }
535
580
  .icen-kb-result-table {
536
581
  width: 100%;
537
582
  border-collapse: separate;
538
583
  border-spacing: 0;
539
- font-size: 12.5px;
584
+ font-size: var(--icen-density-font-size-md);
540
585
  }
541
586
  .icen-kb-result-table th {
542
587
  position: sticky;
@@ -545,23 +590,26 @@
545
590
  padding: 6px 10px;
546
591
  background: var(--icen-token-bg-soft);
547
592
  border-bottom: 1px solid var(--icen-token-line-soft);
548
- font-size: 11.5px;
593
+ font-size: var(--icen-density-font-size-xs);
549
594
  font-weight: 600;
595
+ letter-spacing: .3px;
550
596
  color: var(--icen-token-text-muted);
551
597
  text-align: start;
552
598
  white-space: nowrap;
553
599
  }
554
600
  .icen-kb-result-table td {
555
601
  padding: 5px 10px;
602
+ line-height: 1.5;
556
603
  border-bottom: 1px solid color-mix(in srgb, var(--icen-token-line-soft) 50%, transparent);
557
604
  color: var(--icen-token-text);
558
605
  white-space: nowrap;
606
+ transition: background-color var(--icen-tx-fast);
559
607
  }
560
608
  .icen-kb-result-table tbody tr:last-child td {
561
609
  border-bottom: none;
562
610
  }
563
611
  .icen-kb-result-table tbody tr:hover td {
564
- background: var(--icen-token-bg-soft);
612
+ background: var(--icen-token-fill-hover);
565
613
  }
566
614
  /* 数字列:等宽 + tabular-nums + 右对齐(数字是 LTR 文种,物理右对齐惯例,RTL 不镜像) */
567
615
  .icen-kb-result-table th.icen-kb-num,
@@ -591,23 +639,28 @@
591
639
  }
592
640
  .icen-kb-chart-chip {
593
641
  font: inherit;
594
- font-size: 11.5px;
595
- min-height: 22px;
596
- padding: 2px 10px;
642
+ font-size: var(--icen-density-font-size-xs);
643
+ font-weight: 500;
644
+ min-height: var(--icen-density-item-height);
645
+ padding: 0 12px;
597
646
  color: var(--icen-token-text-muted);
598
647
  background: transparent;
599
648
  border: 1px solid var(--icen-token-line-soft);
600
649
  border-radius: var(--icen-radius-full);
601
650
  cursor: pointer;
602
- transition: color 0.16s ease-out, border-color 0.16s ease-out, background 0.16s ease-out;
651
+ transition: color var(--icen-tx-fast), border-color var(--icen-tx-fast), background-color var(--icen-tx-fast);
603
652
  }
604
653
  .icen-kb-chart-chip:hover {
605
654
  color: var(--icen-token-text);
655
+ background: var(--icen-token-fill-hover);
606
656
  border-color: var(--icen-token-line);
607
657
  }
658
+ .icen-kb-chart-chip:active {
659
+ background: var(--icen-token-fill-pressed);
660
+ }
608
661
  .icen-kb-chart-chip:focus-visible {
609
- outline: 2px solid var(--icen-token-accent);
610
- outline-offset: 1px;
662
+ outline: none;
663
+ box-shadow: var(--icen-ring);
611
664
  }
612
665
  .icen-kb-chart-chip.is-active {
613
666
  color: var(--icen-token-accent-text);
@@ -626,28 +679,87 @@
626
679
  flex-wrap: wrap;
627
680
  }
628
681
  .icen-kb-followups-label {
629
- font-size: 11.5px;
682
+ font-size: var(--icen-density-font-size-xs);
683
+ letter-spacing: .3px;
630
684
  color: var(--icen-token-text-faint);
631
685
  }
632
686
  .icen-kb-followup {
633
687
  cursor: pointer;
634
- transition: border-color 0.16s ease-out, color 0.16s ease-out;
688
+ transition: border-color var(--icen-tx-fast), color var(--icen-tx-fast), background-color var(--icen-tx-fast);
635
689
  }
636
690
  .icen-kb-followup:hover {
637
691
  color: var(--icen-token-text);
638
692
  border-color: color-mix(in srgb, var(--icen-token-accent) 45%, transparent);
639
693
  }
694
+ .icen-kb-followup:active {
695
+ background: var(--icen-token-fill-pressed);
696
+ }
640
697
  .icen-kb-followup:focus-visible {
641
- outline: 2px solid var(--icen-token-accent);
642
- outline-offset: 1px;
698
+ outline: none;
699
+ box-shadow: var(--icen-ring);
643
700
  }
644
701
 
645
702
  /* ═══════════════════ 密度档 ═══════════════════ */
646
703
 
647
704
  [data-icen-density='compact'] .icen-kb-sql { padding: 8px 10px; gap: 6px; }
705
+ [data-icen-density='compact'] .icen-kb-sql-code { padding: 8px 10px; }
706
+ [data-icen-density='compact'] .icen-kb-sql-fix { padding: 8px 10px; }
707
+ [data-icen-density='compact'] .icen-kb-result-table { font-size: var(--icen-density-font-size-xs); }
648
708
  [data-icen-density='compact'] .icen-kb-result-table th { padding: 4px 8px; }
649
709
  [data-icen-density='compact'] .icen-kb-result-table td { padding: 3px 8px; }
650
710
  [data-icen-density='compact'] .icen-kb-answer { gap: 8px; }
651
711
  [data-icen-density='compact'] .icen-kb-clarify { padding: 8px 10px; }
712
+ [data-icen-density='compact'] .icen-kb-clarify-opt { min-height: var(--icen-density-item-height); }
713
+ [data-icen-density='compact'] .icen-kb-explain-body { padding-block: 4px 10px; }
714
+
715
+ /* ═══════════════════ 高对比模式(forced-colors) ═══════════════════
716
+ 表面与焦点回落到系统色;选中/激活态改用 Highlight,语义不依赖单一底色。 */
717
+ @media (forced-colors: active) {
718
+ .icen-kb-sql-btn,
719
+ .icen-kb-clarify-opt,
720
+ .icen-kb-result-export-btn,
721
+ .icen-kb-chart-chip,
722
+ .icen-kb-followup {
723
+ border-color: CanvasText;
724
+ }
725
+ .icen-kb-sql-btn:disabled,
726
+ .icen-kb-clarify-opt:disabled,
727
+ .icen-kb-result-export-btn:disabled {
728
+ opacity: 1;
729
+ color: GrayText;
730
+ }
731
+ .icen-kb-sql-fix {
732
+ border-color: CanvasText;
733
+ background: Canvas;
734
+ }
735
+ .icen-kb-perm,
736
+ .icen-kb-sql-textarea {
737
+ border-color: CanvasText;
738
+ }
739
+ .icen-kb-explain-metric-ref {
740
+ border-bottom-color: CanvasText;
741
+ }
742
+ .icen-kb-result-table th,
743
+ .icen-kb-result-table td {
744
+ border-bottom-color: CanvasText;
745
+ }
746
+ .icen-kb-clarify-opt.is-picked,
747
+ .icen-kb-chart-chip.is-active {
748
+ forced-color-adjust: none;
749
+ background: Highlight;
750
+ border-color: Highlight;
751
+ color: HighlightText;
752
+ }
753
+ .icen-kb-followup:hover {
754
+ border-color: Highlight;
755
+ }
756
+ :is(.icen-kb-sql-btn, .icen-kb-sql-textarea, .icen-kb-clarify-opt, .icen-kb-verified,
757
+ .icen-kb-result-export-btn, .icen-kb-chart-chip, .icen-kb-followup,
758
+ .icen-kb-explain-metric-ref):focus-visible {
759
+ outline: 2px solid Highlight;
760
+ outline-offset: 2px;
761
+ box-shadow: none;
762
+ }
763
+ }
652
764
 
653
765
  }
@@ -0,0 +1,2 @@
1
+ // kit: kb-eval 类型面(构建产物,勿手改)
2
+ export * from '../behaviors/kb-eval.mjs';
@@ -0,0 +1,2 @@
1
+ // kit: kb-explain 类型面(构建产物,勿手改)
2
+ export * from '../behaviors/kb-explain.mjs';
@@ -0,0 +1,2 @@
1
+ // kit: kb-filter 类型面(构建产物,勿手改)
2
+ export * from '../behaviors/kb-filter.mjs';
@@ -0,0 +1,2 @@
1
+ // kit: kb-gap 类型面(构建产物,勿手改)
2
+ export * from '../behaviors/kb-gap.mjs';