@fewangsit/wangsvue-fats 1.0.0-alpha.31 → 1.0.0-alpha.32

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 (101) hide show
  1. package/components/animation/Animation.vue.d.ts +24 -0
  2. package/components/approverinfo/ApproverInfo.vue.d.ts +51 -0
  3. package/components/assetinfo/AssetInfo.vue.d.ts +34 -0
  4. package/components/badge/Badge.vue.d.ts +73 -0
  5. package/components/badgegroup/BadgeGroup.vue.d.ts +52 -0
  6. package/components/basecomponent/index.d.ts +28 -0
  7. package/components/basetree/BaseTree.vue.d.ts +591 -0
  8. package/components/basetree/TreeNode.vue.d.ts +35 -0
  9. package/components/breadcrumb/Breadcrumb.vue.d.ts +26 -0
  10. package/components/button/Button.vue.d.ts +188 -0
  11. package/components/buttonImportExcel/ButtonImportExcel.vue.d.ts +35 -0
  12. package/components/buttonbulkaction/ButtonBulkAction.vue.d.ts +104 -0
  13. package/components/buttoncopy/ButtonCopy.vue.d.ts +26 -0
  14. package/components/buttondownload/ButtonDownload.vue.d.ts +49 -0
  15. package/components/buttonfilter/ButtonFilter.vue.d.ts +12 -0
  16. package/components/buttonradio/ButtonRadio.vue.d.ts +257 -0
  17. package/components/buttonscan/ButtonScan.vue.d.ts +201 -0
  18. package/components/buttonsearch/ButtonSearch.vue.d.ts +38 -0
  19. package/components/buttonselecttree/ButtonSelectTree.vue.d.ts +200 -0
  20. package/components/buttonsplit/ButtonSplit.vue.d.ts +350 -0
  21. package/components/buttonsync/ButtonSync.vue.d.ts +22 -0
  22. package/components/buttontoggle/ButtonToggle.vue.d.ts +18 -0
  23. package/components/buttonviewlog/ButtonViewLog.vue.d.ts +17 -0
  24. package/components/calendar/Calendar.vue.d.ts +570 -0
  25. package/components/card/Card.vue.d.ts +139 -0
  26. package/components/checkbox/Checkbox.vue.d.ts +329 -0
  27. package/components/customcolumn/CustomColumn.vue.d.ts +37 -0
  28. package/components/datatable/DataTable.vue.d.ts +735 -0
  29. package/components/dialog/Dialog.vue.d.ts +464 -0
  30. package/components/dialogconfirm/DialogConfirm.vue.d.ts +164 -0
  31. package/components/dialogform/DialogForm.vue.d.ts +349 -0
  32. package/components/dialogselecttree/DialogSelectTree.vue.d.ts +136 -0
  33. package/components/dropdown/Dropdown.vue.d.ts +274 -0
  34. package/components/editor/Editor.vue.d.ts +191 -0
  35. package/components/fieldwrapper/FieldWrapper.vue.d.ts +69 -0
  36. package/components/fileupload/FileUpload.vue.d.ts +169 -0
  37. package/components/filtercontainer/FilterContainer.vue.d.ts +184 -0
  38. package/components/form/Form.vue.d.ts +316 -0
  39. package/components/icon/Icon.vue.d.ts +256 -0
  40. package/components/image/Image.vue.d.ts +403 -0
  41. package/components/imagecompressor/ImageCompressor.vue.d.ts +229 -0
  42. package/components/index.d.ts +58 -0
  43. package/components/inputbadge/InputBadge.vue.d.ts +122 -0
  44. package/components/inputcurrency/InputCurrency.vue.d.ts +170 -0
  45. package/components/inputcurrency/helpers/currency.helper.d.ts +8 -0
  46. package/components/inputemail/InputEmail.vue.d.ts +25 -0
  47. package/components/inputnumber/InputNumber.vue.d.ts +282 -0
  48. package/components/inputpassword/InputPassword.vue.d.ts +32 -0
  49. package/components/inputphonenumber/InputPhoneNumber.vue.d.ts +99 -0
  50. package/components/inputrangenumber/InputRangeNumber.vue.d.ts +120 -0
  51. package/components/inputsearch/InputSearch.vue.d.ts +36 -0
  52. package/components/inputtext/InputText.vue.d.ts +352 -0
  53. package/components/inputurl/InputURL.vue.d.ts +39 -0
  54. package/components/invisiblefield/InvisibleField.vue.d.ts +32 -0
  55. package/components/languagedropdown/LanguageDropdown.vue.d.ts +32 -0
  56. package/components/litedropdown/LiteDropdown.vue.d.ts +96 -0
  57. package/components/loading/Loading.vue.d.ts +47 -0
  58. package/components/loading/store/loading.store.d.ts +8 -0
  59. package/components/menu/Menu.vue.d.ts +390 -0
  60. package/components/menuitem/index.d.ts +106 -0
  61. package/components/multiselect/MultiSelect.vue.d.ts +194 -0
  62. package/components/overlaypanel/OverlayPanel.vue.d.ts +301 -0
  63. package/components/passthrough/index.d.ts +16 -0
  64. package/components/tabmenu/TabMenu.vue.d.ts +288 -0
  65. package/components/textarea/Textarea.vue.d.ts +170 -0
  66. package/components/timeline/Timeline.vue.d.ts +121 -0
  67. package/components/toast/Toast.vue.d.ts +367 -0
  68. package/components/toggleswitch/ToggleSwitch.vue.d.ts +281 -0
  69. package/components/tree/Tree.vue.d.ts +148 -0
  70. package/components/tree/helpers/filterNodeKeys.helper.d.ts +22 -0
  71. package/components/tree/helpers/flattenTreeNodeChildren.helper.d.ts +8 -0
  72. package/components/treesearchinput/TreeSearchInput.vue.d.ts +16 -0
  73. package/components/ts-helpers.d.ts +83 -0
  74. package/components/username/UserName.vue.d.ts +113 -0
  75. package/components/userwithicon/UserWithIcon.vue.d.ts +20 -0
  76. package/config/defaultProps.d.ts +3 -0
  77. package/config/index.d.ts +3 -0
  78. package/config/locale.d.ts +3 -0
  79. package/directives/focus.d.ts +1 -1
  80. package/event-bus/index.d.ts +51 -51
  81. package/event-bus/mitt.d.ts +29 -14
  82. package/main.d.ts +31 -0
  83. package/package.json +8 -4
  84. package/plugins/WangsVue.d.ts +249 -199
  85. package/plugins/formValidation.d.ts +15 -6
  86. package/plugins/i18n-extension.d.ts +4 -0
  87. package/plugins/i18n.d.ts +82 -78
  88. package/utils/date.util.d.ts +59 -30
  89. package/utils/getSeverityByAssetStatus.util.d.ts +3 -0
  90. package/utils/index.d.ts +8 -0
  91. package/utils/listenSidebarChanges.util.d.ts +16 -0
  92. package/utils/object.util.d.ts +14 -3
  93. package/utils/role.util.d.ts +68 -0
  94. package/utils/toast.util.d.ts +78 -78
  95. package/utils/addAttachment.util.d.ts +0 -43
  96. package/utils/exportToExcel.util.d.ts +0 -20
  97. package/utils/filterOptions.util.d.ts +0 -3
  98. package/utils/genPlaceholder.util.d.ts +0 -8
  99. package/utils/getAttachmentIcon.util.d.ts +0 -8
  100. package/utils/mergePropsWithDefaults.util.d.ts +0 -20
  101. package/utils/textFormatter.util.d.ts +0 -17
@@ -0,0 +1,281 @@
1
+ /**
2
+ *
3
+ * ToggleSwitch is used to select a boolean value.
4
+ *
5
+ * @module ToggleSwitch
6
+ *
7
+ */
8
+ import { StyleValue } from 'vue';
9
+ import { ComponentHooks } from '../basecomponent';
10
+ import { PassThroughOptions } from '../passthrough';
11
+ import {
12
+ ClassComponent,
13
+ GlobalComponentConstructor,
14
+ PassThrough,
15
+ } from '../ts-helpers';
16
+
17
+ export declare type ToggleSwitchPassThroughOptionType =
18
+ | ToggleSwitchPassThroughAttributes
19
+ | ((
20
+ options: ToggleSwitchPassThroughMethodOptions,
21
+ ) => ToggleSwitchPassThroughAttributes | string)
22
+ | string
23
+ | null
24
+ | undefined;
25
+
26
+ /**
27
+ * Custom passthrough(pt) option method.
28
+ */
29
+ export interface ToggleSwitchPassThroughMethodOptions {
30
+ /**
31
+ * Defines instance.
32
+ */
33
+ instance: any;
34
+
35
+ /**
36
+ * Defines valid properties.
37
+ */
38
+ props: ToggleSwitchProps;
39
+
40
+ /**
41
+ * Defines current options.
42
+ */
43
+ context: ToggleSwitchContext;
44
+
45
+ /**
46
+ * Defines valid attributes.
47
+ */
48
+ attrs: any;
49
+
50
+ /**
51
+ * Defines parent options.
52
+ */
53
+ parent: any;
54
+
55
+ /**
56
+ * Defines passthrough(pt) options in global config.
57
+ */
58
+ global: object | undefined;
59
+ }
60
+
61
+ /**
62
+ * Custom passthrough(pt) options.
63
+ * @see {@link ToggleSwitchProps.pt}
64
+ */
65
+ export interface ToggleSwitchPassThroughOptions {
66
+ /**
67
+ * Used to pass attributes to the root's DOM element.
68
+ */
69
+ root?: ToggleSwitchPassThroughOptionType;
70
+
71
+ /**
72
+ * Used to pass attributes to the input's DOM element.
73
+ */
74
+ input?: ToggleSwitchPassThroughOptionType;
75
+
76
+ /**
77
+ * Used to pass attributes to the slider's DOM element.
78
+ */
79
+ slider?: ToggleSwitchPassThroughOptionType;
80
+
81
+ /**
82
+ * Used to manage all lifecycle hooks.
83
+ * @see {@link BaseComponent.ComponentHooks}
84
+ */
85
+ hooks?: ComponentHooks;
86
+ }
87
+
88
+ /**
89
+ * Custom passthrough attributes for each DOM elements
90
+ */
91
+ export interface ToggleSwitchPassThroughAttributes {
92
+ [key: string]: any;
93
+ }
94
+
95
+ /**
96
+ * Defines valid properties in ToggleSwitch component.
97
+ */
98
+ export interface ToggleSwitchProps {
99
+ /**
100
+ * Enables triple state mode where the value can be 'null', 'true', or 'false'.
101
+ *
102
+ * - null: not checked
103
+ * - true: checked
104
+ * - false: partially checked
105
+ *
106
+ * @defaultValue false
107
+ */
108
+ triState?: boolean;
109
+
110
+ /**
111
+ * Specifies whether a ToggleSwitch should be checked or not.
112
+ * @defaultValue false - when tristate = false
113
+ * @defaultValue null - when tristate = true
114
+ */
115
+ modelValue?: boolean | string | null | undefined;
116
+
117
+ /**
118
+ * Value in checked state.
119
+ * @defaultValue true
120
+ */
121
+ trueValue?: any;
122
+
123
+ /**
124
+ * Value in unchecked state.
125
+ * @defaultValue false
126
+ */
127
+ falseValue?: any;
128
+
129
+ /**
130
+ * A string that defines the name of the input field.
131
+ */
132
+ label?: string;
133
+
134
+ /**
135
+ * Tooltip info about the checkbox.
136
+ */
137
+ tooltip?: string;
138
+ /**
139
+ * Tooltip position.
140
+ *
141
+ * @default 'top'
142
+ */
143
+ tooltipPos?: 'top' | 'right' | 'left' | 'bottom';
144
+
145
+ /**
146
+ * When present, it specifies that the component should have invalid state style.
147
+ * @defaultValue false
148
+ */
149
+ invalid?: boolean | undefined;
150
+
151
+ /**
152
+ * When present, it specifies that the component should be disabled.
153
+ * @defaultValue false
154
+ */
155
+ disabled?: boolean | undefined;
156
+
157
+ /**
158
+ * When present, it specifies that an input field is read-only.
159
+ * @default false
160
+ */
161
+ readonly?: boolean | undefined;
162
+
163
+ /**
164
+ * Index of the element in tabbing order.
165
+ */
166
+ tabindex?: number | undefined;
167
+
168
+ /**
169
+ * Identifier of the underlying input element.
170
+ */
171
+ inputId?: string | undefined;
172
+
173
+ /**
174
+ * Style class of the input field.
175
+ */
176
+ inputClass?: string | object | undefined;
177
+
178
+ /**
179
+ * Inline style of the input field.
180
+ */
181
+ inputStyle?: StyleValue | undefined;
182
+
183
+ /**
184
+ * Establishes relationships between the component and label(s) where its value should be one or more element IDs.
185
+ */
186
+ ariaLabelledby?: string | undefined;
187
+
188
+ /**
189
+ * Establishes a string value that labels the component.
190
+ */
191
+ ariaLabel?: string | undefined;
192
+
193
+ /**
194
+ * Used to pass attributes to DOM elements inside the component.
195
+ * @type {ToggleSwitchPassThroughOptions}
196
+ */
197
+ pt?: PassThrough<ToggleSwitchPassThroughOptions>;
198
+
199
+ /**
200
+ * Used to configure passthrough(pt) options of the component.
201
+ * @type {PassThroughOptions}
202
+ */
203
+ ptOptions?: PassThroughOptions;
204
+
205
+ /**
206
+ * When enabled, it removes component related styles in the core.
207
+ * @defaultValue false
208
+ */
209
+ unstyled?: boolean;
210
+ }
211
+
212
+ /**
213
+ * Defines current options in ToggleSwitch component.
214
+ */
215
+ export interface ToggleSwitchContext {
216
+ /**
217
+ * Current checked state of the item as a boolean.
218
+ * @defaultValue false
219
+ */
220
+ checked: boolean;
221
+
222
+ /**
223
+ * Current disabled state of the item as a boolean.
224
+ * @defaultValue false
225
+ */
226
+ disabled: boolean;
227
+ }
228
+ /**
229
+ * Defines valid emits in ToggleSwitch component.
230
+ */
231
+ export type ToggleSwitchEmits = {
232
+ /**
233
+ * Emitted when the value changes.
234
+ * @param {boolean} value - New value.
235
+ */
236
+ 'update:modelValue': [value: boolean];
237
+
238
+ /**
239
+ * Callback to invoke on value change.
240
+ * @param {Event} event - Browser event.
241
+ */
242
+ 'change': [event: Event];
243
+
244
+ /**
245
+ * Callback to invoke when the component receives focus.
246
+ * @param {Event} event - Browser event.
247
+ */
248
+ 'focus': [event: Event];
249
+
250
+ /**
251
+ * Callback to invoke when the component loses focus.
252
+ * @param {Event} event - Browser event.
253
+ */
254
+ 'blur': [event: Event];
255
+ };
256
+
257
+ /**
258
+ * **PrimeVue - ToggleSwitch**
259
+ *
260
+ * _ToggleSwitch is used to select a boolean value._
261
+ *
262
+ * [Live Demo](https://fewangsit.github.io/wangsvue/toggle)
263
+ * --- ---
264
+ * ![WangsVue](https://www.wangs.id/wp-content/uploads/2023/12/cropped-Logo_Wangsid-removebg-preview-192x192.png)
265
+ *
266
+ * @group Component
267
+ *
268
+ */
269
+ declare class ToggleSwitch extends ClassComponent<
270
+ ToggleSwitchProps,
271
+ unknown,
272
+ ToggleSwitchEmits
273
+ > {}
274
+
275
+ declare module 'vue' {
276
+ export interface GlobalComponents {
277
+ ToggleSwitch: GlobalComponentConstructor<ToggleSwitch>;
278
+ }
279
+ }
280
+
281
+ export default ToggleSwitch;
@@ -0,0 +1,148 @@
1
+ import { Slot } from 'vue';
2
+ import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
3
+ import { TreeSelectionKeys } from 'primevue/tree';
4
+ import { MenuItem } from '../../components/menuitem';
5
+ import { BaseTreeProps, TreeNode } from '../basetree/BaseTree.vue.d';
6
+ import { QueryParams, ShortFetchResponse } from '../datatable/DataTable.vue.d';
7
+
8
+ export interface TreeProps extends BaseTreeProps {
9
+ /**
10
+ * Keyword to filter the Tree by name/label.
11
+ */
12
+ filter: string;
13
+ type: 'group' | 'category';
14
+ fetchTree?: (
15
+ type: 'group' | 'category',
16
+ params?: QueryParams,
17
+ ) => Promise<ShortFetchResponse<TreeNode> | undefined>;
18
+ params?: QueryParams;
19
+ selectedKeys?: TreeSelectionKeys | number[] | undefined;
20
+ selectedTreeNodes?: TreeNode[] | undefined;
21
+ selectionMode?: 'single' | 'checkbox' | undefined;
22
+ /**
23
+ * Wether show node button action or not.
24
+ *
25
+ * @default false;
26
+ */
27
+ useOption?: boolean;
28
+ /**
29
+ * List of labels that has no menu option
30
+ */
31
+ listLabelsNoOption?: string[];
32
+ treeNodeMenus?: MenuItem[];
33
+ /**
34
+ * Specify wether the all tree node should be auto checked once it rendered.
35
+ * @default false
36
+ */
37
+ autoSelectAll?: boolean;
38
+ selectLastNode?: boolean;
39
+ /**
40
+ * Disable node 'All' selection
41
+ */
42
+ disableNodeAll?: boolean;
43
+ /**
44
+ * Include node All key (-1) on Checkbox Selection
45
+ *
46
+ * @default false - (-1) is excluded
47
+ */
48
+ includeNodeAllKey?: boolean;
49
+ /**
50
+ * A list of node keys that should be disabled along with their children.
51
+ */
52
+ disableKeys?: number[];
53
+ /**
54
+ * A list of node keys that should be disabled, affecting only the specified nodes and not their children.
55
+ */
56
+ exactDisableKeys?: number[];
57
+ /**
58
+ * Defines the tree is readonly and disabled.
59
+ */
60
+ readonly?: boolean;
61
+ /**
62
+ * Defines the tree to select disposable group only.
63
+ */
64
+ selectDisposableOnly?: boolean;
65
+ /**
66
+ * Defines the tree to be flattened and shows disposable only
67
+ */
68
+ flattenDisposableNode?: boolean;
69
+ /**
70
+ * Defines the group tree to disable excluded keys
71
+ */
72
+ excludedKeys?: number[];
73
+ /**
74
+ * Will emit update selection when value is `true`
75
+ *
76
+ * @default false - to prevent auto emit in every possible unhandled way
77
+ */
78
+ shouldEmitEventOnChange?: boolean;
79
+ }
80
+
81
+ export type TreeEmits = {
82
+ 'update:selectedKeys': [keys: TreeSelectionKeys];
83
+ 'update:selectedTreeNodes': [nodes: TreeNode[] | undefined];
84
+ 'nodeSelect': [node: TreeNode];
85
+ 'nodeUnselect': [node: TreeNode];
86
+ 'toggleMenu': [node: TreeNode];
87
+ };
88
+
89
+ export interface TreeSlots {
90
+ default: Slot<{ node: TreeNode; checked: boolean; disabled: boolean }>;
91
+ }
92
+
93
+ /**
94
+ * **TSVue v2 - Tree**
95
+ *
96
+ * _Tree is used to display hierarchical data._
97
+ *
98
+ * --- ---
99
+ * ![TSVue](https://ik.imagekit.io/kurniadev/TS-HEAD-BLACK.png)
100
+ *
101
+ * @group Component
102
+ */
103
+ declare class Tree extends ClassComponent<TreeProps, TreeSlots, TreeEmits> {
104
+ /**
105
+ * The Tree Node array.
106
+ */
107
+ treeNodes: TreeNode[];
108
+ /**
109
+ * The Flat Tree Node array.
110
+ */
111
+ flatNodes: TreeNode[];
112
+ /**
113
+ * Tree Nodes loading state.
114
+ */
115
+ isLoading: boolean;
116
+ /**
117
+ * Show disposable group icon.
118
+ */
119
+ showDisposableGroups: boolean;
120
+ /**
121
+ * State where all tree node expanded.
122
+ */
123
+ isExpandedAll: boolean;
124
+ /**
125
+ * Method to collapse all node.
126
+ */
127
+ collapseAll: () => void;
128
+ /**
129
+ * Method to expand all node.
130
+ */
131
+ expandAll: () => void;
132
+ /**
133
+ * Expand the All node to show all Parent Group
134
+ */
135
+ expandNodeAll: () => void;
136
+ /**
137
+ * Trigger fetch tree list
138
+ */
139
+ fetchTreeList: () => void;
140
+ }
141
+
142
+ declare module '@vue/runtime-core' {
143
+ interface GlobalComponents {
144
+ Tree: GlobalComponentConstructor<Tree>;
145
+ }
146
+ }
147
+
148
+ export default Tree;
@@ -0,0 +1,22 @@
1
+ import { TreeSelectionKeys } from 'primevue/tree';
2
+ /**
3
+ * Parse selection keys into array of keys.
4
+ *
5
+ * @param nodeKeys - A collection of selected node keys.
6
+ * @param includeNodeAllKey - Whether to include the "-1" key (representing "All").
7
+ */
8
+ export declare const parseNodeKeys: (
9
+ nodeKeys: TreeSelectionKeys,
10
+ includeNodeAllKey?: boolean,
11
+ ) => number[];
12
+ /**
13
+ * Filters a collection of selected node keys based on specific criteria.
14
+ *
15
+ * @param nodeKeys - A collection of selected node keys.
16
+ * @param includeNodeAllKey - Whether to include the "-1" key (representing "All").
17
+ * @returns A new collection of filtered node keys.
18
+ */
19
+ export declare const filterNodeKeys: (
20
+ nodeKeys: TreeSelectionKeys,
21
+ includeNodeAllKey?: boolean,
22
+ ) => TreeSelectionKeys;
@@ -0,0 +1,8 @@
1
+ import { TreeNode } from '../../basetree/BaseTree.vue.d';
2
+ /**
3
+ * Covert deeply nested tree node into one level array.
4
+ */
5
+ declare const flattenTreeNodeChildren: (
6
+ nodes: TreeNode[] | undefined,
7
+ ) => TreeNode[];
8
+ export default flattenTreeNodeChildren;
@@ -0,0 +1,16 @@
1
+ import { DefineComponent } from 'vue';
2
+
3
+ export type TreeSearchInputProps = {
4
+ modelValue?: string;
5
+ };
6
+
7
+ export type TreeSearchInputEmits = {
8
+ 'update:modelValue': [payload: string];
9
+ };
10
+
11
+ declare const TreeSearchInput: DefineComponent<
12
+ TreeSearchInputProps,
13
+ TreeSearchInputEmits
14
+ >;
15
+
16
+ export default TreeSearchInput;
@@ -0,0 +1,83 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import {
3
+ AllowedComponentProps,
4
+ ComponentCustomProps,
5
+ ObjectEmitsOptions,
6
+ VNode,
7
+ VNodeProps,
8
+ } from 'vue';
9
+
10
+ declare type PublicProps = VNodeProps &
11
+ AllowedComponentProps &
12
+ ComponentCustomProps;
13
+
14
+ declare type UnionToIntersection<U> = (
15
+ U extends any ? (k: U) => void : never
16
+ ) extends (k: infer I) => void
17
+ ? I
18
+ : never;
19
+
20
+ declare type EmitFn<
21
+ Options = ObjectEmitsOptions,
22
+ Event extends keyof Options = keyof Options,
23
+ > =
24
+ Options extends Array<infer V>
25
+ ? (event: V, ...args: any[]) => void
26
+ : object extends Options
27
+ ? (event: string, ...args: any[]) => void
28
+ : UnionToIntersection<
29
+ {
30
+ [key in Event]: Options[key] extends (...args: infer Args) => any
31
+ ? (event: key, ...args: Args) => void
32
+ : (event: key, ...args: any[]) => void;
33
+ }[Event]
34
+ >;
35
+
36
+ export class ClassComponent<Props, Slots, Emits> {
37
+ $props: Props & PublicProps;
38
+ $slots: Slots;
39
+ $emit: EmitFn<Emits>;
40
+ }
41
+
42
+ export type GlobalComponentConstructor<T> = {
43
+ new (): T;
44
+ };
45
+
46
+ /**
47
+ * Custom types
48
+ */
49
+ export declare type Booleanish = boolean | 'true' | 'false';
50
+
51
+ export declare type Numberish = number | string;
52
+
53
+ export declare type Nullable<T = void> = T | null | undefined;
54
+
55
+ export declare type PassThrough<T = void> = T | object | undefined;
56
+ export declare type Preset<T = void> = T | object | undefined;
57
+
58
+ export declare type DefaultPassThrough<T = void> =
59
+ | T
60
+ | ((instance?: VNode) => T | undefined)
61
+ | undefined;
62
+
63
+ export declare type HintedString<T extends string> = (string & {}) | T;
64
+
65
+ export declare type PresetAttributes = {
66
+ class?: any;
67
+ style?: any;
68
+ [key: string]: any;
69
+ };
70
+
71
+ export declare type PresetMethodOptions = {
72
+ instance: any;
73
+ props: any;
74
+ state: any;
75
+ context: any;
76
+ attrs: any;
77
+ parent: any;
78
+ global: object | undefined;
79
+ };
80
+
81
+ export declare type PresetOptionMethodType<Opt = PresetMethodOptions> = (
82
+ options: Partial<Opt>,
83
+ ) => PresetAttributes;
@@ -0,0 +1,113 @@
1
+ import {
2
+ ClassComponent,
3
+ GlobalComponentConstructor,
4
+ PresetAttributes,
5
+ PresetOptionMethodType,
6
+ } from '../ts-helpers';
7
+
8
+ export interface UserNamePresetOptions {
9
+ root: PresetAttributes;
10
+ displayname: PresetOptionMethodType;
11
+ panel: {
12
+ background: PresetAttributes;
13
+ username: PresetAttributes;
14
+ useremail: PresetAttributes;
15
+ positiondivision: PresetAttributes;
16
+ userdetaillink: PresetAttributes;
17
+ contentwrapper: PresetAttributes;
18
+ detailwrapper: PresetAttributes;
19
+ };
20
+ }
21
+
22
+ export interface UserNameLocaleConfig {
23
+ /**
24
+ * The anchor text for user detail link on user panel
25
+ */
26
+ detailUserAnchorText?: string;
27
+ }
28
+
29
+ export interface UserNameComponentConfigs {
30
+ /**
31
+ * @example `/tim-member/member/{userId}/detail-member`
32
+ */
33
+ detailUserPath: string;
34
+
35
+ /**
36
+ * @default 'picture' - Show user profile picture instead of user icon
37
+ */
38
+ type?: 'icon' | 'picture';
39
+
40
+ /**
41
+ * Specify the field of user to be used as display name
42
+ *
43
+ * @example 'name.fullName'
44
+ */
45
+ userNameField?: string;
46
+ /**
47
+ * Specify the field of user to be used as display picture
48
+ *
49
+ * @example 'image.profile'
50
+ */
51
+ profilePictureField?: string;
52
+
53
+ /**
54
+ * Function to get user detail on panel shown
55
+ * @param userId The user id
56
+ * @returns Full user detail object
57
+ */
58
+ getUserDetail: (
59
+ userId: string,
60
+ ) => UserNameProps['user'] | Promise<UserNameProps['user']>;
61
+ }
62
+
63
+ export interface GeneralUser {
64
+ _id: string;
65
+ profilePicture?: string;
66
+ firstName?: string;
67
+ lastName?: string;
68
+ fullName?: string;
69
+ email?: string;
70
+ nickName?: string;
71
+ position?: string;
72
+ division?: string;
73
+ [key: string]: any;
74
+ }
75
+
76
+ /**
77
+ * Defines valid properties in UserName component.
78
+ */
79
+ export interface UserNameProps extends Partial<UserNameComponentConfigs> {
80
+ /**
81
+ * The full user Object
82
+ */
83
+ user?: GeneralUser;
84
+
85
+ /**
86
+ * When it sets to false, the props.user will be used
87
+ */
88
+ fetchDetailOnPanelShow?: boolean;
89
+ }
90
+
91
+ /**
92
+ * **WangsVue - UserName**
93
+ *
94
+ * _Displays an user and profile image._
95
+ *
96
+ * --- ---
97
+ *
98
+ * @group Component
99
+ *
100
+ */
101
+ declare class UserName extends ClassComponent<
102
+ UserNameProps,
103
+ unknown,
104
+ unknown
105
+ > {}
106
+
107
+ declare module '@vue/runtime-core' {
108
+ interface GlobalComponents {
109
+ UserName: GlobalComponentConstructor<UserName>;
110
+ }
111
+ }
112
+
113
+ export default UserName;
@@ -0,0 +1,20 @@
1
+ import { UserDetail } from '@tagsamurai/fats-api-services/src/types/user.type';
2
+ import { ClassComponent } from '../../components/ts-helpers';
3
+
4
+ export interface UserWithIconProps {
5
+ user: UserDetail;
6
+ }
7
+
8
+ declare class UserWithIcon extends ClassComponent<
9
+ UserWithIconProps,
10
+ unknown,
11
+ unknown
12
+ > {}
13
+
14
+ declare module 'vue' {
15
+ interface GlobalComponents {
16
+ UserWithIcon: typeof UserWithIcon;
17
+ }
18
+ }
19
+
20
+ export default UserWithIcon;
@@ -0,0 +1,3 @@
1
+ import { ComponentDefaultPropsConfig } from '../plugins/WangsVue';
2
+ declare const defaultProps: ComponentDefaultPropsConfig;
3
+ export default defaultProps;
@@ -0,0 +1,3 @@
1
+ import { WangsVueOptions } from '../plugins/WangsVue';
2
+ declare const _default: import('vue').Plugin<Partial<WangsVueOptions>>;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import { LocaleConfig } from '../plugins/WangsVue';
2
+ declare const locale: LocaleConfig;
3
+ export default locale;