dev-classes 1.4.33 → 1.4.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -72,7 +72,13 @@ interface ColorProps{
72
72
  rgb: () => number[];
73
73
  hex: () => string;
74
74
  hexMultiple: () => string[];
75
- pastelColor: () => string;
75
+ pastelColor: (config: {
76
+ baseColor?: string;
77
+ saturation?: number;
78
+ lightness?: number;
79
+ hueShift?: number;
80
+ randomize?: boolean;
81
+ }) => string;
76
82
  neonColor: () => string;
77
83
  brightColor: (factor?: number) => string;
78
84
  };
@@ -1,15 +1,13 @@
1
- import { ColorProps } from './Color.types';
1
+ import { ColorProps, ColorRgb } from './Color.types';
2
2
  export declare class Color {
3
3
  private static componentToHex;
4
4
  static rgbToHex: ColorProps["rgbToHex"];
5
5
  /**
6
- * https://stackoverflow.com/a/54070620/6758968
7
6
  * r, g, b in [0, 255]
8
7
  * @returns h in [0,360) and s, v in [0,1]
9
8
  */
10
9
  static rgbToHsv: ColorProps["rgbToHsv"];
11
10
  /**
12
- * https://stackoverflow.com/a/54024653/6758968
13
11
  * @param h [0, 360]
14
12
  * @param s [0, 1]
15
13
  * @param v [0, 1]
@@ -20,7 +18,6 @@ export declare class Color {
20
18
  * @returns h [0, 360], s [0, 100], l [0, 100], a [0, 1]
21
19
  */
22
20
  static rgbaToHsla: ColorProps["rgbaToHsla"];
23
- private static rgbToHsl;
24
21
  /**
25
22
  * Converts an HSL color value to RGB. Conversion formula
26
23
  * adapted from http://en.wikipedia.org/wiki/HSL_color_space.
@@ -53,7 +50,6 @@ export declare class Color {
53
50
  static rgbaToRgb: ColorProps["rgbaToRgb"];
54
51
  static calculateBrightness: ColorProps["calculateBrightness"];
55
52
  static getTextColor: ColorProps["getTextColor"];
56
- private static readonly MIN_BRIGHTNESS;
57
53
  private static readonly MIN_SATURATION;
58
54
  private static readonly MIN_LIGHTNESS;
59
55
  static isBrightAndVivid(color: string): boolean;
@@ -63,16 +59,23 @@ export declare class Color {
63
59
  static isHex: (color: string) => boolean;
64
60
  private static generateHex;
65
61
  private static generateHexMultiple;
66
- private static generatePastel;
67
62
  private static generateNeon;
68
63
  private static generateRGB;
69
64
  private static brightColor;
65
+ static hslToHex: (hue: number, saturation: number, lightness: number) => string;
66
+ private static generatePleasantColor;
70
67
  static generate: {
71
- rgb: typeof Color.generateRGB;
68
+ rgb: () => ColorRgb;
72
69
  hex: () => string;
73
70
  hexMultiple: (count: number) => string[];
74
- pastelColor: typeof Color.generatePastel;
75
- neonColor: typeof Color.generateNeon;
71
+ pastelColor: (config: {
72
+ baseColor?: string;
73
+ saturation?: number;
74
+ lightness?: number;
75
+ hueShift?: number;
76
+ randomize?: boolean;
77
+ }) => string;
78
+ neonColor: () => string;
76
79
  brightColor: typeof Color.brightColor;
77
80
  };
78
81
  }
@@ -39,7 +39,13 @@ export interface ColorProps {
39
39
  rgb: () => number[];
40
40
  hex: () => string;
41
41
  hexMultiple: () => string[];
42
- pastelColor: () => string;
42
+ pastelColor: (config: {
43
+ baseColor?: string;
44
+ saturation?: number;
45
+ lightness?: number;
46
+ hueShift?: number;
47
+ randomize?: boolean;
48
+ }) => string;
43
49
  neonColor: () => string;
44
50
  brightColor: (factor?: number) => string;
45
51
  };
package/dist/index.js CHANGED
@@ -1,99 +1,53 @@
1
- var v = Object.defineProperty;
2
- var P = (r, e, t) => e in r ? v(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;
1
+ var k = Object.defineProperty;
2
+ var P = (r, e, t) => e in r ? k(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;
3
3
  var c = (r, e, t) => (P(r, typeof e != "symbol" ? e + "" : e, t), t);
4
- const m = class m {
5
- static rgbToHsl(e, t, s) {
6
- e /= 255, t /= 255, s /= 255;
7
- const n = Math.max(e, t, s), o = Math.min(e, t, s);
8
- let i = 0, a = 0;
9
- const u = (n + o) / 2;
10
- if (n !== o) {
11
- const l = n - o;
12
- switch (a = u > 0.5 ? l / (2 - n - o) : l / (n + o), n) {
13
- case e:
14
- i = (t - s) / l + (t < s ? 6 : 0);
15
- break;
16
- case t:
17
- i = (s - e) / l + 2;
18
- break;
19
- case s:
20
- i = (e - t) / l + 4;
21
- break;
22
- }
23
- i /= 6;
24
- }
25
- return { h: i, s: a, l: u };
26
- }
4
+ const h = class h {
27
5
  static isBrightAndVivid(e) {
28
- const [t, s, n] = this.hexToRgb(e), o = this.rgbToHsl(t, s, n);
6
+ const [t, s, n] = this.hexToRgb(e), o = this.rgbaToHsla(t, s, n, 1);
29
7
  return o.l >= this.MIN_LIGHTNESS && o.s >= this.MIN_SATURATION;
30
8
  }
31
- static generatePastel() {
32
- const [e, t, s] = m.generateRGB(), n = Math.floor((e + 255) / 2), o = Math.floor((t + 255) / 2), i = Math.floor((s + 255) / 2);
33
- return `#${n.toString(16).padStart(2, "0")}${o.toString(16).padStart(2, "0")}${i.toString(16).padStart(2, "0")}`;
34
- }
35
- static generateNeon() {
36
- const e = [
37
- Math.floor(Math.random() * 128 + 128),
38
- // Яркий канал
39
- Math.floor(Math.random() * 64),
40
- // Темный канал
41
- Math.floor(Math.random() * 64)
42
- // Темный канал
43
- ];
44
- for (let t = e.length - 1; t > 0; t--) {
45
- const s = Math.floor(Math.random() * (t + 1));
46
- [e[t], e[s]] = [e[s], e[t]];
47
- }
48
- return `#${e[0].toString(16).padStart(2, "0")}${e[1].toString(16).padStart(2, "0")}${e[2].toString(16).padStart(2, "0")}`;
49
- }
50
- static generateRGB() {
51
- return Array.from({ length: 3 }, () => Math.floor(Math.random() * 128 + 128));
52
- }
53
9
  static brightColor(e = 1.3) {
54
10
  let t = 0, s;
55
11
  do {
56
- const [n, o, i] = m.generateRGB();
57
- if (s = `#${n.toString(16).padStart(2, "0")}${o.toString(16).padStart(2, "0")}${i.toString(16).padStart(2, "0")}`, s = m.increaseSaturation(s, e), t++, t > 100)
12
+ const [n, o, i] = h.generateRGB();
13
+ if (s = `#${n.toString(16).padStart(2, "0")}${o.toString(16).padStart(2, "0")}${i.toString(16).padStart(2, "0")}`, s = h.increaseSaturation(s, e), t++, t > 100)
58
14
  break;
59
- } while (!m.isBrightAndVivid(s));
15
+ } while (!h.isBrightAndVivid(s));
60
16
  return s;
61
17
  }
62
18
  };
63
19
  /*Проверить свои методы и возможно исключить т.к. функционал возможно повторяется */
64
- c(m, "componentToHex", (e) => {
65
- const t = e.toString(16);
66
- return t.length == 1 ? "0" + t : t;
67
- }), // static getNumberRGB = (getComputedStyleRGB) => {
68
- // const arrSTRNumber = getComputedStyleRGB.match(/\d+/gi);
69
- // if (arrSTRNumber?.length) {
70
- // return arrSTRNumber.map((i) => Number(i));
71
- // }
72
- // return arrSTRNumber ? arrSTRNumber : [255, 255, 255];
73
- // };
74
- c(m, "rgbToHex", (e, t, s) => "#" + m.componentToHex(e) + m.componentToHex(t) + m.componentToHex(s)), /**
75
- * https://stackoverflow.com/a/54070620/6758968
20
+ c(h, "componentToHex", (e) => {
21
+ const s = Math.max(0, Math.min(255, Math.round(e))).toString(16);
22
+ return s.length == 1 ? "0" + s : s;
23
+ }), c(h, "rgbToHex", (e, t, s) => "#" + h.componentToHex(e) + h.componentToHex(t) + h.componentToHex(s)), // static rgbToHex: ColorProps["rgbToHex"] = (r: number, g: number, b: number) => {
24
+ // const toHex = (n: number): string => {
25
+ // const hex = Math.round(n).toString(16);
26
+ // return hex.length === 1 ? "0" + hex : hex;
27
+ // };
28
+ // return `#${toHex(r)}${toHex(g)}${toHex(b)}`;
29
+ // }
30
+ /**
76
31
  * r, g, b in [0, 255]
77
32
  * @returns h in [0,360) and s, v in [0,1]
78
33
  */
79
- c(m, "rgbToHsv", (e, t, s) => {
34
+ c(h, "rgbToHsv", (e, t, s) => {
80
35
  e /= 255, t /= 255, s /= 255;
81
36
  const n = Math.max(e, t, s), o = n - Math.min(e, t, s), i = o && (n === e ? (t - s) / o : n == t ? 2 + (s - e) / o : 4 + (e - t) / o);
82
37
  return [60 * (i < 0 ? i + 6 : i), n && o / n, n];
83
38
  }), /**
84
- * https://stackoverflow.com/a/54024653/6758968
85
39
  * @param h [0, 360]
86
40
  * @param s [0, 1]
87
41
  * @param v [0, 1]
88
42
  * @returns r, g, b in [0, 255]
89
43
  */
90
- c(m, "hsvToRgb", (e, t, s) => {
44
+ c(h, "hsvToRgb", (e, t, s) => {
91
45
  const n = (o, i = (o + e / 60) % 6) => Math.round((s - s * t * Math.max(Math.min(i, 4 - i, 1), 0)) * 255);
92
46
  return [n(5), n(3), n(1)];
93
47
  }), /**
94
48
  * @returns h [0, 360], s [0, 100], l [0, 100], a [0, 1]
95
49
  */
96
- c(m, "rgbaToHsla", (e, t, s, n = 1) => {
50
+ c(h, "rgbaToHsla", (e, t, s, n = 1) => {
97
51
  e /= 255, t /= 255, s /= 255;
98
52
  const o = Math.max(e, t, s), i = Math.min(e, t, s);
99
53
  let a = 0, u;
@@ -121,8 +75,7 @@ c(m, "rgbaToHsla", (e, t, s, n = 1) => {
121
75
  l: l * 100,
122
76
  a: n
123
77
  };
124
- }), // * https://stackoverflow.com/a/9493060/6758968
125
- /**
78
+ }), /**
126
79
  * Converts an HSL color value to RGB. Conversion formula
127
80
  * adapted from http://en.wikipedia.org/wiki/HSL_color_space.
128
81
  *
@@ -131,22 +84,22 @@ c(m, "rgbaToHsla", (e, t, s, n = 1) => {
131
84
  * @param {number} l The lightness [0, 1]
132
85
  * @return {Array} The RGB representation [0, 255]
133
86
  */
134
- c(m, "hslaToRgba", (e, t, s, n) => {
87
+ c(h, "hslaToRgba", (e, t, s, n) => {
135
88
  e /= 360, t /= 100, s /= 100;
136
89
  let o, i, a;
137
90
  if (t === 0)
138
91
  o = i = a = s;
139
92
  else {
140
- const u = function(b, w, d) {
141
- return d < 0 && (d += 1), d > 1 && (d -= 1), d < 0.16666666666666666 ? b + (w - b) * 6 * d : d < 0.5 ? w : d < 0.6666666666666666 ? b + (w - b) * (0.6666666666666666 - d) * 6 : b;
93
+ const u = function(w, b, d) {
94
+ return d < 0 && (d += 1), d > 1 && (d -= 1), d < 0.16666666666666666 ? w + (b - w) * 6 * d : d < 0.5 ? b : d < 0.6666666666666666 ? w + (b - w) * (0.6666666666666666 - d) * 6 : w;
142
95
  }, l = s < 0.5 ? s * (1 + t) : s + t - s * t, f = 2 * s - l;
143
96
  o = u(f, l, e + 1 / 3), i = u(f, l, e), a = u(f, l, e - 1 / 3);
144
97
  }
145
98
  return [o, i, a, n].map((u) => Math.round(u * 255));
146
- }), c(m, "hslaStringToRgba", (e) => {
99
+ }), c(h, "hslaStringToRgba", (e) => {
147
100
  const t = e.slice(5, -1).split(", "), s = Number(t.pop()), n = t.map((o) => o.endsWith("%") ? +o.slice(0, -1) : +o);
148
- return m.hslaToRgba(n[0], n[1], n[2], s);
149
- }), c(m, "hexaToRgba", (e, t) => {
101
+ return h.hslaToRgba(n[0], n[1], n[2], s);
102
+ }), c(h, "hexaToRgba", (e, t) => {
150
103
  const s = [], n = e[0] === "#" ? 1 : 0;
151
104
  if (e.length === 5 + n && (e = (n ? "#" : "") + "0" + e.slice(n)), e.length === 3 + n)
152
105
  for (let o = n; o < e.length; ++o)
@@ -159,92 +112,100 @@ c(m, "hslaToRgba", (e, t, s, n) => {
159
112
  for (let o = n; o < e.length; o += 2)
160
113
  s.push(parseInt(e.slice(o, o + 2), 16));
161
114
  return t && s.length === 4 && (s[3] = Math.round(s[3] / 255 * 100) / 100), s;
162
- }), c(m, "hexaToHsla", (e) => {
163
- const t = m.hexaToRgba(e);
164
- return m.rgbaToHsla(t[0], t[1], t[2], t[3]);
165
- }), c(m, "hexToRgb", (e) => m.hexaToRgba(e.slice(0, 7))), c(m, "rgbaToHexa", (e) => {
115
+ }), c(h, "hexaToHsla", (e) => {
116
+ const t = h.hexaToRgba(e);
117
+ return h.rgbaToHsla(t[0], t[1], t[2], t[3]);
118
+ }), c(h, "hexToRgb", (e) => h.hexaToRgba(e.slice(0, 7))), c(h, "rgbaToHexa", (e) => {
166
119
  const t = [...e], s = t.pop(), n = Math.round(Math.min(Math.max(s ?? 1, 0), 1) * 255);
167
120
  return "#" + t.map((o) => ("0" + o.toString(16)).slice(-2)).join("") + n.toString(16);
168
- }), c(m, "hslaStringToHexa", (e) => m.rgbaToHexa(m.hslaStringToRgba(e))), c(m, "hslaStringToHex", (e) => m.hslaStringToHexa(e).slice(0, -2)), /**
121
+ }), c(h, "hslaStringToHexa", (e) => h.rgbaToHexa(h.hslaStringToRgba(e))), c(h, "hslaStringToHex", (e) => h.hslaStringToHexa(e).slice(0, -2)), /**
169
122
  * @param weight [0, 1]
170
123
  */
171
- c(m, "mixColors", (e, t, s) => {
124
+ c(h, "mixColors", (e, t, s) => {
172
125
  const n = new Array(3);
173
126
  for (let o = 0; o < 3; ++o) {
174
127
  const i = e[o], a = t[o];
175
128
  n[o] = Math.floor(a + (i - a) * s);
176
129
  }
177
130
  return n;
178
- }), c(m, "getRgbByTypeBrightness", (e) => ({
131
+ }), c(h, "getRgbByTypeBrightness", (e) => ({
179
132
  BT601: [0.299, 0.587, 0.114],
180
133
  BT709: [0.2126, 0.7152, 0.0722],
181
134
  BT2020: [0.2627, 0.678, 0.0593]
182
- })[e]), c(m, "getAverageColor", (e, t) => e.map((s, n) => Math.round((s + t[n]) / 2))), c(m, "getAccentColor", (e, t, s) => {
183
- const n = m.rgbToHsv(...t), o = m.rgbToHsv(...s), i = Math.min(1.5 * n[1] / e[1], 1);
184
- return n[0] = Math.min(360, o[0] - n[0] + e[0]), n[1] = Math.min(1, o[1] * e[1] / n[1]), n[2] = Math.min(1, (o[2] / n[2] + i - 1) * e[2] / i), n[2] < 0.3 ? s : m.hsvToRgb(...n);
185
- }), c(m, "changeColorAccent", (e, t, s, n) => {
186
- const o = m.rgbToHsv(...s);
135
+ })[e]), c(h, "getAverageColor", (e, t) => e.map((s, n) => Math.round((s + t[n]) / 2))), c(h, "getAccentColor", (e, t, s) => {
136
+ const n = h.rgbToHsv(...t), o = h.rgbToHsv(...s), i = Math.min(1.5 * n[1] / e[1], 1);
137
+ return n[0] = Math.min(360, o[0] - n[0] + e[0]), n[1] = Math.min(1, o[1] * e[1] / n[1]), n[2] = Math.min(1, (o[2] / n[2] + i - 1) * e[2] / i), n[2] < 0.3 ? s : h.hsvToRgb(...n);
138
+ }), c(h, "changeColorAccent", (e, t, s, n) => {
139
+ const o = h.rgbToHsv(...s);
187
140
  if (Math.min(Math.abs(o[0] - e[0]), Math.abs(o[0] - e[0] - 360)) > 30)
188
141
  return s;
189
142
  const a = e[1] ? Math.min(1.5 * o[1] / e[1], 1) : 0;
190
143
  o[0] = Math.min(360, o[0] + t[0] - e[0]), o[1] = e[1] ? Math.min(1, o[1] * t[1] / e[1]) : 0, o[2] = e[2] ? Math.min(1, o[2] * (1 - a + a * t[2] / e[2])) : 0;
191
- let u = m.hsvToRgb(...o);
192
- const l = m.calculateBrightness(s), f = m.calculateBrightness(u);
144
+ let u = h.hsvToRgb(...o);
145
+ const l = h.calculateBrightness(s), f = h.calculateBrightness(u);
193
146
  if (n ? l > f : l < f) {
194
- const w = 0.4 * l / f + 0.6;
195
- u = m.changeBrightness(u, w);
147
+ const b = 0.4 * l / f + 0.6;
148
+ u = h.changeBrightness(u, b);
196
149
  }
197
150
  return u;
198
- }), c(m, "changeBrightness", (e, t) => e.map((s) => m.clamp(Math.round(s * t), 0, 255))), c(m, "hexBrightness", (e, t) => {
199
- const s = m.hexToRgb(e), n = m.changeBrightness(s, t), [o, i, a] = n;
200
- return m.rgbToHex(o, i, a);
201
- }), c(m, "getHexColorFromTelegramColor", (e) => {
151
+ }), c(h, "changeBrightness", (e, t) => e.map((s) => h.clamp(Math.round(s * t), 0, 255))), c(h, "hexBrightness", (e, t) => {
152
+ const s = h.hexToRgb(e), n = h.changeBrightness(s, t), [o, i, a] = n;
153
+ return h.rgbToHex(o, i, a);
154
+ }), c(h, "getHexColorFromTelegramColor", (e) => {
202
155
  const t = (e < 0 ? 16777215 + e : e).toString(16);
203
156
  return "#" + (t.length >= 6 ? t : "0".repeat(6 - t.length) + t);
204
- }), c(m, "getRgbColorFromTelegramColor", (e) => m.hexToRgb(m.getHexColorFromTelegramColor(e))), // static getColorsFromWallPaper(wallPaper) {
205
- // return wallPaper.settings
206
- // ? [
207
- // wallPaper.settings.background_color,
208
- // wallPaper.settings.second_background_color,
209
- // wallPaper.settings.third_background_color,
210
- // wallPaper.settings.fourth_background_color,
211
- // ]
212
- // .filter(Boolean)
213
- // .map(Color.getHexColorFromTelegramColor)
214
- // .join(",")
215
- // : "";
216
- // }
217
- c(m, "rgbaToRgb", (e, t) => {
157
+ }), c(h, "getRgbColorFromTelegramColor", (e) => h.hexToRgb(h.getHexColorFromTelegramColor(e))), c(h, "rgbaToRgb", (e, t) => {
218
158
  const s = e[3];
219
- return e.slice(0, 3).map((n, o) => m.clamp(Math.round((s * (n / 255) + s * (t[o] / 255)) * 255), 0, 255));
220
- }), c(m, "calculateBrightness", (e, t = "BT709") => {
221
- const [s, n, o] = e, i = m.getRgbByTypeBrightness(t);
159
+ return e.slice(0, 3).map((n, o) => h.clamp(Math.round((s * (n / 255) + s * (t[o] / 255)) * 255), 0, 255));
160
+ }), c(h, "calculateBrightness", (e, t = "BT709") => {
161
+ const [s, n, o] = e, i = h.getRgbByTypeBrightness(t);
222
162
  return i[0] * s / 255 + i[1] * n / 255 + i[2] * o / 255;
223
- }), c(m, "getTextColor", (e) => e > 0.5 ? [0, 0, 0] : [255, 255, 255]), c(m, "MIN_BRIGHTNESS", 0.6), c(m, "MIN_SATURATION", 0.5), c(m, "MIN_LIGHTNESS", 0.4), c(m, "calculateOpacity", (e, t) => {
163
+ }), c(h, "getTextColor", (e) => e > 0.5 ? [0, 0, 0] : [255, 255, 255]), c(h, "MIN_SATURATION", 50), c(h, "MIN_LIGHTNESS", 44), c(h, "calculateOpacity", (e, t) => {
224
164
  const s = e > 0.5 ? 0 : 1, n = (e - s + t) / t;
225
165
  return +Math.max(0.5, Math.min(0.64, n)).toFixed(2);
226
- }), c(m, "increaseSaturation", (e, t = 1.3) => {
166
+ }), c(h, "increaseSaturation", (e, t = 1.3) => {
227
167
  if (typeof e == "string") {
228
- const s = m.hexToRgb(e), [n, o, i] = m.rgbToHsv(...s), a = Math.min(1, o * t), u = m.hsvToRgb(n, a, i);
229
- return m.rgbToHex(...u);
168
+ const s = h.hexToRgb(e), [n, o, i] = h.rgbToHsv(...s), a = Math.min(1, o * t), u = h.hsvToRgb(n, a, i);
169
+ return h.rgbToHex(...u);
230
170
  } else {
231
- const [s, n, o] = m.rgbToHsv(e[0], e[1], e[2]), i = Math.min(1, n * t);
232
- return m.hsvToRgb(s, i, o);
171
+ const [s, n, o] = h.rgbToHsv(e[0], e[1], e[2]), i = Math.min(1, n * t);
172
+ return h.hsvToRgb(s, i, o);
233
173
  }
234
- }), c(m, "clamp", (e, t, s) => Math.min(s, Math.max(t, e))), c(m, "isHex", (e) => {
174
+ }), c(h, "clamp", (e, t, s) => Math.min(s, Math.max(t, e))), c(h, "isHex", (e) => {
235
175
  if (typeof e != "string")
236
176
  return !1;
237
177
  const t = e.replace(/^#/, "");
238
178
  return /^[0-9A-Fa-f]{3}$|^[0-9A-Fa-f]{6}$|^[0-9A-Fa-f]{8}$/.test(t);
239
- }), c(m, "generateHex", () => `#${Math.floor(Math.random() * 16777215).toString(16).padStart(6, "0")}`), c(m, "generateHexMultiple", (e) => Array.from({ length: e }, () => m.generateHex())), c(m, "generate", {
240
- rgb: m.generateRGB,
241
- hex: m.generateHex,
242
- hexMultiple: m.generateHexMultiple,
243
- pastelColor: m.generatePastel,
244
- neonColor: m.generateNeon,
245
- brightColor: m.brightColor
179
+ }), c(h, "generateHex", () => `#${Math.floor(Math.random() * 16777215).toString(16).padStart(6, "0")}`), c(h, "generateHexMultiple", (e) => Array.from({ length: e }, () => h.generateHex())), c(h, "generateNeon", () => {
180
+ const e = [
181
+ Math.floor(Math.random() * 128 + 128),
182
+ // Яркий канал
183
+ Math.floor(Math.random() * 64),
184
+ // Темный канал
185
+ Math.floor(Math.random() * 64)
186
+ // Темный канал
187
+ ];
188
+ for (let t = e.length - 1; t > 0; t--) {
189
+ const s = Math.floor(Math.random() * (t + 1));
190
+ [e[t], e[s]] = [e[s], e[t]];
191
+ }
192
+ return `#${e[0].toString(16).padStart(2, "0")}${e[1].toString(16).padStart(2, "0")}${e[2].toString(16).padStart(2, "0")}`;
193
+ }), c(h, "generateRGB", () => Array.from({ length: 3 }, () => Math.floor(Math.random() * 128 + 128))), c(h, "hslToHex", (e, t, s) => {
194
+ const n = h.hslaToRgba(e, t, s, 1), [o, i, a] = n.slice(0, 3);
195
+ return h.rgbToHex(o, i, a);
196
+ }), c(h, "generatePleasantColor", (e = {}) => {
197
+ const { baseColor: t, saturation: s = 50, lightness: n = 50, hueShift: o = 0, randomize: i = !1 } = e;
198
+ let a, u, l;
199
+ return t ? (a = (h.hexaToHsla(t).h + o) % 360, i ? (u = Math.max(30, Math.min(90, s + (Math.random() * 40 - 20))), l = Math.max(40, Math.min(80, n + (Math.random() * 30 - 15)))) : (u = s, l = n)) : (a = Math.floor(Math.random() * 360), u = s + Math.random() * 20, l = n + Math.random() * 20), (a >= 20 && a <= 50 || a >= 60 && a <= 140) && (a = (a + 100) % 360), n < 100 && (u = Math.max(u, 15), l > 95 && (l = 95 - Math.random() * 10), u < 20 && l > 90 && (a = (a + 180) % 360, u = Math.max(25, u))), h.hslToHex(a, u, l);
200
+ }), c(h, "generate", {
201
+ rgb: h.generateRGB,
202
+ hex: h.generateHex,
203
+ hexMultiple: h.generateHexMultiple,
204
+ pastelColor: h.generatePleasantColor,
205
+ neonColor: h.generateNeon,
206
+ brightColor: h.brightColor
246
207
  });
247
- let Color = m;
208
+ let Color = h;
248
209
  const itemsMonths = ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"], itemsWeek = ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"], _DateProcessing = class _DateProcessing {
249
210
  };
250
211
  c(_DateProcessing, "getActiveColorClassInDiffDate", (r, e, t) => {
@@ -379,27 +340,27 @@ class DelaysPromise {
379
340
  interval: 5e3
380
341
  });
381
342
  c(this, "startActionEvery", (e, t = this.defaultProps) => {
382
- const s = (h) => {
383
- t != null && t.watchIdInterval && (t == null || t.watchIdInterval(h));
384
- }, n = (h) => {
385
- t != null && t.controlAction && (t == null || t.controlAction(h));
343
+ const s = (m) => {
344
+ t != null && t.watchIdInterval && (t == null || t.watchIdInterval(m));
345
+ }, n = (m) => {
346
+ t != null && t.controlAction && (t == null || t.controlAction(m));
386
347
  };
387
348
  let o = !0, i, a, u;
388
- const l = (h = !0) => {
389
- const b = "Ручное завершение startActionEvery";
390
- o = !1, clearInterval(i), s(null), h ? a && a({ status: h, msg: b + ": (true)" }) : u && u({ status: h, msg: b + ": (false)" });
349
+ const l = (m = !0) => {
350
+ const w = "Ручное завершение startActionEvery";
351
+ o = !1, clearInterval(i), s(null), m ? a && a({ status: m, msg: w + ": (true)" }) : u && u({ status: m, msg: w + ": (false)" });
391
352
  };
392
353
  return {
393
- promise: new Promise((h, b) => {
394
- a = h, u = b;
395
- let w = 0, d = 0;
354
+ promise: new Promise((m, w) => {
355
+ a = m, u = w;
356
+ let b = 0, d = 0;
396
357
  i = setInterval(
397
358
  () => {
398
- if (w += t.interval, d += 1, t != null && t.cutoffTime && w > t.cutoffTime || t != null && t.countAction && (t == null ? void 0 : t.countAction) < d) {
399
- o = !1, clearInterval(i), s(null), b({ status: !1, msg: Error("Время загрузки истекло") });
359
+ if (b += t.interval, d += 1, t != null && t.cutoffTime && b > t.cutoffTime || t != null && t.countAction && (t == null ? void 0 : t.countAction) < d) {
360
+ o = !1, clearInterval(i), s(null), w({ status: !1, msg: Error("Время загрузки истекло") });
400
361
  return;
401
362
  }
402
- e() && (o = !1, clearInterval(i), s(null), h({ status: !0, msg: "cb вернул true" }));
363
+ e() && (o = !1, clearInterval(i), s(null), m({ status: !0, msg: "cb вернул true" }));
403
364
  },
404
365
  t.interval < 200 ? 200 : t.interval
405
366
  ), s(i), n({
@@ -818,29 +779,29 @@ function toFormData(r, e, t) {
818
779
  }
819
780
  return isVisitable(d) ? !0 : (e.append(renderKey(p, g, o), l(d)), !1);
820
781
  }
821
- const h = [], b = Object.assign(predicates, {
782
+ const m = [], w = Object.assign(predicates, {
822
783
  defaultVisitor: f,
823
784
  convertValue: l,
824
785
  isVisitable
825
786
  });
826
- function w(d, g) {
787
+ function b(d, g) {
827
788
  if (!utils$1.isUndefined(d)) {
828
- if (h.indexOf(d) !== -1)
789
+ if (m.indexOf(d) !== -1)
829
790
  throw Error("Circular reference detected in " + g.join("."));
830
- h.push(d), utils$1.forEach(d, function(D, A) {
791
+ m.push(d), utils$1.forEach(d, function(D, A) {
831
792
  (!(utils$1.isUndefined(D) || D === null) && n.call(
832
793
  e,
833
794
  D,
834
795
  utils$1.isString(A) ? A.trim() : A,
835
796
  g,
836
- b
837
- )) === !0 && w(D, g ? g.concat(A) : [A]);
838
- }), h.pop();
797
+ w
798
+ )) === !0 && b(D, g ? g.concat(A) : [A]);
799
+ }), m.pop();
839
800
  }
840
801
  }
841
802
  if (!utils$1.isObject(r))
842
803
  throw new TypeError("data must be an object");
843
- return w(r), e;
804
+ return b(r), e;
844
805
  }
845
806
  function encode$1(r) {
846
807
  const e = {
@@ -1151,8 +1112,8 @@ class AxiosHeaders {
1151
1112
  const f = normalizeHeader(u);
1152
1113
  if (!f)
1153
1114
  throw new Error("header name must be a non-empty string");
1154
- const h = utils$1.findKey(n, f);
1155
- (!h || n[h] === void 0 || l === !0 || l === void 0 && n[h] !== !1) && (n[h || u] = normalizeValue(a));
1115
+ const m = utils$1.findKey(n, f);
1116
+ (!m || n[m] === void 0 || l === !0 || l === void 0 && n[m] !== !1) && (n[m || u] = normalizeValue(a));
1156
1117
  }
1157
1118
  const i = (a, u) => utils$1.forEach(a, (l, f) => o(l, f, u));
1158
1119
  if (utils$1.isPlainObject(e) || e instanceof this.constructor)
@@ -1308,13 +1269,13 @@ function speedometer(r, e) {
1308
1269
  return e = e !== void 0 ? e : 1e3, function(u) {
1309
1270
  const l = Date.now(), f = s[o];
1310
1271
  i || (i = l), t[n] = u, s[n] = l;
1311
- let h = o, b = 0;
1312
- for (; h !== n; )
1313
- b += t[h++], h = h % r;
1272
+ let m = o, w = 0;
1273
+ for (; m !== n; )
1274
+ w += t[m++], m = m % r;
1314
1275
  if (n = (n + 1) % r, n === o && (o = (o + 1) % r), l - i < e)
1315
1276
  return;
1316
- const w = f && l - f;
1317
- return w ? Math.round(b * 1e3 / w) : void 0;
1277
+ const b = f && l - f;
1278
+ return b ? Math.round(w * 1e3 / b) : void 0;
1318
1279
  };
1319
1280
  }
1320
1281
  function throttle(r, e) {
@@ -1323,10 +1284,10 @@ function throttle(r, e) {
1323
1284
  t = f, n = null, o && (clearTimeout(o), o = null), r.apply(null, l);
1324
1285
  };
1325
1286
  return [(...l) => {
1326
- const f = Date.now(), h = f - t;
1327
- h >= s ? i(l, f) : (n = l, o || (o = setTimeout(() => {
1287
+ const f = Date.now(), m = f - t;
1288
+ m >= s ? i(l, f) : (n = l, o || (o = setTimeout(() => {
1328
1289
  o = null, i(n);
1329
- }, s - h)));
1290
+ }, s - m)));
1330
1291
  }, () => n && i(n)];
1331
1292
  }
1332
1293
  const progressEventReducer = (r, e, t = 3) => {
@@ -1335,7 +1296,7 @@ const progressEventReducer = (r, e, t = 3) => {
1335
1296
  return throttle((o) => {
1336
1297
  const i = o.loaded, a = o.lengthComputable ? o.total : void 0, u = i - s, l = n(u), f = i <= a;
1337
1298
  s = i;
1338
- const h = {
1299
+ const m = {
1339
1300
  loaded: i,
1340
1301
  total: a,
1341
1302
  progress: a ? i / a : void 0,
@@ -1346,7 +1307,7 @@ const progressEventReducer = (r, e, t = 3) => {
1346
1307
  lengthComputable: a != null,
1347
1308
  [e ? "download" : "upload"]: !0
1348
1309
  };
1349
- r(h);
1310
+ r(m);
1350
1311
  }, t);
1351
1312
  }, progressEventDecorator = (r, e) => {
1352
1313
  const t = r != null;
@@ -1426,15 +1387,15 @@ const headersToObject = (r) => r instanceof AxiosHeaders$1 ? { ...r } : r;
1426
1387
  function mergeConfig(r, e) {
1427
1388
  e = e || {};
1428
1389
  const t = {};
1429
- function s(l, f, h) {
1430
- return utils$1.isPlainObject(l) && utils$1.isPlainObject(f) ? utils$1.merge.call({ caseless: h }, l, f) : utils$1.isPlainObject(f) ? utils$1.merge({}, f) : utils$1.isArray(f) ? f.slice() : f;
1390
+ function s(l, f, m) {
1391
+ return utils$1.isPlainObject(l) && utils$1.isPlainObject(f) ? utils$1.merge.call({ caseless: m }, l, f) : utils$1.isPlainObject(f) ? utils$1.merge({}, f) : utils$1.isArray(f) ? f.slice() : f;
1431
1392
  }
1432
- function n(l, f, h) {
1393
+ function n(l, f, m) {
1433
1394
  if (utils$1.isUndefined(f)) {
1434
1395
  if (!utils$1.isUndefined(l))
1435
- return s(void 0, l, h);
1396
+ return s(void 0, l, m);
1436
1397
  } else
1437
- return s(l, f, h);
1398
+ return s(l, f, m);
1438
1399
  }
1439
1400
  function o(l, f) {
1440
1401
  if (!utils$1.isUndefined(f))
@@ -1447,10 +1408,10 @@ function mergeConfig(r, e) {
1447
1408
  } else
1448
1409
  return s(void 0, f);
1449
1410
  }
1450
- function a(l, f, h) {
1451
- if (h in e)
1411
+ function a(l, f, m) {
1412
+ if (m in e)
1452
1413
  return s(l, f);
1453
- if (h in r)
1414
+ if (m in r)
1454
1415
  return s(void 0, l);
1455
1416
  }
1456
1417
  const u = {
@@ -1485,8 +1446,8 @@ function mergeConfig(r, e) {
1485
1446
  headers: (l, f) => n(headersToObject(l), headersToObject(f), !0)
1486
1447
  };
1487
1448
  return utils$1.forEach(Object.keys(Object.assign({}, r, e)), function(f) {
1488
- const h = u[f] || n, b = h(r[f], e[f], f);
1489
- utils$1.isUndefined(b) && h !== a || (t[f] = b);
1449
+ const m = u[f] || n, w = m(r[f], e[f], f);
1450
+ utils$1.isUndefined(w) && m !== a || (t[f] = w);
1490
1451
  }), t;
1491
1452
  }
1492
1453
  const resolveConfig = (r) => {
@@ -1501,7 +1462,7 @@ const resolveConfig = (r) => {
1501
1462
  if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv)
1502
1463
  i.setContentType(void 0);
1503
1464
  else if ((u = i.getContentType()) !== !1) {
1504
- const [l, ...f] = u ? u.split(";").map((h) => h.trim()).filter(Boolean) : [];
1465
+ const [l, ...f] = u ? u.split(";").map((m) => m.trim()).filter(Boolean) : [];
1505
1466
  i.setContentType([l || "multipart/form-data", ...f].join("; "));
1506
1467
  }
1507
1468
  }
@@ -1515,9 +1476,9 @@ const resolveConfig = (r) => {
1515
1476
  const n = resolveConfig(r);
1516
1477
  let o = n.data;
1517
1478
  const i = AxiosHeaders$1.from(n.headers).normalize();
1518
- let { responseType: a, onUploadProgress: u, onDownloadProgress: l } = n, f, h, b, w, d;
1479
+ let { responseType: a, onUploadProgress: u, onDownloadProgress: l } = n, f, m, w, b, d;
1519
1480
  function g() {
1520
- w && w(), d && d(), n.cancelToken && n.cancelToken.unsubscribe(f), n.signal && n.signal.removeEventListener("abort", f);
1481
+ b && b(), d && d(), n.cancelToken && n.cancelToken.unsubscribe(f), n.signal && n.signal.removeEventListener("abort", f);
1521
1482
  }
1522
1483
  let p = new XMLHttpRequest();
1523
1484
  p.open(n.method.toUpperCase(), n.url, !0), p.timeout = n.timeout;
@@ -1526,7 +1487,7 @@ const resolveConfig = (r) => {
1526
1487
  return;
1527
1488
  const S = AxiosHeaders$1.from(
1528
1489
  "getAllResponseHeaders" in p && p.getAllResponseHeaders()
1529
- ), x = {
1490
+ ), R = {
1530
1491
  data: !a || a === "text" || a === "json" ? p.responseText : p.response,
1531
1492
  status: p.status,
1532
1493
  statusText: p.statusText,
@@ -1538,7 +1499,7 @@ const resolveConfig = (r) => {
1538
1499
  t(C), g();
1539
1500
  }, function(C) {
1540
1501
  s(C), g();
1541
- }, x), p = null;
1502
+ }, R), p = null;
1542
1503
  }
1543
1504
  "onloadend" in p ? p.onloadend = D : p.onreadystatechange = function() {
1544
1505
  !p || p.readyState !== 4 || p.status === 0 && !(p.responseURL && p.responseURL.indexOf("file:") === 0) || setTimeout(D);
@@ -1548,16 +1509,16 @@ const resolveConfig = (r) => {
1548
1509
  s(new AxiosError("Network Error", AxiosError.ERR_NETWORK, r, p)), p = null;
1549
1510
  }, p.ontimeout = function() {
1550
1511
  let O = n.timeout ? "timeout of " + n.timeout + "ms exceeded" : "timeout exceeded";
1551
- const x = n.transitional || transitionalDefaults;
1512
+ const R = n.transitional || transitionalDefaults;
1552
1513
  n.timeoutErrorMessage && (O = n.timeoutErrorMessage), s(new AxiosError(
1553
1514
  O,
1554
- x.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,
1515
+ R.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,
1555
1516
  r,
1556
1517
  p
1557
1518
  )), p = null;
1558
- }, o === void 0 && i.setContentType(null), "setRequestHeader" in p && utils$1.forEach(i.toJSON(), function(O, x) {
1559
- p.setRequestHeader(x, O);
1560
- }), utils$1.isUndefined(n.withCredentials) || (p.withCredentials = !!n.withCredentials), a && a !== "json" && (p.responseType = n.responseType), l && ([b, d] = progressEventReducer(l, !0), p.addEventListener("progress", b)), u && p.upload && ([h, w] = progressEventReducer(u), p.upload.addEventListener("progress", h), p.upload.addEventListener("loadend", w)), (n.cancelToken || n.signal) && (f = (S) => {
1519
+ }, o === void 0 && i.setContentType(null), "setRequestHeader" in p && utils$1.forEach(i.toJSON(), function(O, R) {
1520
+ p.setRequestHeader(R, O);
1521
+ }), utils$1.isUndefined(n.withCredentials) || (p.withCredentials = !!n.withCredentials), a && a !== "json" && (p.responseType = n.responseType), l && ([w, d] = progressEventReducer(l, !0), p.addEventListener("progress", w)), u && p.upload && ([m, b] = progressEventReducer(u), p.upload.addEventListener("progress", m), p.upload.addEventListener("loadend", b)), (n.cancelToken || n.signal) && (f = (S) => {
1561
1522
  p && (s(!S || S.type ? new CanceledError(null, r, p) : S), p.abort(), p = null);
1562
1523
  }, n.cancelToken && n.cancelToken.subscribe(f), n.signal && (n.signal.aborted ? f() : n.signal.addEventListener("abort", f)));
1563
1524
  const A = parseProtocol(n.url);
@@ -1631,10 +1592,10 @@ const resolveConfig = (r) => {
1631
1592
  a(), u.close();
1632
1593
  return;
1633
1594
  }
1634
- let h = f.byteLength;
1595
+ let m = f.byteLength;
1635
1596
  if (t) {
1636
- let b = o += h;
1637
- t(b);
1597
+ let w = o += m;
1598
+ t(w);
1638
1599
  }
1639
1600
  u.enqueue(new Uint8Array(f));
1640
1601
  } catch (l) {
@@ -1702,47 +1663,47 @@ const getBodyLength = async (r) => {
1702
1663
  onUploadProgress: u,
1703
1664
  responseType: l,
1704
1665
  headers: f,
1705
- withCredentials: h = "same-origin",
1706
- fetchOptions: b
1666
+ withCredentials: m = "same-origin",
1667
+ fetchOptions: w
1707
1668
  } = resolveConfig(r);
1708
1669
  l = l ? (l + "").toLowerCase() : "text";
1709
- let w = composeSignals$1([n, o && o.toAbortSignal()], i), d;
1710
- const g = w && w.unsubscribe && (() => {
1711
- w.unsubscribe();
1670
+ let b = composeSignals$1([n, o && o.toAbortSignal()], i), d;
1671
+ const g = b && b.unsubscribe && (() => {
1672
+ b.unsubscribe();
1712
1673
  });
1713
1674
  let p;
1714
1675
  try {
1715
1676
  if (u && supportsRequestStream && t !== "get" && t !== "head" && (p = await resolveBodyLength(f, s)) !== 0) {
1716
- let x = new Request(e, {
1677
+ let R = new Request(e, {
1717
1678
  method: "POST",
1718
1679
  body: s,
1719
1680
  duplex: "half"
1720
1681
  }), T;
1721
- if (utils$1.isFormData(s) && (T = x.headers.get("content-type")) && f.setContentType(T), x.body) {
1682
+ if (utils$1.isFormData(s) && (T = R.headers.get("content-type")) && f.setContentType(T), R.body) {
1722
1683
  const [C, N] = progressEventDecorator(
1723
1684
  p,
1724
1685
  progressEventReducer(asyncDecorator(u))
1725
1686
  );
1726
- s = trackStream(x.body, DEFAULT_CHUNK_SIZE, C, N);
1687
+ s = trackStream(R.body, DEFAULT_CHUNK_SIZE, C, N);
1727
1688
  }
1728
1689
  }
1729
- utils$1.isString(h) || (h = h ? "include" : "omit");
1690
+ utils$1.isString(m) || (m = m ? "include" : "omit");
1730
1691
  const D = "credentials" in Request.prototype;
1731
1692
  d = new Request(e, {
1732
- ...b,
1733
- signal: w,
1693
+ ...w,
1694
+ signal: b,
1734
1695
  method: t.toUpperCase(),
1735
1696
  headers: f.normalize().toJSON(),
1736
1697
  body: s,
1737
1698
  duplex: "half",
1738
- credentials: D ? h : void 0
1699
+ credentials: D ? m : void 0
1739
1700
  });
1740
1701
  let A = await fetch(d);
1741
1702
  const S = supportsResponseStream && (l === "stream" || l === "response");
1742
1703
  if (supportsResponseStream && (a || S && g)) {
1743
- const x = {};
1744
- ["status", "statusText", "headers"].forEach((k) => {
1745
- x[k] = A[k];
1704
+ const R = {};
1705
+ ["status", "statusText", "headers"].forEach((v) => {
1706
+ R[v] = A[v];
1746
1707
  });
1747
1708
  const T = utils$1.toFiniteNumber(A.headers.get("content-length")), [C, N] = a && progressEventDecorator(
1748
1709
  T,
@@ -1752,13 +1713,13 @@ const getBodyLength = async (r) => {
1752
1713
  trackStream(A.body, DEFAULT_CHUNK_SIZE, C, () => {
1753
1714
  N && N(), g && g();
1754
1715
  }),
1755
- x
1716
+ R
1756
1717
  );
1757
1718
  }
1758
1719
  l = l || "text";
1759
1720
  let O = await resolvers[utils$1.findKey(resolvers, l) || "text"](A, r);
1760
- return !S && g && g(), await new Promise((x, T) => {
1761
- settle(x, T, {
1721
+ return !S && g && g(), await new Promise((R, T) => {
1722
+ settle(R, T, {
1762
1723
  data: O,
1763
1724
  headers: AxiosHeaders$1.from(A.headers),
1764
1725
  status: A.status,
@@ -1952,31 +1913,31 @@ class Axios {
1952
1913
  this.interceptors.response.forEach(function(g) {
1953
1914
  l.push(g.fulfilled, g.rejected);
1954
1915
  });
1955
- let f, h = 0, b;
1916
+ let f, m = 0, w;
1956
1917
  if (!u) {
1957
1918
  const d = [dispatchRequest.bind(this), void 0];
1958
- for (d.unshift.apply(d, a), d.push.apply(d, l), b = d.length, f = Promise.resolve(t); h < b; )
1959
- f = f.then(d[h++], d[h++]);
1919
+ for (d.unshift.apply(d, a), d.push.apply(d, l), w = d.length, f = Promise.resolve(t); m < w; )
1920
+ f = f.then(d[m++], d[m++]);
1960
1921
  return f;
1961
1922
  }
1962
- b = a.length;
1963
- let w = t;
1964
- for (h = 0; h < b; ) {
1965
- const d = a[h++], g = a[h++];
1923
+ w = a.length;
1924
+ let b = t;
1925
+ for (m = 0; m < w; ) {
1926
+ const d = a[m++], g = a[m++];
1966
1927
  try {
1967
- w = d(w);
1928
+ b = d(b);
1968
1929
  } catch (p) {
1969
1930
  g.call(this, p);
1970
1931
  break;
1971
1932
  }
1972
1933
  }
1973
1934
  try {
1974
- f = dispatchRequest.call(this, w);
1935
+ f = dispatchRequest.call(this, b);
1975
1936
  } catch (d) {
1976
1937
  return Promise.reject(d);
1977
1938
  }
1978
- for (h = 0, b = l.length; h < b; )
1979
- f = f.then(l[h++], l[h++]);
1939
+ for (m = 0, w = l.length; m < w; )
1940
+ f = f.then(l[m++], l[m++]);
1980
1941
  return f;
1981
1942
  }
1982
1943
  getUri(e) {
@@ -2302,29 +2263,29 @@ class SaveRequest {
2302
2263
  return t.some((s) => s.url === e);
2303
2264
  }
2304
2265
  }
2305
- const R = class R {
2266
+ const x = class x {
2306
2267
  };
2307
- c(R, "events", (e, t, s, n = "") => new Promise((o, i) => {
2268
+ c(x, "events", (e, t, s, n = "") => new Promise((o, i) => {
2308
2269
  let a = 0;
2309
2270
  for (let [u, l] of s)
2310
2271
  a++, e === "add" ? t.addEventListener(u, l) : t.removeEventListener(u, l), a === s.length && o("");
2311
- })), c(R, "sortDataByAlphabet", (e, t) => e.sort((s, n) => n[t].trim() < s[t].trim() ? 1 : -1)), c(R, "sortDataByDate", (e, t) => {
2312
- e.sort((s, n) => R.hasDateLessPeriod(n[t], s[t]) ? 1 : -1);
2313
- }), c(R, "sortDataByDateAndTime", (e, t) => {
2314
- }), c(R, "splitDateFromTime", (e) => e.split(" ")), c(R, "reverseDate", (e) => {
2315
- let [t, s] = R.splitDateFromTime(e);
2272
+ })), c(x, "sortDataByAlphabet", (e, t) => e.sort((s, n) => n[t].trim() < s[t].trim() ? 1 : -1)), c(x, "sortDataByDate", (e, t) => {
2273
+ e.sort((s, n) => x.hasDateLessPeriod(n[t], s[t]) ? 1 : -1);
2274
+ }), c(x, "sortDataByDateAndTime", (e, t) => {
2275
+ }), c(x, "splitDateFromTime", (e) => e.split(" ")), c(x, "reverseDate", (e) => {
2276
+ let [t, s] = x.splitDateFromTime(e);
2316
2277
  return t.split(".").reverse().join("-");
2317
- }), c(R, "correctionDataISO8601", (e) => {
2278
+ }), c(x, "correctionDataISO8601", (e) => {
2318
2279
  let t = "";
2319
2280
  if (/^\d{2}\.\d{2}\.\d{4}$/.test(e) || /^\d{2}\.\d{2}\.\d{4}\s\d{2}:\d{2}$/.test(e))
2320
- t = R.reverseDate(e);
2281
+ t = x.reverseDate(e);
2321
2282
  else if (/^\d{4}-\d{2}-\d{2}$/.test(e))
2322
2283
  t = e;
2323
2284
  else
2324
2285
  throw new Error(`функция correctionDataISO8601 >> date не корректна: ${e}. Требуется один из форматов: дд.мм.гггг | дд.мм.гггг мм:чч | гггг-мм-дд `);
2325
2286
  return t;
2326
- }), c(R, "hasDateLessPeriod", (e, t, s) => {
2327
- if (e = R.correctionDataISO8601(e), t = R.correctionDataISO8601(t), !s || s && !s.dateMinMax || (s == null ? void 0 : s.dateMinMax) === "<=")
2287
+ }), c(x, "hasDateLessPeriod", (e, t, s) => {
2288
+ if (e = x.correctionDataISO8601(e), t = x.correctionDataISO8601(t), !s || s && !s.dateMinMax || (s == null ? void 0 : s.dateMinMax) === "<=")
2328
2289
  return Math.floor(Number(new Date(e))) <= Math.floor(Number(new Date(t)));
2329
2290
  if (s && (s == null ? void 0 : s.dateMinMax) === ">=")
2330
2291
  return Math.floor(Number(new Date(e))) >= Math.floor(Number(new Date(t)));
@@ -2332,31 +2293,31 @@ c(R, "events", (e, t, s, n = "") => new Promise((o, i) => {
2332
2293
  return Math.floor(Number(new Date(e))) < Math.floor(Number(new Date(t)));
2333
2294
  if (s && (s == null ? void 0 : s.dateMinMax) === ">")
2334
2295
  return Math.floor(Number(new Date(e))) > Math.floor(Number(new Date(t)));
2335
- }), c(R, "getEndsWithArr", (e, t) => e.slice(-t)), c(R, "deepMerge", (...e) => {
2296
+ }), c(x, "getEndsWithArr", (e, t) => e.slice(-t)), c(x, "deepMerge", (...e) => {
2336
2297
  const t = {}, s = (n) => {
2337
2298
  for (const o in n)
2338
- Object.prototype.hasOwnProperty.call(n, o) && (Object.prototype.toString.call(n[o]) === "[object Object]" ? t[o] = R.deepMerge(t[o], n[o]) : t[o] = n[o]);
2299
+ Object.prototype.hasOwnProperty.call(n, o) && (Object.prototype.toString.call(n[o]) === "[object Object]" ? t[o] = x.deepMerge(t[o], n[o]) : t[o] = n[o]);
2339
2300
  };
2340
2301
  for (let n = 0; n < e.length; n++)
2341
2302
  s(e[n]);
2342
2303
  return t;
2343
- }), c(R, "isJSON", (e) => {
2304
+ }), c(x, "isJSON", (e) => {
2344
2305
  try {
2345
2306
  JSON.parse(e);
2346
2307
  } catch {
2347
2308
  return !1;
2348
2309
  }
2349
2310
  return !0;
2350
- }), c(R, "filterItems", (e, t) => e.filter((s) => s.name.toLowerCase().includes(t.toLowerCase()))), c(R, "sortByOnline", (e) => {
2311
+ }), c(x, "filterItems", (e, t) => e.filter((s) => s.name.toLowerCase().includes(t.toLowerCase()))), c(x, "sortByOnline", (e) => {
2351
2312
  const t = [], s = [];
2352
2313
  for (let i = 0; e.length > i; i++) {
2353
2314
  const a = e[i];
2354
2315
  a.online ? t.push(a) : s.push(a);
2355
2316
  }
2356
- const n = R.sortDataByAlphabet(t, "name"), o = R.sortDataByAlphabet(s, "name");
2317
+ const n = x.sortDataByAlphabet(t, "name"), o = x.sortDataByAlphabet(s, "name");
2357
2318
  return [...n, ...o];
2358
2319
  });
2359
- let Utils = R;
2320
+ let Utils = x;
2360
2321
  const E = class E {
2361
2322
  constructor() {
2362
2323
  c(this, "getDecodingError", () => ({
@@ -2376,7 +2337,7 @@ const E = class E {
2376
2337
  c(E, "keyCookie", "AuthCookie"), c(E, "cookieOptions", {}), c(E, "registerRequest", new SaveRequest()), c(E, "registerFailedRequests", new SaveRequest()), c(E, "requestUploadToken", null), c(E, "errorsHandler", new ErrorsHandler()), c(E, "setMethodUploadToken", (e) => {
2377
2338
  E.requestUploadToken = e;
2378
2339
  }), c(E, "requestInServer", (e, t = {}) => new Promise((s, n) => {
2379
- var b;
2340
+ var w;
2380
2341
  let o = { url: e, statusCode: 0, data: {}, res: {} };
2381
2342
  const i = {
2382
2343
  method: "get",
@@ -2391,10 +2352,10 @@ c(E, "keyCookie", "AuthCookie"), c(E, "cookieOptions", {}), c(E, "registerReques
2391
2352
  isErr: !0,
2392
2353
  request: a,
2393
2354
  errExt: { message: l, status: u }
2394
- }, { cordova: h } = window;
2395
- if (h != null && h.cordova && ((b = h == null ? void 0 : h.plugin) != null && b.http)) {
2396
- const { http: w } = h == null ? void 0 : h.plugin;
2397
- "Content-Type" in (a == null ? void 0 : a.headers) && ((a == null ? void 0 : a.headers["Content-Type"]) === "multipart/form-data" && w.setDataSerializer("urlencoded"), (a == null ? void 0 : a.headers["Content-Type"]) === "application/json" && w.setDataSerializer("json")), w.setRequestTimeout(Number(a.timeout) / 1e3), E.registerRequest.setList({ url: e, options: a }), w.sendRequest(
2355
+ }, { cordova: m } = window;
2356
+ if (m != null && m.cordova && ((w = m == null ? void 0 : m.plugin) != null && w.http)) {
2357
+ const { http: b } = m == null ? void 0 : m.plugin;
2358
+ "Content-Type" in (a == null ? void 0 : a.headers) && ((a == null ? void 0 : a.headers["Content-Type"]) === "multipart/form-data" && b.setDataSerializer("urlencoded"), (a == null ? void 0 : a.headers["Content-Type"]) === "application/json" && b.setDataSerializer("json")), b.setRequestTimeout(Number(a.timeout) / 1e3), E.registerRequest.setList({ url: e, options: a }), b.sendRequest(
2398
2359
  e,
2399
2360
  a,
2400
2361
  (d) => {
@@ -2403,12 +2364,12 @@ c(E, "keyCookie", "AuthCookie"), c(E, "cookieOptions", {}), c(E, "registerReques
2403
2364
  o = { ...o, statusCode: p, data: D, res: d }, p === 200 && g && (E.saveToken(g), o.data = { ...o.data, token: g }), s(o);
2404
2365
  },
2405
2366
  (d) => {
2406
- const g = E.errorsHandler.handleError(d), { url: p, status: D, headers: A, error: S, ...O } = d, x = typeof S == "string" ? Utils.isJSON(S.trim()) : !1, T = {
2367
+ const g = E.errorsHandler.handleError(d), { url: p, status: D, headers: A, error: S, ...O } = d, R = typeof S == "string" ? Utils.isJSON(S.trim()) : !1, T = {
2407
2368
  headers: A,
2408
2369
  status: D,
2409
2370
  message: ""
2410
2371
  };
2411
- if (x) {
2372
+ if (R) {
2412
2373
  const C = JSON.parse(S.trim()), N = E.errorsHandler.getErrorMessageFromData(D, C);
2413
2374
  T.message = N, T.data = C, g.msg = E.errorsHandler.gerErrorByStatusCordovaHttp(D, p);
2414
2375
  } else
@@ -2417,12 +2378,12 @@ c(E, "keyCookie", "AuthCookie"), c(E, "cookieOptions", {}), c(E, "registerReques
2417
2378
  }
2418
2379
  );
2419
2380
  } else
2420
- E.registerRequest.setList({ url: e, options: a }), axios({ url: e, ...a }).then((w) => {
2381
+ E.registerRequest.setList({ url: e, options: a }), axios({ url: e, ...a }).then((b) => {
2421
2382
  E.registerRequest.removeItem(e);
2422
- const d = w.status, g = w == null ? void 0 : w.data;
2423
- o = { ...o, statusCode: d, data: g, res: w }, s(o);
2424
- }).catch((w) => {
2425
- const d = E.errorsHandler.handleError(w), { code: g, config: p, status: D, message: A, response: S, stack: O } = w, x = {
2383
+ const d = b.status, g = b == null ? void 0 : b.data;
2384
+ o = { ...o, statusCode: d, data: g, res: b }, s(o);
2385
+ }).catch((b) => {
2386
+ const d = E.errorsHandler.handleError(b), { code: g, config: p, status: D, message: A, response: S, stack: O } = b, R = {
2426
2387
  code: g,
2427
2388
  config: p,
2428
2389
  status: D || u,
@@ -2432,7 +2393,7 @@ c(E, "keyCookie", "AuthCookie"), c(E, "cookieOptions", {}), c(E, "registerReques
2432
2393
  data: S == null ? void 0 : S.data,
2433
2394
  stack: O
2434
2395
  };
2435
- n({ ...f, ...d, errExt: x });
2396
+ n({ ...f, ...d, errExt: R });
2436
2397
  });
2437
2398
  })), c(E, "getAuthCookies", () => {
2438
2399
  var s;
@@ -2597,7 +2558,7 @@ const y = class y {
2597
2558
  };
2598
2559
  if (y.events.publish("fetch", l), u) {
2599
2560
  apiRequest.requestInServer(s, n).then((f) => {
2600
- const h = {
2561
+ const m = {
2601
2562
  isReq: !1,
2602
2563
  isReload: !0,
2603
2564
  isErr: !1,
@@ -2605,16 +2566,16 @@ const y = class y {
2605
2566
  msg: "",
2606
2567
  ...f
2607
2568
  };
2608
- y.events.publish("fetch", h), o(h);
2569
+ y.events.publish("fetch", m), o(m);
2609
2570
  }).catch((f) => {
2610
- const h = {
2571
+ const m = {
2611
2572
  //TODO: Проверить. dataErr не верно возвращает
2612
2573
  isReq: !1,
2613
2574
  isReload: !1,
2614
2575
  keyAction: e,
2615
2576
  ...f
2616
2577
  };
2617
- y.events.publish("fetch", h), i(h);
2578
+ y.events.publish("fetch", m), i(m);
2618
2579
  });
2619
2580
  return;
2620
2581
  }
@@ -2735,8 +2696,8 @@ class NetworkStatusTracker {
2735
2696
  }, { signal: (a = s.online) == null ? void 0 : a.signal }), window.addEventListener("offline", () => {
2736
2697
  this.updateState(!1, e);
2737
2698
  }, { signal: (u = s.offline) == null ? void 0 : u.signal }), (l = this.getConnection()) != null && l.addEventListener && this.getConnection().addEventListener("change", () => {
2738
- const h = this.getConnection(), b = this.getTypeNetwork(h, null), w = this.getIsNetwork(b);
2739
- this.updateState(w, e);
2699
+ const m = this.getConnection(), w = this.getTypeNetwork(m, null), b = this.getIsNetwork(w);
2700
+ this.updateState(b, e);
2740
2701
  }, { signal: (f = s.change) == null ? void 0 : f.signal });
2741
2702
  }
2742
2703
  stopEvents() {
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "url": "git+https://github.com/SinGlEBW/dev-classes.git"
12
12
  },
13
13
  "license": "MIT",
14
- "version": "1.4.33",
14
+ "version": "1.4.35",
15
15
  "type": "module",
16
16
  "module": "./dist/index.js",
17
17
  "main": "./dist/index.js",