@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,131 @@
|
|
|
1
|
+
import { Plugin } from 'vue';
|
|
2
|
+
import { PrimeVueLocaleOptions } from 'primevue/config';
|
|
3
|
+
import { FieldWrapperLocaleConfig, FieldWrapperProps } from '../components/fieldwrapper/FieldWrapper.vue.d';
|
|
4
|
+
import { InputTextLocaleConfig, InputTextProps } from '../components/inputtext/InputText.vue.d';
|
|
5
|
+
import { TreeProps } from '../components/tree/Tree.vue.d';
|
|
6
|
+
import { DialogConfirmLocaleConfig } from '../components/dialogconfirm/DialogConfirm.vue.d';
|
|
7
|
+
import { CustomColumnLocaleConfig } from '../components/customcolumn/CustomColumn.vue.d';
|
|
8
|
+
import { ButtonSearchLocaleConfig } from '../components/buttonsearch/ButtonSearch.vue.d';
|
|
9
|
+
import { FilterContainerLocaleConfig } from '../components/filtercontainer/FilterContainer.vue.d';
|
|
10
|
+
import { MultiSelectLocaleConfig } from '../components/multiselect/MultiSelect.vue.d';
|
|
11
|
+
import { DropdownLocaleConfig, DropdownProps } from '../components/dropdown/Dropdown.vue.d';
|
|
12
|
+
import { InputCurrencyLocaleConfig } from '../components/inputcurrency/InputCurrency.vue.d';
|
|
13
|
+
import { TextareaLocaleConfig } from '../components/textarea/Textarea.vue.d';
|
|
14
|
+
import { InputrangeNumberLocaleConfig } from '../components/inputrangenumber/InputRangeNumber.vue.d';
|
|
15
|
+
import { DialogFormLocaleConfig } from '../components/dialogform/DialogForm.vue.d';
|
|
16
|
+
import { InputPhoneNumberLocaleConfig } from '../components/inputphonenumber/InputPhoneNumber.vue.d';
|
|
17
|
+
import { InputNumberLocaleConfig } from '../components/inputnumber/InputNumber.vue.d';
|
|
18
|
+
import { CalendarLocaleConfig, CalendarPresetOptions } from '../components/calendar/Calendar.vue.d';
|
|
19
|
+
import { OverlayPanelPassThroughOptions } from '../components/overlaypanel/OverlayPanel.vue.d';
|
|
20
|
+
import { InputURLProps } from '../components/inputurl/InputURL.vue.d';
|
|
21
|
+
import { InputEmailProps } from '../components/inputemail/InputEmail.vue.d';
|
|
22
|
+
import { ImageProps } from '../components/image/Image.vue.d';
|
|
23
|
+
import { MenuLocaleConfig } from '../components/menu/Menu.vue.d';
|
|
24
|
+
import { ButtonBulkActionLocaleConfig, ButtonBulkActionProps } from '../components/buttonbulkaction/ButtonBulkAction.vue.d';
|
|
25
|
+
import { AnimationDefaultConfig } from '../components/animation/Animation.vue.d';
|
|
26
|
+
import { LoadingPresetOptions } from '../components/loading/Loading.vue.d';
|
|
27
|
+
import { DataTableLocaleConfig, DataTableProps } from '../components/datatable/DataTable.vue.d';
|
|
28
|
+
import { BadgeComponentConfigs } from '../components/badge/Badge.vue.d';
|
|
29
|
+
import { UserNameComponentConfigs, UserNameLocaleConfig, UserNamePresetOptions } from '../components/username/UserName.vue.d';
|
|
30
|
+
import { ImageCompressorLocaleConfig } from '../components/imagecompressor/ImageCompressor.vue.d';
|
|
31
|
+
import { UseToastConfig } from '../utils';
|
|
32
|
+
/**
|
|
33
|
+
* A Record of component names with theirs props interface
|
|
34
|
+
*/
|
|
35
|
+
export interface ComponentDefaultPropsConfig {
|
|
36
|
+
FieldWrapper?: FieldWrapperProps;
|
|
37
|
+
InputText?: InputTextProps;
|
|
38
|
+
InputURL?: InputURLProps;
|
|
39
|
+
InputEmail?: InputEmailProps;
|
|
40
|
+
Tree?: TreeProps;
|
|
41
|
+
Image?: ImageProps;
|
|
42
|
+
ButtonBulkAction?: Omit<ButtonBulkActionProps, 'selectedData' | 'options'>;
|
|
43
|
+
Animation?: AnimationDefaultConfig;
|
|
44
|
+
DataTable?: Partial<DataTableProps>;
|
|
45
|
+
Badge?: Partial<BadgeComponentConfigs>;
|
|
46
|
+
UserName?: UserNameComponentConfigs;
|
|
47
|
+
Dropdown?: DropdownProps;
|
|
48
|
+
}
|
|
49
|
+
interface ComponentLocaleConfig {
|
|
50
|
+
FieldWrapper?: FieldWrapperLocaleConfig;
|
|
51
|
+
InputText?: InputTextLocaleConfig;
|
|
52
|
+
DialogConfirm?: DialogConfirmLocaleConfig;
|
|
53
|
+
CustomColumn?: CustomColumnLocaleConfig;
|
|
54
|
+
ButtonSearch?: ButtonSearchLocaleConfig;
|
|
55
|
+
FilterContainer?: FilterContainerLocaleConfig;
|
|
56
|
+
MultiSelect?: MultiSelectLocaleConfig;
|
|
57
|
+
Dropdown?: DropdownLocaleConfig;
|
|
58
|
+
InputCurrency?: InputCurrencyLocaleConfig;
|
|
59
|
+
TextArea?: TextareaLocaleConfig;
|
|
60
|
+
InputRangeNumber?: InputrangeNumberLocaleConfig;
|
|
61
|
+
DialogForm?: DialogFormLocaleConfig;
|
|
62
|
+
InputPhoneNumber?: InputPhoneNumberLocaleConfig;
|
|
63
|
+
InputNumber?: InputNumberLocaleConfig;
|
|
64
|
+
Calendar?: CalendarLocaleConfig;
|
|
65
|
+
Menu?: MenuLocaleConfig;
|
|
66
|
+
ButtonBulkAction?: ButtonBulkActionLocaleConfig;
|
|
67
|
+
UserName?: UserNameLocaleConfig;
|
|
68
|
+
DataTable?: DataTableLocaleConfig;
|
|
69
|
+
ImageCompressor?: ImageCompressorLocaleConfig;
|
|
70
|
+
}
|
|
71
|
+
export interface LocaleConfig {
|
|
72
|
+
global: Partial<PrimeVueLocaleOptions>;
|
|
73
|
+
components: ComponentLocaleConfig;
|
|
74
|
+
}
|
|
75
|
+
export interface ComponentPresetOptions {
|
|
76
|
+
calendar: CalendarPresetOptions;
|
|
77
|
+
overlaypanel: OverlayPanelPassThroughOptions;
|
|
78
|
+
loading: LoadingPresetOptions;
|
|
79
|
+
username: UserNamePresetOptions;
|
|
80
|
+
[key: string]: any;
|
|
81
|
+
}
|
|
82
|
+
export type WangsVueComponentConfig<ComponentName extends keyof ComponentDefaultPropsConfig | keyof ComponentLocaleConfig> = {
|
|
83
|
+
defaultProps: ComponentName extends keyof ComponentDefaultPropsConfig ? ComponentDefaultPropsConfig[ComponentName] : undefined;
|
|
84
|
+
locale: (ComponentName extends keyof ComponentLocaleConfig ? ComponentLocaleConfig[ComponentName] : undefined) & {
|
|
85
|
+
global: LocaleConfig['global'];
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
export interface WangsVueOptions {
|
|
89
|
+
defaultProps: ComponentDefaultPropsConfig;
|
|
90
|
+
locale: LocaleConfig;
|
|
91
|
+
useToastConfig?: UseToastConfig;
|
|
92
|
+
zIndex?: Record<string, number>;
|
|
93
|
+
filterMatchModeOptions?: Record<string, string[]>;
|
|
94
|
+
/**
|
|
95
|
+
* @deprecated - partially replaced with {@link preset}
|
|
96
|
+
*/
|
|
97
|
+
pt?: ComponentPresetOptions;
|
|
98
|
+
preset?: ComponentPresetOptions;
|
|
99
|
+
ptOptions?: {
|
|
100
|
+
mergeSections: boolean;
|
|
101
|
+
mergeProps: boolean;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* @deprecated - Will always be unstyled
|
|
105
|
+
*/
|
|
106
|
+
unstyled?: boolean;
|
|
107
|
+
csp?: {
|
|
108
|
+
nonce?: string;
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
export interface WangsVueInstance {
|
|
112
|
+
config: WangsVueOptions;
|
|
113
|
+
getComponentConfig<ComponentName extends keyof ComponentDefaultPropsConfig | keyof ComponentLocaleConfig>(componentName: ComponentName): WangsVueComponentConfig<ComponentName>;
|
|
114
|
+
}
|
|
115
|
+
export declare const defaultOptions: WangsVueOptions;
|
|
116
|
+
export declare const useWangsVueConfig: <T extends (keyof ComponentDefaultPropsConfig | keyof ComponentLocaleConfig) | undefined>(componentName?: T) => T extends keyof ComponentDefaultPropsConfig | keyof ComponentLocaleConfig ? WangsVueComponentConfig<T> : WangsVueOptions;
|
|
117
|
+
export declare const mergeWangsVueConfig: (baseConfig: WangsVueOptions, overrideConfig: Partial<WangsVueOptions>) => WangsVueOptions;
|
|
118
|
+
/**
|
|
119
|
+
*
|
|
120
|
+
* @param predefinedOptions
|
|
121
|
+
* @param mergeConfig Wether merge predefined config with defualt config @default true
|
|
122
|
+
* @returns
|
|
123
|
+
*/
|
|
124
|
+
declare const createWangsVuePlugin: (predefinedOptions?: Partial<WangsVueOptions>, mergeConfig?: boolean) => Plugin<Partial<WangsVueOptions>>;
|
|
125
|
+
export default createWangsVuePlugin;
|
|
126
|
+
declare module 'vue' {
|
|
127
|
+
interface ComponentCustomProperties {
|
|
128
|
+
$wangsvue: WangsVueInstance;
|
|
129
|
+
$preset: ComponentPresetOptions;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MaybeRef, MaybeRefOrGetter } from 'vue';
|
|
2
|
+
import { FormContext as VeeFormContext, FieldContext, RuleExpression, FieldOptions } from 'vee-validate';
|
|
3
|
+
export interface FormContext<T> {
|
|
4
|
+
values: T;
|
|
5
|
+
handleSubmit: VeeFormContext['handleSubmit'];
|
|
6
|
+
setValues: VeeFormContext['setValues'];
|
|
7
|
+
setFieldValue: VeeFormContext['setFieldValue'];
|
|
8
|
+
}
|
|
9
|
+
export declare const useForm: <T>() => FormContext<T>;
|
|
10
|
+
export declare const useField: <T>(path: MaybeRefOrGetter<string>, rules?: MaybeRef<RuleExpression<T>>, opts?: Partial<FieldOptions<T>>) => FieldContext<T>;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { App, Ref } from 'vue';
|
|
2
|
+
export type Locale = string;
|
|
3
|
+
export interface I18n {
|
|
4
|
+
/**
|
|
5
|
+
* Locale message translation
|
|
6
|
+
*
|
|
7
|
+
* @param key - The translation key
|
|
8
|
+
* @param params - A values of named interpolation
|
|
9
|
+
*
|
|
10
|
+
* @returns translation message
|
|
11
|
+
* @example `t('Hello {user}!', { user: 'John Doe' })` - returns: 'Hello John Doe!'
|
|
12
|
+
*/
|
|
13
|
+
t: (key: string, params?: Record<string, any>) => string;
|
|
14
|
+
/**
|
|
15
|
+
* Change the locale dynamically
|
|
16
|
+
*
|
|
17
|
+
* @param newLocale - The locale to switch to
|
|
18
|
+
*/
|
|
19
|
+
setLocale: (newLocale: Locale) => Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Get the current locale
|
|
22
|
+
*
|
|
23
|
+
* @returns Current locale
|
|
24
|
+
*/
|
|
25
|
+
locale: Ref<Locale>;
|
|
26
|
+
}
|
|
27
|
+
export interface TranslateTextResponseList {
|
|
28
|
+
translations: TranslateTextResponseTranslation[];
|
|
29
|
+
}
|
|
30
|
+
export interface TranslateTextResponseTranslation {
|
|
31
|
+
translatedText: string;
|
|
32
|
+
}
|
|
33
|
+
export interface GoogleTranslationResponse {
|
|
34
|
+
data: TranslateTextResponseList;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Query parameters for making a request to the Google Cloud Translate API v2.
|
|
38
|
+
* Reference: https://cloud.google.com/translate/docs/reference/rest/v2/translate
|
|
39
|
+
*/
|
|
40
|
+
export interface GoogleTranslateRequestQueryParams {
|
|
41
|
+
/**
|
|
42
|
+
* The input text to translate.
|
|
43
|
+
* Can be a single string or an array of strings (up to 128 items).
|
|
44
|
+
* Example: "Hello world" or ["Hello", "How are you?"]
|
|
45
|
+
*/
|
|
46
|
+
q: string | string[];
|
|
47
|
+
/**
|
|
48
|
+
* The target language code to translate the input text into.
|
|
49
|
+
* Must be a supported language code from:
|
|
50
|
+
* https://cloud.google.com/translate/docs/languages
|
|
51
|
+
* Example: "id" for Indonesian, "es" for Spanish.
|
|
52
|
+
*/
|
|
53
|
+
target: string;
|
|
54
|
+
/**
|
|
55
|
+
* (Optional) The format of the source text.
|
|
56
|
+
* Use `"text"` for plain text or `"html"` if the source contains HTML tags.
|
|
57
|
+
* Default is `"html"`.
|
|
58
|
+
*/
|
|
59
|
+
format?: 'html' | 'text';
|
|
60
|
+
/**
|
|
61
|
+
* (Optional) The source language code of the input text.
|
|
62
|
+
* If omitted, the API will automatically detect the source language.
|
|
63
|
+
* Supported language codes: https://cloud.google.com/translate/docs/languages
|
|
64
|
+
* Example: "en" for English.
|
|
65
|
+
*/
|
|
66
|
+
source?: string;
|
|
67
|
+
/**
|
|
68
|
+
* A valid API key for authenticating the request.
|
|
69
|
+
* You can generate and manage API keys in the Google Cloud Console:
|
|
70
|
+
* https://console.cloud.google.com/apis/credentials
|
|
71
|
+
*/
|
|
72
|
+
key: string;
|
|
73
|
+
}
|
|
74
|
+
export declare const useI18n: () => I18n;
|
|
75
|
+
declare const _default: {
|
|
76
|
+
install: (app: App) => void;
|
|
77
|
+
};
|
|
78
|
+
export default _default;
|
|
79
|
+
declare module 'vue' {
|
|
80
|
+
interface ComponentCustomProperties {
|
|
81
|
+
$i18n: I18n;
|
|
82
|
+
$t: I18n['t'];
|
|
83
|
+
}
|
|
84
|
+
}
|
package/style.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.-top-\[10px\]{top:-10px}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.top-\[45\%\]{top:45%}.\!m-0{margin:0!important}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.\!mt-0{margin-top:0!important}.-mt-1\.5{margin-top:-.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-3{margin-right:.75rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.\!h-4{height:1rem!important}.\!h-6{height:1.5rem!important}.\!h-8{height:2rem!important}.\!h-\[70px\]{height:70px!important}.\!h-max{height:-moz-max-content!important;height:max-content!important}.h-10{height:2.5rem}.h-28{height:7rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-\[10px\]{height:10px}.h-\[125px\]{height:125px}.h-\[14px\]{height:14px}.h-\[22px\]{height:22px}.h-\[26\.8px\]{height:26.8px}.h-\[29px\]{height:29px}.h-\[30px\]{height:30px}.h-\[60px\]{height:60px}.h-\[75vh\]{height:75vh}.h-\[80px\]{height:80px}.h-\[90vh\]{height:90vh}.h-auto{height:auto}.h-full{height:100%}.\!max-h-\[94vh\]{max-height:94vh!important}.max-h-20{max-height:5rem}.max-h-72{max-height:18rem}.max-h-\[300px\]{max-height:300px}.max-h-\[71px\]{max-height:71px}.max-h-\[75vh\]{max-height:75vh}.\!min-h-0{min-height:0px!important}.min-h-\[100px\]{min-height:100px}.min-h-\[30px\]{min-height:30px}.min-h-\[50vh\]{min-height:50vh}.\!w-0{width:0px!important}.\!w-4{width:1rem!important}.\!w-6{width:1.5rem!important}.\!w-8{width:2rem!important}.\!w-\[400px\]{width:400px!important}.\!w-\[50px\]{width:50px!important}.\!w-\[70px\]{width:70px!important}.\!w-fit{width:-moz-fit-content!important;width:fit-content!important}.\!w-full{width:100%!important}.\!w-max{width:-moz-max-content!important;width:max-content!important}.w-10{width:2.5rem}.w-28{width:7rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\[10px\]{width:10px}.w-\[125px\]{width:125px}.w-\[22px\]{width:22px}.w-\[269px\]{width:269px}.w-\[29px\]{width:29px}.w-\[30px\]{width:30px}.w-\[342px\]{width:342px}.w-\[400px\]{width:400px}.w-\[520px\]{width:520px}.w-\[60px\]{width:60px}.w-\[75vw\]{width:75vw}.w-\[80px\]{width:80px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.\!min-w-0{min-width:0px!important}.\!min-w-4{min-width:1rem!important}.min-w-\[30px\]{min-width:30px}.min-w-\[400px\]{min-width:400px}.min-w-\[500px\]{min-width:500px}.max-w-\[121px\]{max-width:121px}.max-w-\[125px\]{max-width:125px}.max-w-\[70vw\]{max-width:70vw}.max-w-\[80px\]{max-width:80px}.max-w-\[98vw\]{max-width:98vw}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.\!cursor-auto{cursor:auto!important}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-flow-col-dense{grid-auto-flow:column dense}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[1fr\,max-content\]{grid-template-columns:1fr max-content}.grid-cols-\[auto\,max-content\]{grid-template-columns:auto max-content}.grid-cols-\[max-content\,1fr\,max-content\]{grid-template-columns:max-content 1fr max-content}.grid-cols-\[max-content\,1fr\]{grid-template-columns:max-content 1fr}.grid-cols-\[max-content\,auto\]{grid-template-columns:max-content auto}.grid-cols-\[max-content\,max-content\,auto\]{grid-template-columns:max-content max-content auto}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid-rows-\[max-content\,auto\]{grid-template-rows:max-content auto}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.\!justify-between{justify-content:space-between!important}.justify-between{justify-content:space-between}.\!gap-0{gap:0px!important}.\!gap-1{gap:.25rem!important}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-\[1px\]{gap:1px}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-4{row-gap:1rem}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.\!rounded{border-radius:.25rem!important}.rounded{border-radius:.25rem}.rounded-\[50px\]{border-radius:50px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.border{border-width:1px}.border-\[0\.5px\]{border-width:.5px}.border-\[2px\]{border-width:2px}.border-b-\[0\.5px\]{border-bottom-width:.5px}.border-none{border-style:none}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-inherit{border-color:inherit}.\!bg-gray-100{--tw-bg-opacity: 1 !important;background-color:rgb(243 244 246 / var(--tw-bg-opacity))!important}.\!bg-transparent{background-color:transparent!important}.bg-black\/80{background-color:#000c}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity: .8}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.\!p-0{padding:0!important}.\!p-1{padding:.25rem!important}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.\!px-0{padding-left:0!important;padding-right:0!important}.\!px-1{padding-left:.25rem!important;padding-right:.25rem!important}.\!py-0{padding-top:0!important;padding-bottom:0!important}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-\[4\.5px\]{padding-top:4.5px;padding-bottom:4.5px}.py-\[7px\]{padding-top:7px;padding-bottom:7px}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pl-3{padding-left:.75rem}.pr-0\.5{padding-right:.125rem}.pr-1\.5{padding-right:.375rem}.ps-\[6px\]{padding-inline-start:6px}.pt-1\.5{padding-top:.375rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.\!text-\[10px\]{font-size:10px!important}.\!text-\[9px\]{font-size:9px!important}.\!text-base{font-size:1rem!important;line-height:1.5rem!important}.\!text-sm{font-size:.875rem!important;line-height:1.25rem!important}.\!text-xs{font-size:.75rem!important;line-height:1rem!important}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.\!font-light{font-weight:300!important}.\!font-normal{font-weight:400!important}.\!font-semibold{font-weight:600!important}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.\!leading-3{line-height:.75rem!important}.\!leading-6{line-height:1.5rem!important}.leading-5{line-height:1.25rem}.leading-\[16\.39px\]{line-height:16.39px}.tracking-\[0\.02em\]{letter-spacing:.02em}.text-\[\#0000EE\]{--tw-text-opacity: 1;color:rgb(0 0 238 / var(--tw-text-opacity))}.text-\[\#908CAB\]{--tw-text-opacity: 1;color:rgb(144 140 171 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-inherit{color:inherit}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.\!opacity-100{opacity:1!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.\!shadow-none{--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.\!ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)!important}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-\[0\.5px\]{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(.5px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-offset-0{--tw-ring-offset-width: 0px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[1px\]{--tw-backdrop-blur: blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.\!transition-transform{transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;transition-duration:.15s!important}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.before\:ml-1:before{content:var(--tw-content);margin-left:.25rem}.before\:mr-1:before{content:var(--tw-content);margin-right:.25rem}.before\:content-\[\'•\'\]:before{--tw-content: "•";content:var(--tw-content)}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:bg-opacity-0:hover{--tw-bg-opacity: 0}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.\[\&\>\[data-wv-section\=input-image-trigger\]\]\:hover\:opacity-100:hover>[data-wv-section=input-image-trigger]{opacity:1}.\[\&\>span\]\:hover\:opacity-30:hover>span{opacity:.3}.\[\&_\*\:has\(code\)\]\:my-\[0\.25rem\] *:has(code){margin-top:.25rem;margin-bottom:.25rem}.\[\&_\*\]\:outline-none *{outline:2px solid transparent;outline-offset:2px}.\[\&_\.is-editor-empty\:first-child\:\:before\]\:pointer-events-none .is-editor-empty:first-child:before{pointer-events:none}.\[\&_\.is-editor-empty\:first-child\:\:before\]\:float-left .is-editor-empty:first-child:before{float:left}.\[\&_\.is-editor-empty\:first-child\:\:before\]\:h-0 .is-editor-empty:first-child:before{height:0px}.\[\&_\.is-editor-empty\:first-child\:\:before\]\:font-normal .is-editor-empty:first-child:before{font-weight:400}.\[\&_\.is-editor-empty\:first-child\:\:before\]\:content-\[attr\(data-placeholder\)\] .is-editor-empty:first-child:before{--tw-content: attr(data-placeholder);content:var(--tw-content)}.\[\&_\.separator\:\:after\]\:text-xl .separator:after{font-size:1.25rem;line-height:1.75rem}.\[\&_\.separator\:\:after\]\:font-thin .separator:after{font-weight:100}.\[\&_\.separator\:\:after\]\:content-\[\'\|\'\] .separator:after{--tw-content: "|";content:var(--tw-content)}.\[\&_\.separator\]\:h-6 .separator{height:1.5rem}.\[\&_a\]\:cursor-pointer a{cursor:pointer}.\[\&_a\]\:hover\:underline:hover a{text-decoration-line:underline}.\[\&_b\]\:font-bold b{font-weight:700}.\[\&_code\]\:rounded-md code{border-radius:.375rem}.\[\&_code\]\:p-\[0\.25em_0\.3em\] code{padding:.25em .3em}.\[\&_code\]\:text-\[0\.85rem\] code{font-size:.85rem}.\[\&_i\]\:h-5 i{height:1.25rem}.\[\&_i\]\:h-6 i{height:1.5rem}.\[\&_i\]\:w-5 i{width:1.25rem}.\[\&_i\]\:w-6 i{width:1.5rem}.\[\&_img\.ProseMirror-selectednode\]\:\!rounded-sm img.ProseMirror-selectednode{border-radius:.125rem!important}.\[\&_img\.ProseMirror-selectednode\]\:\!outline-\[0\.5px\] img.ProseMirror-selectednode{outline-width:.5px!important}.\[\&_img\.ProseMirror-selectednode\]\:\!outline-offset-1 img.ProseMirror-selectednode{outline-offset:1px!important}.\[\&_img\]\:my-2 img{margin-top:.5rem;margin-bottom:.5rem}.\[\&_li\]\:pl-0\.5 li{padding-left:.125rem}.\[\&_li\]\:before\:ml-\[-12px\] li:before{content:var(--tw-content);margin-left:-12px}.\[\&_li\]\:before\:inline-block li:before{content:var(--tw-content);display:inline-block}.\[\&_li\]\:before\:w-\[12px\] li:before{content:var(--tw-content);width:12px}.\[\&_li\]\:before\:content-\[\'•\'\] li:before{--tw-content: "•";content:var(--tw-content)}.\[\&_span\]\:leading-\[22px\] span{line-height:22px}.\[\&_strong\]\:font-bold strong{font-weight:700}[data-v-a4e0713c] .custom-scrollbar .simplebar-scrollbar{pointer-events:auto!important}[data-v-a4e0713c] .custom-scrollbar .simplebar-track{pointer-events:auto;background:#f0f0f0}[data-v-a4e0713c] .custom-scrollbar .simplebar-scrollbar:before{background:silver;opacity:1;left:4px;right:4px}[data-v-a4e0713c] .custom-scrollbar .simplebar-scrollbar:hover:before,[data-v-a4e0713c] .custom-scrollbar .simplebar-scrollbar:active:before{background:#8c8c8c}[data-v-a4e0713c] .custom-scrollbar .simplebar-content-wrapper,[data-v-a4e0713c] .custom-scrollbar .simplebar-wrapper{padding-bottom:12px!important;border-radius:8px}[data-v-a4e0713c] .custom-scrollbar .simplebar-track.simplebar-vertical{width:0px}[data-v-a4e0713c] .custom-scrollbar .simplebar-track.simplebar-horizontal{height:10px}.cropper-event-notification[data-v-b1e0f310]{background:#0009;color:#fff;position:absolute;left:0;top:0;bottom:0;right:0;display:flex;justify-content:center;align-items:center;text-align:center;font-size:20px;transition:opacity .5s;opacity:0;pointer-events:none;padding-left:50px;padding-right:50px}.cropper-event-notification--visible[data-v-b1e0f310]{transition:opacity .25s!important;pointer-events:all!important;opacity:1!important}[data-simplebar]{position:relative;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.simplebar-wrapper{overflow:hidden;width:inherit;height:inherit;max-width:inherit;max-height:inherit}.simplebar-mask{direction:inherit;position:absolute;overflow:hidden;padding:0;margin:0;left:0;top:0;bottom:0;right:0;width:auto!important;height:auto!important;z-index:0}.simplebar-offset{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;top:0;left:0;bottom:0;right:0;padding:0;margin:0;-webkit-overflow-scrolling:touch}.simplebar-content-wrapper{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:auto;max-width:100%;max-height:100%;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.simplebar-content-wrapper::-webkit-scrollbar,.simplebar-hide-scrollbar::-webkit-scrollbar{display:none;width:0;height:0}.simplebar-content:after,.simplebar-content:before{content:" ";display:table}.simplebar-placeholder{max-height:100%;max-width:100%;width:100%;pointer-events:none}.simplebar-height-auto-observer-wrapper{box-sizing:inherit!important;height:100%;width:100%;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;flex-grow:inherit;flex-shrink:0;flex-basis:0}.simplebar-height-auto-observer{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:1000%;width:1000%;min-height:1px;min-width:1px;overflow:hidden;pointer-events:none;z-index:-1}.simplebar-track{z-index:1;position:absolute;right:0;bottom:0;pointer-events:none;overflow:hidden}[data-simplebar].simplebar-dragging,[data-simplebar].simplebar-dragging .simplebar-content{pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}.simplebar-scrollbar{position:absolute;left:0;right:0;min-height:10px}.simplebar-scrollbar:before{position:absolute;content:"";background:#000;border-radius:7px;left:2px;right:2px;opacity:0;transition:opacity .2s .5s linear}.simplebar-scrollbar.simplebar-visible:before{opacity:.5;transition-delay:0s;transition-duration:0s}.simplebar-track.simplebar-vertical{top:0;width:11px}.simplebar-scrollbar:before{top:2px;bottom:2px;left:2px;right:2px}.simplebar-track.simplebar-horizontal{left:0;height:11px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar{right:auto;left:0;top:0;bottom:0;min-height:0;min-width:10px;width:auto}[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical{right:auto;left:0}.simplebar-dummy-scrollbar-size{direction:rtl;position:fixed;opacity:0;visibility:hidden;height:500px;width:500px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:scrollbar!important}.simplebar-dummy-scrollbar-size>div{width:200%;height:200%;margin:10px 0}.simplebar-hide-scrollbar{position:fixed;left:0;visibility:hidden;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}[data-v-6fa2ebda] .custom-scrollbar .simplebar-scrollbar{pointer-events:auto!important}[data-v-6fa2ebda] .custom-scrollbar .simplebar-track{pointer-events:auto;background:#f0f0f0}[data-v-6fa2ebda] .custom-scrollbar .simplebar-scrollbar:before{background:silver;opacity:1;left:4px;right:4px}[data-v-6fa2ebda] .custom-scrollbar .simplebar-scrollbar:hover:before,[data-v-6fa2ebda] .custom-scrollbar .simplebar-scrollbar:active:before{background:#8c8c8c}[data-v-6fa2ebda] .custom-scrollbar .simplebar-content-wrapper,[data-v-6fa2ebda] .custom-scrollbar .simplebar-wrapper{padding-bottom:12px!important;border-radius:8px}[data-v-6fa2ebda] .custom-scrollbar .simplebar-track.simplebar-vertical{width:0px}[data-v-6fa2ebda] .custom-scrollbar .simplebar-track.simplebar-horizontal{height:10px}.cropper-event-notification[data-v-e8cad1b8]{background:#0009;color:#fff;position:absolute;left:0;top:0;bottom:0;right:0;display:flex;justify-content:center;align-items:center;text-align:center;font-size:20px;transition:opacity .5s;opacity:0;pointer-events:none;padding-left:50px;padding-right:50px}.cropper-event-notification--visible[data-v-e8cad1b8]{transition:opacity .25s!important;pointer-events:all!important;opacity:1!important}.vue-advanced-cropper{text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;max-height:100%;max-width:100%;direction:ltr}.vue-advanced-cropper__stretcher{pointer-events:none;position:relative;max-width:100%;max-height:100%}.vue-advanced-cropper__image{-webkit-user-select:none;-moz-user-select:none;user-select:none;position:absolute;transform-origin:center;max-width:none!important}.vue-advanced-cropper__background,.vue-advanced-cropper__foreground{opacity:1;background:#000;transform:translate(-50%,-50%);position:absolute;top:50%;left:50%}.vue-advanced-cropper__foreground{opacity:.5}.vue-advanced-cropper__boundaries{opacity:1;transform:translate(-50%,-50%);position:absolute;left:50%;top:50%}.vue-advanced-cropper__cropper-wrapper{width:100%;height:100%}.vue-advanced-cropper__image-wrapper{overflow:hidden;position:absolute;width:100%;height:100%}.vue-advanced-cropper__stencil-wrapper{position:absolute}.vue-simple-handler{display:block;background:#fff;height:10px;width:10px}.vue-handler-wrapper{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px}.vue-handler-wrapper__draggable{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.vue-handler-wrapper--west-north{cursor:nw-resize}.vue-handler-wrapper--north{cursor:n-resize}.vue-handler-wrapper--east-north{cursor:ne-resize}.vue-handler-wrapper--east{cursor:e-resize}.vue-handler-wrapper--east-south{cursor:se-resize}.vue-handler-wrapper--south{cursor:s-resize}.vue-handler-wrapper--west-south{cursor:sw-resize}.vue-handler-wrapper--west{cursor:w-resize}.vue-handler-wrapper--disabled{cursor:auto}.vue-line-wrapper{background:none;position:absolute;display:flex;align-items:center;justify-content:center}.vue-line-wrapper--north,.vue-line-wrapper--south{height:12px;width:100%;left:0;transform:translateY(-50%)}.vue-line-wrapper--north{top:0;cursor:n-resize}.vue-line-wrapper--south{top:100%;cursor:s-resize}.vue-line-wrapper--east,.vue-line-wrapper--west{width:12px;height:100%;transform:translate(-50%);top:0}.vue-line-wrapper--east{left:100%;cursor:e-resize}.vue-line-wrapper--west{left:0;cursor:w-resize}.vue-line-wrapper--disabled{cursor:auto}.vue-bounding-box{position:relative;height:100%;width:100%}.vue-bounding-box__handler{position:absolute}.vue-bounding-box__handler--west-north{left:0;top:0}.vue-bounding-box__handler--north{left:50%;top:0}.vue-bounding-box__handler--east-north{left:100%;top:0}.vue-bounding-box__handler--east{left:100%;top:50%}.vue-bounding-box__handler--east-south{left:100%;top:100%}.vue-bounding-box__handler--south{left:50%;top:100%}.vue-bounding-box__handler--west-south{left:0;top:100%}.vue-bounding-box__handler--west{left:0;top:50%}.vue-draggable-area{position:relative}.vue-preview-result{overflow:hidden;box-sizing:border-box;position:absolute;height:100%;width:100%}.vue-preview-result__wrapper{position:absolute}.vue-preview-result__image{pointer-events:none;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;transform-origin:center;max-width:none!important}.vue-rectangle-stencil{position:absolute;height:100%;width:100%;box-sizing:border-box}.vue-rectangle-stencil__preview{position:absolute;width:100%;height:100%}.vue-rectangle-stencil--movable{cursor:move}.vue-circle-stencil{position:absolute;height:100%;width:100%;box-sizing:content-box;cursor:move}.vue-circle-stencil__preview{border-radius:50%;position:absolute;width:100%;height:100%}.vue-circle-stencil--movable{cursor:move}.vue-preview{overflow:hidden;box-sizing:border-box;position:relative}.vue-preview--fill{width:100%;height:100%;position:absolute}.vue-preview__wrapper{position:absolute;height:100%;width:100%}.vue-preview__image{pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;transform-origin:center;max-width:none!important}.vue-simple-line{background:none;transition:border .5s;border-color:#ffffff4d;border-width:0;border-style:solid}.vue-simple-line--south,.vue-simple-line--north{height:0;width:100%}.vue-simple-line--east,.vue-simple-line--west{height:100%;width:0}.vue-simple-line--east{border-right-width:1px}.vue-simple-line--west{border-left-width:1px}.vue-simple-line--south{border-bottom-width:1px}.vue-simple-line--north{border-top-width:1px}.vue-simple-line--hover{opacity:1;border-color:#fff}body.loading,body.loading *{overflow:hidden}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { WangsIcons } from '../components/icon/Icon.vue.d';
|
|
2
|
+
export type OptionValue = string | number | boolean | Record<string, any>;
|
|
3
|
+
export type DropdownOption = {
|
|
4
|
+
label?: string;
|
|
5
|
+
value?: OptionValue;
|
|
6
|
+
visible?: boolean;
|
|
7
|
+
icon?: WangsIcons;
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
};
|
|
10
|
+
export type MultiSelectOption = {
|
|
11
|
+
label?: string;
|
|
12
|
+
value?: OptionValue;
|
|
13
|
+
visible?: boolean;
|
|
14
|
+
icon?: WangsIcons;
|
|
15
|
+
[key: string]: any;
|
|
16
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export type FileType = 'link' | 'image' | 'txt' | 'doc' | 'xls' | 'pdf' | 'csv' | 'html' | 'json' | 'mp4' | 'mkv' | 'compressed' | 'unknown';
|
|
2
|
+
export type FormattedFile = {
|
|
3
|
+
name: string;
|
|
4
|
+
type: string;
|
|
5
|
+
size: number;
|
|
6
|
+
webkitRelativePath: string;
|
|
7
|
+
fileType: FileType;
|
|
8
|
+
file: File;
|
|
9
|
+
imgPreviewURL?: string;
|
|
10
|
+
uploadProgress?: number;
|
|
11
|
+
controller?: AbortController;
|
|
12
|
+
isCanceled?: boolean;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Maps a mime type to a custom file type.
|
|
16
|
+
*
|
|
17
|
+
* @param {string} mimeType
|
|
18
|
+
* @returns {CustomFileType}
|
|
19
|
+
*/
|
|
20
|
+
export declare const getFileType: (mimeType: string) => FileType;
|
|
21
|
+
/**
|
|
22
|
+
* Formats a file into a FormattedFile object.
|
|
23
|
+
*
|
|
24
|
+
* @param file The file to be formatted.
|
|
25
|
+
* @returns A FormattedFile object.
|
|
26
|
+
*/
|
|
27
|
+
export declare const formatFile: (file: File) => FormattedFile;
|
|
28
|
+
/**
|
|
29
|
+
* Checks if a file is under the maximum size limit.
|
|
30
|
+
*
|
|
31
|
+
* @param file The file to be checked.
|
|
32
|
+
* @param customFileSize The maximum size limit in megabytes. @default 1
|
|
33
|
+
* @returns True if the file is under the maximum size limit, false otherwise.
|
|
34
|
+
*/
|
|
35
|
+
export declare const validateFileSize: (file: File, customFileSize?: number) => boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Checks if a file has a valid type.
|
|
38
|
+
* Make sure user doesn't upload a folder.
|
|
39
|
+
*
|
|
40
|
+
* @param file The file to be checked.
|
|
41
|
+
* @returns True if the file has a valid type, false otherwise.
|
|
42
|
+
*/
|
|
43
|
+
export declare const validateFileType: (file: File) => boolean;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export type TDateFormat = 'd/m/yy' | 'm/d/yy' | 'd/mm/yy' | 'dd/mm/yy' | 'dd/mm/yyyy' | 'dd M yy' | 'dd M yyyy' | 'dd MM yy' | 'dd MM yyyy' | 'D dd M yy' | 'D dd M yyyy' | 'DD dd MM yy' | 'DD dd MM yyyy' | 'D, dd M yy' | 'D, dd M yyyy' | 'DD, dd MM yy' | 'DD, dd MM yyyy';
|
|
2
|
+
export type GoDateLayout = '02/01/06' | '_2/_1/06' | '_1/_2/06' | '02 Jan 06' | 'Mon, 02 Jan 06' | 'Mon, 02 Jan 2006';
|
|
3
|
+
export type TTimeFormat = 'HH:mm' | 'HH:mm a' | 'HH:mm:ss' | 'HH:mm:ss a';
|
|
4
|
+
export type GoTimeLayout = '15:04' | '03:04 PM' | '15:04:05' | '03:04:05 PM';
|
|
5
|
+
export type CustomDateTimeFormatOptions = Omit<Intl.DateTimeFormatOptions, 'timeZone'> & {
|
|
6
|
+
timezone?: string;
|
|
7
|
+
locale?: string;
|
|
8
|
+
};
|
|
9
|
+
export type DateOptions = {
|
|
10
|
+
locale?: string;
|
|
11
|
+
dateFormat?: TDateFormat | GoDateLayout;
|
|
12
|
+
timeFormat?: TTimeFormat | GoTimeLayout;
|
|
13
|
+
timezone?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Show the time in the formatted date.
|
|
16
|
+
*
|
|
17
|
+
* @default true - when `timeFormat` is provided
|
|
18
|
+
*/
|
|
19
|
+
showTime?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Show the date in the formatted date.
|
|
22
|
+
*
|
|
23
|
+
* @default true
|
|
24
|
+
*/
|
|
25
|
+
showDate?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* This is old format (general settings), if configuration still using old settings then this option parameter can be used
|
|
28
|
+
*/
|
|
29
|
+
formatPreset?: CustomDateTimeFormatOptions;
|
|
30
|
+
};
|
|
31
|
+
export declare const formatDate: (date: Date, options?: DateOptions) => string;
|
|
32
|
+
export declare const formatISODate: (date: string | Date) => string;
|
|
33
|
+
/**
|
|
34
|
+
* Formats a date to human readable form (timeago / relative time from now).
|
|
35
|
+
*
|
|
36
|
+
* @param date - The date to be displayed. Can be a Date object or a string in a recognized date format.
|
|
37
|
+
* @param maxSeconds - Max value of seconds difference. Use it for formats a date according to the user's general settings.
|
|
38
|
+
* @returns The formatted date string.
|
|
39
|
+
*/
|
|
40
|
+
export declare const formatDateReadable: (date: Date, maxSeconds?: number) => string;
|
|
41
|
+
export declare const getRemainingTime: (deadline: string) => {
|
|
42
|
+
seconds: number;
|
|
43
|
+
days: number;
|
|
44
|
+
hours: number;
|
|
45
|
+
minutes: number;
|
|
46
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface ITable {
|
|
2
|
+
headers: string[];
|
|
3
|
+
data: Record<string, unknown>[];
|
|
4
|
+
tableName: string;
|
|
5
|
+
tableTitle?: string;
|
|
6
|
+
}
|
|
7
|
+
interface IExcelOptions {
|
|
8
|
+
tables: ITable[];
|
|
9
|
+
fileName: string;
|
|
10
|
+
additionalTexts?: (string | string[])[];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Function to export excel, previously this only handle for 1 table in 1 file
|
|
14
|
+
* Now this function has been refactored to be able to format multiple tables in 1 file without altered its original functionality
|
|
15
|
+
* However, the way to called this function is changing a little bit (look for component DataTable and find usage of util `exportToExcel`)
|
|
16
|
+
*
|
|
17
|
+
* @param options - param that contain tables and filename for excel
|
|
18
|
+
*/
|
|
19
|
+
declare const exportToExcel: (options: IExcelOptions) => Promise<void>;
|
|
20
|
+
export default exportToExcel;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const genRandomPlaceholderBg: () => string;
|
|
2
|
+
export declare const genPlaceholder: (text: string, size: 30 | 125, bgColor?: string, fontOptions?: {
|
|
3
|
+
font?: string;
|
|
4
|
+
fontWeight?: string;
|
|
5
|
+
fontSize?: number;
|
|
6
|
+
fontColor?: string;
|
|
7
|
+
}) => HTMLCanvasElement;
|
|
8
|
+
export default genPlaceholder;
|
package/utils/index.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export * from '.././components/tree/helpers/filterNodeKeys.helper';
|
|
2
|
+
export * from '.././utils';
|
|
3
|
+
export * from './role.util';
|
|
4
|
+
export { checkRouteAccess } from './role.util';
|
|
5
|
+
export { default as exportToExcel } from './exportToExcel.util';
|
|
6
|
+
export { default as filterOptions } from './filterOptions.util';
|
|
7
|
+
export { default as flattenTreeNodeChildren } from '.././components/tree/helpers/flattenTreeNodeChildren.helper';
|
|
8
|
+
export { default as getAttachmentIcon } from './getAttachmentIcon.util';
|
|
9
|
+
export { default as mergePropsWithDefaults } from './mergePropsWithDefaults.util';
|
|
10
|
+
export { default as useToast } from './toast.util';
|
|
11
|
+
export { formatDate } from './date.util';
|
|
12
|
+
export { formatDate, formatDateReadable } from './date.util';
|
|
13
|
+
export { formatISODate } from './date.util';
|
|
14
|
+
export { formatUserName, getInititalName } from './textFormatter.util';
|
|
15
|
+
export { genPlaceholder } from './genPlaceholder.util';
|
|
16
|
+
export { getFileType, formatFile, validateFileSize, validateFileType, } from './addAttachment.util';
|
|
17
|
+
export { setNestedPropertyValue, getNestedPropertyValue, isEmptyObject, } from './object.util';
|
|
18
|
+
export { ZIndexUtils } from 'primevue/utils';
|
|
19
|
+
export type { FileType, FormattedFile } from './addAttachment.util';
|
|
20
|
+
export type { ITable } from './exportToExcel.util';
|
|
21
|
+
export type { ToastParams, ToastMethod, UseToastConfig } from './toast.util';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Merges the provided props with default props.
|
|
3
|
+
* If a value in `props` is `undefined` or `null`
|
|
4
|
+
* it will be replaced by the corresponding value from `defaultProps`.
|
|
5
|
+
*
|
|
6
|
+
* This ensures that props always have a fallback value from `defaultProps`
|
|
7
|
+
*
|
|
8
|
+
* @param defaultProps - The default values for the props, used as fallbacks.
|
|
9
|
+
* @param props - The props passed to the component, which may have missing or falsy values.
|
|
10
|
+
*
|
|
11
|
+
* @returns A new object that combines the `defaultProps` and `props`, with `props` values
|
|
12
|
+
* overriding `defaultProps` where they are provided (unless `undefined` or `null`).
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* const defaultProps = { showOptionalText: true, tooltipPos: 'top' };
|
|
16
|
+
* const props = { tooltipPos: 'bottom' };
|
|
17
|
+
* const mergedProps = mergePropsWithDefaults(defaultProps, props);
|
|
18
|
+
* console.log(mergedProps); // Output: { showOptionalText: true, tooltipPos: 'bottom' }
|
|
19
|
+
*/
|
|
20
|
+
export default function mergePropsWithDefaults<T extends Record<string, any>>(props: Record<string, any>, defaultProps: T): T;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility function to get nested property value.
|
|
3
|
+
*/
|
|
4
|
+
export declare const getNestedPropertyValue: (obj: Record<string, any>, path: string) => any;
|
|
5
|
+
/**
|
|
6
|
+
* Utility function to set nested property value.
|
|
7
|
+
*/
|
|
8
|
+
export declare const setNestedPropertyValue: (obj: Record<string, any>, path: string, value: any) => void;
|
|
9
|
+
export declare const isEmptyObject: (obj: object) => boolean;
|
|
10
|
+
export declare const deepEquals: (a: object, b: object) => boolean;
|
|
11
|
+
export declare const equals: (obj1: object, obj2: object, field?: string) => boolean;
|
|
12
|
+
export declare const resolveFieldData: (data: object, field?: string) => object;
|
|
13
|
+
export declare const contains: (value: object, list: object[]) => boolean;
|
|
14
|
+
export declare const isNotEmpty: (value: object) => boolean;
|
|
15
|
+
export declare const isEmpty: (value: object | string) => boolean;
|
|
16
|
+
export declare const deepMerge: <T>(target: T, source: Partial<T>) => T;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const formatUserName: (name?: string) => string;
|
|
2
|
+
export declare const getInititalName: (existing: string[], fullName?: string, maxLength?: number) => string;
|
|
3
|
+
export declare const getInitialsByConsonant: (existingInitials: string[], fullName: string, maxLength: number) => string;
|
|
4
|
+
export declare const getInitialsBy3FirstLetter: (existingInitials: string[], fullName: string, maxLength: number) => string;
|
|
5
|
+
/**
|
|
6
|
+
* Formats the label with the appropriate article ("a" or "an") based on its vowel sound.
|
|
7
|
+
* This function checks if the label starts with a vowel or has a special case for silent "h" words.
|
|
8
|
+
* It ensures that the correct article ("a" or "an") is used according to English pronunciation rules.
|
|
9
|
+
*
|
|
10
|
+
* For example:
|
|
11
|
+
* - "hour" will be prefixed with "an" (due to the silent "h").
|
|
12
|
+
* - "unicorn" will be prefixed with "a" (due to the "u" sound).
|
|
13
|
+
*
|
|
14
|
+
* @param {string} [label] - The label to be formatted. If no label is provided, returns an empty string.
|
|
15
|
+
* @returns {string} The label prefixed with the appropriate article ("a" or "an").
|
|
16
|
+
*/
|
|
17
|
+
export declare const formatVowelSoundLabel: (label?: string) => string;
|