@fewangsit/wangsvue-fats 1.0.0-alpha.2

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 (172) hide show
  1. package/assets/json/currencies.json.d.ts +1068 -0
  2. package/assets/json/supported-official-langs.json.d.ts +530 -0
  3. package/assets/lottie/admin/loading-page.lottie +0 -0
  4. package/assets/lottie/admin/loading-table.lottie +0 -0
  5. package/assets/lottie/admin/no-data.lottie +0 -0
  6. package/assets/lottie/supplyasset/loading-page.lottie +0 -0
  7. package/assets/lottie/supplyasset/loading-table.lottie +0 -0
  8. package/assets/lottie/supplyasset/no-data.lottie +0 -0
  9. package/assets/lottie/workspace/loading-page.lottie +0 -0
  10. package/assets/lottie/workspace/loading-plane.lottie +0 -0
  11. package/assets/lottie/workspace/loading-table.lottie +0 -0
  12. package/assets/lottie/workspace/no-data.lottie +0 -0
  13. package/build-entry.d.ts +14 -0
  14. package/components/animation/Animation.vue.d.ts +24 -0
  15. package/components/approverinfo/ApproverInfo.vue.d.ts +51 -0
  16. package/components/badge/Badge.vue.d.ts +73 -0
  17. package/components/badgegroup/BadgeGroup.vue.d.ts +52 -0
  18. package/components/basecomponent/index.d.ts +28 -0
  19. package/components/basetree/BaseTree.vue.d.ts +591 -0
  20. package/components/basetree/TreeNode.vue.d.ts +35 -0
  21. package/components/breadcrumb/Breadcrumb.vue.d.ts +26 -0
  22. package/components/button/Button.vue.d.ts +185 -0
  23. package/components/buttonImportExcel/ButtonImportExcel.vue.d.ts +35 -0
  24. package/components/buttonbulkaction/ButtonBulkAction.vue.d.ts +104 -0
  25. package/components/buttoncopy/ButtonCopy.vue.d.ts +26 -0
  26. package/components/buttondownload/ButtonDownload.vue.d.ts +49 -0
  27. package/components/buttonfilter/ButtonFilter.vue.d.ts +12 -0
  28. package/components/buttonradio/ButtonRadio.vue.d.ts +257 -0
  29. package/components/buttonsearch/ButtonSearch.vue.d.ts +38 -0
  30. package/components/buttonselecttree/ButtonSelectTree.vue.d.ts +198 -0
  31. package/components/buttonsplit/ButtonSplit.d.ts +350 -0
  32. package/components/buttonsplit/ButtonSplit.vue.d.ts +34 -0
  33. package/components/buttontoggle/ButtonToggle.vue.d.ts +18 -0
  34. package/components/calendar/BaseCalendar.vue.d.ts +86 -0
  35. package/components/calendar/Calendar.vue.d.ts +570 -0
  36. package/components/card/Card.vue.d.ts +139 -0
  37. package/components/checkbox/Checkbox.vue.d.ts +329 -0
  38. package/components/codesnippet/CodeSnippet.vue.d.ts +14 -0
  39. package/components/customcolumn/ColumnList.vue.d.ts +27 -0
  40. package/components/customcolumn/CustomColumn.vue.d.ts +37 -0
  41. package/components/customcolumn/helpers/setVisibilityColumn.helper.d.ts +12 -0
  42. package/components/datatable/DataTable.vue.d.ts +735 -0
  43. package/components/datatable/MultiRow.vue.d.ts +16 -0
  44. package/components/datatable/helpers/adjustMenuPosition.helper.d.ts +1 -0
  45. package/components/datatable/helpers/filter.helper.d.ts +28 -0
  46. package/components/datatable/helpers/index.d.ts +3 -0
  47. package/components/datatable/helpers/readConfig.helper.d.ts +2 -0
  48. package/components/datatable/store/dataTable.store.d.ts +22 -0
  49. package/components/dialog/Dialog.vue.d.ts +464 -0
  50. package/components/dialogconfirm/DialogConfirm.vue.d.ts +164 -0
  51. package/components/dialogform/DialogForm.vue.d.ts +349 -0
  52. package/components/dialogselecttree/DialogSelectTree.vue.d.ts +136 -0
  53. package/components/dropdown/Dropdown.vue.d.ts +264 -0
  54. package/components/editor/CodeSnippetAdapter.vue.d.ts +92 -0
  55. package/components/editor/Editor.vue.d.ts +191 -0
  56. package/components/editor/EditorButton.vue.d.ts +15 -0
  57. package/components/editor/MentionList.vue.d.ts +35 -0
  58. package/components/editor/MentionSection.vue.d.ts +92 -0
  59. package/components/editor/codeSnippetExtension.d.ts +3 -0
  60. package/components/editor/mentionSectionExtension.d.ts +3 -0
  61. package/components/editor/suggestion.d.ts +2 -0
  62. package/components/fieldwrapper/FieldWrapper.vue.d.ts +69 -0
  63. package/components/fileupload/FileUpload.vue.d.ts +169 -0
  64. package/components/filtercontainer/FilterContainer.vue.d.ts +181 -0
  65. package/components/filtercontainer/helpers/applyFilter.helper.d.ts +5 -0
  66. package/components/filtercontainer/helpers/formatDateTimeRange.helper.d.ts +7 -0
  67. package/components/filtercontainer/helpers/getOption.helper.d.ts +3 -0
  68. package/components/form/Form.vue.d.ts +316 -0
  69. package/components/gallerypreview/GalleryPreview.vue.d.ts +31 -0
  70. package/components/helpers/convertToArrayClass.helper.d.ts +2 -0
  71. package/components/helpers/index.d.ts +2 -0
  72. package/components/helpers/label.d.ts +15 -0
  73. package/components/icon/Icon.vue.d.ts +256 -0
  74. package/components/image/Image.vue.d.ts +403 -0
  75. package/components/imagecompressor/BackgroundImageCropper.vue.d.ts +36 -0
  76. package/components/imagecompressor/ImageCompressor.vue.d.ts +223 -0
  77. package/components/imagecompressor/ImageInputInfo.vue.d.ts +30 -0
  78. package/components/index.d.ts +63 -0
  79. package/components/inlinemessage/InlineMessage.vue.d.ts +167 -0
  80. package/components/inputbadge/InputBadge.vue.d.ts +122 -0
  81. package/components/inputcurrency/InputCurrency.vue.d.ts +170 -0
  82. package/components/inputcurrency/helpers/currency.helper.d.ts +4 -0
  83. package/components/inputemail/InputEmail.vue.d.ts +25 -0
  84. package/components/inputgroup/InputGroup.vue.d.ts +141 -0
  85. package/components/inputnumber/InputNumber.vue.d.ts +282 -0
  86. package/components/inputpassword/InputPassword.vue.d.ts +32 -0
  87. package/components/inputphonenumber/InputPhoneNumber.vue.d.ts +99 -0
  88. package/components/inputphonenumber/helpers/getUserLocation.helper.d.ts +8 -0
  89. package/components/inputrangenumber/InputRangeNumber.vue.d.ts +120 -0
  90. package/components/inputtext/InputText.vue.d.ts +352 -0
  91. package/components/inputurl/InputURL.vue.d.ts +39 -0
  92. package/components/invisiblefield/InvisibleField.vue.d.ts +36 -0
  93. package/components/languagedropdown/LanguageDropdown.vue.d.ts +50 -0
  94. package/components/languagedropdown/LanguageDropdownOption.vue.d.ts +18 -0
  95. package/components/languageswitcher/LanguageSwitcher.vue.d.ts +15 -0
  96. package/components/litedropdown/LiteDropdown.vue.d.ts +96 -0
  97. package/components/loading/Loading.vue.d.ts +47 -0
  98. package/components/loading/store/loading.store.d.ts +8 -0
  99. package/components/menu/Menu.vue.d.ts +390 -0
  100. package/components/menu/helpers/filterMenu.helper.d.ts +12 -0
  101. package/components/menu/helpers/index.d.ts +1 -0
  102. package/components/menuitem/MenuItem.vue.d.ts +19 -0
  103. package/components/menuitem/index.d.ts +106 -0
  104. package/components/multiselect/MultiSelect.vue.d.ts +192 -0
  105. package/components/overlaypanel/OverlayPanel.vue.d.ts +301 -0
  106. package/components/passthrough/index.d.ts +16 -0
  107. package/components/progressbar/ProgressBar.vue.d.ts +72 -0
  108. package/components/quickfilter/QuickFilter.vue.d.ts +25 -0
  109. package/components/tabmenu/TabMenu.vue.d.ts +288 -0
  110. package/components/textarea/Textarea.vue.d.ts +170 -0
  111. package/components/timeline/Timeline.vue.d.ts +115 -0
  112. package/components/timeline/TimelineContentByType.vue.d.ts +16 -0
  113. package/components/toast/Toast.vue.d.ts +367 -0
  114. package/components/toggleswitch/ToggleSwitch.vue.d.ts +281 -0
  115. package/components/tooltipspan/TooltipSpan.vue.d.ts +20 -0
  116. package/components/tree/Tree.vue.d.ts +148 -0
  117. package/components/tree/helpers/filterNodeKeys.helper.d.ts +16 -0
  118. package/components/tree/helpers/flattenTreeNodeChildren.helper.d.ts +6 -0
  119. package/components/tree/helpers/index.d.ts +3 -0
  120. package/components/treesearchinput/TreeSearchInput.vue.d.ts +16 -0
  121. package/components/ts-helpers.d.ts +83 -0
  122. package/components/usergroup/UserGroup.vue.d.ts +57 -0
  123. package/components/username/UserName.vue.d.ts +113 -0
  124. package/components/validatormessage/ValidatorMessage.vue.d.ts +12 -0
  125. package/config/defaultProps.d.ts +3 -0
  126. package/config/index.d.ts +3 -0
  127. package/config/locale.d.ts +3 -0
  128. package/directives/focus.d.ts +7 -0
  129. package/directives/index.d.ts +1 -0
  130. package/event-bus/index.d.ts +58 -0
  131. package/event-bus/mitt.d.ts +26 -0
  132. package/loading-page-BrQattYE.js +1 -0
  133. package/loading-page-CgfbWppy.js +1 -0
  134. package/loading-page-CoC9UhfC.js +4 -0
  135. package/loading-page-CoXtqoc9.js +4 -0
  136. package/loading-page-DbLuqCHa.js +1 -0
  137. package/loading-page-f8D03l3G.js +4 -0
  138. package/loading-plane-CgfbWppy.js +1 -0
  139. package/loading-plane-CoXtqoc9.js +4 -0
  140. package/loading-table-Bdr9ZhtP.js +1 -0
  141. package/loading-table-ByUoWqUo.js +4 -0
  142. package/loading-table-BygEMzFM.js +4 -0
  143. package/loading-table-BzrSQlA0.js +1 -0
  144. package/loading-table-D9bw9OcI.js +4 -0
  145. package/loading-table-chOgXi94.js +1 -0
  146. package/main.d.ts +2 -0
  147. package/no-data-CTKux8RI.js +4 -0
  148. package/no-data-Cgze_Rvp.js +1 -0
  149. package/no-data-DLHO1L_u.js +4 -0
  150. package/no-data-Dep79CBh.js +1 -0
  151. package/no-data-g0dJCy2p.js +4 -0
  152. package/no-data-y1X5WtcQ.js +1 -0
  153. package/package.json +16 -0
  154. package/plugins/WangsVue.d.ts +131 -0
  155. package/plugins/formValidation.d.ts +10 -0
  156. package/plugins/translation.d.ts +84 -0
  157. package/style.css +1 -0
  158. package/types/options.type.d.ts +16 -0
  159. package/utils/addAttachment.util.d.ts +43 -0
  160. package/utils/date.util.d.ts +46 -0
  161. package/utils/exportToExcel.util.d.ts +20 -0
  162. package/utils/filterOptions.util.d.ts +3 -0
  163. package/utils/genPlaceholder.util.d.ts +8 -0
  164. package/utils/getAttachmentIcon.util.d.ts +8 -0
  165. package/utils/index.d.ts +21 -0
  166. package/utils/mergePropsWithDefaults.util.d.ts +20 -0
  167. package/utils/object.util.d.ts +16 -0
  168. package/utils/role.util.d.ts +2 -0
  169. package/utils/textFormatter.util.d.ts +17 -0
  170. package/utils/toast.util.d.ts +120 -0
  171. package/wangsvue-fats.es.js +132743 -0
  172. package/wangsvue-fats.system.js +489 -0
@@ -0,0 +1,170 @@
1
+ import { TextareaHTMLAttributes } from 'vue';
2
+ import {
3
+ ClassComponent,
4
+ GlobalComponentConstructor,
5
+ Nullable,
6
+ Numberish,
7
+ } from '../ts-helpers.d';
8
+ import { CustomValidation } from '../form/Form.vue.d';
9
+
10
+ export interface TextareaLocaleConfig {
11
+ /**
12
+ * @example '{label} must not be empty' - label will be replaced with props.label
13
+ */
14
+ emptyInvalidText?: string;
15
+
16
+ /**
17
+ * @example 'Max. {maxLength} characters' - maxLength will be replaced with props.maxLength
18
+ */
19
+ exceedMaxLengthInvalidText?: string;
20
+
21
+ /**
22
+ * @example 'Enter {label}' - label can be ommited, and if exist will be replaced with props.label
23
+ */
24
+ defaultPlaceholder?: string;
25
+ }
26
+
27
+ /**
28
+ * Defines valid properties in Textarea component. In addition to these, all properties of TextareaHTMLAttributes can be used in this component.
29
+ * @extends TextareaHTMLAttributes
30
+ */
31
+ export interface TextareaProps
32
+ extends /* @vue-ignore */ TextareaHTMLAttributes {
33
+ /**
34
+ * The model value of text area.
35
+ */
36
+ modelValue?: Nullable<string>;
37
+
38
+ /**
39
+ * Sets the initial value of the field. This will only available with option 'useValidator'.
40
+ *
41
+ * In use case like edit form, you need to display the previous inputted value.
42
+ */
43
+ value?: Nullable<string>;
44
+
45
+ /**
46
+ * Set invalid input state. And show validatorMessage if available.
47
+ */
48
+ invalid?: boolean;
49
+
50
+ /**
51
+ * Disabled input state.
52
+ */
53
+ disabled?: boolean;
54
+
55
+ /**
56
+ * When present, height of textarea changes as being typed.
57
+ * @defaultValue true
58
+ */
59
+ autoResize?: boolean | undefined;
60
+
61
+ /**
62
+ * Specifies the input variant of the component.
63
+ * @defaultValue outlined
64
+ */
65
+ variant?: 'outlined' | 'filled' | undefined;
66
+
67
+ /**
68
+ * Whether the input should be validated with vee-validator or not.
69
+ * If you use this component within form input, you need to set this props as true.
70
+ */
71
+ useValidator?: boolean;
72
+
73
+ /**
74
+ * Set custom validator message.
75
+ * Will be show if invalid="true" or in some conditions. {@link Condition}
76
+ *
77
+ * @example: 'This field is required'
78
+ * @example: { empty: 'This field is required' }
79
+ */
80
+ validatorMessage?: string | CustomValidation<'empty' | 'exceed'>;
81
+
82
+ /**
83
+ * This prop is required if you use this component in a form input.
84
+ * Specify the unique field name, match with your needs for API request.
85
+ *
86
+ * @default 'textareaInput'
87
+ */
88
+ fieldName?: string;
89
+
90
+ /**
91
+ * Show information to user about the field with a tooltip.
92
+ */
93
+ fieldInfo?: string;
94
+
95
+ /**
96
+ * Make the field mandatory.
97
+ */
98
+ mandatory?: boolean;
99
+
100
+ /**
101
+ * The maximum character length allowed by validator.
102
+ *
103
+ * @default unlimited
104
+ */
105
+ maxInput?: number;
106
+
107
+ /**
108
+ * The maximum character length allowed on input.
109
+ *
110
+ * @default unlimited
111
+ */
112
+ maxlength?: number;
113
+
114
+ /**
115
+ * Prevent input once the max length is reached, allowing only backspace.
116
+ *
117
+ * @default true
118
+ */
119
+ preventInputOnMaxLength?: boolean;
120
+
121
+ inputClass?: string;
122
+ rows?: Numberish;
123
+
124
+ /**
125
+ * Specify the input placeholder.
126
+ *
127
+ * @default 'Enter {label}' or 'Enter {type}'
128
+ */
129
+ placeholder?: string;
130
+
131
+ /**
132
+ * The input label. Tell the user what input is this.
133
+ */
134
+ label?: string;
135
+ }
136
+
137
+ /**
138
+ * Defines valid emits in Textarea component.
139
+ */
140
+ export type TextareaEmits = {
141
+ /**
142
+ * Emitted when the value changes.
143
+ */
144
+ 'update:modelValue': [value: Nullable<string>];
145
+ };
146
+
147
+ /**
148
+ * **TSVue - Textarea**
149
+ *
150
+ * _Textarea is a multi-line text input element._
151
+ *
152
+ * --- ---
153
+ * ![TSVue](https://www.wangs.id/wp-content/uploads/2023/12/cropped-Logo_Wangsid-removebg-preview-192x192.png)
154
+ *
155
+ * @group Component
156
+ *
157
+ */
158
+ declare class Textarea extends ClassComponent<
159
+ TextareaProps,
160
+ Record<string, unknown>,
161
+ TextareaEmits
162
+ > {}
163
+
164
+ declare module '@vue/runtime-core' {
165
+ interface GlobalComponents {
166
+ Textarea: GlobalComponentConstructor<Textarea>;
167
+ }
168
+ }
169
+
170
+ export default Textarea;
@@ -0,0 +1,115 @@
1
+ import { JSONContent } from '../editor/Editor.vue.d';
2
+ import { ClassComponent } from '../ts-helpers';
3
+
4
+ export interface AttachmentFile {
5
+ type: 'image' | 'xls' | 'doc' | 'pdf' | 'csv' | 'video' | 'data';
6
+ filePath?: string;
7
+ }
8
+
9
+ export interface AttachmentLink {
10
+ type: 'link';
11
+ url?: string;
12
+ }
13
+
14
+ export interface LinkTaskURL {
15
+ type: 'taskUrl';
16
+ url: string;
17
+ }
18
+
19
+ export interface LinkTaskIframeEmbed {
20
+ type: 'embed';
21
+ code: string;
22
+ }
23
+
24
+ export interface DetailText {
25
+ type: 'text';
26
+ value: string;
27
+ }
28
+
29
+ export interface DetailUserText {
30
+ type: 'userText';
31
+ user: {
32
+ _id: string;
33
+ nickName: string;
34
+ };
35
+ text: string;
36
+ }
37
+
38
+ export interface DetailBullet {
39
+ type: 'bullet';
40
+ value: (string | DetailUserText)[];
41
+ }
42
+
43
+ export interface DetailJSONContent {
44
+ type: 'json';
45
+ value: JSONContent;
46
+ }
47
+
48
+ export type Attachment =
49
+ | AttachmentLink
50
+ | AttachmentFile
51
+ | LinkTaskIframeEmbed
52
+ | LinkTaskURL;
53
+
54
+ export type LinkTaskEditAction = Record<
55
+ 'Sebelum' | 'Sesudah',
56
+ LinkTaskURL | LinkTaskIframeEmbed
57
+ >;
58
+
59
+ export type DetailType =
60
+ | Attachment
61
+ | LinkTaskEditAction
62
+ | DetailText
63
+ | DetailUserText
64
+ | DetailBullet
65
+ | DetailJSONContent;
66
+
67
+ export type KeyValue = Record<string, string | DetailType>;
68
+
69
+ export type TimelineItem = {
70
+ _id: string;
71
+ action: string;
72
+ createdAt: string;
73
+ user?: {
74
+ _id: string;
75
+ nickName: string;
76
+ };
77
+ detail?: KeyValue | DetailType;
78
+ };
79
+
80
+ export type TimelineProps = {
81
+ value: TimelineItem[];
82
+ /**
83
+ * Whether the detail values should be aligned with each other or not.
84
+ * @defaultValue false
85
+ */
86
+ alignDetail?: boolean;
87
+ /**
88
+ * Whether the timeline should be scrollable or not.
89
+ * @defaultValue false
90
+ */
91
+ noScroll?: boolean;
92
+ /**
93
+ * Whether the createdAt field should be displayed in raw format or not.
94
+ * @defaultValue false
95
+ */
96
+ noFormatDate?: boolean;
97
+ };
98
+
99
+ /**
100
+ * **WangsVue - Timeline**
101
+ *
102
+ * _Timeline visualizes a series of chained events._
103
+ *
104
+ * [Live Demo](https://fewangsit.github.io/wangsvue/timeline/)
105
+ * --- ---
106
+ *
107
+ * @group Component
108
+ */
109
+ declare class Timeline extends ClassComponent<
110
+ TimelineProps,
111
+ unknown,
112
+ unknown
113
+ > {}
114
+
115
+ export default Timeline;
@@ -0,0 +1,16 @@
1
+ import { AttachmentFile, AttachmentLink, DetailBullet, DetailJSONContent, DetailText, DetailUserText, LinkTaskIframeEmbed, LinkTaskURL } from './Timeline.vue.d';
2
+ declare const _default: import('vue').DefineComponent<__VLS_TypePropsToOption<{
3
+ detail: AttachmentFile | LinkTaskIframeEmbed | LinkTaskURL | AttachmentLink | DetailText | DetailUserText | DetailBullet | DetailJSONContent;
4
+ }>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToOption<{
5
+ detail: AttachmentFile | LinkTaskIframeEmbed | LinkTaskURL | AttachmentLink | DetailText | DetailUserText | DetailBullet | DetailJSONContent;
6
+ }>>>, {}, {}>;
7
+ export default _default;
8
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
9
+ type __VLS_TypePropsToOption<T> = {
10
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
11
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
12
+ } : {
13
+ type: import('vue').PropType<T[K]>;
14
+ required: true;
15
+ };
16
+ };
@@ -0,0 +1,367 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ /**
3
+ *
4
+ * Toast is used to display messages in an overlay.
5
+ *
6
+ * [Live Demo](https://www.WangsVue.org/toast/)
7
+ *
8
+ * @module toast
9
+ *
10
+ */
11
+ import { TransitionProps, VNode } from 'vue';
12
+ import { ComponentHooks } from '../basecomponent';
13
+ import { PassThroughOptions } from '../passthrough';
14
+ import {
15
+ ClassComponent,
16
+ GlobalComponentConstructor,
17
+ PassThrough,
18
+ } from '../ts-helpers';
19
+ import { WangsIcons } from '../icon/Icon.vue.d';
20
+
21
+ export declare type ToastPassThroughOptionType =
22
+ | ToastPassThroughAttributes
23
+ | ((
24
+ options: ToastPassThroughMethodOptions,
25
+ ) => ToastPassThroughAttributes | string)
26
+ | string
27
+ | null
28
+ | undefined;
29
+
30
+ export declare type ToastPassThroughTransitionType =
31
+ | TransitionProps
32
+ | ((options: ToastPassThroughMethodOptions) => TransitionProps)
33
+ | undefined;
34
+
35
+ /**
36
+ * Custom passthrough(pt) option method.
37
+ */
38
+ export interface ToastPassThroughMethodOptions {
39
+ /**
40
+ * Defines instance.
41
+ */
42
+ instance: any;
43
+ /**
44
+ * Defines valid properties.
45
+ */
46
+ props: ToastProps;
47
+ /**
48
+ * Defines current inline state.
49
+ */
50
+ state: ToastState;
51
+ /**
52
+ * Defines valid attributes.
53
+ */
54
+ attrs: any;
55
+ /**
56
+ * Defines parent options.
57
+ */
58
+ parent: any;
59
+ /**
60
+ * Defines passthrough(pt) options in global config.
61
+ */
62
+ global: object | undefined;
63
+ }
64
+
65
+ /**
66
+ * Custom passthrough(pt) options.
67
+ * @see {@link ToastProps.pt}
68
+ */
69
+ export interface ToastPassThroughOptions {
70
+ /**
71
+ * Used to pass attributes to the root's DOM element.
72
+ */
73
+ root?: ToastPassThroughOptionType;
74
+ /**
75
+ * Used to pass attributes to the message's DOM element.
76
+ */
77
+ message?: ToastPassThroughOptionType;
78
+ /**
79
+ * Used to pass attributes to the container's DOM element.
80
+ */
81
+ container?: ToastPassThroughOptionType;
82
+ /**
83
+ * Used to pass attributes to the content's DOM element.
84
+ */
85
+ content?: ToastPassThroughOptionType;
86
+ /**
87
+ * Used to pass attributes to the icon's DOM element.
88
+ */
89
+ icon?: ToastPassThroughOptionType;
90
+ /**
91
+ * Used to pass attributes to the text's DOM element.
92
+ */
93
+ text?: ToastPassThroughOptionType;
94
+ /**
95
+ * Used to pass attributes to the summary's DOM element.
96
+ */
97
+ summary?: ToastPassThroughOptionType;
98
+ /**
99
+ * Used to pass attributes to the detail's DOM element.
100
+ */
101
+ detail?: ToastPassThroughOptionType;
102
+ /**
103
+ * Used to pass attributes to the button container's DOM element.
104
+ */
105
+ buttonContainer?: ToastPassThroughOptionType;
106
+ /**
107
+ * Used to pass attributes to the button's DOM element.
108
+ * @deprecated since v3.30.2. Use 'closeButton' option.
109
+ */
110
+ button?: ToastPassThroughOptionType;
111
+ /**
112
+ * Used to pass attributes to the button's DOM element.
113
+ */
114
+ closeButton?: ToastPassThroughOptionType;
115
+ /**
116
+ * Used to pass attributes to the button icon's DOM element.
117
+ * @deprecated since v3.30.2. Use 'closeIcon' option.
118
+ */
119
+ buttonIcon?: ToastPassThroughOptionType;
120
+ /**
121
+ * Used to pass attributes to the button icon's DOM element.
122
+ */
123
+ closeIcon?: ToastPassThroughOptionType;
124
+ /**
125
+ * Used to manage all lifecycle hooks.
126
+ * @see {@link BaseComponent.ComponentHooks}
127
+ */
128
+ hooks?: ComponentHooks;
129
+ /**
130
+ * Used to control Vue Transition API.
131
+ */
132
+ transition?: ToastPassThroughTransitionType;
133
+ }
134
+
135
+ /**
136
+ * Custom passthrough attributes for each DOM elements
137
+ */
138
+ export interface ToastPassThroughAttributes {
139
+ [key: string]: any;
140
+ }
141
+
142
+ /**
143
+ * Defines message options in Toast component.
144
+ */
145
+ export interface ToastMessageOptions {
146
+ /**
147
+ * Severity level of the message.
148
+ * @defaultValue info
149
+ */
150
+ severity?:
151
+ | 'success'
152
+ | 'info'
153
+ | 'warn'
154
+ | 'error'
155
+ | 'secondary'
156
+ | 'contrast'
157
+ | undefined;
158
+ /**
159
+ * Summary content of the message.
160
+ */
161
+ summary?: string | undefined;
162
+ /**
163
+ * Detail content of the message.
164
+ */
165
+ detail?: any | undefined;
166
+ /**
167
+ * Whether the message can be closed manually using the close icon.
168
+ * @defaultValue true
169
+ */
170
+ closable?: boolean | undefined;
171
+ /**
172
+ * Delay in milliseconds to close the message automatically.
173
+ */
174
+ life?: number | undefined;
175
+ /**
176
+ * Key of the Toast to display the message.
177
+ */
178
+ group?: string | undefined;
179
+ /**
180
+ * Style class of the message.
181
+ */
182
+ styleClass?: any;
183
+ /**
184
+ * Style class of the content.
185
+ */
186
+ contentStyleClass?: any;
187
+ }
188
+
189
+ /**
190
+ * Defines breakpoints type in Toast component.
191
+ */
192
+ export interface ToastBreakpointsType {
193
+ /**
194
+ * Breakpoint for responsive mode.
195
+ *
196
+ * Example:
197
+ *
198
+ * <Toast :breakpoints="{'960px': { width: '75vw', ... }" ... />
199
+ *
200
+ */
201
+ [key: string]: any;
202
+ }
203
+
204
+ /**
205
+ * Defines current inline state in Toast component.
206
+ */
207
+ export interface ToastState {
208
+ /**
209
+ * Current messages.
210
+ */
211
+ messages: any[];
212
+ }
213
+
214
+ /**
215
+ * Defines valid properties in Toast component.
216
+ */
217
+ export interface ToastProps {
218
+ /**
219
+ * Unique identifier of a message group.
220
+ */
221
+ group?: string | undefined;
222
+ /**
223
+ * Position of the toast in viewport.
224
+ * @defaultValue bottom-right
225
+ */
226
+ position?:
227
+ | 'top-left'
228
+ | 'top-center'
229
+ | 'top-right'
230
+ | 'bottom-left'
231
+ | 'bottom-center'
232
+ | 'bottom-right'
233
+ | 'center'
234
+ | undefined;
235
+ /**
236
+ * Whether to automatically manage layering.
237
+ * @defaultValue true
238
+ */
239
+ autoZIndex?: boolean | undefined;
240
+ /**
241
+ * Base zIndex value to use in layering.
242
+ * @defaultValue 0
243
+ */
244
+ baseZIndex?: number | undefined;
245
+ /**
246
+ * Object literal to define styles per screen size.
247
+ * @see ToastBreakpointsType
248
+ */
249
+ breakpoints?: ToastBreakpointsType;
250
+ /**
251
+ * Used to access message options.
252
+ * @type {ToastMessageOptions}
253
+ */
254
+ message?: ToastMessageOptions;
255
+ icon?: WangsIcons;
256
+ /**
257
+ * Used to pass attributes to DOM elements inside the component.
258
+ * @type {ToastPassThroughOptions}
259
+ */
260
+ pt?: PassThrough<ToastPassThroughOptions>;
261
+ /**
262
+ * Used to configure passthrough(pt) options of the component.
263
+ * @type {PassThroughOptions}
264
+ */
265
+ ptOptions?: PassThroughOptions;
266
+ /**
267
+ * When enabled, it removes component related styles in the core.
268
+ * @defaultValue false
269
+ */
270
+ unstyled?: boolean;
271
+ }
272
+
273
+ /**
274
+ * Defines valid slot in Toast component.
275
+ */
276
+ export interface ToastSlots {
277
+ /**
278
+ * Custom message template.
279
+ * @param {Object} scope - message slot's params.
280
+ */
281
+ message(scope: {
282
+ /**
283
+ * Message of the component
284
+ */
285
+ message: any;
286
+ }): VNode[];
287
+ /**
288
+ * Custom icon template.
289
+ * @param {Object} scope - icon slot's params.
290
+ */
291
+ icon(scope: {
292
+ /**
293
+ * Style class of the icon
294
+ */
295
+ class: any;
296
+ }): VNode[];
297
+ /**
298
+ * Custom close icon template.
299
+ * @param {Object} scope - close icon slot's params.
300
+ */
301
+ closeicon(scope: {
302
+ /**
303
+ * Style class of the close icon
304
+ */
305
+ class: any;
306
+ }): VNode[];
307
+ /**
308
+ * Custom container slot.
309
+ * @param {Object} scope - container slot's params.
310
+ */
311
+ container(scope: {
312
+ /**
313
+ * Message of the component
314
+ */
315
+ message: any;
316
+ /**
317
+ * Close toast function
318
+ * @deprecated since v3.39.0. Use 'closeCallback' property instead.
319
+ */
320
+ onClose: () => void;
321
+ /**
322
+ * Close sidebar function.
323
+ */
324
+ closeCallback: () => void;
325
+ }): VNode[];
326
+ }
327
+
328
+ /**
329
+ * Defines valid emits in Toast component.
330
+ */
331
+ export type ToastEmits = {
332
+ /**
333
+ * Callback to invoke when the toast is closed.
334
+ * @param {ToastMessageOptions} message - Toast message.
335
+ */
336
+ close: [message: ToastMessageOptions];
337
+ /**
338
+ * Callback to invoke when the toast's timeout is over.
339
+ * @param {ToastMessageOptions} message - Toast message.
340
+ */
341
+ lifeEnd: [message: ToastMessageOptions];
342
+ };
343
+
344
+ /**
345
+ * **WangsVue - Toast**
346
+ *
347
+ * _Toast is used to display messages in an overlay._
348
+ *
349
+ * --- ---
350
+ * ![WangsVue](https://www.wangs.id/wp-content/uploads/2023/12/cropped-Logo_Wangsid-removebg-preview-192x192.png)
351
+ *
352
+ * @group Component
353
+ *
354
+ */
355
+ declare class Toast extends ClassComponent<
356
+ ToastProps,
357
+ ToastSlots,
358
+ ToastEmits
359
+ > {}
360
+
361
+ declare module '@vue/runtime-core' {
362
+ interface GlobalComponents {
363
+ Toast: GlobalComponentConstructor<Toast>;
364
+ }
365
+ }
366
+
367
+ export default Toast;