mimir-ui-kit 1.43.27 → 1.44.0

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 (82) hide show
  1. package/dist/Input-IzZ6B9kw.js +232 -0
  2. package/dist/assets/Avatar.css +1 -1
  3. package/dist/assets/Chip.css +1 -1
  4. package/dist/assets/CopyText.css +1 -0
  5. package/dist/assets/Counter.css +1 -0
  6. package/dist/assets/Drawer.css +1 -1
  7. package/dist/assets/DropdownSelect.css +1 -0
  8. package/dist/assets/Input.css +1 -1
  9. package/dist/assets/Pagination.css +1 -1
  10. package/dist/assets/SelectSearch.css +1 -1
  11. package/dist/assets/TabTrail.css +1 -1
  12. package/dist/assets/index.css +1 -1
  13. package/dist/assets/styles.css +1 -1
  14. package/dist/components/Avatar/Avatar.d.ts +1 -1
  15. package/dist/components/Avatar/Avatar.js +41 -37
  16. package/dist/components/Avatar/constants.d.ts +5 -0
  17. package/dist/components/Avatar/constants.js +3 -2
  18. package/dist/components/Avatar/index.d.ts +1 -0
  19. package/dist/components/Avatar/index.js +5 -4
  20. package/dist/components/Avatar/types.d.ts +3 -1
  21. package/dist/components/Chip/Chip.d.ts +5 -1
  22. package/dist/components/Chip/Chip.js +45 -36
  23. package/dist/components/Chip/constants.d.ts +5 -1
  24. package/dist/components/Chip/constants.js +3 -3
  25. package/dist/components/CopyText/CopyText.d.ts +3 -0
  26. package/dist/components/CopyText/CopyText.js +96 -0
  27. package/dist/components/CopyText/index.d.ts +2 -0
  28. package/dist/components/CopyText/index.js +4 -0
  29. package/dist/components/CopyText/types.d.ts +32 -0
  30. package/dist/components/DatePicker/DatePicker.d.ts +11 -0
  31. package/dist/components/DatePicker/DatePicker.js +96 -93
  32. package/dist/components/DatePicker/DatePickerModal.js +1 -1
  33. package/dist/components/DatePicker/MonthPickerModal.js +1 -1
  34. package/dist/components/DatePicker/YearPickerModal.js +1 -1
  35. package/dist/components/DatePicker/constants.d.ts +6 -0
  36. package/dist/components/DatePicker/constants.js +13 -12
  37. package/dist/components/DatePicker/index.d.ts +1 -0
  38. package/dist/components/DatePicker/index.js +3 -1
  39. package/dist/components/Drawer/Drawer.js +47 -47
  40. package/dist/components/DropdownSelect/DropdownSelect.d.ts +3 -0
  41. package/dist/components/DropdownSelect/DropdownSelect.js +115 -0
  42. package/dist/components/DropdownSelect/constants.d.ts +5 -0
  43. package/dist/components/DropdownSelect/constants.js +4 -0
  44. package/dist/components/DropdownSelect/index.d.ts +3 -0
  45. package/dist/components/DropdownSelect/index.js +6 -0
  46. package/dist/components/DropdownSelect/types.d.ts +56 -0
  47. package/dist/components/Input/Input.d.ts +5 -0
  48. package/dist/components/Input/Input.js +1 -1
  49. package/dist/components/Input/constants.d.ts +6 -0
  50. package/dist/components/Input/constants.js +4 -3
  51. package/dist/components/Input/index.js +1 -1
  52. package/dist/components/InputPassword/InputPassword.js +1 -1
  53. package/dist/components/InputPhoneNumber/InputPhoneNumber.js +1 -1
  54. package/dist/components/MultiSelectSearch/MultiSelectSearch.js +1 -1
  55. package/dist/components/MultiSelectSearch/utils.js +1 -1
  56. package/dist/components/OtpInput/OtpInput.js +1 -1
  57. package/dist/components/Pagination/Counter/Counter.d.ts +9 -0
  58. package/dist/components/Pagination/Counter/Counter.js +28 -0
  59. package/dist/components/Pagination/Pagination.d.ts +17 -0
  60. package/dist/components/Pagination/Pagination.js +167 -126
  61. package/dist/components/Pagination/constants.d.ts +6 -0
  62. package/dist/components/Pagination/constants.js +5 -3
  63. package/dist/components/Pagination/index.d.ts +1 -0
  64. package/dist/components/Pagination/index.js +4 -2
  65. package/dist/components/SelectSearch/SelectSearch.d.ts +2 -1
  66. package/dist/components/SelectSearch/SelectSearch.js +193 -187
  67. package/dist/components/SelectSearch/constants.d.ts +6 -0
  68. package/dist/components/SelectSearch/constants.js +7 -5
  69. package/dist/components/SelectSearch/index.d.ts +1 -1
  70. package/dist/components/SelectSearch/index.js +5 -4
  71. package/dist/components/SelectSearch/types.d.ts +6 -1
  72. package/dist/components/SelectSearch/utils.js +1 -1
  73. package/dist/components/TabTrail/TabTrail.d.ts +16 -0
  74. package/dist/components/TabTrail/TabTrail.js +257 -220
  75. package/dist/components/TextArea/TextArea.js +1 -1
  76. package/dist/components/index.d.ts +8 -4
  77. package/dist/components/index.js +178 -166
  78. package/dist/index.js +203 -191
  79. package/dist/styles.module-D3nnIVCZ.js +31 -0
  80. package/package.json +1 -1
  81. package/dist/Input-BU_6U1CW.js +0 -227
  82. package/dist/styles.module-Cuqm31CO.js +0 -28
@@ -1,49 +1,53 @@
1
- import { jsxs as _, jsx as r } from "react/jsx-runtime";
2
- import { c } from "../../index-DIxK0V-G.js";
3
- import { memo as n } from "react";
4
- import { EAvatarSize as t } from "./constants.js";
5
- import { Icon as l } from "../../icons/Icon.js";
6
- import { AppImage as b } from "../Image/Image.js";
7
- import { NotificationBadge as f } from "../NotificationBadge/NotificationBadge.js";
8
- import '../../assets/Avatar.css';const u = "_avatar_bbuza_2", d = "_image_bbuza_11", v = "_s_bbuza_17", x = "_m_bbuza_22", g = "_l_bbuza_27", o = {
9
- avatar: u,
10
- image: d,
11
- s: v,
12
- m: x,
13
- l: g,
14
- default: "_default_bbuza_32"
15
- }, N = n(
1
+ import { jsxs as c, jsx as r } from "react/jsx-runtime";
2
+ import { c as p } from "../../index-DIxK0V-G.js";
3
+ import { memo as l } from "react";
4
+ import { EAvatarSize as o, EAvatarVariant as g } from "./constants.js";
5
+ import { Icon as f } from "../../icons/Icon.js";
6
+ import { AppImage as u } from "../Image/Image.js";
7
+ import { NotificationBadge as v } from "../NotificationBadge/NotificationBadge.js";
8
+ import '../../assets/Avatar.css';const d = "_avatar_1oere_2", x = "_image_1oere_11", A = "_s_1oere_17", I = "_m_1oere_22", N = "_l_1oere_27", h = "_withoutImage_1oere_32", b = "_orange_1oere_42", w = "_blue_1oere_52", a = {
9
+ avatar: d,
10
+ image: x,
11
+ s: A,
12
+ m: I,
13
+ l: N,
14
+ default: "_default_1oere_32",
15
+ withoutImage: h,
16
+ orange: b,
17
+ blue: w
18
+ }, E = l(
16
19
  ({
17
- size: a = t.M,
18
- className: s,
19
- notificationsCount: e = 0,
20
- src: m,
21
- alt: i = "User avatar"
20
+ size: t = o.M,
21
+ className: i,
22
+ notificationsCount: m = 0,
23
+ src: e,
24
+ alt: s = "User avatar",
25
+ variant: _ = g.DEFAULT
22
26
  }) => {
23
- const p = a === t.S || a === t.M ? { top: "8px", left: "-8px" } : { top: "12px", left: "-12px" };
24
- return /* @__PURE__ */ _(
27
+ const n = t === o.S || t === o.M ? { top: "8px", left: "-8px" } : { top: "12px", left: "-12px" };
28
+ return /* @__PURE__ */ c(
25
29
  "div",
26
30
  {
27
- className: c(o.avatar, o[a], s, {
28
- [o.default]: !m
31
+ className: p(a.avatar, a[t], a[_], i, {
32
+ [a.withoutImage]: !e
29
33
  }),
30
34
  "data-testid": "avatar-container",
31
35
  children: [
32
- m ? /* @__PURE__ */ r(
33
- b,
36
+ e ? /* @__PURE__ */ r(
37
+ u,
34
38
  {
35
- src: m,
36
- alt: i,
37
- className: o.image,
39
+ src: e,
40
+ alt: s,
41
+ className: a.image,
38
42
  "data-testid": "avatar-image"
39
43
  }
40
- ) : /* @__PURE__ */ r(l, { iconName: "User16px" }),
41
- !!e && /* @__PURE__ */ r(
42
- f,
44
+ ) : /* @__PURE__ */ r(f, { iconName: "User16px" }),
45
+ !!m && /* @__PURE__ */ r(
46
+ v,
43
47
  {
44
- count: e,
45
- position: p,
46
- size: a === t.S ? "s" : "m",
48
+ count: m,
49
+ position: n,
50
+ size: t === o.S ? "s" : "m",
47
51
  absolute: !0
48
52
  }
49
53
  )
@@ -52,7 +56,7 @@ import '../../assets/Avatar.css';const u = "_avatar_bbuza_2", d = "_image_bbuza_
52
56
  );
53
57
  }
54
58
  );
55
- N.displayName = "Avatar";
59
+ E.displayName = "Avatar";
56
60
  export {
57
- N as Avatar
61
+ E as Avatar
58
62
  };
@@ -3,3 +3,8 @@ export declare enum EAvatarSize {
3
3
  M = "m",
4
4
  L = "l"
5
5
  }
6
+ export declare enum EAvatarVariant {
7
+ DEFAULT = "default",
8
+ ORANGE = "orange",
9
+ BLUE = "blue"
10
+ }
@@ -1,4 +1,5 @@
1
- var l = /* @__PURE__ */ ((r) => (r.S = "s", r.M = "m", r.L = "l", r))(l || {});
1
+ var u = /* @__PURE__ */ ((e) => (e.S = "s", e.M = "m", e.L = "l", e))(u || {}), l = /* @__PURE__ */ ((e) => (e.DEFAULT = "default", e.ORANGE = "orange", e.BLUE = "blue", e))(l || {});
2
2
  export {
3
- l as EAvatarSize
3
+ u as EAvatarSize,
4
+ l as EAvatarVariant
4
5
  };
@@ -1,3 +1,4 @@
1
1
  export { Avatar } from './Avatar';
2
2
  export { EAvatarSize } from './constants';
3
3
  export type { TAvatarProps, TAvatarSize } from './types';
4
+ export { EAvatarVariant } from './constants';
@@ -1,6 +1,7 @@
1
- import { Avatar as o } from "./Avatar.js";
2
- import { EAvatarSize as e } from "./constants.js";
1
+ import { Avatar as t } from "./Avatar.js";
2
+ import { EAvatarSize as e, EAvatarVariant as v } from "./constants.js";
3
3
  export {
4
- o as Avatar,
5
- e as EAvatarSize
4
+ t as Avatar,
5
+ e as EAvatarSize,
6
+ v as EAvatarVariant
6
7
  };
@@ -1,10 +1,12 @@
1
- import { EAvatarSize } from './constants';
1
+ import { EAvatarSize, EAvatarVariant } from './constants';
2
2
 
3
3
  export type TAvatarSize = `${EAvatarSize}` | EAvatarSize;
4
+ export type TAvatarVariant = `${EAvatarVariant}` | EAvatarVariant;
4
5
  export type TAvatarProps = {
5
6
  size?: TAvatarSize;
6
7
  className?: string;
7
8
  notificationsCount?: number;
8
9
  src?: string;
9
10
  alt?: string;
11
+ variant?: TAvatarVariant;
10
12
  };
@@ -30,5 +30,9 @@ export type TProps = {
30
30
  * Обработчик для кнопки закрытия
31
31
  */
32
32
  children?: ReactNode;
33
+ /**
34
+ * Квадратные границы
35
+ */
36
+ squareBorder?: boolean;
33
37
  };
34
- export declare const Chip: ({ size, variant, className, disabled, withAction, children, onClose }: PropsWithChildren<TProps>) => import("react/jsx-runtime").JSX.Element;
38
+ export declare const Chip: ({ size, variant, className, disabled, withAction, children, onClose, squareBorder }: PropsWithChildren<TProps>) => import("react/jsx-runtime").JSX.Element;
@@ -1,44 +1,53 @@
1
- import { jsxs as r, jsx as m } from "react/jsx-runtime";
2
- import { c as p } from "../../index-DIxK0V-G.js";
3
- import { EChipSize as h, EChipVariant as b } from "./constants.js";
4
- import { Button as l } from "../Button/Button.js";
5
- import '../../assets/Chip.css';const v = "_chip_19bvm_2", d = "_disabled_19bvm_40", x = "_xs_19bvm_51", g = "_s_19bvm_59", u = "_m_19bvm_67", w = "_sapphire_19bvm_75", C = "_citrine_19bvm_84", f = "_asphalt_19bvm_93", y = "_gray_19bvm_102", N = "_white_19bvm_111", j = "_green_19bvm_120", s = {
6
- chip: v,
7
- "with-action": "_with-action_19bvm_18",
8
- disabled: d,
9
- xs: x,
10
- s: g,
11
- m: u,
12
- sapphire: w,
13
- citrine: C,
14
- asphalt: f,
15
- gray: y,
16
- white: N,
17
- green: j
18
- }, z = ({
19
- size: i = h.M,
20
- variant: _ = b.Sapphire,
21
- className: c,
22
- disabled: e,
23
- withAction: t,
24
- children: o,
25
- onClose: a
1
+ import { jsxs as c, jsx as m } from "react/jsx-runtime";
2
+ import { c as h } from "../../index-DIxK0V-G.js";
3
+ import { EChipSize as p, EChipVariant as g } from "./constants.js";
4
+ import { Button as d } from "../Button/Button.js";
5
+ import '../../assets/Chip.css';const u = "_chip_mrr0l_2", w = "_disabled_mrr0l_40", x = "_squareBorder_mrr0l_50", B = "_xs_mrr0l_54", f = "_s_mrr0l_50", y = "_sm_mrr0l_70", C = "_m_mrr0l_78", b = "_sapphire_mrr0l_86", q = "_citrine_mrr0l_95", N = "_asphalt_mrr0l_104", j = "_gray_mrr0l_113", E = "_white_mrr0l_122", S = "_green_mrr0l_131", r = {
6
+ chip: u,
7
+ "with-action": "_with-action_mrr0l_18",
8
+ disabled: w,
9
+ squareBorder: x,
10
+ xs: B,
11
+ s: f,
12
+ sm: y,
13
+ m: C,
14
+ sapphire: b,
15
+ citrine: q,
16
+ asphalt: N,
17
+ gray: j,
18
+ white: E,
19
+ green: S,
20
+ "green-light": "_green-light_mrr0l_140",
21
+ "orange-light": "_orange-light_mrr0l_163",
22
+ "yellow-light": "_yellow-light_mrr0l_178"
23
+ }, M = ({
24
+ size: _ = p.M,
25
+ variant: e = g.Sapphire,
26
+ className: t,
27
+ disabled: i,
28
+ withAction: s,
29
+ children: l,
30
+ onClose: o,
31
+ squareBorder: a = !1
26
32
  }) => {
27
- const n = p(
28
- s.chip,
29
- c,
33
+ const n = h(
34
+ r.chip,
35
+ t,
30
36
  {
31
- [s["with-action"]]: t,
32
- [s.disabled]: e
37
+ [r["with-action"]]: s,
38
+ [r.disabled]: i
33
39
  },
34
- s[_],
35
- s[i]
40
+ r[e],
41
+ r[_],
42
+ {
43
+ [r.squareBorder]: a
44
+ }
36
45
  );
37
- return /* @__PURE__ */ r("div", { className: n, children: [
38
- o,
39
- t && /* @__PURE__ */ m(l, { isIconButton: !0, iconName: "Close16px", onClick: a, clear: !0 })
46
+ return /* @__PURE__ */ c("div", { className: n, children: [
47
+ l,
48
+ s && /* @__PURE__ */ m(d, { isIconButton: !0, iconName: "Close16px", onClick: o, clear: !0 })
40
49
  ] });
41
50
  };
42
51
  export {
43
- z as Chip
52
+ M as Chip
44
53
  };
@@ -1,6 +1,7 @@
1
1
  export declare enum EChipSize {
2
2
  XS = "xs",
3
3
  S = "s",
4
+ SM = "sm",
4
5
  M = "m"
5
6
  }
6
7
  export declare enum EChipVariant {
@@ -9,5 +10,8 @@ export declare enum EChipVariant {
9
10
  Asphalt = "asphalt",
10
11
  Gray = "gray",
11
12
  White = "white",
12
- Green = "green"
13
+ Green = "green",
14
+ GreenLight = "green-light",
15
+ OrangeLight = "orange-light",
16
+ YellowLight = "yellow-light"
13
17
  }
@@ -1,5 +1,5 @@
1
- var r = /* @__PURE__ */ ((e) => (e.XS = "xs", e.S = "s", e.M = "m", e))(r || {}), s = /* @__PURE__ */ ((e) => (e.Sapphire = "sapphire", e.Citrine = "citrine", e.Asphalt = "asphalt", e.Gray = "gray", e.White = "white", e.Green = "green", e))(s || {});
1
+ var g = /* @__PURE__ */ ((e) => (e.XS = "xs", e.S = "s", e.SM = "sm", e.M = "m", e))(g || {}), r = /* @__PURE__ */ ((e) => (e.Sapphire = "sapphire", e.Citrine = "citrine", e.Asphalt = "asphalt", e.Gray = "gray", e.White = "white", e.Green = "green", e.GreenLight = "green-light", e.OrangeLight = "orange-light", e.YellowLight = "yellow-light", e))(r || {});
2
2
  export {
3
- r as EChipSize,
4
- s as EChipVariant
3
+ g as EChipSize,
4
+ r as EChipVariant
5
5
  };
@@ -0,0 +1,3 @@
1
+ import { TProps } from './types';
2
+
3
+ export declare const CopyText: import('react').ForwardRefExoticComponent<Omit<TProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,96 @@
1
+ import { jsxs as x, jsx as d } from "react/jsx-runtime";
2
+ import { c as r } from "../../index-DIxK0V-G.js";
3
+ import { forwardRef as P, useState as i, useCallback as t } from "react";
4
+ import { Icon as U } from "../../icons/Icon.js";
5
+ import '../../assets/CopyText.css';const j = "_wrapper_l1onk_2", E = "_container_l1onk_7", H = "_disabled_l1onk_14", L = "_hovered_l1onk_18", R = "_text_l1onk_22", q = "_pressed_l1onk_25", z = "_icon_l1onk_29", B = "_visible_l1onk_39", G = "_toast_l1onk_48", J = "_fadeOut_l1onk_65", e = {
6
+ wrapper: j,
7
+ container: E,
8
+ disabled: H,
9
+ hovered: L,
10
+ text: R,
11
+ pressed: q,
12
+ icon: z,
13
+ visible: B,
14
+ toast: G,
15
+ "slide-in": "_slide-in_l1onk_1",
16
+ fadeOut: J,
17
+ "slide-out": "_slide-out_l1onk_1"
18
+ }, N = 200, K = P(
19
+ (T, b) => {
20
+ const {
21
+ text: a,
22
+ className: k,
23
+ onCopy: n,
24
+ showToast: _ = !0,
25
+ toastDuration: p = 2e3,
26
+ toastText: w = "Скопировано в буфер обмена",
27
+ disabled: s = !1,
28
+ ...M
29
+ } = T, [u, f] = i(!1), [o, m] = i(!1), [y, h] = i(!1), [C, l] = i(!1), v = t(async () => {
30
+ if (!s)
31
+ try {
32
+ if (await navigator.clipboard.writeText(a), _) {
33
+ h(!0), l(!1);
34
+ const c = Math.max(
35
+ p - N,
36
+ 0
37
+ );
38
+ setTimeout(() => {
39
+ l(!0), setTimeout(() => {
40
+ h(!1), l(!1);
41
+ }, N);
42
+ }, c);
43
+ }
44
+ n == null || n(a);
45
+ } catch (c) {
46
+ console.error("Failed to copy text:", c);
47
+ }
48
+ }, [a, n, _, p, s]), O = t(() => {
49
+ s || f(!0);
50
+ }, [s]), I = t(() => {
51
+ f(!1);
52
+ }, []), D = t(() => {
53
+ s || m(!0);
54
+ }, [s]), S = t(() => {
55
+ !s && o && (m(!1), v());
56
+ }, [s, o, v]), g = r(e.container, k, {
57
+ [e.disabled]: s,
58
+ [e.hovered]: u,
59
+ [e.pressed]: o
60
+ }), A = r(e.text, {
61
+ [e.pressed]: o
62
+ }), F = r(e.icon, {
63
+ [e.pressed]: o,
64
+ [e.visible]: u
65
+ });
66
+ return /* @__PURE__ */ x("div", { ref: b, className: e.wrapper, ...M, children: [
67
+ /* @__PURE__ */ x(
68
+ "div",
69
+ {
70
+ className: g,
71
+ onMouseEnter: O,
72
+ onMouseLeave: I,
73
+ onMouseDown: D,
74
+ onMouseUp: S,
75
+ children: [
76
+ /* @__PURE__ */ d("span", { className: A, children: a }),
77
+ /* @__PURE__ */ d(U, { iconName: "CopyClipboard16px", className: F })
78
+ ]
79
+ }
80
+ ),
81
+ y && /* @__PURE__ */ d(
82
+ "div",
83
+ {
84
+ className: r(e.toast, {
85
+ [e.fadeOut]: C
86
+ }),
87
+ children: w
88
+ }
89
+ )
90
+ ] });
91
+ }
92
+ );
93
+ K.displayName = "CopyText";
94
+ export {
95
+ K as CopyText
96
+ };
@@ -0,0 +1,2 @@
1
+ export { CopyText } from './CopyText';
2
+ export type { TProps as TCopyTextProps } from './types';
@@ -0,0 +1,4 @@
1
+ import { CopyText as p } from "./CopyText.js";
2
+ export {
3
+ p as CopyText
4
+ };
@@ -0,0 +1,32 @@
1
+ import { ComponentProps } from 'react';
2
+
3
+ export type TProps = ComponentProps<'div'> & {
4
+ /**
5
+ * Текст для копирования
6
+ */
7
+ text: string;
8
+ /**
9
+ * Класс, применяемый к корневому элементу
10
+ */
11
+ className?: string;
12
+ /**
13
+ * Callback, вызываемый при успешном копировании
14
+ */
15
+ onCopy?: (text: string) => void;
16
+ /**
17
+ * Показывать ли тост с подтверждением
18
+ */
19
+ showToast?: boolean;
20
+ /**
21
+ * Длительность показа тоста в миллисекундах
22
+ */
23
+ toastDuration?: number;
24
+ /**
25
+ * Текст в тосте
26
+ */
27
+ toastText?: string;
28
+ /**
29
+ * Отключить компонент
30
+ */
31
+ disabled?: boolean;
32
+ };
@@ -1,3 +1,4 @@
1
+ import { EDatePickerBorderRadius } from './constants';
1
2
  import { TInputProps } from '../Input';
2
3
 
3
4
  export type TProps = {
@@ -69,6 +70,11 @@ export type TProps = {
69
70
  * Диапазон доступных дат [от, до]
70
71
  */
71
72
  validRange?: [Date | string, Date | string];
73
+ /**
74
+ * Управление скруглениями углов компонента
75
+ * @default 'all'
76
+ */
77
+ borderRadius?: EDatePickerBorderRadius | `${EDatePickerBorderRadius}`;
72
78
  } & TInputProps;
73
79
  export type TDatePickerValue = {
74
80
  value?: string;
@@ -147,4 +153,9 @@ export declare const DatePicker: import('react').MemoExoticComponent<import('rea
147
153
  * Диапазон доступных дат [от, до]
148
154
  */
149
155
  validRange?: [Date | string, Date | string];
156
+ /**
157
+ * Управление скруглениями углов компонента
158
+ * @default 'all'
159
+ */
160
+ borderRadius?: EDatePickerBorderRadius | `${EDatePickerBorderRadius}`;
150
161
  } & import('../Input/types').TInputProps & import('../Input').TAdditionalProps & import('react').RefAttributes<HTMLInputElement>>>;