mimir-ui-kit 1.38.17 → 1.38.19

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,4 +22,5 @@ export declare const MultiSelectSearch: import('react').ForwardRefExoticComponen
22
22
  autocomplete?: "on" | "off";
23
23
  id?: string;
24
24
  autoPlacement?: boolean;
25
+ onIsOpen?: (value: boolean) => void;
25
26
  } & import('react').RefAttributes<HTMLElement>>;
@@ -1,280 +1,281 @@
1
- import { jsxs as M, jsx as n, Fragment as $ } from "react/jsx-runtime";
2
- import { c as l } from "../../index-DIxK0V-G.js";
3
- import { forwardRef as Ie, useId as ge, useRef as Q, useState as b, useEffect as L, useMemo as Ne, useCallback as Se } from "react";
4
- import { EMultiSelectSearchSize as x } from "./constants.js";
5
- import { getInitialInputValue as X, shouldShowMenuOnTop as Ce, MULTISELECT_OPEN_EVENT as Y, mapSizeToInputSize as Z, getDropdownArrowIcon as Me, dispatchMultiselectOpen as E, joinSelectedItems as ee } from "./utils.js";
6
- import { Icon as Ee } from "../../icons/Icon.js";
7
- import { Button as Le } from "../Button/Button.js";
8
- import { CheckboxMimir as Te } from "../CheckboxMimir/CheckboxMimir.js";
9
- import { Chip as ke } from "../Chip/Chip.js";
10
- import { I as te } from "../../Input-BYrIS5GU.js";
11
- import { EInputVariant as ye } from "../Input/constants.js";
12
- import { H as Oe, U as oe, G as ne, K as ze, W as Ae } from "../../combobox-CVtJDVoZ.js";
13
- import '../../assets/MultiSelectSearch.css';const Ve = "_disabled_io0c8_5", xe = "_container_io0c8_9", De = "_full_io0c8_27", Pe = "_button_io0c8_39", qe = "_options_io0c8_53", Re = "_visible_io0c8_66", Be = "_top_io0c8_69", Fe = "_bottom_io0c8_74", je = "_m_io0c8_2", Ge = "_l_io0c8_116", Ue = "_focused_io0c8_134", We = "_option_io0c8_53", He = "_chip_io0c8_163", Je = "_clear_io0c8_188", t = {
1
+ import { jsxs as E, jsx as n, Fragment as Q } from "react/jsx-runtime";
2
+ import { c as r } from "../../index-DIxK0V-G.js";
3
+ import { forwardRef as Ne, useId as Se, useRef as X, useState as w, useEffect as T, useMemo as Ce, useCallback as Ie } from "react";
4
+ import { EMultiSelectSearchSize as P } from "./constants.js";
5
+ import { getInitialInputValue as Y, shouldShowMenuOnTop as Me, MULTISELECT_OPEN_EVENT as Z, mapSizeToInputSize as ee, getDropdownArrowIcon as Ee, dispatchMultiselectOpen as L, joinSelectedItems as te } from "./utils.js";
6
+ import { Icon as Le } from "../../icons/Icon.js";
7
+ import { Button as Te } from "../Button/Button.js";
8
+ import { CheckboxMimir as ke } from "../CheckboxMimir/CheckboxMimir.js";
9
+ import { Chip as ye } from "../Chip/Chip.js";
10
+ import { I as oe } from "../../Input-BYrIS5GU.js";
11
+ import { EInputVariant as ze } from "../Input/constants.js";
12
+ import { H as Ae, U as ie, G as ne, K as Ve, W as xe } from "../../combobox-CVtJDVoZ.js";
13
+ import '../../assets/MultiSelectSearch.css';const De = "_disabled_io0c8_5", Pe = "_container_io0c8_9", qe = "_full_io0c8_27", Re = "_button_io0c8_39", Be = "_options_io0c8_53", Fe = "_visible_io0c8_66", je = "_top_io0c8_69", Ge = "_bottom_io0c8_74", Ue = "_m_io0c8_2", We = "_l_io0c8_116", He = "_focused_io0c8_134", Je = "_option_io0c8_53", Ke = "_chip_io0c8_163", $e = "_clear_io0c8_188", t = {
14
14
  "multi-select-search": "_multi-select-search_io0c8_2",
15
- disabled: Ve,
16
- container: xe,
15
+ disabled: De,
16
+ container: Pe,
17
17
  "container-open": "_container-open_io0c8_18",
18
18
  "input-container": "_input-container_io0c8_22",
19
- full: De,
19
+ full: qe,
20
20
  "selected-icon": "_selected-icon_io0c8_31",
21
21
  "selector-icon-open": "_selector-icon-open_io0c8_35",
22
- button: Pe,
22
+ button: Re,
23
23
  "selector-icon": "_selector-icon_io0c8_35",
24
- options: qe,
25
- visible: Re,
26
- top: Be,
27
- bottom: Fe,
24
+ options: Be,
25
+ visible: Fe,
26
+ top: je,
27
+ bottom: Ge,
28
28
  "no-options": "_no-options_io0c8_95",
29
- m: je,
30
- l: Ge,
29
+ m: Ue,
30
+ l: We,
31
31
  "multi-select-input-disabled": "_multi-select-input-disabled_io0c8_131",
32
32
  "multi-select-input": "_multi-select-input_io0c8_131",
33
- focused: Ue,
34
- option: We,
33
+ focused: He,
34
+ option: Je,
35
35
  "option-active": "_option-active_io0c8_153",
36
36
  "option-inner": "_option-inner_io0c8_156",
37
- chip: He,
37
+ chip: Ke,
38
38
  "chip-container": "_chip-container_io0c8_168",
39
39
  "chip-root": "_chip-root_io0c8_174",
40
40
  "right-slot": "_right-slot_io0c8_178",
41
41
  "required-mark": "_required-mark_io0c8_183",
42
- clear: Je,
42
+ clear: $e,
43
43
  "icon-button": "_icon-button_io0c8_197"
44
- }, ct = Ie(
45
- (ie, se) => {
44
+ }, lt = Ne(
45
+ (se, ce) => {
46
46
  const {
47
- placeholder: D,
48
- size: i = x.L,
49
- value: d,
50
- onChange: s,
51
- full: ce,
52
- showArrow: le = !0,
53
- items: h = [],
54
- classNameOption: re,
55
- displayValue: f = "name",
56
- filterOnSearch: P = !0,
57
- onSearch: T,
58
- variant: q = ye.DefaultGray,
59
- menuPlacement: w = "bottom",
60
- disabled: r = !1,
61
- searchProps: R,
62
- withClearButton: k = !1,
63
- withChip: ae = !1,
64
- chipVariant: ue = "sapphire",
65
- disableInput: I = !1,
66
- autocomplete: B = "on",
67
- id: de,
68
- autoPlacement: y = !1
69
- } = ie, pe = ge(), p = de || `multiselect-${pe}`, g = Q(null), v = Q(null), [m, _] = b(!1), [N, S] = b(
70
- () => X(d, f)
71
- ), [c, C] = b(
72
- d || []
73
- ), [O, F] = b(w), [z, j] = b(!1), [me, G] = b(!1);
74
- L(() => {
75
- d && (C(d), JSON.stringify(d) !== JSON.stringify(c) && S(X(d, f)));
76
- }, [d, f, c]);
77
- const U = Ne(() => {
47
+ placeholder: q,
48
+ size: s = P.L,
49
+ value: m,
50
+ onChange: c,
51
+ full: le,
52
+ showArrow: re = !0,
53
+ items: f = [],
54
+ classNameOption: ae,
55
+ displayValue: v = "name",
56
+ filterOnSearch: R = !0,
57
+ onSearch: k,
58
+ variant: B = ze.DefaultGray,
59
+ menuPlacement: g = "bottom",
60
+ disabled: a = !1,
61
+ searchProps: F,
62
+ withClearButton: y = !1,
63
+ withChip: ue = !1,
64
+ chipVariant: de = "sapphire",
65
+ disableInput: N = !1,
66
+ autocomplete: j = "on",
67
+ id: me,
68
+ autoPlacement: z = !1,
69
+ onIsOpen: i
70
+ } = se, pe = Se(), p = me || `multiselect-${pe}`, S = X(null), b = X(null), [_, h] = w(!1), [C, I] = w(
71
+ () => Y(m, v)
72
+ ), [l, M] = w(
73
+ m || []
74
+ ), [A, G] = w(g), [V, U] = w(!1), [_e, W] = w(!1);
75
+ T(() => {
76
+ m && (M(m), JSON.stringify(m) !== JSON.stringify(l) && I(Y(m, v)));
77
+ }, [m, v, l]);
78
+ const H = Ce(() => {
78
79
  var o;
79
- if (!P) return h;
80
- const e = ((o = N.split(",").pop()) == null ? void 0 : o.trim().toLowerCase()) ?? "";
81
- return c.length > 0 && c[c.length - 1].name.toLowerCase() === e ? h : h.filter(
82
- (a) => a.name.toLowerCase().includes(e)
80
+ if (!R) return f;
81
+ const e = ((o = C.split(",").pop()) == null ? void 0 : o.trim().toLowerCase()) ?? "";
82
+ return l.length > 0 && l[l.length - 1].name.toLowerCase() === e ? f : f.filter(
83
+ (u) => u.name.toLowerCase().includes(e)
83
84
  );
84
- }, [P, h, N, c]), _e = (e) => {
85
- C(e), s == null || s(e);
86
- const o = ee(e, f);
87
- S(o), _(!0), E(p), setTimeout(() => {
88
- if (v.current) {
89
- v.current.focus(), v.current.scrollLeft = v.current.scrollWidth;
90
- const a = o.length;
91
- v.current.setSelectionRange(a, a);
85
+ }, [R, f, C, l]), he = (e) => {
86
+ M(e), c == null || c(e);
87
+ const o = te(e, v);
88
+ I(o), h(!0), i == null || i(!0), L(p), setTimeout(() => {
89
+ if (b.current) {
90
+ b.current.focus(), b.current.scrollLeft = b.current.scrollWidth;
91
+ const u = o.length;
92
+ b.current.setSelectionRange(u, u);
92
93
  }
93
94
  }, 0);
94
- }, W = (e) => {
95
- var K;
96
- if (I) return;
95
+ }, J = (e) => {
96
+ var O;
97
+ if (N) return;
97
98
  const o = e.target.value;
98
- S(o), T == null || T(o);
99
- const a = o.split(",").map((V) => V.trim()).filter(Boolean), J = h.filter(
100
- (V) => a.includes(V[f])
99
+ I(o), k == null || k(o);
100
+ const u = o.split(",").map((D) => D.trim()).filter(Boolean), $ = f.filter(
101
+ (D) => u.includes(D[v])
101
102
  );
102
- C(J), s == null || s(J), _(!0), E(p);
103
- const A = (K = g.current) == null ? void 0 : K.querySelector(
103
+ M($), c == null || c($), h(!0), i == null || i(!0), L(p);
104
+ const x = (O = S.current) == null ? void 0 : O.querySelector(
104
105
  `.${t.options}`
105
106
  );
106
- A && typeof A.scrollTo == "function" && A.scrollTo({ top: 0, behavior: "smooth" });
107
- }, he = (e) => {
108
- const o = c.filter(
109
- (a) => a.id !== e.id
107
+ x && typeof x.scrollTo == "function" && x.scrollTo({ top: 0, behavior: "smooth" });
108
+ }, fe = (e) => {
109
+ const o = l.filter(
110
+ (u) => u.id !== e.id
110
111
  );
111
- C(o), s == null || s(o), S(ee(o, f));
112
- }, u = Se(() => {
113
- if (!y) {
114
- F(w);
112
+ M(o), c == null || c(o), I(te(o, v));
113
+ }, d = Ie(() => {
114
+ if (!z) {
115
+ G(g);
115
116
  return;
116
117
  }
117
- const e = Ce(g, i);
118
- F(e ? "top" : w);
119
- }, [y, w, i]), H = () => {
120
- const e = !m;
121
- e && (u(), E(p)), _(e);
122
- }, fe = (e) => {
118
+ const e = Me(S, s);
119
+ G(e ? "top" : g);
120
+ }, [z, g, s]), K = () => {
121
+ const e = !_;
122
+ e && (d(), L(p)), h(e), i == null || i(e);
123
+ }, ve = (e) => {
123
124
  e.preventDefault(), e.currentTarget.focus();
124
125
  const o = e.currentTarget.value.length;
125
126
  e.currentTarget.setSelectionRange(o, o);
126
- }, ve = () => {
127
- S(""), C([]), s == null || s([]);
128
- }, be = (e) => {
129
- e.stopPropagation(), ve();
127
+ }, be = () => {
128
+ I(""), M([]), c == null || c([]);
130
129
  }, we = (e) => {
131
- if (I) {
130
+ e.stopPropagation(), be();
131
+ }, ge = (e) => {
132
+ if (N) {
132
133
  e.target.blur();
133
134
  return;
134
135
  }
135
- u(), _(!0), E(p);
136
+ d(), h(!0), i == null || i(!0), L(p);
136
137
  };
137
- return L(() => {
138
+ return T(() => {
138
139
  const e = (o) => {
139
- g.current && !g.current.contains(o.target) && !o.defaultPrevented && _(!1);
140
+ S.current && !S.current.contains(o.target) && !o.defaultPrevented && (h(!1), i == null || i(!1));
140
141
  };
141
142
  return document.addEventListener("mousedown", e), () => {
142
143
  document.removeEventListener("mousedown", e);
143
144
  };
144
- }, []), L(() => {
145
+ }, []), T(() => {
145
146
  const e = (o) => {
146
- o.detail !== p && _(!1);
147
+ o.detail !== p && (h(!1), i == null || i(!1));
147
148
  };
148
149
  return window.addEventListener(
149
- Y,
150
+ Z,
150
151
  e
151
152
  ), () => {
152
153
  window.removeEventListener(
153
- Y,
154
+ Z,
154
155
  e
155
156
  );
156
157
  };
157
- }, [p]), L(() => {
158
- if (m) {
159
- u(), window.addEventListener("scroll", u), window.addEventListener("resize", u);
158
+ }, [p]), T(() => {
159
+ if (_) {
160
+ d(), window.addEventListener("scroll", d), window.addEventListener("resize", d);
160
161
  const e = requestAnimationFrame(() => {
161
- G(!0), j(!0);
162
+ W(!0), U(!0);
162
163
  });
163
164
  return () => {
164
- window.removeEventListener("scroll", u), window.removeEventListener("resize", u), cancelAnimationFrame(e);
165
+ window.removeEventListener("scroll", d), window.removeEventListener("resize", d), cancelAnimationFrame(e);
165
166
  };
166
167
  } else
167
- j(!1), G(!1);
168
- }, [m, w, y, i, u]), /* @__PURE__ */ M("div", { ref: g, children: [
168
+ U(!1), W(!1);
169
+ }, [_, g, z, s, d]), /* @__PURE__ */ E("div", { ref: S, children: [
169
170
  /* @__PURE__ */ n(
170
- Oe,
171
+ Ae,
171
172
  {
172
173
  multiple: !0,
173
174
  as: "div",
174
- value: c,
175
- className: l(t["multi-select-search"], {
176
- [t.full]: ce,
177
- [t.disabled]: r
175
+ value: l,
176
+ className: r(t["multi-select-search"], {
177
+ [t.full]: le,
178
+ [t.disabled]: a
178
179
  }),
179
- onChange: _e,
180
- ref: se,
181
- disabled: r,
182
- virtual: { options: U },
183
- children: /* @__PURE__ */ M(
180
+ onChange: he,
181
+ ref: ce,
182
+ disabled: a,
183
+ virtual: { options: H },
184
+ children: /* @__PURE__ */ E(
184
185
  "div",
185
186
  {
186
- className: l(t.container, t[i], {
187
- [t["container-open"]]: m
187
+ className: r(t.container, t[s], {
188
+ [t["container-open"]]: _
188
189
  }),
189
190
  children: [
190
- I && /* @__PURE__ */ M("div", { className: t["input-container"], children: [
191
+ N && /* @__PURE__ */ E("div", { className: t["input-container"], children: [
191
192
  /* @__PURE__ */ n(
192
- oe,
193
+ ie,
193
194
  {
194
- disabled: r,
195
+ disabled: a,
195
196
  style: { width: "100%" },
196
- onClick: H,
197
+ onClick: K,
197
198
  children: /* @__PURE__ */ n(
198
199
  ne,
199
200
  {
200
- as: te,
201
- label: D,
202
- size: Z(i),
203
- className: l(t["multi-select-input"], {
204
- [t["multi-select-input-disabled"]]: I && k
201
+ as: oe,
202
+ label: q,
203
+ size: ee(s),
204
+ className: r(t["multi-select-input"], {
205
+ [t["multi-select-input-disabled"]]: N && y
205
206
  }),
206
- onChange: W,
207
- value: N,
208
- disabled: r,
209
- variant: q,
207
+ onChange: J,
208
+ value: C,
209
+ disabled: a,
210
+ variant: B,
210
211
  rightSlotClassName: t["right-slot"],
211
212
  requiredMarkClassName: t["required-mark"],
212
213
  "data-testid": "select-search-input",
213
- onFocus: we,
214
+ onFocus: ge,
214
215
  rightAddon: {
215
216
  addonType: "icon",
216
- addonContent: Me(m, i)
217
+ addonContent: Ee(_, s)
217
218
  },
218
- autocomplete: B,
219
- ...R
219
+ autocomplete: j,
220
+ ...F
220
221
  }
221
222
  )
222
223
  }
223
224
  ),
224
- k && N && /* @__PURE__ */ n(
225
- Le,
225
+ y && C && /* @__PURE__ */ n(
226
+ Te,
226
227
  {
227
228
  tabIndex: -1,
228
- className: l(t.clear, {
229
- [t.disabled]: r
229
+ className: r(t.clear, {
230
+ [t.disabled]: a
230
231
  }),
231
232
  iconButtonClassName: t["icon-button"],
232
233
  isIconButton: !0,
233
234
  iconName: "Close16px",
234
235
  size: "m-s",
235
236
  clear: !0,
236
- disabled: r,
237
+ disabled: a,
237
238
  variant: "secondary-gray",
238
- onClick: be,
239
+ onClick: we,
239
240
  "data-testid": "clear-button"
240
241
  }
241
242
  )
242
243
  ] }),
243
- !I && /* @__PURE__ */ n(
244
+ !N && /* @__PURE__ */ n(
244
245
  ne,
245
246
  {
246
- as: te,
247
- label: D,
248
- size: Z(i),
247
+ as: oe,
248
+ label: q,
249
+ size: ee(s),
249
250
  className: t["multi-select-input"],
250
251
  rightSlotClassName: t["right-slot"],
251
252
  requiredMarkClassName: t["required-mark"],
252
- value: N,
253
- disabled: r,
254
- variant: q,
255
- withClearButton: k,
253
+ value: C,
254
+ disabled: a,
255
+ variant: B,
256
+ withClearButton: y,
256
257
  onFocus: () => {
257
- _(!0), E(p);
258
+ h(!0), i == null || i(!0), L(p);
258
259
  },
259
- onMouseDown: fe,
260
- onChange: W,
261
- ref: v,
260
+ onMouseDown: ve,
261
+ onChange: J,
262
+ ref: b,
262
263
  rightAddon: {
263
264
  addonType: "react-node",
264
- addonContent: le && /* @__PURE__ */ n(
265
- oe,
265
+ addonContent: re && /* @__PURE__ */ n(
266
+ ie,
266
267
  {
267
- className: l(t.button, {
268
- [t.disabled]: r
268
+ className: r(t.button, {
269
+ [t.disabled]: a
269
270
  }),
270
- disabled: r,
271
- onMouseDown: H,
271
+ disabled: a,
272
+ onMouseDown: K,
272
273
  children: /* @__PURE__ */ n(
273
- Ee,
274
+ Le,
274
275
  {
275
- iconName: i == x.M ? "DropdownArrowBottom16px" : "DropdownArrowDown24px",
276
- className: l(t["selector-icon"], {
277
- [t["selector-icon-open"]]: m
276
+ iconName: s == P.M ? "DropdownArrowBottom16px" : "DropdownArrowDown24px",
277
+ className: r(t["selector-icon"], {
278
+ [t["selector-icon-open"]]: _
278
279
  })
279
280
  }
280
281
  )
@@ -282,43 +283,43 @@ import '../../assets/MultiSelectSearch.css';const Ve = "_disabled_io0c8_5", xe =
282
283
  )
283
284
  },
284
285
  "data-testid": "select-search-input",
285
- autocomplete: B,
286
- ...R
286
+ autocomplete: j,
287
+ ...F
287
288
  }
288
289
  ),
289
- m && me && /* @__PURE__ */ n($, { children: h.length ? U.length ? /* @__PURE__ */ n(
290
- ze,
290
+ _ && _e && /* @__PURE__ */ n(Q, { children: f.length ? H.length ? /* @__PURE__ */ n(
291
+ Ve,
291
292
  {
292
- className: l(
293
+ className: r(
293
294
  t.options,
294
- t[i],
295
- t[O],
296
- { [t.visible]: z }
295
+ t[s],
296
+ t[A],
297
+ { [t.visible]: V }
297
298
  ),
298
299
  modal: !1,
299
300
  static: !0,
300
301
  children: ({ option: e }) => /* @__PURE__ */ n(
301
- Ae,
302
+ xe,
302
303
  {
303
304
  value: e,
304
- className: ({ focus: o }) => l(
305
+ className: ({ focus: o }) => r(
305
306
  t.option,
306
- re,
307
- i && t[i],
307
+ ae,
308
+ s && t[s],
308
309
  {
309
310
  [t["option-active"]]: o
310
311
  }
311
312
  ),
312
- children: /* @__PURE__ */ M($, { children: [
313
- /* @__PURE__ */ M("div", { className: t["option-inner"], children: [
313
+ children: /* @__PURE__ */ E(Q, { children: [
314
+ /* @__PURE__ */ E("div", { className: t["option-inner"], children: [
314
315
  e.name,
315
316
  e.bottom && /* @__PURE__ */ n("div", { children: e.bottom })
316
317
  ] }),
317
318
  /* @__PURE__ */ n(
318
- Te,
319
+ ke,
319
320
  {
320
321
  isInteractive: !1,
321
- checked: c.some(
322
+ checked: l.some(
322
323
  (o) => o.id === e.id
323
324
  )
324
325
  }
@@ -331,24 +332,24 @@ import '../../assets/MultiSelectSearch.css';const Ve = "_disabled_io0c8_5", xe =
331
332
  ) : /* @__PURE__ */ n(
332
333
  "div",
333
334
  {
334
- className: l(
335
+ className: r(
335
336
  t.options,
336
- t[i],
337
+ t[s],
337
338
  t["no-options"],
338
- t[O],
339
- { [t.visible]: z }
339
+ t[A],
340
+ { [t.visible]: V }
340
341
  ),
341
342
  children: "Ничего не найдено"
342
343
  }
343
344
  ) : /* @__PURE__ */ n(
344
345
  "div",
345
346
  {
346
- className: l(
347
+ className: r(
347
348
  t.options,
348
- t[i],
349
+ t[s],
349
350
  t["no-options"],
350
- t[O],
351
- { [t.visible]: z }
351
+ t[A],
352
+ { [t.visible]: V }
352
353
  ),
353
354
  children: "Нет данных"
354
355
  }
@@ -358,14 +359,14 @@ import '../../assets/MultiSelectSearch.css';const Ve = "_disabled_io0c8_5", xe =
358
359
  )
359
360
  }
360
361
  ),
361
- ae && c.length > 0 && /* @__PURE__ */ n("div", { className: t["chip-container"], children: c.map((e) => /* @__PURE__ */ n(
362
- ke,
362
+ ue && l.length > 0 && /* @__PURE__ */ n("div", { className: t["chip-container"], children: l.map((e) => /* @__PURE__ */ n(
363
+ ye,
363
364
  {
364
- size: i === x.L ? "s" : "xs",
365
- variant: ue,
365
+ size: s === P.L ? "s" : "xs",
366
+ variant: de,
366
367
  className: t["chip-root"],
367
368
  withAction: !0,
368
- onClose: () => he(e),
369
+ onClose: () => fe(e),
369
370
  children: /* @__PURE__ */ n("span", { className: t.chip, children: e.name })
370
371
  },
371
372
  e.id
@@ -374,5 +375,5 @@ import '../../assets/MultiSelectSearch.css';const Ve = "_disabled_io0c8_5", xe =
374
375
  }
375
376
  );
376
377
  export {
377
- ct as MultiSelectSearch
378
+ lt as MultiSelectSearch
378
379
  };
@@ -67,4 +67,6 @@ export type TMultiSelectSearchProps = Pick<TInputProps, 'withClearButton' | 'var
67
67
  * Автоматическое определение положения выпадающего меню
68
68
  */
69
69
  autoPlacement?: boolean;
70
+ /** Функция обратного вызова, срабатывающая при открытии и закрытии выпадающего списка */
71
+ onIsOpen?: (value: boolean) => void;
70
72
  };
@@ -1,4 +1,4 @@
1
- import { jsx as a, jsxs as m, Fragment as D } from "react/jsx-runtime";
1
+ import { jsx as s, jsxs as h, Fragment as D } from "react/jsx-runtime";
2
2
  import { c as l } from "../../index-DIxK0V-G.js";
3
3
  import { forwardRef as U, useState as q, useMemo as W, useCallback as R, useEffect as $ } from "react";
4
4
  import { ESelectSearchSize as g } from "./constants.js";
@@ -37,46 +37,46 @@ import '../../assets/SelectSearch.css';const te = "_disabled_1bph7_6", oe = "_co
37
37
  (E, L) => {
38
38
  const {
39
39
  placeholder: w,
40
- size: i = g.L,
41
- value: n,
42
- onChange: s,
40
+ size: a = g.L,
41
+ value: i,
42
+ onChange: n,
43
43
  full: V,
44
44
  showArrow: C = !0,
45
- items: p = [],
45
+ items: u = [],
46
46
  classNameOption: F,
47
47
  displayValue: G = "name",
48
48
  filterOnSearch: I = !0,
49
- onSearch: _,
49
+ onSearch: b,
50
50
  variant: S = X.DefaultGray,
51
- menuPlacement: b = "bottom",
51
+ menuPlacement: f = "bottom",
52
52
  disabled: r = !1,
53
53
  searchProps: y,
54
- withClearButton: f = !1,
54
+ withClearButton: N = !1,
55
55
  disableInput: c = !1,
56
56
  autocomplete: k = "on",
57
57
  immediate: P = !1
58
- } = E, N = String((n == null ? void 0 : n[G]) || ""), [d, u] = q(N), [v, h] = q(n), x = W(() => !I || n && (n.id || n.name) ? p : d.trim().toLowerCase() ? p.filter(
58
+ } = E, v = String((i == null ? void 0 : i[G]) || ""), [d, m] = q(v), [p, _] = q(i), x = W(() => I && d.trim().toLowerCase() ? u.filter(
59
59
  (t) => t.name.toLowerCase().includes(d.toLowerCase())
60
- ) : p, [d, p, n, I]), T = (t) => {
61
- t ? (u(t.name), h(t), s == null || s(t)) : (u(""), h(null), s == null || s({ id: "", name: "" }));
60
+ ) : u, [d, u, I]), T = (t) => {
61
+ t ? (m(t.name), _(t), n == null || n(t)) : (m(""), _(null), n == null || n({ id: "", name: "" }));
62
62
  }, z = R(
63
63
  (t) => {
64
64
  if (c) return;
65
65
  const o = t.target.value;
66
- u(o), _ == null || _(o), !o && n && (s == null || s({ id: "", name: "" }));
66
+ m(o), b == null || b(o), p && o !== p.name && _(null), !o && i && (n == null || n({ id: "", name: "" }));
67
67
  },
68
- [c, s, _, n]
68
+ [c, n, b, i, p]
69
69
  ), H = () => {
70
- u(""), h(null), s == null || s({ id: "", name: "" });
70
+ m(""), _(null), n == null || n({ id: "", name: "" });
71
71
  };
72
72
  return $(() => {
73
- const t = !n || typeof n == "object" && !Object.keys(n).length;
74
- u(t ? "" : N), h(t ? null : n);
75
- }, [n, N]), /* @__PURE__ */ a(
73
+ const t = !i || typeof i == "object" && !Object.keys(i).length;
74
+ m(t ? "" : v), _(t ? null : i);
75
+ }, [i, v]), /* @__PURE__ */ s(
76
76
  Y,
77
77
  {
78
78
  as: "div",
79
- value: v,
79
+ value: p,
80
80
  className: l(e["select-search"], {
81
81
  [e.full]: V,
82
82
  [e.disabled]: r
@@ -86,23 +86,23 @@ import '../../assets/SelectSearch.css';const te = "_disabled_1bph7_6", oe = "_co
86
86
  disabled: r,
87
87
  virtual: { options: x },
88
88
  immediate: P,
89
- children: ({ open: t }) => /* @__PURE__ */ m(D, { children: [
90
- /* @__PURE__ */ m(
89
+ children: ({ open: t }) => /* @__PURE__ */ h(D, { children: [
90
+ /* @__PURE__ */ h(
91
91
  "div",
92
92
  {
93
- className: l(e.container, e[i], {
93
+ className: l(e.container, e[a], {
94
94
  [e["container-open"]]: t
95
95
  }),
96
96
  children: [
97
- c && /* @__PURE__ */ m("div", { style: { position: "relative", width: "100%" }, children: [
98
- /* @__PURE__ */ a(M, { disabled: r, style: { width: "100%" }, children: /* @__PURE__ */ a(
97
+ c && /* @__PURE__ */ h("div", { style: { position: "relative", width: "100%" }, children: [
98
+ /* @__PURE__ */ s(M, { disabled: r, style: { width: "100%" }, children: /* @__PURE__ */ s(
99
99
  j,
100
100
  {
101
101
  as: B,
102
102
  label: w,
103
- size: A(i),
103
+ size: A(a),
104
104
  className: l(e["select-input"], {
105
- [e["select-input-disabled"]]: c && f
105
+ [e["select-input-disabled"]]: c && N
106
106
  }),
107
107
  onChange: z,
108
108
  value: d,
@@ -116,13 +116,13 @@ import '../../assets/SelectSearch.css';const te = "_disabled_1bph7_6", oe = "_co
116
116
  },
117
117
  rightAddon: {
118
118
  addonType: "icon",
119
- addonContent: J(t, i)
119
+ addonContent: J(t, a)
120
120
  },
121
121
  autocomplete: k,
122
122
  ...y
123
123
  }
124
124
  ) }),
125
- f && d && /* @__PURE__ */ a(
125
+ N && d && /* @__PURE__ */ s(
126
126
  Q,
127
127
  {
128
128
  tabIndex: -1,
@@ -143,34 +143,34 @@ import '../../assets/SelectSearch.css';const te = "_disabled_1bph7_6", oe = "_co
143
143
  }
144
144
  )
145
145
  ] }),
146
- !c && /* @__PURE__ */ a(
146
+ !c && /* @__PURE__ */ s(
147
147
  j,
148
148
  {
149
149
  as: B,
150
150
  label: w,
151
- size: A(i),
151
+ size: A(a),
152
152
  className: e["select-input"],
153
153
  onChange: z,
154
154
  value: d,
155
155
  disabled: r,
156
156
  variant: S,
157
- withClearButton: f,
157
+ withClearButton: N,
158
158
  rightSlotClassName: e["right-slot"],
159
159
  requiredMarkClassName: e["required-mark"],
160
160
  "data-testid": "select-search-input",
161
161
  rightAddon: C ? {
162
162
  addonType: "react-node",
163
- addonContent: C && /* @__PURE__ */ a(
163
+ addonContent: C && /* @__PURE__ */ s(
164
164
  M,
165
165
  {
166
166
  className: l(e.button, {
167
167
  [e.disabled]: r
168
168
  }),
169
169
  disabled: r,
170
- children: /* @__PURE__ */ a(
170
+ children: /* @__PURE__ */ s(
171
171
  O,
172
172
  {
173
- iconName: i == g.M ? "DropdownArrowBottom16px" : "DropdownArrowDown24px",
173
+ iconName: a == g.M ? "DropdownArrowBottom16px" : "DropdownArrowDown24px",
174
174
  className: l(e["selector-icon"], {
175
175
  [e["selector-icon-open"]]: t
176
176
  })
@@ -189,37 +189,37 @@ import '../../assets/SelectSearch.css';const te = "_disabled_1bph7_6", oe = "_co
189
189
  ]
190
190
  }
191
191
  ),
192
- t && /* @__PURE__ */ a(D, { children: p.length ? x.length ? /* @__PURE__ */ a(
192
+ t && /* @__PURE__ */ s(D, { children: u.length ? x.length ? /* @__PURE__ */ s(
193
193
  Z,
194
194
  {
195
195
  "data-testid": "select-search-options",
196
196
  className: l(
197
197
  e.options,
198
- e[i],
199
- e[b]
198
+ e[a],
199
+ e[f]
200
200
  ),
201
- children: ({ option: o }) => /* @__PURE__ */ m(
201
+ children: ({ option: o }) => /* @__PURE__ */ h(
202
202
  ee,
203
203
  {
204
204
  value: o,
205
205
  className: ({ focus: K }) => l(
206
206
  e.option,
207
207
  F,
208
- i && e[i],
208
+ a && e[a],
209
209
  {
210
210
  [e["option-active"]]: K
211
211
  }
212
212
  ),
213
213
  "data-testid": `select-search-option-${o.id}`,
214
214
  children: [
215
- /* @__PURE__ */ m("div", { className: e["option-inner"], children: [
215
+ /* @__PURE__ */ h("div", { className: e["option-inner"], children: [
216
216
  o.name,
217
- o.bottom && /* @__PURE__ */ a("div", { children: o.bottom })
217
+ o.bottom && /* @__PURE__ */ s("div", { children: o.bottom })
218
218
  ] }),
219
- v && v.id === o.id && /* @__PURE__ */ a(
219
+ p && p.id === o.id && /* @__PURE__ */ s(
220
220
  O,
221
221
  {
222
- iconName: i === g.M ? "Done16px" : "Done24px",
222
+ iconName: a === g.M ? "Done16px" : "Done24px",
223
223
  className: e["selected-icon"]
224
224
  }
225
225
  )
@@ -228,26 +228,26 @@ import '../../assets/SelectSearch.css';const te = "_disabled_1bph7_6", oe = "_co
228
228
  o.id
229
229
  )
230
230
  }
231
- ) : /* @__PURE__ */ a(
231
+ ) : /* @__PURE__ */ s(
232
232
  "div",
233
233
  {
234
234
  className: l(
235
235
  e.options,
236
- e[i],
236
+ e[a],
237
237
  e["no-options"],
238
- e[b]
238
+ e[f]
239
239
  ),
240
240
  "data-headlessui-state": t ? "open" : "closed",
241
241
  children: "Ничего не найдено"
242
242
  }
243
- ) : /* @__PURE__ */ a(
243
+ ) : /* @__PURE__ */ s(
244
244
  "div",
245
245
  {
246
246
  className: l(
247
247
  e.options,
248
- e[i],
248
+ e[a],
249
249
  e["no-options"],
250
- e[b]
250
+ e[f]
251
251
  ),
252
252
  "data-headlessui-state": t ? "open" : "closed",
253
253
  children: "Нет данных"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mimir-ui-kit",
3
3
  "private": false,
4
- "version": "1.38.17",
4
+ "version": "1.38.19",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {