@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,413 +0,0 @@
1
- import { toDate } from '../date/date-service';
2
- import { customAlphabet } from 'nanoid';
3
- /**
4
- * Generates a random number between the specified minimum and maximum values (inclusive of the minimum and exclusive of the maximum).
5
- *
6
- * @param min - The minimum value (inclusive) of the random number range.
7
- * @param max - The maximum value (exclusive) of the random number range.
8
- * @returns A random number between `min` (inclusive) and `max` (exclusive).
9
- *
10
- * @example
11
- * // Generate a random number between 1 (inclusive) and 5 (exclusive)
12
- * const randomNumber = random(1, 5); // Possible values: 1.0, 2.4, 3.6, etc.
13
- *
14
- * @example
15
- * // Generate a random number between 10 (inclusive) and 20 (exclusive)
16
- * const randomNumber = random(10, 20); // Possible values: 10.0, 15.3, 19.8, etc.
17
- */
18
- export function random(min, max) {
19
- if (min >= max) {
20
- throw new Error('The "max" value must be greater than the "min" value.');
21
- }
22
- return min + Math.random() * (max - min);
23
- }
24
- /**
25
- * Strips the Base64 content from a Data URL string.
26
- *
27
- * This function removes the `data:[<mediatype>][;base64],` prefix from a Data URL string,
28
- * leaving only the Base64 content. If the input is not a valid Data URL, the original input is returned.
29
- *
30
- * @param dataUrl - The Data URL string to be stripped.
31
- * @returns The stripped Base64 content, or the original string if it is not a valid Data URL.
32
- *
33
- * @example
34
- * // Remove the prefix from a Data URL string
35
- * const dataUrl = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...';
36
- * const base64Content = stripDataUrl(dataUrl);
37
- * console.log(base64Content); // Output: "iVBORw0KGgoAAAANSUhEUgAA..."
38
- */
39
- export function stripDataUrl(dataUrl) {
40
- if (typeof dataUrl === 'string' && dataUrl.startsWith('data:')) {
41
- return dataUrl.split(',')[1] || '';
42
- }
43
- return dataUrl;
44
- }
45
- /**
46
- * Function to download content from a given URL and convert it to a Base64-encoded string.
47
- * @param url - The URL to download the content from.
48
- * @returns A promise that resolves to the Base64-encoded string of the downloaded content.
49
- */
50
- export async function readUrlAsBase64(url) {
51
- try {
52
- const response = await fetch(url);
53
- if (!response.ok) {
54
- throw new Error(`Failed to fetch: ${response.statusText}`);
55
- }
56
- const arrayBuffer = await response.arrayBuffer();
57
- const base64Content = btoa(new Uint8Array(arrayBuffer)
58
- .reduce((data, byte) => data + String.fromCharCode(byte), ''));
59
- return base64Content;
60
- }
61
- catch (error) {
62
- console.error('Error downloading or converting content:', error);
63
- throw error;
64
- }
65
- }
66
- /**
67
- * Validates if a given string is a valid email address.
68
- *
69
- * This function uses a regular expression to validate email addresses based on common patterns.
70
- *
71
- * @param email - The email address string to validate.
72
- * @returns A boolean indicating whether the email is valid.
73
- *
74
- * @example
75
- * const isValid = isValidEmailAddress('test@example.com');
76
- * console.log(isValid); // Output: true
77
- */
78
- export function isValidEmailAddress(email) {
79
- const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
80
- return emailPattern.test(email.toLowerCase());
81
- }
82
- /**
83
- * Validates if a given string is a valid URL.
84
- *
85
- * This function uses a regular expression to validate URLs based on common URL patterns.
86
- *
87
- * @param url - The URL string to validate.
88
- * @returns A boolean indicating whether the URL is valid.
89
- *
90
- * @example
91
- * const isValid = isValidUrl('https://www.example.com');
92
- * console.log(isValid); // Output: true
93
- */
94
- export function isValidUrl(url) {
95
- const urlPattern = new RegExp('^(https?:\\/\\/)?' + // Protocol
96
- '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' + // Domain name
97
- '((\\d{1,3}\\.){3}\\d{1,3}))' + // OR IP (v4) address
98
- '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' + // Port and path
99
- '(\\?[;&a-z\\d%_.~+=-]*)?' + // Query string
100
- '(\\#[-a-z\\d_]*)?$', 'i'); // Fragment locator
101
- return urlPattern.test(url);
102
- }
103
- /**
104
- * Creates a mailto URI and opens it in the user's default email client.
105
- *
106
- * This function constructs a mailto URI based on the provided email details and opens it using `window.open`.
107
- * It supports specifying the recipient, subject, and body of the email.
108
- *
109
- * @param param - An object containing the email details:
110
- * - `to`: The recipient email address.
111
- * - `body`: Optional. The body content of the email.
112
- * - `subject`: Optional. The subject of the email.
113
- *
114
- * @example
115
- * // Create a mailto link with recipient, subject, and body
116
- * createMailtoLink({
117
- * to: 'recipient@example.com',
118
- * subject: 'Hello',
119
- * body: 'This is a sample email message.'
120
- * });
121
- */
122
- export function createMailtoLink({ to, body = '', subject = '' }) {
123
- const mailtoUri = `mailto:${encodeURIComponent(to)}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;
124
- window.open(mailtoUri, '_self');
125
- }
126
- /**
127
- * Copies the provided text or HTML content to the clipboard.
128
- *
129
- * This function handles copying both plain text and rich text (HTML) content.
130
- * It uses the Clipboard API where available and falls back to older methods for unsupported browsers.
131
- *
132
- * @param content - The content to be copied to the clipboard. It can be either a string (plain text) or an HTMLElement (rich text).
133
- * @returns A promise that resolves to `true` if the copy operation is successful, or `false` otherwise.
134
- *
135
- * @example
136
- * // Copy plain text to clipboard
137
- * copyToClipboard('Hello, World!').then((success) => {
138
- * console.log(success ? 'Copied successfully!' : 'Failed to copy.');
139
- * });
140
- *
141
- * @example
142
- * // Copy rich text (HTML element) to clipboard
143
- * const element = document.getElementById('myElement');
144
- * if (element) {
145
- * copyToClipboard(element).then((success) => {
146
- * console.log(success ? 'Copied successfully!' : 'Failed to copy.');
147
- * });
148
- * }
149
- */
150
- export async function copyToClipboard(content) {
151
- try {
152
- // If content is a string, attempt to copy it using the Clipboard API
153
- if (typeof content === 'string') {
154
- if (navigator.clipboard) {
155
- await navigator.clipboard.writeText(content);
156
- return true;
157
- }
158
- else {
159
- // Fallback for older browsers
160
- const textarea = document.createElement('textarea');
161
- textarea.value = content;
162
- textarea.setAttribute('readonly', '');
163
- textarea.style.position = 'absolute';
164
- textarea.style.left = '-9999px';
165
- document.body.appendChild(textarea);
166
- textarea.select();
167
- textarea.setSelectionRange(0, 99999); // For mobile devices
168
- const successful = document.execCommand('copy');
169
- document.body.removeChild(textarea);
170
- return successful;
171
- }
172
- }
173
- // If content is an HTML element, copy its contents as rich text
174
- if (content instanceof HTMLElement) {
175
- const range = document.createRange();
176
- range.selectNodeContents(content);
177
- const selection = window.getSelection();
178
- if (!selection)
179
- return false;
180
- selection.removeAllRanges();
181
- selection.addRange(range);
182
- // Execute the copy command
183
- const successful = document.execCommand('copy');
184
- selection.removeAllRanges();
185
- return successful;
186
- }
187
- return false; // Unsupported content type
188
- }
189
- catch (error) {
190
- console.error('Failed to copy content to clipboard:', error);
191
- return false;
192
- }
193
- }
194
- /**
195
- * Formats a string by replacing placeholders `{index}` with corresponding arguments.
196
- *
197
- * This function replaces placeholders in the format `{0}`, `{1}`, etc., in the provided string
198
- * with the corresponding values from the `args` array.
199
- *
200
- * @param str - The string containing placeholders.
201
- * @param args - The values to replace the placeholders with.
202
- * @returns A formatted string with the placeholders replaced by the corresponding arguments.
203
- *
204
- * @example
205
- * const formatted = formatString('Hello, {0}!', 'World');
206
- * console.log(formatted); // Output: "Hello, World!"
207
- */
208
- export function formatString(str, ...args) {
209
- return args.reduce((formatted, arg, index) => {
210
- const regexp = new RegExp(`\\{${index}\\}`, 'g');
211
- return formatted.replace(regexp, arg);
212
- }, str);
213
- }
214
- /**
215
- * Delays the execution of code for a specified number of milliseconds.
216
- *
217
- * This function returns a promise that resolves after the specified delay.
218
- *
219
- * @param milliseconds - The number of milliseconds to wait before resolving the promise. Default is 0.
220
- * @returns A promise that resolves after the specified delay.
221
- *
222
- * @example
223
- * delay(1000).then(() => console.log('1 second later'));
224
- */
225
- export function delay(milliseconds = 0) {
226
- return new Promise((resolve) => setTimeout(resolve, milliseconds));
227
- }
228
- /**
229
- * Sorts an array of objects or values based on a specified field or value.
230
- *
231
- * This function sorts an array of objects based on a specified field or directly sorts an array of values.
232
- * It supports both ascending and descending orders and can handle date values.
233
- *
234
- * @typeParam T - The type of elements in the array.
235
- * @param param - An object containing the array to sort, the field to sort by (optional),
236
- * whether to sort in descending order, and whether to sort as date values.
237
- * @param param.array - The array of objects or values to sort.
238
- * @param param.field - Optional. The field of the objects to sort by.
239
- * @param param.desc - Optional. If true, sorts in descending order. Default is false (ascending).
240
- * @param param.isDate - Optional. If true, sorts the values as dates.
241
- * @returns The sorted array.
242
- *
243
- * @example
244
- * const arr = [{ name: 'Alice' }, { name: 'Bob' }];
245
- * const sortedArr = sort({ array: arr, field: 'name', desc: true });
246
- * console.log(sortedArr); // Output: [{ name: 'Bob' }, { name: 'Alice' }]
247
- */
248
- export function sort({ array, field, desc = false, isDate = false }) {
249
- return array.sort((a, b) => {
250
- let valA = field ? a[field] : a;
251
- let valB = field ? b[field] : b;
252
- // Convert to Date objects if sorting by date
253
- if (isDate) {
254
- valA = toDate(valA);
255
- valB = toDate(valB);
256
- }
257
- else {
258
- // Convert to lowercase for case-insensitive string comparison
259
- if (typeof valA === 'string')
260
- valA = valA.toLowerCase();
261
- if (typeof valB === 'string')
262
- valB = valB.toLowerCase();
263
- }
264
- // Perform comparison and adjust for descending order if specified
265
- if (valA < valB)
266
- return desc ? 1 : -1;
267
- if (valA > valB)
268
- return desc ? -1 : 1;
269
- return 0;
270
- });
271
- }
272
- /**
273
- * Triggers a vibration effect on supported devices.
274
- *
275
- * This function uses the Vibration API to trigger a vibration effect. If the Vibration API is not
276
- * supported or if permissions are not granted, the function will have no effect.
277
- *
278
- * @param value - A single number representing the duration of the vibration in milliseconds, or
279
- * an array of numbers representing vibration patterns.
280
- *
281
- * @example
282
- * // Single vibration for 200 milliseconds
283
- * vibrate(200);
284
- *
285
- * @example
286
- * // Vibration pattern: 200ms on, 100ms off, 200ms on
287
- * vibrate([200, 100, 200]);
288
- */
289
- export function vibrate(value = 20) {
290
- if (navigator?.vibrate) {
291
- navigator.vibrate(value);
292
- }
293
- }
294
- /**
295
- * Plays a simple click effect using the vibration API (if supported).
296
- *
297
- * This function triggers a short vibration effect to simulate a click or feedback action on devices
298
- * that support the Vibration API.
299
- *
300
- * @example
301
- * playClickEffect(); // Triggers a short vibration effect.
302
- */
303
- export function playClickEffect() {
304
- vibrate(20);
305
- }
306
- /**
307
- * Converts an object into an array of its values, attaching a specified key to each value.
308
- *
309
- * This function takes an object and converts it into an array of its values, where each value is
310
- * augmented with a new property specified by the `key` parameter. The property is set to the key
311
- * of the original object.
312
- *
313
- * @param key - The property name to attach to each value.
314
- * @param obj - The object to be converted to an array.
315
- * @returns An array of values with the specified key attached.
316
- *
317
- * @example
318
- * const obj = { a: { name: 'Alice' }, b: { name: 'Bob' } };
319
- * const array = toArrayByKey('id', obj);
320
- * console.log(array); // Output: [{ name: 'Alice', id: 'a' }, { name: 'Bob', id: 'b' }]
321
- */
322
- export function toArrayByKey(key, obj = {}) {
323
- return Object.keys(obj)
324
- .map((k) => {
325
- const data = obj[k];
326
- if (data) {
327
- data[key] = k;
328
- }
329
- return data;
330
- })
331
- .filter((item) => item !== undefined);
332
- }
333
- /**
334
- * Converts a numeric string into its corresponding alphabets (0-9 => a-j).
335
- *
336
- * This function maps each digit in the provided number to its corresponding alphabet:
337
- * - 0 => a, 1 => b, 2 => c, ... , 9 => j.
338
- *
339
- * @param num - The number to be converted to a string of alphabets.
340
- * @returns A string representing the number converted to alphabets.
341
- *
342
- * @example
343
- * const result = convertNumToAlphabets(123); // "bcd"
344
- * console.log(result); // Output: "bcd"
345
- */
346
- export function convertNumToAlphabets(num) {
347
- const alphabets = 'abcdefghij';
348
- return num
349
- .toString()
350
- .split('')
351
- .map((digit) => alphabets[parseInt(digit, 10)] || '')
352
- .join('');
353
- }
354
- /**
355
- * Converts a length in inches to pixels based on a DPI of 96.
356
- *
357
- * This function converts inches to pixels assuming a screen DPI (Dots Per Inch) of 96.
358
- * It is useful for calculating dimensions in pixels when working with different units of measurement.
359
- *
360
- * @param inches - The length in inches to be converted to pixels.
361
- * @returns The length in pixels corresponding to the provided inches.
362
- *
363
- * @throws An error if the input is not a valid number or is negative.
364
- *
365
- * @example
366
- * const pixels = inchToPixel(1); // 1 inch to pixels
367
- * console.log(pixels); // Output: 96
368
- */
369
- export function inchToPixel(inches) {
370
- if (typeof inches !== 'number' || isNaN(inches) || inches < 0) {
371
- throw new Error('Invalid input: Inches must be a non-negative number.');
372
- }
373
- const DPI = 96; // Default DPI for screen resolution
374
- return inches * DPI;
375
- }
376
- /**
377
- * Converts a length in pixels to inches based on a DPI of 96.
378
- *
379
- * This function converts pixels to inches assuming a screen DPI (Dots Per Inch) of 96.
380
- * It is useful for converting pixel measurements to physical dimensions.
381
- *
382
- * @param pixels - The length in pixels to be converted to inches.
383
- * @returns The length in inches corresponding to the provided pixels.
384
- *
385
- * @throws An error if the input is not a valid number or is negative.
386
- *
387
- * @example
388
- * const inches = pixelToInch(96); // 96 pixels to inches
389
- * console.log(inches); // Output: 1
390
- */
391
- export function pixelToInch(pixels) {
392
- if (typeof pixels !== 'number' || isNaN(pixels) || pixels < 0) {
393
- throw new Error('Invalid input: Pixels must be a non-negative number.');
394
- }
395
- const DPI = 96; // Default DPI for screen resolution
396
- return pixels / DPI;
397
- }
398
- export function alphabetNanoid(length = 10, lowercase = false) {
399
- let alphabet = Array.from({ length: 26 }, (_, i) => String.fromCharCode(65 + i)).join('');
400
- if (lowercase) {
401
- alphabet = alphabet.toLowerCase();
402
- }
403
- const nanoid = customAlphabet(alphabet, length);
404
- return nanoid();
405
- }
406
- export function sanitizePhoneNumber(input) {
407
- return input.replace(/\D/g, "");
408
- }
409
- export function isChrome() {
410
- // Chrome's userAgent contains "Chrome", and its vendor contains "Google Inc"
411
- // Note: Microsoft Edge's userAgent also contains "Chrome"
412
- return /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
413
- }
@@ -1,3 +0,0 @@
1
- export declare function createRefererStore(initial?: string): {
2
- referer: string;
3
- };
@@ -1,11 +0,0 @@
1
- export function createRefererStore(initial = '') {
2
- let _referer = $state('');
3
- return {
4
- get referer() {
5
- return _referer;
6
- },
7
- set referer(value) {
8
- _referer = value;
9
- }
10
- };
11
- }
@@ -1,18 +0,0 @@
1
- export declare enum ScreenSizeEnum {
2
- XS = "xs",
3
- SM = "sm",
4
- MD = "md",
5
- LG = "lg",
6
- XL = "xl",
7
- XXL = "2xl"
8
- }
9
- export declare function createScreenSizeStore(initial?: ScreenSizeEnum): {
10
- size: ScreenSizeEnum;
11
- readonly isXXL: boolean;
12
- readonly isXL: boolean;
13
- readonly isLg: boolean;
14
- readonly isMd: boolean;
15
- readonly isSm: boolean;
16
- readonly isXs: boolean;
17
- readonly isMobileScreen: boolean;
18
- };
@@ -1,41 +0,0 @@
1
- export var ScreenSizeEnum;
2
- (function (ScreenSizeEnum) {
3
- ScreenSizeEnum["XS"] = "xs";
4
- ScreenSizeEnum["SM"] = "sm";
5
- ScreenSizeEnum["MD"] = "md";
6
- ScreenSizeEnum["LG"] = "lg";
7
- ScreenSizeEnum["XL"] = "xl";
8
- ScreenSizeEnum["XXL"] = "2xl";
9
- })(ScreenSizeEnum || (ScreenSizeEnum = {}));
10
- export function createScreenSizeStore(initial = ScreenSizeEnum.XXL) {
11
- let _size = $state(initial);
12
- return {
13
- get size() {
14
- return _size;
15
- },
16
- get isXXL() {
17
- return _size === ScreenSizeEnum.XXL;
18
- },
19
- get isXL() {
20
- return _size === ScreenSizeEnum.XL;
21
- },
22
- get isLg() {
23
- return _size === ScreenSizeEnum.LG;
24
- },
25
- get isMd() {
26
- return _size === ScreenSizeEnum.MD;
27
- },
28
- get isSm() {
29
- return _size === ScreenSizeEnum.SM;
30
- },
31
- get isXs() {
32
- return _size === ScreenSizeEnum.XS;
33
- },
34
- get isMobileScreen() {
35
- return this.isXs || this.isSm || this.isMd;
36
- },
37
- set size(size) {
38
- _size = size;
39
- }
40
- };
41
- }
package/dist/types.d.ts DELETED
@@ -1,6 +0,0 @@
1
- export declare enum DropdownStateEnum {
2
- OPEN = 0,
3
- OPENED = 1,
4
- CLOSE = 2,
5
- CLOSED = 3
6
- }
package/dist/types.js DELETED
@@ -1,7 +0,0 @@
1
- export var DropdownStateEnum;
2
- (function (DropdownStateEnum) {
3
- DropdownStateEnum[DropdownStateEnum["OPEN"] = 0] = "OPEN";
4
- DropdownStateEnum[DropdownStateEnum["OPENED"] = 1] = "OPENED";
5
- DropdownStateEnum[DropdownStateEnum["CLOSE"] = 2] = "CLOSE";
6
- DropdownStateEnum[DropdownStateEnum["CLOSED"] = 3] = "CLOSED";
7
- })(DropdownStateEnum || (DropdownStateEnum = {}));