urfu-ui-kit-react 2.1.5 → 2.1.7-next.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 (192) 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/Modal/useModalTitleClearance.js +5 -5
  47. package/dist/components/Multiselect/Multiselect.js +1 -1
  48. package/dist/components/Notification/Notification.d.ts.map +1 -1
  49. package/dist/components/Notification/Notification.js +97 -86
  50. package/dist/components/OfflineBanner/OfflineBanner.d.ts.map +1 -1
  51. package/dist/components/OfflineBanner/OfflineBanner.js +40 -32
  52. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  53. package/dist/components/Pagination/Pagination.js +61 -66
  54. package/dist/components/SearchSelect/SearchSelect.d.ts.map +1 -1
  55. package/dist/components/SearchSelect/SearchSelect.js +137 -134
  56. package/dist/components/TabPanels/TabPanels.d.ts +13 -0
  57. package/dist/components/TabPanels/TabPanels.d.ts.map +1 -0
  58. package/dist/components/TabPanels/TabPanels.js +8 -0
  59. package/dist/components/Table/Filter/Filter.d.ts.map +1 -1
  60. package/dist/components/Table/Filter/Filter.js +47 -47
  61. package/dist/components/Table/Filter/Filter.types.d.ts +2 -1
  62. package/dist/components/Table/Filter/Filter.types.d.ts.map +1 -1
  63. package/dist/components/Table/Filter/SelectFilter.d.ts.map +1 -1
  64. package/dist/components/Table/Filter/SelectFilter.js +9 -9
  65. package/dist/components/Table/Table.d.ts +1 -1
  66. package/dist/components/Table/Table.d.ts.map +1 -1
  67. package/dist/components/Table/Table.dataPipeline.d.ts +4 -3
  68. package/dist/components/Table/Table.dataPipeline.d.ts.map +1 -1
  69. package/dist/components/Table/Table.dataPipeline.js +63 -62
  70. package/dist/components/Table/Table.js +297 -297
  71. package/dist/components/Table/Table.rowTypes.d.ts +6 -0
  72. package/dist/components/Table/Table.rowTypes.d.ts.map +1 -0
  73. package/dist/components/Table/Table.types.d.ts +10 -3
  74. package/dist/components/Table/Table.types.d.ts.map +1 -1
  75. package/dist/components/Table/TableHead.d.ts +27 -19
  76. package/dist/components/Table/TableHead.d.ts.map +1 -1
  77. package/dist/components/Table/TableHead.js +1 -1
  78. package/dist/components/Table/TableMobileCard.d.ts +11 -11
  79. package/dist/components/Table/TableMobileCard.d.ts.map +1 -1
  80. package/dist/components/Table/TableMobileCard.js +81 -84
  81. package/dist/components/Table/TableMobileView.d.ts +7 -5
  82. package/dist/components/Table/TableMobileView.d.ts.map +1 -1
  83. package/dist/components/Table/TableRow.d.ts +10 -8
  84. package/dist/components/Table/TableRow.d.ts.map +1 -1
  85. package/dist/components/Table/TableRow.js +116 -112
  86. package/dist/components/Table/useTableColumnPinning.d.ts.map +1 -1
  87. package/dist/components/Table/useTableVirtualization.d.ts +5 -5
  88. package/dist/components/Table/useTableVirtualization.d.ts.map +1 -1
  89. package/dist/components/Table/useTableVirtualization.js +20 -20
  90. package/dist/components/Tabs/Tabs.d.ts +1 -1
  91. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  92. package/dist/components/Tabs/Tabs.js +109 -104
  93. package/dist/components/Tabs/Tabs.types.d.ts +29 -1
  94. package/dist/components/Tabs/Tabs.types.d.ts.map +1 -1
  95. package/dist/components/Tabs/distributeTabs.d.ts +6 -0
  96. package/dist/components/Tabs/distributeTabs.d.ts.map +1 -1
  97. package/dist/components/Tabs/tabsIndicator.d.ts +7 -3
  98. package/dist/components/Tabs/tabsIndicator.d.ts.map +1 -1
  99. package/dist/components/Tabs/tabsScroll.d.ts +20 -0
  100. package/dist/components/Tabs/tabsScroll.d.ts.map +1 -0
  101. package/dist/components/Tabs/useTabsOverflow.d.ts +3 -1
  102. package/dist/components/Tabs/useTabsOverflow.d.ts.map +1 -1
  103. package/dist/components/Tabs/useTabsOverflow.js +32 -32
  104. package/dist/components/Tabs/useTabsScroll.d.ts +4 -0
  105. package/dist/components/Tabs/useTabsScroll.d.ts.map +1 -0
  106. package/dist/components/Tabs/useTabsScroll.js +17 -0
  107. package/dist/components/Textarea/Textarea.d.ts +22 -2
  108. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  109. package/dist/components/Textarea/Textarea.js +48 -43
  110. package/dist/components/Textarea/Textarea.types.d.ts +1 -0
  111. package/dist/components/Textarea/Textarea.types.d.ts.map +1 -1
  112. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  113. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  114. package/dist/components/Tooltip/Tooltip.js +151 -132
  115. package/dist/components/Tooltip/Tooltip.types.d.ts +7 -2
  116. package/dist/components/Tooltip/Tooltip.types.d.ts.map +1 -1
  117. package/dist/components/TreeView/TreeView.js +95 -95
  118. package/dist/components/TreeView/TreeView.types.d.ts +1 -1
  119. package/dist/components/TreeView/TreeView.types.d.ts.map +1 -1
  120. package/dist/components/VirtualList/VirtualList.d.ts +45 -0
  121. package/dist/components/VirtualList/VirtualList.d.ts.map +1 -0
  122. package/dist/components/VirtualList/VirtualList.js +62 -0
  123. package/dist/dev/index.js +1306 -584
  124. package/dist/dev/types/react/src/dev/index.d.ts +1 -1
  125. package/dist/dev/types/vanilla/src/core/motion.d.ts +41 -0
  126. package/dist/dev/types/vanilla/src/core/requestLog.d.ts +29 -0
  127. package/dist/dev/types/vanilla/src/dev/highlight.d.ts +32 -0
  128. package/dist/dev/types/vanilla/src/dev/intercept.d.ts +4 -1
  129. package/dist/dev/types/vanilla/src/dev/motionModes.d.ts +30 -0
  130. package/dist/dev/types/vanilla/src/dev/panelKit.d.ts +49 -0
  131. package/dist/dev/types/vanilla/src/dev/panelStyles.d.ts +7 -0
  132. package/dist/dev/types/vanilla/src/dev/rules.d.ts +31 -0
  133. package/dist/dev/types/vanilla/src/dev/store.d.ts +7 -4
  134. package/dist/dev/types/vanilla/src/dev/types.d.ts +14 -3
  135. package/dist/dev/types/vanilla/src/dev/viewModes.d.ts +22 -0
  136. package/dist/hooks/useCollapseMotion.d.ts +18 -0
  137. package/dist/hooks/useCollapseMotion.d.ts.map +1 -0
  138. package/dist/hooks/useCollapseMotion.js +9 -0
  139. package/dist/hooks/useDismiss.d.ts +7 -1
  140. package/dist/hooks/useDismiss.d.ts.map +1 -1
  141. package/dist/hooks/useDismiss.js +19 -17
  142. package/dist/hooks/useEnterMotion.d.ts +9 -0
  143. package/dist/hooks/useEnterMotion.d.ts.map +1 -0
  144. package/dist/hooks/useEnterMotion.js +10 -0
  145. package/dist/hooks/useForwardedRef.d.ts +8 -0
  146. package/dist/hooks/useForwardedRef.d.ts.map +1 -0
  147. package/dist/hooks/useForwardedRef.js +8 -0
  148. package/dist/hooks/useInfiniteScroll.d.ts +27 -0
  149. package/dist/hooks/useInfiniteScroll.d.ts.map +1 -0
  150. package/dist/hooks/useInfiniteScroll.js +13 -0
  151. package/dist/hooks/useMountTransition.d.ts +1 -1
  152. package/dist/hooks/useMountTransition.d.ts.map +1 -1
  153. package/dist/hooks/useMountTransition.js +14 -13
  154. package/dist/hooks/useVirtualList.d.ts +34 -0
  155. package/dist/hooks/useVirtualList.d.ts.map +1 -0
  156. package/dist/hooks/useVirtualList.js +21 -0
  157. package/dist/index.d.ts +15 -1
  158. package/dist/index.d.ts.map +1 -1
  159. package/dist/shared/collapseMotion.d.ts +32 -0
  160. package/dist/shared/collapseMotion.d.ts.map +1 -0
  161. package/dist/shared/infiniteScroll.d.ts +42 -0
  162. package/dist/shared/infiniteScroll.d.ts.map +1 -0
  163. package/dist/shared/kitCopy.js +1 -1
  164. package/dist/shared/linkClick.d.ts +7 -0
  165. package/dist/shared/linkClick.d.ts.map +1 -0
  166. package/dist/shared/motion.d.ts +42 -0
  167. package/dist/shared/motion.d.ts.map +1 -0
  168. package/dist/shared/popupTransition.d.ts +10 -2
  169. package/dist/shared/popupTransition.d.ts.map +1 -1
  170. package/dist/shared/popupTransition.js +6 -5
  171. package/dist/shared/virtualList.d.ts +103 -0
  172. package/dist/shared/virtualList.d.ts.map +1 -0
  173. package/dist/style-no-fonts.css +1 -1
  174. package/dist/style.css +1 -1
  175. package/dist/style.layer.css +2 -2
  176. package/dist/style.shell.css +5 -5
  177. package/dist/urfu-ui-kit-react.js +53 -45
  178. package/dist/utils/describeError.d.ts +12 -1
  179. package/dist/utils/describeError.d.ts.map +1 -1
  180. package/dist/vanilla/core/collapseMotion.js +58 -0
  181. package/dist/vanilla/core/dateMask.js +6 -6
  182. package/dist/vanilla/core/describeError.js +169 -112
  183. package/dist/vanilla/core/distributeTabs.js +23 -20
  184. package/dist/vanilla/core/infiniteScroll.js +79 -0
  185. package/dist/vanilla/core/kitRegistry.js +4 -4
  186. package/dist/vanilla/core/linkClick.js +2 -0
  187. package/dist/vanilla/core/motion.js +29 -0
  188. package/dist/vanilla/core/requestLog.js +40 -0
  189. package/dist/vanilla/core/tabsIndicator.js +29 -26
  190. package/dist/vanilla/core/tabsScroll.js +29 -0
  191. package/dist/vanilla/core/virtualList.js +213 -0
  192. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
- import { jsxs as _, jsx as o, Fragment as Z } from "react/jsx-runtime";
1
+ import { jsxs as b, jsx as i, Fragment as Z } from "react/jsx-runtime";
2
2
  /* empty css */
3
- const B = () => /* @__PURE__ */ o("button", { type: "button", children: /* @__PURE__ */ o(
3
+ const A = () => /* @__PURE__ */ i("button", { type: "button", className: "u-paginator__pages-dots", children: /* @__PURE__ */ i(
4
4
  "svg",
5
5
  {
6
6
  xmlns: "http://www.w3.org/2000/svg",
@@ -8,7 +8,7 @@ const B = () => /* @__PURE__ */ o("button", { type: "button", children: /* @__PU
8
8
  height: "3",
9
9
  viewBox: "0 0 9 3",
10
10
  fill: "none",
11
- children: /* @__PURE__ */ o(
11
+ children: /* @__PURE__ */ i(
12
12
  "path",
13
13
  {
14
14
  d: "M1.61584 2.07C1.4105 2.07 1.23317 1.99533 1.08384 1.846C0.943836 1.69667 0.873836 1.51467 0.873836 1.3C0.873836 1.076 0.943836 0.894 1.08384 0.754C1.23317 0.614 1.4105 0.544 1.61584 0.544C1.82117 0.544 1.99384 0.614 2.13384 0.754C2.28317 0.894 2.35784 1.076 2.35784 1.3C2.35784 1.51467 2.28317 1.69667 2.13384 1.846C1.99384 1.99533 1.82117 2.07 1.61584 2.07ZM4.58263 2.07C4.3773 2.07 4.19997 1.99533 4.05063 1.846C3.91063 1.69667 3.84063 1.51467 3.84063 1.3C3.84063 1.076 3.91063 0.894 4.05063 0.754C4.19997 0.614 4.3773 0.544 4.58263 0.544C4.78797 0.544 4.96063 0.614 5.10063 0.754C5.24997 0.894 5.32463 1.076 5.32463 1.3C5.32463 1.51467 5.24997 1.69667 5.10063 1.846C4.96063 1.99533 4.78797 2.07 4.58263 2.07ZM7.54943 2.07C7.3441 2.07 7.16676 1.99533 7.01743 1.846C6.87743 1.69667 6.80743 1.51467 6.80743 1.3C6.80743 1.076 6.87743 0.894 7.01743 0.754C7.16676 0.614 7.3441 0.544 7.54943 0.544C7.75476 0.544 7.92743 0.614 8.06743 0.754C8.21676 0.894 8.29143 1.076 8.29143 1.3C8.29143 1.51467 8.21676 1.69667 8.06743 1.846C7.92743 1.99533 7.75476 2.07 7.54943 2.07Z",
@@ -17,105 +17,100 @@ const B = () => /* @__PURE__ */ o("button", { type: "button", children: /* @__PU
17
17
  )
18
18
  }
19
19
  ) });
20
- function L(n, t, s) {
21
- if (n <= s + 2)
22
- return Array.from({ length: n }, (i, d) => d + 1);
23
- const l = [1], r = Math.max(2, t - 1), u = Math.min(n - 1, t + 2);
24
- if (r > 2)
25
- l.push("dots");
26
- else
27
- for (let i = 2; i < r; i += 1) l.push(i);
28
- for (let i = r; i <= u; i += 1)
29
- l.push(i);
30
- if (u < n - 1)
31
- l.push("dots");
32
- else
33
- for (let i = u + 1; i < n; i += 1) l.push(i);
34
- return l.push(n), l;
20
+ function B(n, t, o) {
21
+ const a = Math.max(1, o - 2), l = a + 4;
22
+ if (n <= l)
23
+ return Array.from({ length: n }, (d, e) => e + 1);
24
+ const c = (d, e) => Array.from({ length: e - d + 1 }, (v, m) => d + m), u = t - Math.floor((a - 1) / 2), _ = u + a - 1;
25
+ return u <= 3 ? [...c(1, l - 2), "dots", n] : _ >= n - 2 ? [1, "dots", ...c(n - l + 3, n)] : [1, "dots", ...c(u, _), "dots", n];
35
26
  }
36
- const A = ({
27
+ const L = ({
37
28
  startItem: n,
38
29
  endItem: t,
39
- totalItems: s
40
- }) => `Записи с ${n} по ${t} из ${s}`;
30
+ totalItems: o
31
+ }) => `Записи с ${n} по ${t} из ${o}`;
41
32
  function V({
42
33
  totalItems: n,
43
34
  currentPage: t,
44
- pageSize: s,
45
- onPageChange: l,
46
- onPageSizeChange: r,
47
- dataLength: u,
48
- pageWindow: i = 6,
49
- pageSizeOptions: d,
50
- resultsRenderer: N,
51
- hideResults: m = !1,
52
- className: g = "",
53
- style: M,
54
- marginTop: c
35
+ pageSize: o,
36
+ onPageChange: a,
37
+ onPageSizeChange: l,
38
+ dataLength: c,
39
+ pageWindow: u = 6,
40
+ pageSizeOptions: _,
41
+ resultsRenderer: d,
42
+ hideResults: e = !1,
43
+ className: v = "",
44
+ style: m,
45
+ marginTop: p
55
46
  }) {
56
- const C = d ?? [10, 20, ...n > 20 ? [50] : []], p = C.length > 0 ? C : [s], y = p[0] ?? s, b = p.filter((a, e) => {
57
- if (e === 0) return !0;
58
- const R = p[e - 1];
47
+ const f = _ ?? [10, 20, ...n > 20 ? [50] : []], C = f.length > 0 ? f : [o], M = C[0] ?? o, g = C.filter((r, s) => {
48
+ if (s === 0) return !0;
49
+ const R = C[s - 1];
59
50
  return n > R;
60
- }), f = n > y && b.length > 1, h = Math.ceil(n / s), v = h > 1;
61
- if ((u ?? Math.max(0, Math.min(s, n - (t - 1) * s))) === 0 || !v && !f) return null;
62
- const $ = (t - 1) * s + 1, x = Math.min(t * s, n), k = () => L(h, t, i).map((a, e) => a === "dots" ? /* @__PURE__ */ o(B, {}, `dots-${e}`) : /* @__PURE__ */ o(
63
- "button",
64
- {
65
- type: "button",
66
- className: `u-paginator__pages-num ${a === t ? "u-paginator__pages-num_active" : ""}`,
67
- onClick: () => l(a),
68
- children: a
69
- },
70
- a
71
- )), D = N ?? A, w = c == null ? void 0 : typeof c == "number" ? `${c}px` : c, j = [
51
+ }), w = n > M && g.length > 1, h = Math.ceil(n / o), N = h > 1;
52
+ if ((c ?? Math.max(0, Math.min(o, n - (t - 1) * o))) === 0 || !N && !w) return null;
53
+ const $ = (t - 1) * o + 1, x = Math.min(t * o, n), k = () => B(h, t, u).map((r, s) => r === "dots" ? /* @__PURE__ */ i(A, {}, `dots-${s}`) : (
54
+ // Ключ — место в ряду, а не номер: при сдвиге окна кнопка остаётся на месте и меняет
55
+ // только число, подсветка не перетекает на соседнюю кнопку после перестановки (как во Vue).
56
+ /* @__PURE__ */ i(
57
+ "button",
58
+ {
59
+ type: "button",
60
+ className: `u-paginator__pages-num ${r === t ? "u-paginator__pages-num_active" : ""}`,
61
+ onClick: () => a(r),
62
+ children: r
63
+ },
64
+ `page-${s}`
65
+ )
66
+ )), D = d ?? L, y = p == null ? void 0 : typeof p == "number" ? `${p}px` : p, j = [
72
67
  "u-pagination",
73
- m ? "u-pagination_no-results" : "",
74
- g
68
+ e ? "u-pagination_no-results" : "",
69
+ v
75
70
  ].filter(Boolean).join(" ");
76
- return /* @__PURE__ */ _(
71
+ return /* @__PURE__ */ b(
77
72
  "div",
78
73
  {
79
74
  className: j,
80
75
  style: {
81
- ...w != null ? { marginTop: w } : null,
82
- ...M
76
+ ...y != null ? { marginTop: y } : null,
77
+ ...m
83
78
  },
84
79
  children: [
85
- m ? null : /* @__PURE__ */ o("p", { className: "u-pagination__result", children: D({ startItem: $, endItem: x, totalItems: n }) }),
86
- /* @__PURE__ */ o("div", { className: "u-pagination__limits", children: f && /* @__PURE__ */ _(Z, { children: [
80
+ e ? null : /* @__PURE__ */ i("p", { className: "u-pagination__result", children: D({ startItem: $, endItem: x, totalItems: n }) }),
81
+ /* @__PURE__ */ i("div", { className: "u-pagination__limits", children: w && /* @__PURE__ */ b(Z, { children: [
87
82
  "Выводить по",
88
- /* @__PURE__ */ o("div", { className: "u-pagination__limit-wrapper", children: b.map((a) => /* @__PURE__ */ o(
83
+ /* @__PURE__ */ i("div", { className: "u-pagination__limit-wrapper", children: g.map((r) => /* @__PURE__ */ i(
89
84
  "span",
90
85
  {
91
- className: `u-pagination__limit ${a === s ? "u-pagination__limit_active" : ""}`,
92
- onClick: () => r(a),
86
+ className: `u-pagination__limit ${r === o ? "u-pagination__limit_active" : ""}`,
87
+ onClick: () => l(r),
93
88
  role: "button",
94
89
  tabIndex: 0,
95
- onKeyDown: (e) => e.key === "Enter" && r(a),
96
- children: a
90
+ onKeyDown: (s) => s.key === "Enter" && l(r),
91
+ children: r
97
92
  },
98
- a
93
+ r
99
94
  )) })
100
95
  ] }) }),
101
- /* @__PURE__ */ o("div", { className: "u-table-pagination-paginator-column", children: v ? /* @__PURE__ */ _("div", { className: "u-paginator", children: [
102
- /* @__PURE__ */ o(
96
+ /* @__PURE__ */ i("div", { className: "u-table-pagination-paginator-column", children: N ? /* @__PURE__ */ b("div", { className: "u-paginator", children: [
97
+ /* @__PURE__ */ i(
103
98
  "button",
104
99
  {
105
100
  type: "button",
106
101
  className: `u-paginator__arrow-btn ${t === 1 ? "u-paginator__arrow-btn_inactive" : ""}`,
107
102
  "aria-label": "Предыдущая страница",
108
- onClick: () => t > 1 && l(t - 1)
103
+ onClick: () => t > 1 && a(t - 1)
109
104
  }
110
105
  ),
111
- /* @__PURE__ */ o("div", { className: "u-paginator__pages", children: k() }),
112
- /* @__PURE__ */ o(
106
+ /* @__PURE__ */ i("div", { className: "u-paginator__pages", children: k() }),
107
+ /* @__PURE__ */ i(
113
108
  "button",
114
109
  {
115
110
  type: "button",
116
111
  className: `u-paginator__arrow-btn u-paginator__arrow-btn-right ${t === h ? "u-paginator__arrow-btn-right_inactive" : ""}`,
117
112
  "aria-label": "Следующая страница",
118
- onClick: () => t < h && l(t + 1)
113
+ onClick: () => t < h && a(t + 1)
119
114
  }
120
115
  )
121
116
  ] }) : null })
@@ -1 +1 @@
1
- {"version":3,"file":"SearchSelect.d.ts","sourceRoot":"","sources":["../../../src/components/SearchSelect/SearchSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,kCAAkC,CAAC;AAE1C,OAAO,EAAE,sBAAsB,EAAyB,MAAM,sBAAsB,CAAA;AACpF,OAAO,0BAA0B,CAAA;AACjC,OAAO,yBAAyB,CAAA;AAUhC,eAAO,MAAM,YAAY,GAAI,+aAgC1B,sBAAsB,4CAoYxB,CAAA"}
1
+ {"version":3,"file":"SearchSelect.d.ts","sourceRoot":"","sources":["../../../src/components/SearchSelect/SearchSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,kCAAkC,CAAC;AAE1C,OAAO,EAAE,sBAAsB,EAAyB,MAAM,sBAAsB,CAAA;AACpF,OAAO,0BAA0B,CAAA;AACjC,OAAO,yBAAyB,CAAA;AAUhC,eAAO,MAAM,YAAY,GAAI,+aAgC1B,sBAAsB,4CAiZxB,CAAA"}
@@ -1,167 +1,170 @@
1
1
  import { jsx as o, jsxs as S } from "react/jsx-runtime";
2
- import { getFieldAccessibility$u as De } from "../../shared/fieldAccessibility.js";
3
- import { useState as Ee, useRef as U, useEffect as N, useMemo as Ke } from "react";
2
+ import { getFieldAccessibility$u as Ee } from "../../shared/fieldAccessibility.js";
3
+ import { useState as Ke, useRef as V, useEffect as z, useMemo as Pe } from "react";
4
4
  /* empty css */
5
- import { createPortal as Pe } from "react-dom";
5
+ import { createPortal as Ae } from "react-dom";
6
6
  /* empty css */
7
7
  /* empty css */
8
- import { useSelectEngine$u as Ae } from "../../hooks/useSelectEngine.js";
9
- import { isSameOptionValue$u as Le, getOptionKeys$u as Be } from "../../shared/optionValue.js";
10
- import { getPopupTransitionStyle$u as I } from "../../shared/popupTransition.js";
11
- import { useFlippedPlacement$u as He } from "./useFlippedPlacement.js";
12
- import { SearchSelectOption$u as Fe } from "./SearchSelectOption.js";
13
- import { isCompact$u as Ge, sizeClassName$u as Me } from "../../shared/size.js";
14
- import { getPortalScopeProps$u as We } from "../../shared/uiKitDefaults.js";
15
- import { resolveValidation$u as Ye } from "../../vanilla/core/validation.js";
16
- const lt = ({
17
- "aria-label": V,
18
- "aria-labelledby": C,
19
- "aria-describedby": ee,
8
+ import { useSelectEngine$u as Be } from "../../hooks/useSelectEngine.js";
9
+ import { isSameOptionValue$u as Fe, getOptionKeys$u as He } from "../../shared/optionValue.js";
10
+ import { getPopupTransitionStyle$u as C } from "../../shared/popupTransition.js";
11
+ import { useFlippedPlacement$u as Ge } from "./useFlippedPlacement.js";
12
+ import { SearchSelectOption$u as Me } from "./SearchSelectOption.js";
13
+ import { isCompact$u as We, sizeClassName$u as Ye } from "../../shared/size.js";
14
+ import { getPortalScopeProps$u as qe } from "../../shared/uiKitDefaults.js";
15
+ import { resolveValidation$u as Je } from "../../vanilla/core/validation.js";
16
+ const ot = ({
17
+ "aria-label": ee,
18
+ "aria-labelledby": te,
19
+ "aria-describedby": ce,
20
20
  title: O = "",
21
- required: z = !1,
22
- options: R,
23
- styleSelectContainer: te,
24
- styleTitle: ce,
25
- styleSelect: ie,
21
+ required: R = !1,
22
+ options: T,
23
+ styleSelectContainer: se,
24
+ styleTitle: ie,
25
+ styleSelect: le,
26
26
  lineUp: v = !1,
27
- rowGap: se = 4,
28
- columnGap: le = 20,
29
- placeholder: re = "Не выбрано",
27
+ rowGap: re = 4,
28
+ columnGap: oe = 20,
29
+ placeholder: ae = "Не выбрано",
30
30
  value: t,
31
31
  isClearable: g = !1,
32
32
  onChange: f,
33
- className: oe,
34
- tableView: T = !1,
35
- size: $,
36
- validationText: ae = "Заполните поле",
37
- validationOn: D,
38
- error: ne,
39
- absoluteValidationText: de,
33
+ className: ne,
34
+ tableView: $ = !1,
35
+ size: D,
36
+ validationText: de = "Заполните поле",
37
+ validationOn: L,
38
+ error: pe,
39
+ absoluteValidationText: fe,
40
40
  disabled: n,
41
- portalOn: pe,
41
+ portalOn: me,
42
42
  onInputChange: y,
43
- loading: x,
44
- inputValue: b,
43
+ loading: b,
44
+ inputValue: x,
45
45
  onInputValueChange: c,
46
- emptyOptionsText: fe = "Ничего не найдено",
47
- id: me
46
+ emptyOptionsText: be = "Ничего не найдено",
47
+ id: xe
48
48
  }) => {
49
- const h = Ge($, T), E = Me($, T), w = Ye({ error: ne, validationOn: D, validationText: ae }), [j, m] = Ee(""), K = U(!1), a = typeof b == "string" && typeof c == "function", r = j && !a ? R.filter((e) => (e.label ?? "").toLowerCase().includes((a ? b : j).toLowerCase())) : R, P = r.findIndex((e) => Le(e == null ? void 0 : e.value, t == null ? void 0 : t.value)), d = Ae({
49
+ const u = We(D, $), E = Ye(D, $), w = Je({ error: pe, validationOn: L, validationText: de }), [j, m] = Ke(""), K = V(!1), a = typeof x == "string" && typeof c == "function", r = j && !a ? T.filter((e) => (e.label ?? "").toLowerCase().includes((a ? x : j).toLowerCase())) : T, P = r.findIndex((e) => Fe(e == null ? void 0 : e.value, t == null ? void 0 : t.value)), d = Be({
50
50
  optionsLength: r.length,
51
51
  initialIndex: Math.max(0, P),
52
52
  selectedIndex: P,
53
53
  disabled: n,
54
- portalOn: pe,
55
- loading: x,
56
- id: me,
54
+ portalOn: me,
55
+ loading: b,
56
+ id: xe,
57
57
  idPrefix: "u-search-select",
58
58
  // Под полем, а не в 30 пикселях от его верха: прежняя постоянная
59
59
  // подходила только компактному полю и накрывала обычное.
60
60
  getPortalPosition: (e) => ({ x: e.x, y: e.y + 60 + e.height + e.scrollY }),
61
61
  onSelectByIndex: (e) => {
62
62
  const l = r[e];
63
- l && M.current(l);
63
+ l && W.current(l);
64
64
  }
65
65
  }), {
66
- isOpen: s,
66
+ isOpen: i,
67
67
  blockRef: A,
68
- portalOptionsRef: L,
69
- optionsListRef: B,
68
+ portalOptionsRef: B,
69
+ optionsListRef: F,
70
70
  listboxId: p,
71
- activeDescendantId: xe,
72
- activeIndex: be,
73
- hoveredIndex: ye,
74
- setHoveredIndex: he,
75
- handleKeyDown: ue,
76
- shouldRenderPortal: Se,
77
- portalStatus: Oe,
78
- shouldRenderLocal: ve,
79
- localStatus: ge,
71
+ activeDescendantId: ye,
72
+ activeIndex: ue,
73
+ hoveredIndex: he,
74
+ setHoveredIndex: Se,
75
+ handleKeyDown: Oe,
76
+ shouldRenderPortal: ve,
77
+ portalStatus: ge,
78
+ shouldRenderLocal: we,
79
+ localStatus: je,
80
80
  isAnimated: H,
81
- portalWidth: we,
82
- anchor: je,
81
+ portalWidth: ke,
82
+ anchor: Ne,
83
83
  usePortal: k
84
- } = d, i = d.portalPosition, ke = De(p, O, z, w, {
85
- "aria-label": V,
86
- "aria-labelledby": C,
87
- "aria-describedby": ee
88
- }), F = d.close, G = (e) => typeof e == "number" ? `calc(${e} * var(--u-preset-unit, 1px))` : String(e), M = U(() => {
89
- }), { flippedTop: Ne, flippedUp: ze } = He({
90
- isOpen: s,
84
+ } = d, s = d.portalPosition, ze = Ee(p, O, R, w, {
85
+ "aria-label": ee,
86
+ "aria-labelledby": te,
87
+ "aria-describedby": ce
88
+ }), G = d.close, M = (e) => typeof e == "number" ? `calc(${e} * var(--u-preset-unit, 1px))` : String(e), W = V(() => {
89
+ }), { flippedTop: Re, flippedUp: Te } = Ge({
90
+ isOpen: i,
91
91
  portalOn: k,
92
- anchor: je,
92
+ anchor: Ne,
93
93
  blockRef: A,
94
- portalOptionsRef: L,
95
- optionsListRef: B,
96
- dependencies: [i == null ? void 0 : i.x, i == null ? void 0 : i.y, r.length, x]
94
+ portalOptionsRef: B,
95
+ optionsListRef: F,
96
+ dependencies: [s == null ? void 0 : s.x, s == null ? void 0 : s.y, r.length, b]
97
97
  });
98
- N(() => {
98
+ z(() => {
99
99
  t && Object.keys(t).length == 0 && m("");
100
- }, [t]), N(() => {
101
- t != null && t.label && Object.keys(t).length && !s && m(t.label);
102
- }, [s, t]);
103
- const W = a ? b : j, Re = (e) => {
104
- n || (s || d.open(e.currentTarget), a ? c && c(e.target.value) : m(e.target.value), y && y(e.target.value));
105
- }, u = !!(t && typeof t == "object" && t.value !== void 0 && String(t.value).length > 0);
106
- N(() => {
100
+ }, [t]), z(() => {
101
+ t != null && t.label && Object.keys(t).length && !i && m(t.label);
102
+ }, [i, t]);
103
+ const N = a ? x : j, $e = (e) => {
104
+ n || (i || d.open(e.currentTarget), a ? c && c(e.target.value) : m(e.target.value), y && y(e.target.value));
105
+ }, h = !!(t && typeof t == "object" && t.value !== void 0 && String(t.value).length > 0), Y = t != null && t.label && Object.keys(t).length ? t.label : "", q = !i && !N ? Y : "";
106
+ z(() => {
107
107
  const e = K.current;
108
- K.current = s, e && !s && a && u && b.length > 0 && (c == null || c(""));
109
- }, [s, a, u, b, c]);
110
- const Te = () => {
111
- n || (f == null || f(null), a ? c == null || c("") : m(""), y && y(""), F());
112
- }, Y = (e) => {
113
- e.preventDefault(), e.stopPropagation(), Te();
114
- }, q = (e) => {
115
- f == null || f(e), F(), a ? c == null || c("") : m(e.label ?? "");
116
- }, $e = Ke(() => Be(r), [r]);
117
- M.current = q;
118
- const J = g && u ? h ? "calc(28 * var(--u-unit, 1px))" : "calc(40 * var(--u-unit, 1px))" : void 0, Q = g ? { display: "block" } : null, X = /* @__PURE__ */ o("div", { className: "u-selectbox-empty-text", children: fe }), Z = (e, l) => /* @__PURE__ */ o(
119
- Fe,
108
+ K.current = i, e && !i && a && h && x.length > 0 && (c == null || c(""));
109
+ }, [i, a, h, x, c]);
110
+ const De = () => {
111
+ n || (f == null || f(null), a ? c == null || c("") : m(""), y && y(""), G());
112
+ }, J = (e) => {
113
+ e.preventDefault(), e.stopPropagation(), De();
114
+ }, Q = (e) => {
115
+ f == null || f(e), G(), a ? c == null || c("") : m(e.label ?? "");
116
+ }, Le = Pe(() => He(r), [r]);
117
+ W.current = Q;
118
+ const X = g && h ? u ? "calc(28 * var(--u-unit, 1px))" : "calc(40 * var(--u-unit, 1px))" : void 0, Z = g ? { display: "block" } : null, _ = /* @__PURE__ */ o("div", { className: "u-selectbox-empty-text", children: be }), U = (e, l) => /* @__PURE__ */ o(
119
+ Me,
120
120
  {
121
121
  option: e,
122
122
  index: l,
123
123
  listboxId: p,
124
124
  selectedValue: t == null ? void 0 : t.value,
125
- isActive: ye === l || be === l,
126
- tableView: h,
127
- onSelect: q,
128
- onHover: he
125
+ isActive: he === l || ue === l,
126
+ tableView: u,
127
+ onSelect: Q,
128
+ onHover: Se
129
129
  },
130
- $e[l]
131
- ), _ = /* @__PURE__ */ o(
130
+ Le[l]
131
+ ), I = /* @__PURE__ */ o(
132
132
  "input",
133
133
  {
134
- className: s ? "u-selectbox-select u-selectbox-select-open" : "u-selectbox-select",
134
+ className: i ? "u-selectbox-select u-selectbox-select-open" : "u-selectbox-select",
135
135
  role: "combobox",
136
- ...ke,
137
- "aria-expanded": s,
136
+ ...ze,
137
+ "aria-expanded": i,
138
138
  "aria-haspopup": "listbox",
139
139
  "aria-controls": p,
140
140
  "aria-autocomplete": "list",
141
- "aria-activedescendant": xe,
141
+ "aria-activedescendant": ye,
142
142
  onClick: (e) => {
143
- W.length > 0 && (a ? c && c("") : m("")), !n && s && e.currentTarget.blur(), d.toggle(e.currentTarget);
143
+ N.length > 0 && (a ? c && c("") : m("")), !n && i && e.currentTarget.blur(), d.toggle(e.currentTarget);
144
144
  },
145
145
  style: Object.assign(
146
- h ? {
146
+ u ? {
147
147
  height: "var(--u-compact-height)",
148
148
  fontSize: "var(--u-compact-font-size)",
149
149
  lineHeight: 1,
150
150
  padding: "var(--u-compact-padding)",
151
151
  borderRadius: "calc(8 * var(--u-unit, 1px))"
152
152
  } : {},
153
- J != null ? { paddingRight: J } : {},
154
- D && { border: "1px solid var(--u-color-error, #EF302B)" }
153
+ X != null ? { paddingRight: X } : {},
154
+ L && { border: "1px solid var(--u-color-error, #EF302B)" }
155
155
  ),
156
156
  type: "text",
157
157
  disabled: n,
158
- value: W || "",
159
- onChange: Re,
160
- onKeyDown: ue,
161
- placeholder: t != null && t.label && Object.keys(t).length ? t.label : re
158
+ value: N || q,
159
+ onFocus: (e) => {
160
+ q && e.currentTarget.select();
161
+ },
162
+ onChange: $e,
163
+ onKeyDown: Oe,
164
+ placeholder: Y || ae
162
165
  }
163
166
  );
164
- return /* @__PURE__ */ S("div", { className: `u-react-select-container${E ? ` ${E}` : ""} ${oe ?? ""}`, style: { position: "relative" }, children: [
167
+ return /* @__PURE__ */ S("div", { className: `u-react-select-container${E ? ` ${E}` : ""} ${ne ?? ""}`, style: { position: "relative" }, children: [
165
168
  /* @__PURE__ */ S(
166
169
  "div",
167
170
  {
@@ -169,23 +172,23 @@ const lt = ({
169
172
  {
170
173
  display: "flex",
171
174
  flexDirection: v ? "row" : "column",
172
- rowGap: v ? null : G(se),
173
- columnGap: v ? G(le) : null
175
+ rowGap: v ? null : M(re),
176
+ columnGap: v ? M(oe) : null
174
177
  },
175
- te
178
+ se
176
179
  ),
177
180
  children: [
178
181
  O && /* @__PURE__ */ o(
179
182
  "div",
180
183
  {
181
184
  id: `${p}-label`,
182
- className: `${z ? "u-required" : ""} u-react-select-title`,
185
+ className: `${R ? "u-required" : ""} u-react-select-title`,
183
186
  style: Object.assign(
184
187
  {
185
188
  color: "var(--u-field-title-color, #545454)",
186
189
  fontSize: "var(--u-field-label-size-main, calc(14 * var(--u-unit, 1px)))"
187
190
  },
188
- ce
191
+ ie
189
192
  ),
190
193
  children: O
191
194
  }
@@ -199,55 +202,55 @@ const lt = ({
199
202
  {
200
203
  width: "100%"
201
204
  },
202
- ie
205
+ le
203
206
  ),
204
207
  children: [
205
208
  g ? /* @__PURE__ */ S("div", { style: { position: "relative", width: "100%" }, children: [
206
- _,
207
- !n && u ? /* @__PURE__ */ o(
209
+ I,
210
+ !n && h ? /* @__PURE__ */ o(
208
211
  "div",
209
212
  {
210
213
  role: "button",
211
214
  tabIndex: -1,
212
215
  className: "u-selectbox-select-icon-cross",
213
216
  "aria-label": "Очистить",
214
- onClick: Y,
217
+ onClick: J,
215
218
  onKeyDown: (e) => {
216
- (e.key === "Enter" || e.key === " ") && Y(e);
219
+ (e.key === "Enter" || e.key === " ") && J(e);
217
220
  },
218
221
  style: {
219
222
  zIndex: 2,
220
223
  cursor: "pointer",
221
- right: h ? "calc(8 * var(--u-unit, 1px))" : "calc(20 * var(--u-unit, 1px))"
224
+ right: u ? "calc(8 * var(--u-unit, 1px))" : "calc(20 * var(--u-unit, 1px))"
222
225
  }
223
226
  }
224
227
  ) : null
225
- ] }) : _,
226
- s && x ? /* @__PURE__ */ o(
228
+ ] }) : I,
229
+ i && b ? /* @__PURE__ */ o(
227
230
  "div",
228
231
  {
229
232
  className: "u-selectbox-options",
230
233
  style: Object.assign(
231
234
  { textAlign: "center", padding: "calc(16 * var(--u-unit, 1px))" },
232
- Q ?? {}
235
+ Z ?? {}
233
236
  ),
234
237
  children: /* @__PURE__ */ o("span", { className: "u-selectbox-loading", children: "Загрузка..." })
235
238
  }
236
239
  ) : null,
237
- !x && k && Se && i && Pe(
240
+ !b && k && ve && s && Ae(
238
241
  /* @__PURE__ */ o(
239
242
  "div",
240
243
  {
241
- ref: L,
242
- ...We(),
244
+ ref: B,
245
+ ...qe(),
243
246
  id: p,
244
247
  role: "listbox",
245
248
  className: "u-selectbox-options",
246
249
  style: Object.assign(
247
250
  {
248
- width: we,
249
- left: i == null ? void 0 : i.x,
250
- top: Ne ?? (i == null ? void 0 : i.y) - 60,
251
+ width: ke,
252
+ left: s == null ? void 0 : s.x,
253
+ top: Re ?? (s == null ? void 0 : s.y) - 60,
251
254
  opacity: 1,
252
255
  visibility: "visible",
253
256
  height: "fit-content",
@@ -257,30 +260,30 @@ const lt = ({
257
260
  display: "block"
258
261
  },
259
262
  d.optionsStyle,
260
- I(Oe, H)
263
+ C(ge, H)
261
264
  ),
262
- children: r.length > 0 ? r.map((e, l) => Z(e, l)) : X
265
+ children: r.length > 0 ? r.map((e, l) => U(e, l)) : _
263
266
  }
264
267
  ),
265
268
  document.body
266
269
  ),
267
- !x && !k && ve ? /* @__PURE__ */ o(
270
+ !b && !k && we ? /* @__PURE__ */ o(
268
271
  "div",
269
272
  {
270
- ref: B,
273
+ ref: F,
271
274
  id: p,
272
275
  role: "listbox",
273
- className: ze ? "u-selectbox-options u-selectbox-options-up" : "u-selectbox-options",
276
+ className: Te ? "u-selectbox-options u-selectbox-options-up" : "u-selectbox-options",
274
277
  style: Object.assign(
275
278
  {},
276
- Q ?? {},
279
+ Z ?? {},
277
280
  // см. Select: без своего `display` переход срывается на кадре,
278
281
  // когда vanilla уже спрятала список, а узел ещё нужен
279
282
  { display: "block" },
280
283
  d.optionsStyle,
281
- I(ge, H)
284
+ C(je, H)
282
285
  ),
283
- children: r.length > 0 ? r.map((e, l) => Z(e, l)) : X
286
+ children: r.length > 0 ? r.map((e, l) => U(e, l)) : _
284
287
  }
285
288
  ) : null
286
289
  ]
@@ -289,7 +292,7 @@ const lt = ({
289
292
  ]
290
293
  }
291
294
  ),
292
- w.showText && /* @__PURE__ */ o("h5", { id: `${p}-error`, className: "h5 clr-red-main", style: de ? { position: "absolute", bottom: "calc(-20 * var(--u-unit, 1px))" } : { position: "relative", marginTop: "calc(4 * var(--u-unit, 1px))" }, children: w.text })
295
+ w.showText && /* @__PURE__ */ o("h5", { id: `${p}-error`, className: "h5 clr-red-main", style: fe ? { position: "absolute", bottom: "calc(-20 * var(--u-unit, 1px))" } : { position: "relative", marginTop: "calc(4 * var(--u-unit, 1px))" }, children: w.text })
293
296
  ] });
294
297
  };
295
- export { lt as SearchSelect$u };
298
+ export { ot as SearchSelect$u };
@@ -0,0 +1,13 @@
1
+ import { type HTMLAttributes, type ReactNode } from 'react';
2
+ export type TabPanelsProps = Omit<HTMLAttributes<HTMLDivElement>, 'children'> & {
3
+ /** Ключ открытой вкладки — то же значение, что `activeTab` у `Tabs`. Смена ключа проигрывает появление. */
4
+ activeKey: string | number;
5
+ children?: ReactNode;
6
+ };
7
+ /**
8
+ * Обёртка содержимого вкладок: при смене `activeKey` содержимое появляется на шкале движения
9
+ * (`playEnterMotion`). Сама обёртка не пересоздаётся, поэтому дети сохраняют состояние;
10
+ * работает и вокруг `<Outlet>`. Первый показ и `prefers-reduced-motion` — без анимации.
11
+ */
12
+ export declare const TabPanels: ({ activeKey, children, ...rest }: TabPanelsProps) => import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=TabPanels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabPanels.d.ts","sourceRoot":"","sources":["../../../src/components/TabPanels/TabPanels.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGpE,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,GAAG;IAC9E,2GAA2G;IAC3G,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,kCAAkC,cAAc,4CAQzE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { useRef as m } from "react";
3
+ import { useEnterMotion$u as s } from "../../hooks/useEnterMotion.js";
4
+ const u = ({ activeKey: r, children: t, ...e }) => {
5
+ const o = m(null);
6
+ return s(o, r), /* @__PURE__ */ n("div", { ref: o, ...e, children: t });
7
+ };
8
+ export { u as TabPanels$u };