@fewangsit/wangsvue 1.5.204 → 1.5.205-alpha.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.
Files changed (55) hide show
  1. package/assets/lottie/admin/loading-page.lottie +0 -0
  2. package/assets/lottie/admin/no-data.lottie +0 -0
  3. package/assets/lottie/supplyasset/loading-page.lottie +0 -0
  4. package/assets/lottie/supplyasset/loading-table.lottie +0 -0
  5. package/assets/lottie/supplyasset/no-data.lottie +0 -0
  6. package/assets/lottie/workspace/loading-plane.lottie +0 -0
  7. package/assets/lottie/workspace/loading-table.lottie +0 -0
  8. package/components/animation/Animation.vue.d.ts +5 -1
  9. package/components/basetree/BaseTree.vue.d.ts +1 -1
  10. package/components/buttondownload/ButtonDownload.vue.d.ts +4 -0
  11. package/components/buttonsplit/ButtonSplit.d.ts +350 -0
  12. package/components/buttonsplit/ButtonSplit.vue.d.ts +34 -0
  13. package/components/calendar/BaseCalendar.vue.d.ts +1 -1
  14. package/components/datatable/DataTable.vue.d.ts +32 -21
  15. package/components/dialogconfirm/DialogConfirm.vue.d.ts +5 -0
  16. package/components/dialogform/DialogForm.vue.d.ts +25 -1
  17. package/components/filtercontainer/FilterContainer.vue.d.ts +2 -0
  18. package/components/form/Form.vue.d.ts +40 -2
  19. package/components/icon/Icon.vue.d.ts +9 -1
  20. package/components/index.d.ts +1 -0
  21. package/components/inputtext/InputText.vue.d.ts +7 -0
  22. package/components/loading/Loading.vue.d.ts +14 -0
  23. package/components/taskdetail/blocks/common/InputAdditional.vue.d.ts +1 -1
  24. package/components/tasktable/TaskTable.vue.d.ts +3 -2
  25. package/components/tree/Tree.vue.d.ts +6 -1
  26. package/event-bus/index.d.ts +6 -2
  27. package/event-bus/mitt.d.ts +5 -0
  28. package/loading-page-BrQattYE.js +1 -0
  29. package/loading-page-CgfbWppy.js +1 -0
  30. package/loading-page-CoC9UhfC.js +4 -0
  31. package/loading-page-CoXtqoc9.js +4 -0
  32. package/loading-page-DbLuqCHa.js +1 -0
  33. package/loading-page-f8D03l3G.js +4 -0
  34. package/loading-plane-CgfbWppy.js +1 -0
  35. package/loading-plane-CoXtqoc9.js +4 -0
  36. package/loading-table-Bb2MtjdD.js +4 -0
  37. package/loading-table-Br25QIny.js +1 -0
  38. package/loading-table-ByUoWqUo.js +4 -0
  39. package/loading-table-BygEMzFM.js +4 -0
  40. package/loading-table-BzrSQlA0.js +1 -0
  41. package/loading-table-chOgXi94.js +1 -0
  42. package/no-data-Cgze_Rvp.js +1 -0
  43. package/no-data-DLHO1L_u.js +4 -0
  44. package/no-data-g0dJCy2p.js +4 -0
  45. package/no-data-y1X5WtcQ.js +1 -0
  46. package/package.json +1 -1
  47. package/plugins/WangsVue.d.ts +8 -0
  48. package/style.css +2 -2
  49. package/utils/date.util.d.ts +19 -5
  50. package/utils/genPlaceholder.util.d.ts +6 -1
  51. package/wangsvue.es.js +23346 -23161
  52. package/wangsvue.system.js +128 -128
  53. /package/assets/lottie/{loading-table.lottie → admin/loading-table.lottie} +0 -0
  54. /package/assets/lottie/{loading-plane.lottie → workspace/loading-page.lottie} +0 -0
  55. /package/assets/lottie/{no-data.lottie → workspace/no-data.lottie} +0 -0
@@ -1,7 +1,11 @@
1
1
  import { ClassComponent } from 'lib/components/ts-helpers.d';
2
2
 
3
+ export interface AnimationDefaultConfig {
4
+ libPath: 'supplyasset' | 'workspace' | 'admin';
5
+ }
6
+
3
7
  export interface AnimationProps {
4
- animation: 'no-data' | 'loading-plane' | 'loading-table';
8
+ animation: 'no-data' | 'loading-plane' | 'loading-page' | 'loading-table';
5
9
  }
6
10
 
7
11
  /**
@@ -34,7 +34,7 @@ export interface TreeNode {
34
34
  /**
35
35
  * Mandatory unique key of the node.
36
36
  */
37
- key: string;
37
+ key: string | number;
38
38
  /**
39
39
  * Label of the node.
40
40
  */
@@ -2,6 +2,10 @@ import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers.d';
2
2
 
3
3
  export interface ButtonDownloadProps {
4
4
  fileName: string;
5
+ /**
6
+ * Text of the button.
7
+ */
8
+ label?: string;
5
9
  /**
6
10
  * Specify which table to be exported.
7
11
  * When it is not specified, the default name of data table will be used.
@@ -0,0 +1,350 @@
1
+ /**
2
+ *
3
+ * ButtonSplit groups a set of commands in an overlay with a default command.
4
+ *
5
+ * [Live Demo](https://www.primevue.org/splitbutton/)
6
+ *
7
+ * @module splitbutton
8
+ *
9
+ */
10
+ import { ButtonHTMLAttributes, VNode } from 'vue';
11
+ import { ComponentHooks } from '../basecomponent';
12
+ import { ButtonPassThroughOptions } from 'primevue/button';
13
+ import { MenuItem } from '../menuitem';
14
+ import { PassThroughOptions } from '../passthrough';
15
+ import {
16
+ TieredMenuPassThroughOptions,
17
+ TieredMenuRouterBindProps,
18
+ } from 'primevue/tieredmenu';
19
+ import {
20
+ ClassComponent,
21
+ GlobalComponentConstructor,
22
+ PassThrough,
23
+ HintedString,
24
+ } from '../ts-helpers';
25
+ import { WangsIcons } from '../icon/Icon.vue.d';
26
+
27
+ export declare type ButtonSplitPassThroughOptionType =
28
+ | ButtonSplitPassThroughAttributes
29
+ | ((
30
+ options: ButtonSplitPassThroughMethodOptions,
31
+ ) => ButtonSplitPassThroughAttributes | string)
32
+ | string
33
+ | null
34
+ | undefined;
35
+
36
+ /**
37
+ * Custom passthrough(pt) option method.
38
+ */
39
+ export interface ButtonSplitPassThroughMethodOptions {
40
+ /**
41
+ * Defines instance.
42
+ */
43
+ instance: any;
44
+ /**
45
+ * Defines valid properties.
46
+ */
47
+ props: ButtonSplitProps;
48
+ /**
49
+ * Defines current inline state.
50
+ */
51
+ state: ButtonSplitState;
52
+ /**
53
+ * Defines valid attributes.
54
+ */
55
+ attrs: any;
56
+ /**
57
+ * Defines parent options.
58
+ */
59
+ parent: any;
60
+ /**
61
+ * Defines passthrough(pt) options in global config.
62
+ */
63
+ global: object | undefined;
64
+ }
65
+
66
+ /**
67
+ * Custom shared passthrough(pt) option method.
68
+ */
69
+ export interface ButtonSplitSharedPassThroughMethodOptions {
70
+ /**
71
+ * Defines valid properties.
72
+ */
73
+ props: ButtonSplitProps;
74
+ /**
75
+ * Defines current inline state.
76
+ */
77
+ state: ButtonSplitState;
78
+ }
79
+
80
+ /**
81
+ * Custom passthrough(pt) options.
82
+ * @see {@link ButtonSplitProps.pt}
83
+ */
84
+ export interface ButtonSplitPassThroughOptions {
85
+ /**
86
+ * Used to pass attributes to the root's DOM element.
87
+ */
88
+ root?: ButtonSplitPassThroughOptionType;
89
+ /**
90
+ * Used to pass attributes to the button's DOM element.
91
+ */
92
+ button?: ButtonSplitPassThroughOptionType;
93
+ /**
94
+ * Used to pass attributes to the Button component.
95
+ * @see {@link ButtonPassThroughOptions}
96
+ */
97
+ menuButton?: ButtonPassThroughOptions<ButtonSplitSharedPassThroughMethodOptions>;
98
+ /**
99
+ * Used to pass attributes to the TieredMenu component.
100
+ * @see {@link TieredMenuPassThroughOptions}
101
+ */
102
+ menu?: TieredMenuPassThroughOptions<ButtonSplitSharedPassThroughMethodOptions>;
103
+ /**
104
+ * Used to manage all lifecycle hooks.
105
+ * @see {@link BaseComponent.ComponentHooks}
106
+ */
107
+ hooks?: ComponentHooks;
108
+ }
109
+
110
+ /**
111
+ * Custom passthrough attributes for each DOM elements
112
+ */
113
+ export interface ButtonSplitPassThroughAttributes {
114
+ [key: string]: any;
115
+ }
116
+
117
+ /**
118
+ * Defines current inline state in ButtonSplit component.
119
+ */
120
+ export interface ButtonSplitState {
121
+ /**
122
+ * Current blocked state as a boolean.
123
+ * @defaultValue false
124
+ */
125
+ isBlocked: boolean;
126
+ }
127
+
128
+ /**
129
+ * Defines valid properties in ButtonSplit component.
130
+ */
131
+ export interface ButtonSplitProps {
132
+ /**
133
+ * Text of the button.
134
+ */
135
+ label?: string | undefined;
136
+ /**
137
+ * Name of the icon of main button.
138
+ */
139
+ icon?: WangsIcons | undefined;
140
+ /**
141
+ * MenuModel instance to define the overlay items.
142
+ */
143
+ model?: MenuItem[] | undefined;
144
+ /**
145
+ * Whether to automatically manage layering.
146
+ * @defaultValue true
147
+ */
148
+ autoZIndex?: boolean | undefined;
149
+ /**
150
+ * Base zIndex value to use in layering.
151
+ * @defaultValue 0
152
+ */
153
+ baseZIndex?: number | undefined;
154
+ /**
155
+ * A valid query selector or an HTMLElement to specify where the overlay gets attached.
156
+ * Special keywords are 'body' for document body and 'self' for the element itself.
157
+ * @defaultValue body
158
+ */
159
+ appendTo?: HintedString<'body' | 'self'> | undefined | HTMLElement;
160
+ /**
161
+ * When present, it specifies that the element should be disabled.
162
+ * @defaultValue false
163
+ */
164
+ disabled?: boolean | undefined;
165
+ /**
166
+ * Style class of the component.
167
+ */
168
+ class?: any | undefined;
169
+ /**
170
+ * Inline style of the component.
171
+ */
172
+ style?: any | undefined;
173
+ /**
174
+ * Used to pass all properties of the HTMLButtonElement to the default button.
175
+ */
176
+ buttonProps?: ButtonHTMLAttributes | undefined;
177
+ /**
178
+ * Used to pass all properties of the HTMLButtonElement to the menu button.
179
+ */
180
+ menuButtonProps?: ButtonHTMLAttributes | undefined;
181
+ /**
182
+ * Name of the menu button icon.
183
+ */
184
+ menuButtonIcon?: WangsIcons | undefined;
185
+ /**
186
+ * Defines the style of the button.
187
+ */
188
+ severity?:
189
+ | HintedString<
190
+ | 'secondary'
191
+ | 'success'
192
+ | 'info'
193
+ | 'warning'
194
+ | 'help'
195
+ | 'danger'
196
+ | 'contrast'
197
+ >
198
+ | undefined;
199
+ /**
200
+ * Add a shadow to indicate elevation.
201
+ * @defaultValue false
202
+ */
203
+ raised?: boolean | undefined;
204
+ /**
205
+ * Add a circular border radius to the button.
206
+ * @defaultValue false
207
+ */
208
+ rounded?: boolean | undefined;
209
+ /**
210
+ * Add a textual class to the button without a background initially.
211
+ * @defaultValue false
212
+ */
213
+ text?: boolean | undefined;
214
+ /**
215
+ * Add a border class without a background initially.
216
+ * @defaultValue false
217
+ */
218
+ outlined?: boolean | undefined;
219
+ /**
220
+ * Defines the size of the button.
221
+ */
222
+ size?: 'small' | 'large' | undefined;
223
+ /**
224
+ * Add a plain textual class to the button without a background initially.
225
+ * @defaultValue false
226
+ */
227
+ plain?: boolean | undefined;
228
+ /**
229
+ * Used to pass attributes to DOM elements inside the component.
230
+ * @type {ButtonSplitPassThroughOptions}
231
+ */
232
+ pt?: PassThrough<ButtonSplitPassThroughOptions>;
233
+ /**
234
+ * Used to configure passthrough(pt) options of the component.
235
+ * @type {PassThroughOptions}
236
+ */
237
+ ptOptions?: PassThroughOptions;
238
+ /**
239
+ * When enabled, it removes component related styles in the core.
240
+ * @defaultValue false
241
+ */
242
+ unstyled?: boolean;
243
+ }
244
+
245
+ /**
246
+ * Defines valid slots in ButtonSplit component.
247
+ */
248
+ export interface ButtonSplitSlots {
249
+ /**
250
+ * Button part of the content can easily be customized with the default slot instead of using the built-in modes.
251
+ */
252
+ default(): VNode[];
253
+ /**
254
+ * Command button part of the content can easily be customized with the button content slot.
255
+ */
256
+ buttoncontent(): VNode[];
257
+ /**
258
+ * Custom button icon template.
259
+ * @param {Object} scope - icon slot's params.
260
+ */
261
+ icon(scope: {
262
+ /**
263
+ * Style class of the icon.
264
+ */
265
+ class: string;
266
+ }): VNode[];
267
+ /**
268
+ * Custom menu button icon template.
269
+ * @param {Object} scope - menubuttonicon slot's params.
270
+ */
271
+ menubuttonicon(scope: {
272
+ /**
273
+ * Style class of the icon.
274
+ */
275
+ class: string;
276
+ }): VNode[];
277
+ /**
278
+ * Custom menu item icon template.
279
+ * @param {Object} scope - menuitemicon slot's params.
280
+ */
281
+ menuitemicon(scope: {
282
+ /**
283
+ * Menuitem instance
284
+ */
285
+ item: MenuItem;
286
+ /**
287
+ * Style class of the item icon element.
288
+ */
289
+ class: any;
290
+ }): VNode[];
291
+ /**
292
+ * Custom content for each menu item.
293
+ * @param {Object} scope - item slot's params.
294
+ */
295
+ item(scope: {
296
+ /**
297
+ * Menuitem instance
298
+ */
299
+ item: MenuItem;
300
+ /**
301
+ * Label property of the menuitem
302
+ */
303
+ label: string | ((...args: any) => string) | undefined;
304
+ /**
305
+ * Binding properties of the menuitem
306
+ */
307
+ props: TieredMenuRouterBindProps;
308
+ /**
309
+ * Whether or not there is a submenu
310
+ */
311
+ hasSubmenu: boolean;
312
+ }): VNode[];
313
+ }
314
+
315
+ /**
316
+ * Defines valid emits in ButtonSplit component.
317
+ */
318
+ export interface ButtonSplitEmits {
319
+ /**
320
+ * Callback to invoke when main button is clicked.
321
+ * @param {Event} event - Browser event.
322
+ */
323
+ click(event: Event): void;
324
+ }
325
+
326
+ /**
327
+ * **PrimeVue - ButtonSplit**
328
+ *
329
+ * _ButtonSplit groups a set of commands in an overlay with a default command._
330
+ *
331
+ * [Live Demo](https://www.primevue.org/splitbutton/)
332
+ * --- ---
333
+ * ![PrimeVue](https://primefaces.org/cdn/primevue/images/logo-100.png)
334
+ *
335
+ * @group Component
336
+ *
337
+ */
338
+ declare class ButtonSplit extends ClassComponent<
339
+ ButtonSplitProps,
340
+ ButtonSplitSlots,
341
+ ButtonSplitEmits
342
+ > {}
343
+
344
+ declare module 'vue' {
345
+ export interface GlobalComponents {
346
+ ButtonSplit: GlobalComponentConstructor<ButtonSplit>;
347
+ }
348
+ }
349
+
350
+ export default ButtonSplit;
@@ -0,0 +1,34 @@
1
+ import { ButtonSplitProps } from './ButtonSplit.d';
2
+ declare function __VLS_template(): {
3
+ menuitemicon?(_: {
4
+ item: any;
5
+ class: any;
6
+ }): any;
7
+ item?(_: {
8
+ hasSubmenu: any;
9
+ item: any;
10
+ label: any;
11
+ props: any;
12
+ }): any;
13
+ };
14
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_TypePropsToOption<ButtonSplitProps>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
15
+ click: (event: Event) => void;
16
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToOption<ButtonSplitProps>>> & {
17
+ onClick?: (event: Event) => any;
18
+ }, {}, {}>;
19
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
20
+ export default _default;
21
+ type __VLS_WithTemplateSlots<T, S> = T & {
22
+ new (): {
23
+ $slots: S;
24
+ };
25
+ };
26
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
27
+ type __VLS_TypePropsToOption<T> = {
28
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
29
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
30
+ } : {
31
+ type: import('vue').PropType<T[K]>;
32
+ required: true;
33
+ };
34
+ };
@@ -45,9 +45,9 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_WithDefaults<
45
45
  onDateSelect?: (date: Date | Date[]) => any;
46
46
  }, {
47
47
  dateFormat: string | undefined;
48
+ showOptionalText: boolean;
48
49
  mode: "range" | "single";
49
50
  view: "date" | "month" | "year" | undefined;
50
- showOptionalText: boolean;
51
51
  valueFormat: "date" | "millis";
52
52
  selectionMode: "range" | "single";
53
53
  hideOnRangeSelection: boolean | undefined;
@@ -125,6 +125,7 @@ export type FetchResponse<T = Data> = {
125
125
  };
126
126
 
127
127
  export type ShortFetchResponse<T = Data> = {
128
+ status: number;
128
129
  message: string;
129
130
  data: T[];
130
131
  };
@@ -138,31 +139,35 @@ export type TableCellComponent = {
138
139
  disabled?: boolean;
139
140
  };
140
141
 
142
+ export type TogglePresetConfirmDialogProps = Omit<
143
+ DialogConfirmProps,
144
+ 'visible' | 'list' | 'onConfirm'
145
+ > & {
146
+ /**
147
+ * When the dialog should be shown?
148
+ * Pass a boolean returning function to show dialog when it returns true.
149
+ *
150
+ * @default both - leave this as undefined to show on both states
151
+ */
152
+ showWhen?:
153
+ | 'active'
154
+ | 'inactive'
155
+ | ((data: any) => boolean)
156
+ | ((data: any) => Promise<boolean>);
157
+ };
158
+
141
159
  interface ColumnConfirmActionPresetBase {
142
160
  /**
143
161
  * Use dialog confirmation
144
162
  */
145
- confirmDialogProps?: Omit<
146
- DialogConfirmProps,
147
- 'visible' | 'list' | 'onConfirm'
148
- > & {
149
- /**
150
- * When the dialog should be shown?
151
- * Pass a boolean returning function to show dialog when it returns true.
152
- *
153
- * @default both - leave this as undefined to show on both states
154
- */
155
- showWhen?:
156
- | 'active'
157
- | 'inactive'
158
- | ((data: Data) => boolean)
159
- | ((data: Data) => Promise<boolean>);
160
- };
163
+ confirmDialogProps?:
164
+ | TogglePresetConfirmDialogProps
165
+ | ((state: boolean, data: any) => TogglePresetConfirmDialogProps);
161
166
 
162
167
  /**
163
168
  * Callback for confirmation
164
169
  */
165
- onConfirm?: (state: boolean, data: Data, revertFunction: () => void) => void;
170
+ onConfirm?: (state: boolean, data: any, revertFunction: () => void) => void;
166
171
  }
167
172
 
168
173
  export interface ColumnTogglePreset extends ColumnConfirmActionPresetBase {
@@ -174,12 +179,12 @@ export interface ColumnTogglePreset extends ColumnConfirmActionPresetBase {
174
179
  * @param revertFunction - function to revert previous state when action failed or canceled
175
180
  * @returns
176
181
  */
177
- onToggle?: (state: boolean, data: Data, revertFunction: () => void) => void;
182
+ onToggle?: (state: boolean, data: any, revertFunction: () => void) => void;
178
183
 
179
184
  /**
180
185
  * Add conditional disabling for each row
181
186
  */
182
- disabled?: boolean | ((data: Data) => boolean);
187
+ disabled?: boolean | ((data: any) => boolean);
183
188
  }
184
189
 
185
190
  export interface ColumnCheckboxPreset extends ColumnConfirmActionPresetBase {
@@ -191,12 +196,12 @@ export interface ColumnCheckboxPreset extends ColumnConfirmActionPresetBase {
191
196
  * @param revertFunction - function to revert previous state when action failed or canceled
192
197
  * @returns
193
198
  */
194
- onCheck?: (state: boolean, data: Data, revertFunction: () => void) => void;
199
+ onCheck?: (state: boolean, data: any, revertFunction: () => void) => void;
195
200
 
196
201
  /**
197
202
  * Add conditional disabling for each row
198
203
  */
199
- disabled?: boolean | ((data: Data) => boolean);
204
+ disabled?: boolean | ((data: any) => boolean);
200
205
  }
201
206
 
202
207
  export interface ColumnMultiRowPreset {
@@ -590,6 +595,12 @@ export interface BaseDataTableProps {
590
595
  * Specify the error message download excel
591
596
  */
592
597
  excelToastErrorMessage?: string;
598
+ /**
599
+ * Custom message when data table is empty
600
+ *
601
+ * Will be shown bellow no-data animation
602
+ */
603
+ emptyTableMessage?: string;
593
604
  }
594
605
 
595
606
  export type DataTableProps = BaseDataTableProps | TreeTableProps;
@@ -84,6 +84,11 @@ export interface DialogConfirmProps {
84
84
  * @default true;
85
85
  */
86
86
  showCloseButton?: boolean;
87
+
88
+ /**
89
+ * Set class for content element.
90
+ */
91
+ contentClass?: any;
87
92
  }
88
93
 
89
94
  /**
@@ -183,8 +183,10 @@ export interface DialogFormProps extends FormProps {
183
183
  *
184
184
  * If after executing this function the props invalid is true, the form will not be submitted.
185
185
  * Otherwise, 'submit' event will be emitted.
186
+ *
187
+ * @param values - the Form values
186
188
  */
187
- validationFunction?: () => void | Promise<void>;
189
+ validationFunction?: (values: GenericObject) => void | Promise<void>;
188
190
 
189
191
  /**
190
192
  * Set the dialog size.
@@ -314,6 +316,28 @@ declare class DialogForm extends ClassComponent<
314
316
  * The ref of form element.
315
317
  */
316
318
  form: FormInstance;
319
+
320
+ /**
321
+ * Set initial values for all fields.
322
+ */
323
+ setValues: (values: GenericObject) => void;
324
+
325
+ /**
326
+ * Set value for specific field.
327
+ */
328
+ setFieldValue: <T extends string>(
329
+ field: T,
330
+ value: GenericObject[T],
331
+ shouldValidate?: boolean,
332
+ ) => void;
333
+
334
+ /**
335
+ * Set errors fields
336
+ * @param fields - {
337
+ * name: 'This name already exists'
338
+ * }
339
+ */
340
+ setErrors(fields: GenericObject): void;
317
341
  }
318
342
 
319
343
  declare module '@vue/runtime-core' {
@@ -11,6 +11,7 @@ import { ButtonSelectTreeProps } from '../buttonselecttree/ButtonSelectTree.vue.
11
11
  export interface MultiSelectFilterField extends MultiSelectProps {
12
12
  type: 'multiselect';
13
13
  field: string; // The name of the field this filter applies to
14
+ optionField: string; // @example - actionOptions
14
15
  fetchOptionFn?:
15
16
  | ((args?: any) => MultiSelectOption[]) // Sync function to fetch options
16
17
  | ((args?: any) => Promise<MultiSelectOption[]>); // Async function
@@ -19,6 +20,7 @@ export interface MultiSelectFilterField extends MultiSelectProps {
19
20
  export interface DropdownFilterField extends DropdownProps {
20
21
  type: 'dropdown';
21
22
  field: string; // The name of the field this filter applies to
23
+ optionField?: string; // @example - actionOptions
22
24
  fetchOptionFn?:
23
25
  | ((args?: any) => MultiSelectOption[]) // Sync function to fetch options
24
26
  | ((args?: any) => Promise<MultiSelectOption[]>); // Async function
@@ -1,4 +1,9 @@
1
- import { FieldContext, FieldState, GenericObject } from 'vee-validate';
1
+ import {
2
+ FieldContext,
3
+ FieldState,
4
+ GenericObject,
5
+ MaybeArray,
6
+ } from 'vee-validate';
2
7
  import { Ref, Slot } from 'vue';
3
8
  import {
4
9
  ClassComponent,
@@ -41,7 +46,13 @@ export type FieldValidation<T = FieldValue | undefined> =
41
46
  value: T;
42
47
  });
43
48
 
44
- export type FormValue = Record<string, unknown> | Record<string, unknown>[];
49
+ export type FormValue =
50
+ | string
51
+ | boolean
52
+ | number
53
+ | File
54
+ | GenericObject
55
+ | MaybeArray<any>;
45
56
 
46
57
  /**
47
58
  * Generic form payload, able to receive types from outside
@@ -60,6 +71,11 @@ export interface FormProps {
60
71
  */
61
72
  buttonsTemplate?: ('cancel' | 'clear' | 'save' | 'submit')[];
62
73
 
74
+ /**
75
+ * Conditionally disable submit button.
76
+ */
77
+ disableSubmit?: boolean;
78
+
63
79
  /**
64
80
  * Custom button cancel label.
65
81
  */
@@ -251,6 +267,28 @@ declare class Form extends ClassComponent<FormProps, FormSlots, FormEmits> {
251
267
  * Exposed function to set the outer fields wrapper height.
252
268
  */
253
269
  setOuterFieldsWrapperHeight: () => void;
270
+
271
+ /**
272
+ * Set the form values.
273
+ */
274
+ setValues: (values: GenericObject) => void;
275
+
276
+ /**
277
+ * Set value for specific field.
278
+ */
279
+ setFieldValue<T extends string>(
280
+ field: T,
281
+ value: GenericObject[T],
282
+ shouldValidate?: boolean,
283
+ ): void;
284
+
285
+ /**
286
+ * Set errors fields
287
+ * @param fields - {
288
+ * name: 'This name already exists'
289
+ * }
290
+ */
291
+ setErrors(fields: GenericObject): void;
254
292
  }
255
293
 
256
294
  declare module '@vue/runtime-core' {