@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.
- package/assets/json/currencies.json.d.ts +1068 -0
- package/assets/json/supported-official-langs.json.d.ts +530 -0
- package/assets/lottie/admin/loading-page.lottie +0 -0
- package/assets/lottie/admin/loading-table.lottie +0 -0
- package/assets/lottie/admin/no-data.lottie +0 -0
- package/assets/lottie/supplyasset/loading-page.lottie +0 -0
- package/assets/lottie/supplyasset/loading-table.lottie +0 -0
- package/assets/lottie/supplyasset/no-data.lottie +0 -0
- package/assets/lottie/workspace/loading-page.lottie +0 -0
- package/assets/lottie/workspace/loading-plane.lottie +0 -0
- package/assets/lottie/workspace/loading-table.lottie +0 -0
- package/assets/lottie/workspace/no-data.lottie +0 -0
- package/build-entry.d.ts +14 -0
- package/components/animation/Animation.vue.d.ts +24 -0
- package/components/approverinfo/ApproverInfo.vue.d.ts +51 -0
- package/components/badge/Badge.vue.d.ts +73 -0
- package/components/badgegroup/BadgeGroup.vue.d.ts +52 -0
- package/components/basecomponent/index.d.ts +28 -0
- package/components/basetree/BaseTree.vue.d.ts +591 -0
- package/components/basetree/TreeNode.vue.d.ts +35 -0
- package/components/breadcrumb/Breadcrumb.vue.d.ts +26 -0
- package/components/button/Button.vue.d.ts +185 -0
- package/components/buttonImportExcel/ButtonImportExcel.vue.d.ts +35 -0
- package/components/buttonbulkaction/ButtonBulkAction.vue.d.ts +104 -0
- package/components/buttoncopy/ButtonCopy.vue.d.ts +26 -0
- package/components/buttondownload/ButtonDownload.vue.d.ts +49 -0
- package/components/buttonfilter/ButtonFilter.vue.d.ts +12 -0
- package/components/buttonradio/ButtonRadio.vue.d.ts +257 -0
- package/components/buttonsearch/ButtonSearch.vue.d.ts +38 -0
- package/components/buttonselecttree/ButtonSelectTree.vue.d.ts +198 -0
- package/components/buttonsplit/ButtonSplit.d.ts +350 -0
- package/components/buttonsplit/ButtonSplit.vue.d.ts +34 -0
- package/components/buttontoggle/ButtonToggle.vue.d.ts +18 -0
- package/components/calendar/BaseCalendar.vue.d.ts +86 -0
- package/components/calendar/Calendar.vue.d.ts +570 -0
- package/components/card/Card.vue.d.ts +139 -0
- package/components/checkbox/Checkbox.vue.d.ts +329 -0
- package/components/codesnippet/CodeSnippet.vue.d.ts +14 -0
- package/components/customcolumn/ColumnList.vue.d.ts +27 -0
- package/components/customcolumn/CustomColumn.vue.d.ts +37 -0
- package/components/customcolumn/helpers/setVisibilityColumn.helper.d.ts +12 -0
- package/components/datatable/DataTable.vue.d.ts +735 -0
- package/components/datatable/MultiRow.vue.d.ts +16 -0
- package/components/datatable/helpers/adjustMenuPosition.helper.d.ts +1 -0
- package/components/datatable/helpers/filter.helper.d.ts +28 -0
- package/components/datatable/helpers/index.d.ts +3 -0
- package/components/datatable/helpers/readConfig.helper.d.ts +2 -0
- package/components/datatable/store/dataTable.store.d.ts +22 -0
- package/components/dialog/Dialog.vue.d.ts +464 -0
- package/components/dialogconfirm/DialogConfirm.vue.d.ts +164 -0
- package/components/dialogform/DialogForm.vue.d.ts +349 -0
- package/components/dialogselecttree/DialogSelectTree.vue.d.ts +136 -0
- package/components/dropdown/Dropdown.vue.d.ts +264 -0
- package/components/editor/CodeSnippetAdapter.vue.d.ts +92 -0
- package/components/editor/Editor.vue.d.ts +191 -0
- package/components/editor/EditorButton.vue.d.ts +15 -0
- package/components/editor/MentionList.vue.d.ts +35 -0
- package/components/editor/MentionSection.vue.d.ts +92 -0
- package/components/editor/codeSnippetExtension.d.ts +3 -0
- package/components/editor/mentionSectionExtension.d.ts +3 -0
- package/components/editor/suggestion.d.ts +2 -0
- package/components/fieldwrapper/FieldWrapper.vue.d.ts +69 -0
- package/components/fileupload/FileUpload.vue.d.ts +169 -0
- package/components/filtercontainer/FilterContainer.vue.d.ts +181 -0
- package/components/filtercontainer/helpers/applyFilter.helper.d.ts +5 -0
- package/components/filtercontainer/helpers/formatDateTimeRange.helper.d.ts +7 -0
- package/components/filtercontainer/helpers/getOption.helper.d.ts +3 -0
- package/components/form/Form.vue.d.ts +316 -0
- package/components/gallerypreview/GalleryPreview.vue.d.ts +31 -0
- package/components/helpers/convertToArrayClass.helper.d.ts +2 -0
- package/components/helpers/index.d.ts +2 -0
- package/components/helpers/label.d.ts +15 -0
- package/components/icon/Icon.vue.d.ts +256 -0
- package/components/image/Image.vue.d.ts +403 -0
- package/components/imagecompressor/BackgroundImageCropper.vue.d.ts +36 -0
- package/components/imagecompressor/ImageCompressor.vue.d.ts +223 -0
- package/components/imagecompressor/ImageInputInfo.vue.d.ts +30 -0
- package/components/index.d.ts +63 -0
- package/components/inlinemessage/InlineMessage.vue.d.ts +167 -0
- package/components/inputbadge/InputBadge.vue.d.ts +122 -0
- package/components/inputcurrency/InputCurrency.vue.d.ts +170 -0
- package/components/inputcurrency/helpers/currency.helper.d.ts +4 -0
- package/components/inputemail/InputEmail.vue.d.ts +25 -0
- package/components/inputgroup/InputGroup.vue.d.ts +141 -0
- package/components/inputnumber/InputNumber.vue.d.ts +282 -0
- package/components/inputpassword/InputPassword.vue.d.ts +32 -0
- package/components/inputphonenumber/InputPhoneNumber.vue.d.ts +99 -0
- package/components/inputphonenumber/helpers/getUserLocation.helper.d.ts +8 -0
- package/components/inputrangenumber/InputRangeNumber.vue.d.ts +120 -0
- package/components/inputtext/InputText.vue.d.ts +352 -0
- package/components/inputurl/InputURL.vue.d.ts +39 -0
- package/components/invisiblefield/InvisibleField.vue.d.ts +36 -0
- package/components/languagedropdown/LanguageDropdown.vue.d.ts +50 -0
- package/components/languagedropdown/LanguageDropdownOption.vue.d.ts +18 -0
- package/components/languageswitcher/LanguageSwitcher.vue.d.ts +15 -0
- package/components/litedropdown/LiteDropdown.vue.d.ts +96 -0
- package/components/loading/Loading.vue.d.ts +47 -0
- package/components/loading/store/loading.store.d.ts +8 -0
- package/components/menu/Menu.vue.d.ts +390 -0
- package/components/menu/helpers/filterMenu.helper.d.ts +12 -0
- package/components/menu/helpers/index.d.ts +1 -0
- package/components/menuitem/MenuItem.vue.d.ts +19 -0
- package/components/menuitem/index.d.ts +106 -0
- package/components/multiselect/MultiSelect.vue.d.ts +192 -0
- package/components/overlaypanel/OverlayPanel.vue.d.ts +301 -0
- package/components/passthrough/index.d.ts +16 -0
- package/components/progressbar/ProgressBar.vue.d.ts +72 -0
- package/components/quickfilter/QuickFilter.vue.d.ts +25 -0
- package/components/tabmenu/TabMenu.vue.d.ts +288 -0
- package/components/textarea/Textarea.vue.d.ts +170 -0
- package/components/timeline/Timeline.vue.d.ts +115 -0
- package/components/timeline/TimelineContentByType.vue.d.ts +16 -0
- package/components/toast/Toast.vue.d.ts +367 -0
- package/components/toggleswitch/ToggleSwitch.vue.d.ts +281 -0
- package/components/tooltipspan/TooltipSpan.vue.d.ts +20 -0
- package/components/tree/Tree.vue.d.ts +148 -0
- package/components/tree/helpers/filterNodeKeys.helper.d.ts +16 -0
- package/components/tree/helpers/flattenTreeNodeChildren.helper.d.ts +6 -0
- package/components/tree/helpers/index.d.ts +3 -0
- package/components/treesearchinput/TreeSearchInput.vue.d.ts +16 -0
- package/components/ts-helpers.d.ts +83 -0
- package/components/usergroup/UserGroup.vue.d.ts +57 -0
- package/components/username/UserName.vue.d.ts +113 -0
- package/components/validatormessage/ValidatorMessage.vue.d.ts +12 -0
- package/config/defaultProps.d.ts +3 -0
- package/config/index.d.ts +3 -0
- package/config/locale.d.ts +3 -0
- package/directives/focus.d.ts +7 -0
- package/directives/index.d.ts +1 -0
- package/event-bus/index.d.ts +58 -0
- package/event-bus/mitt.d.ts +26 -0
- package/loading-page-BrQattYE.js +1 -0
- package/loading-page-CgfbWppy.js +1 -0
- package/loading-page-CoC9UhfC.js +4 -0
- package/loading-page-CoXtqoc9.js +4 -0
- package/loading-page-DbLuqCHa.js +1 -0
- package/loading-page-f8D03l3G.js +4 -0
- package/loading-plane-CgfbWppy.js +1 -0
- package/loading-plane-CoXtqoc9.js +4 -0
- package/loading-table-Bdr9ZhtP.js +1 -0
- package/loading-table-ByUoWqUo.js +4 -0
- package/loading-table-BygEMzFM.js +4 -0
- package/loading-table-BzrSQlA0.js +1 -0
- package/loading-table-D9bw9OcI.js +4 -0
- package/loading-table-chOgXi94.js +1 -0
- package/main.d.ts +2 -0
- package/no-data-CTKux8RI.js +4 -0
- package/no-data-Cgze_Rvp.js +1 -0
- package/no-data-DLHO1L_u.js +4 -0
- package/no-data-Dep79CBh.js +1 -0
- package/no-data-g0dJCy2p.js +4 -0
- package/no-data-y1X5WtcQ.js +1 -0
- package/package.json +16 -0
- package/plugins/WangsVue.d.ts +131 -0
- package/plugins/formValidation.d.ts +10 -0
- package/plugins/translation.d.ts +84 -0
- package/style.css +1 -0
- package/types/options.type.d.ts +16 -0
- package/utils/addAttachment.util.d.ts +43 -0
- package/utils/date.util.d.ts +46 -0
- package/utils/exportToExcel.util.d.ts +20 -0
- package/utils/filterOptions.util.d.ts +3 -0
- package/utils/genPlaceholder.util.d.ts +8 -0
- package/utils/getAttachmentIcon.util.d.ts +8 -0
- package/utils/index.d.ts +21 -0
- package/utils/mergePropsWithDefaults.util.d.ts +20 -0
- package/utils/object.util.d.ts +16 -0
- package/utils/role.util.d.ts +2 -0
- package/utils/textFormatter.util.d.ts +17 -0
- package/utils/toast.util.d.ts +120 -0
- package/wangsvue-fats.es.js +132743 -0
- package/wangsvue-fats.system.js +489 -0
|
@@ -0,0 +1,403 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* Displays an image with preview.
|
|
5
|
+
*
|
|
6
|
+
* [Live Demo](https://www.WangsVue.org/image/)
|
|
7
|
+
*
|
|
8
|
+
* @module image
|
|
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
|
+
|
|
20
|
+
export declare type ImagePassThroughOptionType =
|
|
21
|
+
| ImagePassThroughAttributes
|
|
22
|
+
| ((
|
|
23
|
+
options: ImagePassThroughMethodOptions,
|
|
24
|
+
) => ImagePassThroughAttributes | string)
|
|
25
|
+
| string
|
|
26
|
+
| null
|
|
27
|
+
| undefined;
|
|
28
|
+
|
|
29
|
+
export declare type ImagePassThroughTransitionType =
|
|
30
|
+
| TransitionProps
|
|
31
|
+
| ((options: ImagePassThroughMethodOptions) => TransitionProps)
|
|
32
|
+
| undefined;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Custom passthrough(pt) option method.
|
|
36
|
+
*/
|
|
37
|
+
export interface ImagePassThroughMethodOptions {
|
|
38
|
+
/**
|
|
39
|
+
* Defines instance.
|
|
40
|
+
*/
|
|
41
|
+
instance: any;
|
|
42
|
+
/**
|
|
43
|
+
*ˆ
|
|
44
|
+
* Defines valid properties.
|
|
45
|
+
*/
|
|
46
|
+
props: ImageProps;
|
|
47
|
+
/**
|
|
48
|
+
* Defines current inline state.
|
|
49
|
+
*/
|
|
50
|
+
state: ImageState;
|
|
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 ImageProps.pt}
|
|
68
|
+
*/
|
|
69
|
+
export interface ImagePassThroughOptions {
|
|
70
|
+
/**
|
|
71
|
+
* Used to pass attributes to the root's DOM element.
|
|
72
|
+
*/
|
|
73
|
+
root?: ImagePassThroughOptionType;
|
|
74
|
+
/**
|
|
75
|
+
* Used to pass attributes to the image's DOM element.
|
|
76
|
+
*/
|
|
77
|
+
image?: ImagePassThroughOptionType;
|
|
78
|
+
/**
|
|
79
|
+
* Used to pass attributes to the button's DOM element.
|
|
80
|
+
*/
|
|
81
|
+
button?: ImagePassThroughOptionType;
|
|
82
|
+
/**
|
|
83
|
+
* Used to pass attributes to the icon's DOM element.
|
|
84
|
+
*/
|
|
85
|
+
icon?: ImagePassThroughOptionType;
|
|
86
|
+
/**
|
|
87
|
+
* Used to pass attributes to the mask's DOM element.
|
|
88
|
+
*/
|
|
89
|
+
mask?: ImagePassThroughOptionType;
|
|
90
|
+
/**
|
|
91
|
+
* Used to pass attributes to the toolbar's DOM element.
|
|
92
|
+
*/
|
|
93
|
+
toolbar?: ImagePassThroughOptionType;
|
|
94
|
+
/**
|
|
95
|
+
* Used to pass attributes to the rotate right button's DOM element.
|
|
96
|
+
*/
|
|
97
|
+
rotateRightButton?: ImagePassThroughOptionType;
|
|
98
|
+
/**
|
|
99
|
+
* Used to pass attributes to the rotate right icon's DOM element.
|
|
100
|
+
*/
|
|
101
|
+
rotateRightIcon?: ImagePassThroughOptionType;
|
|
102
|
+
/**
|
|
103
|
+
* Used to pass attributes to the rotate left button's DOM element.
|
|
104
|
+
*/
|
|
105
|
+
rotateLeftButton?: ImagePassThroughOptionType;
|
|
106
|
+
/**
|
|
107
|
+
* Used to pass attributes to the rotate left icon's DOM element.
|
|
108
|
+
*/
|
|
109
|
+
rotateLeftIcon?: ImagePassThroughOptionType;
|
|
110
|
+
/**
|
|
111
|
+
* Used to pass attributes to the zoom out button's DOM element.
|
|
112
|
+
*/
|
|
113
|
+
zoomOutButton?: ImagePassThroughOptionType;
|
|
114
|
+
/**
|
|
115
|
+
* Used to pass attributes to the zoom out icon's DOM element.
|
|
116
|
+
*/
|
|
117
|
+
zoomOutIcon?: ImagePassThroughOptionType;
|
|
118
|
+
/**
|
|
119
|
+
* Used to pass attributes to the zoom in button's DOM element.
|
|
120
|
+
*/
|
|
121
|
+
zoomInButton?: ImagePassThroughOptionType;
|
|
122
|
+
/**
|
|
123
|
+
* Used to pass attributes to the zoom in icon's DOM element.
|
|
124
|
+
*/
|
|
125
|
+
zoomInIcon?: ImagePassThroughOptionType;
|
|
126
|
+
/**
|
|
127
|
+
* Used to pass attributes to the close button's DOM element.
|
|
128
|
+
*/
|
|
129
|
+
closeButton?: ImagePassThroughOptionType;
|
|
130
|
+
/**
|
|
131
|
+
* Used to pass attributes to the close icon's DOM element.
|
|
132
|
+
*/
|
|
133
|
+
closeIcon?: ImagePassThroughOptionType;
|
|
134
|
+
/**
|
|
135
|
+
* Used to pass attributes to the preview container's DOM element.
|
|
136
|
+
*/
|
|
137
|
+
previewContainer?: ImagePassThroughOptionType;
|
|
138
|
+
/**
|
|
139
|
+
* Used to pass attributes to the preview's DOM element.
|
|
140
|
+
*/
|
|
141
|
+
preview?: ImagePassThroughOptionType;
|
|
142
|
+
/**
|
|
143
|
+
* Used to manage all lifecycle hooks.
|
|
144
|
+
* @see {@link BaseComponent.ComponentHooks}
|
|
145
|
+
*/
|
|
146
|
+
hooks?: ComponentHooks;
|
|
147
|
+
/**
|
|
148
|
+
* Used to control Vue Transition API.
|
|
149
|
+
*/
|
|
150
|
+
transition?: ImagePassThroughTransitionType;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Custom passthrough attributes for each DOM elements
|
|
155
|
+
*/
|
|
156
|
+
export interface ImagePassThroughAttributes {
|
|
157
|
+
[key: string]: any;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Defines current inline state in Image component.
|
|
162
|
+
*/
|
|
163
|
+
export interface ImageState {
|
|
164
|
+
/**
|
|
165
|
+
* Mask visible state as a boolean.
|
|
166
|
+
* @defaultValue false
|
|
167
|
+
*/
|
|
168
|
+
maskVisible: boolean;
|
|
169
|
+
/**
|
|
170
|
+
* Preview visible state as a boolean.
|
|
171
|
+
* @defaultValue false
|
|
172
|
+
*/
|
|
173
|
+
previewVisible: boolean;
|
|
174
|
+
/**
|
|
175
|
+
* Rotate state as a number.
|
|
176
|
+
* @defaultValue 0
|
|
177
|
+
*/
|
|
178
|
+
rotate: number;
|
|
179
|
+
/**
|
|
180
|
+
* Scale state as a boolean.
|
|
181
|
+
* @defaultValue 1
|
|
182
|
+
*/
|
|
183
|
+
scale: number;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export type ImageGallery = {
|
|
187
|
+
src?: ImageProps['src'];
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Defines valid properties in Image component.
|
|
192
|
+
*/
|
|
193
|
+
export interface ImageProps {
|
|
194
|
+
/**
|
|
195
|
+
* The thumbnail image.
|
|
196
|
+
*/
|
|
197
|
+
src?: string | Blob;
|
|
198
|
+
/**
|
|
199
|
+
* The thumbnail image width.
|
|
200
|
+
*
|
|
201
|
+
* small: 30
|
|
202
|
+
* medium: 80
|
|
203
|
+
* big: 125
|
|
204
|
+
*
|
|
205
|
+
* @default to 'big' or {@link width} - When the props.width specified, the size will use this value
|
|
206
|
+
*/
|
|
207
|
+
size?: 'small' | 'medium' | 'big';
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Set custom size in pixels (without 'px')
|
|
211
|
+
* @example 30
|
|
212
|
+
*/
|
|
213
|
+
width?: number;
|
|
214
|
+
/**
|
|
215
|
+
* Specify the rounded level.
|
|
216
|
+
*
|
|
217
|
+
* If true, the image will be full rounded.
|
|
218
|
+
*
|
|
219
|
+
* @default 'false'
|
|
220
|
+
*/
|
|
221
|
+
rounded?: boolean;
|
|
222
|
+
/**
|
|
223
|
+
* Inline style of the image element.
|
|
224
|
+
*/
|
|
225
|
+
imageStyle?: any;
|
|
226
|
+
/**
|
|
227
|
+
* Style class of the image element.
|
|
228
|
+
*/
|
|
229
|
+
imageClass?: any;
|
|
230
|
+
/**
|
|
231
|
+
* Show preview as galeria. Display multiple image with thumbnail.
|
|
232
|
+
*/
|
|
233
|
+
galleries?: ImageGallery[];
|
|
234
|
+
/**
|
|
235
|
+
* Custom indicator icon.
|
|
236
|
+
* @deprecated since v3.27.0. Use 'indicator' slot.
|
|
237
|
+
*/
|
|
238
|
+
indicatorIcon?: string;
|
|
239
|
+
/**
|
|
240
|
+
* Disable the zoom-in button
|
|
241
|
+
* @defaultValue false
|
|
242
|
+
*/
|
|
243
|
+
zoomInDisabled?: boolean | undefined;
|
|
244
|
+
/**
|
|
245
|
+
* Disable the zoom-out button
|
|
246
|
+
* @defaultValue false
|
|
247
|
+
*/
|
|
248
|
+
zoomOutDisabled?: boolean | undefined;
|
|
249
|
+
/**
|
|
250
|
+
* Used to pass attributes to DOM elements inside the component.
|
|
251
|
+
* @type {ImagePassThroughOptions}
|
|
252
|
+
*/
|
|
253
|
+
pt?: PassThrough<ImagePassThroughOptions>;
|
|
254
|
+
/**
|
|
255
|
+
* Used to configure passthrough(pt) options of the component.
|
|
256
|
+
* @type {PassThroughOptions}
|
|
257
|
+
*/
|
|
258
|
+
ptOptions?: PassThroughOptions;
|
|
259
|
+
/**
|
|
260
|
+
* When enabled, it removes component related styles in the core.
|
|
261
|
+
* @defaultValue false
|
|
262
|
+
*/
|
|
263
|
+
unstyled?: boolean;
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Get image url for specifics project from its server.
|
|
267
|
+
* @returns The full URL of the image from the server.
|
|
268
|
+
* @param path - the Image path from API Response JSON
|
|
269
|
+
* @param width - the image width in pixels
|
|
270
|
+
* @param height - the image height in pixels
|
|
271
|
+
*/
|
|
272
|
+
getImageURL?: (
|
|
273
|
+
path?: string | null,
|
|
274
|
+
width?: number,
|
|
275
|
+
height?: number,
|
|
276
|
+
) => string | undefined;
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* The placeholder to be shown when the image failed to load, or the src is not provided.
|
|
280
|
+
* It should be preserved by project configuration.
|
|
281
|
+
*/
|
|
282
|
+
placeholder?: string | undefined;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* Defines valid slots in Image slots.
|
|
287
|
+
*/
|
|
288
|
+
export interface ImageSlots {
|
|
289
|
+
/**
|
|
290
|
+
* Custom indicator template.
|
|
291
|
+
*/
|
|
292
|
+
indicator(): VNode[];
|
|
293
|
+
/**
|
|
294
|
+
* Custom indicator icon template.
|
|
295
|
+
*/
|
|
296
|
+
indicatoricon(): VNode[];
|
|
297
|
+
/**
|
|
298
|
+
* Custom refresh template.
|
|
299
|
+
*/
|
|
300
|
+
refresh(): VNode[];
|
|
301
|
+
/**
|
|
302
|
+
* Custom undo template.
|
|
303
|
+
*/
|
|
304
|
+
undo(): VNode[];
|
|
305
|
+
/**
|
|
306
|
+
* Custom zoomout template.
|
|
307
|
+
*/
|
|
308
|
+
zoomout(): VNode[];
|
|
309
|
+
/**
|
|
310
|
+
* Custom zoomin template.
|
|
311
|
+
*/
|
|
312
|
+
zoomin(): VNode[];
|
|
313
|
+
/**
|
|
314
|
+
* Custom close template.
|
|
315
|
+
*/
|
|
316
|
+
close(): VNode[];
|
|
317
|
+
/**
|
|
318
|
+
* Custom image template.
|
|
319
|
+
* @param {Object} scope - image slot's params.
|
|
320
|
+
*/
|
|
321
|
+
image(scope: {
|
|
322
|
+
/**
|
|
323
|
+
* Style class of the image element.
|
|
324
|
+
*/
|
|
325
|
+
class: any;
|
|
326
|
+
/**
|
|
327
|
+
* Style of the image element.
|
|
328
|
+
*/
|
|
329
|
+
style: any;
|
|
330
|
+
/**
|
|
331
|
+
* Image error function.
|
|
332
|
+
* @deprecated since v3.39.0. Use 'errorCallback' property instead.
|
|
333
|
+
*/
|
|
334
|
+
onError: () => void;
|
|
335
|
+
/**
|
|
336
|
+
* Preview click function.
|
|
337
|
+
*/
|
|
338
|
+
errorCallback: () => void;
|
|
339
|
+
}): VNode[];
|
|
340
|
+
/**
|
|
341
|
+
* Custom preview template.
|
|
342
|
+
* @param {Object} scope - preview slot's params.
|
|
343
|
+
*/
|
|
344
|
+
preview(scope: {
|
|
345
|
+
/**
|
|
346
|
+
* Style class of the preview image element.
|
|
347
|
+
*/
|
|
348
|
+
class: any;
|
|
349
|
+
/**
|
|
350
|
+
* Style of the preview image element.
|
|
351
|
+
*/
|
|
352
|
+
style: any;
|
|
353
|
+
/**
|
|
354
|
+
* Preview click function.
|
|
355
|
+
* @deprecated since v3.39.0. Use 'previewCallback' property instead.
|
|
356
|
+
*/
|
|
357
|
+
onClick: () => void;
|
|
358
|
+
/**
|
|
359
|
+
* Preview click function.
|
|
360
|
+
*/
|
|
361
|
+
previewCallback: () => void;
|
|
362
|
+
}): VNode[];
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
/**
|
|
366
|
+
* **WangsVue - Image**
|
|
367
|
+
*
|
|
368
|
+
* _Displays an image with preview._
|
|
369
|
+
*
|
|
370
|
+
* --- ---
|
|
371
|
+
* 
|
|
372
|
+
*
|
|
373
|
+
* @group Component
|
|
374
|
+
*
|
|
375
|
+
*/
|
|
376
|
+
declare class Image extends ClassComponent<ImageProps, ImageSlots, unknown> {
|
|
377
|
+
/**
|
|
378
|
+
* Triggered when the preview overlay is shown.
|
|
379
|
+
*
|
|
380
|
+
* @memberof Image
|
|
381
|
+
*/
|
|
382
|
+
show(): void;
|
|
383
|
+
/**
|
|
384
|
+
* Triggered when the preview overlay is hidden.
|
|
385
|
+
*
|
|
386
|
+
* @memberof Image
|
|
387
|
+
*/
|
|
388
|
+
hide(): void;
|
|
389
|
+
/**
|
|
390
|
+
* Triggered when an error occurs while loading an image file.
|
|
391
|
+
*
|
|
392
|
+
* @memberof Image
|
|
393
|
+
*/
|
|
394
|
+
error(): void;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
declare module '@vue/runtime-core' {
|
|
398
|
+
interface GlobalComponents {
|
|
399
|
+
Image: GlobalComponentConstructor<Image>;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
export default Image;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
declare function __VLS_template(): {
|
|
2
|
+
default?(_: {}): any;
|
|
3
|
+
};
|
|
4
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_TypePropsToOption<{
|
|
5
|
+
touchMove?: unknown;
|
|
6
|
+
mouseMove?: unknown;
|
|
7
|
+
touchResize?: unknown;
|
|
8
|
+
wheelResize?: unknown;
|
|
9
|
+
}>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
10
|
+
move: (e: any) => void;
|
|
11
|
+
resize: (e: any) => void;
|
|
12
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToOption<{
|
|
13
|
+
touchMove?: unknown;
|
|
14
|
+
mouseMove?: unknown;
|
|
15
|
+
touchResize?: unknown;
|
|
16
|
+
wheelResize?: unknown;
|
|
17
|
+
}>>> & {
|
|
18
|
+
onResize?: (e: any) => any;
|
|
19
|
+
onMove?: (e: any) => any;
|
|
20
|
+
}, {}, {}>;
|
|
21
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
|
22
|
+
export default _default;
|
|
23
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
24
|
+
new (): {
|
|
25
|
+
$slots: S;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
29
|
+
type __VLS_TypePropsToOption<T> = {
|
|
30
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
31
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
32
|
+
} : {
|
|
33
|
+
type: import('vue').PropType<T[K]>;
|
|
34
|
+
required: true;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { CustomValidation } from '../form/Form.vue.d';
|
|
2
|
+
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
|
|
3
|
+
|
|
4
|
+
export interface ImageCompressorLocaleConfig {
|
|
5
|
+
cropDialogHeader: string;
|
|
6
|
+
/**
|
|
7
|
+
* @example 'Gunakan Ctrl + Scroll untuk perbesar atau perkecil gambar'
|
|
8
|
+
*/
|
|
9
|
+
cropperCtrlScrollInfo: string;
|
|
10
|
+
/**
|
|
11
|
+
* @example 'Gunakan dua jari untuk untuk perbesar atau perkecil gambar'
|
|
12
|
+
*/
|
|
13
|
+
cropperTwoFingerInfo: string;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @example 'Maks. 1 MB'
|
|
17
|
+
*/
|
|
18
|
+
maxSizeRequirement: string;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @example 'Hanya mendukung format gambar'
|
|
22
|
+
*/
|
|
23
|
+
imageTypeRequirement: string;
|
|
24
|
+
|
|
25
|
+
cancelCropLabel: string;
|
|
26
|
+
changeImageLabel: string;
|
|
27
|
+
applyCropLabel: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export type Image = {
|
|
31
|
+
src: string | null;
|
|
32
|
+
type: string | null;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export type ImageCompressorPayload = {
|
|
36
|
+
canvas: HTMLCanvasElement | undefined;
|
|
37
|
+
compressed: {
|
|
38
|
+
blob: string | Blob;
|
|
39
|
+
base64: string;
|
|
40
|
+
fileName: string;
|
|
41
|
+
file: File;
|
|
42
|
+
size: string;
|
|
43
|
+
type: 'image/webp' | 'image/jpeg' | 'image/jpg';
|
|
44
|
+
};
|
|
45
|
+
message?: string;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export interface ImageCompressorProps {
|
|
49
|
+
/**
|
|
50
|
+
* Specify the user initial name for the Image Placeholder
|
|
51
|
+
*
|
|
52
|
+
* max-length: 3
|
|
53
|
+
*/
|
|
54
|
+
initialName?: string;
|
|
55
|
+
/**
|
|
56
|
+
* Specify the input type, wether single ro multiple image input.
|
|
57
|
+
*
|
|
58
|
+
* @default false - single input.
|
|
59
|
+
*/
|
|
60
|
+
multiple?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* The default image index 0 / 1
|
|
63
|
+
*/
|
|
64
|
+
defaultImage?: number;
|
|
65
|
+
/**
|
|
66
|
+
* Disable the image input.
|
|
67
|
+
*
|
|
68
|
+
* @todo add disabled state.
|
|
69
|
+
*/
|
|
70
|
+
disabled?: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Display a compressed Blob image or a string objectURL of a Blob when mounted.
|
|
73
|
+
*/
|
|
74
|
+
compressedBlob?: string | Blob | (string | Blob)[];
|
|
75
|
+
/**
|
|
76
|
+
* Display an image with the URL instead.
|
|
77
|
+
*/
|
|
78
|
+
imagePreviewUrl?: string | string[];
|
|
79
|
+
/**
|
|
80
|
+
* Specify the size image input and preview size.
|
|
81
|
+
*
|
|
82
|
+
* - small: 30px
|
|
83
|
+
* - medium: 80px
|
|
84
|
+
* - big: 125*125 px
|
|
85
|
+
*
|
|
86
|
+
* @todo Add small size. Currently only support big size.
|
|
87
|
+
* @default 'big'
|
|
88
|
+
*/
|
|
89
|
+
imagePreviewSize?: 'small' | 'medium' | 'big';
|
|
90
|
+
/**
|
|
91
|
+
* Specify the rounded level.
|
|
92
|
+
*
|
|
93
|
+
* If true, the image will be full rounded.
|
|
94
|
+
*
|
|
95
|
+
* @default 'false'
|
|
96
|
+
*/
|
|
97
|
+
rounded?: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Specify whether the image able to be deleted or not (in case image only able to added and edited)
|
|
100
|
+
*
|
|
101
|
+
* @default true
|
|
102
|
+
*/
|
|
103
|
+
useDeleteButton?: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Specify whether the image input will be used as field within Form validation.
|
|
106
|
+
*
|
|
107
|
+
*/
|
|
108
|
+
useValidator?: boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Specify if the field is required or not.
|
|
111
|
+
*/
|
|
112
|
+
mandatory?: boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Set the invalid state and display the custom validator message.
|
|
115
|
+
*/
|
|
116
|
+
invalid?: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Set custom validation message.
|
|
119
|
+
*/
|
|
120
|
+
validatorMessage?: string | CustomValidation;
|
|
121
|
+
/**
|
|
122
|
+
* The field label.
|
|
123
|
+
*
|
|
124
|
+
* @default undefined - if props.useValidator not presents.
|
|
125
|
+
* @default 'Photo' - if props.useValidator presents.
|
|
126
|
+
*/
|
|
127
|
+
label?: string;
|
|
128
|
+
/**
|
|
129
|
+
* Specify the field name to make the input available on form validation payload.
|
|
130
|
+
*
|
|
131
|
+
* @default 'imageInput'
|
|
132
|
+
*/
|
|
133
|
+
fieldName?: string;
|
|
134
|
+
/**
|
|
135
|
+
* Display field information as tooltip.
|
|
136
|
+
*/
|
|
137
|
+
fieldInfo?: string;
|
|
138
|
+
/**
|
|
139
|
+
* Show the image requirement info section.
|
|
140
|
+
*
|
|
141
|
+
* @default true
|
|
142
|
+
*/
|
|
143
|
+
showInfo?: boolean;
|
|
144
|
+
/**
|
|
145
|
+
* Show dialog confirmation before delete the image.
|
|
146
|
+
*/
|
|
147
|
+
confirmOnDelete?: boolean;
|
|
148
|
+
/**
|
|
149
|
+
* On clicking delete button, emit the delete function instead of deleting the image.
|
|
150
|
+
* Useful when showing custom dialog confirmation.
|
|
151
|
+
*/
|
|
152
|
+
emitDeleteFn?: boolean;
|
|
153
|
+
/**
|
|
154
|
+
* Show the validation message section.
|
|
155
|
+
*
|
|
156
|
+
* @default true
|
|
157
|
+
*/
|
|
158
|
+
showValidatorMessage?: boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Specify the file type for the uploaded image result.
|
|
161
|
+
*
|
|
162
|
+
* @default 'webp'
|
|
163
|
+
*/
|
|
164
|
+
fileType?: 'webp' | 'jpeg' | 'jpg';
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export interface ImageCompressorSlots {
|
|
168
|
+
[key: string]: unknown;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
export type ImageCompressorEmits = {
|
|
172
|
+
/**
|
|
173
|
+
* On apply the image cropper.
|
|
174
|
+
*/
|
|
175
|
+
'apply': [value: ImageCompressorPayload];
|
|
176
|
+
/**
|
|
177
|
+
* On apply image from props.
|
|
178
|
+
*/
|
|
179
|
+
'applyProp': [];
|
|
180
|
+
'update:defaultImage': [index?: number];
|
|
181
|
+
/**
|
|
182
|
+
* On delete button clicked.
|
|
183
|
+
*
|
|
184
|
+
* When confirmOnDelete / emitDelete is true, this emit will be emitted with a delete function.
|
|
185
|
+
* You need to call the function inside your own delete funcition to clear the image.
|
|
186
|
+
*
|
|
187
|
+
* @param deleteFn - the function delete
|
|
188
|
+
* @param index - the index of image to be deleted
|
|
189
|
+
*/
|
|
190
|
+
'delete': [deleteFn?: (index?: number) => void, index?: number];
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* **WangsVue - ImageCompressor**
|
|
195
|
+
*
|
|
196
|
+
* _Handle image input and compression._
|
|
197
|
+
*
|
|
198
|
+
* --- ---
|
|
199
|
+
* 
|
|
200
|
+
*
|
|
201
|
+
* @group Component
|
|
202
|
+
*
|
|
203
|
+
*/
|
|
204
|
+
declare class ImageCompressor extends ClassComponent<
|
|
205
|
+
ImageCompressorProps,
|
|
206
|
+
ImageCompressorSlots,
|
|
207
|
+
ImageCompressorEmits
|
|
208
|
+
> {
|
|
209
|
+
/**
|
|
210
|
+
* Exposed function to assign image from props.
|
|
211
|
+
*
|
|
212
|
+
* @param isDelete
|
|
213
|
+
*/
|
|
214
|
+
assignPreviewImagesFromProp(isDelete?: boolean): Promise<void>;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
declare module '@vue/runtime-core' {
|
|
218
|
+
interface GlobalComponents {
|
|
219
|
+
ImageCompressor: GlobalComponentConstructor<ImageCompressor>;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
export default ImageCompressor;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
declare function __VLS_template(): {
|
|
2
|
+
default?(_: {}): any;
|
|
3
|
+
};
|
|
4
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_TypePropsToOption<{
|
|
5
|
+
showInfo: boolean;
|
|
6
|
+
showAddButton?: boolean;
|
|
7
|
+
}>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
8
|
+
addPhoto: () => void;
|
|
9
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToOption<{
|
|
10
|
+
showInfo: boolean;
|
|
11
|
+
showAddButton?: boolean;
|
|
12
|
+
}>>> & {
|
|
13
|
+
onAddPhoto?: () => any;
|
|
14
|
+
}, {}, {}>;
|
|
15
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
|
16
|
+
export default _default;
|
|
17
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
18
|
+
new (): {
|
|
19
|
+
$slots: S;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
23
|
+
type __VLS_TypePropsToOption<T> = {
|
|
24
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
25
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
26
|
+
} : {
|
|
27
|
+
type: import('vue').PropType<T[K]>;
|
|
28
|
+
required: true;
|
|
29
|
+
};
|
|
30
|
+
};
|