pacvue-el-components 1.0.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/README.md ADDED
@@ -0,0 +1,150 @@
1
+ # Pacvue 组件库
2
+
3
+ 基于 Element Plus 二次封装的 Vue 3 组件库,支持按需加载。
4
+
5
+ ## 特性
6
+
7
+ - 🎨 基于 Element Plus 二次封装
8
+ - 📦 支持按需加载
9
+ - 🔧 完整的 TypeScript 支持
10
+ - 🚀 基于 Vite 构建,开发体验优秀
11
+ - 📱 支持本地预览和打包
12
+
13
+ ## 安装
14
+
15
+ ```bash
16
+ npm install pacvue
17
+ # 或
18
+ yarn add pacvue
19
+ # 或
20
+ pnpm add pacvue
21
+ ```
22
+
23
+ ## 使用
24
+
25
+ ### 完整引入
26
+
27
+ ```typescript
28
+ import { createApp } from 'vue'
29
+ import Pacvue from 'pacvue'
30
+ import 'pacvue/style.css'
31
+
32
+ const app = createApp(App)
33
+ app.use(Pacvue)
34
+ ```
35
+
36
+ ### 按需引入
37
+
38
+ ```typescript
39
+ import { PacvueElButton, PacvueElSelect } from 'pacvue'
40
+ import 'pacvue/style.css'
41
+ ```
42
+
43
+ ### 组件示例
44
+
45
+ #### PacvueElButton
46
+
47
+ ```vue
48
+ <template>
49
+ <PacvueElButton type="primary" @click="handleClick">
50
+ 点击按钮
51
+ </PacvueElButton>
52
+ </template>
53
+
54
+ <script setup lang="ts">
55
+ import { PacvueElButton } from 'pacvue'
56
+
57
+ const handleClick = () => {
58
+ console.log('按钮被点击')
59
+ }
60
+ </script>
61
+ ```
62
+
63
+ #### PacvueElSelect
64
+
65
+ ```vue
66
+ <template>
67
+ <PacvueElSelect v-model="value" placeholder="请选择">
68
+ <el-option label="选项1" value="option1" />
69
+ <el-option label="选项2" value="option2" />
70
+ </PacvueElSelect>
71
+ </template>
72
+
73
+ <script setup lang="ts">
74
+ import { ref } from 'vue'
75
+ import { PacvueElSelect } from 'pacvue'
76
+
77
+ const value = ref('')
78
+ </script>
79
+ ```
80
+
81
+ ## 开发
82
+
83
+ ### 安装依赖
84
+
85
+ ```bash
86
+ npm install
87
+ # 或
88
+ yarn install
89
+ # 或
90
+ pnpm install
91
+ ```
92
+
93
+ ### 本地预览
94
+
95
+ ```bash
96
+ npm run dev
97
+ ```
98
+
99
+ 访问 http://localhost:3000 查看组件预览。
100
+
101
+ ### 构建组件库
102
+
103
+ ```bash
104
+ npm run build:lib
105
+ ```
106
+
107
+ 构建产物将输出到 `dist` 目录。
108
+
109
+ ### 类型检查
110
+
111
+ ```bash
112
+ npm run type-check
113
+ ```
114
+
115
+ ## 项目结构
116
+
117
+ ```
118
+ .
119
+ ├── src/ # 组件库源码
120
+ │ ├── components/ # 组件目录
121
+ │ │ ├── button/ # PacvueElButton 组件
122
+ │ │ └── select/ # PacvueElSelect 组件
123
+ │ └── index.ts # 入口文件
124
+ ├── examples/ # 预览示例
125
+ │ ├── App.vue
126
+ │ ├── main.ts
127
+ │ └── index.html
128
+ ├── dist/ # 构建产物
129
+ ├── package.json
130
+ ├── tsconfig.json
131
+ └── vite.config.ts
132
+ ```
133
+
134
+ ## 组件列表
135
+
136
+ - **PacvueElButton** - 基于 el-button 的按钮组件
137
+ - **PacvueElSelect** - 基于 el-select 的选择器组件
138
+
139
+ ## 技术栈
140
+
141
+ - Vue 3
142
+ - TypeScript
143
+ - Element Plus
144
+ - Vite
145
+ - Sass
146
+
147
+ ## License
148
+
149
+ MIT
150
+
@@ -0,0 +1,67 @@
1
+ import { ButtonProps } from './types';
2
+
3
+ declare function __VLS_template(): {
4
+ default?(_: {}): any;
5
+ };
6
+ declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ButtonProps>, {
7
+ type: string;
8
+ size: string;
9
+ plain: boolean;
10
+ round: boolean;
11
+ circle: boolean;
12
+ loading: boolean;
13
+ disabled: boolean;
14
+ autofocus: boolean;
15
+ nativeType: string;
16
+ dark: boolean;
17
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
18
+ click: (event: MouseEvent) => void;
19
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ButtonProps>, {
20
+ type: string;
21
+ size: string;
22
+ plain: boolean;
23
+ round: boolean;
24
+ circle: boolean;
25
+ loading: boolean;
26
+ disabled: boolean;
27
+ autofocus: boolean;
28
+ nativeType: string;
29
+ dark: boolean;
30
+ }>>> & Readonly<{
31
+ onClick?: ((event: MouseEvent) => any) | undefined;
32
+ }>, {
33
+ readonly size: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>;
34
+ readonly disabled: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
35
+ readonly type: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "text" | "default" | "primary" | "success" | "warning" | "info" | "danger", unknown>;
36
+ readonly nativeType: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "button" | "reset" | "submit", unknown>;
37
+ readonly loading: boolean;
38
+ readonly plain: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
39
+ readonly autofocus: boolean;
40
+ readonly round: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
41
+ readonly circle: boolean;
42
+ readonly dark: boolean;
43
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
44
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
45
+ export default _default;
46
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
47
+ type __VLS_TypePropsToRuntimeProps<T> = {
48
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
49
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
50
+ } : {
51
+ type: import('vue').PropType<T[K]>;
52
+ required: true;
53
+ };
54
+ };
55
+ type __VLS_WithDefaults<P, D> = {
56
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
57
+ default: D[K];
58
+ }> : P[K];
59
+ };
60
+ type __VLS_Prettify<T> = {
61
+ [K in keyof T]: T[K];
62
+ } & {};
63
+ type __VLS_WithTemplateSlots<T, S> = T & {
64
+ new (): {
65
+ $slots: S;
66
+ };
67
+ };
@@ -0,0 +1,4 @@
1
+ import { ButtonProps as ElButtonProps } from 'element-plus';
2
+
3
+ export interface ButtonProps extends ElButtonProps {
4
+ }
@@ -0,0 +1,451 @@
1
+ declare function __VLS_template(): {
2
+ default?(_: {}): any;
3
+ };
4
+ declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
5
+ modelValue: import('vue').PropType<any>;
6
+ size: {
7
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
8
+ default: string;
9
+ };
10
+ disabled: {
11
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
12
+ default: boolean;
13
+ };
14
+ loading: {
15
+ type: import('vue').PropType<boolean>;
16
+ required: true;
17
+ default: boolean;
18
+ };
19
+ name: {
20
+ type: import('vue').PropType<string>;
21
+ };
22
+ props: {
23
+ type: import('vue').PropType<import('element-plus/es/components/select-v2/src/useProps.mjs').Props>;
24
+ required: true;
25
+ };
26
+ ariaLabel: {
27
+ type: import('vue').PropType<string>;
28
+ };
29
+ emptyValues: {
30
+ type: import('vue').PropType<unknown[]>;
31
+ };
32
+ valueOnClear: {
33
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>>;
34
+ };
35
+ id: {
36
+ type: import('vue').PropType<string>;
37
+ };
38
+ autocomplete: {
39
+ type: import('vue').PropType<string>;
40
+ required: true;
41
+ default: string;
42
+ };
43
+ automaticDropdown: {
44
+ type: import('vue').PropType<boolean>;
45
+ required: true;
46
+ default: boolean;
47
+ };
48
+ effect: {
49
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string) | (() => import('element-plus').PopperEffect) | ((new (...args: any[]) => string) | (() => import('element-plus').PopperEffect))[], unknown, unknown>>;
50
+ required: true;
51
+ };
52
+ clearable: {
53
+ type: import('vue').PropType<boolean>;
54
+ required: true;
55
+ default: boolean;
56
+ };
57
+ filterable: {
58
+ type: import('vue').PropType<boolean>;
59
+ required: true;
60
+ default: boolean;
61
+ };
62
+ allowCreate: {
63
+ type: import('vue').PropType<boolean>;
64
+ required: true;
65
+ default: boolean;
66
+ };
67
+ popperClass: {
68
+ type: import('vue').PropType<string>;
69
+ required: true;
70
+ };
71
+ popperStyle: {
72
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | import('vue').CSSProperties) | (() => string | import('vue').CSSProperties) | ((new (...args: any[]) => string | import('vue').CSSProperties) | (() => string | import('vue').CSSProperties))[], unknown, unknown>>;
73
+ };
74
+ popperOptions: {
75
+ type: import('vue').PropType<any>;
76
+ };
77
+ remote: {
78
+ type: import('vue').PropType<boolean>;
79
+ required: true;
80
+ default: boolean;
81
+ };
82
+ debounce: {
83
+ type: import('vue').PropType<number>;
84
+ required: true;
85
+ };
86
+ loadingText: {
87
+ type: import('vue').PropType<string>;
88
+ };
89
+ noMatchText: {
90
+ type: import('vue').PropType<string>;
91
+ };
92
+ noDataText: {
93
+ type: import('vue').PropType<string>;
94
+ };
95
+ remoteMethod: {
96
+ type: import('vue').PropType<(query: string) => void>;
97
+ };
98
+ filterMethod: {
99
+ type: import('vue').PropType<(query: string) => void>;
100
+ };
101
+ multiple: {
102
+ type: import('vue').PropType<boolean>;
103
+ required: true;
104
+ default: boolean;
105
+ };
106
+ multipleLimit: {
107
+ type: import('vue').PropType<number>;
108
+ required: true;
109
+ default: number;
110
+ };
111
+ placeholder: {
112
+ type: import('vue').PropType<string>;
113
+ };
114
+ defaultFirstOption: {
115
+ type: import('vue').PropType<boolean>;
116
+ required: true;
117
+ default: boolean;
118
+ };
119
+ reserveKeyword: {
120
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
121
+ required: true;
122
+ default: boolean;
123
+ };
124
+ valueKey: {
125
+ type: import('vue').PropType<string>;
126
+ required: true;
127
+ };
128
+ collapseTags: {
129
+ type: import('vue').PropType<boolean>;
130
+ required: true;
131
+ default: boolean;
132
+ };
133
+ collapseTagsTooltip: {
134
+ type: import('vue').PropType<boolean>;
135
+ required: true;
136
+ default: boolean;
137
+ };
138
+ maxCollapseTags: {
139
+ type: import('vue').PropType<number>;
140
+ required: true;
141
+ };
142
+ teleported: {
143
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
144
+ required: true;
145
+ default: boolean;
146
+ };
147
+ persistent: {
148
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
149
+ required: true;
150
+ default: boolean;
151
+ };
152
+ clearIcon: {
153
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component) | ((new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component))[], unknown, unknown>>;
154
+ };
155
+ fitInputWidth: {
156
+ type: import('vue').PropType<boolean>;
157
+ required: true;
158
+ default: boolean;
159
+ };
160
+ suffixIcon: {
161
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component) | ((new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component))[], unknown, unknown>>;
162
+ };
163
+ tagType: {
164
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>>;
165
+ required: true;
166
+ };
167
+ tagEffect: {
168
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "plain" | "dark" | "light", unknown>>;
169
+ required: true;
170
+ };
171
+ validateEvent: {
172
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
173
+ required: true;
174
+ default: boolean;
175
+ };
176
+ remoteShowSuffix: {
177
+ type: import('vue').PropType<boolean>;
178
+ required: true;
179
+ };
180
+ showArrow: {
181
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
182
+ required: true;
183
+ };
184
+ offset: {
185
+ type: import('vue').PropType<number>;
186
+ required: true;
187
+ };
188
+ placement: {
189
+ type: import('vue').PropType<any>;
190
+ required: true;
191
+ };
192
+ fallbackPlacements: {
193
+ type: import('vue').PropType<Placement[]>;
194
+ required: true;
195
+ };
196
+ tabindex: {
197
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>>;
198
+ required: true;
199
+ };
200
+ appendTo: {
201
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>) | ((new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>))[], unknown, unknown>>;
202
+ };
203
+ options: {
204
+ type: import('vue').PropType<Record<string, any>[]>;
205
+ };
206
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
207
+ clear: () => void;
208
+ "update:modelValue": (value: any) => void;
209
+ change: (value: any) => void;
210
+ "visible-change": (visible: boolean) => void;
211
+ "remove-tag": (value: any) => void;
212
+ blur: (event: FocusEvent) => void;
213
+ focus: (event: FocusEvent) => void;
214
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
215
+ modelValue: import('vue').PropType<any>;
216
+ size: {
217
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
218
+ default: string;
219
+ };
220
+ disabled: {
221
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
222
+ default: boolean;
223
+ };
224
+ loading: {
225
+ type: import('vue').PropType<boolean>;
226
+ required: true;
227
+ default: boolean;
228
+ };
229
+ name: {
230
+ type: import('vue').PropType<string>;
231
+ };
232
+ props: {
233
+ type: import('vue').PropType<import('element-plus/es/components/select-v2/src/useProps.mjs').Props>;
234
+ required: true;
235
+ };
236
+ ariaLabel: {
237
+ type: import('vue').PropType<string>;
238
+ };
239
+ emptyValues: {
240
+ type: import('vue').PropType<unknown[]>;
241
+ };
242
+ valueOnClear: {
243
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>>;
244
+ };
245
+ id: {
246
+ type: import('vue').PropType<string>;
247
+ };
248
+ autocomplete: {
249
+ type: import('vue').PropType<string>;
250
+ required: true;
251
+ default: string;
252
+ };
253
+ automaticDropdown: {
254
+ type: import('vue').PropType<boolean>;
255
+ required: true;
256
+ default: boolean;
257
+ };
258
+ effect: {
259
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string) | (() => import('element-plus').PopperEffect) | ((new (...args: any[]) => string) | (() => import('element-plus').PopperEffect))[], unknown, unknown>>;
260
+ required: true;
261
+ };
262
+ clearable: {
263
+ type: import('vue').PropType<boolean>;
264
+ required: true;
265
+ default: boolean;
266
+ };
267
+ filterable: {
268
+ type: import('vue').PropType<boolean>;
269
+ required: true;
270
+ default: boolean;
271
+ };
272
+ allowCreate: {
273
+ type: import('vue').PropType<boolean>;
274
+ required: true;
275
+ default: boolean;
276
+ };
277
+ popperClass: {
278
+ type: import('vue').PropType<string>;
279
+ required: true;
280
+ };
281
+ popperStyle: {
282
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | import('vue').CSSProperties) | (() => string | import('vue').CSSProperties) | ((new (...args: any[]) => string | import('vue').CSSProperties) | (() => string | import('vue').CSSProperties))[], unknown, unknown>>;
283
+ };
284
+ popperOptions: {
285
+ type: import('vue').PropType<any>;
286
+ };
287
+ remote: {
288
+ type: import('vue').PropType<boolean>;
289
+ required: true;
290
+ default: boolean;
291
+ };
292
+ debounce: {
293
+ type: import('vue').PropType<number>;
294
+ required: true;
295
+ };
296
+ loadingText: {
297
+ type: import('vue').PropType<string>;
298
+ };
299
+ noMatchText: {
300
+ type: import('vue').PropType<string>;
301
+ };
302
+ noDataText: {
303
+ type: import('vue').PropType<string>;
304
+ };
305
+ remoteMethod: {
306
+ type: import('vue').PropType<(query: string) => void>;
307
+ };
308
+ filterMethod: {
309
+ type: import('vue').PropType<(query: string) => void>;
310
+ };
311
+ multiple: {
312
+ type: import('vue').PropType<boolean>;
313
+ required: true;
314
+ default: boolean;
315
+ };
316
+ multipleLimit: {
317
+ type: import('vue').PropType<number>;
318
+ required: true;
319
+ default: number;
320
+ };
321
+ placeholder: {
322
+ type: import('vue').PropType<string>;
323
+ };
324
+ defaultFirstOption: {
325
+ type: import('vue').PropType<boolean>;
326
+ required: true;
327
+ default: boolean;
328
+ };
329
+ reserveKeyword: {
330
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
331
+ required: true;
332
+ default: boolean;
333
+ };
334
+ valueKey: {
335
+ type: import('vue').PropType<string>;
336
+ required: true;
337
+ };
338
+ collapseTags: {
339
+ type: import('vue').PropType<boolean>;
340
+ required: true;
341
+ default: boolean;
342
+ };
343
+ collapseTagsTooltip: {
344
+ type: import('vue').PropType<boolean>;
345
+ required: true;
346
+ default: boolean;
347
+ };
348
+ maxCollapseTags: {
349
+ type: import('vue').PropType<number>;
350
+ required: true;
351
+ };
352
+ teleported: {
353
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
354
+ required: true;
355
+ default: boolean;
356
+ };
357
+ persistent: {
358
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
359
+ required: true;
360
+ default: boolean;
361
+ };
362
+ clearIcon: {
363
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component) | ((new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component))[], unknown, unknown>>;
364
+ };
365
+ fitInputWidth: {
366
+ type: import('vue').PropType<boolean>;
367
+ required: true;
368
+ default: boolean;
369
+ };
370
+ suffixIcon: {
371
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component) | ((new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component))[], unknown, unknown>>;
372
+ };
373
+ tagType: {
374
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>>;
375
+ required: true;
376
+ };
377
+ tagEffect: {
378
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "plain" | "dark" | "light", unknown>>;
379
+ required: true;
380
+ };
381
+ validateEvent: {
382
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
383
+ required: true;
384
+ default: boolean;
385
+ };
386
+ remoteShowSuffix: {
387
+ type: import('vue').PropType<boolean>;
388
+ required: true;
389
+ };
390
+ showArrow: {
391
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
392
+ required: true;
393
+ };
394
+ offset: {
395
+ type: import('vue').PropType<number>;
396
+ required: true;
397
+ };
398
+ placement: {
399
+ type: import('vue').PropType<any>;
400
+ required: true;
401
+ };
402
+ fallbackPlacements: {
403
+ type: import('vue').PropType<Placement[]>;
404
+ required: true;
405
+ };
406
+ tabindex: {
407
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>>;
408
+ required: true;
409
+ };
410
+ appendTo: {
411
+ type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>) | ((new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>))[], unknown, unknown>>;
412
+ };
413
+ options: {
414
+ type: import('vue').PropType<Record<string, any>[]>;
415
+ };
416
+ }>> & Readonly<{
417
+ onClear?: (() => any) | undefined;
418
+ "onUpdate:modelValue"?: ((value: any) => any) | undefined;
419
+ onChange?: ((value: any) => any) | undefined;
420
+ "onVisible-change"?: ((visible: boolean) => any) | undefined;
421
+ "onRemove-tag"?: ((value: any) => any) | undefined;
422
+ onBlur?: ((event: FocusEvent) => any) | undefined;
423
+ onFocus?: ((event: FocusEvent) => any) | undefined;
424
+ }>, {
425
+ size: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>;
426
+ disabled: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
427
+ loading: boolean;
428
+ autocomplete: string;
429
+ automaticDropdown: boolean;
430
+ clearable: boolean;
431
+ filterable: boolean;
432
+ allowCreate: boolean;
433
+ remote: boolean;
434
+ multiple: boolean;
435
+ multipleLimit: number;
436
+ defaultFirstOption: boolean;
437
+ reserveKeyword: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
438
+ collapseTags: boolean;
439
+ collapseTagsTooltip: boolean;
440
+ teleported: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
441
+ persistent: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
442
+ fitInputWidth: boolean;
443
+ validateEvent: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
444
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
445
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
446
+ export default _default;
447
+ type __VLS_WithTemplateSlots<T, S> = T & {
448
+ new (): {
449
+ $slots: S;
450
+ };
451
+ };
@@ -0,0 +1,4 @@
1
+ import { SelectProps as ElSelectProps } from 'element-plus';
2
+
3
+ export interface SelectProps extends ElSelectProps {
4
+ }