@fewangsit/wangsvue 1.5.205 → 1.5.206-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 (61) 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/badge/Badge.vue.d.ts +13 -3
  10. package/components/badgegroup/BadgeGroup.vue.d.ts +27 -3
  11. package/components/basetree/BaseTree.vue.d.ts +3 -1
  12. package/components/buttonbulkaction/ButtonBulkAction.vue.d.ts +19 -0
  13. package/components/buttondownload/ButtonDownload.vue.d.ts +4 -0
  14. package/components/buttonselecttree/ButtonSelectTree.vue.d.ts +7 -0
  15. package/components/buttonsplit/ButtonSplit.d.ts +350 -0
  16. package/components/buttonsplit/ButtonSplit.vue.d.ts +34 -0
  17. package/components/calendar/BaseCalendar.vue.d.ts +1 -1
  18. package/components/datatable/DataTable.vue.d.ts +42 -24
  19. package/components/dialogconfirm/DialogConfirm.vue.d.ts +5 -0
  20. package/components/dialogform/DialogForm.vue.d.ts +25 -1
  21. package/components/dialogselecttree/DialogSelectTree.vue.d.ts +11 -1
  22. package/components/filtercontainer/FilterContainer.vue.d.ts +4 -0
  23. package/components/form/Form.vue.d.ts +46 -2
  24. package/components/icon/Icon.vue.d.ts +26 -1
  25. package/components/index.d.ts +1 -0
  26. package/components/inputtext/InputText.vue.d.ts +7 -0
  27. package/components/loading/Loading.vue.d.ts +14 -0
  28. package/components/menuitem/index.d.ts +5 -0
  29. package/components/quickfilter/QuickFilter.vue.d.ts +10 -1
  30. package/components/taskdetail/blocks/common/InputAdditional.vue.d.ts +1 -1
  31. package/components/tree/Tree.vue.d.ts +19 -2
  32. package/event-bus/index.d.ts +6 -2
  33. package/event-bus/mitt.d.ts +5 -0
  34. package/loading-page-BrQattYE.js +1 -0
  35. package/loading-page-CgfbWppy.js +1 -0
  36. package/loading-page-CoC9UhfC.js +4 -0
  37. package/loading-page-CoXtqoc9.js +4 -0
  38. package/loading-page-DbLuqCHa.js +1 -0
  39. package/loading-page-f8D03l3G.js +4 -0
  40. package/loading-plane-CgfbWppy.js +1 -0
  41. package/loading-plane-CoXtqoc9.js +4 -0
  42. package/loading-table-Bb2MtjdD.js +4 -0
  43. package/loading-table-Br25QIny.js +1 -0
  44. package/loading-table-ByUoWqUo.js +4 -0
  45. package/loading-table-BygEMzFM.js +4 -0
  46. package/loading-table-BzrSQlA0.js +1 -0
  47. package/loading-table-chOgXi94.js +1 -0
  48. package/no-data-Cgze_Rvp.js +1 -0
  49. package/no-data-DLHO1L_u.js +4 -0
  50. package/no-data-g0dJCy2p.js +4 -0
  51. package/no-data-y1X5WtcQ.js +1 -0
  52. package/package.json +1 -1
  53. package/plugins/WangsVue.d.ts +11 -0
  54. package/style.css +2 -2
  55. package/utils/date.util.d.ts +19 -5
  56. package/utils/genPlaceholder.util.d.ts +6 -1
  57. package/wangsvue.es.js +24294 -24018
  58. package/wangsvue.system.js +129 -129
  59. /package/assets/lottie/{loading-table.lottie → admin/loading-table.lottie} +0 -0
  60. /package/assets/lottie/{loading-plane.lottie → workspace/loading-page.lottie} +0 -0
  61. /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
  /**
@@ -1,9 +1,19 @@
1
1
  import { ClassComponent } from '../ts-helpers';
2
2
 
3
+ export interface BadgeComponentConfigs {
4
+ /**
5
+ * The component configurasion to set the severity based on given label. If provided, props.severity might be omitted.
6
+ *
7
+ * @param label The badge label
8
+ * @returns The matched severity of given label
9
+ */
10
+ getSeverity?: (label?: string) => BadgeProps['severity'];
11
+ }
12
+
3
13
  /**
4
14
  * Props for Badge component
5
15
  */
6
- export interface BadgeProps {
16
+ export interface BadgeProps extends BadgeComponentConfigs {
7
17
  /**
8
18
  * The text to be displayed.
9
19
  */
@@ -13,9 +23,9 @@ export interface BadgeProps {
13
23
  */
14
24
  editable?: boolean;
15
25
  /**
16
- * Sets the severity level for styling purposes.
26
+ * Sets the severity level for styling purposes. This prop might be omitted if getSeverity is provided.
17
27
  */
18
- severity?: 'success' | 'danger' | 'warning' | 'dark' | 'primary';
28
+ severity?: 'success' | 'info' | 'danger' | 'warning' | 'dark' | 'primary';
19
29
  /**
20
30
  * Specifies the format for text truncation rules based on the usage context.
21
31
  */
@@ -1,9 +1,26 @@
1
+ import { Slot } from 'vue';
1
2
  import { BadgeProps } from 'lib/components/badge/Badge.vue.d';
2
- import { ClassComponent } from '../ts-helpers.d';
3
+ import { ClassComponent, HintedString } from '../ts-helpers.d';
4
+
5
+ export type ObjectBadge = {
6
+ text: string;
7
+ severity: 'success' | 'danger' | 'warning' | 'dark' | 'primary';
8
+ };
3
9
 
4
10
  export interface BadgeGroupProps
5
11
  extends Omit<BadgeProps, 'label' | 'disabled' | 'removable'> {
6
- labels: string[];
12
+ /**
13
+ * Support data type object to determine severity for specific text
14
+ */
15
+ labels: string[] | ObjectBadge[];
16
+ /**
17
+ * Determine whether severity of text "more" is customizable
18
+ *
19
+ * @default undefined
20
+ */
21
+ textMoreSeverity?: HintedString<
22
+ 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'contrast'
23
+ >;
7
24
  /**
8
25
  * The text shown on the more button
9
26
  *
@@ -25,8 +42,15 @@ export interface BadgeGroupProps
25
42
  emptyable?: boolean;
26
43
  }
27
44
 
45
+ export interface BadgeGroupSlots {
46
+ /**
47
+ * Slot for custom more dialog content
48
+ */
49
+ dialogcontent: Slot<{ labels: string[] }>;
50
+ }
51
+
28
52
  export default class Badge extends ClassComponent<
29
53
  BadgeGroupProps,
30
- unknown,
54
+ BadgeGroupSlots,
31
55
  unknown
32
56
  > {}
@@ -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
  */
@@ -300,6 +300,8 @@ export interface TreeContext {
300
300
  */
301
301
  export interface BaseTreeProps {
302
302
  disableKeys?: number[];
303
+ disableNodeAll?: boolean;
304
+ exactDisableKeys?: number[];
303
305
  level?: number;
304
306
  /**
305
307
  * List of labels that has no menu option
@@ -1,6 +1,25 @@
1
1
  import { DefineComponent } from 'vue';
2
2
  import { MenuItem } from '../menuitem';
3
3
 
4
+ export interface ButtonBulkActionLocaleConfig {
5
+ /**
6
+ * @example `{length} data selected`
7
+ */
8
+ currentSelectionMessage?: string;
9
+
10
+ /**
11
+ * @description Label for when all records have been selected.
12
+ * @example 'Select all ({totalRecords} data)' - totalRecords - The total number of records available to select.
13
+ */
14
+ allRecordSelected?: string;
15
+
16
+ /**
17
+ * @description Label for the "Select All" option in a bulk action button.
18
+ * @example `Select all ({totalRecords} items)` - totalRecords - The total number of records available to select.
19
+ */
20
+ selectAllRecords?: string;
21
+ }
22
+
4
23
  export interface ButtonBulkActionProps {
5
24
  /**
6
25
  * Disable the button.
@@ -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.
@@ -80,7 +80,14 @@ export interface ButtonSelectTreeProps {
80
80
  * @default false
81
81
  */
82
82
  autoSelectAll?: boolean;
83
+ /**
84
+ * A list of node keys that should be disabled along with their children.
85
+ */
83
86
  disableKeys?: number[];
87
+ /**
88
+ * A list of node keys that should be disabled, affecting only the specified nodes and not their children.
89
+ */
90
+ exactDisableKeys?: number[];
84
91
  /**
85
92
  * Disable the Select button
86
93
  */
@@ -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;