@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,5 +1,5 @@
1
1
  /**
2
- * 为 root 下每个 .sidebar 初始化(root 自身是 .sidebar 也算)。
2
+ * 为 root 下每个 .icen-sidebar 初始化(root 自身是 .icen-sidebar 也算)。
3
3
  * 返回销毁函数:移除本次挂上的容器监听并复位幂等标记(销毁后可重新 init)。SSR 下返回 no-op。
4
4
  */
5
5
  declare function initSidebar(root?: ParentNode): () => void;
@@ -10,33 +10,33 @@ function setup(sidebar) {
10
10
  const el = sidebar;
11
11
  if (el.__icenSidebarInit) return void 0;
12
12
  el.__icenSidebarInit = true;
13
- sidebar.querySelectorAll(".sidebar-group-title").forEach((title) => {
14
- const group = title.closest(".sidebar-group");
15
- const panel = group?.querySelector(".sidebar-group-panel");
13
+ sidebar.querySelectorAll(".icen-sidebar-group-title").forEach((title) => {
14
+ const group = title.closest(".icen-sidebar-group");
15
+ const panel = group?.querySelector(".icen-sidebar-group-panel");
16
16
  if (panel && !title.hasAttribute("aria-controls")) {
17
17
  if (!panel.id) panel.id = `sb-panel-${Math.random().toString(36).slice(2, 9)}`;
18
18
  title.setAttribute("aria-controls", panel.id);
19
19
  }
20
20
  });
21
- sidebar.querySelectorAll("[data-sidebar-collapse]").forEach((btn) => {
21
+ sidebar.querySelectorAll("[data-icen-sidebar-collapse]").forEach((btn) => {
22
22
  if (!btn.hasAttribute("aria-expanded")) {
23
- btn.setAttribute("aria-expanded", String(!sidebar.classList.contains("sidebar--collapsed")));
23
+ btn.setAttribute("aria-expanded", String(!sidebar.classList.contains("icen-sidebar--collapsed")));
24
24
  }
25
25
  });
26
26
  const onClick = (ev) => {
27
27
  const target = ev.target;
28
28
  if (!(target instanceof Element)) return;
29
- const collapseBtn = target.closest("[data-sidebar-collapse]");
30
- if (collapseBtn && collapseBtn.closest(".sidebar") === el) {
31
- const collapsed = el.classList.toggle("sidebar--collapsed");
29
+ const collapseBtn = target.closest("[data-icen-sidebar-collapse]");
30
+ if (collapseBtn && collapseBtn.closest(".icen-sidebar") === el) {
31
+ const collapsed = el.classList.toggle("icen-sidebar--collapsed");
32
32
  collapseBtn.setAttribute("aria-expanded", String(!collapsed));
33
33
  emitIcen(el, "icen:sidebar-collapse", { collapsed });
34
34
  return;
35
35
  }
36
- const title = target.closest(".sidebar-group-title");
36
+ const title = target.closest(".icen-sidebar-group-title");
37
37
  if (!(title instanceof HTMLElement)) return;
38
- if (title.closest(".sidebar") !== el) return;
39
- const group = title.closest(".sidebar-group");
38
+ if (title.closest(".icen-sidebar") !== el) return;
39
+ const group = title.closest(".icen-sidebar-group");
40
40
  if (!group) return;
41
41
  const open = group.classList.toggle("is-open");
42
42
  title.setAttribute("aria-expanded", String(open));
@@ -53,8 +53,8 @@ function initSidebar(root) {
53
53
  if (typeof document !== "undefined") {
54
54
  const scope = root ?? document;
55
55
  const sidebars = [];
56
- if (scope instanceof Element && scope.matches(".sidebar")) sidebars.push(scope);
57
- sidebars.push(...Array.from(scope.querySelectorAll(".sidebar")));
56
+ if (scope instanceof Element && scope.matches(".icen-sidebar")) sidebars.push(scope);
57
+ sidebars.push(...Array.from(scope.querySelectorAll(".icen-sidebar")));
58
58
  for (const s of sidebars) {
59
59
  const cleanup = setup(s);
60
60
  if (cleanup) cleanups.push(cleanup);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 为 root 下每个 .slider 容器初始化(root 自身是 .slider 也算)。
2
+ * 为 root 下每个 .icen-slider 容器初始化(root 自身是 .icen-slider 也算)。
3
3
  * 返回销毁函数:移除本次挂上的全部监听并复位幂等标记(销毁后可重新 init)。SSR 下返回 no-op。
4
4
  */
5
5
  declare function initSlider(root?: ParentNode): () => void;
@@ -18,12 +18,12 @@ function pct(input) {
18
18
  return (Number(input.value) - min) / range * 100;
19
19
  }
20
20
  function setupSingle(slider, native, bag) {
21
- const fill = slider.querySelector(".slider-fill");
22
- const thumb = slider.querySelector(".slider-thumb");
21
+ const fill = slider.querySelector(".icen-slider-fill");
22
+ const thumb = slider.querySelector(".icen-slider-thumb");
23
23
  const sync = () => {
24
24
  const p = pct(native);
25
25
  if (fill) fill.style.width = `${p}%`;
26
- if (thumb) thumb.style.left = `calc(${p}% - 8px)`;
26
+ if (thumb) thumb.style.left = `${p}%`;
27
27
  };
28
28
  bind(native, "input", () => {
29
29
  sync();
@@ -35,10 +35,10 @@ function setupSingle(slider, native, bag) {
35
35
  sync();
36
36
  }
37
37
  function setupDual(slider, natives, bag) {
38
- const lo = natives.find((n) => n.getAttribute("data-thumb") === "lo") ?? natives[0];
39
- const hi = natives.find((n) => n.getAttribute("data-thumb") === "hi") ?? natives[1];
38
+ const lo = natives.find((n) => n.getAttribute("data-icen-thumb") === "lo") ?? natives[0];
39
+ const hi = natives.find((n) => n.getAttribute("data-icen-thumb") === "hi") ?? natives[1];
40
40
  if (!lo || !hi || lo === hi) return;
41
- const range = slider.querySelector(".slider-range");
41
+ const range = slider.querySelector(".icen-slider-range");
42
42
  const thumbLo = slider.querySelector(".slider-thumb--lo");
43
43
  const thumbHi = slider.querySelector(".slider-thumb--hi");
44
44
  const sync = (changed) => {
@@ -59,8 +59,8 @@ function setupDual(slider, natives, bag) {
59
59
  range.style.left = `${pLo}%`;
60
60
  range.style.right = `${100 - pHi}%`;
61
61
  }
62
- if (thumbLo) thumbLo.style.left = `calc(${pLo}% - 8px)`;
63
- if (thumbHi) thumbHi.style.left = `calc(${pHi}% - 8px)`;
62
+ if (thumbLo) thumbLo.style.left = `${pLo}%`;
63
+ if (thumbHi) thumbHi.style.left = `${pHi}%`;
64
64
  lo.style.clipPath = `inset(0 ${100 - pLo}% 0 0)`;
65
65
  hi.style.clipPath = `inset(0 0 0 ${pHi}%)`;
66
66
  };
@@ -82,11 +82,11 @@ function setupDual(slider, natives, bag) {
82
82
  function setup(slider) {
83
83
  const el = slider;
84
84
  if (el.__icenSliderInit) return void 0;
85
- const natives = Array.from(slider.querySelectorAll(".slider-native"));
85
+ const natives = Array.from(slider.querySelectorAll(".icen-slider-native"));
86
86
  if (natives.length === 0) return void 0;
87
87
  el.__icenSliderInit = true;
88
88
  const bag = [];
89
- if (slider.classList.contains("slider--dual")) setupDual(slider, natives, bag);
89
+ if (slider.classList.contains("icen-slider--dual")) setupDual(slider, natives, bag);
90
90
  else setupSingle(slider, natives[0], bag);
91
91
  return () => {
92
92
  for (const off of bag) off();
@@ -99,8 +99,8 @@ function initSlider(root) {
99
99
  if (typeof document !== "undefined") {
100
100
  const scope = root ?? document;
101
101
  const containers = [];
102
- if (scope instanceof Element && scope.matches(".slider")) containers.push(scope);
103
- containers.push(...Array.from(scope.querySelectorAll(".slider")));
102
+ if (scope instanceof Element && scope.matches(".icen-slider")) containers.push(scope);
103
+ containers.push(...Array.from(scope.querySelectorAll(".icen-slider")));
104
104
  for (const c of containers) {
105
105
  const cleanup = setup(c);
106
106
  if (cleanup) cleanups.push(cleanup);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 为 root 下每个 .split-pane[data-split-pane] 初始化(root 自身匹配也算)。
2
+ * 为 root 下每个 .icen-split-pane[data-icen-split-pane] 初始化(root 自身匹配也算)。
3
3
  * 返回销毁函数:移除本次初始化挂上的全部监听并复位幂等标记(销毁后可重新 init)。
4
4
  * SSR 下返回 no-op。
5
5
  */
@@ -17,13 +17,13 @@ function pct(value, min, max) {
17
17
  function setup(container) {
18
18
  const el = container;
19
19
  if (el.__icenSplitPaneInit) return void 0;
20
- const divider = el.querySelector(".split-pane-divider");
20
+ const divider = el.querySelector(".icen-split-pane-divider");
21
21
  if (!divider) return void 0;
22
22
  el.__icenSplitPaneInit = true;
23
- const min = numOr(el.dataset.splitMin, 10);
24
- const max = numOr(el.dataset.splitMax, 90);
25
- const step = numOr(el.dataset.splitStep, 2);
26
- const vertical = el.classList.contains("split-pane--vertical");
23
+ const min = numOr(el.dataset.icenSplitMin, 10);
24
+ const max = numOr(el.dataset.icenSplitMax, 90);
25
+ const step = numOr(el.dataset.icenSplitStep, 2);
26
+ const vertical = el.classList.contains("icen-split-pane--vertical");
27
27
  const orientation = vertical ? "vertical" : "horizontal";
28
28
  divider.setAttribute("role", "separator");
29
29
  divider.setAttribute("aria-orientation", orientation === "vertical" ? "horizontal" : "vertical");
@@ -48,6 +48,8 @@ function setup(container) {
48
48
  divider.setAttribute("aria-valuenow", String(Math.round(readCurrent())));
49
49
  let dragging = false;
50
50
  const onDown = (ev) => {
51
+ if (ev.pointerType === "mouse" && ev.button !== 0) return;
52
+ if (!ev.isPrimary) return;
51
53
  dragging = true;
52
54
  divider.classList.add("is-dragging");
53
55
  divider.setPointerCapture(ev.pointerId);
@@ -126,8 +128,8 @@ function initSplitPane(root) {
126
128
  if (typeof document !== "undefined") {
127
129
  const scope = root ?? document;
128
130
  const panes = [];
129
- if (scope instanceof Element && scope.matches(".split-pane[data-split-pane]")) panes.push(scope);
130
- panes.push(...Array.from(scope.querySelectorAll(".split-pane[data-split-pane]")));
131
+ if (scope instanceof Element && scope.matches(".icen-split-pane[data-icen-split-pane]")) panes.push(scope);
132
+ panes.push(...Array.from(scope.querySelectorAll(".icen-split-pane[data-icen-split-pane]")));
131
133
  for (const p of panes) {
132
134
  const cleanup = setup(p);
133
135
  if (cleanup) cleanups.push(cleanup);
@@ -0,0 +1,27 @@
1
+ interface SuggestionSourceContext {
2
+ signal: AbortSignal;
3
+ }
4
+ declare function afterSuggestionField(input: HTMLElement, panel: HTMLElement): HTMLElement;
5
+ declare function canQuery(input: HTMLInputElement | HTMLTextAreaElement): boolean;
6
+ /** Follow inherited disabled/hidden state as well as local sizing and direction. */
7
+ declare function watchSuggestionField(input: HTMLElement, changed: () => void): () => void;
8
+ declare function createSuggestionQuery<T>(source: (query: string, context: SuggestionSourceContext) => T | Promise<T>, hooks: {
9
+ pending(): void;
10
+ success(value: T): void;
11
+ error(error: unknown): void;
12
+ }): {
13
+ cancel: () => void;
14
+ run(query: string, delay?: number): void;
15
+ destroy(): void;
16
+ };
17
+ /** Status and retry live beside the listbox, never among its option children. */
18
+ declare function createSuggestionStatus(retry: () => void, labels?: {
19
+ loading?: string;
20
+ error?: string;
21
+ retry?: string;
22
+ }): {
23
+ el: HTMLElement;
24
+ show(_state: "loading" | "error" | null): void;
25
+ };
26
+
27
+ export { type SuggestionSourceContext, afterSuggestionField, canQuery, createSuggestionQuery, createSuggestionStatus, watchSuggestionField };