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.
- package/dist/components/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar/Calendar.js +232 -194
- package/dist/components/Calendar/Calendar.types.d.ts +21 -0
- package/dist/components/Calendar/Calendar.types.d.ts.map +1 -1
- package/dist/components/Calendar/CalendarSelect.js +38 -38
- package/dist/components/Calendar/MaskedDateInput.d.ts +2 -0
- package/dist/components/Calendar/MaskedDateInput.d.ts.map +1 -1
- package/dist/components/Calendar/MaskedDateInput.js +120 -113
- package/dist/components/ColumnSettings/ColumnSettings.d.ts.map +1 -1
- package/dist/components/ColumnSettings/ColumnSettings.js +22 -21
- package/dist/components/ConfirmModal/ConfirmModal.d.ts +0 -1
- package/dist/components/ConfirmModal/ConfirmModal.d.ts.map +1 -1
- package/dist/components/ConfirmModal/ConfirmModal.js +11 -12
- package/dist/components/Drawer/Drawer.d.ts.map +1 -1
- package/dist/components/Drawer/Drawer.js +23 -22
- package/dist/components/ErrorScreen/ErrorScreenIllustration.js +28 -28
- package/dist/components/InputExpandTextarea/InputExpandTextarea.js +1 -1
- package/dist/components/InputTime/InputTime.js +12 -12
- package/dist/components/Menu/Menu.js +11 -11
- package/dist/components/Modal/Modal.js +33 -33
- package/dist/components/Pagination/Pagination.js +22 -22
- package/dist/components/Preloader/Preloader.d.ts.map +1 -1
- package/dist/components/Preloader/Preloader.js +13 -13
- package/dist/components/Search/Search.d.ts.map +1 -1
- package/dist/components/Search/Search.js +28 -23
- package/dist/components/Select/Select.d.ts +2 -0
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/Select.js +21 -19
- package/dist/components/StickyActionBar/StickyActionBar.d.ts.map +1 -1
- package/dist/components/StickyActionBar/StickyActionBar.js +45 -58
- package/dist/components/Switch/Switch.d.ts.map +1 -1
- package/dist/components/Switch/Switch.js +8 -8
- package/dist/components/Table/Filter/FilterStringBox.d.ts.map +1 -1
- package/dist/components/Table/Filter/FilterStringBox.js +45 -40
- package/dist/components/Table/Filter/SelectFilter.d.ts.map +1 -1
- package/dist/components/Table/Filter/SelectFilter.js +24 -22
- package/dist/components/Table/Filter/filterLoading.d.ts +4 -1
- package/dist/components/Table/Filter/filterLoading.d.ts.map +1 -1
- package/dist/components/Table/Filter/filterLoading.js +6 -2
- package/dist/components/Table/Filter/useServerFilterOptions.d.ts +4 -1
- package/dist/components/Table/Filter/useServerFilterOptions.d.ts.map +1 -1
- package/dist/components/Table/Filter/useServerFilterOptions.js +28 -25
- package/dist/components/Table/Table.filterTypes.d.ts +5 -0
- package/dist/components/Table/Table.filterTypes.d.ts.map +1 -1
- package/dist/components/Table/TableHead.js +6 -6
- package/dist/components/Table/TableMobileCard.d.ts.map +1 -1
- package/dist/components/Table/TableMobileCard.js +27 -26
- package/dist/components/Table/TableMobileView.js +46 -46
- package/dist/components/Table/TableRow.js +1 -1
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.js +25 -24
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +37 -36
- package/dist/dev/index.js +18 -19
- package/dist/dev/types/vanilla/src/dev/panelStyles.d.ts +1 -1
- package/dist/hooks/useAutoId.js +3 -3
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/shared/kitCopy.js +1 -1
- package/dist/shared/kitRegistry.d.ts +2 -2
- package/dist/shared/optionStateColors.d.ts +2 -2
- package/dist/shared/optionStateColors.js +4 -4
- package/dist/style-no-fonts.css +1 -1
- package/dist/style.css +1 -1
- package/dist/style.layer.css +2 -2
- package/dist/style.shell.css +3 -3
- package/dist/utils/inputMode.d.ts +5 -0
- package/dist/utils/inputMode.d.ts.map +1 -1
- package/dist/vanilla/core/dateMask.js +1 -1
- package/dist/vanilla/core/describeError.js +10 -10
- package/dist/vanilla/core/inputMode.js +18 -11
- package/package.json +1 -1
- package/dist/shared/devLauncherOffset.d.ts +0 -8
- package/dist/shared/devLauncherOffset.d.ts.map +0 -1
- package/dist/vanilla/core/devLauncherOffset.js +0 -20
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { jsx as
|
|
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
|
|
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
|
|
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:
|
|
19
|
+
typeFilterSearch: h,
|
|
20
20
|
setTypeFilterSearch: G,
|
|
21
|
-
handleSort:
|
|
22
|
-
sort:
|
|
21
|
+
handleSort: C,
|
|
22
|
+
sort: m,
|
|
23
23
|
textSearch: J,
|
|
24
24
|
setTextSearch: K,
|
|
25
25
|
searched: Q,
|
|
26
|
-
checkBoxes:
|
|
27
|
-
uncheckedValues:
|
|
26
|
+
checkBoxes: b,
|
|
27
|
+
uncheckedValues: A,
|
|
28
28
|
setUncheckedValues: V,
|
|
29
29
|
embedded: W,
|
|
30
|
-
basePages:
|
|
31
|
-
baseOptions:
|
|
30
|
+
basePages: T,
|
|
31
|
+
baseOptions: l,
|
|
32
32
|
onSelectedCountChange: f
|
|
33
33
|
}) => {
|
|
34
|
-
const e = i.filterServer, [o, X] = H(""),
|
|
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,
|
|
37
|
-
loadedOptions: !r &&
|
|
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
|
-
|
|
41
|
-
}, [
|
|
42
|
-
const $ = r || !
|
|
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 =
|
|
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__ */
|
|
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
|
-
...
|
|
54
|
-
onRetry:
|
|
58
|
+
...p,
|
|
59
|
+
onRetry: p.retry,
|
|
55
60
|
options: $,
|
|
56
|
-
allOptions:
|
|
61
|
+
allOptions: p.options,
|
|
57
62
|
virtualize: !!r,
|
|
58
63
|
paged: r,
|
|
59
64
|
numeric: s,
|
|
60
|
-
paging: r ?
|
|
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:
|
|
71
|
-
conditionControl:
|
|
75
|
+
onSort: C,
|
|
76
|
+
conditionControl: d ? /* @__PURE__ */ u(
|
|
72
77
|
q,
|
|
73
78
|
{
|
|
74
|
-
value:
|
|
75
|
-
options:
|
|
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,
|
|
79
|
-
|
|
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(
|
|
89
|
+
sort: B(m, i.field)
|
|
85
90
|
}
|
|
86
|
-
) : /* @__PURE__ */
|
|
91
|
+
) : /* @__PURE__ */ u(
|
|
87
92
|
E,
|
|
88
93
|
{
|
|
89
94
|
options: (Q ?? []).map((t) => ({ value: t, label: D(t) })),
|
|
90
|
-
allOptions: (
|
|
91
|
-
values: (
|
|
95
|
+
allOptions: (b ?? []).map((t) => ({ value: t, label: D(t) })),
|
|
96
|
+
values: (b ?? []).filter((t) => {
|
|
92
97
|
var n;
|
|
93
|
-
return !((n =
|
|
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),
|
|
100
|
-
|
|
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:
|
|
103
|
-
sort: B(
|
|
104
|
-
conditionControl: i.filterShowConditions === !1 ? void 0 : /* @__PURE__ */
|
|
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:
|
|
108
|
-
options:
|
|
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;
|
|
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
|
|
2
|
-
import { useState as
|
|
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
|
-
|
|
8
|
+
import { getPortalScopeProps$u as F } from "../../../shared/uiKitDefaults.js";
|
|
9
|
+
const q = (e) => {
|
|
9
10
|
var C, w, k;
|
|
10
|
-
const [
|
|
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),
|
|
19
|
-
B({ refs: [d,
|
|
20
|
-
|
|
21
|
-
}, [
|
|
22
|
-
const u = l ? window.innerHeight - l.y - l.height - 8 : 0,
|
|
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:
|
|
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 + (
|
|
35
|
-
maxHeight: Math.max(0,
|
|
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__ */
|
|
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__ */
|
|
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 " + (
|
|
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":
|
|
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" &&
|
|
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 ===
|
|
99
|
-
)) == null ? void 0 : k.text) ??
|
|
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 ?
|
|
111
|
+
!e.disabled && (e.portalOn ? o && l && R(S, document.body) : S)
|
|
110
112
|
]
|
|
111
113
|
}
|
|
112
114
|
);
|
|
113
115
|
};
|
|
114
|
-
export {
|
|
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) =>
|
|
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,
|
|
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
|
|
2
|
-
|
|
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
|
-
|
|
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;;;;
|
|
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
|
|
2
|
-
import { FILTER_LOAD_ERROR$u as
|
|
3
|
-
function
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
19
|
+
i.signal.aborted || (u.current = !0, f({ options: [], loading: !1, error: M, loader: r }));
|
|
17
20
|
});
|
|
18
|
-
},
|
|
21
|
+
}, Q(t, !1, g));
|
|
19
22
|
return () => {
|
|
20
|
-
|
|
23
|
+
i.abort(), window.clearTimeout(k);
|
|
21
24
|
};
|
|
22
|
-
}, [t,
|
|
23
|
-
const
|
|
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:
|
|
26
|
-
error:
|
|
27
|
-
loading:
|
|
28
|
+
options: R,
|
|
29
|
+
error: O ? e.error : void 0,
|
|
30
|
+
loading: L,
|
|
28
31
|
/** Словарь загружен для текущего запроса; пустой список выключенного загрузчика сюда не относится. */
|
|
29
|
-
complete:
|
|
32
|
+
complete: v && l && !e.loading && !e.error,
|
|
30
33
|
retry: () => {
|
|
31
|
-
|
|
34
|
+
m.current = !0, x((i) => i + 1);
|
|
32
35
|
}
|
|
33
36
|
};
|
|
34
37
|
}
|
|
35
|
-
export {
|
|
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:
|
|
38
|
-
effectiveSortDir:
|
|
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 =
|
|
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 ?
|
|
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 &&
|
|
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;
|
|
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 $,
|
|
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 {
|
|
5
|
-
|
|
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:
|
|
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 =
|
|
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
|
|
19
|
-
l.classList.toggle("u-table-mobile-card__value--clamped", !r), l.style.webkitLineClamp = r ? "" : String(
|
|
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(
|
|
24
|
-
const p =
|
|
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(),
|
|
27
|
+
p(), t();
|
|
27
28
|
};
|
|
28
|
-
}, [r, s,
|
|
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 *
|
|
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
|
|
37
|
-
return
|
|
38
|
-
}, [s,
|
|
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:
|
|
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
|
-
},
|
|
66
|
+
}, Q = ({
|
|
66
67
|
title: h,
|
|
67
68
|
titleLabel: s,
|
|
68
|
-
titleHideLabel:
|
|
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:
|
|
83
|
+
columns: t = 1
|
|
83
84
|
}) => {
|
|
84
|
-
const [o, p] = $(!1), S =
|
|
85
|
-
|
|
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 =
|
|
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 && !
|
|
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
|
-
|
|
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" : ""}${
|
|
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 {
|
|
213
|
+
export { Q as MobileCard$u, W as MobileCollapsibleField$u };
|