mimir-ui-kit 1.36.13 → 1.36.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. package/dist/Input-BYrIS5GU.js +225 -0
  2. package/dist/assets/Input.css +1 -1
  3. package/dist/assets/ListFiles.css +1 -1
  4. package/dist/assets/TextArea.css +1 -1
  5. package/dist/components/DatePicker/DatePicker.js +1 -1
  6. package/dist/components/Input/Input.js +1 -1
  7. package/dist/components/Input/index.js +1 -1
  8. package/dist/components/InputPassword/InputPassword.js +1 -1
  9. package/dist/components/InputPhoneNumber/InputPhoneNumber.js +1 -1
  10. package/dist/components/ListFiles/ListFiles.d.ts +11 -1
  11. package/dist/components/ListFiles/ListFiles.js +59 -40
  12. package/dist/components/ListFiles/constants.d.ts +4 -0
  13. package/dist/components/ListFiles/constants.js +4 -2
  14. package/dist/components/ListFiles/index.d.ts +2 -1
  15. package/dist/components/ListFiles/index.js +4 -2
  16. package/dist/components/ListPhotos/ListPhotos.d.ts +5 -1
  17. package/dist/components/ListPhotos/ListPhotos.js +14 -13
  18. package/dist/components/ListPhotos/index.d.ts +1 -1
  19. package/dist/components/MultiSelectSearch/MultiSelectSearch.js +1 -1
  20. package/dist/components/MultiSelectSearch/utils.js +1 -1
  21. package/dist/components/OtpInput/OtpInput.js +1 -1
  22. package/dist/components/SelectSearch/SelectSearch.js +1 -1
  23. package/dist/components/SelectSearch/utils.js +1 -1
  24. package/dist/components/TextArea/TextArea.d.ts +3 -1
  25. package/dist/components/TextArea/TextArea.js +105 -91
  26. package/dist/components/TextArea/constants.d.ts +5 -0
  27. package/dist/components/TextArea/constants.js +4 -0
  28. package/dist/components/TextArea/hooks.d.ts +3 -1
  29. package/dist/components/TextArea/hooks.js +6 -6
  30. package/dist/components/TextArea/index.d.ts +1 -0
  31. package/dist/components/TextArea/index.js +4 -2
  32. package/dist/components/TextArea/types.d.ts +4 -1
  33. package/dist/components/UniversalUploader/UniversalUploader.js +25 -23
  34. package/dist/components/Uploader/Uploader.d.ts +4 -0
  35. package/dist/components/Uploader/Uploader.js +27 -25
  36. package/dist/components/index.d.ts +5 -1
  37. package/dist/components/index.js +133 -125
  38. package/dist/index.js +159 -151
  39. package/package.json +1 -1
  40. package/dist/Input-CbgqYgLo.js +0 -226
@@ -5,7 +5,7 @@ import { ESelectSearchSize as v } from "./constants.js";
5
5
  import { mapSizeToInputSize as j, getDropdownArrowIcon as J } from "./utils.js";
6
6
  import { Icon as q } from "../../icons/Icon.js";
7
7
  import { Button as Q } from "../Button/Button.js";
8
- import { I as A } from "../../Input-CbgqYgLo.js";
8
+ import { I as A } from "../../Input-BYrIS5GU.js";
9
9
  import { EInputVariant as W } from "../Input/constants.js";
10
10
  import { H as X, U as O, G as B, K as Y, j as Z } from "../../combobox-BpYucpxz.js";
11
11
  import '../../assets/SelectSearch.css';const ee = "_disabled_rphak_5", te = "_container_rphak_9", oe = "_full_rphak_22", ae = "_button_rphak_34", ne = "_options_rphak_48", se = "_top_rphak_59", re = "_bottom_rphak_64", ie = "_m_rphak_91", le = "_l_rphak_106", ce = "_option_rphak_48", pe = "_clear_rphak_160", e = {
@@ -1,5 +1,5 @@
1
1
  import { ESelectSearchSize as r } from "./constants.js";
2
- import "../../Input-CbgqYgLo.js";
2
+ import "../../Input-BYrIS5GU.js";
3
3
  import { EInputSize as t } from "../Input/constants.js";
4
4
  const c = (o) => {
5
5
  switch (o) {
@@ -2,4 +2,6 @@ import { TTextAreaProps } from './types';
2
2
  import { TAdditionalProps } from '../Input';
3
3
 
4
4
  export type TProps = TAdditionalProps & TTextAreaProps;
5
- export declare const TextArea: import('react').MemoExoticComponent<import('react').ForwardRefExoticComponent<TAdditionalProps & TTextAreaProps & import('react').RefAttributes<HTMLTextAreaElement>>>;
5
+ export declare const TextArea: import('react').MemoExoticComponent<import('react').ForwardRefExoticComponent<TAdditionalProps & Omit<import('react').TextareaHTMLAttributes<HTMLTextAreaElement>, "size" | "readOnly"> & {
6
+ inputSize?: `${import('./constants').ETextAreaInputSize}` | import('./constants').ETextAreaInputSize;
7
+ } & import('react').RefAttributes<HTMLTextAreaElement>>>;
@@ -1,37 +1,40 @@
1
- import { jsxs as V, jsx as o } from "react/jsx-runtime";
1
+ import { jsxs as B, jsx as n } from "react/jsx-runtime";
2
2
  import { c as i } from "../../index-DIxK0V-G.js";
3
- import { memo as K, forwardRef as Q, useState as B, useRef as U, useEffect as X } from "react";
4
- import { useAutoResizeTextArea as Y } from "./hooks.js";
5
- import { useMergeRefs as Z } from "../../hooks/useMergeRefs/useMergeRefs.js";
6
- import { Icon as $ } from "../../icons/Icon.js";
7
- import { Button as ee } from "../Button/Button.js";
8
- import { c as e } from "../../Input-CbgqYgLo.js";
9
- import { EInputVariant as ae } from "../Input/constants.js";
10
- import '../../assets/TextArea.css';const te = "_textarea_1b24r_2", se = "_label_1b24r_22", re = "_s_1b24r_53", le = "_m_1b24r_60", oe = "_l_1b24r_22", a = {
11
- "textarea-wrapper": "_textarea-wrapper_1b24r_2",
12
- textarea: te,
13
- "has-label": "_has-label_1b24r_8",
14
- "required-mark": "_required-mark_1b24r_11",
15
- label: se,
16
- "has-left-slot": "_has-left-slot_1b24r_37",
17
- "active-label": "_active-label_1b24r_40",
18
- s: re,
19
- m: le,
20
- l: oe
21
- }, F = (t) => {
22
- var p, n;
3
+ import { memo as Q, forwardRef as U, useState as F, useRef as X, useEffect as Y } from "react";
4
+ import { useAutoResizeTextArea as Z } from "./hooks.js";
5
+ import { useMergeRefs as $ } from "../../hooks/useMergeRefs/useMergeRefs.js";
6
+ import { Icon as ee } from "../../icons/Icon.js";
7
+ import { Button as ae } from "../Button/Button.js";
8
+ import { c as e } from "../../Input-BYrIS5GU.js";
9
+ import { EInputVariant as te } from "../Input/constants.js";
10
+ import '../../assets/TextArea.css';const se = "_textarea_ta2xa_2", re = "_label_ta2xa_22", le = "_s_ta2xa_53", ne = "_m_ta2xa_65", oe = "_l_ta2xa_22", a = {
11
+ "textarea-wrapper": "_textarea-wrapper_ta2xa_2",
12
+ textarea: se,
13
+ "has-label": "_has-label_ta2xa_8",
14
+ "required-mark": "_required-mark_ta2xa_11",
15
+ label: re,
16
+ "has-left-slot": "_has-left-slot_ta2xa_37",
17
+ "active-label": "_active-label_ta2xa_40",
18
+ s: le,
19
+ m: ne,
20
+ l: oe,
21
+ "input-s": "_input-s_ta2xa_89",
22
+ "input-m": "_input-m_ta2xa_97",
23
+ "input-l": "_input-l_ta2xa_105"
24
+ }, j = (t) => {
25
+ var _, o;
23
26
  if (!t)
24
27
  return null;
25
28
  switch (t.addonType) {
26
29
  case "icon": {
27
- const b = (p = t.addonContent) == null ? void 0 : p.includes("16px"), x = (n = t.addonContent) == null ? void 0 : n.includes("24px");
28
- return /* @__PURE__ */ o(
29
- $,
30
+ const f = (_ = t.addonContent) == null ? void 0 : _.includes("16px"), b = (o = t.addonContent) == null ? void 0 : o.includes("24px");
31
+ return /* @__PURE__ */ n(
32
+ ee,
30
33
  {
31
34
  style: {
32
35
  "--icon-size": i({
33
- "16px": b,
34
- "24px": x
36
+ "16px": f,
37
+ "24px": b
35
38
  })
36
39
  },
37
40
  className: e["addon-icon"],
@@ -44,70 +47,80 @@ import '../../assets/TextArea.css';const te = "_textarea_1b24r_2", se = "_label_
44
47
  default:
45
48
  return null;
46
49
  }
47
- }, ne = K(
48
- Q(
49
- (t, p) => {
50
+ }, ce = Q(
51
+ U(
52
+ (t, _) => {
50
53
  const {
51
- value: n,
52
- className: b,
53
- wrapperClassName: x,
54
- variant: R = ae.DefaultGray,
54
+ value: o,
55
+ className: f,
56
+ wrapperClassName: b,
57
+ variant: R = te.DefaultGray,
55
58
  autofocus: N,
56
59
  readonly: s,
57
60
  status: T,
58
- id: z,
61
+ id: I,
59
62
  onFocus: g,
60
63
  onBlur: C,
61
- label: d,
64
+ label: u,
62
65
  onChange: c,
63
- withClearButton: j,
64
- disabled: u,
65
- rightAddon: E,
66
- leftAddon: L,
66
+ withClearButton: E,
67
+ disabled: d,
68
+ rightAddon: L,
69
+ leftAddon: S,
67
70
  size: m = "m",
68
- required: v,
71
+ inputSize: v,
72
+ required: A,
69
73
  ...D
70
- } = t, [f, A] = B(N), [_, w] = B(!!n), r = U(null), G = Z(r, p);
71
- X(() => {
72
- N && A(!0);
74
+ } = t, [p, w] = F(N), [x, y] = F(!!o), r = X(null), G = $(r, _);
75
+ Y(() => {
76
+ N && w(!0);
73
77
  }, [N]);
74
- const I = Y(r.current), M = (l) => {
75
- const q = l.currentTarget.value;
76
- C == null || C(l), A(!1), w(!!q);
78
+ const V = Z(
79
+ r.current,
80
+ v
81
+ ), M = (l) => {
82
+ const z = l.currentTarget.value;
83
+ C == null || C(l), w(!1), y(!!z);
77
84
  }, O = (l) => {
78
- s || (A(!0), g == null || g(l));
85
+ s || (w(!0), g == null || g(l));
79
86
  }, P = () => {
80
- r != null && r.current && (r.current.value = "", r.current.focus(), w(!1), I(), c == null || c({
87
+ r != null && r.current && (r.current.value = "", r.current.focus(), y(!1), V(), c == null || c({
81
88
  target: { value: "" }
82
89
  }));
83
- }, S = (l) => {
84
- const q = l.target.value;
85
- w(!!q), I(), c == null || c(l);
86
- }, h = F(L), y = F(E), W = {
87
- [e.readonly]: u || s,
88
- [e.focused]: f,
89
- [e.disabled]: u || s,
90
+ }, W = (l) => {
91
+ const z = l.target.value;
92
+ y(!!z), V(), c == null || c(l);
93
+ }, h = j(S), k = j(L), H = {
94
+ [e.readonly]: d || s,
95
+ [e.focused]: p,
96
+ [e.disabled]: d || s,
90
97
  [e["has-left-slot"]]: !!h,
91
- [e["has-right-slot"]]: !!y,
92
- [a["has-label"]]: !!d
93
- }, k = f || _ || !!n, H = i(
98
+ [e["has-right-slot"]]: !!k,
99
+ [a["has-label"]]: !!u
100
+ }, q = p || x || !!o, J = i(
94
101
  e.label,
95
102
  a.label,
96
103
  {
97
- [a["active-label"]]: k,
98
- [e.disabled]: u || s,
104
+ [a["active-label"]]: q,
105
+ [e.disabled]: d || s,
99
106
  [a["has-left-slot"]]: !!h
100
107
  },
101
- b,
108
+ f,
102
109
  e[m]
103
- ), J = i(
110
+ ), K = i(
104
111
  a.textarea,
105
112
  e.input,
106
- W,
107
- b,
108
- [e[R], a[m], e[m], e[T ?? ""]]
113
+ H,
114
+ f,
115
+ [
116
+ e[R],
117
+ a[m],
118
+ e[m],
119
+ a[v ?? ""],
120
+ e[T ?? ""]
121
+ ]
109
122
  );
110
- return /* @__PURE__ */ V(
123
+ return /* @__PURE__ */ B(
111
124
  "div",
112
125
  {
113
126
  className: i(
@@ -117,16 +130,17 @@ import '../../assets/TextArea.css';const te = "_textarea_1b24r_2", se = "_label_
117
130
  e[T ?? ""],
118
131
  a[m],
119
132
  e[m],
133
+ a[v ?? ""],
120
134
  {
121
- [e.disabled]: u || s,
122
- [e.focused]: f
135
+ [e.disabled]: d || s,
136
+ [e.focused]: p
123
137
  },
124
- x
138
+ b
125
139
  ),
126
140
  children: [
127
- d && /* @__PURE__ */ V("label", { htmlFor: z, className: H, children: [
128
- d,
129
- v && (_ || f) && /* @__PURE__ */ o(
141
+ u && /* @__PURE__ */ B("label", { htmlFor: I, className: J, children: [
142
+ u,
143
+ A && (x || p) && /* @__PURE__ */ n(
130
144
  "span",
131
145
  {
132
146
  className: a["required-mark"],
@@ -134,52 +148,52 @@ import '../../assets/TextArea.css';const te = "_textarea_1b24r_2", se = "_label_
134
148
  }
135
149
  )
136
150
  ] }),
137
- h && /* @__PURE__ */ o(
151
+ h && /* @__PURE__ */ n(
138
152
  "span",
139
153
  {
140
154
  className: i(e["left-slot"], {
141
- [e.focused]: k,
142
- [e["has-label"]]: !!d
155
+ [e.focused]: q,
156
+ [e["has-label"]]: !!u
143
157
  }),
144
158
  "data-testid": "left-addon",
145
159
  children: h
146
160
  }
147
161
  ),
148
- /* @__PURE__ */ o(
162
+ /* @__PURE__ */ n(
149
163
  "textarea",
150
164
  {
151
165
  ref: G,
152
- id: z,
153
- className: J,
166
+ id: I,
167
+ className: K,
154
168
  onFocus: O,
155
169
  onBlur: M,
156
170
  readOnly: s,
157
- value: n,
158
- onChange: S,
159
- required: v,
171
+ value: o,
172
+ onChange: W,
173
+ required: A,
160
174
  ...D
161
175
  }
162
176
  ),
163
- y && /* @__PURE__ */ o(
177
+ k && /* @__PURE__ */ n(
164
178
  "span",
165
179
  {
166
180
  className: i(e["right-slot"], {
167
- [e.focused]: k,
168
- [e["has-label"]]: !!d
181
+ [e.focused]: q,
182
+ [e["has-label"]]: !!u
169
183
  }),
170
184
  "data-testid": "right-addon",
171
- children: y
185
+ children: k
172
186
  }
173
187
  ),
174
- v && !_ && !f && /* @__PURE__ */ o(
188
+ A && !x && !p && /* @__PURE__ */ n(
175
189
  "span",
176
190
  {
177
191
  className: a["required-mark"],
178
192
  "data-testid": "required-mark"
179
193
  }
180
194
  ),
181
- j && _ && /* @__PURE__ */ o(
182
- ee,
195
+ E && x && /* @__PURE__ */ n(
196
+ ae,
183
197
  {
184
198
  tabIndex: -1,
185
199
  className: e.clear,
@@ -187,7 +201,7 @@ import '../../assets/TextArea.css';const te = "_textarea_1b24r_2", se = "_label_
187
201
  iconName: "Close16px",
188
202
  size: "m-s",
189
203
  clear: !0,
190
- disabled: u || s,
204
+ disabled: d || s,
191
205
  variant: "secondary-gray",
192
206
  onClick: P
193
207
  }
@@ -198,7 +212,7 @@ import '../../assets/TextArea.css';const te = "_textarea_1b24r_2", se = "_label_
198
212
  }
199
213
  )
200
214
  );
201
- ne.displayName = "TextArea";
215
+ ce.displayName = "TextArea";
202
216
  export {
203
- ne as TextArea
217
+ ce as TextArea
204
218
  };
@@ -0,0 +1,5 @@
1
+ export declare enum ETextAreaInputSize {
2
+ InputS = "input-s",
3
+ InputM = "input-m",
4
+ InputL = "input-l"
5
+ }
@@ -0,0 +1,4 @@
1
+ var p = /* @__PURE__ */ ((n) => (n.InputS = "input-s", n.InputM = "input-m", n.InputL = "input-l", n))(p || {});
2
+ export {
3
+ p as ETextAreaInputSize
4
+ };
@@ -1 +1,3 @@
1
- export declare const useAutoResizeTextArea: (textArea: HTMLTextAreaElement | null) => () => void;
1
+ import { ETextAreaInputSize } from './constants';
2
+
3
+ export declare const useAutoResizeTextArea: (textArea: HTMLTextAreaElement | null, inputSize?: ETextAreaInputSize | `${ETextAreaInputSize}`) => () => void;
@@ -1,15 +1,15 @@
1
1
  import { useCallback as e } from "react";
2
- const s = (h) => e(() => {
2
+ const i = (h, l) => e(() => {
3
3
  if (h) {
4
- if (!h.value.length) {
4
+ if (!h.value.length && !l) {
5
5
  h.style.height = "auto";
6
6
  return;
7
7
  }
8
8
  h.style.height = "var(--textarea-height)";
9
- const l = h.scrollHeight;
10
- h.style.height = `${l}px`;
9
+ const s = h.scrollHeight;
10
+ h.style.height = `${s}px`;
11
11
  }
12
- }, [h]);
12
+ }, [l, h]);
13
13
  export {
14
- s as useAutoResizeTextArea
14
+ i as useAutoResizeTextArea
15
15
  };
@@ -1 +1,2 @@
1
1
  export { TextArea, type TProps as TTextAreaProps } from './TextArea';
2
+ export { ETextAreaInputSize } from './constants';
@@ -1,4 +1,6 @@
1
- import { TextArea as o } from "./TextArea.js";
1
+ import { TextArea as t } from "./TextArea.js";
2
+ import { ETextAreaInputSize as x } from "./constants.js";
2
3
  export {
3
- o as TextArea
4
+ x as ETextAreaInputSize,
5
+ t as TextArea
4
6
  };
@@ -1,3 +1,6 @@
1
1
  import { TextareaHTMLAttributes } from 'react';
2
+ import { ETextAreaInputSize } from './constants';
2
3
 
3
- export type TTextAreaProps = Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'readOnly' | 'size'>;
4
+ export type TTextAreaProps = Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'readOnly' | 'size'> & {
5
+ inputSize?: `${ETextAreaInputSize}` | ETextAreaInputSize;
6
+ };
@@ -1,15 +1,15 @@
1
1
  import { jsxs as y, jsx as p, Fragment as j } from "react/jsx-runtime";
2
2
  import { c as B } from "../../index-DIxK0V-G.js";
3
- import { forwardRef as D, useState as N, useEffect as T, useMemo as V } from "react";
3
+ import { forwardRef as D, useState as T, useEffect as V, useMemo as _ } from "react";
4
4
  import { imageTypes as h } from "./constants.js";
5
5
  import "../Button/Button.js";
6
- import { EButtonVariantDefault as _ } from "../Button/constants.js";
7
- import { ListFiles as E } from "../ListFiles/ListFiles.js";
8
- import { ListPhotos as M } from "../ListPhotos/ListPhotos.js";
9
- import { Uploader as O } from "../Uploader/Uploader.js";
6
+ import { EButtonVariantDefault as E } from "../Button/constants.js";
7
+ import { ListFiles as M } from "../ListFiles/ListFiles.js";
8
+ import { ListPhotos as O } from "../ListPhotos/ListPhotos.js";
9
+ import { Uploader as P } from "../Uploader/Uploader.js";
10
10
  import '../../assets/UploaderPhotos.css';const g = {
11
11
  "upload-file-wrapper": "_upload-file-wrapper_1a115_2"
12
- }, f = (i) => "file" in i && i.file instanceof File ? h.includes(i.file.type) : "type" in i && typeof i.type == "string" ? h.includes(i.type) : !1, Q = D(
12
+ }, f = (i) => "file" in i && i.file instanceof File ? h.includes(i.file.type) : "type" in i && typeof i.type == "string" ? h.includes(i.type) : !1, W = D(
13
13
  (i, v) => {
14
14
  const {
15
15
  type: s,
@@ -19,18 +19,19 @@ import '../../assets/UploaderPhotos.css';const g = {
19
19
  onChange: o,
20
20
  value: a,
21
21
  maxFiles: m,
22
- titleUploader: w,
23
- buttonText: z = "Выберите файлы",
22
+ titleUploader: b,
23
+ buttonText: w = "Выберите файлы",
24
24
  showOnlyUploadButton: u = !1,
25
- uploadButtonVariant: b = _.SecondaryAsphalt,
26
- buttonSize: I = "m"
27
- } = i, [l, n] = N(
25
+ uploadButtonVariant: z = E.SecondaryAsphalt,
26
+ buttonSize: I = "m",
27
+ buttonClassName: L
28
+ } = i, [l, n] = T(
28
29
  a || []
29
30
  ), d = l.length >= m;
30
- T(() => {
31
+ V(() => {
31
32
  a && n(a);
32
33
  }, [a]);
33
- const L = (t) => {
34
+ const N = (t) => {
34
35
  const r = t.value.map((e) => f(e.file) ? {
35
36
  id: e.id,
36
37
  url: URL.createObjectURL(e.file),
@@ -47,7 +48,7 @@ import '../../assets/UploaderPhotos.css';const g = {
47
48
  n((e) => [...e, ...r]), o == null || o({ type: "add", data: t.value });
48
49
  }, c = (t) => {
49
50
  n((r) => r.filter((e) => e.id !== t)), o == null || o({ type: "delete", data: t });
50
- }, { photos: R, files: S } = V(() => {
51
+ }, { photos: R, files: S } = _(() => {
51
52
  const t = () => l.filter((e) => !f(e)), r = () => l.filter(f);
52
53
  return s === "all" ? { files: t(), photos: r() } : s === "files" ? { photos: [], files: t() } : s === "photos" ? { files: [], photos: r() } : { files: [], photos: [] };
53
54
  }, [l, s]);
@@ -60,32 +61,33 @@ import '../../assets/UploaderPhotos.css';const g = {
60
61
  ),
61
62
  children: [
62
63
  /* @__PURE__ */ p(
63
- O,
64
+ P,
64
65
  {
65
66
  filesType: x,
66
67
  arrayName: F,
67
68
  maxSize: U,
68
- onChangeValue: L,
69
+ onChangeValue: N,
69
70
  ref: v,
70
71
  maxFiles: m,
71
72
  isDisabled: d,
72
- titleUploader: w,
73
+ titleUploader: b,
73
74
  showOnlyUploadButton: u,
74
- buttonText: z,
75
- uploadButtonVariant: b,
76
- buttonSize: I
75
+ buttonText: w,
76
+ uploadButtonVariant: z,
77
+ buttonSize: I,
78
+ buttonClassName: L
77
79
  }
78
80
  ),
79
81
  !u && /* @__PURE__ */ y(j, { children: [
80
82
  (s === "files" || s === "all") && /* @__PURE__ */ p(
81
- E,
83
+ M,
82
84
  {
83
85
  value: S,
84
86
  onChange: (t) => c(t.deleteId)
85
87
  }
86
88
  ),
87
89
  (s === "photos" || s === "all") && /* @__PURE__ */ p(
88
- M,
90
+ O,
89
91
  {
90
92
  value: R,
91
93
  onChange: (t) => c(t.deleteId)
@@ -98,5 +100,5 @@ import '../../assets/UploaderPhotos.css';const g = {
98
100
  }
99
101
  );
100
102
  export {
101
- Q as UniversalUploader
103
+ W as UniversalUploader
102
104
  };
@@ -49,6 +49,10 @@ export type TUploader = {
49
49
  * Размер кнопки загрузки файла
50
50
  */
51
51
  buttonSize?: EButtonSize | `${EButtonSize}`;
52
+ /**
53
+ * Класс для кнопки
54
+ */
55
+ buttonClassName?: string;
52
56
  };
53
57
  export type TUploadValue = {
54
58
  value: TFileItem[];
@@ -1,8 +1,8 @@
1
- import { jsxs as a, jsx as n, Fragment as S } from "react/jsx-runtime";
1
+ import { jsxs as n, jsx as a, Fragment as S } from "react/jsx-runtime";
2
2
  import { forwardRef as U, useRef as u, useId as V } from "react";
3
3
  import { Icon as A } from "../../icons/Icon.js";
4
4
  import { Button as B } from "../Button/Button.js";
5
- import { EButtonVariantDefault as C } from "../Button/constants.js";
5
+ import { EButtonVariantDefault as M } from "../Button/constants.js";
6
6
  import '../../assets/Uploader.css';const p = {
7
7
  "upload-file-wrapper": "_upload-file-wrapper_bplvw_2",
8
8
  "upload-text": "_upload-text_bplvw_25",
@@ -21,20 +21,20 @@ import '../../assets/Uploader.css';const p = {
21
21
  xls: "application/excel",
22
22
  txt: "text/plain",
23
23
  xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
24
- }, M = [
24
+ }, k = [
25
25
  "jpeg",
26
26
  "jpg",
27
27
  "png",
28
28
  "tiff",
29
29
  "gif",
30
30
  "heic"
31
- ], k = () => {
31
+ ], D = () => {
32
32
  let i = 0;
33
33
  return () => (i = (i + 1) % Number.MAX_SAFE_INTEGER, i);
34
- }, D = k(), H = U(
34
+ }, G = D(), J = U(
35
35
  (i, x) => {
36
36
  const {
37
- filesType: o = M,
37
+ filesType: o = k,
38
38
  onChangeValue: h,
39
39
  arrayName: b,
40
40
  maxSize: r = 15,
@@ -43,25 +43,26 @@ import '../../assets/Uploader.css';const p = {
43
43
  titleUploader: c = "Или перетащите сюда",
44
44
  buttonText: y = "Выберите файлы",
45
45
  showOnlyUploadButton: _ = !1,
46
- uploadButtonVariant: j = C.SecondaryAsphalt,
47
- buttonSize: v = "m"
48
- } = i, d = u(null), l = u(null), f = V(), I = (e) => {
46
+ uploadButtonVariant: j = M.SecondaryAsphalt,
47
+ buttonSize: v = "m",
48
+ buttonClassName: I
49
+ } = i, d = u(null), l = u(null), f = V(), N = (e) => {
49
50
  var t;
50
51
  return e.type ? e.type : ((t = e.name.split(".").pop()) == null ? void 0 : t.toLowerCase()) === "heic" ? "image/heic" : "";
51
- }, N = (e) => {
52
+ }, T = (e) => {
52
53
  if (e.target.files && e.target.files[0]) {
53
54
  const m = Array.from(e.target.files).filter((t) => {
54
- const z = I(t), E = o.map((R) => g[R]).includes(z), F = t.size / 1024 ** 2 <= r;
55
+ const C = N(t), E = o.map((R) => g[R]).includes(C), F = t.size / 1024 ** 2 <= r;
55
56
  return E && F;
56
- }).slice(0, w).map((t) => ({ file: t, id: D() }));
57
+ }).slice(0, w).map((t) => ({ file: t, id: G() }));
57
58
  h({ arrayName: b, value: m }), l.current && (l.current.value = "");
58
59
  }
59
- }, T = () => {
60
+ }, z = () => {
60
61
  var e;
61
62
  (e = d.current) == null || e.click();
62
63
  };
63
- return /* @__PURE__ */ a("div", { className: p["upload-file-wrapper"], ref: x, children: [
64
- /* @__PURE__ */ n(
64
+ return /* @__PURE__ */ n("div", { className: p["upload-file-wrapper"], ref: x, children: [
65
+ /* @__PURE__ */ a(
65
66
  "input",
66
67
  {
67
68
  ref: l,
@@ -70,32 +71,33 @@ import '../../assets/Uploader.css';const p = {
70
71
  "aria-label": "Upload",
71
72
  name: "image[]",
72
73
  multiple: !0,
73
- onChange: N,
74
+ onChange: T,
74
75
  title: "",
75
76
  id: f,
76
77
  accept: o.map((e) => g[e]).join(),
77
78
  disabled: s
78
79
  }
79
80
  ),
80
- /* @__PURE__ */ a("label", { htmlFor: f, ref: d, children: [
81
- /* @__PURE__ */ n(
81
+ /* @__PURE__ */ n("label", { htmlFor: f, ref: d, children: [
82
+ /* @__PURE__ */ a(
82
83
  B,
83
84
  {
84
85
  size: v,
85
86
  variant: j,
86
- leftIcon: /* @__PURE__ */ n(A, { iconName: "UnionIcon16px" }),
87
- onClick: T,
87
+ leftIcon: /* @__PURE__ */ a(A, { iconName: "UnionIcon16px" }),
88
+ onClick: z,
88
89
  disabled: s,
90
+ className: I,
89
91
  children: y
90
92
  }
91
93
  ),
92
- !_ && /* @__PURE__ */ a(S, { children: [
93
- c && /* @__PURE__ */ n("b", { children: c }),
94
- /* @__PURE__ */ a("span", { className: p["upload-text"], children: [
94
+ !_ && /* @__PURE__ */ n(S, { children: [
95
+ c && /* @__PURE__ */ a("b", { children: c }),
96
+ /* @__PURE__ */ n("span", { className: p["upload-text"], children: [
95
97
  "Максимальный размер одного файла – ",
96
98
  r,
97
99
  " Мб",
98
- /* @__PURE__ */ n("br", {}),
100
+ /* @__PURE__ */ a("br", {}),
99
101
  "Загрузить можно файлы следующих форматов: ",
100
102
  o.join(", ")
101
103
  ] })
@@ -105,5 +107,5 @@ import '../../assets/Uploader.css';const p = {
105
107
  }
106
108
  );
107
109
  export {
108
- H as Uploader
110
+ J as Uploader
109
111
  };
@@ -1,7 +1,7 @@
1
1
  export { Button, EButtonForm, EButtonSize, EButtonVariantDefault, EButtonVariantRound, EButtonVariantOutline, EButtonVariantBorderless, type TButtonProps } from './Button';
2
2
  export { Input, EInputSize, EInputVariant, EInputStatus } from './Input';
3
3
  export type { TInputProps, TSize, TVariant, TStatus } from './Input';
4
- export { TextArea } from './TextArea';
4
+ export { TextArea, ETextAreaInputSize } from './TextArea';
5
5
  export type { TTextAreaProps } from './TextArea';
6
6
  export { InputPassword } from './InputPassword';
7
7
  export type { TInputPasswordProps } from './InputPassword';
@@ -61,3 +61,7 @@ export type { TAvatarProps, TAvatarSize } from './Avatar';
61
61
  export { MultiSelectSearch } from './MultiSelectSearch';
62
62
  export type { TMultiSelectSearchProps, TMultiSelectOption } from './MultiSelectSearch';
63
63
  export { EMultiSelectSearchSize } from './MultiSelectSearch';
64
+ export { ListFiles, EFileItemVariant } from './ListFiles';
65
+ export type { TListFiles, TFilesDetail, TFileValue } from './ListFiles';
66
+ export { ListPhotos } from './ListPhotos';
67
+ export type { TListPhotos, TPhotosDetail, TPhotoValue, TPhotoItem } from './ListPhotos';