@icen.ai/ui 0.9.0 → 0.11.0

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 (431) hide show
  1. package/AGENTS.md +82 -254
  2. package/LICENSE +21 -0
  3. package/README.md +60 -96
  4. package/dist/base.css +258 -188
  5. package/dist/behaviors/accordion.mjs +8 -8
  6. package/dist/behaviors/ai-branch.d.mts +1 -1
  7. package/dist/behaviors/ai-branch.mjs +1011 -94
  8. package/dist/behaviors/ai-chat.d.mts +9 -9
  9. package/dist/behaviors/ai-chat.mjs +1122 -169
  10. package/dist/behaviors/ai-composer.d.mts +47 -15
  11. package/dist/behaviors/ai-composer.mjs +2018 -534
  12. package/dist/behaviors/ai-core.d.mts +1 -1
  13. package/dist/behaviors/ai-core.mjs +1017 -107
  14. package/dist/behaviors/ai-diff.mjs +1020 -127
  15. package/dist/behaviors/ai-feedback.d.mts +1 -1
  16. package/dist/behaviors/ai-feedback.mjs +1036 -126
  17. package/dist/behaviors/ai-panel.d.mts +10 -10
  18. package/dist/behaviors/ai-panel.mjs +1285 -266
  19. package/dist/behaviors/ai-provider.d.mts +1 -1
  20. package/dist/behaviors/ai-provider.mjs +1004 -101
  21. package/dist/behaviors/ai-threads.d.mts +1 -1
  22. package/dist/behaviors/ai-threads.mjs +1069 -154
  23. package/dist/behaviors/ai-tool.d.mts +3 -3
  24. package/dist/behaviors/ai-tool.mjs +2087 -413
  25. package/dist/behaviors/ai-tools.d.mts +89 -16
  26. package/dist/behaviors/ai-tools.mjs +5365 -380
  27. package/dist/behaviors/autocomplete.d.mts +53 -0
  28. package/dist/behaviors/autocomplete.mjs +1601 -0
  29. package/dist/behaviors/back-top.d.mts +1 -1
  30. package/dist/behaviors/back-top.mjs +952 -14
  31. package/dist/behaviors/carousel.d.mts +1 -1
  32. package/dist/behaviors/carousel.mjs +914 -12
  33. package/dist/behaviors/cascader.d.mts +48 -0
  34. package/dist/behaviors/cascader.mjs +1867 -0
  35. package/dist/behaviors/charts.d.mts +72 -8
  36. package/dist/behaviors/charts.mjs +1953 -272
  37. package/dist/behaviors/code-block.d.mts +36 -0
  38. package/dist/behaviors/code-block.mjs +1619 -0
  39. package/dist/behaviors/command-palette.d.mts +9 -6
  40. package/dist/behaviors/command-palette.mjs +164 -62
  41. package/dist/behaviors/context-menu.d.mts +10 -9
  42. package/dist/behaviors/context-menu.mjs +1113 -44
  43. package/dist/behaviors/controls.d.mts +21 -21
  44. package/dist/behaviors/controls.mjs +1024 -134
  45. package/dist/behaviors/copy.d.mts +21 -2
  46. package/dist/behaviors/copy.mjs +1207 -42
  47. package/dist/behaviors/datatable.d.mts +55 -5
  48. package/dist/behaviors/datatable.mjs +2033 -212
  49. package/dist/behaviors/date-picker.d.mts +0 -1
  50. package/dist/behaviors/date-picker.mjs +1341 -293
  51. package/dist/behaviors/design.d.mts +54 -0
  52. package/dist/behaviors/design.mjs +109 -0
  53. package/dist/behaviors/dropdown.d.mts +5 -6
  54. package/dist/behaviors/dropdown.mjs +262 -110
  55. package/dist/behaviors/events.d.mts +127 -10
  56. package/dist/behaviors/events.mjs +58 -3
  57. package/dist/behaviors/feedback.d.mts +30 -0
  58. package/dist/behaviors/feedback.mjs +296 -0
  59. package/dist/behaviors/focus.d.mts +8 -0
  60. package/dist/behaviors/focus.mjs +24 -0
  61. package/dist/behaviors/form-validate.d.mts +111 -0
  62. package/dist/behaviors/form-validate.mjs +1746 -0
  63. package/dist/behaviors/i18n.d.mts +790 -0
  64. package/dist/behaviors/i18n.mjs +1713 -0
  65. package/dist/behaviors/icons.d.mts +93 -0
  66. package/dist/behaviors/icons.mjs +113 -0
  67. package/dist/behaviors/input.d.mts +9 -1
  68. package/dist/behaviors/input.mjs +1059 -60
  69. package/dist/behaviors/kb-access.d.mts +3 -3
  70. package/dist/behaviors/kb-access.mjs +2135 -239
  71. package/dist/behaviors/kb-acl.d.mts +8 -8
  72. package/dist/behaviors/kb-acl.mjs +1120 -179
  73. package/dist/behaviors/kb-answer.d.mts +2 -2
  74. package/dist/behaviors/kb-answer.mjs +2120 -435
  75. package/dist/behaviors/kb-audit.d.mts +3 -3
  76. package/dist/behaviors/kb-audit.mjs +1077 -154
  77. package/dist/behaviors/kb-canvas.d.mts +3 -3
  78. package/dist/behaviors/kb-canvas.mjs +1101 -177
  79. package/dist/behaviors/kb-chain.d.mts +2 -2
  80. package/dist/behaviors/kb-chain.mjs +1023 -100
  81. package/dist/behaviors/kb-checkpoint.d.mts +3 -3
  82. package/dist/behaviors/kb-checkpoint.mjs +1320 -169
  83. package/dist/behaviors/kb-chunks.d.mts +2 -2
  84. package/dist/behaviors/kb-chunks.mjs +1153 -213
  85. package/dist/behaviors/kb-citation.d.mts +3 -3
  86. package/dist/behaviors/kb-citation.mjs +1221 -185
  87. package/dist/behaviors/kb-clarify.d.mts +2 -2
  88. package/dist/behaviors/kb-clarify.mjs +1059 -130
  89. package/dist/behaviors/kb-conflict.d.mts +2 -2
  90. package/dist/behaviors/kb-conflict.mjs +1042 -119
  91. package/dist/behaviors/kb-connector.d.mts +2 -2
  92. package/dist/behaviors/kb-connector.mjs +1105 -176
  93. package/dist/behaviors/kb-core.d.mts +7 -2
  94. package/dist/behaviors/kb-core.mjs +1078 -162
  95. package/dist/behaviors/kb-eval.d.mts +2 -2
  96. package/dist/behaviors/kb-eval.mjs +1977 -144
  97. package/dist/behaviors/kb-explain.d.mts +3 -3
  98. package/dist/behaviors/kb-explain.mjs +1037 -104
  99. package/dist/behaviors/kb-filter.d.mts +2 -2
  100. package/dist/behaviors/kb-filter.mjs +2014 -178
  101. package/dist/behaviors/kb-gap.d.mts +3 -3
  102. package/dist/behaviors/kb-gap.mjs +1044 -121
  103. package/dist/behaviors/kb-hittest.d.mts +3 -3
  104. package/dist/behaviors/kb-hittest.mjs +1095 -151
  105. package/dist/behaviors/kb-metadata.mjs +1058 -130
  106. package/dist/behaviors/kb-passage.d.mts +4 -4
  107. package/dist/behaviors/kb-passage.mjs +1102 -161
  108. package/dist/behaviors/kb-pipeline.d.mts +4 -4
  109. package/dist/behaviors/kb-pipeline.mjs +1083 -162
  110. package/dist/behaviors/kb-qa.mjs +1089 -160
  111. package/dist/behaviors/kb-rerank.d.mts +2 -2
  112. package/dist/behaviors/kb-rerank.mjs +1048 -114
  113. package/dist/behaviors/kb-retrieval.d.mts +2 -2
  114. package/dist/behaviors/kb-retrieval.mjs +2079 -226
  115. package/dist/behaviors/kb-review.d.mts +2 -2
  116. package/dist/behaviors/kb-review.mjs +1996 -159
  117. package/dist/behaviors/kb-sandbox.d.mts +3 -3
  118. package/dist/behaviors/kb-sandbox.mjs +1033 -105
  119. package/dist/behaviors/kb-segment.d.mts +2 -2
  120. package/dist/behaviors/kb-segment.mjs +1112 -179
  121. package/dist/behaviors/kb-select.d.mts +24 -0
  122. package/dist/behaviors/kb-select.mjs +1995 -0
  123. package/dist/behaviors/kb-sources.d.mts +3 -3
  124. package/dist/behaviors/kb-sources.mjs +1085 -170
  125. package/dist/behaviors/kb-sql.d.mts +3 -3
  126. package/dist/behaviors/kb-sql.mjs +1144 -226
  127. package/dist/behaviors/kb-trace.d.mts +3 -3
  128. package/dist/behaviors/kb-trace.mjs +1051 -131
  129. package/dist/behaviors/kb-visibility.d.mts +2 -2
  130. package/dist/behaviors/kb-visibility.mjs +1087 -158
  131. package/dist/behaviors/kb-who-can.d.mts +2 -2
  132. package/dist/behaviors/kb-who-can.mjs +1980 -137
  133. package/dist/behaviors/mentions.d.mts +93 -0
  134. package/dist/behaviors/mentions.mjs +2153 -0
  135. package/dist/behaviors/modal.d.mts +4 -3
  136. package/dist/behaviors/modal.mjs +1056 -33
  137. package/dist/behaviors/nav.d.mts +1 -1
  138. package/dist/behaviors/nav.mjs +6 -6
  139. package/dist/behaviors/notification.d.mts +16 -8
  140. package/dist/behaviors/notification.mjs +1629 -268
  141. package/dist/behaviors/panel.d.mts +4 -0
  142. package/dist/behaviors/panel.mjs +995 -0
  143. package/dist/behaviors/popover.d.mts +28 -5
  144. package/dist/behaviors/popover.mjs +225 -24
  145. package/dist/behaviors/scroll-area.d.mts +17 -0
  146. package/dist/behaviors/scroll-area.mjs +59 -0
  147. package/dist/behaviors/select.d.mts +5 -2
  148. package/dist/behaviors/select.mjs +1416 -117
  149. package/dist/behaviors/sidebar.d.mts +1 -1
  150. package/dist/behaviors/sidebar.mjs +13 -13
  151. package/dist/behaviors/slider.d.mts +1 -1
  152. package/dist/behaviors/slider.mjs +12 -12
  153. package/dist/behaviors/split-pane.d.mts +1 -1
  154. package/dist/behaviors/split-pane.mjs +9 -7
  155. package/dist/behaviors/suggestions.d.mts +27 -0
  156. package/dist/behaviors/suggestions.mjs +1090 -0
  157. package/dist/behaviors/svg-parse.d.mts +14 -0
  158. package/dist/behaviors/svg-parse.mjs +37 -0
  159. package/dist/behaviors/tabs.d.mts +2 -2
  160. package/dist/behaviors/tabs.mjs +35 -25
  161. package/dist/behaviors/tag-input.d.mts +23 -5
  162. package/dist/behaviors/tag-input.mjs +1360 -104
  163. package/dist/behaviors/theme-switcher.d.mts +24 -0
  164. package/dist/behaviors/theme-switcher.mjs +1996 -0
  165. package/dist/behaviors/theme.d.mts +15 -8
  166. package/dist/behaviors/theme.mjs +406 -30
  167. package/dist/behaviors/toast.d.mts +24 -25
  168. package/dist/behaviors/toast.mjs +1267 -88
  169. package/dist/behaviors/tooltip.d.mts +4 -0
  170. package/dist/behaviors/tooltip.mjs +378 -0
  171. package/dist/behaviors/tree-select.d.mts +69 -0
  172. package/dist/behaviors/tree-select.mjs +1921 -0
  173. package/dist/behaviors/tree.d.mts +1 -1
  174. package/dist/behaviors/tree.mjs +18 -18
  175. package/dist/behaviors/upload.d.mts +3 -2
  176. package/dist/behaviors/upload.mjs +1077 -66
  177. package/dist/behaviors/url-safety.d.mts +8 -0
  178. package/dist/behaviors/url-safety.mjs +11 -0
  179. package/dist/cli.mjs +5 -6
  180. package/dist/components/accordion.d.mts +2 -0
  181. package/dist/components/ai-branch.d.mts +2 -0
  182. package/dist/components/ai-chat.css +682 -582
  183. package/dist/components/ai-chat.d.mts +2 -0
  184. package/dist/components/ai-composer.d.mts +2 -0
  185. package/dist/components/ai-context.d.mts +2 -0
  186. package/dist/components/ai-context.mjs +1 -0
  187. package/dist/components/ai-diff.css +153 -132
  188. package/dist/components/ai-diff.d.mts +2 -0
  189. package/dist/components/ai-feedback.d.mts +2 -0
  190. package/dist/components/ai-files.d.mts +2 -0
  191. package/dist/components/ai-message.d.mts +2 -0
  192. package/dist/components/ai-panel.css +353 -343
  193. package/dist/components/ai-reasoning.d.mts +2 -0
  194. package/dist/components/ai-subagent.d.mts +2 -0
  195. package/dist/components/ai-subagent.mjs +1 -0
  196. package/dist/components/ai-threads.d.mts +2 -0
  197. package/dist/components/ai-todo.d.mts +2 -0
  198. package/dist/components/ai-todo.mjs +1 -0
  199. package/dist/components/ai-tool-call.d.mts +2 -0
  200. package/dist/components/ai-tool-call.mjs +1 -0
  201. package/dist/components/ai-tool.css +397 -242
  202. package/dist/components/ai-usage.d.mts +2 -0
  203. package/dist/components/alert.d.mts +2 -0
  204. package/dist/components/autocomplete.css +61 -0
  205. package/dist/components/autocomplete.d.mts +2 -0
  206. package/dist/components/autocomplete.mjs +3 -0
  207. package/dist/components/avatar.d.mts +2 -0
  208. package/dist/components/back-top.css +74 -40
  209. package/dist/components/back-top.d.mts +2 -0
  210. package/dist/components/badge.css +44 -41
  211. package/dist/components/badge.d.mts +2 -0
  212. package/dist/components/breadcrumb.css +85 -46
  213. package/dist/components/breadcrumb.d.mts +2 -0
  214. package/dist/components/btn.css +105 -94
  215. package/dist/components/btn.d.mts +2 -0
  216. package/dist/components/card.css +124 -113
  217. package/dist/components/card.d.mts +2 -0
  218. package/dist/components/carousel.d.mts +2 -0
  219. package/dist/components/cascader.css +332 -0
  220. package/dist/components/cascader.d.mts +2 -0
  221. package/dist/components/cascader.mjs +3 -0
  222. package/dist/components/chart-area.css +54 -2
  223. package/dist/components/chart-area.d.mts +2 -0
  224. package/dist/components/chart-bar.css +147 -38
  225. package/dist/components/chart-bar.d.mts +2 -0
  226. package/dist/components/chart-calendar.d.mts +2 -0
  227. package/dist/components/chart-gauge.css +36 -13
  228. package/dist/components/chart-gauge.d.mts +2 -0
  229. package/dist/components/chart-graph.css +35 -20
  230. package/dist/components/chart-graph.d.mts +2 -0
  231. package/dist/components/chart-heatmap.css +67 -39
  232. package/dist/components/chart-heatmap.d.mts +2 -0
  233. package/dist/components/chart-line.css +62 -3
  234. package/dist/components/chart-line.d.mts +2 -0
  235. package/dist/components/chart-map.d.mts +2 -0
  236. package/dist/components/chart-pie.css +38 -6
  237. package/dist/components/chart-pie.d.mts +2 -0
  238. package/dist/components/chart-radar.css +57 -5
  239. package/dist/components/chart-radar.d.mts +2 -0
  240. package/dist/components/chart-scatter.css +47 -7
  241. package/dist/components/chart-scatter.d.mts +2 -0
  242. package/dist/components/chart-sparkline.css +25 -2
  243. package/dist/components/chart-sparkline.d.mts +2 -0
  244. package/dist/components/chart-stack.css +27 -13
  245. package/dist/components/chart-stack.d.mts +2 -0
  246. package/dist/components/charts.css +220 -84
  247. package/dist/components/charts.d.mts +2 -0
  248. package/dist/components/code-block.css +420 -0
  249. package/dist/components/code-block.d.mts +2 -0
  250. package/dist/components/code-block.mjs +4 -0
  251. package/dist/components/command-palette.css +150 -122
  252. package/dist/components/command-palette.d.mts +2 -0
  253. package/dist/components/content.css +274 -263
  254. package/dist/components/context-menu.d.mts +2 -0
  255. package/dist/components/copy.css +73 -45
  256. package/dist/components/copy.d.mts +2 -0
  257. package/dist/components/datatable.css +457 -202
  258. package/dist/components/datatable.d.mts +2 -0
  259. package/dist/components/date-picker.css +136 -105
  260. package/dist/components/date-picker.d.mts +2 -0
  261. package/dist/components/desc.d.mts +2 -0
  262. package/dist/components/dropdown.d.mts +2 -0
  263. package/dist/components/empty.css +72 -69
  264. package/dist/components/empty.d.mts +2 -0
  265. package/dist/components/feedback.css +211 -191
  266. package/dist/components/form-validate.css +134 -0
  267. package/dist/components/form-validate.d.mts +2 -0
  268. package/dist/components/form-validate.mjs +3 -0
  269. package/dist/components/form.css +157 -131
  270. package/dist/components/form.d.mts +2 -0
  271. package/dist/components/icon.css +113 -0
  272. package/dist/components/icon.d.mts +2 -0
  273. package/dist/components/icon.mjs +3 -0
  274. package/dist/components/input.css +163 -108
  275. package/dist/components/input.d.mts +2 -0
  276. package/dist/components/kb-access.d.mts +2 -0
  277. package/dist/components/kb-acl.d.mts +2 -0
  278. package/dist/components/kb-agent.css +300 -206
  279. package/dist/components/kb-answer.d.mts +2 -0
  280. package/dist/components/kb-audit.d.mts +2 -0
  281. package/dist/components/kb-canvas.d.mts +2 -0
  282. package/dist/components/kb-chain.d.mts +2 -0
  283. package/dist/components/kb-checkpoint.d.mts +2 -0
  284. package/dist/components/kb-chunks.d.mts +2 -0
  285. package/dist/components/kb-citation.d.mts +2 -0
  286. package/dist/components/kb-clarify.d.mts +2 -0
  287. package/dist/components/kb-conflict.d.mts +2 -0
  288. package/dist/components/kb-connector.d.mts +2 -0
  289. package/dist/components/kb-data.css +431 -315
  290. package/dist/components/kb-eval.d.mts +2 -0
  291. package/dist/components/kb-explain.d.mts +2 -0
  292. package/dist/components/kb-filter.d.mts +2 -0
  293. package/dist/components/kb-gap.d.mts +2 -0
  294. package/dist/components/kb-ground.css +333 -229
  295. package/dist/components/kb-hittest.d.mts +2 -0
  296. package/dist/components/kb-ingest.css +613 -434
  297. package/dist/components/kb-metadata.d.mts +2 -0
  298. package/dist/components/kb-ops.css +422 -302
  299. package/dist/components/kb-passage.d.mts +2 -0
  300. package/dist/components/kb-perm.css +374 -314
  301. package/dist/components/kb-pipeline.d.mts +2 -0
  302. package/dist/components/kb-qa.d.mts +2 -0
  303. package/dist/components/kb-rerank.d.mts +2 -0
  304. package/dist/components/kb-retrieval.d.mts +2 -0
  305. package/dist/components/kb-review.d.mts +2 -0
  306. package/dist/components/kb-sandbox.d.mts +2 -0
  307. package/dist/components/kb-search.css +653 -459
  308. package/dist/components/kb-segment.d.mts +2 -0
  309. package/dist/components/kb-sources.d.mts +2 -0
  310. package/dist/components/kb-sql.d.mts +2 -0
  311. package/dist/components/kb-trace.d.mts +2 -0
  312. package/dist/components/kb-visibility.d.mts +2 -0
  313. package/dist/components/kb-who-can.d.mts +2 -0
  314. package/dist/components/kb.css +170 -135
  315. package/dist/components/kb.d.mts +2 -0
  316. package/dist/components/kbd.d.mts +2 -0
  317. package/dist/components/layout.css +86 -83
  318. package/dist/components/layout.d.mts +2 -0
  319. package/dist/components/list.d.mts +2 -0
  320. package/dist/components/material-chinese.css +83 -0
  321. package/dist/components/material-soviet.css +86 -0
  322. package/dist/components/material.css +318 -0
  323. package/dist/components/media-card.d.mts +2 -0
  324. package/dist/components/media.css +225 -176
  325. package/dist/components/mentions.css +190 -0
  326. package/dist/components/mentions.d.mts +2 -0
  327. package/dist/components/mentions.mjs +3 -0
  328. package/dist/components/menu.css +121 -109
  329. package/dist/components/modal.css +116 -118
  330. package/dist/components/modal.d.mts +2 -0
  331. package/dist/components/nav.css +136 -129
  332. package/dist/components/nav.d.mts +2 -0
  333. package/dist/components/notification.css +247 -177
  334. package/dist/components/notification.d.mts +2 -0
  335. package/dist/components/pagination.css +62 -57
  336. package/dist/components/pagination.d.mts +2 -0
  337. package/dist/components/panel.css +70 -68
  338. package/dist/components/panel.d.mts +2 -0
  339. package/dist/components/panel.mjs +1 -0
  340. package/dist/components/pill.css +83 -72
  341. package/dist/components/pill.d.mts +2 -0
  342. package/dist/components/popover.css +80 -57
  343. package/dist/components/popover.d.mts +2 -0
  344. package/dist/components/progress.d.mts +2 -0
  345. package/dist/components/rating.d.mts +2 -0
  346. package/dist/components/result.d.mts +2 -0
  347. package/dist/components/scroll-area.css +29 -54
  348. package/dist/components/scroll-area.d.mts +2 -0
  349. package/dist/components/scroll-area.mjs +1 -0
  350. package/dist/components/segmented.css +167 -146
  351. package/dist/components/segmented.d.mts +2 -0
  352. package/dist/components/select.css +250 -191
  353. package/dist/components/select.d.mts +2 -0
  354. package/dist/components/sidebar.css +157 -143
  355. package/dist/components/sidebar.d.mts +2 -0
  356. package/dist/components/skeleton.d.mts +2 -0
  357. package/dist/components/slider.css +135 -128
  358. package/dist/components/slider.d.mts +2 -0
  359. package/dist/components/spinner.d.mts +2 -0
  360. package/dist/components/split-pane.css +120 -108
  361. package/dist/components/split-pane.d.mts +2 -0
  362. package/dist/components/stat.css +116 -109
  363. package/dist/components/stat.d.mts +2 -0
  364. package/dist/components/steps.css +114 -108
  365. package/dist/components/steps.d.mts +2 -0
  366. package/dist/components/switch.css +192 -149
  367. package/dist/components/switch.d.mts +2 -0
  368. package/dist/components/table.css +158 -112
  369. package/dist/components/table.d.mts +2 -0
  370. package/dist/components/tabs.css +143 -116
  371. package/dist/components/tabs.d.mts +2 -0
  372. package/dist/components/tag-input.css +52 -133
  373. package/dist/components/tag-input.d.mts +2 -0
  374. package/dist/components/tag.css +90 -72
  375. package/dist/components/tag.d.mts +2 -0
  376. package/dist/components/theme-switcher.css +105 -0
  377. package/dist/components/theme-switcher.d.mts +2 -0
  378. package/dist/components/theme-switcher.mjs +3 -0
  379. package/dist/components/timeline.d.mts +2 -0
  380. package/dist/components/toast.css +115 -97
  381. package/dist/components/toast.d.mts +2 -0
  382. package/dist/components/toolbar.css +47 -43
  383. package/dist/components/toolbar.d.mts +2 -0
  384. package/dist/components/tooltip.css +103 -43
  385. package/dist/components/tooltip.d.mts +2 -0
  386. package/dist/components/tooltip.mjs +1 -0
  387. package/dist/components/tree-select.css +439 -0
  388. package/dist/components/tree-select.d.mts +2 -0
  389. package/dist/components/tree-select.mjs +3 -0
  390. package/dist/components/tree.d.mts +2 -0
  391. package/dist/components/upload.css +138 -97
  392. package/dist/components/upload.d.mts +2 -0
  393. package/dist/fonts/LICENSES/ark-pixel/OFL.txt +96 -0
  394. package/dist/fonts/LICENSES/cubic-11/OFL.txt +108 -0
  395. package/dist/fonts/LICENSES/galmuri/LICENSE.txt +93 -0
  396. package/dist/fonts/OFL.txt +96 -0
  397. package/dist/fonts/README.md +14 -0
  398. package/dist/fonts/fusion-pixel-12px-zh-hans.woff2 +0 -0
  399. package/dist/index.d.mts +85 -70
  400. package/dist/index.mjs +17330 -5773
  401. package/dist/react.d.mts +91 -0
  402. package/dist/react.mjs +8307 -0
  403. package/dist/registry.json +918 -70
  404. package/dist/tokens/chinese.css +44 -0
  405. package/dist/tokens/colors.css +371 -1222
  406. package/dist/tokens/design.css +209 -0
  407. package/dist/tokens/dtcg.json +15926 -0
  408. package/dist/tokens/figma.variables.json +10779 -0
  409. package/dist/tokens/icon-masks.css +78 -0
  410. package/dist/tokens/pixel.css +53 -0
  411. package/dist/tokens/scrollbars.css +40 -0
  412. package/dist/tokens/soviet.css +44 -0
  413. package/dist/tokens/style-profiles.css +36 -547
  414. package/dist/tokens/themes.json +308 -0
  415. package/dist/tokens/tokens-studio.json +11648 -0
  416. package/dist/tokens/typography.css +21 -18
  417. package/dist/tokens.css +1783 -1806
  418. package/dist/ui.css +14796 -10750
  419. package/dist/vue.d.mts +344 -0
  420. package/dist/vue.mjs +7876 -0
  421. package/docs/spec/ai-input-experience.md +75 -0
  422. package/docs/spec/ai-native.md +238 -147
  423. package/docs/spec/design-philosophy.md +189 -0
  424. package/docs/spec/design-primitives.md +196 -0
  425. package/docs/spec/kb-family.md +147 -115
  426. package/docs/spec/scrollbars.md +46 -0
  427. package/package.json +56 -8
  428. package/dist/retro-effects.css +0 -255
  429. package/dist/tokens/retro-effects.css +0 -255
  430. package/docs/research/2026-10-03-ai-kb-components.md +0 -392
  431. package/docs/research/2026-10-03-kb-permissions.md +0 -992
@@ -1,92 +1,94 @@
1
+ @layer icen.components {
1
2
  /*
2
3
  * @icen.ai/ui — Component: slider(单值 / 双滑块)
3
4
  * 规格源自 opengal primitives/input.tsx 的 Slider 与 advanced-input.tsx 的 DualRangeSlider;
4
5
  * 与 behaviors/slider.ts 配套(透明原生 range 覆盖层驱动 fill/thumb 定位)。
5
6
  *
6
7
  * 完整契约:
7
- * <div class="slider [--sm|--lg] [--vertical] [.is-disabled]" data-min=0 data-max=100 data-step=1>
8
- * <div class="slider-track"></div>
9
- * <div class="slider-fill" style="width:40%"></div> 单值:from 0
8
+ * <div class="icen-slider [--sm|--lg] [--vertical] [.is-disabled]" data-icen-min=0 data-icen-max=100 data-icen-step=1>
9
+ * <div class="icen-slider-track"></div>
10
+ * <div class="icen-slider-fill" style="width:40%"></div> 单值:from 0
10
11
  * OR
11
- * <div class="slider-range" style="left:20%; right:35%"></div> 双值:选中段
12
- * <div class="slider-thumb" style="left:calc(40% - 8px)"></div> 单 thumb
12
+ * <div class="icen-slider-range" style="left:20%; right:35%"></div> 双值:选中段
13
+ * <div class="icen-slider-thumb" style="left:calc(40% - 8px)"></div> 单 thumb
13
14
  * OR
14
- * <div class="slider-thumb slider-thumb--lo" …>
15
- * <div class="slider-thumb slider-thumb--hi" …> 双 thumb
16
- * <input class="slider-native" type="range" /> 单:1 个;双:2 个 [data-thumb=lo|hi]
15
+ * <div class="icen-slider-thumb slider-thumb--lo" …>
16
+ * <div class="icen-slider-thumb slider-thumb--hi" …> 双 thumb
17
+ * <input class="icen-slider-native" type="range" /> 单:1 个;双:2 个 [data-icen-thumb=lo|hi]
17
18
  * </div>
18
19
  *
19
20
  * 带标签行:
20
- * <div class="slider-row">
21
- * <span class="slider-label">音量</span>
22
- * <span class="slider-value">40</span> ← behavior 同步当前值,tabular-nums
21
+ * <div class="icen-slider-row">
22
+ * <span class="icen-slider-label">音量</span>
23
+ * <span class="icen-slider-value">40</span> ← behavior 同步当前值,tabular-nums
23
24
  * </div>
24
25
  *
25
26
  * behavior 维护:thumb 位置 % 化、aria-valuenow/min/max、键盘 ←/→ 步进、Shift 十步、双滑块互锁。
26
27
  */
27
28
 
28
- .slider {
29
+ .icen-slider {
29
30
  position: relative;
30
- height: 20px;
31
+ height: 24px;
31
32
  width: 100%;
32
- --slider-thumb-size: 16px;
33
- --slider-track-height: 6px;
34
- }
35
- .slider--sm {
36
- height: 16px;
37
- --slider-thumb-size: 12px;
33
+ --slider-thumb-size: 18px;
38
34
  --slider-track-height: 4px;
39
35
  }
40
- .slider--lg {
41
- height: 24px;
42
- --slider-thumb-size: 20px;
43
- --slider-track-height: 8px;
36
+ .icen-slider--sm {
37
+ height: 18px;
38
+ --slider-thumb-size: 14px;
39
+ --slider-track-height: 3px;
44
40
  }
45
- .slider.is-disabled,
46
- .slider[aria-disabled='true'],
47
- .slider[data-disabled] {
41
+ .icen-slider--lg {
42
+ height: 28px;
43
+ --slider-thumb-size: 22px;
44
+ --slider-track-height: 5px;
45
+ }
46
+ .icen-slider.is-disabled,
47
+ .icen-slider[aria-disabled='true'],
48
+ .icen-slider[data-icen-disabled] {
48
49
  opacity: var(--icen-disabled-opacity);
49
50
  cursor: not-allowed;
50
51
  }
51
52
 
52
53
  /* 垂直方向(orient=vertical),常见于音量/色相 */
53
- .slider--vertical {
54
+ .icen-slider--vertical {
54
55
  width: 20px;
55
56
  height: 100%;
56
57
  min-height: 120px;
57
58
  }
58
- .slider--vertical.slider--sm { width: 16px; }
59
- .slider--vertical.slider--lg { width: 24px; }
59
+ .icen-slider--vertical.icen-slider--sm { width: 16px; }
60
+ .icen-slider--vertical.icen-slider--lg { width: 24px; }
60
61
 
61
- .slider-track {
62
+ .icen-slider-track {
62
63
  position: absolute;
63
- left: 0; right: 0;
64
+ inset-inline: 0;
64
65
  top: 50%;
65
66
  transform: translateY(-50%);
66
67
  height: var(--slider-track-height);
67
- border-radius: var(--radius-full);
68
- background: color-mix(in srgb, var(--token-line-soft) 50%, transparent);
68
+ border-radius: var(--icen-radius-full);
69
+ background: var(--icen-token-fill-3);
70
+ box-shadow: inset 0 0 0 .5px color-mix(in srgb, var(--icen-token-text) 8%, transparent);
69
71
  }
70
- .slider--vertical .slider-track {
71
- left: 50%; right: auto;
72
+ .icen-slider--vertical .icen-slider-track {
73
+ left: 50%; right: auto; /* guard:allow-physical 垂直变体轨道水平居中(translateX(-50%) 配套) */
72
74
  top: 0; bottom: 0;
73
75
  transform: translateX(-50%);
74
76
  height: 100%;
75
77
  width: var(--slider-track-height);
76
78
  }
77
79
 
78
- .slider-fill {
80
+ .icen-slider-fill {
79
81
  position: absolute;
80
- left: 0;
82
+ left: 0; /* guard:allow-physical 填充段起点/宽度由 behavior 按物理坐标内联写入(同 popover 模式),RTL 视觉暂不镜像 */
81
83
  top: 50%;
82
84
  transform: translateY(-50%);
83
85
  height: var(--slider-track-height);
84
- border-radius: var(--radius-full);
85
- background: var(--token-accent);
86
+ border-radius: var(--icen-radius-full);
87
+ background: var(--icen-token-accent-strong);
86
88
  transition: width var(--icen-tx-normal);
87
89
  }
88
- .slider--vertical .slider-fill {
89
- left: 50%;
90
+ .icen-slider--vertical .icen-slider-fill {
91
+ left: 50%; /* guard:allow-physical 垂直变体水平居中(translateX(-50%) 配套) */
90
92
  top: auto; bottom: 0;
91
93
  transform: translateX(-50%);
92
94
  width: var(--slider-track-height);
@@ -94,20 +96,20 @@
94
96
  transition: height var(--icen-tx-normal);
95
97
  }
96
98
 
97
- /* 双滑块选中段:left = lo%、right = (100 - hi)% */
98
- .slider-range {
99
+ /* 双滑块选中段:left/right 由 behavior 按物理坐标内联写入(lo% / 100-hi%),RTL 视觉暂不镜像 */
100
+ .icen-slider-range {
99
101
  position: absolute;
100
102
  top: 50%;
101
103
  transform: translateY(-50%);
102
104
  height: var(--slider-track-height);
103
- border-radius: var(--radius-full);
104
- background: var(--token-accent);
105
+ border-radius: var(--icen-radius-full);
106
+ background: var(--icen-token-accent-strong);
105
107
  transition:
106
- left var(--icen-tx-normal),
107
- right var(--icen-tx-normal);
108
+ left var(--icen-tx-normal), /* guard:allow-physical 与 behavior 内联写入的物理 left 配套 */
109
+ right var(--icen-tx-normal); /* guard:allow-physical 与 behavior 内联写入的物理 right 配套 */
108
110
  }
109
- .slider--vertical .slider-range {
110
- left: 50%;
111
+ .icen-slider--vertical .icen-slider-range {
112
+ left: 50%; /* guard:allow-physical 垂直变体水平居中(translateX(-50%) 配套) */
111
113
  top: auto;
112
114
  transform: translateX(-50%);
113
115
  width: var(--slider-track-height);
@@ -117,40 +119,43 @@
117
119
  bottom var(--icen-tx-normal);
118
120
  }
119
121
 
120
- .slider-thumb {
122
+ .icen-slider-thumb {
121
123
  position: absolute;
122
124
  top: 50%;
123
125
  transform: translate(-50%, -50%);
124
126
  width: var(--slider-thumb-size);
125
127
  height: var(--slider-thumb-size);
126
- border-radius: var(--radius-full);
127
- background: var(--token-card);
128
- border: 2px solid var(--token-accent);
129
- box-shadow: var(--token-shadow-card);
128
+ border-radius: var(--icen-radius-full);
129
+ background: var(--icen-token-surface);
130
+ border: .5px solid color-mix(in srgb, var(--icen-token-text) 24%, transparent);
131
+ box-shadow:
132
+ 0 1px 2px color-mix(in srgb, var(--icen-design-shadow-color) 26%, transparent),
133
+ 0 3px 8px -3px color-mix(in srgb, var(--icen-design-shadow-color) 22%, transparent);
130
134
  pointer-events: none;
131
135
  transition:
132
136
  transform var(--icen-tx-fast),
133
137
  box-shadow var(--icen-tx-fast),
134
138
  border-color var(--icen-tx-fast);
135
139
  }
136
- .slider--vertical .slider-thumb {
140
+ .icen-slider--vertical .icen-slider-thumb {
137
141
  top: auto;
138
- left: 50%;
142
+ left: 50%; /* guard:allow-physical 垂直变体水平居中(translate(-50%) 配套) */
139
143
  transform: translate(-50%, 50%);
140
144
  }
141
- .slider:hover .slider-thumb {
142
- border-color: var(--token-accent-deep, var(--token-accent));
145
+ .icen-slider:hover .icen-slider-thumb {
146
+ border-color: color-mix(in srgb, var(--icen-token-text) 34%, transparent);
143
147
  }
144
148
  /* 原生 input 透明,焦点环镜像到可见 thumb 上(消费 --icen-ring-soft) */
145
- .slider:focus-within .slider-thumb {
146
- transform: translate(-50%, -50%) scale(1.15);
147
- box-shadow: var(--icen-ring-soft), var(--token-shadow-card);
149
+ .icen-slider:focus-within .icen-slider-thumb {
150
+ transform: translate(-50%, -50%) scale(1.08);
151
+ border-color: var(--icen-token-accent-strong);
152
+ box-shadow: var(--icen-ring-soft), 0 1px 2px color-mix(in srgb, var(--icen-design-shadow-color) 26%, transparent);
148
153
  }
149
- .slider--vertical:focus-within .slider-thumb {
150
- transform: translate(-50%, 50%) scale(1.15);
154
+ .icen-slider--vertical:focus-within .icen-slider-thumb {
155
+ transform: translate(-50%, 50%) scale(1.08);
151
156
  }
152
157
 
153
- .slider-native {
158
+ .icen-slider-native {
154
159
  position: absolute;
155
160
  inset: 0;
156
161
  width: 100%;
@@ -163,32 +168,32 @@
163
168
  appearance: none;
164
169
  background: transparent;
165
170
  }
166
- .slider-native:disabled { cursor: not-allowed; }
167
- .slider-native:focus { outline: none; }
171
+ .icen-slider-native:disabled { cursor: not-allowed; }
172
+ .icen-slider-native:focus { outline: none; }
168
173
 
169
174
  /* 双滑块需要两个 native input 叠加,--z 错开避免相互拦截 */
170
- .slider--dual .slider-native[data-thumb='hi'] { z-index: 2; }
175
+ .icen-slider--dual .icen-slider-native[data-icen-thumb='hi'] { z-index: 2; }
171
176
 
172
177
  /* 当前值标签 */
173
- .slider-value {
178
+ .icen-slider-value {
174
179
  font-variant-numeric: tabular-nums;
175
- color: var(--token-text);
180
+ color: var(--icen-token-text);
176
181
  }
177
182
 
178
- .slider-row {
183
+ .icen-slider-row {
179
184
  display: flex;
180
185
  align-items: center;
181
186
  justify-content: space-between;
182
- gap: var(--density-space-sm);
183
- font-size: var(--density-font-size-sm);
184
- color: var(--token-text-muted);
187
+ gap: var(--icen-density-space-sm);
188
+ font-size: var(--icen-density-font-size-sm);
189
+ color: var(--icen-token-text-muted);
185
190
  }
186
- .slider-label { color: var(--token-text-muted); }
191
+ .icen-slider-label { color: var(--icen-token-text-muted); }
187
192
 
188
193
  /* 刻度(behavior 可选渲染) */
189
- .slider-ticks {
194
+ .icen-slider-ticks {
190
195
  position: absolute;
191
- left: 0; right: 0;
196
+ inset-inline: 0;
192
197
  top: 50%;
193
198
  height: var(--slider-track-height);
194
199
  transform: translateY(-50%);
@@ -196,125 +201,127 @@
196
201
  justify-content: space-between;
197
202
  pointer-events: none;
198
203
  }
199
- .slider-tick {
204
+ .icen-slider-tick {
200
205
  width: 1px;
201
206
  height: 100%;
202
- background: color-mix(in srgb, var(--token-text) 12%, transparent);
207
+ background: color-mix(in srgb, var(--icen-token-text) 12%, transparent);
203
208
  }
204
209
 
205
210
  /* ── 带标签的刻度(marks)── */
206
- .slider-marks {
211
+ .icen-slider-marks {
207
212
  position: relative;
208
213
  height: 20px;
209
214
  margin-top: 2px;
210
- font-size: var(--density-font-size-xs);
211
- color: var(--token-text-faint);
215
+ font-size: var(--icen-density-font-size-xs);
216
+ color: var(--icen-token-text-faint);
212
217
  font-variant-numeric: tabular-nums;
213
218
  }
214
- .slider-mark {
219
+ .icen-slider-mark {
215
220
  position: absolute;
216
221
  transform: translateX(-50%);
217
222
  white-space: nowrap;
218
223
  cursor: pointer;
219
224
  transition: color var(--icen-tx-fast);
220
225
  }
221
- .slider-mark:hover {
222
- color: var(--token-accent);
226
+ .icen-slider-mark:hover {
227
+ color: var(--icen-token-accent);
223
228
  }
224
- .slider-mark.is-active {
225
- color: var(--token-accent);
229
+ .icen-slider-mark.is-active {
230
+ color: var(--icen-token-accent);
226
231
  font-weight: 500;
227
232
  }
228
- /* 刻度上的大点(配合 marks 使用) */
229
- .slider-mark::before {
233
+ /* 刻度上的大点(配合 marks 使用;left 由 behavior 按物理坐标内联写入) */
234
+ .icen-slider-mark::before {
230
235
  content: '';
231
236
  position: absolute;
232
- left: 50%;
237
+ left: 50%; /* guard:allow-physical 刻度点水平居中于 mark 标签(translateX(-50%) 配套) */
233
238
  top: -8px;
234
239
  width: 3px;
235
240
  height: 3px;
236
- border-radius: var(--radius-full);
237
- background: var(--token-text-faint);
241
+ border-radius: var(--icen-radius-full);
242
+ background: var(--icen-token-text-faint);
238
243
  transform: translateX(-50%);
239
244
  transition: background-color var(--icen-tx-fast);
240
245
  }
241
- .slider-mark:hover::before,
242
- .slider-mark.is-active::before {
243
- background: var(--token-accent);
246
+ .icen-slider-mark:hover::before,
247
+ .icen-slider-mark.is-active::before {
248
+ background: var(--icen-token-accent);
244
249
  }
245
250
 
246
251
  /* ── 值提示气泡(拖拽时出现)── */
247
- .slider-tooltip {
252
+ .icen-slider-tooltip {
248
253
  position: absolute;
249
254
  bottom: calc(50% + var(--slider-thumb-size));
250
255
  transform: translateX(-50%);
251
- padding: 2px var(--density-space-xs);
252
- background: var(--token-text);
253
- color: var(--token-card-strong);
254
- font-size: var(--density-font-size-xs);
256
+ padding: 2px var(--icen-density-space-xs);
257
+ background: var(--icen-token-text);
258
+ color: var(--icen-token-card-strong);
259
+ font-size: var(--icen-density-font-size-xs);
255
260
  font-variant-numeric: tabular-nums;
256
- border-radius: var(--radius-xs);
261
+ border-radius: var(--icen-radius-xs);
257
262
  white-space: nowrap;
258
263
  pointer-events: none;
259
264
  opacity: 0;
260
265
  transition: opacity var(--icen-tx-fast);
261
266
  z-index: 3;
262
267
  }
263
- .slider-tooltip::after {
268
+ .icen-slider-tooltip::after {
264
269
  content: '';
265
270
  position: absolute;
266
271
  top: 100%;
267
- left: 50%;
272
+ left: 50%; /* guard:allow-physical 气泡尾巴水平居中(translateX(-50%) 配套) */
268
273
  transform: translateX(-50%);
269
274
  border: 4px solid transparent;
270
- border-top-color: var(--token-text);
275
+ border-top-color: var(--icen-token-text);
271
276
  }
272
- .slider:active .slider-tooltip,
273
- .slider:focus-within .slider-tooltip {
277
+ .icen-slider:active .icen-slider-tooltip,
278
+ .icen-slider:focus-within .icen-slider-tooltip {
274
279
  opacity: 1;
275
280
  }
276
- .slider--vertical .slider-tooltip {
281
+ .icen-slider--vertical .icen-slider-tooltip {
277
282
  bottom: auto;
278
- left: calc(50% + var(--slider-thumb-size));
283
+ left: calc(50% + var(--slider-thumb-size)); /* guard:allow-physical 垂直变体:气泡位于轨道右侧(物理几何) */
279
284
  top: 50%;
280
285
  transform: translate(0, -50%);
281
286
  }
282
- .slider--vertical .slider-tooltip::after {
287
+ .icen-slider--vertical .icen-slider-tooltip::after {
283
288
  top: 50%;
284
- left: auto;
285
- right: 100%;
289
+ left: auto; /* guard:allow-physical 垂直变体尾巴贴气泡物理左侧 */
290
+ right: 100%; /* guard:allow-physical 垂直变体尾巴指向左侧(物理几何) */
286
291
  transform: translateY(-50%);
287
292
  border-top-color: transparent;
288
- border-right-color: var(--token-text);
293
+ border-right-color: var(--icen-token-text); /* guard:allow-physical 垂直变体左指箭头(物理几何) */
289
294
  }
290
295
 
291
- /* ── 滑块拖拽态(active 时放大) ── */
292
- .slider:active .slider-thumb {
293
- transform: translate(-50%, -50%) scale(1.25);
296
+ /* ── 滑块拖拽态(active 时轻微放大) ── */
297
+ .icen-slider:active .icen-slider-thumb {
298
+ transform: translate(-50%, -50%) scale(1.12);
294
299
  }
295
- .slider--vertical:active .slider-thumb {
296
- transform: translate(-50%, 50%) scale(1.25);
300
+ .icen-slider--vertical:active .icen-slider-thumb {
301
+ transform: translate(-50%, 50%) scale(1.12);
297
302
  }
298
303
 
299
304
  /* ── 填充段带渐变(高级视觉) ── */
300
- .slider-fill--gradient,
301
- .slider-range--gradient {
305
+ .icen-slider-fill--gradient,
306
+ .icen-slider-range--gradient {
302
307
  background: linear-gradient(90deg,
303
- color-mix(in srgb, var(--token-accent) 60%, transparent),
304
- var(--token-accent));
308
+ color-mix(in srgb, var(--icen-token-accent) 60%, transparent),
309
+ var(--icen-token-accent));
305
310
  }
306
311
 
307
312
  /* ── 禁用态填充色变灰 ── */
308
- .slider.is-disabled .slider-fill,
309
- .slider.is-disabled .slider-range {
310
- background: var(--token-fill-2);
313
+ .icen-slider.is-disabled .icen-slider-fill,
314
+ .icen-slider.is-disabled .icen-slider-range {
315
+ background: var(--icen-token-fill-2);
311
316
  }
312
- .slider.is-disabled .slider-thumb {
313
- border-color: var(--token-text-faint);
317
+ .icen-slider.is-disabled .icen-slider-thumb {
318
+ border-color: var(--icen-token-text-faint);
314
319
  }
315
320
 
316
321
  @media (prefers-reduced-motion: reduce) {
317
- .slider-fill, .slider-range, .slider-thumb { transition: none; }
318
- .slider-tooltip { transition: none; }
319
- .slider-mark, .slider-mark::before { transition: none; }
322
+ .icen-slider-fill, .icen-slider-range, .icen-slider-thumb { transition: none; }
323
+ .icen-slider-tooltip { transition: none; }
324
+ .icen-slider-mark, .icen-slider-mark::before { transition: none; }
325
+ }
326
+
320
327
  }
@@ -0,0 +1,2 @@
1
+ // kit: slider 类型面(构建产物,勿手改)
2
+ export * from '../behaviors/slider.mjs';
@@ -0,0 +1,2 @@
1
+ // kit: spinner 类型面(构建产物,勿手改)
2
+ export {};