@icen.ai/ui 0.5.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/AGENTS.md +262 -0
  2. package/README.md +52 -13
  3. package/dist/base.css +33 -5
  4. package/dist/behaviors/accordion.d.mts +7 -0
  5. package/dist/behaviors/accordion.mjs +37 -11
  6. package/dist/behaviors/ai-chat.d.mts +59 -0
  7. package/dist/behaviors/ai-chat.mjs +580 -0
  8. package/dist/behaviors/ai-composer.d.mts +137 -0
  9. package/dist/behaviors/ai-composer.mjs +2114 -0
  10. package/dist/behaviors/ai-core.d.mts +156 -0
  11. package/dist/behaviors/ai-core.mjs +504 -0
  12. package/dist/behaviors/ai-diff.d.mts +53 -0
  13. package/dist/behaviors/ai-diff.mjs +413 -0
  14. package/dist/behaviors/ai-panel.d.mts +101 -0
  15. package/dist/behaviors/ai-panel.mjs +1087 -0
  16. package/dist/behaviors/ai-provider.d.mts +198 -0
  17. package/dist/behaviors/ai-provider.mjs +1061 -0
  18. package/dist/behaviors/ai-tool.d.mts +26 -0
  19. package/dist/behaviors/ai-tool.mjs +2173 -0
  20. package/dist/behaviors/ai-tools.d.mts +84 -0
  21. package/dist/behaviors/ai-tools.mjs +1762 -0
  22. package/dist/behaviors/back-top.d.mts +20 -0
  23. package/dist/behaviors/back-top.mjs +64 -32
  24. package/dist/behaviors/carousel.d.mts +7 -0
  25. package/dist/behaviors/carousel.mjs +72 -27
  26. package/dist/behaviors/charts.d.mts +296 -0
  27. package/dist/behaviors/charts.mjs +1364 -440
  28. package/dist/behaviors/command-palette.d.mts +42 -0
  29. package/dist/behaviors/command-palette.mjs +167 -27
  30. package/dist/behaviors/context-menu.d.mts +53 -0
  31. package/dist/behaviors/context-menu.mjs +127 -39
  32. package/dist/behaviors/controls.d.mts +59 -0
  33. package/dist/behaviors/controls.mjs +601 -0
  34. package/dist/behaviors/copy.d.mts +7 -0
  35. package/dist/behaviors/copy.mjs +41 -15
  36. package/dist/behaviors/datatable.d.mts +90 -0
  37. package/dist/behaviors/datatable.mjs +279 -53
  38. package/dist/behaviors/date-picker.d.mts +4 -0
  39. package/dist/behaviors/date-picker.mjs +276 -69
  40. package/dist/behaviors/dropdown.d.mts +8 -0
  41. package/dist/behaviors/dropdown.mjs +171 -28
  42. package/dist/behaviors/events.d.mts +330 -0
  43. package/dist/behaviors/events.mjs +208 -0
  44. package/dist/behaviors/input.d.mts +4 -0
  45. package/dist/behaviors/input.mjs +52 -32
  46. package/dist/behaviors/modal.d.mts +30 -0
  47. package/dist/behaviors/modal.mjs +87 -16
  48. package/dist/behaviors/nav.d.mts +7 -0
  49. package/dist/behaviors/nav.mjs +57 -15
  50. package/dist/behaviors/notification.d.mts +188 -0
  51. package/dist/behaviors/notification.mjs +274 -140
  52. package/dist/behaviors/popover.d.mts +82 -0
  53. package/dist/behaviors/popover.mjs +92 -5
  54. package/dist/behaviors/select.d.mts +6 -0
  55. package/dist/behaviors/select.mjs +287 -45
  56. package/dist/behaviors/sidebar.d.mts +7 -0
  57. package/dist/behaviors/sidebar.mjs +44 -13
  58. package/dist/behaviors/slider.d.mts +7 -0
  59. package/dist/behaviors/slider.mjs +55 -43
  60. package/dist/behaviors/split-pane.d.mts +8 -0
  61. package/dist/behaviors/split-pane.mjs +70 -29
  62. package/dist/behaviors/tabs.d.mts +9 -0
  63. package/dist/behaviors/tabs.mjs +102 -26
  64. package/dist/behaviors/tag-input.d.mts +7 -0
  65. package/dist/behaviors/tag-input.mjs +66 -17
  66. package/dist/behaviors/theme.d.mts +36 -0
  67. package/dist/behaviors/theme.mjs +51 -5
  68. package/dist/behaviors/toast.d.mts +48 -0
  69. package/dist/behaviors/toast.mjs +98 -25
  70. package/dist/behaviors/tree.d.mts +7 -0
  71. package/dist/behaviors/tree.mjs +39 -15
  72. package/dist/behaviors/upload.d.mts +4 -0
  73. package/dist/behaviors/upload.mjs +79 -44
  74. package/dist/cli.mjs +1 -1
  75. package/dist/components/ai-chat.css +1037 -0
  76. package/dist/components/ai-chat.mjs +3 -0
  77. package/dist/components/ai-composer.mjs +3 -0
  78. package/dist/components/ai-context.mjs +2 -0
  79. package/dist/components/ai-diff.css +311 -0
  80. package/dist/components/ai-diff.mjs +3 -0
  81. package/dist/components/ai-files.mjs +3 -0
  82. package/dist/components/ai-message.mjs +3 -0
  83. package/dist/components/ai-panel.css +682 -0
  84. package/dist/components/ai-reasoning.mjs +3 -0
  85. package/dist/components/ai-subagent.mjs +2 -0
  86. package/dist/components/ai-todo.mjs +2 -0
  87. package/dist/components/ai-tool-call.mjs +2 -0
  88. package/dist/components/ai-tool.css +532 -0
  89. package/dist/components/ai-usage.mjs +3 -0
  90. package/dist/components/badge.css +5 -9
  91. package/dist/components/breadcrumb.css +0 -36
  92. package/dist/components/btn.css +4 -7
  93. package/dist/components/card.css +3 -6
  94. package/dist/components/chart-bar.css +10 -0
  95. package/dist/components/chart-calendar.mjs +4 -0
  96. package/dist/components/chart-gauge.css +1 -1
  97. package/dist/components/chart-heatmap.css +40 -0
  98. package/dist/components/chart-pie.css +0 -6
  99. package/dist/components/chart-scatter.css +24 -0
  100. package/dist/components/chart-scatter.mjs +4 -0
  101. package/dist/components/charts.css +87 -2
  102. package/dist/components/charts.mjs +1 -0
  103. package/dist/components/command-palette.css +2 -2
  104. package/dist/components/content.css +11 -25
  105. package/dist/components/copy.css +8 -8
  106. package/dist/components/datatable.css +5 -9
  107. package/dist/components/date-picker.css +4 -8
  108. package/dist/components/empty.css +0 -4
  109. package/dist/components/feedback.css +10 -17
  110. package/dist/components/form.css +13 -14
  111. package/dist/components/input.css +2 -2
  112. package/dist/components/layout.css +36 -36
  113. package/dist/components/media.css +12 -8
  114. package/dist/components/menu.css +2 -2
  115. package/dist/components/modal.css +1 -1
  116. package/dist/components/nav.css +11 -6
  117. package/dist/components/notification.css +27 -28
  118. package/dist/components/pagination.css +4 -2
  119. package/dist/components/pagination.mjs +1 -0
  120. package/dist/components/panel.css +16 -16
  121. package/dist/components/pill.css +15 -15
  122. package/dist/components/rating.mjs +1 -0
  123. package/dist/components/segmented.css +14 -6
  124. package/dist/components/segmented.mjs +1 -0
  125. package/dist/components/select.css +79 -24
  126. package/dist/components/sidebar.css +1 -1
  127. package/dist/components/split-pane.css +0 -1
  128. package/dist/components/stat.css +14 -18
  129. package/dist/components/steps.css +15 -5
  130. package/dist/components/steps.mjs +1 -0
  131. package/dist/components/switch.css +11 -13
  132. package/dist/components/switch.mjs +1 -0
  133. package/dist/components/table.css +46 -47
  134. package/dist/components/table.mjs +1 -0
  135. package/dist/components/tabs.css +57 -45
  136. package/dist/components/tag-input.css +5 -10
  137. package/dist/components/toast.css +16 -13
  138. package/dist/components/tooltip.css +2 -2
  139. package/dist/components/upload.css +0 -15
  140. package/dist/index.d.mts +39 -0
  141. package/dist/index.mjs +11243 -3312
  142. package/dist/registry.json +147 -9
  143. package/dist/retro-effects.css +23 -32
  144. package/dist/tokens/colors.css +4 -1
  145. package/dist/tokens/retro-effects.css +23 -32
  146. package/dist/tokens/style-profiles.css +24 -2
  147. package/dist/tokens/typography.css +2 -0
  148. package/dist/tokens.css +30 -3
  149. package/dist/ui.css +3420 -645
  150. package/docs/spec/ai-native.md +662 -0
  151. package/package.json +15 -5
package/dist/tokens.css CHANGED
@@ -507,6 +507,8 @@
507
507
  --token-accent-glow: color-mix(in srgb, var(--token-accent) 8%, transparent);
508
508
  --token-line-dashed: color-mix(in srgb, var(--token-line-soft) 60%, transparent);
509
509
  --token-overlay-bg: color-mix(in srgb, var(--token-bg) 92%, transparent);
510
+ /* 睡莲粉 accent 上的文字色:深绿灰(白字在 #d59ab1 上对比度不达标) */
511
+ --token-on-accent: #26302b;
510
512
 
511
513
  --token-shadow-elevated: 0 1px 2px rgba(0,0,0,.18), 0 8px 22px rgba(0,0,0,.24);
512
514
  --token-shadow-overlay: 0 2px 5px rgba(0,0,0,.24), 0 14px 36px rgba(0,0,0,.32);
@@ -844,7 +846,8 @@
844
846
  --token-accent-glow: color-mix(in srgb, var(--token-accent) 6%, transparent);
845
847
  --token-line-dashed: color-mix(in srgb, var(--token-line-soft) 60%, transparent);
846
848
  --token-overlay-bg: color-mix(in srgb, var(--token-bg) 94%, transparent);
847
- --token-on-accent: #ffffff;
849
+ /* 松烟绿 accent 上的文字色:深墨(白字在 #7AA87E 上对比度不达标) */
850
+ --token-on-accent: #1a2018;
848
851
 
849
852
  --token-shadow-elevated: 0 1px 2px rgba(0,0,0,.2), 0 4px 14px rgba(0,0,0,.22);
850
853
  --token-shadow-overlay: 0 2px 4px rgba(0,0,0,.28), 0 10px 30px rgba(0,0,0,.34);
@@ -1312,13 +1315,20 @@
1312
1315
  --density-space-sm: 0.5rem;
1313
1316
  --density-space-md: 0.75rem;
1314
1317
  --density-space-lg: 1rem;
1318
+ --density-space-xl: 1.5rem;
1319
+ --density-space-2xl: 2rem;
1320
+ --density-space-3xl: 3rem;
1321
+ --density-space-4xl: 4rem;
1315
1322
  --density-input-height-sm: 28px;
1316
1323
  --density-input-height-md: 36px;
1317
1324
  --density-input-height-lg: 44px;
1325
+ --density-font-size-2xs: 10px;
1318
1326
  --density-font-size-xs: 11px;
1319
1327
  --density-font-size-sm: 12px;
1320
1328
  --density-font-size-md: 13px;
1321
1329
  --density-font-size-lg: 14px;
1330
+ --density-font-size-xl: 18px;
1331
+ --density-font-size-2xl: 22px;
1322
1332
 
1323
1333
  /* ── Motion 动效 ── */
1324
1334
  --duration-instant: 0ms;
@@ -1329,7 +1339,9 @@
1329
1339
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
1330
1340
  --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
1331
1341
 
1332
- /* ── Typography 字体 ── */
1342
+ /* ── Typography 字体 ──
1343
+ --line-height-heading 不在此定义:typography.css 独家拥有(icen 品牌 1.2),
1344
+ 各 .style-* profile 需要差异化时在自己的块里覆盖。 */
1333
1345
  --font-body: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
1334
1346
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
1335
1347
  --font-mono-paper: ui-monospace, SFMono-Regular, 'JetBrains Mono', 'Courier New', monospace;
@@ -1337,7 +1349,6 @@
1337
1349
  --letter-spacing-body: 0;
1338
1350
  --letter-spacing-heading: 0;
1339
1351
  --line-height-body: 1.5;
1340
- --line-height-heading: 1.2;
1341
1352
  }
1342
1353
 
1343
1354
  /* ══════════════════════════════════════════════════════════════
@@ -1350,13 +1361,20 @@
1350
1361
  --density-space-sm: 0.5rem;
1351
1362
  --density-space-md: 0.75rem;
1352
1363
  --density-space-lg: 1rem;
1364
+ --density-space-xl: 1.5rem;
1365
+ --density-space-2xl: 2rem;
1366
+ --density-space-3xl: 3rem;
1367
+ --density-space-4xl: 4rem;
1353
1368
  --density-input-height-sm: 28px;
1354
1369
  --density-input-height-md: 36px;
1355
1370
  --density-input-height-lg: 44px;
1371
+ --density-font-size-2xs: 10px;
1356
1372
  --density-font-size-xs: 11px;
1357
1373
  --density-font-size-sm: 12px;
1358
1374
  --density-font-size-md: 13px;
1359
1375
  --density-font-size-lg: 14px;
1376
+ --density-font-size-xl: 18px;
1377
+ --density-font-size-2xl: 22px;
1360
1378
 
1361
1379
  /* ── Motion ── */
1362
1380
  --duration-fast: 150ms;
@@ -1385,13 +1403,20 @@
1385
1403
  --density-space-sm: 0.25rem;
1386
1404
  --density-space-md: 0.5rem;
1387
1405
  --density-space-lg: 0.75rem;
1406
+ --density-space-xl: 1rem;
1407
+ --density-space-2xl: 1.5rem;
1408
+ --density-space-3xl: 2rem;
1409
+ --density-space-4xl: 3rem;
1388
1410
  --density-input-height-sm: 24px;
1389
1411
  --density-input-height-md: 32px;
1390
1412
  --density-input-height-lg: 40px;
1413
+ --density-font-size-2xs: 9px;
1391
1414
  --density-font-size-xs: 9px;
1392
1415
  --density-font-size-sm: 10px;
1393
1416
  --density-font-size-md: 11px;
1394
1417
  --density-font-size-lg: 12px;
1418
+ --density-font-size-xl: 14px;
1419
+ --density-font-size-2xl: 16px;
1395
1420
 
1396
1421
  /* ── Motion:像素风瞬间切换 ── */
1397
1422
  --duration-fast: 0ms;
@@ -1797,6 +1822,7 @@
1797
1822
  * @icen.ai/ui — Typography Tokens(icen canonical)
1798
1823
  * 美学基调:等宽数字精密感 × 衬线书卷气(宋体标题)
1799
1824
  * 默认(:root)即 icen 品牌形态;.style-modern 显式回退 system-ui 栈(见 style-profiles.css)
1825
+ * 工具类:.font-math(数字密集区,"Numeric Math" 数学字体 + tabular-nums)
1800
1826
  */
1801
1827
 
1802
1828
  /* ── 数学/等宽数字字体(数字密集区的精密感) ── */
@@ -1819,6 +1845,7 @@
1819
1845
  --font-heading: 'Songti SC', 'STSong', 'Noto Serif SC', 'Source Han Serif SC', SimSun, serif;
1820
1846
  --font-cjk: var(--font-heading);
1821
1847
  --line-height-body: 1.7;
1848
+ /* 独家定义(style-profiles.css 的 :root 不再重复;profile 差异化在各 .style-* 块覆盖) */
1822
1849
  --line-height-heading: 1.2;
1823
1850
  }
1824
1851