@icen.ai/ui 0.9.0 → 0.10.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 (281) hide show
  1. package/AGENTS.md +138 -80
  2. package/README.md +66 -91
  3. package/dist/base.css +208 -179
  4. package/dist/behaviors/accordion.mjs +8 -8
  5. package/dist/behaviors/ai-branch.d.mts +1 -1
  6. package/dist/behaviors/ai-branch.mjs +1010 -94
  7. package/dist/behaviors/ai-chat.d.mts +7 -7
  8. package/dist/behaviors/ai-chat.mjs +1071 -161
  9. package/dist/behaviors/ai-composer.d.mts +44 -12
  10. package/dist/behaviors/ai-composer.mjs +1997 -524
  11. package/dist/behaviors/ai-core.d.mts +1 -1
  12. package/dist/behaviors/ai-core.mjs +1016 -107
  13. package/dist/behaviors/ai-diff.mjs +1019 -127
  14. package/dist/behaviors/ai-feedback.d.mts +1 -1
  15. package/dist/behaviors/ai-feedback.mjs +1035 -126
  16. package/dist/behaviors/ai-panel.d.mts +8 -8
  17. package/dist/behaviors/ai-panel.mjs +1284 -266
  18. package/dist/behaviors/ai-provider.mjs +1003 -101
  19. package/dist/behaviors/ai-threads.d.mts +1 -1
  20. package/dist/behaviors/ai-threads.mjs +1068 -154
  21. package/dist/behaviors/ai-tool.d.mts +2 -2
  22. package/dist/behaviors/ai-tool.mjs +2037 -396
  23. package/dist/behaviors/ai-tools.d.mts +89 -16
  24. package/dist/behaviors/ai-tools.mjs +4448 -372
  25. package/dist/behaviors/autocomplete.d.mts +53 -0
  26. package/dist/behaviors/autocomplete.mjs +1600 -0
  27. package/dist/behaviors/back-top.d.mts +1 -1
  28. package/dist/behaviors/back-top.mjs +951 -14
  29. package/dist/behaviors/carousel.d.mts +1 -1
  30. package/dist/behaviors/carousel.mjs +906 -11
  31. package/dist/behaviors/cascader.d.mts +48 -0
  32. package/dist/behaviors/cascader.mjs +1853 -0
  33. package/dist/behaviors/charts.d.mts +72 -8
  34. package/dist/behaviors/charts.mjs +1901 -256
  35. package/dist/behaviors/code-block.d.mts +36 -0
  36. package/dist/behaviors/code-block.mjs +1611 -0
  37. package/dist/behaviors/command-palette.d.mts +9 -6
  38. package/dist/behaviors/command-palette.mjs +161 -59
  39. package/dist/behaviors/context-menu.d.mts +9 -8
  40. package/dist/behaviors/context-menu.mjs +1112 -44
  41. package/dist/behaviors/controls.d.mts +13 -13
  42. package/dist/behaviors/controls.mjs +989 -130
  43. package/dist/behaviors/copy.d.mts +21 -2
  44. package/dist/behaviors/copy.mjs +1206 -42
  45. package/dist/behaviors/datatable.d.mts +53 -3
  46. package/dist/behaviors/datatable.mjs +1963 -207
  47. package/dist/behaviors/date-picker.d.mts +0 -1
  48. package/dist/behaviors/date-picker.mjs +1340 -293
  49. package/dist/behaviors/design.d.mts +54 -0
  50. package/dist/behaviors/design.mjs +109 -0
  51. package/dist/behaviors/dropdown.d.mts +5 -6
  52. package/dist/behaviors/dropdown.mjs +262 -110
  53. package/dist/behaviors/events.d.mts +120 -3
  54. package/dist/behaviors/events.mjs +47 -2
  55. package/dist/behaviors/feedback.d.mts +30 -0
  56. package/dist/behaviors/feedback.mjs +296 -0
  57. package/dist/behaviors/focus.d.mts +8 -0
  58. package/dist/behaviors/focus.mjs +24 -0
  59. package/dist/behaviors/form-validate.d.mts +102 -0
  60. package/dist/behaviors/form-validate.mjs +6091 -0
  61. package/dist/behaviors/i18n.d.mts +789 -0
  62. package/dist/behaviors/i18n.mjs +1711 -0
  63. package/dist/behaviors/icons.d.mts +93 -0
  64. package/dist/behaviors/icons.mjs +113 -0
  65. package/dist/behaviors/input.d.mts +9 -1
  66. package/dist/behaviors/input.mjs +1056 -60
  67. package/dist/behaviors/kb-access.d.mts +1 -1
  68. package/dist/behaviors/kb-access.mjs +2129 -239
  69. package/dist/behaviors/kb-acl.d.mts +6 -6
  70. package/dist/behaviors/kb-acl.mjs +1119 -179
  71. package/dist/behaviors/kb-answer.mjs +2070 -418
  72. package/dist/behaviors/kb-audit.d.mts +1 -1
  73. package/dist/behaviors/kb-audit.mjs +1076 -154
  74. package/dist/behaviors/kb-canvas.mjs +1100 -177
  75. package/dist/behaviors/kb-chain.mjs +1022 -100
  76. package/dist/behaviors/kb-checkpoint.d.mts +1 -1
  77. package/dist/behaviors/kb-checkpoint.mjs +1319 -169
  78. package/dist/behaviors/kb-chunks.mjs +1152 -213
  79. package/dist/behaviors/kb-citation.d.mts +1 -1
  80. package/dist/behaviors/kb-citation.mjs +1201 -179
  81. package/dist/behaviors/kb-clarify.mjs +1058 -130
  82. package/dist/behaviors/kb-conflict.mjs +1041 -119
  83. package/dist/behaviors/kb-connector.mjs +1104 -176
  84. package/dist/behaviors/kb-core.d.mts +6 -1
  85. package/dist/behaviors/kb-core.mjs +1077 -162
  86. package/dist/behaviors/kb-eval.mjs +1971 -144
  87. package/dist/behaviors/kb-explain.d.mts +1 -1
  88. package/dist/behaviors/kb-explain.mjs +1024 -102
  89. package/dist/behaviors/kb-filter.mjs +2008 -178
  90. package/dist/behaviors/kb-gap.d.mts +1 -1
  91. package/dist/behaviors/kb-gap.mjs +1043 -121
  92. package/dist/behaviors/kb-hittest.d.mts +1 -1
  93. package/dist/behaviors/kb-hittest.mjs +1093 -150
  94. package/dist/behaviors/kb-metadata.mjs +1052 -130
  95. package/dist/behaviors/kb-passage.d.mts +2 -2
  96. package/dist/behaviors/kb-passage.mjs +1101 -161
  97. package/dist/behaviors/kb-pipeline.d.mts +2 -2
  98. package/dist/behaviors/kb-pipeline.mjs +1082 -162
  99. package/dist/behaviors/kb-qa.mjs +1088 -160
  100. package/dist/behaviors/kb-rerank.mjs +1047 -114
  101. package/dist/behaviors/kb-retrieval.mjs +2063 -224
  102. package/dist/behaviors/kb-review.mjs +1990 -159
  103. package/dist/behaviors/kb-sandbox.d.mts +1 -1
  104. package/dist/behaviors/kb-sandbox.mjs +1026 -104
  105. package/dist/behaviors/kb-segment.mjs +1111 -179
  106. package/dist/behaviors/kb-select.d.mts +24 -0
  107. package/dist/behaviors/kb-select.mjs +1989 -0
  108. package/dist/behaviors/kb-sources.d.mts +1 -1
  109. package/dist/behaviors/kb-sources.mjs +1084 -170
  110. package/dist/behaviors/kb-sql.d.mts +1 -1
  111. package/dist/behaviors/kb-sql.mjs +1143 -226
  112. package/dist/behaviors/kb-trace.d.mts +1 -1
  113. package/dist/behaviors/kb-trace.mjs +1042 -128
  114. package/dist/behaviors/kb-visibility.mjs +1086 -158
  115. package/dist/behaviors/kb-who-can.mjs +1974 -137
  116. package/dist/behaviors/mentions.d.mts +93 -0
  117. package/dist/behaviors/mentions.mjs +2152 -0
  118. package/dist/behaviors/modal.d.mts +4 -3
  119. package/dist/behaviors/modal.mjs +1055 -33
  120. package/dist/behaviors/nav.d.mts +1 -1
  121. package/dist/behaviors/nav.mjs +6 -6
  122. package/dist/behaviors/notification.d.mts +16 -8
  123. package/dist/behaviors/notification.mjs +1615 -265
  124. package/dist/behaviors/panel.d.mts +4 -0
  125. package/dist/behaviors/panel.mjs +994 -0
  126. package/dist/behaviors/popover.d.mts +28 -5
  127. package/dist/behaviors/popover.mjs +225 -24
  128. package/dist/behaviors/select.d.mts +5 -2
  129. package/dist/behaviors/select.mjs +1410 -117
  130. package/dist/behaviors/sidebar.d.mts +1 -1
  131. package/dist/behaviors/sidebar.mjs +13 -13
  132. package/dist/behaviors/slider.d.mts +1 -1
  133. package/dist/behaviors/slider.mjs +9 -9
  134. package/dist/behaviors/split-pane.d.mts +1 -1
  135. package/dist/behaviors/split-pane.mjs +7 -7
  136. package/dist/behaviors/suggestions.d.mts +27 -0
  137. package/dist/behaviors/suggestions.mjs +1089 -0
  138. package/dist/behaviors/svg-parse.d.mts +14 -0
  139. package/dist/behaviors/svg-parse.mjs +37 -0
  140. package/dist/behaviors/tabs.d.mts +2 -2
  141. package/dist/behaviors/tabs.mjs +25 -25
  142. package/dist/behaviors/tag-input.d.mts +23 -5
  143. package/dist/behaviors/tag-input.mjs +1359 -104
  144. package/dist/behaviors/theme-switcher.d.mts +24 -0
  145. package/dist/behaviors/theme-switcher.mjs +1981 -0
  146. package/dist/behaviors/theme.d.mts +15 -8
  147. package/dist/behaviors/theme.mjs +390 -28
  148. package/dist/behaviors/toast.d.mts +24 -25
  149. package/dist/behaviors/toast.mjs +1266 -88
  150. package/dist/behaviors/tooltip.d.mts +4 -0
  151. package/dist/behaviors/tooltip.mjs +378 -0
  152. package/dist/behaviors/tree-select.d.mts +69 -0
  153. package/dist/behaviors/tree-select.mjs +1907 -0
  154. package/dist/behaviors/tree.d.mts +1 -1
  155. package/dist/behaviors/tree.mjs +15 -15
  156. package/dist/behaviors/upload.d.mts +3 -2
  157. package/dist/behaviors/upload.mjs +1076 -66
  158. package/dist/cli.mjs +5 -6
  159. package/dist/components/ai-chat.css +666 -573
  160. package/dist/components/ai-diff.css +153 -132
  161. package/dist/components/ai-panel.css +351 -343
  162. package/dist/components/ai-tool.css +393 -238
  163. package/dist/components/autocomplete.css +61 -0
  164. package/dist/components/autocomplete.mjs +3 -0
  165. package/dist/components/back-top.css +34 -31
  166. package/dist/components/badge.css +44 -41
  167. package/dist/components/breadcrumb.css +67 -46
  168. package/dist/components/btn.css +80 -74
  169. package/dist/components/card.css +117 -106
  170. package/dist/components/cascader.css +311 -0
  171. package/dist/components/cascader.mjs +3 -0
  172. package/dist/components/chart-area.css +8 -2
  173. package/dist/components/chart-bar.css +95 -33
  174. package/dist/components/chart-gauge.css +14 -11
  175. package/dist/components/chart-graph.css +20 -17
  176. package/dist/components/chart-heatmap.css +96 -90
  177. package/dist/components/chart-line.css +8 -3
  178. package/dist/components/chart-pie.css +9 -6
  179. package/dist/components/chart-radar.css +8 -5
  180. package/dist/components/chart-scatter.css +9 -6
  181. package/dist/components/chart-sparkline.css +5 -2
  182. package/dist/components/chart-stack.css +14 -11
  183. package/dist/components/charts.css +164 -73
  184. package/dist/components/code-block.css +418 -0
  185. package/dist/components/code-block.mjs +4 -0
  186. package/dist/components/command-palette.css +138 -117
  187. package/dist/components/content.css +257 -251
  188. package/dist/components/copy.css +72 -44
  189. package/dist/components/datatable.css +423 -181
  190. package/dist/components/date-picker.css +135 -104
  191. package/dist/components/empty.css +68 -65
  192. package/dist/components/feedback.css +201 -183
  193. package/dist/components/form-validate.css +120 -0
  194. package/dist/components/form-validate.mjs +3 -0
  195. package/dist/components/form.css +150 -127
  196. package/dist/components/icon.css +102 -0
  197. package/dist/components/icon.mjs +3 -0
  198. package/dist/components/input.css +159 -104
  199. package/dist/components/kb-agent.css +188 -173
  200. package/dist/components/kb-data.css +257 -253
  201. package/dist/components/kb-ground.css +197 -185
  202. package/dist/components/kb-ingest.css +334 -350
  203. package/dist/components/kb-ops.css +265 -259
  204. package/dist/components/kb-perm.css +260 -271
  205. package/dist/components/kb-search.css +317 -360
  206. package/dist/components/kb.css +120 -109
  207. package/dist/components/layout.css +85 -82
  208. package/dist/components/material-chinese.css +73 -0
  209. package/dist/components/material-soviet.css +76 -0
  210. package/dist/components/material.css +275 -0
  211. package/dist/components/media.css +220 -166
  212. package/dist/components/mentions.css +189 -0
  213. package/dist/components/mentions.mjs +3 -0
  214. package/dist/components/menu.css +113 -105
  215. package/dist/components/modal.css +107 -112
  216. package/dist/components/nav.css +118 -115
  217. package/dist/components/notification.css +238 -174
  218. package/dist/components/pagination.css +56 -53
  219. package/dist/components/panel.css +66 -63
  220. package/dist/components/panel.mjs +1 -0
  221. package/dist/components/pill.css +81 -71
  222. package/dist/components/popover.css +67 -53
  223. package/dist/components/scroll-area.css +113 -110
  224. package/dist/components/segmented.css +146 -143
  225. package/dist/components/select.css +206 -186
  226. package/dist/components/sidebar.css +137 -127
  227. package/dist/components/slider.css +117 -114
  228. package/dist/components/split-pane.css +112 -109
  229. package/dist/components/stat.css +112 -106
  230. package/dist/components/steps.css +109 -103
  231. package/dist/components/switch.css +138 -134
  232. package/dist/components/table.css +131 -107
  233. package/dist/components/tabs.css +114 -108
  234. package/dist/components/tag-input.css +48 -133
  235. package/dist/components/tag.css +81 -71
  236. package/dist/components/theme-switcher.css +105 -0
  237. package/dist/components/theme-switcher.mjs +3 -0
  238. package/dist/components/toast.css +100 -86
  239. package/dist/components/toolbar.css +45 -42
  240. package/dist/components/tooltip.css +102 -43
  241. package/dist/components/tooltip.mjs +1 -0
  242. package/dist/components/tree-select.css +416 -0
  243. package/dist/components/tree-select.mjs +3 -0
  244. package/dist/components/upload.css +135 -92
  245. package/dist/fonts/LICENSES/ark-pixel/OFL.txt +96 -0
  246. package/dist/fonts/LICENSES/cubic-11/OFL.txt +108 -0
  247. package/dist/fonts/LICENSES/galmuri/LICENSE.txt +93 -0
  248. package/dist/fonts/OFL.txt +96 -0
  249. package/dist/fonts/README.md +14 -0
  250. package/dist/fonts/fusion-pixel-12px-zh-hans.woff2 +0 -0
  251. package/dist/index.d.mts +28 -14
  252. package/dist/index.mjs +20705 -9601
  253. package/dist/react.d.mts +91 -0
  254. package/dist/react.mjs +8208 -0
  255. package/dist/registry.json +130 -13
  256. package/dist/tokens/chinese.css +44 -0
  257. package/dist/tokens/colors.css +365 -1222
  258. package/dist/tokens/design.css +109 -0
  259. package/dist/tokens/dtcg.json +11198 -0
  260. package/dist/tokens/figma.variables.json +7017 -0
  261. package/dist/tokens/icon-masks.css +78 -0
  262. package/dist/tokens/pixel.css +50 -0
  263. package/dist/tokens/soviet.css +44 -0
  264. package/dist/tokens/style-profiles.css +36 -547
  265. package/dist/tokens/themes.json +308 -0
  266. package/dist/tokens/tokens-studio.json +6728 -0
  267. package/dist/tokens/typography.css +21 -18
  268. package/dist/tokens.css +1555 -1801
  269. package/dist/ui.css +11975 -9831
  270. package/dist/vue.d.mts +344 -0
  271. package/dist/vue.mjs +7781 -0
  272. package/docs/spec/ai-input-experience.md +75 -0
  273. package/docs/spec/ai-native.md +238 -147
  274. package/docs/spec/design-philosophy.md +189 -0
  275. package/docs/spec/design-primitives.md +196 -0
  276. package/docs/spec/kb-family.md +147 -115
  277. package/package.json +43 -8
  278. package/dist/retro-effects.css +0 -255
  279. package/dist/tokens/retro-effects.css +0 -255
  280. package/docs/research/2026-10-03-ai-kb-components.md +0 -392
  281. package/docs/research/2026-10-03-kb-permissions.md +0 -992
@@ -1,25 +1,30 @@
1
1
  {
2
2
  "name": "@icen.ai/ui",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "tokens": [
5
5
  "colors.css",
6
6
  "style-profiles.css",
7
- "typography.css"
8
- ],
9
- "tokensExtras": [
10
- "retro-effects.css"
7
+ "typography.css",
8
+ "design.css",
9
+ "chinese.css",
10
+ "soviet.css",
11
+ "pixel.css",
12
+ "icon-masks.css"
11
13
  ],
14
+ "tokensExtras": [],
12
15
  "base": "base.css",
13
16
  "components": [
14
17
  "ai-chat",
15
18
  "ai-diff",
16
19
  "ai-panel",
17
20
  "ai-tool",
21
+ "autocomplete",
18
22
  "back-top",
19
23
  "badge",
20
24
  "breadcrumb",
21
25
  "btn",
22
26
  "card",
27
+ "cascader",
23
28
  "chart-area",
24
29
  "chart-bar",
25
30
  "chart-gauge",
@@ -32,6 +37,7 @@
32
37
  "chart-sparkline",
33
38
  "chart-stack",
34
39
  "charts",
40
+ "code-block",
35
41
  "command-palette",
36
42
  "content",
37
43
  "copy",
@@ -39,7 +45,9 @@
39
45
  "date-picker",
40
46
  "empty",
41
47
  "feedback",
48
+ "form-validate",
42
49
  "form",
50
+ "icon",
43
51
  "input",
44
52
  "kb-agent",
45
53
  "kb-data",
@@ -50,7 +58,11 @@
50
58
  "kb-search",
51
59
  "kb",
52
60
  "layout",
61
+ "material-chinese",
62
+ "material-soviet",
63
+ "material",
53
64
  "media",
65
+ "mentions",
54
66
  "menu",
55
67
  "modal",
56
68
  "nav",
@@ -72,9 +84,11 @@
72
84
  "tabs",
73
85
  "tag-input",
74
86
  "tag",
87
+ "theme-switcher",
75
88
  "toast",
76
89
  "toolbar",
77
90
  "tooltip",
91
+ "tree-select",
78
92
  "upload"
79
93
  ],
80
94
  "behaviors": [
@@ -90,17 +104,26 @@
90
104
  "ai-threads",
91
105
  "ai-tool",
92
106
  "ai-tools",
107
+ "autocomplete",
93
108
  "back-top",
94
109
  "carousel",
110
+ "cascader",
95
111
  "charts",
112
+ "code-block",
96
113
  "command-palette",
97
114
  "context-menu",
98
115
  "controls",
99
116
  "copy",
100
117
  "datatable",
101
118
  "date-picker",
119
+ "design",
102
120
  "dropdown",
103
121
  "events",
122
+ "feedback",
123
+ "focus",
124
+ "form-validate",
125
+ "i18n",
126
+ "icons",
104
127
  "input",
105
128
  "kb-access",
106
129
  "kb-acl",
@@ -129,32 +152,65 @@
129
152
  "kb-review",
130
153
  "kb-sandbox",
131
154
  "kb-segment",
155
+ "kb-select",
132
156
  "kb-sources",
133
157
  "kb-sql",
134
158
  "kb-trace",
135
159
  "kb-visibility",
136
160
  "kb-who-can",
161
+ "mentions",
137
162
  "modal",
138
163
  "nav",
139
164
  "notification",
165
+ "panel",
140
166
  "popover",
141
167
  "select",
142
168
  "sidebar",
143
169
  "slider",
144
170
  "split-pane",
171
+ "suggestions",
172
+ "svg-parse",
145
173
  "tabs",
146
174
  "tag-input",
175
+ "theme-switcher",
147
176
  "theme",
148
177
  "toast",
178
+ "tooltip",
179
+ "tree-select",
149
180
  "tree",
150
181
  "upload"
151
182
  ],
152
183
  "slugs": {
184
+ "icon": {
185
+ "css": "icon.css",
186
+ "behavior": "icons",
187
+ "exports": [
188
+ "ICON_PATHS",
189
+ "iconPath",
190
+ "iconHTML",
191
+ "createIcon",
192
+ "registerIcon"
193
+ ]
194
+ },
195
+ "theme-switcher": {
196
+ "css": "theme-switcher.css",
197
+ "behavior": "theme-switcher",
198
+ "init": "initThemeSwitcher",
199
+ "exports": [
200
+ "createThemeSwitcher",
201
+ "themeSwitcherHTML"
202
+ ]
203
+ },
153
204
  "btn": {
154
205
  "css": "btn.css"
155
206
  },
156
207
  "panel": {
157
- "css": "panel.css"
208
+ "css": "panel.css",
209
+ "behavior": "panel",
210
+ "init": "initPanel",
211
+ "exports": [
212
+ "setPanelExpanded"
213
+ ]
158
214
  },
159
215
  "pill": {
160
216
  "css": "pill.css"
@@ -196,7 +252,10 @@
196
252
  "select": {
197
253
  "css": "select.css",
198
254
  "behavior": "select",
199
- "init": "initSelect"
255
+ "init": "initSelect",
256
+ "exports": [
257
+ "refreshSelect"
258
+ ]
200
259
  },
201
260
  "slider": {
202
261
  "css": "slider.css",
@@ -206,7 +265,10 @@
206
265
  "tag-input": {
207
266
  "css": "tag-input.css",
208
267
  "behavior": "tag-input",
209
- "init": "initTagInput"
268
+ "init": "initTagInput",
269
+ "exports": [
270
+ "createTagInput"
271
+ ]
210
272
  },
211
273
  "switch": {
212
274
  "css": "switch.css",
@@ -235,24 +297,60 @@
235
297
  "behavior": "date-picker",
236
298
  "init": "initDatePicker"
237
299
  },
300
+ "form-validate": {
301
+ "css": "form-validate.css",
302
+ "behavior": "form-validate",
303
+ "init": "initFormValidate"
304
+ },
305
+ "cascader": {
306
+ "css": "cascader.css",
307
+ "behavior": "cascader"
308
+ },
309
+ "tree-select": {
310
+ "css": "tree-select.css",
311
+ "behavior": "tree-select"
312
+ },
313
+ "mentions": {
314
+ "css": "mentions.css",
315
+ "behavior": "mentions"
316
+ },
317
+ "autocomplete": {
318
+ "css": "autocomplete.css",
319
+ "behavior": "autocomplete"
320
+ },
238
321
  "modal": {
239
322
  "css": "modal.css",
240
323
  "behavior": "modal",
241
- "init": "initModal"
324
+ "init": "initModal",
325
+ "exports": [
326
+ "openModal",
327
+ "closeModal"
328
+ ]
242
329
  },
243
330
  "dropdown": {
244
331
  "css": "menu.css",
245
332
  "behavior": "dropdown",
246
- "init": "initDropdown"
333
+ "init": "initDropdown",
334
+ "exports": [
335
+ "openDropdown",
336
+ "closeDropdown"
337
+ ]
247
338
  },
248
339
  "context-menu": {
249
340
  "css": "menu.css",
250
341
  "behavior": "context-menu",
251
- "init": "initContextMenu"
342
+ "init": "initContextMenu",
343
+ "exports": [
344
+ "openContextMenu",
345
+ "closeContextMenu",
346
+ "registerContextMenu",
347
+ "unregisterContextMenu"
348
+ ]
252
349
  },
253
350
  "popover": {
254
351
  "css": "popover.css",
255
352
  "behavior": "popover",
353
+ "init": "initPopover",
256
354
  "exports": [
257
355
  "openPopover",
258
356
  "closePopover",
@@ -260,7 +358,9 @@
260
358
  ]
261
359
  },
262
360
  "tooltip": {
263
- "css": "tooltip.css"
361
+ "css": "tooltip.css",
362
+ "behavior": "tooltip",
363
+ "init": "initTooltip"
264
364
  },
265
365
  "command-palette": {
266
366
  "css": "command-palette.css",
@@ -320,6 +420,18 @@
320
420
  "scroll-area": {
321
421
  "css": "scroll-area.css"
322
422
  },
423
+ "code-block": {
424
+ "css": "code-block.css",
425
+ "extraCss": [
426
+ "tooltip.css"
427
+ ],
428
+ "behavior": "code-block",
429
+ "init": "initCodeBlock",
430
+ "exports": [
431
+ "renderCodeBlock",
432
+ "codeBlockHTML"
433
+ ]
434
+ },
323
435
  "table": {
324
436
  "css": "table.css",
325
437
  "behavior": "controls",
@@ -511,7 +623,8 @@
511
623
  "behavior": "notification",
512
624
  "init": "initNotification",
513
625
  "exports": [
514
- "notify"
626
+ "notify",
627
+ "createNotificationCenter"
515
628
  ]
516
629
  },
517
630
  "nav": {
@@ -580,10 +693,12 @@
580
693
  },
581
694
  "ai-tool-call": {
582
695
  "css": "ai-tool.css",
696
+ "behavior": "ai-tool",
583
697
  "init": "initAiTool"
584
698
  },
585
699
  "ai-subagent": {
586
700
  "css": "ai-tool.css",
701
+ "behavior": "ai-tool",
587
702
  "init": "initAiSubagent"
588
703
  },
589
704
  "ai-diff": {
@@ -600,10 +715,12 @@
600
715
  },
601
716
  "ai-todo": {
602
717
  "css": "ai-panel.css",
718
+ "behavior": "ai-panel",
603
719
  "init": "initAiTodo"
604
720
  },
605
721
  "ai-context": {
606
722
  "css": "ai-panel.css",
723
+ "behavior": "ai-panel",
607
724
  "init": "initAiContext"
608
725
  },
609
726
  "ai-usage": {
@@ -0,0 +1,44 @@
1
+ @layer icen.tokens {
2
+ /* 中式 / Chinese — Song-era proportion, book typography and quiet paper planes.
3
+ * Palette-independent: the active theme supplies every pigment and semantic color.
4
+ * Display type is serif; small controls and dense information remain sans-serif.
5
+ */
6
+ :root[data-icen-style="chinese"],
7
+ :root[data-icen-style="chinese"] [data-icen-preset] {
8
+ --icen-design-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
9
+ --icen-design-font-size: 14px;
10
+ --icen-design-radius: 4px;
11
+ --icen-design-space: 4.5px;
12
+ --icen-design-control-height: 42px;
13
+ --icen-design-glass-opacity: 100%;
14
+ --icen-design-glass-blur: 0px;
15
+ --icen-radius-xs: max(0px, calc(var(--icen-design-radius) - 2px));
16
+ --icen-radius-sm: var(--icen-design-radius);
17
+ --icen-radius-md: var(--icen-design-radius);
18
+ --icen-radius-lg: calc(var(--icen-design-radius) * 2);
19
+ --icen-radius-xl: calc(var(--icen-design-radius) * 3);
20
+ --icen-radius-full: 999px;
21
+ --icen-font-body: var(--icen-design-font);
22
+ --icen-font-heading: 'Iowan Old Style', 'Palatino Linotype', 'Songti SC', 'Noto Serif CJK SC', 'Source Han Serif SC', 'STSong', 'SimSun', serif;
23
+ --icen-font-cjk: var(--icen-design-font);
24
+ --icen-line-height-body: 1.75;
25
+ --icen-line-height-heading: 1.4;
26
+ --icen-letter-spacing-body: .012em;
27
+ --icen-letter-spacing-heading: .045em;
28
+ --icen-duration-fast: calc(140ms * var(--icen-design-motion));
29
+ --icen-duration-normal: calc(240ms * var(--icen-design-motion));
30
+ --icen-duration-slow: calc(340ms * var(--icen-design-motion));
31
+ --icen-ease-out: cubic-bezier(.22, .68, .2, 1);
32
+ --icen-ease-bounce: var(--icen-ease-out);
33
+ --icen-token-surface-glass: var(--icen-token-surface);
34
+ --icen-token-shadow-card: 0 1px 2px color-mix(in srgb, var(--icen-design-shadow-color) calc(var(--icen-design-shadow-strength) * .45), transparent), 0 6px 18px color-mix(in srgb, var(--icen-design-shadow-color) calc(var(--icen-design-shadow-strength) * .25), transparent);
35
+ --icen-token-shadow-elevated: 0 1px 3px color-mix(in srgb, var(--icen-design-shadow-color) calc(var(--icen-design-shadow-strength) * .65), transparent), 0 12px 30px color-mix(in srgb, var(--icen-design-shadow-color) calc(var(--icen-design-shadow-strength) * .55), transparent);
36
+ --icen-token-shadow-overlay: 0 2px 5px color-mix(in srgb, var(--icen-design-shadow-color) var(--icen-design-shadow-strength), transparent), 0 24px 64px color-mix(in srgb, var(--icen-design-shadow-color) calc(var(--icen-design-shadow-strength) * .7), transparent);
37
+ --icen-token-shadow-popover: var(--icen-token-shadow-elevated);
38
+ --icen-token-shadow-inset: inset 0 0 0 0 transparent;
39
+ --icen-token-material-light: inset 0 0 0 0 transparent;
40
+ --icen-token-top-highlight: transparent;
41
+ --icen-token-material-edge: var(--icen-token-line);
42
+ }
43
+
44
+ }