intelicoreact 2.0.15 → 2.0.17

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 (175) hide show
  1. package/dist/css/accordion-table.css +1 -0
  2. package/dist/css/accordion-text.css +1 -0
  3. package/dist/css/accordion.css +1 -0
  4. package/dist/css/action-alert.css +1 -0
  5. package/dist/css/advanced-status.css +1 -0
  6. package/dist/css/advanced-tag.css +1 -0
  7. package/dist/css/alert.css +1 -0
  8. package/dist/css/arrow.css +1 -0
  9. package/dist/css/base.css +1 -0
  10. package/dist/css/box.css +1 -0
  11. package/dist/css/button.css +1 -0
  12. package/dist/css/buttons-bar.css +1 -0
  13. package/dist/css/calendar.css +1 -0
  14. package/dist/css/chart.css +1 -0
  15. package/dist/css/checkbox-input.css +1 -0
  16. package/dist/css/checkboxes-line.css +1 -0
  17. package/dist/css/circle-progress-bar.css +1 -0
  18. package/dist/css/date-time.css +1 -0
  19. package/dist/css/datepicker.css +1 -0
  20. package/dist/css/debug-container.css +1 -0
  21. package/dist/css/double-string.css +1 -0
  22. package/dist/css/dropdown-live-search.css +1 -0
  23. package/dist/css/dropdown.css +1 -0
  24. package/dist/css/file-loader-description.css +1 -0
  25. package/dist/css/file-loader-local-group.css +1 -0
  26. package/dist/css/file-loader-local.css +1 -0
  27. package/dist/css/file-loader.css +1 -0
  28. package/dist/css/form-element.css +1 -0
  29. package/dist/css/formatted-raw-ssn.css +1 -0
  30. package/dist/css/header.css +1 -0
  31. package/dist/css/hint.css +1 -0
  32. package/dist/css/input-address.css +1 -0
  33. package/dist/css/input-calendar.css +1 -0
  34. package/dist/css/input-color.css +1 -0
  35. package/dist/css/input-currency.css +1 -0
  36. package/dist/css/input-custom-fetch.css +1 -0
  37. package/dist/css/input-date-range.css +1 -0
  38. package/dist/css/input-link.css +1 -0
  39. package/dist/css/input-mask3.css +1 -0
  40. package/dist/css/input-password.css +1 -0
  41. package/dist/css/input-with-action.css +1 -0
  42. package/dist/css/input.css +1 -0
  43. package/dist/css/inputs-row.css +1 -0
  44. package/dist/css/label.css +1 -0
  45. package/dist/css/main-menu.css +1 -0
  46. package/dist/css/manifest.json +594 -0
  47. package/dist/css/mobile-calendar.css +1 -0
  48. package/dist/css/modal.css +1 -0
  49. package/dist/css/mono-accordion.css +1 -0
  50. package/dist/css/multi-select.css +1 -0
  51. package/dist/css/nav-line.css +1 -0
  52. package/dist/css/numeric-input.css +1 -0
  53. package/dist/css/page-title.css +1 -0
  54. package/dist/css/pie-chart.css +1 -0
  55. package/dist/css/progress-line.css +1 -0
  56. package/dist/css/radio-group-with-input.css +1 -0
  57. package/dist/css/radio-group.css +1 -0
  58. package/dist/css/radio-input.css +1 -0
  59. package/dist/css/radio-row-switcher.css +1 -0
  60. package/dist/css/range-calendar.css +1 -0
  61. package/dist/css/range-inputs.css +1 -0
  62. package/dist/css/range-list.css +1 -0
  63. package/dist/css/range-slider.css +1 -0
  64. package/dist/css/range-slider2.css +1 -0
  65. package/dist/css/spinner.css +1 -0
  66. package/dist/css/status.css +1 -0
  67. package/dist/css/switchable-row.css +1 -0
  68. package/dist/css/switcher-checkbox.css +1 -0
  69. package/dist/css/switcher-hide.css +1 -0
  70. package/dist/css/switcher-radio.css +1 -0
  71. package/dist/css/switcher-range-list.css +1 -0
  72. package/dist/css/switcher-range.css +1 -0
  73. package/dist/css/switcher-tags-dropdown.css +1 -0
  74. package/dist/css/switcher-textarea.css +1 -0
  75. package/dist/css/switcher.css +1 -0
  76. package/dist/css/table.css +1 -0
  77. package/dist/css/tag-list.css +1 -0
  78. package/dist/css/tag.css +1 -0
  79. package/dist/css/tags-dropdown.css +1 -0
  80. package/dist/css/text-switcher.css +1 -0
  81. package/dist/css/text.css +1 -0
  82. package/dist/css/textarea.css +1 -0
  83. package/dist/css/tiered-checkboxes.css +1 -0
  84. package/dist/css/time-range.css +1 -0
  85. package/dist/css/user-box.css +1 -0
  86. package/dist/css/user-contacts.css +1 -0
  87. package/dist/css/variants-list-radio.css +1 -0
  88. package/dist/css/widget-pseudo-table.css +1 -0
  89. package/dist/css/widget-with-switchable-rows.css +1 -0
  90. package/dist/css/wizard-stepper.css +1 -0
  91. package/dist/es/_virtual/_rolldown/runtime.js +27 -0
  92. package/dist/es/charts.js +4 -0
  93. package/dist/es/classes.js +4 -0
  94. package/dist/es/form.js +99 -0
  95. package/dist/es/hooks.js +32 -0
  96. package/dist/es/icons.js +10 -0
  97. package/dist/es/icons.js.map +1 -0
  98. package/dist/es/index.js +71 -0
  99. package/dist/es/layout.js +3 -0
  100. package/dist/es/presets.js +6 -0
  101. package/dist/es/router-ui.js +8 -0
  102. package/dist/es/sdk.js +1 -0
  103. package/dist/es/styles/base.css +1 -0
  104. package/dist/es/types/index.js +2 -0
  105. package/dist/es/ui.js +42 -0
  106. package/dist/es/utils.js +6 -0
  107. package/dist/intelicoreact.css +1 -1
  108. package/dist/scss/_mixins.scss +2 -2
  109. package/dist/scss/_vars.scss +1 -1
  110. package/dist/scss/main.scss +4 -1
  111. package/package.json +47 -64
  112. package/charts/package.json +0 -5
  113. package/classes/package.json +0 -5
  114. package/dist/charts.cjs +0 -927
  115. package/dist/charts.cjs.map +0 -7
  116. package/dist/charts.js +0 -911
  117. package/dist/charts.js.map +0 -7
  118. package/dist/classes.cjs +0 -1858
  119. package/dist/classes.cjs.map +0 -7
  120. package/dist/classes.js +0 -1836
  121. package/dist/classes.js.map +0 -7
  122. package/dist/form.cjs +0 -15167
  123. package/dist/form.cjs.map +0 -7
  124. package/dist/form.js +0 -15182
  125. package/dist/form.js.map +0 -7
  126. package/dist/hooks.cjs +0 -2330
  127. package/dist/hooks.cjs.map +0 -7
  128. package/dist/hooks.js +0 -2298
  129. package/dist/hooks.js.map +0 -7
  130. package/dist/icons.cjs +0 -1807
  131. package/dist/icons.cjs.map +0 -7
  132. package/dist/icons.js +0 -1785
  133. package/dist/icons.js.map +0 -7
  134. package/dist/index.cjs +0 -22917
  135. package/dist/index.cjs.map +0 -7
  136. package/dist/index.js +0 -22938
  137. package/dist/index.js.map +0 -7
  138. package/dist/layout.cjs +0 -458
  139. package/dist/layout.cjs.map +0 -7
  140. package/dist/layout.js +0 -426
  141. package/dist/layout.js.map +0 -7
  142. package/dist/presets.cjs +0 -262
  143. package/dist/presets.cjs.map +0 -7
  144. package/dist/presets.js +0 -240
  145. package/dist/presets.js.map +0 -7
  146. package/dist/router-ui.cjs +0 -989
  147. package/dist/router-ui.cjs.map +0 -7
  148. package/dist/router-ui.js +0 -957
  149. package/dist/router-ui.js.map +0 -7
  150. package/dist/sdk.cjs +0 -451
  151. package/dist/sdk.cjs.map +0 -7
  152. package/dist/sdk.js +0 -429
  153. package/dist/sdk.js.map +0 -7
  154. package/dist/types/index.cjs +0 -18
  155. package/dist/types/index.cjs.map +0 -7
  156. package/dist/types/index.js +0 -1
  157. package/dist/types/index.js.map +0 -7
  158. package/dist/ui.cjs +0 -4090
  159. package/dist/ui.cjs.map +0 -7
  160. package/dist/ui.js +0 -4064
  161. package/dist/ui.js.map +0 -7
  162. package/dist/utils.cjs +0 -653
  163. package/dist/utils.cjs.map +0 -7
  164. package/dist/utils.js +0 -621
  165. package/dist/utils.js.map +0 -7
  166. package/form/package.json +0 -5
  167. package/hooks/package.json +0 -5
  168. package/icons/package.json +0 -5
  169. package/layout/package.json +0 -5
  170. package/presets/package.json +0 -5
  171. package/router-ui/package.json +0 -5
  172. package/sdk/package.json +0 -5
  173. package/types/package.json +0 -5
  174. package/ui/package.json +0 -5
  175. package/utils/package.json +0 -5
package/dist/utils.js DELETED
@@ -1,621 +0,0 @@
1
- // src/Functions/guards/typeGuards.ts
2
- var isArray = (value) => Array.isArray(value);
3
- function isObject(value) {
4
- return typeof value === "object" && value !== null && !isArray(value);
5
- }
6
- var isNumber = (value) => typeof value === "number";
7
- var isString = (value) => typeof value === "string";
8
- var isBoolean = (value) => typeof value === "boolean";
9
- var isFunction = (value) => typeof value === "function";
10
- var isInstanceOf = (value, classType) => value instanceof classType;
11
- function isEnumValue(enumObject, value) {
12
- return Object.values(enumObject).includes(value);
13
- }
14
- function isNullOrUndefined(value) {
15
- return value === null || value === void 0;
16
- }
17
- var isTruthy = (value) => !!value;
18
- var isEmptyObject = (value) => isObject(value) && Object.keys(value).length === 0;
19
- function isTypedArray(value, type) {
20
- return isArray(value) && value.every((item) => item instanceof type);
21
- }
22
- function isArrayWithLength(value, length) {
23
- return isArray(value) && value.length === length;
24
- }
25
- var isEmptyArray = (value) => Array.isArray(value) && value.length === 0;
26
- function isTypeOrNull(value, type) {
27
- return value === null || value instanceof type;
28
- }
29
- var nonNullable = (value) => value !== null && value !== void 0;
30
- var isDate = (value) => value instanceof Date;
31
- var isPromise = (value) => value instanceof Promise;
32
- var isRegExp = (value) => value instanceof RegExp;
33
- function isPrimitive(value) {
34
- return value === null || value === void 0 || typeof value === "string" || typeof value === "number" || typeof value === "boolean";
35
- }
36
- var isError = (value) => value instanceof Error;
37
- var isSymbol = (value) => typeof value === "symbol";
38
- var isMap = (value) => value instanceof Map;
39
- var isSet = (value) => value instanceof Set;
40
- function isReactElement(value) {
41
- return isObject(value) && "type" in value && "props" in value && "$$typeof" in value;
42
- }
43
- function isReactComponent(value) {
44
- return isFunction(value) || isObject(value) && "render" in value;
45
- }
46
- function isComponentType(value, componentType) {
47
- return isReactElement(value) && value.type === componentType;
48
- }
49
- function isReactEvent(value) {
50
- return isObject(value) && "nativeEvent" in value && "currentTarget" in value && "target" in value;
51
- }
52
- function isRef(value) {
53
- return isObject(value) && "current" in value;
54
- }
55
- function isContext(value) {
56
- return isObject(value) && "Provider" in value && "Consumer" in value;
57
- }
58
- function isType(value) {
59
- const type = typeof value;
60
- return type === "string" || type === "number" || type === "boolean" || type === "object" || type === "function" || type === "undefined" || type === "symbol" || type === "bigint";
61
- }
62
- var typesGuards = {
63
- isArray,
64
- isObject,
65
- isNumber,
66
- isString,
67
- isBoolean,
68
- isFunction,
69
- isInstanceOf,
70
- isEnumValue,
71
- isNullOrUndefined,
72
- isTruthy,
73
- isEmptyObject,
74
- isEmptyArray,
75
- isTypedArray,
76
- isArrayWithLength,
77
- isTypeOrNull,
78
- nonNullable,
79
- isDate,
80
- isPromise,
81
- isRegExp,
82
- isPrimitive,
83
- isError,
84
- isSymbol,
85
- isMap,
86
- isSet,
87
- isReactElement,
88
- isReactComponent,
89
- isComponentType,
90
- isReactEvent,
91
- isRef,
92
- isContext,
93
- isType
94
- };
95
- var typeGuards_default = typesGuards;
96
-
97
- // src/Functions/guards/assertions.ts
98
- function assertArray(value, message) {
99
- if (!Array.isArray(value)) {
100
- throw new TypeError(message || "Expected value to be an array");
101
- }
102
- }
103
- function assertObject(value, message) {
104
- if (typeof value !== "object" || value === null || Array.isArray(value)) {
105
- throw new TypeError(message || "Expected value to be an object");
106
- }
107
- }
108
- function assertNumber(value, message) {
109
- if (typeof value !== "number") {
110
- throw new TypeError(message || "Expected value to be a number");
111
- }
112
- }
113
- function assertString(value, message) {
114
- if (typeof value !== "string") {
115
- throw new TypeError(message || "Expected value to be a string");
116
- }
117
- }
118
- function assertBoolean(value, message) {
119
- if (typeof value !== "boolean") {
120
- throw new TypeError(message || "Expected value to be a boolean");
121
- }
122
- }
123
- function assertFunction(value, message) {
124
- if (typeof value !== "function") {
125
- throw new TypeError(message || "Expected value to be a function");
126
- }
127
- }
128
- function assertInstanceOf(value, classType, message) {
129
- if (!(value instanceof classType)) {
130
- throw new TypeError(message || `Expected value to be an instance of ${classType.name}`);
131
- }
132
- }
133
- function assertEnumValue(enumObject, value, message) {
134
- if (!Object.values(enumObject).includes(value)) {
135
- throw new TypeError(
136
- message || `Expected value to be one of: ${Object.values(enumObject).join(", ")}`
137
- );
138
- }
139
- }
140
- function assertReactElement(value, message) {
141
- if (!(typeGuards_default.isObject(value) && "type" in value && "props" in value && "$$typeof" in value)) {
142
- throw new TypeError(message || "Expected value to be a React element");
143
- }
144
- }
145
- function assertReactComponent(value, message) {
146
- if (!(typeof value === "function" || typeGuards_default.isObject(value) && "render" in value)) {
147
- throw new TypeError(message || "Expected value to be a React component");
148
- }
149
- }
150
- function assertNonNullable(value, message) {
151
- if (value === null || value === void 0) {
152
- throw new TypeError(message || "Expected value to be non-nullable");
153
- }
154
- }
155
- function assertTruthy(value, message) {
156
- if (!value) {
157
- throw new TypeError(message || "Expected value to be truthy");
158
- }
159
- }
160
- function assertFalsy(value, message) {
161
- if (value) {
162
- throw new TypeError(message || "Expected value to be falsy");
163
- }
164
- }
165
- function assertDefined(value, message) {
166
- if (value === void 0) {
167
- throw new TypeError(message || "Expected value to be defined");
168
- }
169
- }
170
- function assertNotEmptyString(value, message) {
171
- if (value === "") {
172
- throw new TypeError(message || "Expected string to be not empty");
173
- }
174
- }
175
- function assertPositiveNumber(value, message) {
176
- if (value <= 0) {
177
- throw new TypeError(message || "Expected number to be positive");
178
- }
179
- }
180
- function assertNegativeNumber(value, message) {
181
- if (value >= 0) {
182
- throw new TypeError(message || "Expected number to be negative");
183
- }
184
- }
185
- function assertArrayNotEmpty(value, message) {
186
- if (value.length === 0) {
187
- throw new TypeError(message || "Expected array to be not empty");
188
- }
189
- }
190
- var assertions = {
191
- assertArray,
192
- assertObject,
193
- assertNumber,
194
- assertString,
195
- assertBoolean,
196
- assertFunction,
197
- assertInstanceOf,
198
- assertEnumValue,
199
- assertReactElement,
200
- assertReactComponent,
201
- assertNonNullable,
202
- assertTruthy,
203
- assertFalsy,
204
- assertDefined,
205
- assertNotEmptyString,
206
- assertPositiveNumber,
207
- assertNegativeNumber,
208
- assertArrayNotEmpty
209
- };
210
- var assertions_default = assertions;
211
-
212
- // src/Functions/utils.js
213
- import { useEffect } from "react";
214
- import moment from "moment-timezone";
215
-
216
- // src/Constants/index.constants.js
217
- var DEFAULT_COLORS = [
218
- "#D9C1FF",
219
- "#FFBAF0",
220
- "#FFB8CE",
221
- "#FFC3A2",
222
- "#FFDB7C",
223
- "#F9F871",
224
- "#C3FCF1",
225
- "#F6F2CB",
226
- "#E0F8D1",
227
- "#B1DFFB",
228
- "#8DECFE",
229
- "#76F7ED",
230
- "#8AFEC8"
231
- ];
232
- var OS = {
233
- iOS: "iOS",
234
- Android: "Android",
235
- WP: "Windows Phone",
236
- Linux: "Linux",
237
- Windows: "Windows",
238
- MacOS: "MacOS",
239
- Unknown: "unknown"
240
- };
241
-
242
- // src/Functions/utils.js
243
- var uuid = () => Date.now().toString(36) + Math.random().toString(36).substring(2);
244
- var getIsOnlyAnObject = (input) => {
245
- return typeof input === "object" && // "отбивает" примитивы и функции
246
- input instanceof Object && // "отбивает" null
247
- !Array.isArray(input) && // "отбивает" массивы
248
- !(input instanceof Set) && // "отбивает" сеты
249
- !(input instanceof Map);
250
- };
251
- var handleObjectChange = (updateObject, updateFunction) => (data, prop = "", isNumber2) => {
252
- let value;
253
- if (data?.target) {
254
- value = data.target.type === "checkbox" ? data.target.checked : data.target.value;
255
- } else value = data;
256
- value = isNumber2 ? Number(value) : value;
257
- const props = prop.split(".");
258
- const currentObject = props.reduce((res, chapter, index) => {
259
- if (props.length !== index + 1) res = res[chapter];
260
- return res;
261
- }, updateObject);
262
- currentObject[props.pop()] = value;
263
- updateFunction();
264
- };
265
- var useOutsideToggle = (ref, setOut, open) => {
266
- function handleClickOutside(event) {
267
- if (ref.current && !ref.current.contains(event.target)) {
268
- setOut(open);
269
- }
270
- }
271
- useEffect(() => {
272
- document.addEventListener("mouseup", handleClickOutside);
273
- return () => {
274
- document.removeEventListener("mouseup", handleClickOutside);
275
- };
276
- }, [ref]);
277
- };
278
- var clone = (input) => {
279
- if (input === null || typeof input !== "object") return input;
280
- const data = input instanceof Array ? [] : {};
281
- for (const i in input) data[i] = clone(input[i]);
282
- return data;
283
- };
284
- var getResponseClone = async (res) => await (typeof res?.clone === "function" ? res.clone() : clone(res));
285
- function transformUTCTimeToLocal(date, format = "YYYY-MM-DD HH:mm:ss") {
286
- if (!date) return;
287
- const utcDate = moment.utc(date).toDate();
288
- return moment(utcDate, format).local().format(format);
289
- }
290
- function transformLocalTimeToUTC(date, format = "YYYY-MM-DD HH:mm:ss") {
291
- if (!date) return;
292
- return moment(date, format).utc().format(format);
293
- }
294
- function transformUTCHoursToLocal(time, format = "HH:mm:ss") {
295
- if (!time) return;
296
- const splitedTime = time.split(":");
297
- const offset = moment().utcOffset();
298
- let HH = Number(splitedTime[0]);
299
- let mm = Number(splitedTime[1]);
300
- const ss = splitedTime[2];
301
- mm = mm + offset;
302
- while (mm > 59) {
303
- mm -= 60;
304
- HH += 1;
305
- }
306
- if (HH > 23) HH -= 24;
307
- while (mm < 0) {
308
- mm += 60;
309
- HH -= 1;
310
- }
311
- if (HH < 0) HH += 24;
312
- return `${HH}:${mm}:${ss}`;
313
- }
314
- function transformDateOrTimeOrTogetherToFormat(data, outputFormat = "HH:mm", additional) {
315
- const ERROR_VALUE = "Invalid date";
316
- const ERROR_MESSGE = `Invalid input data for ${outputFormat} format`;
317
- const { parseFormat, isReturnAsMomentInstance } = getIsOnlyAnObject(
318
- additional
319
- ) ? additional : {};
320
- if (typeof data !== "string" && typeof data !== "number") {
321
- return isReturnAsMomentInstance ? moment("error") : ERROR_MESSGE;
322
- }
323
- const momentArgs = [
324
- data,
325
- ...!Number.isNaN(Number(data)) || typeof parseFormat === "string" ? [] : [parseFormat]
326
- ];
327
- const momentInstance = (() => {
328
- let instance = moment(...momentArgs);
329
- if (instance.format(outputFormat) !== ERROR_VALUE) return instance;
330
- else if (/^\d\d.\d\d/.test(data)) {
331
- instance = moment();
332
- const symbols = data.split("");
333
- const timeArr = symbols.reduce(
334
- (acc, symbol, idx) => {
335
- if (Number.isNaN(Number(symbol))) {
336
- if (acc.group) acc.result.push(acc.group);
337
- acc.group = "";
338
- } else acc.group = `${acc.group}${symbol}`;
339
- if (idx === symbols.length - 1 && acc.group)
340
- acc.result.push(acc.group);
341
- return acc;
342
- },
343
- { result: [], group: "" }
344
- ).result.reverse();
345
- instance.hours(Number(timeArr.pop()));
346
- instance.minutes(Number(timeArr.pop()));
347
- instance.seconds(timeArr.length ? Number(timeArr.pop()) : 0);
348
- instance.milliseconds(timeArr.length ? Number(timeArr.pop()) : 0);
349
- } else instance = moment("error");
350
- return instance;
351
- })();
352
- if (isReturnAsMomentInstance) return momentInstance;
353
- const output = momentInstance.format(outputFormat);
354
- return output === ERROR_VALUE ? ERROR_MESSGE : output;
355
- }
356
- function transformDateOrTimeOrTogetherToFormattedLocal(data, outputFormat = "HH:mm", additional) {
357
- const ERROR_VALUE = "Invalid date";
358
- const ERROR_MESSGE = `Invalid input data for ${outputFormat} format`;
359
- if (additional && !getIsOnlyAnObject(additional)) {
360
- throw new Error(
361
- "Bad additional [transformDateOrTimeOrTogetherToFormattedLocal]"
362
- );
363
- }
364
- const compositeAdditional = {
365
- ...additional || {},
366
- isReturnAsMomentInstance: true
367
- };
368
- const date = transformDateOrTimeOrTogetherToFormat(
369
- data,
370
- outputFormat,
371
- compositeAdditional
372
- );
373
- const dateWithLocale = date.add(moment().utcOffset(), "minutes");
374
- const output = dateWithLocale.format(outputFormat);
375
- return output === ERROR_VALUE ? ERROR_MESSGE : output;
376
- }
377
- var omitKeys = (obj = {}, keys = []) => keys.reduce((acc, key) => {
378
- const { [key]: omit, ...rest } = acc;
379
- return rest;
380
- }, obj);
381
- var logout = () => {
382
- window.localStorage.removeItem("accessToken");
383
- window.localStorage.removeItem("tokenExpires");
384
- window.location.reload();
385
- };
386
- var getStyles = (el, prop) => {
387
- if (!el) return null;
388
- if (!prop) return window.getComputedStyle(el);
389
- return window.getComputedStyle(el).getPropertyValue(prop);
390
- };
391
- var getColorById = (id, colors) => {
392
- if (!id) return "#FF7D00";
393
- const idToArr = Array.from(id);
394
- const colorsArr = colors && colors.length > 0 ? colors : DEFAULT_COLORS;
395
- let number = idToArr.reduce((acc, item) => {
396
- if (Number(item)) {
397
- return acc + Number(item);
398
- }
399
- return acc;
400
- }, 0);
401
- while (number >= colorsArr.length) {
402
- number -= colorsArr.length;
403
- }
404
- return colorsArr[number];
405
- };
406
- var debounce = (fn, ms) => {
407
- let id = null;
408
- return (...args) => {
409
- clearTimeout(id);
410
- id = setTimeout(() => {
411
- clearTimeout(id);
412
- fn(...args);
413
- }, ms);
414
- };
415
- };
416
- var throttle = (fn, ms) => {
417
- let id = null;
418
- return (...args) => {
419
- if (id) return;
420
- fn(...args);
421
- id = setTimeout(() => {
422
- clearTimeout(id);
423
- id = null;
424
- }, ms);
425
- };
426
- };
427
- var addBitDepthPoints = (value, step = 3) => {
428
- const isFraction = value?.includes(".");
429
- const valueBeforeDot = isFraction ? value?.slice(0, value?.indexOf(".")) : value;
430
- const intPart = valueBeforeDot.split("").reverse().reduce(
431
- (acc, item, idx) => idx % step === 0 && idx !== 0 ? [...acc, ",", item] : [...acc, item],
432
- []
433
- ).reverse().join("");
434
- return isFraction ? intPart + value?.slice(value?.indexOf(".")) : intPart;
435
- };
436
- var changeMeta = (key, items = []) => {
437
- const defaultMeta = items.find((i) => i.key === "default");
438
- if (key) {
439
- const item = items.find((i) => i.key === key);
440
- document.title = item?.title ?? defaultMeta?.title;
441
- document.querySelector('meta[name="description"]').setAttribute("content", item?.description ?? defaultMeta?.description);
442
- }
443
- };
444
- var firstLetterCapital = (str) => typeof str === "string" ? `${str.charAt(0).toUpperCase()}${str.slice(1)}` : str;
445
- var capitalized = firstLetterCapital;
446
- var checkedRef = (ref) => ref ? typeof ref === "function" ? (node) => ref(node) : ref : null;
447
- function downloadEmulation(data, filename, type = "image/*") {
448
- const file = new Blob([data], { type });
449
- if (window.navigator.msSaveOrOpenBlob)
450
- window.navigator.msSaveOrOpenBlob(file, filename);
451
- else {
452
- const a = document.createElement("a"), url = URL.createObjectURL(file);
453
- a.href = url;
454
- a.download = filename;
455
- document.body.appendChild(a);
456
- a.click();
457
- setTimeout(() => {
458
- document.body.removeChild(a);
459
- window.URL.revokeObjectURL(url);
460
- }, 0);
461
- }
462
- }
463
- var downloadFile = async ({ url, name, type = null }) => {
464
- const response = await fetch(url).then(async (res) => ({
465
- data: await res.blob(),
466
- type: type ?? res.headers.get("content-type")
467
- }));
468
- downloadEmulation(response.data, name, response.type);
469
- };
470
- var compare = (first, second, keys = []) => {
471
- if (typeof first !== typeof second) return false;
472
- if (Array.isArray(first) !== Array.isArray(second)) return false;
473
- if (!(first instanceof Object)) return first === second;
474
- const getComparationStructure = (data) => {
475
- if (typeof data === "function") return data.toString();
476
- if (!(data instanceof Object)) return data;
477
- return Object.entries(data).sort((a, b) => a[0].localeCompare(b[0])).map(([key, value]) => [key, getComparationStructure(data[key])]);
478
- };
479
- const structureForComparingOfFirst = getComparationStructure(first);
480
- const structureForComparingOfSecond = getComparationStructure(second);
481
- return JSON.stringify(structureForComparingOfFirst) === JSON.stringify(structureForComparingOfSecond);
482
- };
483
- var setCarretToEnd = (input) => {
484
- setTimeout(() => {
485
- const tmp = input.value;
486
- input.value = "";
487
- input.value = tmp;
488
- }, 10);
489
- };
490
- var compareAlphabetical = (a, b, key = "label") => {
491
- let item1 = a?.[key];
492
- let item2 = b?.[key];
493
- if (typeof item1 !== "string" || typeof item2 !== "string") return 0;
494
- item1 = item1?.toLowerCase();
495
- item2 = item2?.toLowerCase();
496
- if (item1 < item2) {
497
- return -1;
498
- }
499
- if (item1 > item2) {
500
- return 1;
501
- }
502
- return 0;
503
- };
504
- var getBase64 = (file) => {
505
- if (file) {
506
- return new Promise(function(resolve, reject) {
507
- const reader = new FileReader();
508
- reader.readAsDataURL(file);
509
- reader.onload = () => resolve(reader.result);
510
- reader.onerror = (error) => reject("Error: ", error);
511
- });
512
- }
513
- };
514
- var renderFileSize = (bytes, decimals = 2) => {
515
- if (!Number(bytes)) return "0 Bytes";
516
- const k = 1024;
517
- const dm = decimals < 0 ? 0 : decimals;
518
- const sizes = ["Bytes", "KB", "MB", "GB"];
519
- const i = Math.floor(Math.log(bytes) / Math.log(k));
520
- return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;
521
- };
522
- var getUniqueFileExtensions = (extListString) => {
523
- const extArray = extListString?.split(",").map((ext) => ext.trim().toUpperCase());
524
- const uniqueExts = [...new Set(extArray)];
525
- return uniqueExts.join(", ");
526
- };
527
- var getOS = () => {
528
- let userAgent = window.navigator.userAgent, platform = window.navigator?.userAgentData?.platform || window.navigator.platform, macosPlatforms = ["Macintosh", "MacIntel", "MacPPC", "Mac68K"], windowsPlatforms = ["Win32", "Win64", "Windows", "WinCE"], iosPlatforms = ["iPhone", "iPad", "iPod"], os = OS.Unknown;
529
- if (macosPlatforms.indexOf(platform) !== -1) {
530
- os = OS.MacOS;
531
- } else if (iosPlatforms.indexOf(platform) !== -1) {
532
- os = OS.iOS;
533
- } else if (windowsPlatforms.indexOf(platform) !== -1) {
534
- os = OS.Windows;
535
- } else if (/Android/.test(userAgent)) {
536
- os = OS.Android;
537
- } else if (/Linux/.test(platform)) {
538
- os = OS.Linux;
539
- }
540
- return os;
541
- };
542
- String.prototype.longerThan = function(compareWith) {
543
- return this?.length > compareWith?.length;
544
- };
545
- String.prototype.lastIndexEqualsTo = function(index) {
546
- return this?.length - 1 === index;
547
- };
548
- var getCorrectTestId = ({ testId = "", withTier = true }) => testId && testId !== void 0 ? `${withTier ? "-" : ""}${testId}` : "";
549
-
550
- // src/Functions/guards/safeValue.ts
551
- function stringValue(value) {
552
- if (typeof value === "string" && value !== "") return value;
553
- return "";
554
- }
555
- function objectValue(value) {
556
- if (typeof value === "object" && value !== null && Object.keys(value).length > 0) {
557
- return clone(value);
558
- }
559
- return {};
560
- }
561
- function numberValue(value) {
562
- if (!Number.isNaN(value) && typeof value === "number") return value;
563
- return 0;
564
- }
565
- var arrayValue = (value) => Array.isArray(value) ? clone(value) : [];
566
- function booleanValue(value) {
567
- if (typeGuards_default.isBoolean(value)) {
568
- return value;
569
- }
570
- return false;
571
- }
572
- function notNullValue(value, defaultValue) {
573
- return value !== null && value !== void 0 ? value : defaultValue;
574
- }
575
- var safeValue = {
576
- booleanValue,
577
- stringValue,
578
- objectValue,
579
- numberValue,
580
- arrayValue,
581
- notNullValue
582
- };
583
- var safeValue_default = safeValue;
584
- export {
585
- addBitDepthPoints,
586
- assertions_default as assertions,
587
- capitalized,
588
- changeMeta,
589
- checkedRef,
590
- clone,
591
- compare,
592
- compareAlphabetical,
593
- debounce,
594
- downloadEmulation,
595
- downloadFile,
596
- firstLetterCapital,
597
- getBase64,
598
- getColorById,
599
- getCorrectTestId,
600
- getIsOnlyAnObject,
601
- getOS,
602
- getResponseClone,
603
- getStyles,
604
- getUniqueFileExtensions,
605
- handleObjectChange,
606
- logout,
607
- omitKeys,
608
- renderFileSize,
609
- safeValue_default as safeValue,
610
- setCarretToEnd,
611
- throttle,
612
- transformDateOrTimeOrTogetherToFormat,
613
- transformDateOrTimeOrTogetherToFormattedLocal,
614
- transformLocalTimeToUTC,
615
- transformUTCHoursToLocal,
616
- transformUTCTimeToLocal,
617
- typeGuards_default as typesGuards,
618
- useOutsideToggle,
619
- uuid
620
- };
621
- //# sourceMappingURL=utils.js.map