urfu-ui-kit-react 2.1.7-next.0 → 2.1.7-next.2

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 (75) hide show
  1. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  2. package/dist/components/Calendar/Calendar.js +232 -194
  3. package/dist/components/Calendar/Calendar.types.d.ts +21 -0
  4. package/dist/components/Calendar/Calendar.types.d.ts.map +1 -1
  5. package/dist/components/Calendar/CalendarSelect.js +38 -38
  6. package/dist/components/Calendar/MaskedDateInput.d.ts +2 -0
  7. package/dist/components/Calendar/MaskedDateInput.d.ts.map +1 -1
  8. package/dist/components/Calendar/MaskedDateInput.js +120 -113
  9. package/dist/components/ColumnSettings/ColumnSettings.d.ts.map +1 -1
  10. package/dist/components/ColumnSettings/ColumnSettings.js +22 -21
  11. package/dist/components/ConfirmModal/ConfirmModal.d.ts +0 -1
  12. package/dist/components/ConfirmModal/ConfirmModal.d.ts.map +1 -1
  13. package/dist/components/ConfirmModal/ConfirmModal.js +11 -12
  14. package/dist/components/Drawer/Drawer.d.ts.map +1 -1
  15. package/dist/components/Drawer/Drawer.js +23 -22
  16. package/dist/components/ErrorScreen/ErrorScreenIllustration.js +28 -28
  17. package/dist/components/InputExpandTextarea/InputExpandTextarea.js +1 -1
  18. package/dist/components/InputTime/InputTime.js +12 -12
  19. package/dist/components/Menu/Menu.js +11 -11
  20. package/dist/components/Modal/Modal.js +33 -33
  21. package/dist/components/Pagination/Pagination.js +22 -22
  22. package/dist/components/Preloader/Preloader.d.ts.map +1 -1
  23. package/dist/components/Preloader/Preloader.js +13 -13
  24. package/dist/components/Search/Search.d.ts.map +1 -1
  25. package/dist/components/Search/Search.js +28 -23
  26. package/dist/components/Select/Select.d.ts +2 -0
  27. package/dist/components/Select/Select.d.ts.map +1 -1
  28. package/dist/components/Select/Select.js +21 -19
  29. package/dist/components/StickyActionBar/StickyActionBar.d.ts.map +1 -1
  30. package/dist/components/StickyActionBar/StickyActionBar.js +45 -58
  31. package/dist/components/Switch/Switch.d.ts.map +1 -1
  32. package/dist/components/Switch/Switch.js +8 -8
  33. package/dist/components/Table/Filter/FilterStringBox.d.ts.map +1 -1
  34. package/dist/components/Table/Filter/FilterStringBox.js +45 -40
  35. package/dist/components/Table/Filter/SelectFilter.d.ts.map +1 -1
  36. package/dist/components/Table/Filter/SelectFilter.js +24 -22
  37. package/dist/components/Table/Filter/filterLoading.d.ts +4 -1
  38. package/dist/components/Table/Filter/filterLoading.d.ts.map +1 -1
  39. package/dist/components/Table/Filter/filterLoading.js +6 -2
  40. package/dist/components/Table/Filter/useServerFilterOptions.d.ts +4 -1
  41. package/dist/components/Table/Filter/useServerFilterOptions.d.ts.map +1 -1
  42. package/dist/components/Table/Filter/useServerFilterOptions.js +28 -25
  43. package/dist/components/Table/Table.filterTypes.d.ts +5 -0
  44. package/dist/components/Table/Table.filterTypes.d.ts.map +1 -1
  45. package/dist/components/Table/TableHead.js +6 -6
  46. package/dist/components/Table/TableMobileCard.d.ts.map +1 -1
  47. package/dist/components/Table/TableMobileCard.js +27 -26
  48. package/dist/components/Table/TableMobileView.js +46 -46
  49. package/dist/components/Table/TableRow.js +1 -1
  50. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  51. package/dist/components/Tabs/Tabs.js +25 -24
  52. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  53. package/dist/components/Tooltip/Tooltip.js +37 -36
  54. package/dist/dev/index.js +18 -19
  55. package/dist/dev/types/vanilla/src/dev/panelStyles.d.ts +1 -1
  56. package/dist/hooks/useAutoId.js +3 -3
  57. package/dist/index.d.ts +1 -1
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/shared/kitCopy.js +1 -1
  60. package/dist/shared/kitRegistry.d.ts +2 -2
  61. package/dist/shared/optionStateColors.d.ts +2 -2
  62. package/dist/shared/optionStateColors.js +4 -4
  63. package/dist/style-no-fonts.css +1 -1
  64. package/dist/style.css +1 -1
  65. package/dist/style.layer.css +2 -2
  66. package/dist/style.shell.css +3 -3
  67. package/dist/utils/inputMode.d.ts +5 -0
  68. package/dist/utils/inputMode.d.ts.map +1 -1
  69. package/dist/vanilla/core/dateMask.js +1 -1
  70. package/dist/vanilla/core/describeError.js +10 -10
  71. package/dist/vanilla/core/inputMode.js +18 -11
  72. package/package.json +1 -1
  73. package/dist/shared/devLauncherOffset.d.ts +0 -8
  74. package/dist/shared/devLauncherOffset.d.ts.map +0 -1
  75. package/dist/vanilla/core/devLauncherOffset.js +0 -20
@@ -1,14 +1,14 @@
1
- import { jsx as c } from "react/jsx-runtime";
1
+ import { jsx as u } from "react/jsx-runtime";
2
2
  import { FilterConditionSelect$u as q } from "./FilterConditionSelect.js";
3
3
  import { getColumnSortDirection$u as B, getFilterResetLabel$u as k } from "./filterBoxHelpers.js";
4
- import { selectNumber$u as v, selectText$u as ee } from "./SelectOptions.js";
4
+ import { selectNumber$u as g, selectText$u as ee } from "./SelectOptions.js";
5
5
  import { FilterBoxShell$u as te } from "./FilterBoxShell.js";
6
6
  import { TableFilterOptions$u as E } from "./TableFilterOptions.js";
7
7
  import { useState as H, useEffect as ie } from "react";
8
8
  import { useServerFilterOptions$u as oe } from "./useServerFilterOptions.js";
9
9
  import { usePagedFilterOptions$u as re } from "./usePagedFilterOptions.js";
10
10
  import { filterExpressionSummary$u as ne, parseFilterNumber$u as se, matchesNumeric$u as le } from "./filterExpression.js";
11
- import { getFilterSelectedCount$u as ae, isServerFilterActive$u as de } from "../Table.helpers.js";
11
+ import { getFilterSelectedCount$u as de, isServerFilterActive$u as ae } from "../Table.helpers.js";
12
12
  const Ne = ({
13
13
  column: i,
14
14
  anchorRef: M,
@@ -16,48 +16,53 @@ const Ne = ({
16
16
  width: j,
17
17
  label: z,
18
18
  tableRight: I,
19
- typeFilterSearch: b,
19
+ typeFilterSearch: h,
20
20
  setTypeFilterSearch: G,
21
- handleSort: O,
22
- sort: d,
21
+ handleSort: C,
22
+ sort: m,
23
23
  textSearch: J,
24
24
  setTextSearch: K,
25
25
  searched: Q,
26
- checkBoxes: g,
27
- uncheckedValues: x,
26
+ checkBoxes: b,
27
+ uncheckedValues: A,
28
28
  setUncheckedValues: V,
29
29
  embedded: W,
30
- basePages: C,
31
- baseOptions: A,
30
+ basePages: T,
31
+ baseOptions: l,
32
32
  onSelectedCountChange: f
33
33
  }) => {
34
- const e = i.filterServer, [o, X] = H(""), h = i.filterType === "number", l = (e == null ? void 0 : e.type) === "values" && h && i.filterShowConditions === !0, [F, Y] = H(v[0]), T = !!A && (l || !o.trim()), Z = oe(T ? void 0 : e, l ? "" : o), S = T ? A : Z, r = (e == null ? void 0 : e.type) === "values" ? e.paged : void 0, R = Number(o.trim().replace(",", ".")), s = l && o.trim() && Number.isFinite(R) ? { operator: F.id === "1" ? "gt" : F.id === "2" ? "lt" : "eq", value: R } : void 0, w = !!C && !o.trim() && !s, _ = re(w ? void 0 : r, l && s ? "" : o.trim(), s), u = w ? C : _, m = r ? u : S, N = (e == null ? void 0 : e.type) === "values" ? ae({
34
+ const e = i.filterServer, [o, X] = H(""), F = i.filterType === "number", d = (e == null ? void 0 : e.type) === "values" && F && i.filterShowConditions === !0, [S, Y] = H(g[0]), O = !!l && (d || !o.trim()), Z = oe(
35
+ O ? void 0 : e,
36
+ d ? "" : o,
37
+ !0,
38
+ l != null && l.complete ? l.options : void 0
39
+ ), N = O ? l : Z, r = (e == null ? void 0 : e.type) === "values" ? e.paged : void 0, R = Number(o.trim().replace(",", ".")), s = d && o.trim() && Number.isFinite(R) ? { operator: S.id === "1" ? "gt" : S.id === "2" ? "lt" : "eq", value: R } : void 0, w = !!T && !o.trim() && !s, _ = re(w ? void 0 : r, d && s ? "" : o.trim(), s), v = w ? T : _, p = r ? v : N, y = (e == null ? void 0 : e.type) === "values" ? de({
35
40
  filter: e,
36
- pagedSummary: r ? ne(r.expression, u.options, u.complete && !o.trim() && !s) : void 0,
37
- loadedOptions: !r && S.complete && !o.trim() ? S.options : void 0
41
+ pagedSummary: r ? ne(r.expression, v.options, v.complete && !o.trim() && !s) : void 0,
42
+ loadedOptions: !r && N.complete && !o.trim() ? N.options : void 0
38
43
  }) : void 0;
39
44
  ie(() => {
40
- N !== void 0 && (f == null || f(N));
41
- }, [N, f]);
42
- const $ = r || !l || !o.trim() ? m.options : s ? m.options.filter((t) => {
45
+ y !== void 0 && (f == null || f(y));
46
+ }, [y, f]);
47
+ const $ = r || !d || !o.trim() ? p.options : s ? p.options.filter((t) => {
43
48
  if (t.value === null || typeof t.value == "boolean" || t.value === "") return !1;
44
49
  const n = se(t.label, t.value);
45
50
  return n !== void 0 && le(n, s);
46
- }) : [], L = de(e), U = (d == null ? void 0 : d.column) === i.field, D = (t) => h && t !== null && t !== "" && Number.isFinite(Number(t)) ? new Intl.NumberFormat("ru-RU", i.roundUpTo ? {
51
+ }) : [], L = ae(e), U = (m == null ? void 0 : m.column) === i.field, D = (t) => F && t !== null && t !== "" && Number.isFinite(Number(t)) ? new Intl.NumberFormat("ru-RU", i.roundUpTo ? {
47
52
  minimumFractionDigits: i.roundUpTo,
48
53
  maximumFractionDigits: i.roundUpTo
49
54
  } : void 0).format(Number(t)).replace(",", ".") : String(t ?? "");
50
- return /* @__PURE__ */ c(te, { embedded: W, customContent: !!e, adaptiveHeight: i.filterAdaptiveHeight, anchorRef: M, tableRight: I, boxRef: P, width: j, label: z, children: (e == null ? void 0 : e.type) === "values" ? /* @__PURE__ */ c(
55
+ return /* @__PURE__ */ u(te, { embedded: W, customContent: !!e, adaptiveHeight: i.filterAdaptiveHeight, anchorRef: M, tableRight: I, boxRef: P, width: j, label: z, children: (e == null ? void 0 : e.type) === "values" ? /* @__PURE__ */ u(
51
56
  E,
52
57
  {
53
- ...m,
54
- onRetry: m.retry,
58
+ ...p,
59
+ onRetry: p.retry,
55
60
  options: $,
56
- allOptions: m.options,
61
+ allOptions: p.options,
57
62
  virtualize: !!r,
58
63
  paged: r,
59
64
  numeric: s,
60
- paging: r ? u : void 0,
65
+ paging: r ? v : void 0,
61
66
  onReset: e.resetVisible !== !1 && (L || U) ? e.onReset : void 0,
62
67
  resetLabel: k(U, L),
63
68
  selection: e.selection,
@@ -67,45 +72,45 @@ const Ne = ({
67
72
  searchLabel: e.searchLabel,
68
73
  optionsAlreadyFiltered: !0,
69
74
  selectFoundOnSearch: e.selectFoundOnSearch,
70
- onSort: O,
71
- conditionControl: l ? /* @__PURE__ */ c(
75
+ onSort: C,
76
+ conditionControl: d ? /* @__PURE__ */ u(
72
77
  q,
73
78
  {
74
- value: F,
75
- options: v,
79
+ value: S,
80
+ options: g,
76
81
  onChange: (t) => {
77
82
  var a;
78
- const n = (a = t.typeFilterSearch) == null ? void 0 : a.id, p = v.find((y) => y.id === n);
79
- p && Y(p);
83
+ const n = (a = t.typeFilterSearch) == null ? void 0 : a.id, c = g.find((x) => x.id === n);
84
+ c && Y(c);
80
85
  },
81
86
  portalOn: !0
82
87
  }
83
88
  ) : void 0,
84
- sort: B(d, i.field)
89
+ sort: B(m, i.field)
85
90
  }
86
- ) : /* @__PURE__ */ c(
91
+ ) : /* @__PURE__ */ u(
87
92
  E,
88
93
  {
89
94
  options: (Q ?? []).map((t) => ({ value: t, label: D(t) })),
90
- allOptions: (g ?? []).map((t) => ({ value: t, label: D(t) })),
91
- values: (g ?? []).filter((t) => {
95
+ allOptions: (b ?? []).map((t) => ({ value: t, label: D(t) })),
96
+ values: (b ?? []).filter((t) => {
92
97
  var n;
93
- return !((n = x[i.field]) != null && n.includes(t));
98
+ return !((n = A[i.field]) != null && n.includes(t));
94
99
  }),
95
100
  search: J,
96
101
  onSearchChange: K,
97
102
  optionsAlreadyFiltered: !0,
98
103
  onChange: (t) => {
99
- const n = new Set(t), p = (g ?? []).filter((y) => !n.has(y)), a = { ...x };
100
- p.length ? a[i.field] = p : delete a[i.field], V(a);
104
+ const n = new Set(t), c = (b ?? []).filter((x) => !n.has(x)), a = { ...A };
105
+ c.length ? a[i.field] = c : delete a[i.field], V(a);
101
106
  },
102
- onSort: O,
103
- sort: B(d, i.field),
104
- conditionControl: i.filterShowConditions === !1 ? void 0 : /* @__PURE__ */ c(
107
+ onSort: C,
108
+ sort: B(m, i.field),
109
+ conditionControl: i.filterShowConditions === !1 ? void 0 : /* @__PURE__ */ u(
105
110
  q,
106
111
  {
107
- value: b == null ? void 0 : b.typeFilterSearch,
108
- options: h ? v : ee,
112
+ value: h == null ? void 0 : h.typeFilterSearch,
113
+ options: F ? g : ee,
109
114
  onChange: G
110
115
  }
111
116
  )
@@ -1 +1 @@
1
- {"version":3,"file":"SelectFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/Filter/SelectFilter.tsx"],"names":[],"mappings":"AACA,OAAO,qBAAqB,CAAC;AAI7B,OAAO,8BAA8B,CAAC;AAGtC,QAAA,MAAM,YAAY,GAAI,OAAO;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3C,mBAAmB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,4CAqHA,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"SelectFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/Filter/SelectFilter.tsx"],"names":[],"mappings":"AACA,OAAO,qBAAqB,CAAC;AAI7B,OAAO,8BAA8B,CAAC;AAItC,QAAA,MAAM,YAAY,GAAI,OAAO;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3C,mBAAmB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,4CAuHA,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,13 +1,14 @@
1
- import { jsxs as h, jsx as c } from "react/jsx-runtime";
2
- import { useState as r, useEffect as z, useRef as N, useLayoutEffect as M } from "react";
1
+ import { jsxs as r, jsx as c } from "react/jsx-runtime";
2
+ import { useState as h, useEffect as z, useRef as N, useLayoutEffect as M } from "react";
3
3
  /* empty css */
4
4
  import { createPortal as R } from "react-dom";
5
5
  import { useAnchoredPosition$u as A } from "../../../hooks/useAnchoredPosition.js";
6
6
  /* empty css */
7
7
  import { useDismiss$u as B } from "../../../hooks/useDismiss.js";
8
- const X = (e) => {
8
+ import { getPortalScopeProps$u as F } from "../../../shared/uiKitDefaults.js";
9
+ const q = (e) => {
9
10
  var C, w, k;
10
- const [n, m] = r(!1), [E, f] = r(void 0);
11
+ const [o, m] = h(!1), [E, f] = h(void 0);
11
12
  z(() => f(e.value), []);
12
13
  const s = () => {
13
14
  m(!1);
@@ -15,14 +16,15 @@ const X = (e) => {
15
16
  m((t) => !t);
16
17
  }, x = (t) => {
17
18
  e.onChange({ ...e.valueAll ?? {}, [e.keySelect]: t }), f(t), s();
18
- }, d = N(null), o = N(null), [g, H] = r(0), { rect: l } = A({ anchor: d.current, enabled: n && !!e.portalOn });
19
- B({ refs: [d, o], onDismiss: s, enabled: n }), M(() => {
20
- n && e.portalOn && o.current && H(o.current.scrollHeight);
21
- }, [n, e.portalOn, l]);
22
- const u = l ? window.innerHeight - l.y - l.height - 8 : 0, y = l ? l.y - 8 : 0, v = g > u && y > u, i = E, a = e.value, D = i == null ? void 0 : i.id, I = i == null ? void 0 : i.title, P = i == null ? void 0 : i.value, S = /* @__PURE__ */ h(
19
+ }, d = N(null), n = N(null), [g, H] = h(0), { rect: l } = A({ anchor: d.current, enabled: o && !!e.portalOn });
20
+ B({ refs: [d, n], onDismiss: s, enabled: o }), M(() => {
21
+ o && e.portalOn && n.current && H(n.current.scrollHeight);
22
+ }, [o, e.portalOn, l]);
23
+ const u = l ? window.innerHeight - l.y - l.height - 8 : 0, v = l ? l.y - 8 : 0, y = g > u && v > u, i = E, a = e.value, P = i == null ? void 0 : i.id, D = i == null ? void 0 : i.title, I = i == null ? void 0 : i.value, S = /* @__PURE__ */ r(
23
24
  "div",
24
25
  {
25
- ref: o,
26
+ ref: n,
27
+ ...e.portalOn ? F() : {},
26
28
  className: `u-selectbox-options${e.isSelectColumn ? " u-table-filter-select-options" : ""}`,
27
29
  onClick: (t) => t.stopPropagation(),
28
30
  style: e.portalOn && l ? {
@@ -31,8 +33,8 @@ const X = (e) => {
31
33
  width: l.width,
32
34
  boxSizing: "border-box",
33
35
  left: l.x + l.scrollX,
34
- top: l.scrollY + (v ? l.y - g - 2 : l.y + l.height + 2),
35
- maxHeight: Math.max(0, v ? y : u),
36
+ top: l.scrollY + (y ? l.y - g - 2 : l.y + l.height + 2),
37
+ maxHeight: Math.max(0, y ? v : u),
36
38
  zIndex: "var(--u-select-popup-z, 10010)",
37
39
  // Портал не наследует токен обёртки поля: высоту поля передаём сами.
38
40
  ...e.isSelectColumn && l.height > 0 ? { "--u-option-min-height": `${Math.round(l.height)}px` } : {}
@@ -61,7 +63,7 @@ const X = (e) => {
61
63
  ]
62
64
  }
63
65
  );
64
- return /* @__PURE__ */ h(
66
+ return /* @__PURE__ */ r(
65
67
  "div",
66
68
  {
67
69
  ref: d,
@@ -74,29 +76,29 @@ const X = (e) => {
74
76
  ].filter(Boolean).join(" "),
75
77
  style: { width: e.width },
76
78
  children: [
77
- /* @__PURE__ */ h(
79
+ /* @__PURE__ */ r(
78
80
  "div",
79
81
  {
80
82
  style: e.isSelectColumn ? void 0 : {
81
83
  height: e == null ? void 0 : e.height,
82
84
  display: "flex",
83
85
  alignItems: "center",
84
- border: e.isError && !e.value ? "1px solid #EF302B" : ""
86
+ border: e.isError && !e.value ? "1px solid var(--u-color-error, #EF302B)" : ""
85
87
  },
86
- className: "u-selectbox-select none-outline " + (n ? "u-selectbox-select-open" : ""),
88
+ className: "u-selectbox-select none-outline " + (o ? "u-selectbox-select-open" : ""),
87
89
  role: "button",
88
90
  tabIndex: e.disabled ? -1 : 0,
89
91
  "aria-label": e.placeholder,
90
- "aria-expanded": n,
92
+ "aria-expanded": o,
91
93
  "aria-disabled": e.disabled || void 0,
92
94
  onKeyDown: (t) => {
93
- e.disabled || (t.key === "Enter" || t.key === " " ? (t.preventDefault(), b()) : t.key === "Escape" && n && (t.preventDefault(), s()));
95
+ e.disabled || (t.key === "Enter" || t.key === " " ? (t.preventDefault(), b()) : t.key === "Escape" && o && (t.preventDefault(), s()));
94
96
  },
95
97
  onClick: e.disabled ? void 0 : b,
96
98
  children: [
97
99
  /* @__PURE__ */ c("span", { className: "u-selectbox-select-title", children: e.optionsSelectColumn ? ((k = e.optionsSelectColumn.find(
98
- (t) => t.value === D
99
- )) == null ? void 0 : k.text) ?? I ?? P : a != null && a.title ? a.title : e.placeholder }),
100
+ (t) => t.value === P
101
+ )) == null ? void 0 : k.text) ?? D ?? I : a != null && a.title ? a.title : e.placeholder }),
100
102
  /* @__PURE__ */ c(
101
103
  "i",
102
104
  {
@@ -106,9 +108,9 @@ const X = (e) => {
106
108
  ]
107
109
  }
108
110
  ),
109
- !e.disabled && (e.portalOn ? n && l && R(S, document.body) : S)
111
+ !e.disabled && (e.portalOn ? o && l && R(S, document.body) : S)
110
112
  ]
111
113
  }
112
114
  );
113
115
  };
114
- export { X as default };
116
+ export { q as default };
@@ -1,5 +1,8 @@
1
+ import type { TableFilterOption } from './TableFilterOptions';
1
2
  /** Общий текст отказа загрузки вариантов фильтра. */
2
3
  export declare const FILTER_LOAD_ERROR = "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0444\u0438\u043B\u044C\u0442\u0440\u0430. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.";
3
4
  /** Поиск ждёт паузу ввода; первая загрузка без условий идёт сразу. */
4
- export declare const getFilterSearchDelay: (search: string, hasNumeric?: boolean) => 0 | 300;
5
+ export declare const getFilterSearchDelay: (search: string, hasNumeric?: boolean, delay?: number) => number;
6
+ /** Прошлые варианты, суженные по подписи без учёта регистра, — пока не пришёл ответ на новый поиск. */
7
+ export declare function narrowFilterOptions<Value>(options: readonly TableFilterOption<Value>[], search: string): readonly TableFilterOption<Value>[];
5
8
  //# sourceMappingURL=filterLoading.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filterLoading.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/Filter/filterLoading.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,eAAO,MAAM,iBAAiB,oTAA+D,CAAC;AAE9F,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,EAAE,oBAAkB,YAA0C,CAAC"}
1
+ {"version":3,"file":"filterLoading.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/Filter/filterLoading.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,qDAAqD;AACrD,eAAO,MAAM,iBAAiB,oTAA+D,CAAC;AAE9F,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,EAAE,oBAAkB,EAAE,cAAW,WAA4C,CAAC;AAEjI,uGAAuG;AACvG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,iBAAiB,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,uCAGtG"}
@@ -1,2 +1,6 @@
1
- const r = "Не удалось загрузить значения фильтра. Попробуйте ещё раз.", R = (e, t = !1) => e.trim() || t ? 300 : 0;
2
- export { r as FILTER_LOAD_ERROR$u, R as getFilterSearchDelay$u };
1
+ const o = "Не удалось загрузить значения фильтра. Попробуйте ещё раз.", a = (e, t = !1, r = 300) => e.trim() || t ? r : 0;
2
+ function n(e, t) {
3
+ const r = t.trim().toLocaleLowerCase("ru");
4
+ return r ? e.filter((l) => l.label.toLocaleLowerCase("ru").includes(r)) : e;
5
+ }
6
+ export { o as FILTER_LOAD_ERROR$u, a as getFilterSearchDelay$u, n as narrowFilterOptions$u };
@@ -1,6 +1,8 @@
1
1
  import type { TableServerFilter, TableFilterValue } from '../Table.filterTypes';
2
2
  import type { TableFilterOption } from './TableFilterOptions';
3
- export declare function useServerFilterOptions(filter: TableServerFilter | undefined, search: string, enabled?: boolean): {
3
+ type Options = readonly TableFilterOption<TableFilterValue>[];
4
+ /** `fallback` — уже загруженный полный набор, который сужается, пока у этого хука нет своего ответа. */
5
+ export declare function useServerFilterOptions(filter: TableServerFilter | undefined, search: string, enabled?: boolean, fallback?: Options): {
4
6
  options: readonly TableFilterOption<TableFilterValue>[];
5
7
  error: string;
6
8
  loading: boolean;
@@ -8,4 +10,5 @@ export declare function useServerFilterOptions(filter: TableServerFilter | undef
8
10
  complete: boolean;
9
11
  retry: () => void;
10
12
  };
13
+ export {};
11
14
  //# sourceMappingURL=useServerFilterOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useServerFilterOptions.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/Filter/useServerFilterOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,UAAO;;;;IA6BxG,sGAAsG;;;EAGzG"}
1
+ {"version":3,"file":"useServerFilterOptions.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/Filter/useServerFilterOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,KAAK,OAAO,GAAG,SAAS,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,CAAC;AAQ9D,wGAAwG;AACxG,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,UAAO,EAAE,QAAQ,CAAC,EAAE,OAAO;;;;IAwC5H,sGAAsG;;;EAGzG"}
@@ -1,35 +1,38 @@
1
- import { useState as S, useRef as m, useEffect as x } from "react";
2
- import { FILTER_LOAD_ERROR$u as D, getFilterSearchDelay$u as L } from "./filterLoading.js";
3
- function k(n, e, s = !0) {
4
- var v, w, y;
5
- const t = (n == null ? void 0 : n.type) === "values" && !n.paged ? n.loadOptions : void 0, [c, i] = S({ options: [], loading: !!t }), [u, A] = S(0), l = m(!1), r = m(), a = m(!1), g = ((v = r.current) == null ? void 0 : v.loader) === t && ((w = r.current) == null ? void 0 : w.search) === e, d = g && ((y = r.current) == null ? void 0 : y.attempt) === u;
6
- x(() => {
7
- var O, R, E;
8
- if (!t || !s || ((O = r.current) == null ? void 0 : O.loader) === t && ((R = r.current) == null ? void 0 : R.search) === e && ((E = r.current) == null ? void 0 : E.attempt) === u && a.current) return;
9
- r.current = { loader: t, search: e, attempt: u }, a.current = !1;
10
- const o = new AbortController(), F = l.current;
11
- l.current = !1, i((p) => ({ options: [], loading: !0, error: F ? p.error : void 0 }));
12
- const T = window.setTimeout(() => {
13
- t(e, o.signal).then((p) => {
14
- o.signal.aborted || (a.current = !0, i({ options: p, loading: !1 }));
1
+ import { useState as b, useRef as y, useEffect as C, useMemo as I } from "react";
2
+ import { FILTER_LOAD_ERROR$u as M, getFilterSearchDelay$u as Q, narrowFilterOptions$u as j } from "./filterLoading.js";
3
+ function q(o, t, c) {
4
+ return o.loader !== t ? c : o.error ? void 0 : o.options;
5
+ }
6
+ function G(o, t, c = !0, h) {
7
+ var D, E, F;
8
+ const s = (o == null ? void 0 : o.type) === "values" && !o.paged ? o : void 0, r = s == null ? void 0 : s.loadOptions, g = s == null ? void 0 : s.searchDelay, [e, f] = b({ options: [], loading: !!r }), [a, x] = b(0), m = y(!1), n = y(), u = y(!1), O = ((D = n.current) == null ? void 0 : D.loader) === r && ((E = n.current) == null ? void 0 : E.search) === t, l = O && ((F = n.current) == null ? void 0 : F.attempt) === a;
9
+ C(() => {
10
+ var S, A, T;
11
+ if (!r || !c || ((S = n.current) == null ? void 0 : S.loader) === r && ((A = n.current) == null ? void 0 : A.search) === t && ((T = n.current) == null ? void 0 : T.attempt) === a && u.current) return;
12
+ n.current = { loader: r, search: t, attempt: a }, u.current = !1;
13
+ const i = new AbortController(), _ = m.current;
14
+ m.current = !1, f((p) => ({ ...p, loading: !0, error: _ ? p.error : void 0 }));
15
+ const k = window.setTimeout(() => {
16
+ r(t, i.signal).then((p) => {
17
+ i.signal.aborted || (u.current = !0, f({ options: p, loading: !1, loader: r }));
15
18
  }).catch(() => {
16
- o.signal.aborted || (a.current = !0, i({ options: [], loading: !1, error: D }));
19
+ i.signal.aborted || (u.current = !0, f({ options: [], loading: !1, error: M, loader: r }));
17
20
  });
18
- }, L(e));
21
+ }, Q(t, !1, g));
19
22
  return () => {
20
- o.abort(), window.clearTimeout(T);
23
+ i.abort(), window.clearTimeout(k);
21
24
  };
22
- }, [t, e, u, s]);
23
- const f = !!t && s && (!d || c.loading);
25
+ }, [r, t, a, c, g]);
26
+ const v = !!r && c, w = v && (!l || e.loading), d = v ? q(e, r, h) : void 0, R = I(() => !w && l ? e.options : d ? j(d, t) : [], [w, l, e.options, d, t]), L = w && !R.length && (!d || g !== 0);
24
27
  return {
25
- options: d ? c.options : [],
26
- error: g ? c.error : void 0,
27
- loading: f,
28
+ options: R,
29
+ error: O ? e.error : void 0,
30
+ loading: L,
28
31
  /** Словарь загружен для текущего запроса; пустой список выключенного загрузчика сюда не относится. */
29
- complete: !!t && s && d && !f && !c.error,
32
+ complete: v && l && !e.loading && !e.error,
30
33
  retry: () => {
31
- l.current = !0, A((o) => o + 1);
34
+ m.current = !0, x((i) => i + 1);
32
35
  }
33
36
  };
34
37
  }
35
- export { k as useServerFilterOptions$u };
38
+ export { G as useServerFilterOptions$u };
@@ -53,6 +53,11 @@ export type TableServerFilter = {
53
53
  /** Можно скрыть локальный сброс, оставив общий сброс в тулбаре сервиса. */
54
54
  resetVisible?: boolean;
55
55
  loadOptions: (search: string, signal: AbortSignal) => Promise<readonly TableFilterOption<TableFilterValue>[]>;
56
+ /**
57
+ * Пауза ввода перед `loadOptions` при поиске, мс (по умолчанию 300). `0` — для загрузчика без сети,
58
+ * который режет готовый набор: варианты обновляются сразу. Порционный режим `paged` её не использует.
59
+ */
60
+ searchDelay?: number;
56
61
  searchLabel?: string;
57
62
  /** При поиске массовый выбор затрагивает только найденные варианты. */
58
63
  selectFoundOnSearch?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Table.filterTypes.d.ts","sourceRoot":"","sources":["../../../src/components/Table/Table.filterTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Table.filterTypes.d.ts","sourceRoot":"","sources":["../../../src/components/Table/Table.filterTypes.ts"],"names":[],"mappings":"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"}
@@ -34,14 +34,14 @@ const ae = ({
34
34
  thStyle: c,
35
35
  cellContentStyle: b,
36
36
  thContentStyle: g,
37
- effectiveSortField: O,
38
- effectiveSortDir: v,
37
+ effectiveSortField: v,
38
+ effectiveSortDir: O,
39
39
  hoveredSortCol: G,
40
40
  setHoveredSortCol: w,
41
41
  handleSortToggle: J
42
42
  }) => {
43
43
  const K = (e) => {
44
- const t = _(h, e), s = O === e.field, a = G === e.field, x = /* @__PURE__ */ p(
44
+ const t = _(h, e), s = v === e.field, a = G === e.field, x = /* @__PURE__ */ p(
45
45
  "span",
46
46
  {
47
47
  className: "u-table-th-sortable",
@@ -68,9 +68,9 @@ const ae = ({
68
68
  /* @__PURE__ */ r("i", { style: { display: "flex" }, children: /* @__PURE__ */ r(
69
69
  Y,
70
70
  {
71
- name: s ? v === "desc" ? "down-arrow" : "up-arrow" : "sorting",
71
+ name: s ? O === "desc" ? "down-arrow" : "up-arrow" : "sorting",
72
72
  size: "14px",
73
- color: s || a ? "#1E4391" : "#9FAECD"
73
+ color: s || a ? "var(--u-color-primary, #1E4391)" : "var(--u-color-primary-disabled, #9FAECD)"
74
74
  }
75
75
  ) })
76
76
  ]
@@ -125,7 +125,7 @@ const ae = ({
125
125
  {
126
126
  ref: (a) => P.current[e.field] = a,
127
127
  id: `${l}th${t}`,
128
- "aria-sort": e.sortOn && !e.renderHeader && O === e.field ? v === "desc" ? "descending" : "ascending" : void 0,
128
+ "aria-sort": e.sortOn && !e.renderHeader && v === e.field ? O === "desc" ? "descending" : "ascending" : void 0,
129
129
  className: `${e.sticky ? "sticky" : ""} ${i && !e.resizeOff ? "resize" : ""}`,
130
130
  style: I(
131
131
  Object.assign(
@@ -1 +1 @@
1
- {"version":3,"file":"TableMobileCard.d.ts","sourceRoot":"","sources":["../../../src/components/Table/TableMobileCard.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,eAAO,MAAM,sBAAsB,GAAI,4EAQpC;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC;IACjC,WAAW,CAAC,EAAE,CAAC,CAAC;CACjB,4CA2EA,CAAC;AAGF,eAAO,MAAM,UAAU,GAAI,kLAkBxB;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrH,IAAI,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnH,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACrB,4CAkJA,CAAC"}
1
+ {"version":3,"file":"TableMobileCard.d.ts","sourceRoot":"","sources":["../../../src/components/Table/TableMobileCard.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,eAAO,MAAM,sBAAsB,GAAI,4EAQpC;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC;IACjC,WAAW,CAAC,EAAE,CAAC,CAAC;CACjB,4CA2EA,CAAC;AAGF,eAAO,MAAM,UAAU,GAAI,kLAkBxB;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrH,IAAI,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnH,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACrB,4CAkJA,CAAC"}
@@ -1,41 +1,42 @@
1
1
  import { jsx as a, Fragment as D, jsxs as c } from "react/jsx-runtime";
2
- import { useState as $, useId as I, useRef as R, useEffect as O, useLayoutEffect as E } from "react";
2
+ import { useState as $, useRef as R, useEffect as I, useLayoutEffect as E } from "react";
3
3
  import { Icon$u as M } from "../Icon/Icon.js";
4
- import { animateHeight$u as W } from "../../vanilla/core/collapseMotion.js";
5
- const q = ({
4
+ import { useAutoId$u as O } from "../../hooks/useAutoId.js";
5
+ import { animateHeight$u as A } from "../../vanilla/core/collapseMotion.js";
6
+ const W = ({
6
7
  label: h,
7
8
  children: s,
8
- lines: t = 1,
9
+ lines: n = 1,
9
10
  valueColor: u,
10
11
  labelColor: m,
11
12
  gridSpan: d,
12
13
  gridRowSpan: f
13
14
  }) => {
14
- const [r, w] = $(!1), [N, y] = $(!1), b = R(null), g = I(), _ = R(null);
15
+ const [r, w] = $(!1), [N, y] = $(!1), b = R(null), g = O(void 0, "u-table-card-value"), _ = R(null);
15
16
  return E(() => {
16
17
  const l = b.current, i = _.current;
17
18
  if (_.current = null, !l || i == null) return;
18
- const n = () => {
19
- l.classList.toggle("u-table-mobile-card__value--clamped", !r), l.style.webkitLineClamp = r ? "" : String(t);
19
+ const t = () => {
20
+ l.classList.toggle("u-table-mobile-card__value--clamped", !r), l.style.webkitLineClamp = r ? "" : String(n);
20
21
  };
21
22
  l.classList.remove("u-table-mobile-card__value--clamped"), l.style.webkitLineClamp = "";
22
23
  let o = l.getBoundingClientRect().height;
23
- r || (l.classList.add("u-table-mobile-card__value--clamped"), l.style.webkitLineClamp = String(t), o = l.getBoundingClientRect().height, l.classList.remove("u-table-mobile-card__value--clamped"), l.style.webkitLineClamp = "");
24
- const p = W(l, i, o, n);
24
+ r || (l.classList.add("u-table-mobile-card__value--clamped"), l.style.webkitLineClamp = String(n), o = l.getBoundingClientRect().height, l.classList.remove("u-table-mobile-card__value--clamped"), l.style.webkitLineClamp = "");
25
+ const p = A(l, i, o, t);
25
26
  return () => {
26
- p(), n();
27
+ p(), t();
27
28
  };
28
- }, [r, s, t]), O(() => {
29
+ }, [r, s, n]), I(() => {
29
30
  const l = b.current;
30
31
  if (!l) return;
31
32
  const i = () => {
32
- const o = Number.parseFloat(getComputedStyle(l).lineHeight), p = Number.isFinite(o) ? o * t : l.clientHeight;
33
+ const o = Number.parseFloat(getComputedStyle(l).lineHeight), p = Number.isFinite(o) ? o * n : l.clientHeight;
33
34
  y(l.scrollHeight > p + 1);
34
35
  };
35
36
  if (i(), typeof ResizeObserver > "u") return;
36
- const n = new ResizeObserver(i);
37
- return n.observe(l), () => n.disconnect();
38
- }, [s, t, r]), /* @__PURE__ */ c("div", { className: `u-table-mobile-card__row u-table-mobile-card__row--collapsible${d === "full" ? " u-table-mobile-card__row--span-full" : d === 2 ? " u-table-mobile-card__row--span2" : d === "narrow" ? " u-table-mobile-card__row--span-narrow" : ""}${f === 2 ? " u-table-mobile-card__row--rowspan2" : ""}`, children: [
37
+ const t = new ResizeObserver(i);
38
+ return t.observe(l), () => t.disconnect();
39
+ }, [s, n, r]), /* @__PURE__ */ c("div", { className: `u-table-mobile-card__row u-table-mobile-card__row--collapsible${d === "full" ? " u-table-mobile-card__row--span-full" : d === 2 ? " u-table-mobile-card__row--span2" : d === "narrow" ? " u-table-mobile-card__row--span-narrow" : ""}${f === 2 ? " u-table-mobile-card__row--rowspan2" : ""}`, children: [
39
40
  h != null && /* @__PURE__ */ a("span", { className: "u-table-mobile-card__label", style: m ? { color: m } : void 0, children: h }),
40
41
  /* @__PURE__ */ a(
41
42
  "span",
@@ -43,7 +44,7 @@ const q = ({
43
44
  ref: b,
44
45
  id: g,
45
46
  className: "u-table-mobile-card__value" + (r ? "" : " u-table-mobile-card__value--clamped"),
46
- style: { ...r ? {} : { WebkitLineClamp: t }, ...u ? { color: u } : {} },
47
+ style: { ...r ? {} : { WebkitLineClamp: n }, ...u ? { color: u } : {} },
47
48
  children: s
48
49
  }
49
50
  ),
@@ -62,10 +63,10 @@ const q = ({
62
63
  }
63
64
  )
64
65
  ] });
65
- }, P = ({
66
+ }, Q = ({
66
67
  title: h,
67
68
  titleLabel: s,
68
- titleHideLabel: t,
69
+ titleHideLabel: n,
69
70
  titleColor: u,
70
71
  titleLabelColor: m,
71
72
  subtitle: d,
@@ -79,15 +80,15 @@ const q = ({
79
80
  density: _ = "default",
80
81
  divider: l,
81
82
  showLabels: i = !0,
82
- columns: n = 1
83
+ columns: t = 1
83
84
  }) => {
84
- const [o, p] = $(!1), S = I(), C = R(null);
85
- O(() => {
85
+ const [o, p] = $(!1), S = O(void 0, "u-table-card-details"), C = R(null);
86
+ I(() => {
86
87
  C.current && (C.current.inert = !o);
87
88
  }, [o]);
88
- const L = w.filter((e) => e.value != null && e.value !== ""), k = N.filter((e) => e.value != null && e.value !== ""), x = y.filter((e) => e.value != null && e.value !== ""), F = x.length > 0, z = k.length > 0, B = n === 3 ? " u-table-mobile-card__fields--cols3" : n === 2 ? " u-table-mobile-card__fields--cols2" : "", j = /* @__PURE__ */ a(D, { children: /* @__PURE__ */ c("div", { className: "u-table-mobile-card__head-main", children: [
89
+ const L = w.filter((e) => e.value != null && e.value !== ""), k = N.filter((e) => e.value != null && e.value !== ""), x = y.filter((e) => e.value != null && e.value !== ""), F = x.length > 0, z = k.length > 0, B = t === 3 ? " u-table-mobile-card__fields--cols3" : t === 2 ? " u-table-mobile-card__fields--cols2" : "", j = /* @__PURE__ */ a(D, { children: /* @__PURE__ */ c("div", { className: "u-table-mobile-card__head-main", children: [
89
90
  /* @__PURE__ */ c("span", { className: "u-table-mobile-card__primary", children: [
90
- i && !t && s != null && s !== "" && /* @__PURE__ */ a(
91
+ i && !n && s != null && s !== "" && /* @__PURE__ */ a(
91
92
  "span",
92
93
  {
93
94
  className: "u-table-mobile-card__title-label",
@@ -141,7 +142,7 @@ const q = ({
141
142
  )
142
143
  ) })
143
144
  ] }) }), H = (e, v) => e.expandLines ? /* @__PURE__ */ a(
144
- q,
145
+ W,
145
146
  {
146
147
  label: i && !e.hideLabel ? e.label : null,
147
148
  lines: e.expandLines,
@@ -173,7 +174,7 @@ const q = ({
173
174
  return /* @__PURE__ */ c(
174
175
  "div",
175
176
  {
176
- className: `u-table-mobile-card u-table-mobile-card--list${b ? " u-table-mobile-card--flat" : ""}${l ? " u-table-mobile-card--divider" : ""}${n === 3 ? " u-table-mobile-card--cols3" : ""}${g ? " u-table-mobile-card--inset" : ""}${_ === "compact" ? " u-table-mobile-card--compact" : ""}`,
177
+ className: `u-table-mobile-card u-table-mobile-card--list${b ? " u-table-mobile-card--flat" : ""}${l ? " u-table-mobile-card--divider" : ""}${t === 3 ? " u-table-mobile-card--cols3" : ""}${g ? " u-table-mobile-card--inset" : ""}${_ === "compact" ? " u-table-mobile-card--compact" : ""}`,
177
178
  children: [
178
179
  /* @__PURE__ */ c("div", { className: "u-table-mobile-card__head", children: [
179
180
  j,
@@ -209,4 +210,4 @@ const q = ({
209
210
  }
210
211
  );
211
212
  };
212
- export { P as MobileCard$u, q as MobileCollapsibleField$u };
213
+ export { Q as MobileCard$u, W as MobileCollapsibleField$u };