sky-ui-kit 0.1.0 → 0.1.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.
@@ -0,0 +1,167 @@
1
+ # sky-ui-kit:AI 使用指南
2
+
3
+ 适用于 Vue 3 + TypeScript。此文件描述包的真实 API 和约束,不是自动执行的代理指令。AI 工具需要主动读取这些文档;安装包不会自动改变其上下文。
4
+
5
+ ## 文档读取顺序
6
+
7
+ 1. llms.txt:入口和文档索引。
8
+ 2. components.json:完整公开组件、服务和指令清单;项目组件属性、事件、插槽、默认表达式。
9
+ 3. COMPONENT-API.md:项目组件精确 API 与类型定义。
10
+ 4. CSS-THEME.md:隔离主题与浮层限制。
11
+ 5. 本文使用示例;基础 Ui 组件其他 API 查看已安装 Element Plus 类型和官方文档。
12
+
13
+ ## 生成代码的规则
14
+
15
+ - 在 main.ts 只引入一次 element-plus/dist/index.css 和 sky-ui-kit/style.css。
16
+ - 按需从 sky-ui-kit 导入组件,不需要库主题 store、Pinia 或全局插件注册。项目已有插件注册继续保留。
17
+ - style.css 默认隔离;global.css 是主动整站换肤入口,不能默认添加。
18
+ - 项目同名 CSS 变量优先,缺失时使用库默认值。基础六色为 --color-bg、--color-text、--color-primary、--color-border、--color-surface、--color-panel。
19
+ - supported teleported 默认 false;可能受 overflow 裁剪。移到 body 的浮层只继承根主题,不能自动继承局部容器变量。
20
+ - UiSelect 使用 UiOption 插槽;AppSelect 使用 options 属性,不要混用两套 API。
21
+ - 图标从 @element-plus/icons-vue 导入 Vue 组件;菜单 item.icon 和 MapTools.icons 绑定组件对象,不能使用图标名称字符串。
22
+ - ProjectMenu / MapSideMenu 的 select 接路由;MapTools 的 tool-click 接真实刷新、定位、GIS 操作。组件库不提供地图实例、接口请求或业务权限。
23
+ - MapTools 的 context-change 返回布尔值;当前没有外部受控右键状态 prop,不要虚构 v-model:contextEnabled。
24
+ - AtlasRightToggleButton 使用 open + toggle;不是 v-model:open。TreeSelectPanel 的 select 参数为 node, category,change 参数为 { node, category }。
25
+ - MapTimeline 的 modelValue 是索引;change 返回 TimelinePoint。不要把日期字符串传给 modelValue。
26
+ - 本包并不覆盖 Element Plus 全部组件。components.json 不存在的 Ui 名称不能假定可导入,例如链接和面包屑可直接导入 Element Plus。
27
+ - 保留项目现有业务代码和注释,先局部迁移核对,不能用组件示例替换整个业务页面。
28
+
29
+ ## 默认样式
30
+
31
+ 明亮六色:#ffffff / #1f2937 / #1677ff / #dbe3ef99 / #ffffffd9 / #ffffff。
32
+ 暗色六色:#08111f / #e6edf7 / #4da3ff / #39506f99 / #101b2dee / #0c1525。
33
+ 控件高度 small/medium/large:28/32/36px;字号正文14px;圆角4/8/12px;默认缩放1。
34
+ 默认暗色通过根节点 theme-dark 类启用;已定义的项目主题变量仍优先。
35
+
36
+ ## 实例方法与包装边界
37
+
38
+ 基础组件包装转发 attrs、事件、slots 与 ref 方法,增加 display:contents 容器。依赖直属子元素的布局 CSS 需要核对。ConfigProvider、Option、TableColumn、TabPane 保留原实现,以所属控件作为主题范围。命令式 UiMessage / UiMessageBox / UiNotification 自动合并专用浮层类。
39
+
40
+ ## 主题与业务示例
41
+
42
+ 以下完整代码由预览站示例生成;公共入口完成后,各页面不重复引入 CSS。
43
+
44
+ <!-- GENERATED EXAMPLES -->
45
+
46
+ ### componentsExample
47
+
48
+ ```vue
49
+ <script setup lang="ts">
50
+ import { ref } from 'vue'
51
+ import {
52
+ AppSelect, TreeSelectPanel, TimeRangeQuickSelect, MapTimeline
53
+ } from 'sky-ui-kit'
54
+
55
+ const station = ref('hankou')
56
+ const region = ref<string | number | null>(null)
57
+ const range = ref('24h')
58
+ const frame = ref(6)
59
+ const playing = ref(false)
60
+ const options = [{ label: '汉口站', value: 'hankou' }, { label: '宜昌站', value: 'yichang' }]
61
+ const categories = [{ type: 'region', label: '行政区', children: [{ id: 'hubei', label: '湖北省' }] }]
62
+ const ranges = [{ key: '1h', label: '近1小时' }, { key: '24h', label: '近24小时' }]
63
+ </script>
64
+
65
+ <template>
66
+ <AppSelect v-model="station" :options="options" filterable clearable />
67
+ <TreeSelectPanel v-model="region" :categories="categories" close-on-select />
68
+ <TimeRangeQuickSelect v-model="range" :options="ranges" />
69
+ <MapTimeline v-model="frame" v-model:playing="playing"
70
+ start-time="2026-10-08T08:00:00+08:00" time-zone="Asia/Shanghai"
71
+ :past-steps="6" :future-steps="12" />
72
+ </template>
73
+
74
+ <!-- 这些组件保留 v-model 交互;可通过 @change 接收值变化。 -->
75
+ ```
76
+
77
+ ### mapToolsExample
78
+
79
+ ```vue
80
+ <script setup lang="ts">
81
+ import { ref } from 'vue'
82
+ import { Grid, Operation, RefreshRight, Aim, Setting, DataAnalysis, Mouse } from '@element-plus/icons-vue'
83
+ import { MapTools, UiCheckboxGroup, UiCheckbox, UiInput, UiButton } from 'sky-ui-kit'
84
+
85
+ const activeTool = ref('layers')
86
+ const contextEnabled = ref(false)
87
+ const message = ref('')
88
+ const layers = ref(['行政区划', '水系'])
89
+ // icons 的键对应工具 key;可只传需要替换的图标。
90
+ const icons = {
91
+ layers: Grid, module: Operation, refresh: RefreshRight, locate: Aim,
92
+ settings: Setting, analysis: DataAnalysis, context: Mouse
93
+ }
94
+ function onToolClick(key: string) {
95
+ message.value = '触发工具:' + key
96
+ if (key === 'refresh') {
97
+ // 在这里调用你的地图数据刷新函数。
98
+ } else if (key === 'locate') {
99
+ // 在这里调用 map.flyTo(...) 等地图定位 API。
100
+ }
101
+ }
102
+ function onContextChange(enabled: boolean) {
103
+ contextEnabled.value = enabled
104
+ // 在这里启用或关闭地图右键菜单。
105
+ }
106
+ </script>
107
+
108
+ <template>
109
+ <MapTools v-model:active="activeTool" :icons="icons"
110
+ @tool-click="onToolClick" @context-change="onContextChange" />
111
+ <p>{{ message }} · 右键菜单:{{ contextEnabled ? '开启' : '关闭' }}</p>
112
+ <section v-if="activeTool">
113
+ <h3>{{ activeTool }} 工具面板</h3>
114
+ <UiCheckboxGroup v-if="activeTool === 'layers'" v-model="layers">
115
+ <UiCheckbox label="行政区划" />
116
+ <UiCheckbox label="水系" />
117
+ </UiCheckboxGroup>
118
+ <UiInput v-else placeholder="工具参数" />
119
+ <UiButton @click="activeTool = ''">关闭面板</UiButton>
120
+ </section>
121
+ </template>
122
+
123
+ <!-- 同一个面板工具再次点击会关闭;刷新与定位只触发事件,不改变面板。 -->
124
+ <!-- MapTools 内部图标绑定:<component :is="icons[tool.key] || tool.icon" /> -->
125
+ ```
126
+
127
+ ### menuExample
128
+
129
+ ```vue
130
+ <script setup lang="ts">
131
+ import { ref } from 'vue'
132
+ import { House, DataAnalysis, Setting, Pouring, List } from '@element-plus/icons-vue'
133
+ import { ProjectMenu, MapSideMenu } from 'sky-ui-kit'
134
+
135
+ const active = ref('overview')
136
+ const mapActive = ref('rain')
137
+ const compact = ref(false)
138
+ const message = ref('')
139
+ // icon 字段绑定导入的 Vue 图标组件,不是图标名称字符串。
140
+ const items = [
141
+ { key: 'overview', label: '概览', icon: House },
142
+ { key: 'data', label: '数据管理', icon: DataAnalysis },
143
+ { key: 'settings', label: '设置', icon: Setting, disabled: true }
144
+ ]
145
+ const groups = [{ label: '工作空间', items }]
146
+ const mapItems = [
147
+ { key: 'rain', label: '降水', icon: Pouring },
148
+ { key: 'water', label: '水库水位', icon: List }
149
+ ]
150
+ function onSelect(item: { key: string; label: string }) {
151
+ message.value = '选中了:' + item.label
152
+ // 在这里接入 router.push(...) 或你的数据加载函数。
153
+ }
154
+ </script>
155
+
156
+ <template>
157
+ <ProjectMenu v-model:active="active" :items="items" @select="onSelect" />
158
+ <ProjectMenu direction="vertical" v-model:active="active"
159
+ :groups="groups" @select="onSelect" />
160
+ <MapSideMenu title="实况(测站)" :items="mapItems"
161
+ v-model:active="mapActive" v-model:compact="compact" @select="onSelect" />
162
+ <p>{{ message }}</p>
163
+ </template>
164
+
165
+ <!-- 纵向菜单在每个菜单项的 icon 位置渲染图标;横向菜单为文字样式。 -->
166
+ <!-- MapSideMenu 的搜索、分组收起和图标模式切换由组件内部完成。 -->
167
+ ```
@@ -0,0 +1,516 @@
1
+ # Component API reference
2
+
3
+ Generated from Vue/TypeScript source; defaultExpression is source text, not evaluated JSON. Types refer to declarations below. Unlisted props must not be invented. For Element Plus components use upstream documentation and shipped typings.
4
+
5
+ ## AppSelect
6
+
7
+ ### Props
8
+
9
+ | Name | Type | Required | Default expression |
10
+ |---|---|---|---|
11
+ | modelValue | AppSelectValue | false | undefined |
12
+ | options | AppSelectOption[] | false | () => [] |
13
+ | emptyLabel | string | false | '暂无可选项' |
14
+ | popperClass | string | false | '' |
15
+ | teleported | boolean | false | false |
16
+
17
+ ### Events
18
+
19
+ - `update:modelValue` — `[value: AppSelectValue]`
20
+ - `change` — `[value: AppSelectValue]`
21
+
22
+ Slots: No declared content slots.
23
+
24
+ ```ts
25
+ export type AppSelectValue = string | number | boolean | Record<string, unknown> | AppSelectValue[] | null | undefined
26
+ export type AppSelectOption = {
27
+ label: string
28
+ value: AppSelectValue
29
+ disabled?: boolean
30
+ } | string | number
31
+ ```
32
+
33
+ ## MapTimeline
34
+
35
+ ### Props
36
+
37
+ | Name | Type | Required | Default expression |
38
+ |---|---|---|---|
39
+ | modelValue | number | false | 0 |
40
+ | startTime | TimelineTimeInput | false | () => new Date() |
41
+ | points | TimelinePoint[] | false | () => [] |
42
+ | steps | number | false | 24 |
43
+ | pastSteps | number | false | undefined / no declared default |
44
+ | futureSteps | number | false | undefined / no declared default |
45
+ | interval | number | false | 1 |
46
+ | unit | IntervalUnit | false | 'hour' |
47
+ | playing | boolean | false | false |
48
+ | speed | number | false | 1 |
49
+ | speeds | number[] | false | () => [0.5, 1, 2, 4] |
50
+ | internalPlayback | boolean | false | true |
51
+ | pageSize | number | false | 24 |
52
+ | loop | boolean | false | true |
53
+ | minTime | TimelineTimeInput | false | undefined / no declared default |
54
+ | maxTime | TimelineTimeInput | false | undefined / no declared default |
55
+ | forecastCount | number | false | undefined / no declared default |
56
+ | showScale | boolean | false | true |
57
+ | showCurrentMarker | boolean | false | true |
58
+ | timeZone | string | false | undefined / no declared default |
59
+
60
+ ### Events
61
+
62
+ - `update:modelValue` — `[value: number]`
63
+ - `update:startTime` — `[value: TimelineTimeInput]`
64
+ - `update:playing` — `[value: boolean]`
65
+ - `update:speed` — `[value: number]`
66
+ - `change` — `[point: TimelinePoint]`
67
+ - `play` — `[]`
68
+ - `pause` — `[]`
69
+
70
+ Slots: date-select
71
+
72
+ ```ts
73
+ type IntervalUnit = 'minute' | 'hour' | 'day' | 'month' | 'year'
74
+ type TimelineKind = 'observed' | 'forecast'
75
+ type TimelineTimeInput = string | number | Date
76
+ export interface TimelinePoint {
77
+ index: number
78
+ offset: number
79
+ time: Date
80
+ value: string
81
+ label: string
82
+ kind: TimelineKind
83
+ disabled?: boolean
84
+ }
85
+ ```
86
+
87
+ ## TreeSelectPanel
88
+
89
+ ### Props
90
+
91
+ | Name | Type | Required | Default expression |
92
+ |---|---|---|---|
93
+ | modelValue | string &#124; number &#124; null | false | null |
94
+ | categories | TreeSelectCategory[] | false | () => [] |
95
+ | placeholder | string | false | '请选择行政区或流域' |
96
+ | searchPlaceholder | string | false | '搜索名称' |
97
+ | emptyText | string | false | '暂无树数据' |
98
+ | fallbackTypeLabel | string | false | '行政区' |
99
+ | popoverWidth | string &#124; number | false | 'calc(var(--cp-font-1) * 328)' |
100
+ | defaultActiveType | string | false | '' |
101
+ | defaultExpandAll | boolean | false | true |
102
+ | closeOnSelect | boolean | false | false |
103
+ | closeOnMouseLeave | boolean | false | false |
104
+ | dark | boolean | false | false |
105
+
106
+ ### Events
107
+
108
+ - `update:modelValue` — `[value: string | number | null]`
109
+ - `change` — `[payload: { node: TreeSelectNode, category: TreeSelectCategory }]`
110
+ - `select` — `[node: TreeSelectNode, category: TreeSelectCategory]`
111
+
112
+ Slots: No declared content slots.
113
+
114
+ ```ts
115
+ export interface TreeSelectNode {
116
+ id: string | number
117
+ label: string
118
+ tag?: string
119
+ disabled?: boolean
120
+ children?: TreeSelectNode[]
121
+ [key: string]: unknown
122
+ }
123
+ export interface TreeSelectCategory {
124
+ type: string
125
+ label: string
126
+ children: TreeSelectNode[]
127
+ }
128
+ ```
129
+
130
+ ## TimeRangeQuickSelect
131
+
132
+ ### Props
133
+
134
+ | Name | Type | Required | Default expression |
135
+ |---|---|---|---|
136
+ | modelValue | string | true | undefined / no declared default |
137
+ | options | TimeRangeQuickOption[] | true | undefined / no declared default |
138
+ | ariaLabel | string | false | '时间范围快捷选择' |
139
+
140
+ ### Events
141
+
142
+ - `update:modelValue` — `[value: string]`
143
+ - `change` — `[option: TimeRangeQuickOption]`
144
+
145
+ Slots: No declared content slots.
146
+
147
+ ```ts
148
+ export type TimeRangeQuickOption = {
149
+ key: string
150
+ label: string
151
+ amount?: number
152
+ unit?: 'hour' | 'day'
153
+ }
154
+ ```
155
+
156
+ ## ProjectMenu
157
+
158
+ ### Props
159
+
160
+ | Name | Type | Required | Default expression |
161
+ |---|---|---|---|
162
+ | direction | 'horizontal' &#124; 'vertical' | false | 'horizontal' |
163
+ | active | string | false | '' |
164
+ | items | ProjectMenuItem[] | false | () => [] |
165
+ | groups | ProjectMenuGroup[] | false | () => [] |
166
+
167
+ ### Events
168
+
169
+ - `update:active` — `[key: string]`
170
+ - `select` — `[item: ProjectMenuItem]`
171
+
172
+ Slots: No declared content slots.
173
+
174
+ ```ts
175
+ export interface ProjectMenuItem { key: string; label: string; disabled?: boolean; icon?: Component }
176
+ export interface ProjectMenuGroup { label: string; items: ProjectMenuItem[] }
177
+ ```
178
+
179
+ ## MapSideMenu
180
+
181
+ ### Props
182
+
183
+ | Name | Type | Required | Default expression |
184
+ |---|---|---|---|
185
+ | title | string | false | '实况(测站)' |
186
+ | active | string | false | 'rain' |
187
+ | dark | boolean | false | false |
188
+ | compact | boolean | false | false |
189
+ | items | MapMenuItem[] | false | () => [
190
+ { key: 'rain', label: '降水', icon: Pouring },
191
+ { key: 'reservoir-level', label: '水库水位', icon: List },
192
+ { key: 'reservoir-flow', label: '水库径流', icon: TrendCharts },
193
+ { key: 'river-level', label: '河道水位', icon: List },
194
+ { key: 'river-flow', label: '河道径流', icon: TrendCharts },
195
+ { key: 'temperature', label: '气温', icon: Sunny },
196
+ { key: 'wind', label: '风速', icon: WindPower }
197
+ ] |
198
+
199
+ ### Events
200
+
201
+ - `update:active` — `[key: string]`
202
+ - `update:compact` — `[value: boolean]`
203
+ - `select` — `[item: MapMenuItem]`
204
+
205
+ Slots: No declared content slots.
206
+
207
+ ```ts
208
+ export interface MapMenuItem { key: string; label: string; icon?: Component }
209
+ ```
210
+
211
+ ## MapTools
212
+
213
+ ### Props
214
+
215
+ | Name | Type | Required | Default expression |
216
+ |---|---|---|---|
217
+ | active | string | false | 'layers' |
218
+ | horizontal | boolean | false | false |
219
+ | icons | Record<string, Component> | false | () => ({}) |
220
+
221
+ ### Events
222
+
223
+ - `update:active` — `[key: string]`
224
+ - `tool-click` — `[key: string]`
225
+ - `context-change` — `[enabled: boolean]`
226
+
227
+ Slots: No declared content slots.
228
+
229
+ ## AtlasMapTitle
230
+
231
+ ### Props
232
+
233
+ | Name | Type | Required | Default expression |
234
+ |---|---|---|---|
235
+ | title | string | true | undefined / no declared default |
236
+ | subtitle | string | false | '' |
237
+ | rightOpen | boolean | false | false |
238
+
239
+ ### Events
240
+
241
+ No declared events.
242
+
243
+ Slots: No declared content slots.
244
+
245
+ ## AtlasRightToggleButton
246
+
247
+ ### Props
248
+
249
+ | Name | Type | Required | Default expression |
250
+ |---|---|---|---|
251
+ | open | boolean | false | false |
252
+ | openTitle | string | false | '展开右侧面板' |
253
+ | closeTitle | string | false | '收起右侧面板' |
254
+
255
+ ### Events
256
+
257
+ - `toggle` — `[]`
258
+
259
+ Slots: No declared content slots.
260
+
261
+ ## ProcessDataTable
262
+
263
+ ### Props
264
+
265
+ | Name | Type | Required | Default expression |
266
+ |---|---|---|---|
267
+ | times | string[] | true | undefined / no declared default |
268
+ | series | { name: string; data: (number &#124; null)[] }[] | true | undefined / no declared default |
269
+ | loading | boolean | false | undefined / no declared default |
270
+
271
+ ### Events
272
+
273
+ No declared events.
274
+
275
+ Slots: No declared content slots.
276
+
277
+ ## UiAlert
278
+
279
+ Original: ElAlert. [API](https://element-plus.org/en-US/component/alert.html). See dist/components/element-plus.d.ts.
280
+
281
+ ## UiBadge
282
+
283
+ Original: ElBadge. [API](https://element-plus.org/en-US/component/badge.html). See dist/components/element-plus.d.ts.
284
+
285
+ ## UiButton
286
+
287
+ Original: ElButton. [API](https://element-plus.org/en-US/component/button.html). See dist/components/element-plus.d.ts.
288
+
289
+ ## UiButtonGroup
290
+
291
+ Original: ElButtonGroup. [API](https://element-plus.org/en-US/component/button-group.html). See dist/components/element-plus.d.ts.
292
+
293
+ ## UiCard
294
+
295
+ Original: ElCard. [API](https://element-plus.org/en-US/component/card.html). See dist/components/element-plus.d.ts.
296
+
297
+ ## UiCarousel
298
+
299
+ Original: ElCarousel. [API](https://element-plus.org/en-US/component/carousel.html). See dist/components/element-plus.d.ts.
300
+
301
+ ## UiCarouselItem
302
+
303
+ Original: ElCarouselItem. [API](https://element-plus.org/en-US/component/carousel-item.html). See dist/components/element-plus.d.ts.
304
+
305
+ ## UiCascader
306
+
307
+ Original: ElCascader. [API](https://element-plus.org/en-US/component/cascader.html). See dist/components/element-plus.d.ts.
308
+
309
+ ## UiCheckbox
310
+
311
+ Original: ElCheckbox. [API](https://element-plus.org/en-US/component/checkbox.html). See dist/components/element-plus.d.ts.
312
+
313
+ ## UiCol
314
+
315
+ Original: ElCol. [API](https://element-plus.org/en-US/component/col.html). See dist/components/element-plus.d.ts.
316
+
317
+ ## UiCollapse
318
+
319
+ Original: ElCollapse. [API](https://element-plus.org/en-US/component/collapse.html). See dist/components/element-plus.d.ts.
320
+
321
+ ## UiCollapseItem
322
+
323
+ Original: ElCollapseItem. [API](https://element-plus.org/en-US/component/collapse-item.html). See dist/components/element-plus.d.ts.
324
+
325
+ ## UiColorPicker
326
+
327
+ Original: ElColorPicker. [API](https://element-plus.org/en-US/component/color-picker.html). See dist/components/element-plus.d.ts.
328
+
329
+ ## UiConfigProvider
330
+
331
+ Original: ElConfigProvider. [API](https://element-plus.org/en-US/component/config-provider.html). See dist/components/element-plus.d.ts.
332
+
333
+ ## UiDatePicker
334
+
335
+ Original: ElDatePicker. [API](https://element-plus.org/en-US/component/date-picker.html). See dist/components/element-plus.d.ts.
336
+
337
+ ## UiDescriptions
338
+
339
+ Original: ElDescriptions. [API](https://element-plus.org/en-US/component/descriptions.html). See dist/components/element-plus.d.ts.
340
+
341
+ ## UiDescriptionsItem
342
+
343
+ Original: ElDescriptionsItem. [API](https://element-plus.org/en-US/component/descriptions-item.html). See dist/components/element-plus.d.ts.
344
+
345
+ ## UiDialog
346
+
347
+ Original: ElDialog. [API](https://element-plus.org/en-US/component/dialog.html). See dist/components/element-plus.d.ts.
348
+
349
+ ## UiDrawer
350
+
351
+ Original: ElDrawer. [API](https://element-plus.org/en-US/component/drawer.html). See dist/components/element-plus.d.ts.
352
+
353
+ ## UiDropdown
354
+
355
+ Original: ElDropdown. [API](https://element-plus.org/en-US/component/dropdown.html). See dist/components/element-plus.d.ts.
356
+
357
+ ## UiDropdownItem
358
+
359
+ Original: ElDropdownItem. [API](https://element-plus.org/en-US/component/dropdown-item.html). See dist/components/element-plus.d.ts.
360
+
361
+ ## UiDropdownMenu
362
+
363
+ Original: ElDropdownMenu. [API](https://element-plus.org/en-US/component/dropdown-menu.html). See dist/components/element-plus.d.ts.
364
+
365
+ ## UiEmpty
366
+
367
+ Original: ElEmpty. [API](https://element-plus.org/en-US/component/empty.html). See dist/components/element-plus.d.ts.
368
+
369
+ ## UiFooter
370
+
371
+ Original: ElFooter. [API](https://element-plus.org/en-US/component/footer.html). See dist/components/element-plus.d.ts.
372
+
373
+ ## UiForm
374
+
375
+ Original: ElForm. [API](https://element-plus.org/en-US/component/form.html). See dist/components/element-plus.d.ts.
376
+
377
+ ## UiFormItem
378
+
379
+ Original: ElFormItem. [API](https://element-plus.org/en-US/component/form-item.html). See dist/components/element-plus.d.ts.
380
+
381
+ ## UiIcon
382
+
383
+ Original: ElIcon. [API](https://element-plus.org/en-US/component/icon.html). See dist/components/element-plus.d.ts.
384
+
385
+ ## UiImage
386
+
387
+ Original: ElImage. [API](https://element-plus.org/en-US/component/image.html). See dist/components/element-plus.d.ts.
388
+
389
+ ## UiInput
390
+
391
+ Original: ElInput. [API](https://element-plus.org/en-US/component/input.html). See dist/components/element-plus.d.ts.
392
+
393
+ ## UiInputNumber
394
+
395
+ Original: ElInputNumber. [API](https://element-plus.org/en-US/component/input-number.html). See dist/components/element-plus.d.ts.
396
+
397
+ ## UiMessage
398
+
399
+ Original: ElMessage. [API](https://element-plus.org/en-US/component/message.html). See dist/components/element-plus.d.ts.
400
+
401
+ ## UiMessageBox
402
+
403
+ Original: ElMessageBox. [API](https://element-plus.org/en-US/component/message-box.html). See dist/components/element-plus.d.ts.
404
+
405
+ ## UiNotification
406
+
407
+ Original: ElNotification. [API](https://element-plus.org/en-US/component/notification.html). See dist/components/element-plus.d.ts.
408
+
409
+ ## UiOption
410
+
411
+ Original: ElOption. [API](https://element-plus.org/en-US/component/option.html). See dist/components/element-plus.d.ts.
412
+
413
+ ## UiPagination
414
+
415
+ Original: ElPagination. [API](https://element-plus.org/en-US/component/pagination.html). See dist/components/element-plus.d.ts.
416
+
417
+ ## UiPopconfirm
418
+
419
+ Original: ElPopconfirm. [API](https://element-plus.org/en-US/component/popconfirm.html). See dist/components/element-plus.d.ts.
420
+
421
+ ## UiPopover
422
+
423
+ Original: ElPopover. [API](https://element-plus.org/en-US/component/popover.html). See dist/components/element-plus.d.ts.
424
+
425
+ ## UiProgress
426
+
427
+ Original: ElProgress. [API](https://element-plus.org/en-US/component/progress.html). See dist/components/element-plus.d.ts.
428
+
429
+ ## UiRadio
430
+
431
+ Original: ElRadio. [API](https://element-plus.org/en-US/component/radio.html). See dist/components/element-plus.d.ts.
432
+
433
+ ## UiRadioGroup
434
+
435
+ Original: ElRadioGroup. [API](https://element-plus.org/en-US/component/radio-group.html). See dist/components/element-plus.d.ts.
436
+
437
+ ## UiRate
438
+
439
+ Original: ElRate. [API](https://element-plus.org/en-US/component/rate.html). See dist/components/element-plus.d.ts.
440
+
441
+ ## UiRow
442
+
443
+ Original: ElRow. [API](https://element-plus.org/en-US/component/row.html). See dist/components/element-plus.d.ts.
444
+
445
+ ## UiScrollbar
446
+
447
+ Original: ElScrollbar. [API](https://element-plus.org/en-US/component/scrollbar.html). See dist/components/element-plus.d.ts.
448
+
449
+ ## UiSelect
450
+
451
+ Original: ElSelect. [API](https://element-plus.org/en-US/component/select.html). See dist/components/element-plus.d.ts.
452
+
453
+ ## UiSelectV2
454
+
455
+ Original: ElSelectV2. [API](https://element-plus.org/en-US/component/select-v2.html). See dist/components/element-plus.d.ts.
456
+
457
+ ## UiSlider
458
+
459
+ Original: ElSlider. [API](https://element-plus.org/en-US/component/slider.html). See dist/components/element-plus.d.ts.
460
+
461
+ ## UiSwitch
462
+
463
+ Original: ElSwitch. [API](https://element-plus.org/en-US/component/switch.html). See dist/components/element-plus.d.ts.
464
+
465
+ ## UiTabPane
466
+
467
+ Original: ElTabPane. [API](https://element-plus.org/en-US/component/tab-pane.html). See dist/components/element-plus.d.ts.
468
+
469
+ ## UiTable
470
+
471
+ Original: ElTable. [API](https://element-plus.org/en-US/component/table.html). See dist/components/element-plus.d.ts.
472
+
473
+ ## UiTableColumn
474
+
475
+ Original: ElTableColumn. [API](https://element-plus.org/en-US/component/table-column.html). See dist/components/element-plus.d.ts.
476
+
477
+ ## UiTabs
478
+
479
+ Original: ElTabs. [API](https://element-plus.org/en-US/component/tabs.html). See dist/components/element-plus.d.ts.
480
+
481
+ ## UiTag
482
+
483
+ Original: ElTag. [API](https://element-plus.org/en-US/component/tag.html). See dist/components/element-plus.d.ts.
484
+
485
+ ## UiTooltip
486
+
487
+ Original: ElTooltip. [API](https://element-plus.org/en-US/component/tooltip.html). See dist/components/element-plus.d.ts.
488
+
489
+ ## UiTree
490
+
491
+ Original: ElTree. [API](https://element-plus.org/en-US/component/tree.html). See dist/components/element-plus.d.ts.
492
+
493
+ ## UiTreeSelect
494
+
495
+ Original: ElTreeSelect. [API](https://element-plus.org/en-US/component/tree-select.html). See dist/components/element-plus.d.ts.
496
+
497
+ ## UiUpload
498
+
499
+ Original: ElUpload. [API](https://element-plus.org/en-US/component/upload.html). See dist/components/element-plus.d.ts.
500
+
501
+ ## UiCheckboxGroup
502
+
503
+ Original: ElCheckboxGroup. [API](https://element-plus.org/en-US/component/checkbox-group.html). See dist/components/element-plus.d.ts.
504
+
505
+ ## UiRadioButton
506
+
507
+ Original: ElRadioButton. [API](https://element-plus.org/en-US/component/radio-button.html). See dist/components/element-plus.d.ts.
508
+
509
+ ## UiDivider
510
+
511
+ Original: ElDivider. [API](https://element-plus.org/en-US/component/divider.html). See dist/components/element-plus.d.ts.
512
+
513
+ ## vUiLoading
514
+
515
+ Original: ElLoadingDirective. [API](https://element-plus.org/en-US/component/loading.html). See dist/components/element-plus.d.ts.
516
+