@fewangsit/wangsvue-fats 1.0.0-alpha.3 → 1.0.0-alpha.30

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 (151) 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 +31 -0
  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 +149 -141
  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 +201 -0
  17. package/components/buttonscan/helpers/getErrorCode.helper.d.ts +3 -0
  18. package/components/buttonscan/helpers/index.d.ts +1 -0
  19. package/components/buttonscan/workers/scanner.worker.d.ts +1 -0
  20. package/components/buttonsearch/ButtonSearch.vue.d.ts +13 -13
  21. package/components/buttonselecttree/ButtonSelectTree.vue.d.ts +165 -163
  22. package/components/buttonsync/ButtonSync.vue.d.ts +22 -0
  23. package/components/buttontoggle/ButtonToggle.vue.d.ts +4 -4
  24. package/components/buttonviewlog/ButtonViewLog.vue.d.ts +17 -0
  25. package/components/calendar/BaseCalendar.vue.d.ts +106 -65
  26. package/components/calendar/Calendar.vue.d.ts +469 -469
  27. package/components/card/Card.vue.d.ts +82 -82
  28. package/components/checkbox/Checkbox.vue.d.ts +245 -245
  29. package/components/customcolumn/ColumnList.vue.d.ts +35 -15
  30. package/components/customcolumn/CustomColumn.vue.d.ts +21 -21
  31. package/components/customcolumn/helpers/setVisibilityColumn.helper.d.ts +5 -1
  32. package/components/datatable/DataTable.vue.d.ts +596 -596
  33. package/components/datatable/MultiRow.vue.d.ts +31 -11
  34. package/components/datatable/helpers/filter.helper.d.ts +12 -2
  35. package/components/datatable/helpers/index.d.ts +4 -1
  36. package/components/datatable/helpers/readConfig.helper.d.ts +4 -1
  37. package/components/datatable/store/dataTable.store.d.ts +4 -1
  38. package/components/dialog/Dialog.vue.d.ts +367 -367
  39. package/components/dialogconfirm/DialogConfirm.vue.d.ts +117 -117
  40. package/components/dialogform/DialogForm.vue.d.ts +288 -288
  41. package/components/dialogselecttree/DialogSelectTree.vue.d.ts +98 -98
  42. package/components/dropdown/Dropdown.vue.d.ts +231 -221
  43. package/components/editor/CodeSnippetAdapter.vue.d.ts +151 -91
  44. package/components/editor/Editor.vue.d.ts +156 -156
  45. package/components/editor/EditorButton.vue.d.ts +31 -11
  46. package/components/editor/MentionList.vue.d.ts +45 -31
  47. package/components/editor/MentionSection.vue.d.ts +151 -91
  48. package/components/fieldwrapper/FieldWrapper.vue.d.ts +48 -48
  49. package/components/fileupload/FileUpload.vue.d.ts +132 -132
  50. package/components/filtercontainer/FilterContainer.vue.d.ts +113 -113
  51. package/components/filtercontainer/helpers/applyFilter.helper.d.ts +11 -2
  52. package/components/filtercontainer/helpers/getOption.helper.d.ts +11 -2
  53. package/components/form/Form.vue.d.ts +258 -258
  54. package/components/icon/Icon.vue.d.ts +235 -235
  55. package/components/image/Image.vue.d.ts +306 -306
  56. package/components/imagecompressor/BackgroundImageCropper.vue.d.ts +47 -24
  57. package/components/imagecompressor/ImageCompressor.vue.d.ts +186 -180
  58. package/components/imagecompressor/ImageInputInfo.vue.d.ts +43 -18
  59. package/components/index.d.ts +58 -63
  60. package/components/inputbadge/InputBadge.vue.d.ts +90 -90
  61. package/components/inputcurrency/InputCurrency.vue.d.ts +126 -126
  62. package/components/inputcurrency/helpers/currency.helper.d.ts +5 -1
  63. package/components/inputnumber/InputNumber.vue.d.ts +245 -245
  64. package/components/inputpassword/InputPassword.vue.d.ts +19 -19
  65. package/components/inputphonenumber/InputPhoneNumber.vue.d.ts +68 -68
  66. package/components/inputrangenumber/InputRangeNumber.vue.d.ts +88 -88
  67. package/components/inputsearch/InputSearch.vue.d.ts +33 -0
  68. package/components/inputtext/InputText.vue.d.ts +281 -281
  69. package/components/inputurl/InputURL.vue.d.ts +6 -9
  70. package/components/invisiblefield/InvisibleField.vue.d.ts +30 -34
  71. package/components/litedropdown/LiteDropdown.vue.d.ts +64 -64
  72. package/components/loading/Loading.vue.d.ts +5 -5
  73. package/components/menu/Menu.vue.d.ts +282 -282
  74. package/components/menu/helpers/filterMenu.helper.d.ts +4 -1
  75. package/components/menuitem/MenuItem.vue +70 -0
  76. package/components/menuitem/MenuItem.vue.d.ts +33 -13
  77. package/components/menuitem/index.d.ts +84 -84
  78. package/components/multiselect/MultiSelect.vue.d.ts +162 -160
  79. package/components/overlaypanel/OverlayPanel.vue.d.ts +207 -207
  80. package/components/passthrough/index.d.ts +8 -8
  81. package/components/tabmenu/TabMenu.vue.d.ts +185 -185
  82. package/components/textarea/Textarea.vue.d.ts +131 -131
  83. package/components/timeline/Timeline.vue.d.ts +64 -58
  84. package/components/timeline/TimelineContentByType.vue.d.ts +60 -12
  85. package/components/toast/Toast.vue.d.ts +265 -265
  86. package/components/toggleswitch/ToggleSwitch.vue.d.ts +211 -211
  87. package/components/tree/Tree.vue.d.ts +116 -116
  88. package/components/tree/helpers/filterNodeKeys.helper.d.ts +8 -2
  89. package/components/tree/helpers/flattenTreeNodeChildren.helper.d.ts +3 -1
  90. package/components/ts-helpers.d.ts +43 -41
  91. package/components/username/UserName.vue.d.ts +71 -71
  92. package/components/userwithicon/UserWithIcon.vue.d.ts +20 -0
  93. package/config/defaultProps.d.ts +1 -1
  94. package/config/index.d.ts +1 -1
  95. package/config/locale.d.ts +1 -1
  96. package/event-bus/index.d.ts +3 -1
  97. package/event-bus/mitt.d.ts +25 -7
  98. package/main.d.ts +31 -2
  99. package/package.json +1 -1
  100. package/plugins/WangsVue.d.ts +184 -16
  101. package/plugins/formValidation.d.ts +11 -2
  102. package/plugins/i18n-extension.d.ts +4 -0
  103. package/plugins/i18n.d.ts +98 -0
  104. package/style.css +1 -1
  105. package/utils/addAttachment.util.d.ts +18 -2
  106. package/utils/date.util.d.ts +33 -4
  107. package/utils/filterOptions.util.d.ts +4 -2
  108. package/utils/genPlaceholder.util.d.ts +11 -6
  109. package/utils/getSeverityByAssetStatus.util.d.ts +3 -0
  110. package/utils/index.d.ts +14 -13
  111. package/utils/listenSidebarChanges.util.d.ts +16 -0
  112. package/utils/mergePropsWithDefaults.util.d.ts +4 -1
  113. package/utils/object.util.d.ts +14 -3
  114. package/utils/role.util.d.ts +5 -1
  115. package/utils/textFormatter.util.d.ts +15 -3
  116. package/wangsvue-fats.es.js +36988 -46002
  117. package/wangsvue-fats.system.js +169 -180
  118. package/assets/json/currencies.json.d.ts +0 -1068
  119. package/assets/json/supported-official-langs.json.d.ts +0 -530
  120. package/assets/lottie/admin/loading-page.lottie +0 -0
  121. package/assets/lottie/admin/loading-table.lottie +0 -0
  122. package/assets/lottie/admin/no-data.lottie +0 -0
  123. package/assets/lottie/supplyasset/loading-page.lottie +0 -0
  124. package/assets/lottie/supplyasset/loading-table.lottie +0 -0
  125. package/assets/lottie/supplyasset/no-data.lottie +0 -0
  126. package/assets/lottie/workspace/loading-page.lottie +0 -0
  127. package/assets/lottie/workspace/loading-plane.lottie +0 -0
  128. package/assets/lottie/workspace/loading-table.lottie +0 -0
  129. package/assets/lottie/workspace/no-data.lottie +0 -0
  130. package/build-entry.d.ts +0 -14
  131. package/components/buttonImportExcel/ButtonImportExcel.vue.d.ts +0 -35
  132. package/components/buttonsplit/ButtonSplit.d.ts +0 -350
  133. package/components/buttonsplit/ButtonSplit.vue.d.ts +0 -34
  134. package/components/codesnippet/CodeSnippet.vue.d.ts +0 -14
  135. package/components/gallerypreview/GalleryPreview.vue.d.ts +0 -31
  136. package/components/helpers/convertToArrayClass.helper.d.ts +0 -2
  137. package/components/helpers/index.d.ts +0 -2
  138. package/components/helpers/label.d.ts +0 -15
  139. package/components/inlinemessage/InlineMessage.vue.d.ts +0 -167
  140. package/components/inputgroup/InputGroup.vue.d.ts +0 -141
  141. package/components/languagedropdown/LanguageDropdown.vue.d.ts +0 -50
  142. package/components/languagedropdown/LanguageDropdownOption.vue.d.ts +0 -18
  143. package/components/languageswitcher/LanguageSwitcher.vue.d.ts +0 -15
  144. package/components/progressbar/ProgressBar.vue.d.ts +0 -72
  145. package/components/quickfilter/QuickFilter.vue.d.ts +0 -25
  146. package/components/tooltipspan/TooltipSpan.vue.d.ts +0 -20
  147. package/components/treesearchinput/TreeSearchInput.vue.d.ts +0 -16
  148. package/components/usergroup/UserGroup.vue.d.ts +0 -57
  149. package/components/validatormessage/ValidatorMessage.vue.d.ts +0 -12
  150. package/plugins/translation.d.ts +0 -84
  151. 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;