mimir-ui-kit 1.36.10 → 1.36.12

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- ._input_yyf2c_2{padding-right:var(--mimir-space-3xl)}._input-wrapper_yyf2c_6{flex:1}._date-wrapper_yyf2c_10{position:relative;width:100%}._date-wrapper_yyf2c_10 ._inputBorderControl_yyf2c_14{border:transparent}._date-wrapper_yyf2c_10:hover ._input-wrapper_yyf2c_6{background-color:var(--input-bg-color-hover)}._date-wrapper_yyf2c_10:before{position:absolute;top:0;right:45px;bottom:0;left:0;z-index:3;cursor:pointer;content:""}._date-wrapper_yyf2c_10._editable_yyf2c_27:before{display:none}._date-wrapper_yyf2c_10 svg{cursor:pointer}[data-disabled=true] ._date-wrapper_yyf2c_10:before{cursor:auto}[data-disabled=true] ._date-wrapper_yyf2c_10 ._input-wrapper_yyf2c_6{background:var(--black-20)}[data-disabled=true] ._date-wrapper_yyf2c_10 ._input-wrapper_yyf2c_6 label,[data-disabled=true] ._date-wrapper_yyf2c_10 ._input-wrapper_yyf2c_6 input{color:var(--white)}[data-disabled=true] ._button-wrapper_yyf2c_44 svg{color:var(--white);cursor:default;fill:var(--white)}._wrapper_yyf2c_50{position:relative;display:flex;align-items:center;border-radius:var(--mimir-control-radius-s)}._wrapper_yyf2c_50._active_yyf2c_56{border-bottom:1px solid var(--citrine-100)}._button-wrapper_yyf2c_44{position:absolute;top:0;right:0;z-index:2;display:flex;justify-content:center;width:44px;height:100%;max-height:var(--button-height-xxl)}._button_yyf2c_44{align-self:center;background-color:transparent;border-radius:var(--mimir-control-radius-s)}._calendar-block_yyf2c_78{position:absolute;z-index:var(--mimir-zindex-dropdown);display:flex;flex-direction:column;width:368px;max-height:none;padding:var(--mimir-space-m);font-weight:var(--mimir-font-weight-text-regular);font-size:var(--mimir-size-text-l);font-family:var(--mimir-font-inter);line-height:var(--mimir-line-height-text-2xs);text-align:center;text-overflow:ellipsis;background:var(--white);border-radius:var(--mimir-control-radius-s);box-shadow:0 0 #16172705,0 2px 4px #16172705,0 6px 6px #16172705,0 15px 9px #16172703;opacity:0;transition:height .5s ease-in;font-feature-settings:"zero";font-variant-numeric:slashed-zero}._calendar-block_yyf2c_78 ._h_yyf2c_100{display:flex;width:100%;color:var(--black-100)}._calendar-block_yyf2c_78 ._b_yyf2c_44{display:grid;grid-template-columns:repeat(7,1fr)}._calendar-block_yyf2c_78 ._d_yyf2c_10{display:flex;flex:1;gap:var(--mimir-space-2xs);align-items:center;justify-content:center;color:var(--black-100);font-size:var(--mimir-size-text-l);cursor:pointer}._calendar-block_yyf2c_78 ._m_yyf2c_122,._calendar-block_yyf2c_78 ._a_yyf2c_56,._calendar-block_yyf2c_78 ._prev_yyf2c_124{width:auto;height:48px;overflow:hidden}._calendar-block_yyf2c_78 ._m_yyf2c_122{display:flex;align-items:center;justify-content:center;color:var(--disabled);font-size:var(--mimir-size-text-l)}._calendar-block_yyf2c_78 ._orange_yyf2c_138{color:var(--citrine-100)}._calendar-block_yyf2c_78 ._a_yyf2c_56{color:var(--black-100);font-size:var(--mimir-size-text-l);border-radius:var(--mimir-control-radius-s)}._calendar-block_yyf2c_78 ._a_yyf2c_56:hover{background:var(--black-10)}._calendar-block_yyf2c_78 ._a_yyf2c_56:active{color:var(--white);background:var(--sapphire-100)}._calendar-block_yyf2c_78 ._current_yyf2c_155{background:var(--sapphire-10);border-radius:var(--mimir-control-radius-s)}._calendar-block_yyf2c_78 ._monthGrid_yyf2c_160{display:grid;grid-template-columns:repeat(3,1fr)}
1
+ ._input_hmkm7_2{padding-right:var(--mimir-space-3xl)}._input-wrapper_hmkm7_6{flex:1}._date-wrapper_hmkm7_10{position:relative;width:100%}._date-wrapper_hmkm7_10 ._inputBorderControl_hmkm7_14{border:transparent}._date-wrapper_hmkm7_10:hover ._input-wrapper_hmkm7_6{background-color:var(--input-bg-color-hover)}._date-wrapper_hmkm7_10:before{position:absolute;top:0;right:45px;bottom:0;left:0;z-index:3;cursor:pointer;content:""}._date-wrapper_hmkm7_10._editable_hmkm7_27:before{display:none}._date-wrapper_hmkm7_10 svg{cursor:pointer}[data-disabled=true] ._date-wrapper_hmkm7_10:before{cursor:auto}[data-disabled=true] ._date-wrapper_hmkm7_10 ._input-wrapper_hmkm7_6{background:var(--black-20)}[data-disabled=true] ._date-wrapper_hmkm7_10 ._input-wrapper_hmkm7_6 label,[data-disabled=true] ._date-wrapper_hmkm7_10 ._input-wrapper_hmkm7_6 input{color:var(--white)}[data-disabled=true] ._button-wrapper_hmkm7_44 svg{color:var(--white);cursor:default;fill:var(--white)}._wrapper_hmkm7_50{position:relative;display:flex;align-items:center;border-radius:var(--mimir-control-radius-s)}._wrapper_hmkm7_50._active_hmkm7_56{border-bottom:1px solid var(--citrine-100)}._button-wrapper_hmkm7_44{position:absolute;top:0;right:0;z-index:2;display:flex;justify-content:center;width:44px;height:100%;max-height:var(--button-height-xxl)}._button_hmkm7_44{align-self:center;background-color:transparent;border-radius:var(--mimir-control-radius-s)}._calendar-block_hmkm7_78{position:absolute;z-index:var(--mimir-zindex-dropdown);display:flex;flex-direction:column;width:368px;max-height:none;padding:var(--mimir-space-m);font-weight:var(--mimir-font-weight-text-regular);font-size:var(--mimir-size-text-l);font-family:var(--mimir-font-inter);line-height:var(--mimir-line-height-text-2xs);text-align:center;text-overflow:ellipsis;background:var(--white);border-radius:var(--mimir-control-radius-s);box-shadow:0 0 #16172705,0 2px 4px #16172705,0 6px 6px #16172705,0 15px 9px #16172703;opacity:0;transition:height .5s ease-in;font-feature-settings:"zero";font-variant-numeric:slashed-zero}._calendar-block_hmkm7_78 ._h_hmkm7_100{display:flex;width:100%;color:var(--black-100)}._calendar-block_hmkm7_78 ._b_hmkm7_44{display:grid;grid-template-columns:repeat(7,1fr)}._calendar-block_hmkm7_78 ._d_hmkm7_10{display:flex;flex:1;gap:var(--mimir-space-2xs);align-items:center;justify-content:center;color:var(--black-100);font-size:var(--mimir-size-text-l);cursor:pointer}._calendar-block_hmkm7_78 ._m_hmkm7_122,._calendar-block_hmkm7_78 ._a_hmkm7_56,._calendar-block_hmkm7_78 ._prev_hmkm7_124{width:auto;height:48px;overflow:hidden}._calendar-block_hmkm7_78 ._m_hmkm7_122{display:flex;align-items:center;justify-content:center;color:var(--disabled);font-size:var(--mimir-size-text-l)}._calendar-block_hmkm7_78 ._orange_hmkm7_138{color:var(--citrine-100)}._calendar-block_hmkm7_78 ._a_hmkm7_56{color:var(--black-100);font-size:var(--mimir-size-text-l);border-radius:var(--mimir-control-radius-s)}._calendar-block_hmkm7_78 ._a_hmkm7_56:hover{background:var(--black-10)}._calendar-block_hmkm7_78 ._a_hmkm7_56:active{color:var(--white);background:var(--sapphire-100)}._calendar-block_hmkm7_78 ._current_hmkm7_155{background:var(--sapphire-10);border-radius:var(--mimir-control-radius-s)}._calendar-block_hmkm7_78 ._monthGrid_hmkm7_160{display:grid;grid-template-columns:repeat(3,1fr)}._icon-button_hmkm7_165{display:flex}
@@ -41,6 +41,10 @@ export type TProps = {
41
41
  * Флаг разрешения ручного ввода даты
42
42
  */
43
43
  editable?: boolean;
44
+ /**
45
+ * Флаг открытия модального окна календаря при вводе
46
+ */
47
+ openOnInput?: boolean;
44
48
  } & TInputProps;
45
49
  export type TDatePickerValue = {
46
50
  value?: string;
@@ -91,4 +95,8 @@ export declare const DatePicker: import('react').MemoExoticComponent<import('rea
91
95
  * Флаг разрешения ручного ввода даты
92
96
  */
93
97
  editable?: boolean;
98
+ /**
99
+ * Флаг открытия модального окна календаря при вводе
100
+ */
101
+ openOnInput?: boolean;
94
102
  } & import('../Input/types').TInputProps & import('../Input').TAdditionalProps & import('react').RefAttributes<HTMLInputElement>>>;
@@ -1,132 +1,149 @@
1
- import { jsxs as Q, jsx as g } from "react/jsx-runtime";
1
+ import { jsxs as B, jsx as r } from "react/jsx-runtime";
2
2
  import { c as v } from "../../index-DIxK0V-G.js";
3
- import { memo as W, forwardRef as Z, useState as y, useEffect as w } from "react";
4
- import { MAX_DAY as E, MAX_MONTH as B, DATE_LENGTH as V } from "./constants.js";
5
- import { DatePickerModal as tt } from "./DatePickerModal.js";
6
- import { MonthPickerModal as st } from "./MonthPickerModal.js";
7
- import { c as a } from "../../styles.module-Chnn6DA-.js";
8
- import { formatDatePart as Y } from "./utils.js";
9
- import { YearPickerModal as et } from "./YearPickerModal.js";
10
- import { useClickOutside as it } from "../../hooks/useClickOutside/useClickOutside.js";
11
- import { formating as d } from "../../utils/index.js";
12
- import { I as at } from "../../Input-CbgqYgLo.js";
13
- import { EInputStatus as rt } from "../Input/constants.js";
14
- const mt = {
15
- days: tt,
16
- months: st,
17
- years: et
18
- }, ot = W(
19
- Z(
3
+ import { memo as V, forwardRef as tt, useState as y, useEffect as I } from "react";
4
+ import { MAX_DAY as st, MAX_MONTH as et, DATE_LENGTH as ot } from "./constants.js";
5
+ import { DatePickerModal as it } from "./DatePickerModal.js";
6
+ import { MonthPickerModal as at } from "./MonthPickerModal.js";
7
+ import { c as o } from "../../styles.module-B3xL6-zc.js";
8
+ import { formatDatePart as $ } from "./utils.js";
9
+ import { YearPickerModal as rt } from "./YearPickerModal.js";
10
+ import { useClickOutside as ct } from "../../hooks/useClickOutside/useClickOutside.js";
11
+ import { Icon as H } from "../../icons/Icon.js";
12
+ import { formating as f } from "../../utils/index.js";
13
+ import { I as mt } from "../../Input-CbgqYgLo.js";
14
+ import { EInputStatus as pt, EInputSize as L } from "../Input/constants.js";
15
+ const dt = {
16
+ days: it,
17
+ months: at,
18
+ years: rt
19
+ }, nt = V(
20
+ tt(
20
21
  ({
21
- size: $,
22
+ size: T,
22
23
  value: s,
23
24
  onChangeValue: e,
24
- name: r,
25
- before: N,
25
+ name: c,
26
+ before: P,
26
27
  type: m = "days",
27
- error: T,
28
- onError: o,
29
- onBlur: c,
30
- validateImmediately: x,
31
- variant: H,
32
- disabled: S = !1,
33
- editable: _ = !1,
34
- ...L
35
- }, R) => {
36
- const [n, f] = y(!1), [A, p] = y(m), [i, D] = y(
28
+ error: M,
29
+ onError: p,
30
+ onBlur: d,
31
+ validateImmediately: _,
32
+ variant: R,
33
+ disabled: u = !1,
34
+ editable: l = !1,
35
+ openOnInput: b = !0,
36
+ ...U
37
+ }, X) => {
38
+ const [w, a] = y(!1), [g, n] = y(m), [i, D] = y(
37
39
  () => s && !isNaN(new Date(s).getTime()) ? new Date(s) : void 0
38
- ), [k, M] = y(T), [X, P] = y("");
39
- w(() => {
40
- M(T);
41
- }, [T]), w(() => {
40
+ ), [x, S] = y(M), [F, h] = y("");
41
+ I(() => {
42
+ S(M);
43
+ }, [M]), I(() => {
42
44
  D(
43
45
  s && !isNaN(new Date(s).getTime()) ? new Date(s) : void 0
44
46
  );
45
- }, [s]), w(() => {
46
- i && typeof i != "string" && !isNaN(i == null ? void 0 : i.getTime()) ? P(d.Date(i, "dd/mm/yyyy")) : P("");
47
+ }, [s]), I(() => {
48
+ i && typeof i != "string" && !isNaN(i == null ? void 0 : i.getTime()) ? h(f.Date(i, "dd/mm/yyyy")) : h("");
47
49
  }, [i]);
48
- const b = s && new Date(s).getTime;
49
- w(() => {
50
- x && (b ? (M(!1), o == null || o({ name: r, active: !1 })) : (M(!0), o == null || o({ name: r, active: !0 })));
51
- }, [x, r, b]), it({
52
- isActive: n,
50
+ const j = s && new Date(s).getTime;
51
+ I(() => {
52
+ _ && (j ? (S(!1), p == null || p({ name: c, active: !1 })) : (S(!0), p == null || p({ name: c, active: !0 })));
53
+ }, [_, c, j]), ct({
54
+ isActive: w,
53
55
  setActive: (t) => {
54
- f(t), p(m);
56
+ a(t), n(m);
55
57
  },
56
- className: a["calendar-block"]
58
+ className: o["calendar-block"]
57
59
  });
58
60
  const G = () => {
59
- S || f(!0);
61
+ !u && (b || !l) && a(!0);
60
62
  }, K = (t) => {
61
63
  isNaN(t.getTime()) || (D(t), e == null || e({
62
- value: d.Date(t, "yyyy-mm-dd"),
63
- name: r
64
- })), A === "years" && (m === "years" ? (f(!1), p(m)) : p("months")), A === "months" && (m === "months" ? (f(!1), p(m)) : p("days")), D(t), e == null || e({
65
- value: d.Date(t, "yyyy-mm-dd"),
66
- name: r
67
- }), c == null || c(d.Date(t, "yyyy-mm-dd"));
68
- }, U = (t) => {
69
- if (_) {
70
- const I = t.target.value.replace(/[^\d]/g, ""), [h, u, O] = [
71
- Y(I.substring(0, 2), E),
72
- Y(I.substring(2, 4), B),
73
- I.substring(4, 8)
74
- ], j = [h, u, O].filter(Boolean).join("/");
75
- if (P(j), j.length === V) {
76
- const J = parseInt(O), l = /* @__PURE__ */ new Date(
77
- `${J}-${u.padStart(2, "0")}-${h.padStart(2, "0")}`
64
+ value: f.Date(t, "yyyy-mm-dd"),
65
+ name: c
66
+ })), g === "years" && (m === "years" ? (a(!1), n(m)) : n("months")), g === "months" && (m === "months" ? (a(!1), n(m)) : n("days")), D(t), e == null || e({
67
+ value: f.Date(t, "yyyy-mm-dd"),
68
+ name: c
69
+ }), d == null || d(f.Date(t, "yyyy-mm-dd"));
70
+ }, W = (t) => {
71
+ if (l) {
72
+ const N = t.target.value.replace(/[^\d]/g, ""), [k, C, O] = [
73
+ $(N.substring(0, 2), st),
74
+ $(N.substring(2, 4), et),
75
+ N.substring(4, 8)
76
+ ], Y = [k, C, O].filter(Boolean).join("/");
77
+ if (h(Y), Y.length === ot) {
78
+ const z = parseInt(O), A = /* @__PURE__ */ new Date(
79
+ `${z}-${C.padStart(2, "0")}-${k.padStart(2, "0")}`
78
80
  );
79
- isNaN(l.getTime()) || (D(l), e == null || e({
80
- value: d.Date(l, "yyyy-mm-dd"),
81
- name: r
82
- }), c == null || c(d.Date(l, "yyyy-mm-dd")));
81
+ isNaN(A.getTime()) || (D(A), e == null || e({
82
+ value: f.Date(A, "yyyy-mm-dd"),
83
+ name: c
84
+ }), d == null || d(f.Date(A, "yyyy-mm-dd")));
83
85
  }
84
86
  }
85
- }, q = v(a.wrapper, n && a.active), z = v(a.input, a.inputBorderControl), C = {
87
+ }, q = v(o.wrapper, w && o.active), E = v(o.input, o.inputBorderControl), J = {
86
88
  onChangeValue: K,
87
89
  date: i || /* @__PURE__ */ new Date(),
88
- before: typeof N == "string" ? new Date(N) : N,
89
- onChangeType: p,
90
- setIsActive: f
91
- }, F = mt[A];
92
- return /* @__PURE__ */ Q("div", { className: q, "data-disabled": S, children: [
93
- /* @__PURE__ */ g(
90
+ before: typeof P == "string" ? new Date(P) : P,
91
+ onChangeType: n,
92
+ setIsActive: a
93
+ }, Q = dt[g], Z = ({ isActive: t }) => /* @__PURE__ */ r("button", { onClick: (k) => {
94
+ k.stopPropagation(), u || a(!t);
95
+ }, className: o["icon-button"], children: t ? /* @__PURE__ */ r(
96
+ H,
97
+ {
98
+ iconName: T === L.S ? "DropdownArrowUp16px" : "DropdownArrowUp24px"
99
+ }
100
+ ) : /* @__PURE__ */ r(
101
+ H,
102
+ {
103
+ iconName: T === L.S ? "DropdownArrowBottom16px" : "DropdownArrowDown24px"
104
+ }
105
+ ) });
106
+ return /* @__PURE__ */ B("div", { className: q, "data-disabled": u, children: [
107
+ /* @__PURE__ */ r(
94
108
  "div",
95
109
  {
96
110
  role: "button",
97
- "data-error": k,
98
- className: v(a["date-wrapper"], {
99
- [a.editable]: _
111
+ "data-error": x,
112
+ className: v(o["date-wrapper"], {
113
+ [o.editable]: l
100
114
  }),
101
115
  onClick: G,
102
- children: /* @__PURE__ */ g(
103
- at,
116
+ children: /* @__PURE__ */ r(
117
+ mt,
104
118
  {
105
- ref: R,
106
- className: z,
107
- wrapperClassName: a["input-wrapper"],
108
- size: $,
119
+ ref: X,
120
+ className: E,
121
+ wrapperClassName: o["input-wrapper"],
122
+ size: T,
109
123
  type: "text",
110
- variant: H,
111
- status: k ? rt.Error : void 0,
112
- value: X,
113
- onChange: U,
124
+ variant: R,
125
+ status: x ? pt.Error : void 0,
126
+ value: F,
127
+ onChange: W,
114
128
  rightAddon: {
115
- addonType: "icon",
116
- addonContent: n ? "DropdownArrowUp24px" : "DropdownArrowDown24px"
129
+ addonType: "react-node",
130
+ addonContent: /* @__PURE__ */ r(Z, { isActive: w })
131
+ },
132
+ onFocus: () => {
133
+ b && !l && a(!0);
117
134
  },
118
- "data-error": k,
119
- ...L
135
+ "data-error": x,
136
+ ...U
120
137
  }
121
138
  )
122
139
  }
123
140
  ),
124
- n && /* @__PURE__ */ g(F, { ...C })
141
+ w && /* @__PURE__ */ r(Q, { ...J })
125
142
  ] });
126
143
  }
127
144
  )
128
145
  );
129
- ot.displayName = "DatePicker";
146
+ nt.displayName = "DatePicker";
130
147
  export {
131
- ot as DatePicker
148
+ nt as DatePicker
132
149
  };
@@ -3,7 +3,7 @@ import { c as x } from "../../index-DIxK0V-G.js";
3
3
  import { useState as O } from "react";
4
4
  import { week as Y, COUNT_WORK_DAYS as j } from "./constants.js";
5
5
  import { useDatePickerPosition as z } from "./hooks.js";
6
- import { c as o } from "../../styles.module-Chnn6DA-.js";
6
+ import { c as o } from "../../styles.module-B3xL6-zc.js";
7
7
  import { getUpdateDate as M } from "./utils.js";
8
8
  import { Icon as G } from "../../icons/Icon.js";
9
9
  import { formating as s } from "../../utils/index.js";
@@ -3,7 +3,7 @@ import { c as k } from "../../index-DIxK0V-G.js";
3
3
  import { useState as $ } from "react";
4
4
  import { months as x } from "./constants.js";
5
5
  import { useDatePickerPosition as v } from "./hooks.js";
6
- import { c as e } from "../../styles.module-Chnn6DA-.js";
6
+ import { c as e } from "../../styles.module-B3xL6-zc.js";
7
7
  import { Icon as B } from "../../icons/Icon.js";
8
8
  import { formating as a } from "../../utils/index.js";
9
9
  import { Button as b } from "../Button/Button.js";
@@ -2,7 +2,7 @@ import { jsxs as p, jsx as o } from "react/jsx-runtime";
2
2
  import { c as v } from "../../index-DIxK0V-G.js";
3
3
  import { useState as x } from "react";
4
4
  import { useDatePickerPosition as Y } from "./hooks.js";
5
- import { c as t } from "../../styles.module-Chnn6DA-.js";
5
+ import { c as t } from "../../styles.module-B3xL6-zc.js";
6
6
  import { formating as n } from "../../utils/index.js";
7
7
  import { Button as y } from "../Button/Button.js";
8
8
  const F = ({
@@ -1,97 +1,97 @@
1
- import { jsxs as m, jsx as t, Fragment as P } from "react/jsx-runtime";
1
+ import { jsxs as m, jsx as t, Fragment as X } from "react/jsx-runtime";
2
2
  import { c as s } from "../../index-DIxK0V-G.js";
3
- import { useState as u, useRef as Q, useCallback as f, useEffect as F } from "react";
4
- import { EDrawerPosition as k } from "./constants.js";
5
- import { useMediaQuery as G } from "../../hooks/useMediaQuery/useMediaQuery.js";
6
- import { EMediaQuery as H } from "../../hooks/useMediaQuery/constants.js";
7
- import { useLockBodyScroll as K } from "../../hooks/useLockBodyScroll/useLockBodyScroll.js";
8
- import { useResizeObserver as V } from "../../hooks/useResizeObserver/useResizeObserver.js";
9
- import { Button as w } from "../Button/Button.js";
10
- import { EButtonVariantDefault as W, EButtonSize as n } from "../Button/constants.js";
11
- import { Loader as Y } from "../Loader/Loader.js";
12
- import { Portal as q } from "../Portal/Portal.js";
13
- import '../../assets/Drawer.css';const J = "_drawer_1xs4d_3", O = "_content_1xs4d_27", U = "_header_1xs4d_45", Z = "_title_1xs4d_59", $ = "_space_1xs4d_73", ee = "_inner_1xs4d_84", te = "_button_1xs4d_87", oe = "_footer_1xs4d_92", se = "_left_1xs4d_105", re = "_right_1xs4d_109", ne = "_full_1xs4d_113", le = "_bottom_1xs4d_123", ae = "_opened_1xs4d_140", ie = "_overlay_1xs4d_196", ce = "_unmount_1xs4d_212", e = {
14
- drawer: J,
15
- content: O,
3
+ import { useState as N, useRef as j, useCallback as u, useEffect as P } from "react";
4
+ import { EDrawerPosition as w } from "./constants.js";
5
+ import { useMediaQuery as Q } from "../../hooks/useMediaQuery/useMediaQuery.js";
6
+ import { EMediaQuery as F } from "../../hooks/useMediaQuery/constants.js";
7
+ import { useLockBodyScroll as G } from "../../hooks/useLockBodyScroll/useLockBodyScroll.js";
8
+ import { useResizeObserver as H } from "../../hooks/useResizeObserver/useResizeObserver.js";
9
+ import { Button as k } from "../Button/Button.js";
10
+ import { EButtonVariantDefault as K, EButtonSize as n } from "../Button/constants.js";
11
+ import { Loader as V } from "../Loader/Loader.js";
12
+ import { Portal as W } from "../Portal/Portal.js";
13
+ import '../../assets/Drawer.css';const Y = "_drawer_1xs4d_3", q = "_content_1xs4d_27", J = "_header_1xs4d_45", U = "_title_1xs4d_59", Z = "_space_1xs4d_73", $ = "_inner_1xs4d_84", O = "_button_1xs4d_87", ee = "_footer_1xs4d_92", te = "_left_1xs4d_105", oe = "_right_1xs4d_109", se = "_full_1xs4d_113", re = "_bottom_1xs4d_123", ne = "_opened_1xs4d_140", ae = "_overlay_1xs4d_196", ie = "_unmount_1xs4d_212", e = {
14
+ drawer: Y,
15
+ content: q,
16
16
  "is-loading": "_is-loading_1xs4d_41",
17
- header: U,
17
+ header: J,
18
18
  "sticky-header": "_sticky-header_1xs4d_53",
19
- title: Z,
20
- space: $,
21
- inner: ee,
22
- button: te,
23
- footer: oe,
19
+ title: U,
20
+ space: Z,
21
+ inner: $,
22
+ button: O,
23
+ footer: ee,
24
24
  "footer-button": "_footer-button_1xs4d_101",
25
- left: se,
26
- right: re,
27
- full: ne,
28
- bottom: le,
25
+ left: te,
26
+ right: oe,
27
+ full: se,
28
+ bottom: re,
29
29
  "full-bottom-height": "_full-bottom-height_1xs4d_134",
30
- opened: ae,
30
+ opened: ne,
31
31
  "is-closing": "_is-closing_1xs4d_159",
32
- overlay: ie,
33
- unmount: ce
34
- }, de = 300, ke = ({
32
+ overlay: ae,
33
+ unmount: ie
34
+ }, le = 300, ve = ({
35
35
  isOpen: r,
36
- onClose: l,
36
+ onClose: a,
37
37
  title: E,
38
38
  className: M,
39
- unmount: h = !0,
40
- isLoading: a = !1,
39
+ unmount: f = !0,
40
+ isLoading: i = !1,
41
41
  stickyHeader: B,
42
- fullBottomHeight: S = !1,
43
- position: i = k.RIGHT,
44
- paddingRight: I = 8,
42
+ fullBottomHeight: I = !1,
43
+ position: l = w.RIGHT,
44
+ paddingRight: S = 8,
45
45
  footer: c,
46
- children: L,
47
- classNameInner: T,
48
- classNameFooter: C,
49
- closeOnClickOutside: x = !0,
50
- showCloseButton: y = !0
46
+ children: T,
47
+ classNameInner: C,
48
+ classNameFooter: D,
49
+ closeOnClickOutside: h = !0,
50
+ showCloseButton: x = !0
51
51
  }) => {
52
- const [D, p] = u(!1), [z, b] = u(!1), [R, g] = u(!1), v = Q(), d = G(H.XS1), { ref: A } = V({
53
- enabled: i === k.BOTTOM
52
+ const [p, y] = N(!1), [z, b] = N(!1), g = j(), d = Q(F.XS1), { ref: L } = H({
53
+ enabled: l === w.BOTTOM
54
54
  });
55
- K({
56
- on: R,
57
- paddingRight: I
55
+ G({
56
+ on: r && !p,
57
+ paddingRight: S
58
58
  });
59
- const o = f(() => {
60
- l && (p(!0), g(!1), v.current = setTimeout(() => {
61
- l(), p(!1);
62
- }, de));
63
- }, [l]), X = f(() => {
64
- x && o();
65
- }, [x, o]), _ = f(
66
- (j) => {
67
- j.key === "Escape" && o();
59
+ const o = u(() => {
60
+ a && (y(!0), g.current = setTimeout(() => {
61
+ a(), y(!1);
62
+ }, le));
63
+ }, [a]), R = u(() => {
64
+ h && o();
65
+ }, [h, o]), _ = u(
66
+ (A) => {
67
+ A.key === "Escape" && o();
68
68
  },
69
69
  [o]
70
70
  );
71
- F(() => (r && (g(!0), b(!0), window.addEventListener("keydown", _)), () => {
72
- b(!1), clearTimeout(v.current), window.removeEventListener("keydown", _);
71
+ P(() => (r && (b(!0), window.addEventListener("keydown", _)), () => {
72
+ b(!1), clearTimeout(g.current), window.removeEventListener("keydown", _);
73
73
  }), [r, _]);
74
- const N = {
74
+ const v = {
75
75
  [e.opened]: z,
76
- [e["is-closing"]]: D,
77
- [e["full-bottom-height"]]: S,
78
- [e["is-loading"]]: a
76
+ [e["is-closing"]]: p,
77
+ [e["full-bottom-height"]]: I,
78
+ [e["is-loading"]]: i
79
79
  };
80
- return !r && h ? null : /* @__PURE__ */ m(q, { children: [
80
+ return !r && f ? null : /* @__PURE__ */ m(W, { children: [
81
81
  /* @__PURE__ */ t(
82
82
  "div",
83
83
  {
84
84
  "aria-hidden": !r,
85
85
  role: "dialog",
86
- className: s(e.drawer, e[i], N, M),
86
+ className: s(e.drawer, e[l], v, M),
87
87
  children: /* @__PURE__ */ t(
88
88
  "section",
89
89
  {
90
- ref: A,
91
- className: s(e.content, e[i], {
92
- [e["is-loading"]]: !!a
90
+ ref: L,
91
+ className: s(e.content, e[l], {
92
+ [e["is-loading"]]: !!i
93
93
  }),
94
- children: a ? /* @__PURE__ */ t(Y, {}) : /* @__PURE__ */ m(P, { children: [
94
+ children: i ? /* @__PURE__ */ t(V, {}) : /* @__PURE__ */ m(X, { children: [
95
95
  /* @__PURE__ */ m(
96
96
  "header",
97
97
  {
@@ -100,10 +100,10 @@ import '../../assets/Drawer.css';const J = "_drawer_1xs4d_3", O = "_content_1xs4
100
100
  }),
101
101
  children: [
102
102
  /* @__PURE__ */ t("h2", { className: e.title, children: E }),
103
- /* @__PURE__ */ t("div", { className: e.space, children: y && /* @__PURE__ */ t(
104
- w,
103
+ /* @__PURE__ */ t("div", { className: e.space, children: x && /* @__PURE__ */ t(
104
+ k,
105
105
  {
106
- variant: W.SecondaryWhite,
106
+ variant: K.SecondaryWhite,
107
107
  isIconButton: !0,
108
108
  size: d ? n.S : n.M,
109
109
  iconName: "Close16px",
@@ -114,9 +114,9 @@ import '../../assets/Drawer.css';const J = "_drawer_1xs4d_3", O = "_content_1xs4
114
114
  ]
115
115
  }
116
116
  ),
117
- /* @__PURE__ */ t("div", { className: s(e.inner, T), children: L }),
118
- /* @__PURE__ */ t("footer", { className: s(e.footer, C), children: typeof c == "function" ? c({ handleClose: o }) : c || y && /* @__PURE__ */ t(
119
- w,
117
+ /* @__PURE__ */ t("div", { className: s(e.inner, C), children: T }),
118
+ /* @__PURE__ */ t("footer", { className: s(e.footer, D), children: typeof c == "function" ? c({ handleClose: o }) : c || x && /* @__PURE__ */ t(
119
+ k,
120
120
  {
121
121
  size: d ? n.M : n.XXL,
122
122
  full: d,
@@ -136,17 +136,17 @@ import '../../assets/Drawer.css';const J = "_drawer_1xs4d_3", O = "_content_1xs4
136
136
  className: s(
137
137
  e.overlay,
138
138
  {
139
- [e.unmount]: !h
139
+ [e.unmount]: !f
140
140
  },
141
- N
141
+ v
142
142
  ),
143
143
  "data-testid": "drawer-overlay",
144
- onClick: X
144
+ onClick: R
145
145
  }
146
146
  )
147
147
  ] });
148
148
  };
149
149
  export {
150
- de as ANIMATION_DELAY,
151
- ke as Drawer
150
+ le as ANIMATION_DELAY,
151
+ ve as Drawer
152
152
  };
@@ -23,4 +23,4 @@ export type TFilesDetail = {
23
23
  size?: number;
24
24
  type?: string;
25
25
  };
26
- export declare function ListFiles({ value, onChange }: TListFiles): import("react/jsx-runtime").JSX.Element;
26
+ export declare function ListFiles({ value, onChange }: TListFiles): import("react/jsx-runtime").JSX.Element | null;
@@ -12,15 +12,15 @@ import '../../assets/ListFiles.css';const e = {
12
12
  "delete-button": "_delete-button_12h1y_51"
13
13
  };
14
14
  function z({ value: o, onChange: s }) {
15
- const [f, l] = m(o);
15
+ const [l, f] = m(o);
16
16
  d(() => {
17
- l(o);
17
+ f(o);
18
18
  }, [o]);
19
19
  const r = async (i) => {
20
- const n = [...f.filter((c) => c.id !== i)];
21
- l(n), s == null || s({ deleteId: i, list: n });
20
+ const n = [...l.filter((c) => c.id !== i)];
21
+ f(n), s == null || s({ deleteId: i, list: n });
22
22
  };
23
- return /* @__PURE__ */ t("ul", { className: e["file-upload-container"], children: f.map((i, n) => /* @__PURE__ */ a("li", { className: e["file-upload-container-item"], children: [
23
+ return l.length === 0 ? null : /* @__PURE__ */ t("ul", { className: e["file-upload-container"], children: l.map((i, n) => /* @__PURE__ */ a("li", { className: e["file-upload-container-item"], children: [
24
24
  /* @__PURE__ */ a("div", { className: e["file-info"], children: [
25
25
  (i == null ? void 0 : i.size) && /* @__PURE__ */ a("span", { className: e["file-info-size"], children: [
26
26
  " ",
@@ -21,4 +21,4 @@ export type TPhotosDetail = {
21
21
  url: string;
22
22
  file?: File;
23
23
  };
24
- export declare function ListPhotos({ value, onChange }: TListPhotos): import("react/jsx-runtime").JSX.Element;
24
+ export declare function ListPhotos({ value, onChange }: TListPhotos): import("react/jsx-runtime").JSX.Element | null;
@@ -1,6 +1,6 @@
1
- import { jsx as e, jsxs as a } from "react/jsx-runtime";
2
- import { useState as n, useEffect as _ } from "react";
3
- import { Button as d } from "../Button/Button.js";
1
+ import { jsx as l, jsxs as n } from "react/jsx-runtime";
2
+ import { useState as a, useEffect as u } from "react";
3
+ import { Button as _ } from "../Button/Button.js";
4
4
  import '../../assets/ListPhotos.css';const i = {
5
5
  "list-photos": "_list-photos_1tpc1_2",
6
6
  "list-photos-item": "_list-photos-item_1tpc1_11",
@@ -8,16 +8,16 @@ import '../../assets/ListPhotos.css';const i = {
8
8
  "delete-button": "_delete-button_1tpc1_25"
9
9
  };
10
10
  function L({ value: o, onChange: s }) {
11
- const [l, c] = n(o);
12
- _(() => {
11
+ const [e, c] = a(o);
12
+ u(() => {
13
13
  c(o);
14
14
  }, [o]);
15
- const p = async (t) => {
16
- const m = [...l.filter((r) => r.id !== t)];
17
- c(m), s == null || s({ deleteId: t, list: m });
15
+ const m = async (t) => {
16
+ const r = [...e.filter((p) => p.id !== t)];
17
+ c(r), s == null || s({ deleteId: t, list: r });
18
18
  };
19
- return /* @__PURE__ */ e("ul", { className: i["list-photos"], children: l.map((t) => /* @__PURE__ */ a("li", { className: i["list-photos-item"], children: [
20
- /* @__PURE__ */ e(
19
+ return e.length === 0 ? null : /* @__PURE__ */ l("ul", { className: i["list-photos"], children: e.map((t) => /* @__PURE__ */ n("li", { className: i["list-photos-item"], children: [
20
+ /* @__PURE__ */ l(
21
21
  "img",
22
22
  {
23
23
  className: i["list-photos-image"],
@@ -25,15 +25,15 @@ function L({ value: o, onChange: s }) {
25
25
  alt: ""
26
26
  }
27
27
  ),
28
- s && /* @__PURE__ */ e(
29
- d,
28
+ s && /* @__PURE__ */ l(
29
+ _,
30
30
  {
31
31
  isIconButton: !0,
32
32
  iconName: "Close12px",
33
33
  size: "m-s",
34
34
  variant: "secondary-gray",
35
35
  className: i["delete-button"],
36
- onClick: () => p(t.id)
36
+ onClick: () => m(t.id)
37
37
  }
38
38
  )
39
39
  ] }, t.id)) });
@@ -3,6 +3,6 @@ import { TMultiSelectOption } from './types';
3
3
  import { EInputSize } from '../Input';
4
4
 
5
5
  export declare const mapSizeToInputSize: (size: EMultiSelectSearchSize) => EInputSize;
6
- export declare const getDropdownArrowIcon: (isOpen: boolean, size: EMultiSelectSearchSize) => "DropdownArrowBottom16px" | "DropdownArrowUp24px" | "DropdownArrowDown24px" | "DropdownArrowUp16px";
6
+ export declare const getDropdownArrowIcon: (isOpen: boolean, size: EMultiSelectSearchSize) => "DropdownArrowBottom16px" | "DropdownArrowUp16px" | "DropdownArrowUp24px" | "DropdownArrowDown24px";
7
7
  export declare const getInitialInputValue: (value: TMultiSelectOption[] | undefined | null, displayValue: string) => string;
8
8
  export declare const joinSelectedItems: (items: TMultiSelectOption[], displayValue: string) => string;
@@ -2,4 +2,4 @@ import { ESelectSearchSize } from './constants';
2
2
  import { EInputSize } from '../Input';
3
3
 
4
4
  export declare const mapSizeToInputSize: (size: ESelectSearchSize) => EInputSize;
5
- export declare const getDropdownArrowIcon: (isOpen: boolean, size: ESelectSearchSize) => "DropdownArrowBottom16px" | "DropdownArrowUp24px" | "DropdownArrowDown24px" | "DropdownArrowUp16px";
5
+ export declare const getDropdownArrowIcon: (isOpen: boolean, size: ESelectSearchSize) => "DropdownArrowBottom16px" | "DropdownArrowUp16px" | "DropdownArrowUp24px" | "DropdownArrowDown24px";
@@ -1,5 +1,5 @@
1
1
  import { jsxs as n, jsx as a, Fragment as U } from "react/jsx-runtime";
2
- import { forwardRef as V, useRef as m, useId as z } from "react";
2
+ import { forwardRef as V, useRef as u, useId as z } 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";
@@ -7,7 +7,7 @@ import '../../assets/Uploader.css';const p = {
7
7
  "upload-file-wrapper": "_upload-file-wrapper_bplvw_2",
8
8
  "upload-text": "_upload-text_bplvw_25",
9
9
  "upload-file-input": "_upload-file-input_bplvw_35"
10
- }, u = {
10
+ }, g = {
11
11
  jpeg: "image/jpeg",
12
12
  jpg: "image/jpg",
13
13
  png: "image/png",
@@ -32,34 +32,34 @@ import '../../assets/Uploader.css';const p = {
32
32
  let i = 0;
33
33
  return () => (i = (i + 1) % Number.MAX_SAFE_INTEGER, i);
34
34
  }, k = M(), q = V(
35
- (i, g) => {
35
+ (i, x) => {
36
36
  const {
37
37
  filesType: o = S,
38
- onChangeValue: x,
39
- arrayName: h,
38
+ onChangeValue: h,
39
+ arrayName: b,
40
40
  maxSize: r = 15,
41
- maxFiles: b,
41
+ maxFiles: w,
42
42
  isDisabled: s,
43
- titleUploader: w = "Или перетащите сюда",
43
+ titleUploader: c = "Или перетащите сюда",
44
44
  buttonText: y = "Выберите файлы",
45
45
  showOnlyUploadButton: _ = !1,
46
46
  uploadButtonVariant: j = C.SecondaryAsphalt
47
- } = i, c = m(null), l = m(null), d = z(), v = (e) => {
47
+ } = i, d = u(null), l = u(null), f = z(), v = (e) => {
48
48
  var t;
49
49
  return e.type ? e.type : ((t = e.name.split(".").pop()) == null ? void 0 : t.toLowerCase()) === "heic" ? "image/heic" : "";
50
50
  }, I = (e) => {
51
51
  if (e.target.files && e.target.files[0]) {
52
- const f = Array.from(e.target.files).filter((t) => {
53
- const T = v(t), E = o.map((R) => u[R]).includes(T), F = t.size / 1024 ** 2 <= r;
52
+ 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
54
  return E && F;
55
- }).slice(0, b).map((t) => ({ file: t, id: k() }));
56
- x({ arrayName: h, value: f }), l.current && (l.current.value = "");
55
+ }).slice(0, w).map((t) => ({ file: t, id: k() }));
56
+ h({ arrayName: b, value: m }), l.current && (l.current.value = "");
57
57
  }
58
58
  }, N = () => {
59
59
  var e;
60
- (e = c.current) == null || e.click();
60
+ (e = d.current) == null || e.click();
61
61
  };
62
- return /* @__PURE__ */ n("div", { className: p["upload-file-wrapper"], ref: g, children: [
62
+ return /* @__PURE__ */ n("div", { className: p["upload-file-wrapper"], ref: x, children: [
63
63
  /* @__PURE__ */ a(
64
64
  "input",
65
65
  {
@@ -71,12 +71,12 @@ import '../../assets/Uploader.css';const p = {
71
71
  multiple: !0,
72
72
  onChange: I,
73
73
  title: "",
74
- id: d,
75
- accept: o.map((e) => u[e]).join(),
74
+ id: f,
75
+ accept: o.map((e) => g[e]).join(),
76
76
  disabled: s
77
77
  }
78
78
  ),
79
- /* @__PURE__ */ n("label", { htmlFor: d, ref: c, children: [
79
+ /* @__PURE__ */ n("label", { htmlFor: f, ref: d, children: [
80
80
  /* @__PURE__ */ a(
81
81
  B,
82
82
  {
@@ -89,7 +89,7 @@ import '../../assets/Uploader.css';const p = {
89
89
  }
90
90
  ),
91
91
  !_ && /* @__PURE__ */ n(U, { children: [
92
- /* @__PURE__ */ a("b", { children: w }),
92
+ c && /* @__PURE__ */ a("b", { children: c }),
93
93
  /* @__PURE__ */ n("span", { className: p["upload-text"], children: [
94
94
  "Максимальный размер одного файла – ",
95
95
  r,
@@ -0,0 +1,25 @@
1
+ import './assets/styles.css';const _ = "_input_hmkm7_2", t = "_inputBorderControl_hmkm7_14", n = "_editable_hmkm7_27", m = "_wrapper_hmkm7_50", r = "_active_hmkm7_56", o = "_button_hmkm7_44", e = "_h_hmkm7_100", c = "_b_hmkm7_44", p = "_d_hmkm7_10", a = "_m_hmkm7_122", h = "_a_hmkm7_56", k = "_prev_hmkm7_124", i = "_orange_hmkm7_138", s = "_current_hmkm7_155", u = "_monthGrid_hmkm7_160", d = {
2
+ input: _,
3
+ "input-wrapper": "_input-wrapper_hmkm7_6",
4
+ "date-wrapper": "_date-wrapper_hmkm7_10",
5
+ inputBorderControl: t,
6
+ editable: n,
7
+ "button-wrapper": "_button-wrapper_hmkm7_44",
8
+ wrapper: m,
9
+ active: r,
10
+ button: o,
11
+ "calendar-block": "_calendar-block_hmkm7_78",
12
+ h: e,
13
+ b: c,
14
+ d: p,
15
+ m: a,
16
+ a: h,
17
+ prev: k,
18
+ orange: i,
19
+ current: s,
20
+ monthGrid: u,
21
+ "icon-button": "_icon-button_hmkm7_165"
22
+ };
23
+ export {
24
+ d as c
25
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mimir-ui-kit",
3
3
  "private": false,
4
- "version": "1.36.10",
4
+ "version": "1.36.12",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {
@@ -1,24 +0,0 @@
1
- import './assets/styles.css';const _ = "_input_yyf2c_2", t = "_inputBorderControl_yyf2c_14", c = "_editable_yyf2c_27", r = "_wrapper_yyf2c_50", n = "_active_yyf2c_56", o = "_button_yyf2c_44", y = "_h_yyf2c_100", e = "_b_yyf2c_44", p = "_d_yyf2c_10", a = "_m_yyf2c_122", f = "_a_yyf2c_56", s = "_prev_yyf2c_124", i = "_orange_yyf2c_138", d = "_current_yyf2c_155", u = "_monthGrid_yyf2c_160", b = {
2
- input: _,
3
- "input-wrapper": "_input-wrapper_yyf2c_6",
4
- "date-wrapper": "_date-wrapper_yyf2c_10",
5
- inputBorderControl: t,
6
- editable: c,
7
- "button-wrapper": "_button-wrapper_yyf2c_44",
8
- wrapper: r,
9
- active: n,
10
- button: o,
11
- "calendar-block": "_calendar-block_yyf2c_78",
12
- h: y,
13
- b: e,
14
- d: p,
15
- m: a,
16
- a: f,
17
- prev: s,
18
- orange: i,
19
- current: d,
20
- monthGrid: u
21
- };
22
- export {
23
- b as c
24
- };