@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.
Files changed (210) hide show
  1. package/package.json +6 -5
  2. package/dist/actions/badge.d.ts +0 -12
  3. package/dist/actions/badge.js +0 -22
  4. package/dist/actions/index.d.ts +0 -3
  5. package/dist/actions/index.js +0 -3
  6. package/dist/actions/no-context-menu.d.ts +0 -3
  7. package/dist/actions/no-context-menu.js +0 -11
  8. package/dist/actions/ripple.css +0 -29
  9. package/dist/actions/ripple.d.ts +0 -7
  10. package/dist/actions/ripple.js +0 -74
  11. package/dist/index.d.ts +0 -3
  12. package/dist/index.js +0 -3
  13. package/dist/services/date/date-service.d.ts +0 -52
  14. package/dist/services/date/date-service.js +0 -206
  15. package/dist/services/dialog/dialog-service.d.ts +0 -112
  16. package/dist/services/dialog/dialog-service.js +0 -357
  17. package/dist/services/index.d.ts +0 -12
  18. package/dist/services/index.js +0 -12
  19. package/dist/services/navigation/navigation-service.d.ts +0 -39
  20. package/dist/services/navigation/navigation-service.js +0 -100
  21. package/dist/services/screen/screen-service.d.ts +0 -17
  22. package/dist/services/screen/screen-service.js +0 -39
  23. package/dist/services/toast/toast-service.d.ts +0 -5
  24. package/dist/services/toast/toast-service.js +0 -26
  25. package/dist/services/utils/color-service.d.ts +0 -46
  26. package/dist/services/utils/color-service.js +0 -73
  27. package/dist/services/utils/currency-service.d.ts +0 -91
  28. package/dist/services/utils/currency-service.js +0 -140
  29. package/dist/services/utils/download-service.d.ts +0 -91
  30. package/dist/services/utils/download-service.js +0 -159
  31. package/dist/services/utils/file-service.d.ts +0 -140
  32. package/dist/services/utils/file-service.js +0 -301
  33. package/dist/services/utils/http-service.d.ts +0 -77
  34. package/dist/services/utils/http-service.js +0 -158
  35. package/dist/services/utils/image-service.d.ts +0 -107
  36. package/dist/services/utils/image-service.js +0 -260
  37. package/dist/services/utils/melody-service.d.ts +0 -5
  38. package/dist/services/utils/melody-service.js +0 -41
  39. package/dist/services/utils/utils-service.d.ts +0 -260
  40. package/dist/services/utils/utils-service.js +0 -413
  41. package/dist/stores/referrer-store/referrer-store.svelte.d.ts +0 -3
  42. package/dist/stores/referrer-store/referrer-store.svelte.js +0 -11
  43. package/dist/stores/screen-size/screen-size-store.svelte.d.ts +0 -18
  44. package/dist/stores/screen-size/screen-size-store.svelte.js +0 -41
  45. package/dist/types.d.ts +0 -6
  46. package/dist/types.js +0 -7
  47. package/dist/views/core/button/components/button/button.svelte +0 -209
  48. package/dist/views/core/button/components/button/button.svelte.d.ts +0 -42
  49. package/dist/views/core/button/components/button-back/button-back.svelte +0 -46
  50. package/dist/views/core/button/components/button-back/button-back.svelte.d.ts +0 -11
  51. package/dist/views/core/button/components/button-close/button-close.svelte +0 -7
  52. package/dist/views/core/button/components/button-close/button-close.svelte.d.ts +0 -4
  53. package/dist/views/core/button/components/button-close-icon/button-close-icon.svelte +0 -47
  54. package/dist/views/core/button/components/button-close-icon/button-close-icon.svelte.d.ts +0 -11
  55. package/dist/views/core/button/components/button-dropdown/button-dropdown.svelte +0 -152
  56. package/dist/views/core/button/components/button-dropdown/button-dropdown.svelte.d.ts +0 -24
  57. package/dist/views/core/button/components/button-list-item/button-list-item.svelte +0 -184
  58. package/dist/views/core/button/components/button-list-item/button-list-item.svelte.d.ts +0 -48
  59. package/dist/views/core/button/components/button-menu/button-menu.svelte +0 -122
  60. package/dist/views/core/button/components/button-menu/button-menu.svelte.d.ts +0 -32
  61. package/dist/views/core/button/components/button-ok/button-ok.svelte +0 -7
  62. package/dist/views/core/button/components/button-ok/button-ok.svelte.d.ts +0 -4
  63. package/dist/views/core/button/components/button-search/button-search.svelte +0 -75
  64. package/dist/views/core/button/components/button-search/button-search.svelte.d.ts +0 -20
  65. package/dist/views/core/button/components/switch/switch.svelte +0 -70
  66. package/dist/views/core/button/components/switch/switch.svelte.d.ts +0 -11
  67. package/dist/views/core/button/index.d.ts +0 -16
  68. package/dist/views/core/button/index.js +0 -11
  69. package/dist/views/core/common/components/content-area/content-area.svelte +0 -47
  70. package/dist/views/core/common/components/content-area/content-area.svelte.d.ts +0 -12
  71. package/dist/views/core/common/components/loading/loading.svelte +0 -14
  72. package/dist/views/core/common/components/loading/loading.svelte.d.ts +0 -7
  73. package/dist/views/core/common/components/virtual-scrolling/virtual-scrolling-list.svelte +0 -60
  74. package/dist/views/core/common/components/virtual-scrolling/virtual-scrolling-list.svelte.d.ts +0 -11
  75. package/dist/views/core/common/index.d.ts +0 -4
  76. package/dist/views/core/common/index.js +0 -9
  77. package/dist/views/core/dialog/components/cropper-dialog/cropper-dialog.svelte +0 -63
  78. package/dist/views/core/dialog/components/cropper-dialog/cropper-dialog.svelte.d.ts +0 -15
  79. package/dist/views/core/dialog/components/dialog/dialog.svelte +0 -455
  80. package/dist/views/core/dialog/components/dialog/dialog.svelte.d.ts +0 -92
  81. package/dist/views/core/dialog/components/loading-dialog/loading-dialog.svelte +0 -42
  82. package/dist/views/core/dialog/components/loading-dialog/loading-dialog.svelte.d.ts +0 -12
  83. package/dist/views/core/dialog/components/msg-dialog/msg-dialog.svelte +0 -22
  84. package/dist/views/core/dialog/components/msg-dialog/msg-dialog.svelte.d.ts +0 -9
  85. package/dist/views/core/dialog/components/number-field-dialog/number-field-dialog.svelte +0 -57
  86. package/dist/views/core/dialog/components/number-field-dialog/number-field-dialog.svelte.d.ts +0 -14
  87. package/dist/views/core/dialog/components/picker-dialog/picker-dialog.svelte +0 -207
  88. package/dist/views/core/dialog/components/picker-dialog/picker-dialog.svelte.d.ts +0 -32
  89. package/dist/views/core/dialog/components/text-field-dialog/text-field-dialog.svelte +0 -56
  90. package/dist/views/core/dialog/components/text-field-dialog/text-field-dialog.svelte.d.ts +0 -15
  91. package/dist/views/core/dialog/components/textarea-field-dialog/textarea-field-dialog.svelte +0 -56
  92. package/dist/views/core/dialog/components/textarea-field-dialog/textarea-field-dialog.svelte.d.ts +0 -15
  93. package/dist/views/core/dialog/index.d.ts +0 -4
  94. package/dist/views/core/dialog/index.js +0 -2
  95. package/dist/views/core/drawer/components/drawer/drawer.svelte +0 -110
  96. package/dist/views/core/drawer/components/drawer/drawer.svelte.d.ts +0 -19
  97. package/dist/views/core/drawer/index.d.ts +0 -2
  98. package/dist/views/core/drawer/index.js +0 -2
  99. package/dist/views/core/icon/components/icon/icon.svelte +0 -27
  100. package/dist/views/core/icon/components/icon/icon.svelte.d.ts +0 -12
  101. package/dist/views/core/icon/components/icon-circle/icon-circle.svelte +0 -17
  102. package/dist/views/core/icon/components/icon-circle/icon-circle.svelte.d.ts +0 -8
  103. package/dist/views/core/icon/index.d.ts +0 -4
  104. package/dist/views/core/icon/index.js +0 -4
  105. package/dist/views/core/icon/services/icon-path-service.d.ts +0 -23
  106. package/dist/views/core/icon/services/icon-path-service.js +0 -24
  107. package/dist/views/core/index.d.ts +0 -16
  108. package/dist/views/core/index.js +0 -16
  109. package/dist/views/core/input/components/checkbox-field/checkbox-field.svelte +0 -83
  110. package/dist/views/core/input/components/checkbox-field/checkbox-field.svelte.d.ts +0 -19
  111. package/dist/views/core/input/components/color-field/color-field.svelte +0 -136
  112. package/dist/views/core/input/components/color-field/color-field.svelte.d.ts +0 -11
  113. package/dist/views/core/input/components/combobox-field/combobox-field.svelte +0 -542
  114. package/dist/views/core/input/components/combobox-field/combobox-field.svelte.d.ts +0 -56
  115. package/dist/views/core/input/components/date-field/date-field.svelte +0 -43
  116. package/dist/views/core/input/components/date-field/date-field.svelte.d.ts +0 -11
  117. package/dist/views/core/input/components/datetime-field/datetime-field.svelte +0 -21
  118. package/dist/views/core/input/components/datetime-field/datetime-field.svelte.d.ts +0 -8
  119. package/dist/views/core/input/components/email-field/email-field.svelte +0 -26
  120. package/dist/views/core/input/components/email-field/email-field.svelte.d.ts +0 -8
  121. package/dist/views/core/input/components/file-field/file-field.svelte +0 -105
  122. package/dist/views/core/input/components/file-field/file-field.svelte.d.ts +0 -13
  123. package/dist/views/core/input/components/input-field/input-field.svelte +0 -416
  124. package/dist/views/core/input/components/input-field/input-field.svelte.d.ts +0 -69
  125. package/dist/views/core/input/components/label/label.svelte +0 -48
  126. package/dist/views/core/input/components/label/label.svelte.d.ts +0 -14
  127. package/dist/views/core/input/components/number-field/number-field.svelte +0 -21
  128. package/dist/views/core/input/components/number-field/number-field.svelte.d.ts +0 -8
  129. package/dist/views/core/input/components/password-field/password-field.svelte +0 -103
  130. package/dist/views/core/input/components/password-field/password-field.svelte.d.ts +0 -12
  131. package/dist/views/core/input/components/phone-field/phone-field.svelte +0 -207
  132. package/dist/views/core/input/components/phone-field/phone-field.svelte.d.ts +0 -33
  133. package/dist/views/core/input/components/radio-field/radio-field.svelte +0 -151
  134. package/dist/views/core/input/components/radio-field/radio-field.svelte.d.ts +0 -32
  135. package/dist/views/core/input/components/range-field/range-field.svelte +0 -119
  136. package/dist/views/core/input/components/range-field/range-field.svelte.d.ts +0 -23
  137. package/dist/views/core/input/components/search-field/search-field.svelte +0 -79
  138. package/dist/views/core/input/components/search-field/search-field.svelte.d.ts +0 -12
  139. package/dist/views/core/input/components/text-field/text-field.svelte +0 -30
  140. package/dist/views/core/input/components/text-field/text-field.svelte.d.ts +0 -11
  141. package/dist/views/core/input/components/textarea-field/textarea-field.svelte +0 -26
  142. package/dist/views/core/input/components/textarea-field/textarea-field.svelte.d.ts +0 -8
  143. package/dist/views/core/input/components/time-field/time-field.svelte +0 -20
  144. package/dist/views/core/input/components/time-field/time-field.svelte.d.ts +0 -8
  145. package/dist/views/core/input/index.d.ts +0 -23
  146. package/dist/views/core/input/index.js +0 -20
  147. package/dist/views/core/navbar/components/navbar/navbar.svelte +0 -170
  148. package/dist/views/core/navbar/components/navbar/navbar.svelte.d.ts +0 -38
  149. package/dist/views/core/navbar/index.d.ts +0 -4
  150. package/dist/views/core/navbar/index.js +0 -3
  151. package/dist/views/core/no-data/components/no-data/no-data.svelte +0 -47
  152. package/dist/views/core/no-data/components/no-data/no-data.svelte.d.ts +0 -13
  153. package/dist/views/core/no-data/index.d.ts +0 -2
  154. package/dist/views/core/no-data/index.js +0 -2
  155. package/dist/views/core/pagination/components/pagination/pagination.svelte +0 -151
  156. package/dist/views/core/pagination/components/pagination/pagination.svelte.d.ts +0 -16
  157. package/dist/views/core/pagination/index.d.ts +0 -2
  158. package/dist/views/core/pagination/index.js +0 -2
  159. package/dist/views/core/progressbar/components/progressbar/progressbar.svelte +0 -55
  160. package/dist/views/core/progressbar/components/progressbar/progressbar.svelte.d.ts +0 -11
  161. package/dist/views/core/progressbar/index.d.ts +0 -2
  162. package/dist/views/core/progressbar/index.js +0 -2
  163. package/dist/views/core/ruler/components/vertical-ruler/verticcal-ruler.svelte +0 -8
  164. package/dist/views/core/ruler/components/vertical-ruler/verticcal-ruler.svelte.d.ts +0 -6
  165. package/dist/views/core/ruler/index.d.ts +0 -2
  166. package/dist/views/core/ruler/index.js +0 -2
  167. package/dist/views/core/screen-detector/components/screen-detector.svelte +0 -17
  168. package/dist/views/core/screen-detector/components/screen-detector.svelte.d.ts +0 -3
  169. package/dist/views/core/screen-detector/index.d.ts +0 -2
  170. package/dist/views/core/screen-detector/index.js +0 -2
  171. package/dist/views/core/sidebar/components/sidebar.svelte +0 -49
  172. package/dist/views/core/sidebar/components/sidebar.svelte.d.ts +0 -12
  173. package/dist/views/core/sidebar/index.d.ts +0 -2
  174. package/dist/views/core/sidebar/index.js +0 -5
  175. package/dist/views/core/spinner/components/spinner/spinner.svelte +0 -21
  176. package/dist/views/core/spinner/components/spinner/spinner.svelte.d.ts +0 -6
  177. package/dist/views/core/spinner/index.d.ts +0 -2
  178. package/dist/views/core/spinner/index.js +0 -2
  179. package/dist/views/core/text/components/text-await/text-await.svelte +0 -23
  180. package/dist/views/core/text/components/text-await/text-await.svelte.d.ts +0 -10
  181. package/dist/views/core/text/components/text-copy/text-copy.svelte +0 -40
  182. package/dist/views/core/text/components/text-copy/text-copy.svelte.d.ts +0 -10
  183. package/dist/views/core/text/components/text-currency/text-currency.svelte +0 -24
  184. package/dist/views/core/text/components/text-currency/text-currency.svelte.d.ts +0 -11
  185. package/dist/views/core/text/components/text-date/text-date.svelte +0 -40
  186. package/dist/views/core/text/components/text-date/text-date.svelte.d.ts +0 -10
  187. package/dist/views/core/text/components/text-email/text-email.svelte +0 -22
  188. package/dist/views/core/text/components/text-email/text-email.svelte.d.ts +0 -9
  189. package/dist/views/core/text/components/text-html/text-html.svelte +0 -7
  190. package/dist/views/core/text/components/text-html/text-html.svelte.d.ts +0 -6
  191. package/dist/views/core/text/components/text-phone/text-phone.svelte +0 -25
  192. package/dist/views/core/text/components/text-phone/text-phone.svelte.d.ts +0 -9
  193. package/dist/views/core/text/index.d.ts +0 -8
  194. package/dist/views/core/text/index.js +0 -8
  195. package/dist/views/core/toast/components/toast/toast.svelte +0 -64
  196. package/dist/views/core/toast/components/toast/toast.svelte.d.ts +0 -14
  197. package/dist/views/core/toast/index.d.ts +0 -2
  198. package/dist/views/core/toast/index.js +0 -1
  199. package/dist/views/extra/fields/country-combobox-field.svelte +0 -42
  200. package/dist/views/extra/fields/country-combobox-field.svelte.d.ts +0 -8
  201. package/dist/views/extra/index.d.ts +0 -6
  202. package/dist/views/extra/index.js +0 -5
  203. package/dist/views/extra/loaders/country-loader.svelte +0 -44
  204. package/dist/views/extra/loaders/country-loader.svelte.d.ts +0 -16
  205. package/dist/views/extra/texts/text-country-state.svelte +0 -48
  206. package/dist/views/extra/texts/text-country-state.svelte.d.ts +0 -6
  207. package/dist/views/extra/texts/text-country.svelte +0 -21
  208. package/dist/views/extra/texts/text-country.svelte.d.ts +0 -6
  209. package/dist/views/index.d.ts +0 -2
  210. 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
- ;
@@ -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,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;