@icen.ai/ui 0.5.0 → 0.8.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.
- package/AGENTS.md +256 -0
- package/README.md +47 -13
- package/dist/base.css +31 -4
- package/dist/behaviors/accordion.d.mts +4 -0
- package/dist/behaviors/accordion.mjs +4 -3
- package/dist/behaviors/ai-chat.d.mts +57 -0
- package/dist/behaviors/ai-chat.mjs +557 -0
- package/dist/behaviors/ai-composer.d.mts +112 -0
- package/dist/behaviors/ai-composer.mjs +2032 -0
- package/dist/behaviors/ai-core.d.mts +151 -0
- package/dist/behaviors/ai-core.mjs +491 -0
- package/dist/behaviors/ai-diff.d.mts +53 -0
- package/dist/behaviors/ai-diff.mjs +282 -0
- package/dist/behaviors/ai-panel.d.mts +98 -0
- package/dist/behaviors/ai-panel.mjs +1012 -0
- package/dist/behaviors/ai-provider.d.mts +198 -0
- package/dist/behaviors/ai-provider.mjs +1055 -0
- package/dist/behaviors/ai-tool.d.mts +18 -0
- package/dist/behaviors/ai-tool.mjs +2125 -0
- package/dist/behaviors/ai-tools.d.mts +81 -0
- package/dist/behaviors/ai-tools.mjs +1658 -0
- package/dist/behaviors/back-top.d.mts +20 -0
- package/dist/behaviors/back-top.mjs +49 -32
- package/dist/behaviors/carousel.d.mts +4 -0
- package/dist/behaviors/carousel.mjs +34 -16
- package/dist/behaviors/charts.d.mts +250 -0
- package/dist/behaviors/charts.mjs +1301 -448
- package/dist/behaviors/command-palette.d.mts +8 -0
- package/dist/behaviors/command-palette.mjs +24 -12
- package/dist/behaviors/context-menu.d.mts +36 -0
- package/dist/behaviors/context-menu.mjs +6 -2
- package/dist/behaviors/copy.d.mts +4 -0
- package/dist/behaviors/copy.mjs +7 -6
- package/dist/behaviors/datatable.d.mts +78 -0
- package/dist/behaviors/datatable.mjs +54 -11
- package/dist/behaviors/date-picker.d.mts +4 -0
- package/dist/behaviors/date-picker.mjs +104 -36
- package/dist/behaviors/dropdown.d.mts +4 -0
- package/dist/behaviors/dropdown.mjs +7 -3
- package/dist/behaviors/input.d.mts +4 -0
- package/dist/behaviors/input.mjs +29 -22
- package/dist/behaviors/modal.d.mts +11 -0
- package/dist/behaviors/modal.mjs +11 -6
- package/dist/behaviors/nav.d.mts +7 -0
- package/dist/behaviors/nav.mjs +25 -9
- package/dist/behaviors/notification.d.mts +172 -0
- package/dist/behaviors/notification.mjs +243 -89
- package/dist/behaviors/popover.d.mts +46 -0
- package/dist/behaviors/popover.mjs +2 -1
- package/dist/behaviors/select.d.mts +4 -0
- package/dist/behaviors/select.mjs +131 -26
- package/dist/behaviors/sidebar.d.mts +4 -0
- package/dist/behaviors/sidebar.mjs +4 -3
- package/dist/behaviors/slider.d.mts +4 -0
- package/dist/behaviors/slider.mjs +4 -3
- package/dist/behaviors/split-pane.d.mts +4 -0
- package/dist/behaviors/split-pane.mjs +13 -13
- package/dist/behaviors/tabs.d.mts +8 -0
- package/dist/behaviors/tabs.mjs +44 -19
- package/dist/behaviors/tag-input.d.mts +4 -0
- package/dist/behaviors/tag-input.mjs +12 -3
- package/dist/behaviors/theme.d.mts +25 -0
- package/dist/behaviors/theme.mjs +3 -1
- package/dist/behaviors/toast.d.mts +26 -0
- package/dist/behaviors/toast.mjs +24 -18
- package/dist/behaviors/tree.d.mts +4 -0
- package/dist/behaviors/tree.mjs +4 -3
- package/dist/behaviors/upload.d.mts +4 -0
- package/dist/behaviors/upload.mjs +63 -26
- package/dist/components/ai-chat.css +1037 -0
- package/dist/components/ai-chat.mjs +3 -0
- package/dist/components/ai-composer.mjs +3 -0
- package/dist/components/ai-context.mjs +2 -0
- package/dist/components/ai-diff.css +311 -0
- package/dist/components/ai-diff.mjs +3 -0
- package/dist/components/ai-files.mjs +3 -0
- package/dist/components/ai-message.mjs +3 -0
- package/dist/components/ai-panel.css +682 -0
- package/dist/components/ai-reasoning.mjs +3 -0
- package/dist/components/ai-subagent.mjs +2 -0
- package/dist/components/ai-todo.mjs +2 -0
- package/dist/components/ai-tool-call.mjs +2 -0
- package/dist/components/ai-tool.css +532 -0
- package/dist/components/ai-usage.mjs +3 -0
- package/dist/components/badge.css +4 -8
- package/dist/components/breadcrumb.css +1 -5
- package/dist/components/btn.css +4 -7
- package/dist/components/card.css +3 -6
- package/dist/components/chart-bar.css +10 -0
- package/dist/components/chart-calendar.mjs +5 -0
- package/dist/components/chart-gauge.css +1 -1
- package/dist/components/chart-heatmap.css +40 -0
- package/dist/components/chart-scatter.css +24 -0
- package/dist/components/chart-scatter.mjs +4 -0
- package/dist/components/charts.css +86 -1
- package/dist/components/charts.mjs +1 -0
- package/dist/components/command-palette.css +2 -2
- package/dist/components/content.css +8 -9
- package/dist/components/copy.css +8 -8
- package/dist/components/datatable.css +4 -8
- package/dist/components/date-picker.css +3 -7
- package/dist/components/empty.css +0 -4
- package/dist/components/feedback.css +10 -17
- package/dist/components/form.css +13 -14
- package/dist/components/input.css +2 -2
- package/dist/components/layout.css +36 -36
- package/dist/components/media.css +12 -8
- package/dist/components/menu.css +2 -2
- package/dist/components/modal.css +1 -1
- package/dist/components/nav.css +11 -6
- package/dist/components/notification.css +28 -28
- package/dist/components/pagination.css +1 -1
- package/dist/components/panel.css +16 -16
- package/dist/components/pill.css +15 -15
- package/dist/components/segmented.css +5 -5
- package/dist/components/segmented.mjs +1 -0
- package/dist/components/select.css +12 -20
- package/dist/components/sidebar.css +1 -1
- package/dist/components/split-pane.css +0 -1
- package/dist/components/stat.css +14 -18
- package/dist/components/steps.css +2 -2
- package/dist/components/switch.css +8 -12
- package/dist/components/table.css +46 -47
- package/dist/components/tabs.css +35 -46
- package/dist/components/tag-input.css +4 -4
- package/dist/components/toast.css +16 -13
- package/dist/components/tooltip.css +2 -2
- package/dist/index.d.mts +37 -0
- package/dist/index.mjs +7890 -1199
- package/dist/registry.json +113 -4
- package/dist/retro-effects.css +21 -17
- package/dist/tokens/colors.css +4 -1
- package/dist/tokens/retro-effects.css +21 -17
- package/dist/tokens/style-profiles.css +21 -0
- package/dist/tokens.css +25 -1
- package/dist/ui.css +3168 -433
- package/docs/spec/ai-native.md +659 -0
- package/package.json +15 -5
package/dist/components/tabs.css
CHANGED
|
@@ -2,20 +2,19 @@
|
|
|
2
2
|
* @icen.ai/ui — Component: tabs(分区导航 / 子导航)
|
|
3
3
|
*
|
|
4
4
|
* 完整契约:
|
|
5
|
-
* <div class="
|
|
6
|
-
* <button class="page-tab [.active]" role="tab" [aria-selected="true"]>…</button>
|
|
5
|
+
* <div class="tabs" role="tablist"> ← 页面内分区
|
|
6
|
+
* <button class="page-tab [.is-active]" role="tab" [aria-selected="true"]>…</button>
|
|
7
7
|
* </div>
|
|
8
8
|
*
|
|
9
|
-
* <nav class="
|
|
10
|
-
* <a class="[.active]" [aria-current="page"] href="…">…</a>
|
|
9
|
+
* <nav class="tabs" role="navigation"> ← 顶部子导航(a 链接)
|
|
10
|
+
* <a class="[.is-active]" [aria-current="page"] href="…">…</a>
|
|
11
11
|
* </nav>
|
|
12
12
|
*
|
|
13
13
|
* 与 behaviors/tabs 配套:[data-tabs] > [data-tab] + [data-tab-panel],行为层维护 aria。
|
|
14
|
-
*
|
|
14
|
+
* 窄屏换行不滚动(纪律:tab 条永不出现滚动条,一律 flex-wrap: wrap)。
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
.
|
|
18
|
-
.admin-tabs {
|
|
17
|
+
.tabs {
|
|
19
18
|
display: flex;
|
|
20
19
|
gap: 2px;
|
|
21
20
|
flex-wrap: wrap;
|
|
@@ -47,14 +46,14 @@
|
|
|
47
46
|
border-radius: var(--radius-sm);
|
|
48
47
|
box-shadow: var(--icen-ring);
|
|
49
48
|
}
|
|
50
|
-
.page-tab.active,
|
|
49
|
+
.page-tab.is-active,
|
|
51
50
|
.page-tab[aria-selected='true'] {
|
|
52
51
|
color: var(--token-accent);
|
|
53
52
|
border-bottom-color: var(--token-accent);
|
|
54
53
|
font-weight: 700;
|
|
55
54
|
}
|
|
56
55
|
|
|
57
|
-
.
|
|
56
|
+
.tabs a {
|
|
58
57
|
padding: var(--density-space-sm) var(--density-space-md);
|
|
59
58
|
font-size: var(--density-font-size-md);
|
|
60
59
|
color: var(--token-text-muted);
|
|
@@ -66,44 +65,44 @@
|
|
|
66
65
|
color var(--icen-tx-fast),
|
|
67
66
|
border-color var(--icen-tx-fast);
|
|
68
67
|
}
|
|
69
|
-
.
|
|
68
|
+
.tabs a:hover {
|
|
70
69
|
color: var(--token-accent);
|
|
71
70
|
text-decoration: none;
|
|
72
71
|
}
|
|
73
|
-
.
|
|
72
|
+
.tabs a:focus-visible {
|
|
74
73
|
outline: none;
|
|
75
74
|
border-radius: var(--radius-sm);
|
|
76
75
|
box-shadow: var(--icen-ring);
|
|
77
76
|
}
|
|
78
|
-
.
|
|
79
|
-
.
|
|
77
|
+
.tabs a.is-active,
|
|
78
|
+
.tabs a[aria-current='page'] {
|
|
80
79
|
color: var(--token-accent);
|
|
81
80
|
border-bottom-color: var(--token-accent);
|
|
82
81
|
}
|
|
83
82
|
|
|
84
|
-
/* 卡片变体(可选 .
|
|
85
|
-
.
|
|
83
|
+
/* 卡片变体(可选 .tabs--cards):tab 变成 pill,没有底边线 */
|
|
84
|
+
.tabs--cards {
|
|
86
85
|
border-bottom: 0;
|
|
87
86
|
gap: var(--density-space-xs);
|
|
88
87
|
margin-bottom: var(--density-space-md);
|
|
89
88
|
}
|
|
90
|
-
.
|
|
89
|
+
.tabs--cards .page-tab {
|
|
91
90
|
padding: var(--density-space-xs) var(--density-space-md);
|
|
92
91
|
border: 1px solid var(--token-outline-soft);
|
|
93
92
|
border-radius: var(--radius-full);
|
|
94
93
|
margin-bottom: 0;
|
|
95
94
|
}
|
|
96
|
-
.
|
|
97
|
-
.
|
|
95
|
+
.tabs--cards .page-tab.is-active,
|
|
96
|
+
.tabs--cards .page-tab[aria-selected='true'] {
|
|
98
97
|
background: var(--token-accent);
|
|
99
|
-
color: var(--token-on-accent
|
|
98
|
+
color: var(--token-on-accent);
|
|
100
99
|
border-color: var(--token-accent);
|
|
101
100
|
font-weight: 500;
|
|
102
101
|
}
|
|
103
102
|
|
|
104
103
|
/* 等宽变体:tab 平均占满容器 */
|
|
105
|
-
.
|
|
106
|
-
.
|
|
104
|
+
.tabs--equal .page-tab,
|
|
105
|
+
.tabs--equal a {
|
|
107
106
|
flex: 1;
|
|
108
107
|
text-align: center;
|
|
109
108
|
}
|
|
@@ -111,11 +110,11 @@
|
|
|
111
110
|
/* ── 增强 ── */
|
|
112
111
|
|
|
113
112
|
/* 尺寸变体 */
|
|
114
|
-
.
|
|
113
|
+
.tabs--sm .page-tab {
|
|
115
114
|
padding: var(--density-space-xs) var(--density-space-sm);
|
|
116
115
|
font-size: var(--density-font-size-sm);
|
|
117
116
|
}
|
|
118
|
-
.
|
|
117
|
+
.tabs--lg .page-tab {
|
|
119
118
|
padding: var(--density-space-md) calc(var(--density-space-md) + 4px);
|
|
120
119
|
font-size: var(--density-font-size-lg);
|
|
121
120
|
}
|
|
@@ -137,7 +136,7 @@
|
|
|
137
136
|
height: 18px;
|
|
138
137
|
padding: 0 5px;
|
|
139
138
|
margin-left: var(--density-space-xs);
|
|
140
|
-
font-size:
|
|
139
|
+
font-size: var(--density-font-size-2xs);
|
|
141
140
|
font-weight: 600;
|
|
142
141
|
color: var(--token-text-faint);
|
|
143
142
|
background: var(--token-fill-2);
|
|
@@ -145,10 +144,10 @@
|
|
|
145
144
|
font-variant-numeric: tabular-nums;
|
|
146
145
|
line-height: 1;
|
|
147
146
|
}
|
|
148
|
-
.page-tab.active .page-tab-badge,
|
|
147
|
+
.page-tab.is-active .page-tab-badge,
|
|
149
148
|
.page-tab[aria-selected='true'] .page-tab-badge {
|
|
150
149
|
background: var(--token-accent);
|
|
151
|
-
color: var(--token-on-accent
|
|
150
|
+
color: var(--token-on-accent);
|
|
152
151
|
}
|
|
153
152
|
|
|
154
153
|
/* 可关闭 tab */
|
|
@@ -175,7 +174,7 @@
|
|
|
175
174
|
.page-tab-close svg { width: 10px; height: 10px; }
|
|
176
175
|
|
|
177
176
|
/* 分段式 tab(替代底边线,用 segmented 视觉) */
|
|
178
|
-
.
|
|
177
|
+
.tabs--segment {
|
|
179
178
|
display: inline-flex;
|
|
180
179
|
border-bottom: none;
|
|
181
180
|
gap: 2px;
|
|
@@ -185,50 +184,40 @@
|
|
|
185
184
|
border-radius: var(--radius-md);
|
|
186
185
|
box-shadow: var(--token-shadow-inset);
|
|
187
186
|
}
|
|
188
|
-
.
|
|
187
|
+
.tabs--segment .page-tab {
|
|
189
188
|
border-bottom: none;
|
|
190
189
|
margin-bottom: 0;
|
|
191
190
|
padding: var(--density-space-xs) var(--density-space-md);
|
|
192
191
|
border-radius: var(--radius-sm);
|
|
193
192
|
}
|
|
194
|
-
.
|
|
195
|
-
.
|
|
193
|
+
.tabs--segment .page-tab.is-active,
|
|
194
|
+
.tabs--segment .page-tab[aria-selected='true'] {
|
|
196
195
|
background: var(--token-accent);
|
|
197
|
-
color: var(--token-on-accent
|
|
196
|
+
color: var(--token-on-accent);
|
|
198
197
|
border-bottom-color: transparent;
|
|
199
198
|
font-weight: 500;
|
|
200
199
|
}
|
|
201
200
|
|
|
202
201
|
/* 垂直 tab(侧栏式) */
|
|
203
|
-
.
|
|
202
|
+
.tabs--vertical {
|
|
204
203
|
flex-direction: column;
|
|
205
204
|
border-bottom: none;
|
|
206
205
|
border-right: 1px solid var(--token-line-soft);
|
|
207
206
|
margin-bottom: 0;
|
|
208
207
|
min-width: 160px;
|
|
209
208
|
}
|
|
210
|
-
.
|
|
209
|
+
.tabs--vertical .page-tab {
|
|
211
210
|
border-bottom: none;
|
|
212
211
|
border-right: 2px solid transparent;
|
|
213
212
|
margin-bottom: 0;
|
|
214
213
|
margin-right: -1px;
|
|
215
214
|
}
|
|
216
|
-
.
|
|
217
|
-
.
|
|
215
|
+
.tabs--vertical .page-tab.is-active,
|
|
216
|
+
.tabs--vertical .page-tab[aria-selected='true'] {
|
|
218
217
|
border-right-color: var(--token-accent);
|
|
219
218
|
border-bottom-color: transparent;
|
|
220
219
|
}
|
|
221
220
|
|
|
222
|
-
/* tab 溢出渐变提示(窄屏溢出时右侧渐变遮罩——纯视觉提示,不违反"不滚动"纪律,仍 flex-wrap) */
|
|
223
|
-
.page-tabs--scroll {
|
|
224
|
-
flex-wrap: nowrap;
|
|
225
|
-
overflow-x: auto;
|
|
226
|
-
overflow-y: hidden;
|
|
227
|
-
scrollbar-width: none;
|
|
228
|
-
-ms-overflow-style: none;
|
|
229
|
-
}
|
|
230
|
-
.page-tabs--scroll::-webkit-scrollbar { display: none; }
|
|
231
|
-
|
|
232
221
|
@media (prefers-reduced-motion: reduce) {
|
|
233
|
-
.page-tab, .
|
|
222
|
+
.page-tab, .tabs a, .page-tab-close { transition: none; }
|
|
234
223
|
}
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
.tag-input.is-max,
|
|
41
41
|
.tag-input.is-max:focus-within {
|
|
42
42
|
border-color: color-mix(in srgb, var(--token-warning) 60%, transparent);
|
|
43
|
-
box-shadow:
|
|
43
|
+
box-shadow: var(--icen-ring-warning);
|
|
44
44
|
}
|
|
45
45
|
.tag-input.is-disabled,
|
|
46
46
|
.tag-input[aria-disabled='true'],
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
cursor: pointer;
|
|
99
99
|
border-radius: var(--radius-full);
|
|
100
100
|
color: inherit;
|
|
101
|
-
font-size:
|
|
101
|
+
font-size: var(--density-font-size-xs);
|
|
102
102
|
line-height: 1;
|
|
103
103
|
opacity: 0.7;
|
|
104
104
|
transition:
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
.tag-chip-x:hover {
|
|
110
110
|
opacity: 1;
|
|
111
111
|
background: color-mix(in srgb, currentColor 18%, transparent);
|
|
112
|
-
color: var(--token-on-accent
|
|
112
|
+
color: var(--token-on-accent);
|
|
113
113
|
}
|
|
114
114
|
.tag-chip-x:focus-visible {
|
|
115
115
|
outline: none;
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
|
|
136
136
|
/* 重复值抖动反馈(behavior 短暂挂 is-shake) */
|
|
137
137
|
.tag-input.is-shake {
|
|
138
|
-
animation: tag-shake 0.32s var(--ease-out);
|
|
138
|
+
animation: tag-shake var(--tag-shake-duration, 0.32s) var(--ease-out);
|
|
139
139
|
}
|
|
140
140
|
@keyframes tag-shake {
|
|
141
141
|
0%, 100% { transform: translateX(0); }
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* 完整契约:
|
|
7
7
|
* <div class="toast-container" role="status" aria-live="polite">
|
|
8
|
-
* <div class="toast [
|
|
8
|
+
* <div class="toast [toast--success|toast--error|toast--warning|toast--info]" role="status|alert">
|
|
9
9
|
* <span class="toast-msg">文本</span>
|
|
10
10
|
* <button class="toast-action">撤销</button> ← 可选 action
|
|
11
11
|
* </div>
|
|
@@ -28,6 +28,8 @@
|
|
|
28
28
|
|
|
29
29
|
.toast {
|
|
30
30
|
pointer-events: auto;
|
|
31
|
+
position: relative;
|
|
32
|
+
overflow: hidden;
|
|
31
33
|
display: inline-flex;
|
|
32
34
|
align-items: center;
|
|
33
35
|
gap: var(--density-space-sm);
|
|
@@ -45,9 +47,10 @@
|
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
/* 语义色:左缘 3px 强调 */
|
|
48
|
-
.toast
|
|
49
|
-
.toast
|
|
50
|
-
.toast
|
|
50
|
+
.toast--success { border-left-color: var(--token-success); }
|
|
51
|
+
.toast--error { border-left-color: var(--token-error); }
|
|
52
|
+
.toast--warning { border-left-color: var(--token-warning); }
|
|
53
|
+
.toast--info { border-left-color: var(--token-info); }
|
|
51
54
|
|
|
52
55
|
.toast-msg {
|
|
53
56
|
flex: 1;
|
|
@@ -88,9 +91,10 @@
|
|
|
88
91
|
color: var(--token-text-faint);
|
|
89
92
|
}
|
|
90
93
|
.toast-icon svg { width: 16px; height: 16px; }
|
|
91
|
-
.toast
|
|
92
|
-
.toast.
|
|
93
|
-
.toast
|
|
94
|
+
.toast--success .toast-icon { color: var(--token-success); }
|
|
95
|
+
.toast--error .toast-icon { color: var(--token-error); }
|
|
96
|
+
.toast--warning .toast-icon { color: var(--token-warning); }
|
|
97
|
+
.toast--info .toast-icon { color: var(--token-info); }
|
|
94
98
|
|
|
95
99
|
/* 关闭按钮 */
|
|
96
100
|
.toast-close {
|
|
@@ -149,16 +153,15 @@
|
|
|
149
153
|
transform-origin: left;
|
|
150
154
|
animation: toast-countdown linear forwards;
|
|
151
155
|
}
|
|
152
|
-
.toast
|
|
153
|
-
.toast.
|
|
154
|
-
.toast
|
|
156
|
+
.toast--success .toast-progress-fill { background: var(--token-success); }
|
|
157
|
+
.toast--error .toast-progress-fill { background: var(--token-error); }
|
|
158
|
+
.toast--warning .toast-progress-fill { background: var(--token-warning); }
|
|
159
|
+
.toast--info .toast-progress-fill { background: var(--token-info); }
|
|
155
160
|
@keyframes toast-countdown {
|
|
156
161
|
from { transform: scaleX(1); }
|
|
157
162
|
to { transform: scaleX(0); }
|
|
158
163
|
}
|
|
159
164
|
|
|
160
|
-
.toast { position: relative; overflow: hidden; }
|
|
161
|
-
|
|
162
165
|
/* 容器定位变体 */
|
|
163
166
|
.toast-container[data-position='top-left'] {
|
|
164
167
|
right: auto;
|
|
@@ -191,7 +194,7 @@
|
|
|
191
194
|
align-items: center;
|
|
192
195
|
}
|
|
193
196
|
|
|
194
|
-
.toast.leaving {
|
|
197
|
+
.toast.is-leaving {
|
|
195
198
|
opacity: 0;
|
|
196
199
|
transform: translateY(8px);
|
|
197
200
|
transition:
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* 无障碍:键盘 :focus-visible 立即出现(无延迟),鼠标 hover 延迟 400ms。
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
[data-tooltip] { position: relative; }
|
|
10
|
+
[data-tooltip] { position: relative; --tooltip-delay: 400ms; }
|
|
11
11
|
|
|
12
12
|
[data-tooltip]::after {
|
|
13
13
|
content: attr(data-tooltip);
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
transition:
|
|
33
33
|
opacity var(--icen-tx-fast),
|
|
34
34
|
transform var(--icen-tx-fast);
|
|
35
|
-
transition-delay:
|
|
35
|
+
transition-delay: var(--tooltip-delay);
|
|
36
36
|
|
|
37
37
|
/* 默认:上方、水平居中 */
|
|
38
38
|
bottom: calc(100% + 6px);
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export { PRESETS, STORAGE_KEY, STYLES, ThemeState, applyTheme, getDefaultTheme, getTheme, initTheme, setTheme, toggleDark } from './behaviors/theme.js';
|
|
2
|
+
export { ToastConfig, ToastKind, ToastOptions, toast } from './behaviors/toast.js';
|
|
3
|
+
export { initTabs } from './behaviors/tabs.js';
|
|
4
|
+
export { initCopy } from './behaviors/copy.js';
|
|
5
|
+
export { initInput } from './behaviors/input.js';
|
|
6
|
+
export { initSelect } from './behaviors/select.js';
|
|
7
|
+
export { initSlider } from './behaviors/slider.js';
|
|
8
|
+
export { initTagInput } from './behaviors/tag-input.js';
|
|
9
|
+
export { initUpload } from './behaviors/upload.js';
|
|
10
|
+
export { closeModal, initModal, openModal } from './behaviors/modal.js';
|
|
11
|
+
export { initDropdown } from './behaviors/dropdown.js';
|
|
12
|
+
export { ContextMenuEntry, ContextMenuHeader, ContextMenuItem, ContextMenuOptions, ContextMenuSeparator, closeMenu, initContextMenu, openContextMenu, registerContextMenu } from './behaviors/context-menu.js';
|
|
13
|
+
export { OpenPopoverOptions, PopoverAlign, PopoverLayout, PopoverLayoutOptions, PopoverRect, PopoverSide, PopoverViewport, closePopover, computePopoverLayout, openPopover } from './behaviors/popover.js';
|
|
14
|
+
export { initAccordion } from './behaviors/accordion.js';
|
|
15
|
+
export { initTree } from './behaviors/tree.js';
|
|
16
|
+
export { initCarousel } from './behaviors/carousel.js';
|
|
17
|
+
export { ChartCalendarOptions, ChartChromeOptions, ChartDims, ChartEventDetail, ChartEventName, ChartGaugeOptions, ChartHandle, ChartHeatmapOptions, ChartLegendState, ChartLineOptions, ChartMarkData, ChartPointSpec, ChartRadarOptions, ChartScatterOptions, ChartSegment, ChartSegmentsOptions, ChartSeriesOptions, ChartSeriesSpec, ChartSpec, ChartTone, ChartType, ChartVBarOptions, ChartValueFormat, HeatmapDatum, RadarSeries, chartFormatValue, inferChartType, normalizeChartSpec, renderArea, renderCalendar, renderChart, renderDonut, renderGauge, renderHBar, renderHeatmap, renderLine, renderRadar, renderScatter, renderSparkline, renderStack, renderVBar } from './behaviors/charts.js';
|
|
18
|
+
export { initNav } from './behaviors/nav.js';
|
|
19
|
+
export { initSidebar } from './behaviors/sidebar.js';
|
|
20
|
+
export { NotificationAction, NotificationCenterHandle, NotificationConfig, NotificationConfirmOptions, NotificationHandle, NotificationKind, NotificationOptions, NotificationPushInput, NotificationUpdatePatch, createNotificationCenter, initNotification, notify } from './behaviors/notification.js';
|
|
21
|
+
export { initBackTop } from './behaviors/back-top.js';
|
|
22
|
+
export { closeCommandPalette, initCommandPalette, openCommandPalette } from './behaviors/command-palette.js';
|
|
23
|
+
export { initDatePicker } from './behaviors/date-picker.js';
|
|
24
|
+
export { initSplitPane } from './behaviors/split-pane.js';
|
|
25
|
+
export { TableColumn, TableHandle, TableOptions, createTable } from './behaviors/datatable.js';
|
|
26
|
+
export { AiAudioPart, AiContent, AiContentPart, AiFilePart, AiImagePart, AiKindDef, AiKindTint, AiMediaPart, AiResourceLinkPart, AiStatus, AiTextPart, AiToolCallModel, AiUsage, AiVideoPart, aiContentUrl, aiStatusLabel, contentToText, contextEstimate, estimateTokens, formatDuration, formatTokens, getAiKind, inferKind, isAiContentPart, isAiContentPartArray, normalizeContentParts, normalizeMcpContent, normalizeToolCall, normalizeUsage, registerAiKind, svgIcon } from './behaviors/ai-core.js';
|
|
27
|
+
export { AiMessageHandle, AiMessageModel, AiStreamHandle, createAiStream, initAiChat, renderAiContentPart, renderAiMessage } from './behaviors/ai-chat.js';
|
|
28
|
+
export { AiComposerBindOpts, AiComposerBinding, AiComposerCommand, AiComposerCurrentModel, AiComposerRefKind, AiComposerRefSource, AiProviderModelOption, AiProviderOption, bindComposer, initAiComposer, setComposerCommands, setComposerModels, setComposerRefs, setComposerRunning, setComposerTodo, setComposerUsage } from './behaviors/ai-composer.js';
|
|
29
|
+
export { AiSubagentHandle, AiToolCallHandle, initAiSubagent, initAiTool, renderAiSubagent, renderAiToolCall } from './behaviors/ai-tool.js';
|
|
30
|
+
export { AiDiffFile, AiDiffFileStatus, AiDiffHunk, AiDiffLine, AiDiffModel, initAiDiff, parseUnifiedDiff, renderAiDiff } from './behaviors/ai-diff.js';
|
|
31
|
+
export { AiAuditRenderOpts, AiContextFile, AiContextMcpServer, AiContextModel, AiContextSkill, AiTodoItem, AiUsageRenderOpts, AiUsageRingOpts, initAiContext, initAiTodo, renderAiAudit, renderAiContext, renderAiTodo, renderAiUsage, renderAiUsageRing } from './behaviors/ai-panel.js';
|
|
32
|
+
export { AiAuditEntry, AiAuditTotals, AiAuditor, AiAuditorOptions, AiChatMessage, AiChatRequest, AiChatResult, AiChatRole, AiClient, AiClientConfig, AiClientOptions, AiDoneEventDetail, AiPricing, AiProviderDef, AiProviderError, AiProviderModel, AiStreamChunk, AiStreamSession, createAiAuditor, createAiClient, estimateCost, getAiProvider, listAiProviders, registerAiProvider } from './behaviors/ai-provider.js';
|
|
33
|
+
export { AiToolArea, AiToolAreaOptions, AiToolDef, AiToolRecord, aiToolsManifest, aiToolsToMcp, aiToolsToOpenAI, createAiToolArea, getAiTool, listAiTools, parseAiToolArgs, registerAiTool, unregisterAiTool } from './behaviors/ai-tools.js';
|
|
34
|
+
|
|
35
|
+
declare const VERSION: string;
|
|
36
|
+
|
|
37
|
+
export { VERSION };
|