@fewangsit/wangsvue-fats 1.0.0-alpha.21 → 1.0.0-alpha.23

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 (145) hide show
  1. package/components/animation/Animation.vue.d.ts +6 -6
  2. package/components/approverinfo/ApproverInfo.vue.d.ts +36 -36
  3. package/components/assetinfo/AssetInfo.vue.d.ts +18 -19
  4. package/components/badge/Badge.vue.d.ts +46 -46
  5. package/components/badgegroup/BadgeGroup.vue.d.ts +38 -38
  6. package/components/basecomponent/index.d.ts +15 -15
  7. package/components/basetree/BaseTree.vue.d.ts +458 -458
  8. package/components/basetree/TreeNode.vue.d.ts +25 -25
  9. package/components/breadcrumb/Breadcrumb.vue.d.ts +7 -7
  10. package/components/button/Button.vue.d.ts +147 -142
  11. package/components/buttonbulkaction/ButtonBulkAction.vue.d.ts +73 -73
  12. package/components/buttoncopy/ButtonCopy.vue.d.ts +7 -7
  13. package/components/buttondownload/ButtonDownload.vue.d.ts +26 -26
  14. package/components/buttonfilter/ButtonFilter.vue.d.ts +4 -4
  15. package/components/buttonradio/ButtonRadio.vue.d.ts +189 -189
  16. package/components/buttonscan/ButtonScan.vue.d.ts +154 -154
  17. package/components/buttonsearch/ButtonSearch.vue.d.ts +13 -13
  18. package/components/buttonselecttree/ButtonSelectTree.vue.d.ts +164 -164
  19. package/components/buttonsync/ButtonSync.vue.d.ts +17 -5
  20. package/components/buttontoggle/ButtonToggle.vue.d.ts +4 -4
  21. package/components/buttonviewlog/ButtonViewLog.vue.d.ts +8 -8
  22. package/components/calendar/BaseCalendar.vue.d.ts +106 -65
  23. package/components/calendar/Calendar.vue.d.ts +469 -469
  24. package/components/card/Card.vue.d.ts +82 -82
  25. package/components/checkbox/Checkbox.vue.d.ts +245 -245
  26. package/components/customcolumn/ColumnList.vue.d.ts +35 -15
  27. package/components/customcolumn/CustomColumn.vue.d.ts +21 -21
  28. package/components/customcolumn/helpers/setVisibilityColumn.helper.d.ts +5 -1
  29. package/components/datatable/DataTable.vue.d.ts +596 -596
  30. package/components/datatable/MultiRow.vue.d.ts +31 -11
  31. package/components/datatable/helpers/filter.helper.d.ts +12 -2
  32. package/components/datatable/helpers/index.d.ts +4 -1
  33. package/components/datatable/helpers/readConfig.helper.d.ts +4 -1
  34. package/components/datatable/store/dataTable.store.d.ts +4 -1
  35. package/components/dialog/Dialog.vue.d.ts +367 -367
  36. package/components/dialogconfirm/DialogConfirm.vue.d.ts +117 -117
  37. package/components/dialogform/DialogForm.vue.d.ts +288 -288
  38. package/components/dialogselecttree/DialogSelectTree.vue.d.ts +98 -98
  39. package/components/dropdown/Dropdown.vue.d.ts +231 -221
  40. package/components/editor/CodeSnippetAdapter.vue.d.ts +151 -91
  41. package/components/editor/Editor.vue.d.ts +156 -156
  42. package/components/editor/EditorButton.vue.d.ts +31 -11
  43. package/components/editor/MentionList.vue.d.ts +45 -31
  44. package/components/editor/MentionSection.vue.d.ts +151 -91
  45. package/components/fieldwrapper/FieldWrapper.vue.d.ts +48 -48
  46. package/components/fileupload/FileUpload.vue.d.ts +132 -132
  47. package/components/filtercontainer/FilterContainer.vue.d.ts +113 -114
  48. package/components/filtercontainer/helpers/applyFilter.helper.d.ts +11 -2
  49. package/components/filtercontainer/helpers/getOption.helper.d.ts +11 -2
  50. package/components/form/Form.vue.d.ts +258 -258
  51. package/components/icon/Icon.vue.d.ts +235 -235
  52. package/components/image/Image.vue.d.ts +306 -306
  53. package/components/imagecompressor/BackgroundImageCropper.vue.d.ts +47 -24
  54. package/components/imagecompressor/ImageCompressor.vue.d.ts +186 -186
  55. package/components/imagecompressor/ImageInputInfo.vue.d.ts +43 -20
  56. package/components/index.d.ts +58 -69
  57. package/components/inputbadge/InputBadge.vue.d.ts +90 -90
  58. package/components/inputcurrency/InputCurrency.vue.d.ts +126 -126
  59. package/components/inputcurrency/helpers/currency.helper.d.ts +5 -1
  60. package/components/inputnumber/InputNumber.vue.d.ts +245 -245
  61. package/components/inputpassword/InputPassword.vue.d.ts +19 -19
  62. package/components/inputphonenumber/InputPhoneNumber.vue.d.ts +68 -68
  63. package/components/inputrangenumber/InputRangeNumber.vue.d.ts +88 -88
  64. package/components/inputsearch/InputSearch.vue.d.ts +13 -12
  65. package/components/inputtext/InputText.vue.d.ts +281 -281
  66. package/components/inputurl/InputURL.vue.d.ts +6 -9
  67. package/components/invisiblefield/InvisibleField.vue.d.ts +30 -34
  68. package/components/litedropdown/LiteDropdown.vue.d.ts +64 -64
  69. package/components/loading/Loading.vue.d.ts +5 -5
  70. package/components/menu/Menu.vue.d.ts +282 -282
  71. package/components/menu/helpers/filterMenu.helper.d.ts +4 -1
  72. package/components/menuitem/MenuItem.vue +70 -0
  73. package/components/menuitem/MenuItem.vue.d.ts +33 -13
  74. package/components/menuitem/index.d.ts +84 -84
  75. package/components/multiselect/MultiSelect.vue.d.ts +162 -160
  76. package/components/overlaypanel/OverlayPanel.vue.d.ts +207 -207
  77. package/components/passthrough/index.d.ts +8 -8
  78. package/components/tabmenu/TabMenu.vue.d.ts +185 -185
  79. package/components/textarea/Textarea.vue.d.ts +131 -131
  80. package/components/timeline/Timeline.vue.d.ts +60 -60
  81. package/components/timeline/TimelineContentByType.vue.d.ts +60 -12
  82. package/components/toast/Toast.vue.d.ts +265 -265
  83. package/components/toggleswitch/ToggleSwitch.vue.d.ts +211 -211
  84. package/components/tree/Tree.vue.d.ts +116 -116
  85. package/components/tree/helpers/filterNodeKeys.helper.d.ts +8 -2
  86. package/components/tree/helpers/flattenTreeNodeChildren.helper.d.ts +3 -1
  87. package/components/ts-helpers.d.ts +43 -41
  88. package/components/username/UserName.vue.d.ts +71 -71
  89. package/components/userwithicon/UserWithIcon.vue.d.ts +8 -9
  90. package/config/defaultProps.d.ts +1 -1
  91. package/config/index.d.ts +1 -1
  92. package/config/locale.d.ts +1 -1
  93. package/event-bus/mitt.d.ts +25 -7
  94. package/main.d.ts +31 -2
  95. package/package.json +1 -1
  96. package/plugins/WangsVue.d.ts +184 -16
  97. package/plugins/formValidation.d.ts +11 -2
  98. package/plugins/i18n.d.ts +23 -5
  99. package/style.css +1 -1
  100. package/utils/addAttachment.util.d.ts +18 -2
  101. package/utils/date.util.d.ts +33 -4
  102. package/utils/filterOptions.util.d.ts +4 -2
  103. package/utils/genPlaceholder.util.d.ts +11 -6
  104. package/utils/index.d.ts +16 -16
  105. package/utils/listenSidebarChanges.util.d.ts +9 -4
  106. package/utils/mergePropsWithDefaults.util.d.ts +4 -1
  107. package/utils/object.util.d.ts +14 -3
  108. package/utils/role.util.d.ts +5 -32
  109. package/utils/textFormatter.util.d.ts +15 -3
  110. package/wangsvue-fats.es.js +35937 -45555
  111. package/wangsvue-fats.system.js +169 -180
  112. package/assets/json/currencies.json.d.ts +0 -1068
  113. package/assets/lottie/admin/loading-page.lottie +0 -0
  114. package/assets/lottie/admin/loading-table.lottie +0 -0
  115. package/assets/lottie/admin/no-data.lottie +0 -0
  116. package/assets/lottie/supplyasset/loading-page.lottie +0 -0
  117. package/assets/lottie/supplyasset/loading-table.lottie +0 -0
  118. package/assets/lottie/supplyasset/no-data.lottie +0 -0
  119. package/assets/lottie/workspace/loading-page.lottie +0 -0
  120. package/assets/lottie/workspace/loading-plane.lottie +0 -0
  121. package/assets/lottie/workspace/loading-table.lottie +0 -0
  122. package/assets/lottie/workspace/no-data.lottie +0 -0
  123. package/build-entry.d.ts +0 -14
  124. package/components/buttonImportExcel/ButtonImportExcel.vue.d.ts +0 -35
  125. package/components/buttonsplit/ButtonSplit.d.ts +0 -350
  126. package/components/buttonsplit/ButtonSplit.vue.d.ts +0 -34
  127. package/components/codesnippet/CodeSnippet.vue.d.ts +0 -14
  128. package/components/gallerypreview/GalleryPreview.vue.d.ts +0 -31
  129. package/components/hardwaresync/store/device.store.d.ts +0 -36
  130. package/components/helpers/convertToArrayClass.helper.d.ts +0 -2
  131. package/components/helpers/index.d.ts +0 -2
  132. package/components/helpers/label.d.ts +0 -15
  133. package/components/inlinemessage/InlineMessage.vue.d.ts +0 -167
  134. package/components/inputgroup/InputGroup.vue.d.ts +0 -141
  135. package/components/languagedropdown/LanguageDropdown.vue.d.ts +0 -47
  136. package/components/languagedropdown/LanguageDropdownOption.vue.d.ts +0 -18
  137. package/components/languageswitcher/LanguageSwitcher.vue.d.ts +0 -15
  138. package/components/progressbar/ProgressBar.vue.d.ts +0 -72
  139. package/components/quickfilter/QuickFilter.vue.d.ts +0 -25
  140. package/components/tagtype/TagType.vue.d.ts +0 -21
  141. package/components/tooltipspan/TooltipSpan.vue.d.ts +0 -20
  142. package/components/treesearchinput/TreeSearchInput.vue.d.ts +0 -16
  143. package/components/usergroup/UserGroup.vue.d.ts +0 -57
  144. package/components/validatormessage/ValidatorMessage.vue.d.ts +0 -12
  145. package/types/options.type.d.ts +0 -16
@@ -0,0 +1,70 @@
1
+ <script setup lang="ts">
2
+ import { WangsIcons } from 'lib/components/icon/Icon.vue.d';
3
+ import { MenuRouterBindProps } from '../menu/Menu.vue.d';
4
+ import { MenuItem } from '.';
5
+ import Icon from '../icon/Icon.vue';
6
+
7
+ const props = defineProps<{
8
+ item: MenuItem;
9
+ routerProps: MenuRouterBindProps;
10
+ }>();
11
+ </script>
12
+
13
+ <template>
14
+ <router-link
15
+ v-slot="{ href, navigate }"
16
+ v-if="props.item.route"
17
+ :to="props.item.route"
18
+ custom
19
+ >
20
+ <a :href="href" v-bind="routerProps?.action" @click="navigate">
21
+ <Icon
22
+ v-if="props.item.icon"
23
+ v-bind="routerProps?.icon"
24
+ :icon="props.item.icon"
25
+ />
26
+ <span v-bind="routerProps?.label">{{ props.item.label }}</span>
27
+ </a>
28
+ </router-link>
29
+
30
+ <a
31
+ v-else-if="props.item.url"
32
+ :href="props.item.url"
33
+ :target="props.item.target"
34
+ v-bind="routerProps?.action"
35
+ @click.stop
36
+ >
37
+ <Icon
38
+ v-if="props.item.icon"
39
+ v-bind="routerProps?.icon"
40
+ :icon="props.item.icon as WangsIcons"
41
+ />
42
+ <span v-bind="routerProps?.label">{{ props.item.label }}</span>
43
+ </a>
44
+
45
+ <a
46
+ v-else
47
+ v-bind="routerProps?.action"
48
+ aria-hidden="true"
49
+ data-pc-section="action"
50
+ tabindex="-1"
51
+ >
52
+ <Icon
53
+ v-if="props.item.icon"
54
+ :icon="props.item.icon as WangsIcons"
55
+ :severity="props.item.danger ? 'danger' : undefined"
56
+ v-bind="routerProps?.icon"
57
+ />
58
+
59
+ <span
60
+ v-bind="
61
+ $preset.menu?.label({
62
+ props: { danger: props.item.danger },
63
+ })
64
+ "
65
+ data-pc-section="label"
66
+ >
67
+ {{ props.item.label }}
68
+ </span>
69
+ </a>
70
+ </template>
@@ -1,19 +1,39 @@
1
1
  import { MenuRouterBindProps } from '../menu/Menu.vue.d';
2
2
  import { MenuItem } from '.';
3
- declare const _default: import('vue').DefineComponent<__VLS_TypePropsToOption<{
4
- item: MenuItem;
5
- routerProps: MenuRouterBindProps;
6
- }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToOption<{
7
- item: MenuItem;
8
- routerProps: MenuRouterBindProps;
9
- }>>>, {}, {}>;
3
+ declare const _default: import('vue').DefineComponent<
4
+ __VLS_TypePropsToOption<{
5
+ item: MenuItem;
6
+ routerProps: MenuRouterBindProps;
7
+ }>,
8
+ {},
9
+ unknown,
10
+ {},
11
+ {},
12
+ import('vue').ComponentOptionsMixin,
13
+ import('vue').ComponentOptionsMixin,
14
+ {},
15
+ string,
16
+ import('vue').PublicProps,
17
+ Readonly<
18
+ import('vue').ExtractPropTypes<
19
+ __VLS_TypePropsToOption<{
20
+ item: MenuItem;
21
+ routerProps: MenuRouterBindProps;
22
+ }>
23
+ >
24
+ >,
25
+ {},
26
+ {}
27
+ >;
10
28
  export default _default;
11
29
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
12
30
  type __VLS_TypePropsToOption<T> = {
13
- [K in keyof T]-?: {} extends Pick<T, K> ? {
14
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
15
- } : {
16
- type: import('vue').PropType<T[K]>;
17
- required: true;
18
- };
31
+ [K in keyof T]-?: {} extends Pick<T, K>
32
+ ? {
33
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
34
+ }
35
+ : {
36
+ type: import('vue').PropType<T[K]>;
37
+ required: true;
38
+ };
19
39
  };
@@ -13,94 +13,94 @@ import { WangsIcons } from '../icon/Icon.vue.d';
13
13
  * @todo next release should be able to change see menuItem.command
14
14
  */
15
15
  export interface MenuItemCommandEvent {
16
- /**
17
- * Browser event.
18
- */
19
- originalEvent: Event;
20
- /**
21
- * Menuitem instance.
22
- */
23
- item: MenuItem;
24
- /**
25
- * Optional
26
- */
27
- [key: string]: any;
16
+ /**
17
+ * Browser event.
18
+ */
19
+ originalEvent: Event;
20
+ /**
21
+ * Menuitem instance.
22
+ */
23
+ item: MenuItem;
24
+ /**
25
+ * Optional
26
+ */
27
+ [key: string]: any;
28
28
  }
29
29
 
30
30
  /**
31
31
  * Defines model of MenuItem API.
32
32
  */
33
33
  export interface MenuItem {
34
- /**
35
- * Property name or getter function to use as the label of an item.
36
- */
37
- label?: string | ((...args: any) => string) | undefined;
38
- /**
39
- * Icon of the item.
40
- */
41
- icon?: WangsIcons | undefined;
42
- /**
43
- * Callback to execute when item is clicked.
44
- * @param {MenuItemCommandEvent} event - Custom command event.
45
- * @todo next release should be able to change
46
- */
47
- command?: (event: MenuItemCommandEvent) => void;
48
- /**
49
- * External link to navigate when item is clicked.
50
- */
51
- url?: string | undefined;
52
- /**
53
- * Specifies where to open the linked document.
54
- */
55
- target?: string | undefined;
56
- /**
57
- * Internal/ vue router link to navigate when item is clicked.
58
- */
59
- route?: string | undefined;
60
- /**
61
- * An array of children menuitems.
62
- */
63
- items?: MenuItem[] | undefined;
64
- /**
65
- * A boolean or a function to return a boolean to specify if the item is disabled.
66
- * @defaultValue false
67
- */
68
- disabled?: boolean | ((...args: any) => boolean) | undefined;
69
- /**
70
- * A boolean or a function to return a boolean to specify if the item is visible.
71
- * @defaultValue true
72
- */
73
- visible?: boolean | ((...args: any) => boolean) | undefined;
74
- /**
75
- * A boolean or to specify if the item has danger severity.
76
- * @defaultValue false
77
- */
78
- danger?: boolean | undefined;
79
- /**
80
- * Defines the item as a separator.
81
- * @defaultValue false
82
- */
83
- separator?: boolean | undefined;
84
- /**
85
- * Inline style of the menuitem.
86
- */
87
- style?: any;
88
- /**
89
- * Style class of the menuitem.
90
- */
91
- class?: any;
92
- /**
93
- * Unique identifier of an item.
94
- */
95
- key?: string | undefined;
96
- /**
97
- * Specify if the there is additional slot for the selected menuitem.
98
- * Only work on BulkAction when BulkActionProps.selectMenuType is "dropdown".
99
- *
100
- */
101
- useAdditionSlot?: boolean;
102
- /**
103
- * Optional
104
- */
105
- [key: string]: any;
34
+ /**
35
+ * Property name or getter function to use as the label of an item.
36
+ */
37
+ label?: string | ((...args: any) => string) | undefined;
38
+ /**
39
+ * Icon of the item.
40
+ */
41
+ icon?: WangsIcons | undefined;
42
+ /**
43
+ * Callback to execute when item is clicked.
44
+ * @param {MenuItemCommandEvent} event - Custom command event.
45
+ * @todo next release should be able to change
46
+ */
47
+ command?: (event: MenuItemCommandEvent) => void;
48
+ /**
49
+ * External link to navigate when item is clicked.
50
+ */
51
+ url?: string | undefined;
52
+ /**
53
+ * Specifies where to open the linked document.
54
+ */
55
+ target?: string | undefined;
56
+ /**
57
+ * Internal/ vue router link to navigate when item is clicked.
58
+ */
59
+ route?: string | undefined;
60
+ /**
61
+ * An array of children menuitems.
62
+ */
63
+ items?: MenuItem[] | undefined;
64
+ /**
65
+ * A boolean or a function to return a boolean to specify if the item is disabled.
66
+ * @defaultValue false
67
+ */
68
+ disabled?: boolean | ((...args: any) => boolean) | undefined;
69
+ /**
70
+ * A boolean or a function to return a boolean to specify if the item is visible.
71
+ * @defaultValue true
72
+ */
73
+ visible?: boolean | ((...args: any) => boolean) | undefined;
74
+ /**
75
+ * A boolean or to specify if the item has danger severity.
76
+ * @defaultValue false
77
+ */
78
+ danger?: boolean | undefined;
79
+ /**
80
+ * Defines the item as a separator.
81
+ * @defaultValue false
82
+ */
83
+ separator?: boolean | undefined;
84
+ /**
85
+ * Inline style of the menuitem.
86
+ */
87
+ style?: any;
88
+ /**
89
+ * Style class of the menuitem.
90
+ */
91
+ class?: any;
92
+ /**
93
+ * Unique identifier of an item.
94
+ */
95
+ key?: string | undefined;
96
+ /**
97
+ * Specify if the there is additional slot for the selected menuitem.
98
+ * Only work on BulkAction when BulkActionProps.selectMenuType is "dropdown".
99
+ *
100
+ */
101
+ useAdditionSlot?: boolean;
102
+ /**
103
+ * Optional
104
+ */
105
+ [key: string]: any;
106
106
  }
@@ -1,159 +1,161 @@
1
- import { DropdownLocaleConfig } from '../dropdown/Dropdown.vue.d';
1
+ import {
2
+ DropdownLocaleConfig,
3
+ Option,
4
+ OptionValue,
5
+ } from '../dropdown/Dropdown.vue.d';
2
6
  import { CustomValidation } from '../form/Form.vue.d';
3
7
  import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
4
8
 
5
- import { MultiSelectOption, OptionValue } from 'lib/types/options.type';
6
-
7
9
  export type MultiSelectLocaleConfig = DropdownLocaleConfig & {};
8
10
 
9
11
  /**
10
12
  * MultiSelect component props
11
13
  */
12
14
  export interface MultiSelectProps {
13
- modelValue?: OptionValue[];
14
-
15
- /**
16
- * If you deals with form validation on edit form action, you can set the initial value of the field.
17
- */
18
- initialValue?: OptionValue[];
19
-
20
- /**
21
- * The field label. Tell the user what field input is this.
22
- */
23
- label?: string;
24
-
25
- /**
26
- * List of options to display.
27
- */
28
- options?: MultiSelectOption[] | string[];
29
-
30
- /**
31
- * Specify the property name of option to be used as label.
32
- *
33
- * @default undefined - the label will be sets to the option itself.
34
- */
35
- optionLabel?: string;
36
-
37
- /**
38
- * Specify the property name of option to be used as value.
39
- *
40
- * @default undefined - the value will be sets to the option itself.
41
- */
42
- optionValue?: string;
43
-
44
- /**
45
- * Determines if the field uses a validator
46
- */
47
- useValidator?: boolean;
48
-
49
- /**
50
- * Determines if the field is mandatory
51
- */
52
- mandatory?: boolean;
53
-
54
- /**
55
- * Show the text (opsional)
56
- *
57
- * @default true if mandatory true
58
- */
59
- showOptionalText?: boolean;
60
-
61
- /**
62
- * Set custom validator message.
63
- * It is rarely use, this component has handled the validator message.
64
- *
65
- * @example: 'This field is required'
66
- * @example: { empty: 'This field is required' }
67
- */
68
- validatorMessage?: string | CustomValidation<'empty'>;
69
-
70
- /**
71
- * This prop is required if you use this component in a form input.
72
- * Specify the unique field name, match with your needs for API request.
73
- *
74
- * @default 'multiSelect'
75
- */
76
- fieldName?: string;
77
-
78
- /**
79
- * Default text to display when no option is selected.
80
- *
81
- * @default `Select ${label}`
82
- */
83
- placeholder?: string;
84
-
85
- /**
86
- * Whether the MultiSelect is in loading state.
87
- * @defaultValue false
88
- */
89
- loading?: boolean;
90
-
91
- /**
92
- * Show icon 'info' on the right side of label.
93
- * Show information to user about the field on icon hover.
94
- */
95
- fieldInfo?: string;
96
-
97
- /**
98
- * Hide the input and controls the overlay state from parent component.
99
- */
100
- controls?: boolean;
101
-
102
- /**
103
- * Disabled state.
104
- */
105
- disabled?: boolean;
106
-
107
- /**
108
- * Wether show the Dropdown option search or not.
109
- *
110
- * @default true,
111
- */
112
- filter?: boolean;
113
-
114
- /**
115
- * The filter input Placeholder
116
- *
117
- * @default 'Search' from Global Locale Config
118
- */
119
- filterPlaceholder?: string;
120
-
121
- /**
122
- * Defines how the selected items are displayed.
123
- *
124
- * @default 'chip'
125
- */
126
- display?: 'comma' | 'chip';
127
-
128
- /**
129
- * Label to display after exceeding max selected labels.
130
- */
131
- selectedItemsLabel?: string;
132
-
133
- /**
134
- * Decides how many selected item labels to show at most.
135
- */
136
- maxSelectedLabels?: number;
15
+ modelValue?: OptionValue[];
16
+
17
+ /**
18
+ * If you deals with form validation on edit form action, you can set the initial value of the field.
19
+ */
20
+ initialValue?: OptionValue[];
21
+
22
+ /**
23
+ * The field label. Tell the user what field input is this.
24
+ */
25
+ label?: string;
26
+
27
+ /**
28
+ * List of options to display.
29
+ */
30
+ options?: Option[] | string[];
31
+
32
+ /**
33
+ * Specify the property name of option to be used as label.
34
+ *
35
+ * @default undefined - the label will be sets to the option itself.
36
+ */
37
+ optionLabel?: string;
38
+
39
+ /**
40
+ * Specify the property name of option to be used as value.
41
+ *
42
+ * @default undefined - the value will be sets to the option itself.
43
+ */
44
+ optionValue?: string;
45
+
46
+ /**
47
+ * Determines if the field uses a validator
48
+ */
49
+ useValidator?: boolean;
50
+
51
+ /**
52
+ * Determines if the field is mandatory
53
+ */
54
+ mandatory?: boolean;
55
+
56
+ /**
57
+ * Show the text (opsional)
58
+ *
59
+ * @default true if mandatory true
60
+ */
61
+ showOptionalText?: boolean;
62
+
63
+ /**
64
+ * Set custom validator message.
65
+ * It is rarely use, this component has handled the validator message.
66
+ *
67
+ * @example: 'This field is required'
68
+ * @example: { empty: 'This field is required' }
69
+ */
70
+ validatorMessage?: string | CustomValidation<'empty'>;
71
+
72
+ /**
73
+ * This prop is required if you use this component in a form input.
74
+ * Specify the unique field name, match with your needs for API request.
75
+ *
76
+ * @default 'multiSelect'
77
+ */
78
+ fieldName?: string;
79
+
80
+ /**
81
+ * Default text to display when no option is selected.
82
+ *
83
+ * @default `Select ${label}`
84
+ */
85
+ placeholder?: string;
86
+
87
+ /**
88
+ * Whether the MultiSelect is in loading state.
89
+ * @defaultValue false
90
+ */
91
+ loading?: boolean;
92
+
93
+ /**
94
+ * Show icon 'info' on the right side of label.
95
+ * Show information to user about the field on icon hover.
96
+ */
97
+ fieldInfo?: string;
98
+
99
+ /**
100
+ * Hide the input and controls the overlay state from parent component.
101
+ */
102
+ controls?: boolean;
103
+
104
+ /**
105
+ * Disabled state.
106
+ */
107
+ disabled?: boolean;
108
+
109
+ /**
110
+ * Wether show the Dropdown option search or not.
111
+ *
112
+ * @default true,
113
+ */
114
+ filter?: boolean;
115
+
116
+ /**
117
+ * The filter input Placeholder
118
+ *
119
+ * @default 'Search' from Global Locale Config
120
+ */
121
+ filterPlaceholder?: string;
122
+
123
+ /**
124
+ * Defines how the selected items are displayed.
125
+ *
126
+ * @default 'chip'
127
+ */
128
+ display?: 'comma' | 'chip';
129
+
130
+ /**
131
+ * Label to display after exceeding max selected labels.
132
+ */
133
+ selectedItemsLabel?: string;
134
+
135
+ /**
136
+ * Decides how many selected item labels to show at most.
137
+ */
138
+ maxSelectedLabels?: number;
137
139
  }
138
140
 
139
141
  /**
140
142
  * MultiSelect component emits
141
143
  */
142
144
  export type MultiSelectEmits = {
143
- /**
144
- * Emits when an option selected.
145
- */
146
- 'update:modelValue': [value: OptionValue[] | undefined];
147
-
148
- /**
149
- * Emits when overlay shown.
150
- */
151
- 'show': [];
152
-
153
- /**
154
- * Emits when overlay hidden.
155
- */
156
- 'hide': [];
145
+ /**
146
+ * Emits when an option selected.
147
+ */
148
+ 'update:modelValue': [value: OptionValue[] | undefined];
149
+
150
+ /**
151
+ * Emits when overlay shown.
152
+ */
153
+ 'show': [];
154
+
155
+ /**
156
+ * Emits when overlay hidden.
157
+ */
158
+ 'hide': [];
157
159
  };
158
160
 
159
161
  /**
@@ -164,29 +166,29 @@ export type MultiSelectEmits = {
164
166
  * @group Component
165
167
  */
166
168
  declare class MultiSelect extends ClassComponent<
167
- MultiSelectProps,
168
- unknown,
169
- MultiSelectEmits
169
+ MultiSelectProps,
170
+ unknown,
171
+ MultiSelectEmits
170
172
  > {
171
- /**
172
- * Shows the overlay.
173
- *
174
- * @memberof MultiSelect
175
- */
176
- showOverlay(): void;
177
-
178
- /**
179
- * Hides the overlay.
180
- *
181
- * @memberof MultiSelect
182
- */
183
- hideHideOverlay(): void;
173
+ /**
174
+ * Shows the overlay.
175
+ *
176
+ * @memberof MultiSelect
177
+ */
178
+ showOverlay(): void;
179
+
180
+ /**
181
+ * Hides the overlay.
182
+ *
183
+ * @memberof MultiSelect
184
+ */
185
+ hideHideOverlay(): void;
184
186
  }
185
187
 
186
188
  declare module '@vue/runtime-core' {
187
- interface GlobalComponents {
188
- MultiSelect: GlobalComponentConstructor<MultiSelect>;
189
- }
189
+ interface GlobalComponents {
190
+ MultiSelect: GlobalComponentConstructor<MultiSelect>;
191
+ }
190
192
  }
191
193
 
192
194
  export default MultiSelect;