@cloudparker/moldex.js 4.1.6 → 4.1.7
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/package.json +6 -5
- package/dist/actions/badge.d.ts +0 -12
- package/dist/actions/badge.js +0 -22
- package/dist/actions/index.d.ts +0 -3
- package/dist/actions/index.js +0 -3
- package/dist/actions/no-context-menu.d.ts +0 -3
- package/dist/actions/no-context-menu.js +0 -11
- package/dist/actions/ripple.css +0 -29
- package/dist/actions/ripple.d.ts +0 -7
- package/dist/actions/ripple.js +0 -74
- package/dist/index.d.ts +0 -3
- package/dist/index.js +0 -3
- package/dist/services/date/date-service.d.ts +0 -52
- package/dist/services/date/date-service.js +0 -206
- package/dist/services/dialog/dialog-service.d.ts +0 -112
- package/dist/services/dialog/dialog-service.js +0 -357
- package/dist/services/index.d.ts +0 -12
- package/dist/services/index.js +0 -12
- package/dist/services/navigation/navigation-service.d.ts +0 -39
- package/dist/services/navigation/navigation-service.js +0 -100
- package/dist/services/screen/screen-service.d.ts +0 -17
- package/dist/services/screen/screen-service.js +0 -39
- package/dist/services/toast/toast-service.d.ts +0 -5
- package/dist/services/toast/toast-service.js +0 -26
- package/dist/services/utils/color-service.d.ts +0 -46
- package/dist/services/utils/color-service.js +0 -73
- package/dist/services/utils/currency-service.d.ts +0 -91
- package/dist/services/utils/currency-service.js +0 -140
- package/dist/services/utils/download-service.d.ts +0 -91
- package/dist/services/utils/download-service.js +0 -159
- package/dist/services/utils/file-service.d.ts +0 -140
- package/dist/services/utils/file-service.js +0 -301
- package/dist/services/utils/http-service.d.ts +0 -77
- package/dist/services/utils/http-service.js +0 -158
- package/dist/services/utils/image-service.d.ts +0 -107
- package/dist/services/utils/image-service.js +0 -260
- package/dist/services/utils/melody-service.d.ts +0 -5
- package/dist/services/utils/melody-service.js +0 -41
- package/dist/services/utils/utils-service.d.ts +0 -260
- package/dist/services/utils/utils-service.js +0 -413
- package/dist/stores/referrer-store/referrer-store.svelte.d.ts +0 -3
- package/dist/stores/referrer-store/referrer-store.svelte.js +0 -11
- package/dist/stores/screen-size/screen-size-store.svelte.d.ts +0 -18
- package/dist/stores/screen-size/screen-size-store.svelte.js +0 -41
- package/dist/types.d.ts +0 -6
- package/dist/types.js +0 -7
- package/dist/views/core/button/components/button/button.svelte +0 -209
- package/dist/views/core/button/components/button/button.svelte.d.ts +0 -42
- package/dist/views/core/button/components/button-back/button-back.svelte +0 -46
- package/dist/views/core/button/components/button-back/button-back.svelte.d.ts +0 -11
- package/dist/views/core/button/components/button-close/button-close.svelte +0 -7
- package/dist/views/core/button/components/button-close/button-close.svelte.d.ts +0 -4
- package/dist/views/core/button/components/button-close-icon/button-close-icon.svelte +0 -47
- package/dist/views/core/button/components/button-close-icon/button-close-icon.svelte.d.ts +0 -11
- package/dist/views/core/button/components/button-dropdown/button-dropdown.svelte +0 -152
- package/dist/views/core/button/components/button-dropdown/button-dropdown.svelte.d.ts +0 -24
- package/dist/views/core/button/components/button-list-item/button-list-item.svelte +0 -184
- package/dist/views/core/button/components/button-list-item/button-list-item.svelte.d.ts +0 -48
- package/dist/views/core/button/components/button-menu/button-menu.svelte +0 -122
- package/dist/views/core/button/components/button-menu/button-menu.svelte.d.ts +0 -32
- package/dist/views/core/button/components/button-ok/button-ok.svelte +0 -7
- package/dist/views/core/button/components/button-ok/button-ok.svelte.d.ts +0 -4
- package/dist/views/core/button/components/button-search/button-search.svelte +0 -75
- package/dist/views/core/button/components/button-search/button-search.svelte.d.ts +0 -20
- package/dist/views/core/button/components/switch/switch.svelte +0 -70
- package/dist/views/core/button/components/switch/switch.svelte.d.ts +0 -11
- package/dist/views/core/button/index.d.ts +0 -16
- package/dist/views/core/button/index.js +0 -11
- package/dist/views/core/common/components/content-area/content-area.svelte +0 -47
- package/dist/views/core/common/components/content-area/content-area.svelte.d.ts +0 -12
- package/dist/views/core/common/components/loading/loading.svelte +0 -14
- package/dist/views/core/common/components/loading/loading.svelte.d.ts +0 -7
- package/dist/views/core/common/components/virtual-scrolling/virtual-scrolling-list.svelte +0 -60
- package/dist/views/core/common/components/virtual-scrolling/virtual-scrolling-list.svelte.d.ts +0 -11
- package/dist/views/core/common/index.d.ts +0 -4
- package/dist/views/core/common/index.js +0 -9
- package/dist/views/core/dialog/components/cropper-dialog/cropper-dialog.svelte +0 -63
- package/dist/views/core/dialog/components/cropper-dialog/cropper-dialog.svelte.d.ts +0 -15
- package/dist/views/core/dialog/components/dialog/dialog.svelte +0 -455
- package/dist/views/core/dialog/components/dialog/dialog.svelte.d.ts +0 -92
- package/dist/views/core/dialog/components/loading-dialog/loading-dialog.svelte +0 -42
- package/dist/views/core/dialog/components/loading-dialog/loading-dialog.svelte.d.ts +0 -12
- package/dist/views/core/dialog/components/msg-dialog/msg-dialog.svelte +0 -22
- package/dist/views/core/dialog/components/msg-dialog/msg-dialog.svelte.d.ts +0 -9
- package/dist/views/core/dialog/components/number-field-dialog/number-field-dialog.svelte +0 -57
- package/dist/views/core/dialog/components/number-field-dialog/number-field-dialog.svelte.d.ts +0 -14
- package/dist/views/core/dialog/components/picker-dialog/picker-dialog.svelte +0 -207
- package/dist/views/core/dialog/components/picker-dialog/picker-dialog.svelte.d.ts +0 -32
- package/dist/views/core/dialog/components/text-field-dialog/text-field-dialog.svelte +0 -56
- package/dist/views/core/dialog/components/text-field-dialog/text-field-dialog.svelte.d.ts +0 -15
- package/dist/views/core/dialog/components/textarea-field-dialog/textarea-field-dialog.svelte +0 -56
- package/dist/views/core/dialog/components/textarea-field-dialog/textarea-field-dialog.svelte.d.ts +0 -15
- package/dist/views/core/dialog/index.d.ts +0 -4
- package/dist/views/core/dialog/index.js +0 -2
- package/dist/views/core/drawer/components/drawer/drawer.svelte +0 -110
- package/dist/views/core/drawer/components/drawer/drawer.svelte.d.ts +0 -19
- package/dist/views/core/drawer/index.d.ts +0 -2
- package/dist/views/core/drawer/index.js +0 -2
- package/dist/views/core/icon/components/icon/icon.svelte +0 -27
- package/dist/views/core/icon/components/icon/icon.svelte.d.ts +0 -12
- package/dist/views/core/icon/components/icon-circle/icon-circle.svelte +0 -17
- package/dist/views/core/icon/components/icon-circle/icon-circle.svelte.d.ts +0 -8
- package/dist/views/core/icon/index.d.ts +0 -4
- package/dist/views/core/icon/index.js +0 -4
- package/dist/views/core/icon/services/icon-path-service.d.ts +0 -23
- package/dist/views/core/icon/services/icon-path-service.js +0 -24
- package/dist/views/core/index.d.ts +0 -16
- package/dist/views/core/index.js +0 -16
- package/dist/views/core/input/components/checkbox-field/checkbox-field.svelte +0 -83
- package/dist/views/core/input/components/checkbox-field/checkbox-field.svelte.d.ts +0 -19
- package/dist/views/core/input/components/color-field/color-field.svelte +0 -136
- package/dist/views/core/input/components/color-field/color-field.svelte.d.ts +0 -11
- package/dist/views/core/input/components/combobox-field/combobox-field.svelte +0 -542
- package/dist/views/core/input/components/combobox-field/combobox-field.svelte.d.ts +0 -56
- package/dist/views/core/input/components/date-field/date-field.svelte +0 -43
- package/dist/views/core/input/components/date-field/date-field.svelte.d.ts +0 -11
- package/dist/views/core/input/components/datetime-field/datetime-field.svelte +0 -21
- package/dist/views/core/input/components/datetime-field/datetime-field.svelte.d.ts +0 -8
- package/dist/views/core/input/components/email-field/email-field.svelte +0 -26
- package/dist/views/core/input/components/email-field/email-field.svelte.d.ts +0 -8
- package/dist/views/core/input/components/file-field/file-field.svelte +0 -105
- package/dist/views/core/input/components/file-field/file-field.svelte.d.ts +0 -13
- package/dist/views/core/input/components/input-field/input-field.svelte +0 -416
- package/dist/views/core/input/components/input-field/input-field.svelte.d.ts +0 -69
- package/dist/views/core/input/components/label/label.svelte +0 -48
- package/dist/views/core/input/components/label/label.svelte.d.ts +0 -14
- package/dist/views/core/input/components/number-field/number-field.svelte +0 -21
- package/dist/views/core/input/components/number-field/number-field.svelte.d.ts +0 -8
- package/dist/views/core/input/components/password-field/password-field.svelte +0 -103
- package/dist/views/core/input/components/password-field/password-field.svelte.d.ts +0 -12
- package/dist/views/core/input/components/phone-field/phone-field.svelte +0 -207
- package/dist/views/core/input/components/phone-field/phone-field.svelte.d.ts +0 -33
- package/dist/views/core/input/components/radio-field/radio-field.svelte +0 -151
- package/dist/views/core/input/components/radio-field/radio-field.svelte.d.ts +0 -32
- package/dist/views/core/input/components/range-field/range-field.svelte +0 -119
- package/dist/views/core/input/components/range-field/range-field.svelte.d.ts +0 -23
- package/dist/views/core/input/components/search-field/search-field.svelte +0 -79
- package/dist/views/core/input/components/search-field/search-field.svelte.d.ts +0 -12
- package/dist/views/core/input/components/text-field/text-field.svelte +0 -30
- package/dist/views/core/input/components/text-field/text-field.svelte.d.ts +0 -11
- package/dist/views/core/input/components/textarea-field/textarea-field.svelte +0 -26
- package/dist/views/core/input/components/textarea-field/textarea-field.svelte.d.ts +0 -8
- package/dist/views/core/input/components/time-field/time-field.svelte +0 -20
- package/dist/views/core/input/components/time-field/time-field.svelte.d.ts +0 -8
- package/dist/views/core/input/index.d.ts +0 -23
- package/dist/views/core/input/index.js +0 -20
- package/dist/views/core/navbar/components/navbar/navbar.svelte +0 -170
- package/dist/views/core/navbar/components/navbar/navbar.svelte.d.ts +0 -38
- package/dist/views/core/navbar/index.d.ts +0 -4
- package/dist/views/core/navbar/index.js +0 -3
- package/dist/views/core/no-data/components/no-data/no-data.svelte +0 -47
- package/dist/views/core/no-data/components/no-data/no-data.svelte.d.ts +0 -13
- package/dist/views/core/no-data/index.d.ts +0 -2
- package/dist/views/core/no-data/index.js +0 -2
- package/dist/views/core/pagination/components/pagination/pagination.svelte +0 -151
- package/dist/views/core/pagination/components/pagination/pagination.svelte.d.ts +0 -16
- package/dist/views/core/pagination/index.d.ts +0 -2
- package/dist/views/core/pagination/index.js +0 -2
- package/dist/views/core/progressbar/components/progressbar/progressbar.svelte +0 -55
- package/dist/views/core/progressbar/components/progressbar/progressbar.svelte.d.ts +0 -11
- package/dist/views/core/progressbar/index.d.ts +0 -2
- package/dist/views/core/progressbar/index.js +0 -2
- package/dist/views/core/ruler/components/vertical-ruler/verticcal-ruler.svelte +0 -8
- package/dist/views/core/ruler/components/vertical-ruler/verticcal-ruler.svelte.d.ts +0 -6
- package/dist/views/core/ruler/index.d.ts +0 -2
- package/dist/views/core/ruler/index.js +0 -2
- package/dist/views/core/screen-detector/components/screen-detector.svelte +0 -17
- package/dist/views/core/screen-detector/components/screen-detector.svelte.d.ts +0 -3
- package/dist/views/core/screen-detector/index.d.ts +0 -2
- package/dist/views/core/screen-detector/index.js +0 -2
- package/dist/views/core/sidebar/components/sidebar.svelte +0 -49
- package/dist/views/core/sidebar/components/sidebar.svelte.d.ts +0 -12
- package/dist/views/core/sidebar/index.d.ts +0 -2
- package/dist/views/core/sidebar/index.js +0 -5
- package/dist/views/core/spinner/components/spinner/spinner.svelte +0 -21
- package/dist/views/core/spinner/components/spinner/spinner.svelte.d.ts +0 -6
- package/dist/views/core/spinner/index.d.ts +0 -2
- package/dist/views/core/spinner/index.js +0 -2
- package/dist/views/core/text/components/text-await/text-await.svelte +0 -23
- package/dist/views/core/text/components/text-await/text-await.svelte.d.ts +0 -10
- package/dist/views/core/text/components/text-copy/text-copy.svelte +0 -40
- package/dist/views/core/text/components/text-copy/text-copy.svelte.d.ts +0 -10
- package/dist/views/core/text/components/text-currency/text-currency.svelte +0 -24
- package/dist/views/core/text/components/text-currency/text-currency.svelte.d.ts +0 -11
- package/dist/views/core/text/components/text-date/text-date.svelte +0 -40
- package/dist/views/core/text/components/text-date/text-date.svelte.d.ts +0 -10
- package/dist/views/core/text/components/text-email/text-email.svelte +0 -22
- package/dist/views/core/text/components/text-email/text-email.svelte.d.ts +0 -9
- package/dist/views/core/text/components/text-html/text-html.svelte +0 -7
- package/dist/views/core/text/components/text-html/text-html.svelte.d.ts +0 -6
- package/dist/views/core/text/components/text-phone/text-phone.svelte +0 -25
- package/dist/views/core/text/components/text-phone/text-phone.svelte.d.ts +0 -9
- package/dist/views/core/text/index.d.ts +0 -8
- package/dist/views/core/text/index.js +0 -8
- package/dist/views/core/toast/components/toast/toast.svelte +0 -64
- package/dist/views/core/toast/components/toast/toast.svelte.d.ts +0 -14
- package/dist/views/core/toast/index.d.ts +0 -2
- package/dist/views/core/toast/index.js +0 -1
- package/dist/views/extra/fields/country-combobox-field.svelte +0 -42
- package/dist/views/extra/fields/country-combobox-field.svelte.d.ts +0 -8
- package/dist/views/extra/index.d.ts +0 -6
- package/dist/views/extra/index.js +0 -5
- package/dist/views/extra/loaders/country-loader.svelte +0 -44
- package/dist/views/extra/loaders/country-loader.svelte.d.ts +0 -16
- package/dist/views/extra/texts/text-country-state.svelte +0 -48
- package/dist/views/extra/texts/text-country-state.svelte.d.ts +0 -6
- package/dist/views/extra/texts/text-country.svelte +0 -21
- package/dist/views/extra/texts/text-country.svelte.d.ts +0 -6
- package/dist/views/index.d.ts +0 -2
- package/dist/views/index.js +0 -2
|
@@ -1,357 +0,0 @@
|
|
|
1
|
-
import { Dialog } from '../../views';
|
|
2
|
-
import CropperDialog, {} from '../../views/core/dialog/components/cropper-dialog/cropper-dialog.svelte';
|
|
3
|
-
import LoadingDialog from '../../views/core/dialog/components/loading-dialog/loading-dialog.svelte';
|
|
4
|
-
import MsgDialog from '../../views/core/dialog/components/msg-dialog/msg-dialog.svelte';
|
|
5
|
-
import NumberFieldDialog from '../../views/core/dialog/components/number-field-dialog/number-field-dialog.svelte';
|
|
6
|
-
import PickerDialog from '../../views/core/dialog/components/picker-dialog/picker-dialog.svelte';
|
|
7
|
-
import TextFieldDialog from '../../views/core/dialog/components/text-field-dialog/text-field-dialog.svelte';
|
|
8
|
-
import TextareaFieldDialog from '../../views/core/dialog/components/textarea-field-dialog/textarea-field-dialog.svelte';
|
|
9
|
-
import { mount } from 'svelte';
|
|
10
|
-
import { getDialogSize, isMobileScreen } from '../screen/screen-service';
|
|
11
|
-
import { cropImageFile, FilePickerAccepts, ImageCapttureEnum, OutputImageFormatEnum, processImageFile } from '../utils/image-service';
|
|
12
|
-
export var DialogSizeEnum;
|
|
13
|
-
(function (DialogSizeEnum) {
|
|
14
|
-
DialogSizeEnum["XS"] = "xs";
|
|
15
|
-
DialogSizeEnum["SM"] = "sm";
|
|
16
|
-
DialogSizeEnum["MD"] = "md";
|
|
17
|
-
DialogSizeEnum["LG"] = "lg";
|
|
18
|
-
DialogSizeEnum["XL"] = "xl";
|
|
19
|
-
DialogSizeEnum["FULL"] = "full";
|
|
20
|
-
})(DialogSizeEnum || (DialogSizeEnum = {}));
|
|
21
|
-
function addDialog(props) {
|
|
22
|
-
const dialog = mount(Dialog, { target: document.getElementsByTagName('body')[0], props });
|
|
23
|
-
return dialog;
|
|
24
|
-
}
|
|
25
|
-
export async function openDialog(props = {}) {
|
|
26
|
-
return new Promise((resolve) => {
|
|
27
|
-
let dialog = addDialog({ ...props, onClose, onResult, });
|
|
28
|
-
dialog.openDialog();
|
|
29
|
-
function onClose() {
|
|
30
|
-
if (dialog) {
|
|
31
|
-
if (props.onClose) {
|
|
32
|
-
props.onClose();
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
function onResult(value) {
|
|
37
|
-
resolve(value);
|
|
38
|
-
if (props.onResult) {
|
|
39
|
-
props.onResult(value);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
export async function openConfirmDialog(params = {}) {
|
|
45
|
-
let msg = params.msg || 'Are you sure?';
|
|
46
|
-
params.title = params.title || 'Confirm';
|
|
47
|
-
params.footerOkButtonLabel = params.footerOkButtonLabel || 'Confirm';
|
|
48
|
-
return await openDialog({
|
|
49
|
-
bodyComponent: MsgDialog,
|
|
50
|
-
props: { msg },
|
|
51
|
-
...params,
|
|
52
|
-
hasTitle: true,
|
|
53
|
-
hasHeader: true,
|
|
54
|
-
hasFooter: true,
|
|
55
|
-
hasFooterCloseButton: true,
|
|
56
|
-
hasFooterOkButton: true,
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
export async function openAlertDialog(params = {}) {
|
|
60
|
-
let msg = params.msg || 'Alert Information?';
|
|
61
|
-
params.title = params.title || 'Alert';
|
|
62
|
-
params.footerOkButtonLabel = params.footerOkButtonLabel || 'Confirm';
|
|
63
|
-
return await openDialog({
|
|
64
|
-
bodyComponent: MsgDialog,
|
|
65
|
-
props: { msg },
|
|
66
|
-
...params,
|
|
67
|
-
hasTitle: true,
|
|
68
|
-
hasHeader: true,
|
|
69
|
-
hasFooter: true,
|
|
70
|
-
hasFooterCloseButton: true,
|
|
71
|
-
hasFooterOkButton: false,
|
|
72
|
-
footerCloseButtonLabel: 'OK'
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
export async function openDeleteConfirmDialog({ msg = 'Are you sure to delete?', title = 'Delete', footerOkButtonLabel = 'Delete', footerOkButtonClassName = 'bg-red-500 hover:bg-red-700 focus:bg-red-700', ...params } = {}) {
|
|
76
|
-
return await openConfirmDialog({
|
|
77
|
-
msg,
|
|
78
|
-
title,
|
|
79
|
-
footerOkButtonLabel,
|
|
80
|
-
footerOkButtonClassName,
|
|
81
|
-
...params,
|
|
82
|
-
size: DialogSizeEnum.SM,
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
export async function openPickerDialog({ items, value, multiple, hasCheckbox = true, hasArrow, maxlength, maxlengthMsg, identityFieldName, titleFieldName, searchFieldName, subtitleFieldName, hasIcon, iconPath, iconClassName, isCircularIcon, circularIconClassName, itemTileSnippet, ...params }) {
|
|
86
|
-
if (hasArrow) {
|
|
87
|
-
multiple = false;
|
|
88
|
-
hasCheckbox = false;
|
|
89
|
-
}
|
|
90
|
-
return await openDialog({
|
|
91
|
-
bodyComponent: PickerDialog,
|
|
92
|
-
props: {
|
|
93
|
-
items,
|
|
94
|
-
value,
|
|
95
|
-
multiple,
|
|
96
|
-
hasCheckbox,
|
|
97
|
-
hasArrow,
|
|
98
|
-
maxlength,
|
|
99
|
-
maxlengthMsg,
|
|
100
|
-
identityFieldName,
|
|
101
|
-
titleFieldName,
|
|
102
|
-
searchFieldName,
|
|
103
|
-
subtitleFieldName,
|
|
104
|
-
hasIcon,
|
|
105
|
-
iconPath,
|
|
106
|
-
iconClassName,
|
|
107
|
-
isCircularIcon,
|
|
108
|
-
circularIconClassName,
|
|
109
|
-
itemTileSnippet,
|
|
110
|
-
},
|
|
111
|
-
hasHeader: true,
|
|
112
|
-
hasTitle: true,
|
|
113
|
-
hasHeaderBack: isMobileScreen(),
|
|
114
|
-
hasHeaderClose: !isMobileScreen(),
|
|
115
|
-
footerOkButtonLabel: 'Select',
|
|
116
|
-
footerClassName: 'border-t',
|
|
117
|
-
title: 'Pick',
|
|
118
|
-
...params,
|
|
119
|
-
hasFooter: multiple,
|
|
120
|
-
hasFooterOkButton: multiple,
|
|
121
|
-
hasFooterCloseButton: multiple,
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
export async function openNumberFieldDialog({ title, value, label, name, maxlength, fieldClassName, autofocus, required, appearance, size, floatingLabel, ...params } = {}) {
|
|
125
|
-
return await openDialog({
|
|
126
|
-
bodyComponent: NumberFieldDialog,
|
|
127
|
-
props: { value, label, name, maxlength, className: fieldClassName, autofocus, required, appearance, size, floatingLabel, },
|
|
128
|
-
...params,
|
|
129
|
-
hasHeader: true,
|
|
130
|
-
hasHeaderBack: isMobileScreen(),
|
|
131
|
-
hasHeaderClose: !isMobileScreen(),
|
|
132
|
-
size: getDialogSize(),
|
|
133
|
-
hasTitle: true,
|
|
134
|
-
title: title || 'Prompt',
|
|
135
|
-
hasFooter: true,
|
|
136
|
-
hasFooterCloseButton: true,
|
|
137
|
-
hasFooterOkButton: true,
|
|
138
|
-
footerOkButtonType: 'submit',
|
|
139
|
-
targetFormId: 'number-field-dialog-form'
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
export async function openTextFieldDialog({ title, value, label, name, maxlength, fieldClassName, autofocus, required, appearance, size, floatingLabel, ...params } = {}) {
|
|
143
|
-
return await openDialog({
|
|
144
|
-
bodyComponent: TextFieldDialog,
|
|
145
|
-
props: { value, label, name, maxlength, className: fieldClassName, autofocus, required, appearance, size, floatingLabel, },
|
|
146
|
-
...params,
|
|
147
|
-
hasHeader: true,
|
|
148
|
-
hasHeaderBack: isMobileScreen(),
|
|
149
|
-
hasHeaderClose: !isMobileScreen(),
|
|
150
|
-
size: getDialogSize(),
|
|
151
|
-
hasTitle: true,
|
|
152
|
-
title: title || 'Prompt',
|
|
153
|
-
hasFooter: true,
|
|
154
|
-
hasFooterCloseButton: true,
|
|
155
|
-
hasFooterOkButton: true,
|
|
156
|
-
footerOkButtonType: 'submit',
|
|
157
|
-
targetFormId: 'text-field-dialog-form'
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
export async function openTextareaFieldDialog({ title, value, label, name, maxlength, fieldClassName, autofocus, required, appearance, size, floatingLabel, rows, ...params } = {}) {
|
|
161
|
-
return await openDialog({
|
|
162
|
-
bodyComponent: TextareaFieldDialog,
|
|
163
|
-
props: { value, label, name, maxlength, className: fieldClassName, autofocus, required, appearance, size, floatingLabel, rows },
|
|
164
|
-
...params,
|
|
165
|
-
hasHeader: true,
|
|
166
|
-
hasHeaderBack: isMobileScreen(),
|
|
167
|
-
hasHeaderClose: !isMobileScreen(),
|
|
168
|
-
size: isMobileScreen() ? DialogSizeEnum.FULL : DialogSizeEnum.SM,
|
|
169
|
-
hasTitle: true,
|
|
170
|
-
title: title || 'Prompt',
|
|
171
|
-
hasFooter: true,
|
|
172
|
-
hasFooterCloseButton: true,
|
|
173
|
-
hasFooterOkButton: true,
|
|
174
|
-
footerOkButtonType: 'submit',
|
|
175
|
-
targetFormId: 'textarea-field-dialog-form'
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
export async function openLoadingDialog({ msg = "Please wait...", loadingDialogContainerClassName, loadingDialogClassName, loadingDialogSpinnerClassName, loadingDialogMsgClassName, ...params } = {}) {
|
|
179
|
-
let props = {
|
|
180
|
-
bodyComponent: LoadingDialog,
|
|
181
|
-
props: { msg, className: loadingDialogClassName, containerClassName: loadingDialogContainerClassName, spinnerClassName: loadingDialogSpinnerClassName, msgClassName: loadingDialogMsgClassName },
|
|
182
|
-
...params,
|
|
183
|
-
hasHeader: false,
|
|
184
|
-
hasFooter: false,
|
|
185
|
-
size: DialogSizeEnum.SM,
|
|
186
|
-
};
|
|
187
|
-
let dialog = addDialog(props);
|
|
188
|
-
dialog.openDialog();
|
|
189
|
-
return dialog;
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Return Cropped Image DataUrl
|
|
193
|
-
* @param props
|
|
194
|
-
* @returns
|
|
195
|
-
*/
|
|
196
|
-
export async function openCropperDialog({ outputWidth, outputFormat = OutputImageFormatEnum.WEBP, outputQuality = 0.8, outputType = 'file', inputImageFile, className, outputAspectRatio, ...params }) {
|
|
197
|
-
return await openDialog({
|
|
198
|
-
bodyComponent: CropperDialog,
|
|
199
|
-
props: {
|
|
200
|
-
outputWidth,
|
|
201
|
-
outputFormat,
|
|
202
|
-
outputQuality,
|
|
203
|
-
outputType,
|
|
204
|
-
inputImageFile,
|
|
205
|
-
className,
|
|
206
|
-
outputAspectRatio,
|
|
207
|
-
},
|
|
208
|
-
...params,
|
|
209
|
-
hasHeader: true,
|
|
210
|
-
hasFooter: true,
|
|
211
|
-
hasFooterOkButton: true,
|
|
212
|
-
hasFooterCloseButton: true,
|
|
213
|
-
footerOkButtonLabel: params.footerOkButtonLabel || 'CROP',
|
|
214
|
-
hasTitle: true,
|
|
215
|
-
title: params.title || 'Crop Image',
|
|
216
|
-
hasHeaderBack: isMobileScreen(),
|
|
217
|
-
hasHeaderClose: !isMobileScreen(),
|
|
218
|
-
size: getDialogSize(),
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Opens a file picker dialog and returns the selected file or files.
|
|
223
|
-
* This function uses native browser APIs to ensure compatibility across different browsers.
|
|
224
|
-
* @param accepts - A string or array of accepted file types (e.g., 'image/*', '.pdf').
|
|
225
|
-
* @param multiple - A boolean indicating if multiple files can be selected.
|
|
226
|
-
* @returns A promise that resolves to a File or an array of File objects, or null if no files were selected.
|
|
227
|
-
*/
|
|
228
|
-
export async function openFilePickerDialog(accepts = '*/*', options = { multiple: false }) {
|
|
229
|
-
// Check if the browser supports the required File API and input element
|
|
230
|
-
if (typeof window === 'undefined' || typeof document === 'undefined' || !window.File || !window.FileList || !window.FileReader) {
|
|
231
|
-
console.error('File APIs are not fully supported in this browser.');
|
|
232
|
-
return null;
|
|
233
|
-
}
|
|
234
|
-
return new Promise((resolve, reject) => {
|
|
235
|
-
try {
|
|
236
|
-
// Create an input element of type 'file'
|
|
237
|
-
const inputElement = document.createElement('input');
|
|
238
|
-
inputElement.type = 'file';
|
|
239
|
-
inputElement.style.display = 'none'; // Hide the input element
|
|
240
|
-
// Set accepted file types if provided
|
|
241
|
-
if (Array.isArray(accepts)) {
|
|
242
|
-
inputElement.accept = accepts.join(',');
|
|
243
|
-
}
|
|
244
|
-
else {
|
|
245
|
-
inputElement.accept = accepts;
|
|
246
|
-
}
|
|
247
|
-
// Set multiple attribute based on the parameter
|
|
248
|
-
inputElement.multiple = options.multiple;
|
|
249
|
-
// Listen for changes (i.e., when files are selected)
|
|
250
|
-
inputElement.addEventListener('change', () => {
|
|
251
|
-
// Check if files were selected
|
|
252
|
-
if (inputElement.files) {
|
|
253
|
-
// If multiple is true, return an array of File objects
|
|
254
|
-
if (options.multiple) {
|
|
255
|
-
resolve(Array.from(inputElement.files));
|
|
256
|
-
}
|
|
257
|
-
else {
|
|
258
|
-
// Otherwise, return the first selected File
|
|
259
|
-
resolve(inputElement.files[0]);
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
else {
|
|
263
|
-
resolve(null); // No files selected
|
|
264
|
-
}
|
|
265
|
-
});
|
|
266
|
-
// Append the input element to the body and simulate a click to open the dialog
|
|
267
|
-
document.body.appendChild(inputElement);
|
|
268
|
-
inputElement.click();
|
|
269
|
-
// Remove the input element from the DOM after use to prevent memory leaks
|
|
270
|
-
document.body.removeChild(inputElement);
|
|
271
|
-
}
|
|
272
|
-
catch (error) {
|
|
273
|
-
console.error('An error occurred while opening the file picker dialog:', error);
|
|
274
|
-
reject(error); // Handle any unexpected errors
|
|
275
|
-
}
|
|
276
|
-
});
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Opens an image picker dialog that supports mobile devices, camera capture, gallery selection, and file explorer.
|
|
280
|
-
* Allows the user to specify output format and quality for the selected images.
|
|
281
|
-
* @param accepts - A string or array of accepted file types (e.g., 'image/*').
|
|
282
|
-
* @param options - Additional options for capturing images (e.g., required resolution, file size, output format).
|
|
283
|
-
* @returns A promise that resolves to a processed File object or an array of File objects, or null if no file was selected.
|
|
284
|
-
*/
|
|
285
|
-
export async function openImagePickerDialog(accepts = 'image/*', options = {}) {
|
|
286
|
-
return new Promise((resolve, reject) => {
|
|
287
|
-
try {
|
|
288
|
-
options = options || {};
|
|
289
|
-
if (!options.maxWidth) {
|
|
290
|
-
options.maxWidth = 1920;
|
|
291
|
-
}
|
|
292
|
-
if (!options.maxHeight) {
|
|
293
|
-
options.maxHeight = options.maxWidth;
|
|
294
|
-
}
|
|
295
|
-
if (!options.quality || options.quality < 0) {
|
|
296
|
-
options.quality = 0.8;
|
|
297
|
-
}
|
|
298
|
-
if (options.quality > 1) {
|
|
299
|
-
options.quality = options.quality / 100;
|
|
300
|
-
}
|
|
301
|
-
if (options.outputFormat) {
|
|
302
|
-
options.outputFormat = OutputImageFormatEnum.WEBP;
|
|
303
|
-
}
|
|
304
|
-
// Create an input element of type 'file'
|
|
305
|
-
const inputElement = document.createElement('input');
|
|
306
|
-
inputElement.type = 'file';
|
|
307
|
-
inputElement.accept = Array.isArray(accepts) ? accepts.join(',') : accepts;
|
|
308
|
-
inputElement.multiple = options?.multiple || false;
|
|
309
|
-
inputElement.style.display = 'none';
|
|
310
|
-
// Set capture attribute if specified
|
|
311
|
-
if (options?.capture) {
|
|
312
|
-
inputElement.setAttribute('capture', options.capture);
|
|
313
|
-
}
|
|
314
|
-
// Listen for file selection
|
|
315
|
-
inputElement.addEventListener('change', async () => {
|
|
316
|
-
if (!inputElement.files) {
|
|
317
|
-
resolve(null); // No files selected
|
|
318
|
-
return;
|
|
319
|
-
}
|
|
320
|
-
const files = Array.from(inputElement.files);
|
|
321
|
-
try {
|
|
322
|
-
// Process each selected file and resize/compress/convert if required
|
|
323
|
-
const processedFiles = await Promise.all(files.map((file) => processImageFile(file, options)));
|
|
324
|
-
// Return a single file or an array of files based on the multiple option
|
|
325
|
-
if (options?.multiple) {
|
|
326
|
-
resolve(processedFiles);
|
|
327
|
-
}
|
|
328
|
-
else {
|
|
329
|
-
resolve((processedFiles[0] || null));
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
catch (error) {
|
|
333
|
-
reject(error);
|
|
334
|
-
}
|
|
335
|
-
});
|
|
336
|
-
// Append and trigger the file picker
|
|
337
|
-
document.body.appendChild(inputElement);
|
|
338
|
-
inputElement.click();
|
|
339
|
-
document.body.removeChild(inputElement);
|
|
340
|
-
}
|
|
341
|
-
catch (error) {
|
|
342
|
-
reject(error);
|
|
343
|
-
}
|
|
344
|
-
});
|
|
345
|
-
}
|
|
346
|
-
export async function openImagePickerDialogWithCropper({ outputFormat = OutputImageFormatEnum.WEBP, outputWidth = 800, outputQuality = 0.6, outputAspectRatio = 1, dialogSize = DialogSizeEnum.MD, capture, maxHeight, maxSizeInBytes, maxWidth, quality } = {}) {
|
|
347
|
-
const file = (await openImagePickerDialog(FilePickerAccepts.image, {
|
|
348
|
-
capture,
|
|
349
|
-
maxHeight,
|
|
350
|
-
maxSizeInBytes,
|
|
351
|
-
maxWidth,
|
|
352
|
-
quality
|
|
353
|
-
}));
|
|
354
|
-
let croppedFile = await cropImageFile({ inputImageFile: file, outputFormat, outputWidth, outputQuality, outputAspectRatio, dialogSize });
|
|
355
|
-
return croppedFile;
|
|
356
|
-
}
|
|
357
|
-
;
|
package/dist/services/index.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export * from './date/date-service.js';
|
|
2
|
-
export * from './dialog/dialog-service.js';
|
|
3
|
-
export * from './navigation/navigation-service.js';
|
|
4
|
-
export * from './screen/screen-service.js';
|
|
5
|
-
export * from './toast/toast-service.js';
|
|
6
|
-
export * from './utils/utils-service.js';
|
|
7
|
-
export * from './utils/color-service.js';
|
|
8
|
-
export * from './utils/download-service.js';
|
|
9
|
-
export * from './utils/file-service.js';
|
|
10
|
-
export * from './utils/http-service.js';
|
|
11
|
-
export * from './utils/image-service.js';
|
|
12
|
-
export * from './utils/currency-service.js';
|
package/dist/services/index.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export * from './date/date-service.js';
|
|
2
|
-
export * from './dialog/dialog-service.js';
|
|
3
|
-
export * from './navigation/navigation-service.js';
|
|
4
|
-
export * from './screen/screen-service.js';
|
|
5
|
-
export * from './toast/toast-service.js';
|
|
6
|
-
export * from './utils/utils-service.js';
|
|
7
|
-
export * from './utils/color-service.js';
|
|
8
|
-
export * from './utils/download-service.js';
|
|
9
|
-
export * from './utils/file-service.js';
|
|
10
|
-
export * from './utils/http-service.js';
|
|
11
|
-
export * from './utils/image-service.js';
|
|
12
|
-
export * from './utils/currency-service.js';
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
export interface NavigationOptions {
|
|
2
|
-
replaceState?: boolean;
|
|
3
|
-
noscroll?: boolean;
|
|
4
|
-
keepfocus?: boolean;
|
|
5
|
-
state?: {
|
|
6
|
-
tabName?: string;
|
|
7
|
-
};
|
|
8
|
-
event?: MouseEvent;
|
|
9
|
-
vibration?: number | number[];
|
|
10
|
-
sound?: [string, number][];
|
|
11
|
-
}
|
|
12
|
-
export type BackStateType = {
|
|
13
|
-
_id: string;
|
|
14
|
-
isModal?: boolean;
|
|
15
|
-
isOffcanvas?: boolean;
|
|
16
|
-
listener: (state: BackStateType) => void;
|
|
17
|
-
data?: any;
|
|
18
|
-
};
|
|
19
|
-
export declare const referrer: {
|
|
20
|
-
referer: string;
|
|
21
|
-
};
|
|
22
|
-
export declare const pushBackState: (obj: BackStateType) => void;
|
|
23
|
-
export declare const popBackState: () => BackStateType | undefined;
|
|
24
|
-
export declare const registerBackPress: (state: BackStateType) => void;
|
|
25
|
-
export declare const addBackKeyListener: (callback: (event?: PopStateEvent) => boolean) => ((event: PopStateEvent) => void) | undefined;
|
|
26
|
-
export declare const removeBackKeyListener: (listener: () => boolean) => void;
|
|
27
|
-
export declare function goBack(): void;
|
|
28
|
-
/**
|
|
29
|
-
* Jump back to the first history entry in this tab (i.e. “home”).
|
|
30
|
-
* Falls back to a hard redirect if history is too shallow or cross‑origin.
|
|
31
|
-
*/
|
|
32
|
-
export declare function goHome(): void;
|
|
33
|
-
export declare function createRedirectUrl(): string | null;
|
|
34
|
-
/**
|
|
35
|
-
* Navigate to a URL with support for opening in a new tab, vibration, and sound effects.
|
|
36
|
-
* @param url - The destination URL.
|
|
37
|
-
* @param options - Extended options including vibration and sound.
|
|
38
|
-
*/
|
|
39
|
-
export declare function navigate(url: string, options?: NavigationOptions): Promise<void>;
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
// import { goto, pushState } from '$app/navigation';
|
|
2
|
-
import { createRefererStore } from '../../stores/referrer-store/referrer-store.svelte';
|
|
3
|
-
import { BROWSER } from 'esm-env';
|
|
4
|
-
import { playMelody } from '../utils/melody-service';
|
|
5
|
-
import { goto } from '$app/navigation';
|
|
6
|
-
import { vibrate } from '../utils/utils-service';
|
|
7
|
-
export const referrer = createRefererStore();
|
|
8
|
-
let backStateArray = [];
|
|
9
|
-
export const pushBackState = (obj) => {
|
|
10
|
-
backStateArray.push(obj);
|
|
11
|
-
};
|
|
12
|
-
export const popBackState = () => {
|
|
13
|
-
return backStateArray.pop();
|
|
14
|
-
};
|
|
15
|
-
export const registerBackPress = (state) => {
|
|
16
|
-
if (BROWSER) {
|
|
17
|
-
pushBackState(state);
|
|
18
|
-
window.history.pushState({}, '');
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
export const addBackKeyListener = (callback) => {
|
|
22
|
-
if (BROWSER) {
|
|
23
|
-
let listener = (event) => {
|
|
24
|
-
if (callback) {
|
|
25
|
-
let result = callback(event);
|
|
26
|
-
if (result) {
|
|
27
|
-
window.history.pushState({}, '');
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
window.history.pushState({}, '');
|
|
32
|
-
window.addEventListener('popstate', listener);
|
|
33
|
-
return listener;
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
export const removeBackKeyListener = (listener) => {
|
|
37
|
-
if (BROWSER) {
|
|
38
|
-
window.removeEventListener('popstate', listener);
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
export function goBack() {
|
|
42
|
-
history.back();
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Jump back to the first history entry in this tab (i.e. “home”).
|
|
46
|
-
* Falls back to a hard redirect if history is too shallow or cross‑origin.
|
|
47
|
-
*/
|
|
48
|
-
export function goHome() {
|
|
49
|
-
// number of steps back to the first entry
|
|
50
|
-
const stepsBack = -(window.history.length - 1);
|
|
51
|
-
// if we have at least one previous entry, navigate there
|
|
52
|
-
if (stepsBack < 0) {
|
|
53
|
-
window.history.go(stepsBack);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
// no history to go back to — just load your root
|
|
57
|
-
window.location.replace('/');
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
export function createRedirectUrl() {
|
|
61
|
-
let pathname = window.location.pathname;
|
|
62
|
-
let redirectUrl = pathname + window.location.search || '';
|
|
63
|
-
let redirectInSearchParams = new URLSearchParams(window.location.search).get('redirect');
|
|
64
|
-
return redirectInSearchParams || redirectUrl || '';
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Navigate to a URL with support for opening in a new tab, vibration, and sound effects.
|
|
68
|
-
* @param url - The destination URL.
|
|
69
|
-
* @param options - Extended options including vibration and sound.
|
|
70
|
-
*/
|
|
71
|
-
export async function navigate(url, options = {}) {
|
|
72
|
-
const { event, vibration, sound, ...gotoOptions } = options;
|
|
73
|
-
// Ensure window.open is safe and avoids potential abuse
|
|
74
|
-
const openInNewTab = (targetUrl, tabName) => {
|
|
75
|
-
const sanitizedUrl = new URL(targetUrl, window.location.origin).href;
|
|
76
|
-
const safeTabName = tabName?.replace(/[^a-zA-Z0-9-_]/g, '') || '_blank';
|
|
77
|
-
window.open(sanitizedUrl, safeTabName, 'noopener,noreferrer');
|
|
78
|
-
};
|
|
79
|
-
;
|
|
80
|
-
try {
|
|
81
|
-
// Handle vibration if supported
|
|
82
|
-
if (vibration) {
|
|
83
|
-
vibrate(vibration);
|
|
84
|
-
}
|
|
85
|
-
// Handle sound playback
|
|
86
|
-
if (sound) {
|
|
87
|
-
playMelody(sound);
|
|
88
|
-
}
|
|
89
|
-
// Handle Ctrl key for opening in a new tab
|
|
90
|
-
if (event && event instanceof MouseEvent && event.ctrlKey) {
|
|
91
|
-
openInNewTab(url, gotoOptions.state?.tabName);
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
// Perform navigation using goto
|
|
95
|
-
goto(url, gotoOptions);
|
|
96
|
-
}
|
|
97
|
-
catch (error) {
|
|
98
|
-
console.error('Error navigating with enhancements:', error);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ScreenSizeEnum } from "../../stores/screen-size/screen-size-store.svelte";
|
|
2
|
-
import { DialogSizeEnum } from "../dialog/dialog-service";
|
|
3
|
-
export declare const screenSize: {
|
|
4
|
-
size: ScreenSizeEnum;
|
|
5
|
-
readonly isXXL: boolean;
|
|
6
|
-
readonly isXL: boolean;
|
|
7
|
-
readonly isLg: boolean;
|
|
8
|
-
readonly isMd: boolean;
|
|
9
|
-
readonly isSm: boolean;
|
|
10
|
-
readonly isXs: boolean;
|
|
11
|
-
readonly isMobileScreen: boolean;
|
|
12
|
-
};
|
|
13
|
-
export declare const handleScreenSizeUpdate: (size: number) => void;
|
|
14
|
-
export declare function isSmallScreen(): boolean;
|
|
15
|
-
export declare function isMobileScreen(): boolean;
|
|
16
|
-
export declare function getDialogSize(): DialogSizeEnum.SM | DialogSizeEnum.FULL;
|
|
17
|
-
export declare function isTouchDevice(): boolean;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { createScreenSizeStore, ScreenSizeEnum } from "../../stores/screen-size/screen-size-store.svelte";
|
|
2
|
-
import { BROWSER } from "esm-env";
|
|
3
|
-
import { DialogSizeEnum } from "../dialog/dialog-service";
|
|
4
|
-
export const screenSize = createScreenSizeStore();
|
|
5
|
-
export const handleScreenSizeUpdate = (size) => {
|
|
6
|
-
// console.log('screenSizeChanged', size)
|
|
7
|
-
if (BROWSER && size) {
|
|
8
|
-
if (size >= 1400) {
|
|
9
|
-
screenSize.size = ScreenSizeEnum.XXL;
|
|
10
|
-
}
|
|
11
|
-
else if (size >= 1200) {
|
|
12
|
-
screenSize.size = ScreenSizeEnum.XL;
|
|
13
|
-
}
|
|
14
|
-
else if (size >= 992) {
|
|
15
|
-
screenSize.size = ScreenSizeEnum.LG;
|
|
16
|
-
}
|
|
17
|
-
else if (size >= 768) {
|
|
18
|
-
screenSize.size = ScreenSizeEnum.MD;
|
|
19
|
-
}
|
|
20
|
-
else if (size >= 576) {
|
|
21
|
-
screenSize.size = ScreenSizeEnum.SM;
|
|
22
|
-
}
|
|
23
|
-
else if (size < 576) {
|
|
24
|
-
screenSize.size = ScreenSizeEnum.SM;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
export function isSmallScreen() {
|
|
29
|
-
return screenSize.isSm || screenSize.isXs;
|
|
30
|
-
}
|
|
31
|
-
export function isMobileScreen() {
|
|
32
|
-
return isSmallScreen();
|
|
33
|
-
}
|
|
34
|
-
export function getDialogSize() {
|
|
35
|
-
return isMobileScreen() ? DialogSizeEnum.FULL : DialogSizeEnum.SM;
|
|
36
|
-
}
|
|
37
|
-
export function isTouchDevice() {
|
|
38
|
-
return 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0 || window.matchMedia("(pointer: coarse)").matches;
|
|
39
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { ToastPropsType } from "../../views";
|
|
2
|
-
export declare function showToast(props: ToastPropsType | string): void;
|
|
3
|
-
export declare function showSuccessToast(): void;
|
|
4
|
-
export declare function showFailedToast(): void;
|
|
5
|
-
export declare function showErrorToast(): void;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import Toast from "../../views/core/toast/components/toast/toast.svelte";
|
|
2
|
-
import { mount } from "svelte";
|
|
3
|
-
function addToast(props) {
|
|
4
|
-
const toast = mount(Toast, { target: document.getElementsByTagName('body')[0], props });
|
|
5
|
-
toast.openToast();
|
|
6
|
-
return toast;
|
|
7
|
-
}
|
|
8
|
-
export function showToast(props) {
|
|
9
|
-
let newProps = { msg: 'Ok' };
|
|
10
|
-
if (typeof props === 'string') {
|
|
11
|
-
newProps.msg = props;
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
newProps = props;
|
|
15
|
-
}
|
|
16
|
-
addToast(newProps);
|
|
17
|
-
}
|
|
18
|
-
export function showSuccessToast() {
|
|
19
|
-
showToast('Success');
|
|
20
|
-
}
|
|
21
|
-
export function showFailedToast() {
|
|
22
|
-
showToast('Failed');
|
|
23
|
-
}
|
|
24
|
-
export function showErrorToast() {
|
|
25
|
-
showToast('Error');
|
|
26
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Validates whether a given string is a valid hexadecimal color code.
|
|
3
|
-
*
|
|
4
|
-
* This function checks if a given string matches the pattern for a valid hex color code,
|
|
5
|
-
* which can be either 3 or 6 characters long, prefixed with '#'.
|
|
6
|
-
*
|
|
7
|
-
* @param hex - The string to validate as a hex color code.
|
|
8
|
-
* @returns A boolean indicating whether the string is a valid hex color code.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* console.log(isValidHexColor('#FFF')); // Output: true
|
|
12
|
-
* console.log(isValidHexColor('#123ABC')); // Output: true
|
|
13
|
-
* console.log(isValidHexColor('#1234')); // Output: false
|
|
14
|
-
*/
|
|
15
|
-
export declare function isValidHexColor(hex: string): boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Converts a named or RGB color string to its hexadecimal representation.
|
|
18
|
-
*
|
|
19
|
-
* This function creates a temporary DOM element, sets its color property to the provided color string,
|
|
20
|
-
* and retrieves the computed color value. It then converts the RGB color to a hexadecimal format.
|
|
21
|
-
*
|
|
22
|
-
* @param color - A color string, such as a named color ('red'), RGB color ('rgb(255, 0, 0)'), or hex color ('#FF0000').
|
|
23
|
-
* @returns The hexadecimal representation of the color.
|
|
24
|
-
*
|
|
25
|
-
* @throws An error if the color cannot be parsed.
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* console.log(colorToHex('red')); // Output: #FF0000
|
|
29
|
-
* console.log(colorToHex('rgb(0, 255, 0)')); // Output: #00FF00
|
|
30
|
-
*/
|
|
31
|
-
export declare function colorToHex(color: string): string;
|
|
32
|
-
/**
|
|
33
|
-
* Converts RGB values to a hexadecimal color code.
|
|
34
|
-
*
|
|
35
|
-
* This function takes the red, green, and blue components and converts them to a hexadecimal string.
|
|
36
|
-
* The resulting hex code is formatted as '#RRGGBB'.
|
|
37
|
-
*
|
|
38
|
-
* @param r - The red component (0-255).
|
|
39
|
-
* @param g - The green component (0-255).
|
|
40
|
-
* @param b - The blue component (0-255).
|
|
41
|
-
* @returns The hexadecimal color code in the format '#RRGGBB'.
|
|
42
|
-
*
|
|
43
|
-
* @example
|
|
44
|
-
* console.log(rgbToHex(255, 0, 0)); // Output: #FF0000
|
|
45
|
-
*/
|
|
46
|
-
export declare function rgbToHex(r: number, g: number, b: number): string;
|