urfu-ui-kit-react 2.1.5 → 2.1.6

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 (187) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +1 -1
  2. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  3. package/dist/components/Accordion/Accordion.js +9 -8
  4. package/dist/components/Accordion/Accordion.types.d.ts +2 -0
  5. package/dist/components/Accordion/Accordion.types.d.ts.map +1 -1
  6. package/dist/components/BreadCrumbs/BreadCrumbs.d.ts.map +1 -1
  7. package/dist/components/BreadCrumbs/BreadCrumbs.js +20 -19
  8. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  9. package/dist/components/Calendar/Calendar.js +145 -144
  10. package/dist/components/Calendar/Calendar.types.d.ts +9 -4
  11. package/dist/components/Calendar/Calendar.types.d.ts.map +1 -1
  12. package/dist/components/Card/Card.d.ts.map +1 -1
  13. package/dist/components/Card/Card.js +37 -31
  14. package/dist/components/ColumnSettings/ColumnSettings.d.ts.map +1 -1
  15. package/dist/components/ColumnSettings/ColumnSettings.js +72 -72
  16. package/dist/components/Drawer/Drawer.d.ts +11 -0
  17. package/dist/components/Drawer/Drawer.d.ts.map +1 -0
  18. package/dist/components/Drawer/Drawer.js +87 -0
  19. package/dist/components/Drawer/Drawer.types.d.ts +44 -0
  20. package/dist/components/Drawer/Drawer.types.d.ts.map +1 -0
  21. package/dist/components/ErrorScreen/ErrorScreen.d.ts.map +1 -1
  22. package/dist/components/ErrorScreen/ErrorScreen.js +172 -138
  23. package/dist/components/FormField/FormField.d.ts +1 -1
  24. package/dist/components/FormField/FormField.d.ts.map +1 -1
  25. package/dist/components/FormField/FormField.js +42 -29
  26. package/dist/components/FormField/FormField.types.d.ts +6 -0
  27. package/dist/components/FormField/FormField.types.d.ts.map +1 -1
  28. package/dist/components/InfiniteScroll/InfiniteScroll.d.ts +22 -0
  29. package/dist/components/InfiniteScroll/InfiniteScroll.d.ts.map +1 -0
  30. package/dist/components/InfiniteScroll/InfiniteScroll.js +27 -0
  31. package/dist/components/InputText/InputText.d.ts +39 -2
  32. package/dist/components/InputText/InputText.d.ts.map +1 -1
  33. package/dist/components/InputText/InputText.js +103 -94
  34. package/dist/components/InputText/InputText.types.d.ts +11 -0
  35. package/dist/components/InputText/InputText.types.d.ts.map +1 -1
  36. package/dist/components/InputTime/inputTimeKeyDown.d.ts +17 -2
  37. package/dist/components/InputTime/inputTimeKeyDown.d.ts.map +1 -1
  38. package/dist/components/InputTime/useInputTimeWheel.d.ts +13 -1
  39. package/dist/components/InputTime/useInputTimeWheel.d.ts.map +1 -1
  40. package/dist/components/Menu/Menu.d.ts.map +1 -1
  41. package/dist/components/Menu/Menu.js +54 -49
  42. package/dist/components/Modal/Modal.d.ts.map +1 -1
  43. package/dist/components/Modal/Modal.js +52 -49
  44. package/dist/components/Modal/Modal.types.d.ts +4 -2
  45. package/dist/components/Modal/Modal.types.d.ts.map +1 -1
  46. package/dist/components/Notification/Notification.d.ts.map +1 -1
  47. package/dist/components/Notification/Notification.js +97 -86
  48. package/dist/components/OfflineBanner/OfflineBanner.d.ts.map +1 -1
  49. package/dist/components/OfflineBanner/OfflineBanner.js +40 -32
  50. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  51. package/dist/components/Pagination/Pagination.js +61 -66
  52. package/dist/components/SearchSelect/SearchSelect.d.ts.map +1 -1
  53. package/dist/components/SearchSelect/SearchSelect.js +137 -134
  54. package/dist/components/TabPanels/TabPanels.d.ts +13 -0
  55. package/dist/components/TabPanels/TabPanels.d.ts.map +1 -0
  56. package/dist/components/TabPanels/TabPanels.js +8 -0
  57. package/dist/components/Table/Filter/Filter.d.ts.map +1 -1
  58. package/dist/components/Table/Filter/Filter.js +47 -47
  59. package/dist/components/Table/Filter/Filter.types.d.ts +2 -1
  60. package/dist/components/Table/Filter/Filter.types.d.ts.map +1 -1
  61. package/dist/components/Table/Filter/SelectFilter.d.ts.map +1 -1
  62. package/dist/components/Table/Filter/SelectFilter.js +9 -9
  63. package/dist/components/Table/Table.d.ts +1 -1
  64. package/dist/components/Table/Table.d.ts.map +1 -1
  65. package/dist/components/Table/Table.dataPipeline.d.ts +4 -3
  66. package/dist/components/Table/Table.dataPipeline.d.ts.map +1 -1
  67. package/dist/components/Table/Table.dataPipeline.js +64 -63
  68. package/dist/components/Table/Table.js +299 -299
  69. package/dist/components/Table/Table.rowTypes.d.ts +6 -0
  70. package/dist/components/Table/Table.rowTypes.d.ts.map +1 -0
  71. package/dist/components/Table/Table.types.d.ts +10 -3
  72. package/dist/components/Table/Table.types.d.ts.map +1 -1
  73. package/dist/components/Table/TableHead.d.ts +27 -19
  74. package/dist/components/Table/TableHead.d.ts.map +1 -1
  75. package/dist/components/Table/TableHead.js +1 -1
  76. package/dist/components/Table/TableMobileCard.d.ts +11 -11
  77. package/dist/components/Table/TableMobileCard.d.ts.map +1 -1
  78. package/dist/components/Table/TableMobileCard.js +81 -84
  79. package/dist/components/Table/TableMobileView.d.ts +7 -5
  80. package/dist/components/Table/TableMobileView.d.ts.map +1 -1
  81. package/dist/components/Table/TableRow.d.ts +10 -8
  82. package/dist/components/Table/TableRow.d.ts.map +1 -1
  83. package/dist/components/Table/TableRow.js +116 -112
  84. package/dist/components/Table/useTableColumnPinning.d.ts.map +1 -1
  85. package/dist/components/Table/useTableVirtualization.d.ts +5 -5
  86. package/dist/components/Table/useTableVirtualization.d.ts.map +1 -1
  87. package/dist/components/Tabs/Tabs.d.ts +1 -1
  88. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  89. package/dist/components/Tabs/Tabs.js +109 -104
  90. package/dist/components/Tabs/Tabs.types.d.ts +29 -1
  91. package/dist/components/Tabs/Tabs.types.d.ts.map +1 -1
  92. package/dist/components/Tabs/distributeTabs.d.ts +6 -0
  93. package/dist/components/Tabs/distributeTabs.d.ts.map +1 -1
  94. package/dist/components/Tabs/tabsIndicator.d.ts +7 -3
  95. package/dist/components/Tabs/tabsIndicator.d.ts.map +1 -1
  96. package/dist/components/Tabs/tabsScroll.d.ts +20 -0
  97. package/dist/components/Tabs/tabsScroll.d.ts.map +1 -0
  98. package/dist/components/Tabs/useTabsOverflow.d.ts +3 -1
  99. package/dist/components/Tabs/useTabsOverflow.d.ts.map +1 -1
  100. package/dist/components/Tabs/useTabsOverflow.js +33 -33
  101. package/dist/components/Tabs/useTabsScroll.d.ts +4 -0
  102. package/dist/components/Tabs/useTabsScroll.d.ts.map +1 -0
  103. package/dist/components/Tabs/useTabsScroll.js +17 -0
  104. package/dist/components/Textarea/Textarea.d.ts +22 -2
  105. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  106. package/dist/components/Textarea/Textarea.js +48 -43
  107. package/dist/components/Textarea/Textarea.types.d.ts +1 -0
  108. package/dist/components/Textarea/Textarea.types.d.ts.map +1 -1
  109. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  110. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  111. package/dist/components/Tooltip/Tooltip.js +150 -131
  112. package/dist/components/Tooltip/Tooltip.types.d.ts +7 -2
  113. package/dist/components/Tooltip/Tooltip.types.d.ts.map +1 -1
  114. package/dist/components/TreeView/TreeView.js +95 -95
  115. package/dist/components/TreeView/TreeView.types.d.ts +1 -1
  116. package/dist/components/TreeView/TreeView.types.d.ts.map +1 -1
  117. package/dist/components/VirtualList/VirtualList.d.ts +45 -0
  118. package/dist/components/VirtualList/VirtualList.d.ts.map +1 -0
  119. package/dist/components/VirtualList/VirtualList.js +62 -0
  120. package/dist/dev/index.js +1306 -584
  121. package/dist/dev/types/react/src/dev/index.d.ts +1 -1
  122. package/dist/dev/types/vanilla/src/core/motion.d.ts +41 -0
  123. package/dist/dev/types/vanilla/src/core/requestLog.d.ts +29 -0
  124. package/dist/dev/types/vanilla/src/dev/highlight.d.ts +32 -0
  125. package/dist/dev/types/vanilla/src/dev/intercept.d.ts +4 -1
  126. package/dist/dev/types/vanilla/src/dev/motionModes.d.ts +30 -0
  127. package/dist/dev/types/vanilla/src/dev/panelKit.d.ts +49 -0
  128. package/dist/dev/types/vanilla/src/dev/panelStyles.d.ts +7 -0
  129. package/dist/dev/types/vanilla/src/dev/rules.d.ts +31 -0
  130. package/dist/dev/types/vanilla/src/dev/store.d.ts +7 -4
  131. package/dist/dev/types/vanilla/src/dev/types.d.ts +14 -3
  132. package/dist/dev/types/vanilla/src/dev/viewModes.d.ts +22 -0
  133. package/dist/hooks/useCollapseMotion.d.ts +18 -0
  134. package/dist/hooks/useCollapseMotion.d.ts.map +1 -0
  135. package/dist/hooks/useCollapseMotion.js +9 -0
  136. package/dist/hooks/useDismiss.d.ts +7 -1
  137. package/dist/hooks/useDismiss.d.ts.map +1 -1
  138. package/dist/hooks/useDismiss.js +19 -17
  139. package/dist/hooks/useEnterMotion.d.ts +9 -0
  140. package/dist/hooks/useEnterMotion.d.ts.map +1 -0
  141. package/dist/hooks/useEnterMotion.js +10 -0
  142. package/dist/hooks/useForwardedRef.d.ts +8 -0
  143. package/dist/hooks/useForwardedRef.d.ts.map +1 -0
  144. package/dist/hooks/useForwardedRef.js +8 -0
  145. package/dist/hooks/useInfiniteScroll.d.ts +27 -0
  146. package/dist/hooks/useInfiniteScroll.d.ts.map +1 -0
  147. package/dist/hooks/useInfiniteScroll.js +13 -0
  148. package/dist/hooks/useMountTransition.d.ts +1 -1
  149. package/dist/hooks/useMountTransition.d.ts.map +1 -1
  150. package/dist/hooks/useMountTransition.js +14 -13
  151. package/dist/hooks/useVirtualList.d.ts +34 -0
  152. package/dist/hooks/useVirtualList.d.ts.map +1 -0
  153. package/dist/hooks/useVirtualList.js +21 -0
  154. package/dist/index.d.ts +15 -1
  155. package/dist/index.d.ts.map +1 -1
  156. package/dist/shared/collapseMotion.d.ts +32 -0
  157. package/dist/shared/collapseMotion.d.ts.map +1 -0
  158. package/dist/shared/infiniteScroll.d.ts +42 -0
  159. package/dist/shared/infiniteScroll.d.ts.map +1 -0
  160. package/dist/shared/kitCopy.js +1 -1
  161. package/dist/shared/linkClick.d.ts +7 -0
  162. package/dist/shared/linkClick.d.ts.map +1 -0
  163. package/dist/shared/motion.d.ts +42 -0
  164. package/dist/shared/motion.d.ts.map +1 -0
  165. package/dist/shared/popupTransition.d.ts +10 -2
  166. package/dist/shared/popupTransition.d.ts.map +1 -1
  167. package/dist/shared/popupTransition.js +6 -5
  168. package/dist/shared/virtualList.d.ts +103 -0
  169. package/dist/shared/virtualList.d.ts.map +1 -0
  170. package/dist/style-no-fonts.css +1 -1
  171. package/dist/style.css +1 -1
  172. package/dist/style.layer.css +2 -2
  173. package/dist/style.shell.css +5 -5
  174. package/dist/urfu-ui-kit-react.js +53 -45
  175. package/dist/utils/describeError.d.ts +12 -1
  176. package/dist/utils/describeError.d.ts.map +1 -1
  177. package/dist/vanilla/core/collapseMotion.js +58 -0
  178. package/dist/vanilla/core/describeError.js +172 -115
  179. package/dist/vanilla/core/distributeTabs.js +23 -20
  180. package/dist/vanilla/core/infiniteScroll.js +79 -0
  181. package/dist/vanilla/core/linkClick.js +2 -0
  182. package/dist/vanilla/core/motion.js +29 -0
  183. package/dist/vanilla/core/requestLog.js +40 -0
  184. package/dist/vanilla/core/tabsIndicator.js +29 -26
  185. package/dist/vanilla/core/tabsScroll.js +29 -0
  186. package/dist/vanilla/core/virtualList.js +213 -0
  187. package/package.json +1 -1
@@ -1,73 +1,73 @@
1
- import { jsxs as f, jsx as i, Fragment as J } from "react/jsx-runtime";
2
- import { useState as O, useRef as z, useMemo as Q } from "react";
1
+ import { jsxs as f, jsx as i, Fragment as Q } from "react/jsx-runtime";
2
+ import { useState as O, useRef as z, useMemo as X } from "react";
3
3
  /* empty css */
4
- import { createPortal as Ce } from "react-dom";
4
+ import { createPortal as $e } from "react-dom";
5
5
  /* empty css */
6
6
  /* empty css */
7
7
  /* empty css */
8
8
  /* empty css */
9
- import { useDismiss$u as $e } from "../../hooks/useDismiss.js";
9
+ import { useDismiss$u as Ce } from "../../hooks/useDismiss.js";
10
10
  import { useAnchoredPosition$u as Ie, fitToViewport$u as ke } from "../../hooks/useAnchoredPosition.js";
11
11
  import { useMountTransition$u as Ee } from "../../hooks/useMountTransition.js";
12
12
  import Se from "../../hooks/useDebounce.js";
13
13
  import { useOptionKeyboardNavigation$u as _e } from "../../hooks/useOptionKeyboardNavigation.js";
14
14
  import { useActiveOptionScroll$u as je } from "../../hooks/useActiveOptionScroll.js";
15
- import { OPTION_STATE_COLORS$u as X } from "../../shared/optionStateColors.js";
15
+ import { OPTION_STATE_COLORS$u as Z } from "../../shared/optionStateColors.js";
16
16
  import { getPopupTransitionStyle$u as Ae, POPUP_TRANSITION_MS$u as Pe } from "../../shared/popupTransition.js";
17
17
  import { useAutoId$u as ze } from "../../hooks/useAutoId.js";
18
18
  import { sizeClassName$u as De, isCompact$u as Be } from "../../shared/size.js";
19
19
  import { getPortalScopeProps$u as Ke } from "../../shared/uiKitDefaults.js";
20
20
  import { resolveValidation$u as Le } from "../../vanilla/core/validation.js";
21
- const ct = ({
21
+ const ot = ({
22
22
  title: D = "",
23
- required: Z = !1,
24
- styleSelectContainer: U,
25
- styleTitle: ee,
23
+ required: U = !1,
24
+ styleSelectContainer: ee,
25
+ styleTitle: te,
26
26
  lineUp: E = !1,
27
- rowGap: te = 4,
28
- columnGap: ie = 20,
29
- placeholder: ne = "Выберите из списка",
27
+ rowGap: ie = 4,
28
+ columnGap: ne = 20,
29
+ placeholder: ce = "Выберите из списка",
30
30
  value: n,
31
31
  isClearable: S,
32
- onDelete: oe,
32
+ onDelete: re,
33
33
  onClick: B,
34
- className: re,
35
- tableView: K = !1,
36
- size: L,
37
- validationText: ce = "Заполните поле",
34
+ className: K,
35
+ tableView: L = !1,
36
+ size: M,
37
+ validationText: oe = "Заполните поле",
38
38
  validationOn: se,
39
39
  error: le,
40
40
  absoluteValidationText: ae,
41
41
  data: a,
42
42
  portalOn: T,
43
43
  id: ue,
44
- disabled: y,
44
+ disabled: v,
45
45
  isSearchable: r
46
46
  }) => {
47
- var Y;
48
- const v = Be(L, K), M = De(L, K), _ = Le({ error: le, validationOn: se, validationText: ce }), R = ze(ue, "u-tree"), [h, C] = O(""), [de, me] = O(null), [b, pe] = O([]), [c, $] = O(!1), [fe, V] = O(null), H = z(null), I = z(null), u = z(), W = Se(h, 300), j = Q(() => a.filter((e) => e.title.toLowerCase().includes((W || "").toLowerCase())), [W, a]), k = () => {
49
- $(!1);
47
+ var J;
48
+ const y = Be(M, L), R = De(M, L), _ = Le({ error: le, validationOn: se, validationText: oe }), V = ze(ue, "u-tree"), [h, $] = O(""), [de, pe] = O(null), [b, me] = O([]), [o, C] = O(!1), [fe, H] = O(null), W = z(null), I = z(null), u = z(), F = Se(h, 300), j = X(() => a.filter((e) => e.title.toLowerCase().includes((F || "").toLowerCase())), [F, a]), k = () => {
49
+ C(!1);
50
50
  };
51
- $e({
52
- refs: [H, I],
51
+ Ce({
52
+ refs: [W, I],
53
53
  onDismiss: k,
54
- enabled: c
54
+ enabled: o
55
55
  });
56
- const F = (e) => typeof e == "number" ? `calc(${e} * var(--u-preset-unit, 1px))` : String(e), he = (e, t) => {
57
- e.stopPropagation(), pe((o) => o != null && o.includes(t) ? o.filter((l) => l !== t) : [...o, t]);
58
- }, G = (e) => {
56
+ const G = (e) => typeof e == "number" ? `calc(${e} * var(--u-preset-unit, 1px))` : String(e), he = (e, t) => {
57
+ e.stopPropagation(), me((c) => c != null && c.includes(t) ? c.filter((l) => l !== t) : [...c, t]);
58
+ }, q = (e) => {
59
59
  const t = a.filter((l) => l.parentId === e.id);
60
60
  if (t.length === 0)
61
61
  return e;
62
- let o = null;
62
+ let c = null;
63
63
  return t.forEach((l) => {
64
- const d = G(l);
65
- d && (o = d);
66
- }), o;
64
+ const d = q(l);
65
+ d && (c = d);
66
+ }), c;
67
67
  }, A = ({ node: e, counter: t }) => {
68
- const o = a.filter((p) => p.parentId === e.id), l = t + 1, d = b == null ? void 0 : b.includes(e.id), m = G(e), we = xe === e.id, Ne = n == (e == null ? void 0 : e.title), Oe = fe === e.id, Te = () => {
69
- var p;
70
- B(e), k(), r && (C(""), (p = u == null ? void 0 : u.current) == null || p.focus());
68
+ const c = a.filter((m) => m.parentId === e.id), l = t + 1, d = b == null ? void 0 : b.includes(e.id), p = q(e), we = xe === e.id, Ne = n == (e == null ? void 0 : e.title), Oe = fe === e.id, Te = () => {
69
+ var m;
70
+ B(e), k(), r && ($(""), (m = u == null ? void 0 : u.current) == null || m.focus());
71
71
  };
72
72
  return /* @__PURE__ */ f("ul", { className: "treeview-list", children: [
73
73
  /* @__PURE__ */ f(
@@ -76,44 +76,44 @@ const ct = ({
76
76
  className: "treeview-list__item",
77
77
  "data-node-id": String(e.id),
78
78
  style: Object.assign(
79
- { paddingLeft: `calc(${t} * 16 * var(--u-preset-unit, 1px))` },
80
- Ne ? { backgroundColor: X.selectedBackground, borderRadius: "20px" } : Oe || we ? { backgroundColor: X.hoveredBackground, borderRadius: "20px" } : null
79
+ { paddingLeft: `calc((${t} * 16 + 12) * var(--u-preset-unit, 1px))` },
80
+ Ne ? { backgroundColor: Z.selectedBackground, borderRadius: "calc(10 * var(--u-preset-unit, 1px))" } : Oe || we ? { backgroundColor: Z.hoveredBackground, borderRadius: "calc(10 * var(--u-preset-unit, 1px))" } : null
81
81
  ),
82
- onMouseEnter: () => V(e.id),
83
- onMouseLeave: () => V(null),
82
+ onMouseEnter: () => H(e.id),
83
+ onMouseLeave: () => H(null),
84
84
  children: [
85
- m.id !== e.id && /* @__PURE__ */ i("div", { onClick: (p) => he(p, e.id), children: d ? /* @__PURE__ */ i("i", { style: { cursor: "pointer", width: "calc(20 * var(--u-unit, 1px))", height: "calc(20 * var(--u-unit, 1px))" }, className: "u-icon icon-down clr-blue-main" }) : /* @__PURE__ */ i("i", { style: { cursor: "pointer", transform: "rotate(-90 0 0)" }, className: "u-icon icon-right clr-blue-main" }) }),
86
- m.id !== e.id && /* @__PURE__ */ i("i", { className: "u-icon icon-folder clr-orange" }),
85
+ p.id !== e.id && /* @__PURE__ */ i("div", { onClick: (m) => he(m, e.id), children: d ? /* @__PURE__ */ i("i", { style: { cursor: "pointer", width: "calc(20 * var(--u-unit, 1px))", height: "calc(20 * var(--u-unit, 1px))" }, className: "u-icon icon-down clr-blue-main" }) : /* @__PURE__ */ i("i", { style: { cursor: "pointer", width: "calc(20 * var(--u-unit, 1px))", height: "calc(20 * var(--u-unit, 1px))" }, className: "u-icon icon-right clr-blue-main" }) }),
86
+ p.id !== e.id && /* @__PURE__ */ i("i", { className: "u-icon icon-folder clr-orange" }),
87
87
  /* @__PURE__ */ i("p", { onClick: Te, style: { cursor: "pointer" }, className: "tt", children: e.title })
88
88
  ]
89
89
  }
90
90
  ),
91
- d && o.map((p) => /* @__PURE__ */ i(A, { node: p, counter: l }, p.id))
91
+ d && c.map((m) => /* @__PURE__ */ i(A, { node: m, counter: l }, m.id))
92
92
  ] });
93
- }, s = r && h ? j : a == null ? void 0 : a.filter((e) => e.parentId === null), w = Q(() => {
93
+ }, s = r && h ? j : a == null ? void 0 : a.filter((e) => e.parentId === null), w = X(() => {
94
94
  if (!Array.isArray(a)) return [];
95
95
  if (r && h)
96
96
  return j;
97
97
  const e = /* @__PURE__ */ new Map();
98
98
  a.forEach((l) => {
99
- const d = l.parentId, m = e.get(d) ?? [];
100
- m.push(l), e.set(d, m);
99
+ const d = l.parentId, p = e.get(d) ?? [];
100
+ p.push(l), e.set(d, p);
101
101
  });
102
- const t = [], o = (l) => {
103
- (e.get(l) ?? []).forEach((m) => {
104
- t.push(m), b.includes(m.id) && o(m.id);
102
+ const t = [], c = (l) => {
103
+ (e.get(l) ?? []).forEach((p) => {
104
+ t.push(p), b.includes(p.id) && c(p.id);
105
105
  });
106
106
  };
107
- return o(null), t;
108
- }, [a, b, j, r, h]), { activeIndex: P, handleKeyDown: q } = _e({
109
- isOpen: c,
110
- disabled: y,
107
+ return c(null), t;
108
+ }, [a, b, j, r, h]), { activeIndex: P, handleKeyDown: Y } = _e({
109
+ isOpen: o,
110
+ disabled: v,
111
111
  optionsLength: w.length,
112
112
  initialIndex: Math.max(
113
113
  0,
114
114
  w.findIndex((e) => (e == null ? void 0 : e.title) === n)
115
115
  ),
116
- onOpen: () => $(!0),
116
+ onOpen: () => C(!0),
117
117
  onClose: () => {
118
118
  k();
119
119
  },
@@ -121,9 +121,9 @@ const ct = ({
121
121
  const t = w[e];
122
122
  t && ge(t);
123
123
  }
124
- }), xe = P >= 0 ? (Y = w[P]) == null ? void 0 : Y.id : void 0;
124
+ }), xe = P >= 0 ? (J = w[P]) == null ? void 0 : J.id : void 0;
125
125
  je({
126
- isOpen: c,
126
+ isOpen: o,
127
127
  activeIndex: P,
128
128
  portalOn: !1,
129
129
  localRef: I,
@@ -134,15 +134,15 @@ const ct = ({
134
134
  });
135
135
  const ge = (e) => {
136
136
  var t;
137
- e && (B(e), k(), r && (C(""), (t = u == null ? void 0 : u.current) == null || t.focus()));
137
+ e && (B(e), k(), r && ($(""), (t = u == null ? void 0 : u.current) == null || t.focus()));
138
138
  }, { rect: x } = Ie({
139
139
  anchor: de,
140
- enabled: c && !!T
141
- }), N = x ? ke(x.x, x.width) : null, g = x && N ? { x: N.x, y: x.y + 60 + x.height + x.scrollY } : null, { shouldRender: ye, status: ve, isAnimated: be } = Ee({
142
- isOpen: c && !!T,
140
+ enabled: o && !!T
141
+ }), N = x ? ke(x.x, x.width) : null, g = x && N ? { x: N.x, y: x.y + 60 + x.height + x.scrollY } : null, { shouldRender: ve, status: ye, isAnimated: be } = Ee({
142
+ isOpen: o && !!T,
143
143
  duration: Pe
144
144
  });
145
- return /* @__PURE__ */ f("div", { className: `u-react-select-container${M ? ` ${M}` : ""} ${re}`, style: { position: "relative" }, children: [
145
+ return /* @__PURE__ */ f("div", { className: `u-react-select-container${R ? ` ${R}` : ""}${K ? ` ${K}` : ""}`, style: { position: "relative" }, children: [
146
146
  /* @__PURE__ */ f(
147
147
  "div",
148
148
  {
@@ -150,22 +150,22 @@ const ct = ({
150
150
  {
151
151
  display: "flex",
152
152
  flexDirection: E ? "row" : "column",
153
- rowGap: E ? null : F(te),
154
- columnGap: E ? F(ie) : null
153
+ rowGap: E ? null : G(ie),
154
+ columnGap: E ? G(ne) : null
155
155
  },
156
- U
156
+ ee
157
157
  ),
158
158
  children: [
159
159
  D && /* @__PURE__ */ i(
160
160
  "div",
161
161
  {
162
- className: `${Z ? "u-required" : ""} u-react-select-title`,
162
+ className: `${U ? "u-required" : ""} u-react-select-title`,
163
163
  style: Object.assign(
164
164
  {
165
165
  color: "var(--u-field-title-color, #545454)",
166
166
  fontSize: "var(--u-field-label-size-main, calc(14 * var(--u-unit, 1px)))"
167
167
  },
168
- ee
168
+ te
169
169
  ),
170
170
  children: D
171
171
  }
@@ -173,82 +173,82 @@ const ct = ({
173
173
  /* @__PURE__ */ f(
174
174
  "div",
175
175
  {
176
- className: `u-selectbox${y ? " u-selectbox-disabled" : ""} u-react-tree-view`,
177
- ref: H,
178
- style: { cursor: y ? "default" : "pointer" },
176
+ className: `u-selectbox${v ? " u-selectbox-disabled" : ""} u-react-tree-view`,
177
+ ref: W,
178
+ style: { cursor: v ? "default" : "pointer" },
179
179
  children: [
180
180
  /* @__PURE__ */ f(
181
181
  "div",
182
182
  {
183
- tabIndex: y ? -1 : 0,
184
- onKeyDown: r ? void 0 : q,
183
+ tabIndex: v ? -1 : 0,
184
+ onKeyDown: r ? void 0 : Y,
185
185
  onClick: (e) => {
186
186
  var t;
187
- c || (r && ((t = u == null ? void 0 : u.current) == null || t.focus(), C("")), T && me(e.currentTarget)), $(!c);
187
+ o || (r && ((t = u == null ? void 0 : u.current) == null || t.focus(), $("")), T && pe(e.currentTarget)), C(!o);
188
188
  },
189
- className: `u-selectbox-select ${c ? "u-selectbox-select-open" : ""}`,
190
- id: `u-selectbox-select${R}`,
189
+ className: `u-selectbox-select ${o ? "u-selectbox-select-open" : ""}`,
190
+ id: `u-selectbox-select${V}`,
191
191
  style: Object.assign(
192
- v ? {
192
+ y ? {
193
193
  height: "var(--u-compact-height)",
194
194
  fontSize: "var(--u-compact-font-size)",
195
195
  lineHeight: 1,
196
196
  padding: "var(--u-compact-padding)"
197
197
  } : {},
198
198
  _.hasError && { border: "1px solid var(--u-color-error, #EF302B)" },
199
- y && { pointerEvents: "none" }
199
+ v && { pointerEvents: "none" }
200
200
  ),
201
201
  children: [
202
- !n && (!r || !c) ? /* @__PURE__ */ i(
202
+ !n && (!r || !o) ? /* @__PURE__ */ i(
203
203
  "span",
204
204
  {
205
205
  style: Object.assign(
206
- v ? {
207
- maxWidth: `calc(100% - ${(n == null ? void 0 : n.length) > 0 ? 32 : 16}px)`
206
+ y ? {
207
+ maxWidth: `calc(100% - ${((n == null ? void 0 : n.length) ?? 0) > 0 ? 32 : 16}px)`
208
208
  } : {},
209
209
  { color: "var(--u-field-title-color, #545454)" }
210
210
  ),
211
211
  className: "u-selectbox-select-title",
212
- children: ne
212
+ children: ce
213
213
  }
214
- ) : /* @__PURE__ */ i(J, {}),
215
- n && (!c || !r) ? /* @__PURE__ */ i(
214
+ ) : /* @__PURE__ */ i(Q, {}),
215
+ n && (!o || !r) ? /* @__PURE__ */ i(
216
216
  "span",
217
217
  {
218
- style: v ? { maxWidth: `calc(100% - ${S && (n != null && n.length) ? 32 : 16}px)` } : {},
218
+ style: y ? { maxWidth: `calc(100% - ${S && (n != null && n.length) ? 32 : 16}px)` } : {},
219
219
  className: "u-selectbox-select-title",
220
220
  children: n
221
221
  }
222
- ) : /* @__PURE__ */ i(J, {}),
222
+ ) : /* @__PURE__ */ i(Q, {}),
223
223
  r && /* @__PURE__ */ i(
224
224
  "input",
225
225
  {
226
226
  ref: u,
227
- className: c ? "treeview__search" : "treeview__search_disabled",
227
+ className: o ? "treeview__search" : "treeview__search_disabled",
228
228
  placeholder: n || "Введите значение",
229
229
  value: h,
230
- onChange: (e) => C(e.target.value),
230
+ onChange: (e) => $(e.target.value),
231
231
  onClick: (e) => {
232
- c && e.stopPropagation();
232
+ o && e.stopPropagation();
233
233
  },
234
- onKeyDown: q,
235
- style: Object.assign(v ? { padding: 0, paddingRight: `calc(${S && (n != null && n.length) ? 37 : 20} * var(--u-unit, 1px))`, fontSize: "var(--u-compact-font-size)" } : {}, { width: "100%" })
234
+ onKeyDown: Y,
235
+ style: Object.assign(y ? { padding: 0, paddingRight: `calc(${S && (n != null && n.length) ? 37 : 20} * var(--u-unit, 1px))`, fontSize: "var(--u-compact-font-size)" } : {}, { width: "100%" })
236
236
  }
237
237
  ),
238
238
  n && S && /* @__PURE__ */ i(
239
239
  "i",
240
240
  {
241
241
  onClick: (e) => {
242
- oe(e), $(!1);
242
+ re(e), C(!1);
243
243
  },
244
244
  className: "u-selectbox-select-icon-cross",
245
245
  role: "button",
246
246
  "aria-label": "Очистить",
247
247
  style: Object.assign(
248
- v ? {
248
+ y ? {
249
249
  right: "calc(24 * var(--u-unit, 1px))"
250
250
  } : {},
251
- y && { pointerEvents: "none" }
251
+ v && { pointerEvents: "none" }
252
252
  )
253
253
  }
254
254
  ),
@@ -256,8 +256,8 @@ const ct = ({
256
256
  "i",
257
257
  {
258
258
  className: "u-selectbox-select-icon-arrow",
259
- id: `u-selectbox-select-icon-arrow${R}`,
260
- style: v ? {
259
+ id: `u-selectbox-select-icon-arrow${V}`,
260
+ style: y ? {
261
261
  width: "calc(12 * var(--u-unit, 1px)) !important",
262
262
  right: "calc(6 * var(--u-unit, 1px))"
263
263
  } : null
@@ -266,7 +266,7 @@ const ct = ({
266
266
  ]
267
267
  }
268
268
  ),
269
- T ? ye && g && Ce(
269
+ T ? ve && g && $e(
270
270
  /* @__PURE__ */ i(
271
271
  "div",
272
272
  {
@@ -290,7 +290,7 @@ const ct = ({
290
290
  minWidth: N == null ? void 0 : N.width,
291
291
  width: "auto"
292
292
  },
293
- Ae(ve, be)
293
+ Ae(ye, be)
294
294
  ),
295
295
  className: "u-selectbox-options",
296
296
  children: /* @__PURE__ */ f("div", { className: "treeview", children: [
@@ -320,4 +320,4 @@ const ct = ({
320
320
  _.showText && /* @__PURE__ */ i("h5", { className: "h5 clr-red-main", style: ae ? { position: "absolute", bottom: "calc(-20 * var(--u-unit, 1px))" } : { position: "relative", marginTop: "calc(4 * var(--u-unit, 1px))" }, children: _.text })
321
321
  ] });
322
322
  };
323
- export { ct as TreeView$u };
323
+ export { ot as TreeView$u };
@@ -15,7 +15,7 @@ export type SelectProperties = Partial<{
15
15
  rowGap: string | number;
16
16
  columnGap: string | number;
17
17
  placeholder: string;
18
- value: any;
18
+ value: string | null;
19
19
  isClearable: boolean;
20
20
  onDelete: (...args: unknown[]) => unknown;
21
21
  onClick: (...args: unknown[]) => unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"TreeView.types.d.ts","sourceRoot":"","sources":["../../../src/components/TreeView/TreeView.types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,oBAAoB,EAAE,aAAa,CAAC;IACpC,UAAU,EAAE,aAAa,CAAC;IAC1B,WAAW,EAAE,aAAa,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,GAAG,CAAC;IACX,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;IAC1C,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,sBAAsB,EAAE,OAAO,CAAC;IAChC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC,CAAC"}
1
+ {"version":3,"file":"TreeView.types.d.ts","sourceRoot":"","sources":["../../../src/components/TreeView/TreeView.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,oBAAoB,EAAE,aAAa,CAAC;IACpC,UAAU,EAAE,aAAa,CAAC;IAC1B,WAAW,EAAE,aAAa,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;IAC1C,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,sBAAsB,EAAE,OAAO,CAAC;IAChC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC,CAAC"}
@@ -0,0 +1,45 @@
1
+
2
+ import { type CSSProperties, type ReactElement, type ReactNode, type Ref } from 'react';
3
+ import type { VirtualKey, VirtualScrollOptions } from '../../shared/virtualList';
4
+ export interface VirtualListProps<T> {
5
+ items: readonly T[];
6
+ /** Устойчивый ключ строки (id записи): по нему хранится замер высоты и фокус. */
7
+ getKey: (item: T, index: number) => VirtualKey;
8
+ /** Содержимое строки. Обёртка `li` с позицией — у списка. */
9
+ renderItem: (item: T, index: number) => ReactNode;
10
+ /** Оценка высоты строки до замера, px. По умолчанию 40. */
11
+ estimateSize?: number;
12
+ /** Сколько строк держать в разметке сверх видимых сверху и снизу. По умолчанию 5. */
13
+ overscan?: number;
14
+ /**
15
+ * Высота своей области прокрутки (число — px). Не задана — список прокручивается
16
+ * вместе с ближайшим прокручиваемым предком: телом Modal, панелью, страницей.
17
+ */
18
+ height?: CSSProperties['height'];
19
+ /** Область прокрутки явно, если её не удаётся найти по предкам. */
20
+ scrollElement?: HTMLElement | null;
21
+ /** Идёт загрузка — `aria-busy` у списка. */
22
+ busy?: boolean;
23
+ /** После строк внутри области прокрутки: датчик `InfiniteScroll`, кнопка, подпись. */
24
+ footer?: ReactNode;
25
+ /** Вместо пустого списка. */
26
+ empty?: ReactNode;
27
+ 'aria-label'?: string;
28
+ 'aria-labelledby'?: string;
29
+ className?: string;
30
+ itemClassName?: string;
31
+ style?: CSSProperties;
32
+ }
33
+ export interface VirtualListHandle {
34
+ /** Докрутить до строки; `behavior: 'smooth'` при «уменьшить движение» — мгновенно. */
35
+ scrollToIndex: (index: number, options?: VirtualScrollOptions) => void;
36
+ }
37
+ /**
38
+ * Длинный список: в DOM только видимые строки и запас, высоты строк — по факту.
39
+ * Прокручивается сам (`height`) или вместе с телом Modal / страницей. Сфокусированная
40
+ * строка не пропадает при прокрутке — Tab продолжает с неё. Ядро общее с Vue `VirtualList`.
41
+ */
42
+ export declare const VirtualList: <T>(props: VirtualListProps<T> & {
43
+ ref?: Ref<VirtualListHandle>;
44
+ }) => ReactElement;
45
+ //# sourceMappingURL=VirtualList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VirtualList.d.ts","sourceRoot":"","sources":["../../../src/components/VirtualList/VirtualList.tsx"],"names":[],"mappings":"AAAA,OAAO,2DAA2D,CAAC;AACnE,OAAO,EAAmC,KAAK,aAAa,EAAqB,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5I,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEjF,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IACpB,iFAAiF;IACjF,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC;IAC/C,6DAA6D;IAC7D,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAClD,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,mEAAmE;IACnE,aAAa,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACnC,4CAA4C;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sFAAsF;IACtF,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,sFAAsF;IACtF,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,KAAK,IAAI,CAAC;CACxE;AAkED;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAmC,CAAC,CAAC,EAC3D,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;CAAE,KAC1D,YAAY,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { jsxs as B, jsx as i } from "react/jsx-runtime";
2
+ /* empty css */
3
+ import { forwardRef as C, useImperativeHandle as R } from "react";
4
+ import { useVirtualList$u as S } from "../../hooks/useVirtualList.js";
5
+ function E({
6
+ items: l,
7
+ getKey: n,
8
+ renderItem: u,
9
+ estimateSize: c,
10
+ overscan: m,
11
+ height: e,
12
+ scrollElement: d,
13
+ busy: v,
14
+ footer: f,
15
+ empty: r,
16
+ "aria-label": p,
17
+ "aria-labelledby": b,
18
+ className: h,
19
+ itemClassName: N,
20
+ style: t
21
+ }, _) {
22
+ const { listRef: y, virtualItems: j, totalSize: I, measureElement: w, scrollToIndex: s } = S({
23
+ items: l,
24
+ getKey: n,
25
+ estimateSize: c,
26
+ overscan: m,
27
+ scrollElement: d
28
+ });
29
+ R(_, () => ({ scrollToIndex: s }), [s]);
30
+ const o = e !== void 0, x = ["u-virtual-list", o && "u-virtual-list--scroll", h].filter(Boolean).join(" "), L = ["u-virtual-list__item", N].filter(Boolean).join(" ");
31
+ return /* @__PURE__ */ B("div", { className: x, style: o ? { height: e, ...t } : t, children: [
32
+ /* @__PURE__ */ i(
33
+ "ul",
34
+ {
35
+ ref: y,
36
+ role: "list",
37
+ className: "u-virtual-list__inner",
38
+ style: { height: I },
39
+ "aria-label": p,
40
+ "aria-labelledby": b,
41
+ "aria-busy": v || void 0,
42
+ children: j.map(({ key: V, index: a, start: g, item: z }) => /* @__PURE__ */ i(
43
+ "li",
44
+ {
45
+ ref: w,
46
+ "data-index": a,
47
+ className: L,
48
+ style: { top: g },
49
+ "aria-setsize": l.length,
50
+ "aria-posinset": a + 1,
51
+ children: u(z, a)
52
+ },
53
+ V
54
+ ))
55
+ }
56
+ ),
57
+ !l.length && r !== void 0 && /* @__PURE__ */ i("div", { className: "u-virtual-list__empty", children: r }),
58
+ f
59
+ ] });
60
+ }
61
+ const A = C(E);
62
+ export { A as VirtualList$u };