mimir-ui-kit 1.36.12 → 1.36.14

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 (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 +20 -18
  34. package/dist/components/Uploader/Uploader.d.ts +5 -0
  35. package/dist/components/Uploader/Uploader.js +26 -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 S, useMemo as T } from "react";
3
+ import { forwardRef as D, useState as N, useEffect as T, useMemo as V } from "react";
4
4
  import { imageTypes as h } from "./constants.js";
5
5
  import "../Button/Button.js";
6
- import { EButtonVariantDefault as V } from "../Button/constants.js";
7
- import { ListFiles as _ } from "../ListFiles/ListFiles.js";
8
- import { ListPhotos as E } from "../ListPhotos/ListPhotos.js";
9
- import { Uploader as M } from "../Uploader/Uploader.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";
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, K = 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, Q = D(
13
13
  (i, v) => {
14
14
  const {
15
15
  type: s,
@@ -22,14 +22,15 @@ import '../../assets/UploaderPhotos.css';const g = {
22
22
  titleUploader: w,
23
23
  buttonText: z = "Выберите файлы",
24
24
  showOnlyUploadButton: u = !1,
25
- uploadButtonVariant: b = V.SecondaryAsphalt
25
+ uploadButtonVariant: b = _.SecondaryAsphalt,
26
+ buttonSize: I = "m"
26
27
  } = i, [l, n] = N(
27
28
  a || []
28
29
  ), d = l.length >= m;
29
- S(() => {
30
+ T(() => {
30
31
  a && n(a);
31
32
  }, [a]);
32
- const I = (t) => {
33
+ const L = (t) => {
33
34
  const r = t.value.map((e) => f(e.file) ? {
34
35
  id: e.id,
35
36
  url: URL.createObjectURL(e.file),
@@ -46,7 +47,7 @@ import '../../assets/UploaderPhotos.css';const g = {
46
47
  n((e) => [...e, ...r]), o == null || o({ type: "add", data: t.value });
47
48
  }, c = (t) => {
48
49
  n((r) => r.filter((e) => e.id !== t)), o == null || o({ type: "delete", data: t });
49
- }, { photos: L, files: R } = T(() => {
50
+ }, { photos: R, files: S } = V(() => {
50
51
  const t = () => l.filter((e) => !f(e)), r = () => l.filter(f);
51
52
  return s === "all" ? { files: t(), photos: r() } : s === "files" ? { photos: [], files: t() } : s === "photos" ? { files: [], photos: r() } : { files: [], photos: [] };
52
53
  }, [l, s]);
@@ -59,33 +60,34 @@ import '../../assets/UploaderPhotos.css';const g = {
59
60
  ),
60
61
  children: [
61
62
  /* @__PURE__ */ p(
62
- M,
63
+ O,
63
64
  {
64
65
  filesType: x,
65
66
  arrayName: F,
66
67
  maxSize: U,
67
- onChangeValue: I,
68
+ onChangeValue: L,
68
69
  ref: v,
69
70
  maxFiles: m,
70
71
  isDisabled: d,
71
72
  titleUploader: w,
72
73
  showOnlyUploadButton: u,
73
74
  buttonText: z,
74
- uploadButtonVariant: b
75
+ uploadButtonVariant: b,
76
+ buttonSize: I
75
77
  }
76
78
  ),
77
79
  !u && /* @__PURE__ */ y(j, { children: [
78
80
  (s === "files" || s === "all") && /* @__PURE__ */ p(
79
- _,
81
+ E,
80
82
  {
81
- value: R,
83
+ value: S,
82
84
  onChange: (t) => c(t.deleteId)
83
85
  }
84
86
  ),
85
87
  (s === "photos" || s === "all") && /* @__PURE__ */ p(
86
- E,
88
+ M,
87
89
  {
88
- value: L,
90
+ value: R,
89
91
  onChange: (t) => c(t.deleteId)
90
92
  }
91
93
  )
@@ -96,5 +98,5 @@ import '../../assets/UploaderPhotos.css';const g = {
96
98
  }
97
99
  );
98
100
  export {
99
- K as UniversalUploader
101
+ Q as UniversalUploader
100
102
  };
@@ -1,5 +1,6 @@
1
1
  import { default as React } from 'react';
2
2
  import { imageTypesArr } from './constants';
3
+ import { EButtonSize } from '../Button';
3
4
  import { TButtonDefaultFormProps } from '../Button/types';
4
5
 
5
6
  export type TUploader = {
@@ -44,6 +45,10 @@ export type TUploader = {
44
45
  * Вариант кнопки загрузки файла
45
46
  */
46
47
  uploadButtonVariant?: TButtonDefaultFormProps['variant'];
48
+ /**
49
+ * Размер кнопки загрузки файла
50
+ */
51
+ buttonSize?: EButtonSize | `${EButtonSize}`;
47
52
  };
48
53
  export type TUploadValue = {
49
54
  value: TFileItem[];
@@ -1,5 +1,5 @@
1
- import { jsxs as n, jsx as a, Fragment as U } from "react/jsx-runtime";
2
- import { forwardRef as V, useRef as u, useId as z } from "react";
1
+ import { jsxs as a, jsx as n, Fragment as S } from "react/jsx-runtime";
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
5
  import { EButtonVariantDefault as C } from "../Button/constants.js";
@@ -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
- }, S = [
24
+ }, M = [
25
25
  "jpeg",
26
26
  "jpg",
27
27
  "png",
28
28
  "tiff",
29
29
  "gif",
30
30
  "heic"
31
- ], M = () => {
31
+ ], k = () => {
32
32
  let i = 0;
33
33
  return () => (i = (i + 1) % Number.MAX_SAFE_INTEGER, i);
34
- }, k = M(), q = V(
34
+ }, D = k(), H = U(
35
35
  (i, x) => {
36
36
  const {
37
- filesType: o = S,
37
+ filesType: o = M,
38
38
  onChangeValue: h,
39
39
  arrayName: b,
40
40
  maxSize: r = 15,
@@ -43,24 +43,25 @@ import '../../assets/Uploader.css';const p = {
43
43
  titleUploader: c = "Или перетащите сюда",
44
44
  buttonText: y = "Выберите файлы",
45
45
  showOnlyUploadButton: _ = !1,
46
- uploadButtonVariant: j = C.SecondaryAsphalt
47
- } = i, d = u(null), l = u(null), f = z(), v = (e) => {
46
+ uploadButtonVariant: j = C.SecondaryAsphalt,
47
+ buttonSize: v = "m"
48
+ } = i, d = u(null), l = u(null), f = V(), I = (e) => {
48
49
  var t;
49
50
  return e.type ? e.type : ((t = e.name.split(".").pop()) == null ? void 0 : t.toLowerCase()) === "heic" ? "image/heic" : "";
50
- }, I = (e) => {
51
+ }, N = (e) => {
51
52
  if (e.target.files && e.target.files[0]) {
52
53
  const m = Array.from(e.target.files).filter((t) => {
53
- const T = v(t), E = o.map((R) => g[R]).includes(T), F = t.size / 1024 ** 2 <= r;
54
+ const z = I(t), E = o.map((R) => g[R]).includes(z), F = t.size / 1024 ** 2 <= r;
54
55
  return E && F;
55
- }).slice(0, w).map((t) => ({ file: t, id: k() }));
56
+ }).slice(0, w).map((t) => ({ file: t, id: D() }));
56
57
  h({ arrayName: b, value: m }), l.current && (l.current.value = "");
57
58
  }
58
- }, N = () => {
59
+ }, T = () => {
59
60
  var e;
60
61
  (e = d.current) == null || e.click();
61
62
  };
62
- return /* @__PURE__ */ n("div", { className: p["upload-file-wrapper"], ref: x, children: [
63
- /* @__PURE__ */ a(
63
+ return /* @__PURE__ */ a("div", { className: p["upload-file-wrapper"], ref: x, children: [
64
+ /* @__PURE__ */ n(
64
65
  "input",
65
66
  {
66
67
  ref: l,
@@ -69,32 +70,32 @@ import '../../assets/Uploader.css';const p = {
69
70
  "aria-label": "Upload",
70
71
  name: "image[]",
71
72
  multiple: !0,
72
- onChange: I,
73
+ onChange: N,
73
74
  title: "",
74
75
  id: f,
75
76
  accept: o.map((e) => g[e]).join(),
76
77
  disabled: s
77
78
  }
78
79
  ),
79
- /* @__PURE__ */ n("label", { htmlFor: f, ref: d, children: [
80
- /* @__PURE__ */ a(
80
+ /* @__PURE__ */ a("label", { htmlFor: f, ref: d, children: [
81
+ /* @__PURE__ */ n(
81
82
  B,
82
83
  {
83
- size: "m",
84
+ size: v,
84
85
  variant: j,
85
- leftIcon: /* @__PURE__ */ a(A, { iconName: "UnionIcon16px" }),
86
- onClick: N,
86
+ leftIcon: /* @__PURE__ */ n(A, { iconName: "UnionIcon16px" }),
87
+ onClick: T,
87
88
  disabled: s,
88
89
  children: y
89
90
  }
90
91
  ),
91
- !_ && /* @__PURE__ */ n(U, { children: [
92
- c && /* @__PURE__ */ a("b", { children: c }),
93
- /* @__PURE__ */ n("span", { className: p["upload-text"], children: [
92
+ !_ && /* @__PURE__ */ a(S, { children: [
93
+ c && /* @__PURE__ */ n("b", { children: c }),
94
+ /* @__PURE__ */ a("span", { className: p["upload-text"], children: [
94
95
  "Максимальный размер одного файла – ",
95
96
  r,
96
97
  " Мб",
97
- /* @__PURE__ */ a("br", {}),
98
+ /* @__PURE__ */ n("br", {}),
98
99
  "Загрузить можно файлы следующих форматов: ",
99
100
  o.join(", ")
100
101
  ] })
@@ -104,5 +105,5 @@ import '../../assets/Uploader.css';const p = {
104
105
  }
105
106
  );
106
107
  export {
107
- q as Uploader
108
+ H as Uploader
108
109
  };
@@ -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';