rayyy-vue-table-components 1.0.23 → 1.0.25

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.
@@ -2,10 +2,337 @@ import { App } from 'vue';
2
2
  import { default as BaseTable } from './components/tables/BaseTable.vue';
3
3
  import { default as BaseBtn } from './components/items/BaseBtn.vue';
4
4
  import { default as BaseDialog } from './components/BaseDialog.vue';
5
+ import { default as SortTable } from './components/tables/SortTable.vue';
6
+ import { default as SearchBar } from './components/SearchBar.vue';
7
+ import { default as TransferDialog } from './components/transfer/TransferDialog.vue';
8
+ import { default as TransferItem } from './components/transfer/transferItem.vue';
5
9
  export * from './types';
6
10
  export * from './utils/tableHelper';
7
- export { BaseTable, BaseBtn, BaseDialog };
11
+ export { BaseTable, BaseBtn, BaseDialog, SortTable, SearchBar, TransferDialog, TransferItem };
8
12
  export type { BaseTableProps, BaseTableEmits, BaseTableInstance, BaseBtnProps, BaseBtnEmits, BaseBtnInstance, BaseDialogProps, BaseDialogEmits, BaseDialogInstance, PluginOptions, VueTableComponentsPlugin, } from './types/components';
9
13
  export * from './components';
10
14
  declare function install(app: App): void;
11
- export { install };
15
+ declare const _default: {
16
+ readonly install: typeof install;
17
+ readonly BaseTable: <T extends Record<string, unknown> = Record<string, unknown>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: {
18
+ emit: {
19
+ (e: "selection-change", selection: T[]): void;
20
+ (e: "current-change", currentRow: T): void;
21
+ (e: "cell-click", column: import('./types').TableColumn<T>, row: T): void;
22
+ (e: "column-sort-change", value: import('./types').SortChangValue<T>): void;
23
+ };
24
+ attrs: any;
25
+ slots: {};
26
+ }, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
27
+ props: {
28
+ readonly "onSelection-change"?: ((selection: T[]) => any) | undefined;
29
+ readonly "onCurrent-change"?: ((currentRow: T) => any) | undefined;
30
+ readonly "onColumn-sort-change"?: ((value: import('./types').SortChangValue<T>) => any) | undefined;
31
+ readonly "onCell-click"?: ((column: import('./types').TableColumn<T>, row: T) => any) | undefined;
32
+ loading?: boolean | undefined;
33
+ data: T[];
34
+ columns: import('./types').TableColumn<T>[];
35
+ showSelection?: boolean | undefined;
36
+ showSummary?: boolean | undefined;
37
+ showOverFlowTooltip?: boolean | undefined;
38
+ summaryMethod?: ((param: {
39
+ columns: import('element-plus').TableColumnCtx<Record<string, unknown>>[];
40
+ data: T[];
41
+ }) => (string | import('vue').VNode)[]) | undefined;
42
+ baseTableRowClassName?: ((data: {
43
+ row: T;
44
+ rowIndex: number;
45
+ }) => string) | undefined;
46
+ } & import('vue').PublicProps;
47
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
48
+ attrs: any;
49
+ slots: {};
50
+ emit: {
51
+ (e: "selection-change", selection: T[]): void;
52
+ (e: "current-change", currentRow: T): void;
53
+ (e: "cell-click", column: import('./types').TableColumn<T>, row: T): void;
54
+ (e: "column-sort-change", value: import('./types').SortChangValue<T>): void;
55
+ };
56
+ }>) => import('vue').VNode & {
57
+ __ctx?: Awaited<typeof __VLS_setup>;
58
+ };
59
+ readonly BaseBtn: {
60
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
61
+ text?: string;
62
+ type?: "default" | "primary" | "success" | "warning" | "info" | "danger";
63
+ size?: "default" | "small" | "large";
64
+ plain?: boolean;
65
+ class?: string;
66
+ disabled?: boolean;
67
+ textBtn?: boolean;
68
+ icon?: object;
69
+ link?: boolean;
70
+ isFill?: boolean;
71
+ loading?: boolean;
72
+ dataCy?: string;
73
+ }> & Readonly<{
74
+ onClick?: ((evt: MouseEvent) => any) | undefined;
75
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
76
+ click: (evt: MouseEvent) => any;
77
+ }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
78
+ P: {};
79
+ B: {};
80
+ D: {};
81
+ C: {};
82
+ M: {};
83
+ Defaults: {};
84
+ }, Readonly<{
85
+ text?: string;
86
+ type?: "default" | "primary" | "success" | "warning" | "info" | "danger";
87
+ size?: "default" | "small" | "large";
88
+ plain?: boolean;
89
+ class?: string;
90
+ disabled?: boolean;
91
+ textBtn?: boolean;
92
+ icon?: object;
93
+ link?: boolean;
94
+ isFill?: boolean;
95
+ loading?: boolean;
96
+ dataCy?: string;
97
+ }> & Readonly<{
98
+ onClick?: ((evt: MouseEvent) => any) | undefined;
99
+ }>, {}, {}, {}, {}, {}>;
100
+ __isFragment?: never;
101
+ __isTeleport?: never;
102
+ __isSuspense?: never;
103
+ } & import('vue').ComponentOptionsBase<Readonly<{
104
+ text?: string;
105
+ type?: "default" | "primary" | "success" | "warning" | "info" | "danger";
106
+ size?: "default" | "small" | "large";
107
+ plain?: boolean;
108
+ class?: string;
109
+ disabled?: boolean;
110
+ textBtn?: boolean;
111
+ icon?: object;
112
+ link?: boolean;
113
+ isFill?: boolean;
114
+ loading?: boolean;
115
+ dataCy?: string;
116
+ }> & Readonly<{
117
+ onClick?: ((evt: MouseEvent) => any) | undefined;
118
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
119
+ click: (evt: MouseEvent) => any;
120
+ }, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
121
+ $slots: {
122
+ default?(_: {}): any;
123
+ };
124
+ });
125
+ readonly BaseDialog: {
126
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
127
+ modelValue: boolean;
128
+ title?: string;
129
+ subTitle?: string;
130
+ beforeClose?: () => void;
131
+ customWidth?: string;
132
+ isWaring?: boolean;
133
+ isPrimary?: boolean;
134
+ bodyLoading?: boolean;
135
+ submitLoading?: boolean;
136
+ }> & Readonly<{
137
+ "onUpdate:modelValue"?: ((data: boolean) => any) | undefined;
138
+ "onClick:submit"?: (() => any) | undefined;
139
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
140
+ "update:modelValue": (data: boolean) => any;
141
+ "click:submit": () => any;
142
+ }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
143
+ P: {};
144
+ B: {};
145
+ D: {};
146
+ C: {};
147
+ M: {};
148
+ Defaults: {};
149
+ }, Readonly<{
150
+ modelValue: boolean;
151
+ title?: string;
152
+ subTitle?: string;
153
+ beforeClose?: () => void;
154
+ customWidth?: string;
155
+ isWaring?: boolean;
156
+ isPrimary?: boolean;
157
+ bodyLoading?: boolean;
158
+ submitLoading?: boolean;
159
+ }> & Readonly<{
160
+ "onUpdate:modelValue"?: ((data: boolean) => any) | undefined;
161
+ "onClick:submit"?: (() => any) | undefined;
162
+ }>, {}, {}, {}, {}, {}>;
163
+ __isFragment?: never;
164
+ __isTeleport?: never;
165
+ __isSuspense?: never;
166
+ } & import('vue').ComponentOptionsBase<Readonly<{
167
+ modelValue: boolean;
168
+ title?: string;
169
+ subTitle?: string;
170
+ beforeClose?: () => void;
171
+ customWidth?: string;
172
+ isWaring?: boolean;
173
+ isPrimary?: boolean;
174
+ bodyLoading?: boolean;
175
+ submitLoading?: boolean;
176
+ }> & Readonly<{
177
+ "onUpdate:modelValue"?: ((data: boolean) => any) | undefined;
178
+ "onClick:submit"?: (() => any) | undefined;
179
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
180
+ "update:modelValue": (data: boolean) => any;
181
+ "click:submit": () => any;
182
+ }, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
183
+ $slots: {
184
+ customHeader?(_: {}): any;
185
+ default?(_: {}): any;
186
+ customFooter?(_: {}): any;
187
+ };
188
+ });
189
+ readonly SortTable: <T extends Record<string, unknown>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: {
190
+ emit: {
191
+ (e: "open:transfer"): void;
192
+ (e: "update:selectRow", value: T[]): void;
193
+ (e: "click:cell", column: import('./types').TableColumn<T>, row: T): void;
194
+ (e: "click:columnSort", data: import('./types').SortChangValue<T>): void;
195
+ };
196
+ attrs: any;
197
+ slots: {};
198
+ }, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
199
+ props: {
200
+ readonly "onOpen:transfer"?: (() => any) | undefined;
201
+ readonly "onUpdate:selectRow"?: ((value: T[]) => any) | undefined;
202
+ readonly "onClick:columnSort"?: ((data: import('./types').SortChangValue<T>) => any) | undefined;
203
+ readonly "onClick:cell"?: ((column: import('./types').TableColumn<T>, row: T) => any) | undefined;
204
+ data: T[];
205
+ columns: import('./types').TableColumn<T>[];
206
+ tableTitle?: string | undefined;
207
+ showSelection?: boolean | undefined;
208
+ loading?: boolean | undefined;
209
+ showSummary?: boolean | undefined;
210
+ showOverFlowTooltip?: boolean | undefined;
211
+ summaryMethod?: ((param: {
212
+ columns: import('element-plus').TableColumnCtx<Record<string, unknown>>[];
213
+ data: T[];
214
+ }) => (string | import('vue').VNode)[]) | undefined;
215
+ sortTableRowClassName?: ((data: {
216
+ row: T;
217
+ rowIndex: number;
218
+ }) => string) | undefined;
219
+ } & import('vue').PublicProps;
220
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
221
+ attrs: any;
222
+ slots: {};
223
+ emit: {
224
+ (e: "open:transfer"): void;
225
+ (e: "update:selectRow", value: T[]): void;
226
+ (e: "click:cell", column: import('./types').TableColumn<T>, row: T): void;
227
+ (e: "click:columnSort", data: import('./types').SortChangValue<T>): void;
228
+ };
229
+ }>) => import('vue').VNode & {
230
+ __ctx?: Awaited<typeof __VLS_setup>;
231
+ };
232
+ readonly SearchBar: {
233
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
234
+ showFilter?: boolean;
235
+ showSearch?: boolean;
236
+ fullInput?: boolean;
237
+ badgeValue?: number;
238
+ }> & Readonly<{
239
+ "onUpdate:clear"?: (() => any) | undefined;
240
+ "onKeydown:enter"?: ((data: string) => any) | undefined;
241
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
242
+ "update:clear": () => any;
243
+ "keydown:enter": (data: string) => any;
244
+ }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
245
+ P: {};
246
+ B: {};
247
+ D: {};
248
+ C: {};
249
+ M: {};
250
+ Defaults: {};
251
+ }, Readonly<{
252
+ showFilter?: boolean;
253
+ showSearch?: boolean;
254
+ fullInput?: boolean;
255
+ badgeValue?: number;
256
+ }> & Readonly<{
257
+ "onUpdate:clear"?: (() => any) | undefined;
258
+ "onKeydown:enter"?: ((data: string) => any) | undefined;
259
+ }>, {}, {}, {}, {}, {}>;
260
+ __isFragment?: never;
261
+ __isTeleport?: never;
262
+ __isSuspense?: never;
263
+ } & import('vue').ComponentOptionsBase<Readonly<{
264
+ showFilter?: boolean;
265
+ showSearch?: boolean;
266
+ fullInput?: boolean;
267
+ badgeValue?: number;
268
+ }> & Readonly<{
269
+ "onUpdate:clear"?: (() => any) | undefined;
270
+ "onKeydown:enter"?: ((data: string) => any) | undefined;
271
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
272
+ "update:clear": () => any;
273
+ "keydown:enter": (data: string) => any;
274
+ }, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
275
+ $slots: {
276
+ button?(_: {}): any;
277
+ filterBody?(_: {}): any;
278
+ };
279
+ });
280
+ readonly TransferDialog: <T = Record<string, unknown>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: {
281
+ emit: {
282
+ (e: "update:modelValue", value: boolean): void;
283
+ (e: "update:submit", data: import('./types').TableColumn<T>[]): void;
284
+ };
285
+ attrs: any;
286
+ slots: {};
287
+ }, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
288
+ props: {
289
+ readonly "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
290
+ readonly "onUpdate:submit"?: ((data: import('./types').TableColumn<T>[]) => any) | undefined;
291
+ modelValue: boolean;
292
+ columnsValue: import('./types').TableColumn<T>[];
293
+ transferTitle: string;
294
+ } & import('vue').PublicProps;
295
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
296
+ attrs: any;
297
+ slots: {};
298
+ emit: {
299
+ (e: "update:modelValue", value: boolean): void;
300
+ (e: "update:submit", data: import('./types').TableColumn<T>[]): void;
301
+ };
302
+ }>) => import('vue').VNode & {
303
+ __ctx?: Awaited<typeof __VLS_setup>;
304
+ };
305
+ readonly TransferItem: <T = Record<string, unknown>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: {
306
+ emit: {
307
+ (e: "update:toTop"): void;
308
+ (e: "update:toPre"): void;
309
+ (e: "update:toNext"): void;
310
+ (e: "update:toBottom"): void;
311
+ };
312
+ attrs: any;
313
+ slots: {};
314
+ }, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
315
+ props: {
316
+ readonly "onUpdate:toTop"?: (() => any) | undefined;
317
+ readonly "onUpdate:toPre"?: (() => any) | undefined;
318
+ readonly "onUpdate:toNext"?: (() => any) | undefined;
319
+ readonly "onUpdate:toBottom"?: (() => any) | undefined;
320
+ dialogModalVisible: boolean;
321
+ columnsValue: import('./types').TableColumn<T>;
322
+ columnsIndex: number;
323
+ columnsLen: number;
324
+ } & import('vue').PublicProps;
325
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
326
+ attrs: any;
327
+ slots: {};
328
+ emit: {
329
+ (e: "update:toTop"): void;
330
+ (e: "update:toPre"): void;
331
+ (e: "update:toNext"): void;
332
+ (e: "update:toBottom"): void;
333
+ };
334
+ }>) => import('vue').VNode & {
335
+ __ctx?: Awaited<typeof __VLS_setup>;
336
+ };
337
+ };
338
+ export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rayyy-vue-table-components",
3
- "version": "1.0.23",
3
+ "version": "1.0.25",
4
4
  "description": "Vue 3 + Element Plus 表格組件庫",
5
5
  "type": "module",
6
6
  "main": "./dist/index.umd.js",
@@ -1,3 +1,23 @@
1
+ <template>
2
+ <el-input
3
+ v-model="v"
4
+ :placeholder="props.placeholder"
5
+ :type="props.type"
6
+ :class="props.class"
7
+ :show-password="props.showPassword"
8
+ :disabled="props.disabled"
9
+ :readonly="props.readonly"
10
+ :maxlength="props.maxlength"
11
+ :autocomplete="props.autocomplete"
12
+ clearable
13
+ @clear="handlerClear"
14
+ >
15
+ <template v-if="slots.prefix" #prefix>
16
+ <slot name="prefix" class="h-4" />
17
+ </template>
18
+ <template v-if="slots.append" #append><slot name="append" /></template>
19
+ </el-input>
20
+ </template>
1
21
 
2
22
  <script lang="ts" setup>
3
23
  import { computed, useSlots } from 'vue'
@@ -30,25 +50,3 @@ const handlerClear = () => {
30
50
  emits('update:clearValue')
31
51
  }
32
52
  </script>
33
-
34
-
35
- <template>
36
- <el-input
37
- v-model="v"
38
- :placeholder="props.placeholder"
39
- :type="props.type"
40
- :class="props.class"
41
- :show-password="props.showPassword"
42
- :disabled="props.disabled"
43
- :readonly="props.readonly"
44
- :maxlength="props.maxlength"
45
- :autocomplete="props.autocomplete"
46
- clearable
47
- @clear="handlerClear"
48
- >
49
- <template v-if="slots.prefix" #prefix>
50
- <slot name="prefix" class="h-4" />
51
- </template>
52
- <template v-if="slots.append" #append><slot name="append" /></template>
53
- </el-input>
54
- </template>