urfu-ui-kit-react 2.1.7-next.4 → 2.1.7-next.5
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/Accordion/Accordion.d.ts.map +1 -1
- package/dist/components/Accordion/Accordion.js +16 -15
- package/dist/components/BreadCrumbs/BreadCrumbs.d.ts.map +1 -1
- package/dist/components/BreadCrumbs/BreadCrumbs.js +23 -22
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.js +51 -50
- package/dist/components/Button/ButtonRefreshIcon.d.ts.map +1 -1
- package/dist/components/Button/ButtonRefreshIcon.js +9 -8
- package/dist/components/Calendar/Calendar.js +232 -232
- package/dist/components/Calendar/CalendarSelect.d.ts.map +1 -1
- package/dist/components/Calendar/CalendarSelect.js +41 -40
- package/dist/components/Card/Card.d.ts.map +1 -1
- package/dist/components/Card/Card.js +59 -58
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/Checkbox/Checkbox.js +20 -19
- package/dist/components/ColumnSettings/ColumnSettings.d.ts.map +1 -1
- package/dist/components/ColumnSettings/ColumnSettings.js +112 -111
- package/dist/components/ConfirmModal/ConfirmModal.d.ts.map +1 -1
- package/dist/components/ConfirmModal/ConfirmModal.js +30 -29
- package/dist/components/Drawer/Drawer.js +57 -57
- package/dist/components/ErrorScreen/ErrorScreen.d.ts.map +1 -1
- package/dist/components/ErrorScreen/ErrorScreen.js +151 -150
- package/dist/components/ErrorScreen/ErrorScreenIllustration.d.ts.map +1 -1
- package/dist/components/ErrorScreen/ErrorScreenIllustration.js +35 -34
- package/dist/components/FormField/FormField.d.ts.map +1 -1
- package/dist/components/FormField/FormField.js +30 -29
- package/dist/components/Icon/Icon.d.ts.map +1 -1
- package/dist/components/Icon/Icon.js +17 -16
- package/dist/components/InfiniteScroll/InfiniteScroll.d.ts.map +1 -1
- package/dist/components/InfiniteScroll/InfiniteScroll.js +23 -22
- package/dist/components/InputExpandTextarea/InputExpandTextarea.d.ts.map +1 -1
- package/dist/components/InputExpandTextarea/InputExpandTextarea.js +88 -87
- package/dist/components/InputFile/InputFile.d.ts.map +1 -1
- package/dist/components/InputFile/InputFile.js +99 -98
- package/dist/components/InputNumber/InputNumber.d.ts.map +1 -1
- package/dist/components/InputNumber/InputNumber.js +112 -111
- package/dist/components/InputText/InputAffix.d.ts.map +1 -1
- package/dist/components/InputText/InputAffix.js +69 -68
- package/dist/components/InputText/InputText.d.ts.map +1 -1
- package/dist/components/InputText/InputText.js +108 -107
- package/dist/components/InputTime/InputTime.d.ts.map +1 -1
- package/dist/components/InputTime/InputTime.js +202 -201
- package/dist/components/InputTime/InputTimeDropdown.d.ts.map +1 -1
- package/dist/components/InputTime/InputTimeDropdown.js +21 -20
- package/dist/components/Menu/Menu.d.ts.map +1 -1
- package/dist/components/Menu/Menu.js +58 -57
- package/dist/components/Message/Message.d.ts.map +1 -1
- package/dist/components/Message/Message.js +19 -18
- package/dist/components/Modal/Modal.js +66 -66
- package/dist/components/Modal/useModalTitleClearance.d.ts.map +1 -1
- package/dist/components/Modal/useModalTitleClearance.js +34 -33
- package/dist/components/Multiselect/Multiselect.js +222 -222
- package/dist/components/Notification/Notification.js +90 -90
- package/dist/components/OfflineBanner/OfflineBanner.d.ts.map +1 -1
- package/dist/components/OfflineBanner/OfflineBanner.js +40 -37
- package/dist/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/components/Pagination/Pagination.js +59 -58
- package/dist/components/Preloader/Preloader.d.ts.map +1 -1
- package/dist/components/Preloader/Preloader.js +28 -27
- package/dist/components/Radio/Radio.d.ts.map +1 -1
- package/dist/components/Radio/Radio.js +21 -20
- package/dist/components/Search/Search.d.ts.map +1 -1
- package/dist/components/Search/Search.js +33 -32
- package/dist/components/SearchSelect/SearchSelect.js +178 -178
- package/dist/components/SearchSelect/SearchSelectOption.d.ts.map +1 -1
- package/dist/components/SearchSelect/SearchSelectOption.js +21 -20
- package/dist/components/Select/MobileOptionSheet.d.ts.map +1 -1
- package/dist/components/Select/MobileOptionSheet.js +65 -64
- package/dist/components/Select/Select.js +184 -184
- package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
- package/dist/components/Skeleton/Skeleton.js +26 -25
- package/dist/components/Status/Status.d.ts.map +1 -1
- package/dist/components/Status/Status.js +36 -35
- package/dist/components/StickyActionBar/StickyActionBar.d.ts.map +1 -1
- package/dist/components/StickyActionBar/StickyActionBar.js +36 -35
- package/dist/components/Switch/Switch.d.ts.map +1 -1
- package/dist/components/Switch/Switch.js +19 -18
- package/dist/components/Table/Filter/DefaultInput.d.ts.map +1 -1
- package/dist/components/Table/Filter/DefaultInput.js +12 -11
- package/dist/components/Table/Filter/Filter.d.ts.map +1 -1
- package/dist/components/Table/Filter/Filter.js +99 -98
- package/dist/components/Table/Filter/FilterBooleanBox.d.ts.map +1 -1
- package/dist/components/Table/Filter/FilterBooleanBox.js +7 -6
- package/dist/components/Table/Filter/FilterBoxShell.js +48 -48
- package/dist/components/Table/Filter/FilterDateBox.d.ts.map +1 -1
- package/dist/components/Table/Filter/FilterDateBox.js +65 -64
- package/dist/components/Table/Filter/FilterSortIndicator.d.ts.map +1 -1
- package/dist/components/Table/Filter/FilterSortIndicator.js +8 -7
- package/dist/components/Table/Filter/SelectFilter.js +53 -53
- package/dist/components/Table/Filter/TableFilterOptions.d.ts.map +1 -1
- package/dist/components/Table/Filter/TableFilterOptions.js +141 -140
- package/dist/components/Table/Filter/TableFilterSortButton.d.ts.map +1 -1
- package/dist/components/Table/Filter/TableFilterSortButton.js +10 -9
- package/dist/components/Table/Filter/useVirtualOptionWindow.d.ts.map +1 -1
- package/dist/components/Table/Filter/useVirtualOptionWindow.js +9 -8
- package/dist/components/Table/Skeleton/createSkeletonColumns.d.ts.map +1 -1
- package/dist/components/Table/Skeleton/createSkeletonColumns.js +9 -8
- package/dist/components/Table/Table.d.ts.map +1 -1
- package/dist/components/Table/Table.helpers.d.ts.map +1 -1
- package/dist/components/Table/Table.helpers.js +31 -30
- package/dist/components/Table/Table.js +253 -252
- package/dist/components/Table/TableHead.d.ts.map +1 -1
- package/dist/components/Table/TableHead.js +92 -91
- package/dist/components/Table/TableMobileCard.d.ts.map +1 -1
- package/dist/components/Table/TableMobileCard.js +121 -120
- package/dist/components/Table/TableMobileFilters.d.ts.map +1 -1
- package/dist/components/Table/TableMobileFilters.js +28 -27
- package/dist/components/Table/TableMobileView.d.ts.map +1 -1
- package/dist/components/Table/TableMobileView.js +178 -177
- package/dist/components/Table/TableRow.d.ts.map +1 -1
- package/dist/components/Table/TableRow.js +59 -58
- package/dist/components/Table/useTableColumnPinning.d.ts +2 -917
- package/dist/components/Table/useTableColumnPinning.d.ts.map +1 -1
- package/dist/components/Table/useTableColumnPinning.js +21 -20
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.js +102 -101
- package/dist/components/Textarea/Textarea.d.ts.map +1 -1
- package/dist/components/Textarea/Textarea.js +70 -69
- package/dist/components/Tooltip/Tooltip.js +106 -106
- package/dist/components/TreeView/TreeView.js +183 -183
- package/dist/components/VirtualList/VirtualList.d.ts.map +1 -1
- package/dist/components/VirtualList/VirtualList.js +42 -41
- package/dist/dev/index.js +1 -1
- package/dist/hooks/useAutoId.d.ts.map +1 -1
- package/dist/hooks/useAutoId.js +7 -6
- package/dist/hooks/useSelectEngine.d.ts.map +1 -1
- package/dist/hooks/useSelectEngine.js +31 -30
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/responsive/uiKitResponsive.d.ts +6 -0
- package/dist/responsive/uiKitResponsive.d.ts.map +1 -1
- package/dist/responsive/uiKitResponsive.js +27 -26
- package/dist/shared/kitCopy.js +1 -1
- package/dist/shared/optionStateColors.d.ts +3 -2
- package/dist/shared/optionStateColors.d.ts.map +1 -1
- package/dist/shared/optionStateColors.js +9 -4
- package/dist/shared/popupTransition.d.ts.map +1 -1
- package/dist/shared/popupTransition.js +7 -6
- package/dist/shared/sheetTitle.d.ts +2 -1
- package/dist/shared/sheetTitle.d.ts.map +1 -1
- package/dist/shared/size.d.ts.map +1 -1
- package/dist/shared/size.js +3 -2
- package/dist/shared/uiKitDefaults.d.ts +21 -0
- package/dist/shared/uiKitDefaults.d.ts.map +1 -1
- package/dist/shared/uiKitDefaults.js +32 -18
- package/dist/style.shell.lk.css +53 -0
- package/dist/urfu-ui-kit-react.js +27 -26
- package/dist/vanilla/core/describeError.js +1 -1
- package/dist/vanilla/core/sheetTitle.js +7 -7
- package/package.json +3 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as n, jsxs as
|
|
1
|
+
import { jsx as n, jsxs as g } from "react/jsx-runtime";
|
|
2
2
|
import { FilterConditionSelect$u as b } from "./FilterConditionSelect.js";
|
|
3
3
|
import { TableFilterSortButton$u as B } from "./TableFilterSortButton.js";
|
|
4
4
|
import { getColumnSortDirection$u as S } from "./filterBoxHelpers.js";
|
|
@@ -6,7 +6,8 @@ import { getColumnSortDirection$u as S } from "./filterBoxHelpers.js";
|
|
|
6
6
|
/* empty css */
|
|
7
7
|
import { selectBoolean$u as l } from "./SelectOptions.js";
|
|
8
8
|
import { FilterBoxShell$u as j } from "./FilterBoxShell.js";
|
|
9
|
-
|
|
9
|
+
import { kitClasses$u as F } from "../../../shared/uiKitDefaults.js";
|
|
10
|
+
const A = ({
|
|
10
11
|
column: r,
|
|
11
12
|
anchorRef: a,
|
|
12
13
|
boxRef: m,
|
|
@@ -20,15 +21,15 @@ const y = ({
|
|
|
20
21
|
embedded: h
|
|
21
22
|
}) => {
|
|
22
23
|
const o = r.filterServer, e = (o == null ? void 0 : o.type) === "values" ? o.selection : void 0, x = e && e.values.length === 0 && e.mode === "exclude" ? l[0] : (e == null ? void 0 : e.mode) === "include" && e.values.length === 1 ? e.values[0] === !0 ? l[1] : e.values[0] === !1 ? l[2] : void 0 : void 0;
|
|
23
|
-
return /* @__PURE__ */ n(j, { embedded: h, customContent: !!o, anchorRef: a, tableRight: u, boxRef: m, width: c, label: d, children: /* @__PURE__ */
|
|
24
|
+
return /* @__PURE__ */ n(j, { embedded: h, customContent: !!o, anchorRef: a, tableRight: u, boxRef: m, width: c, label: d, children: /* @__PURE__ */ g("div", { className: F("table-filter-options__toolbar", "table-filter-boolean"), children: [
|
|
24
25
|
/* @__PURE__ */ n(
|
|
25
26
|
b,
|
|
26
27
|
{
|
|
27
28
|
value: o ? x : i == null ? void 0 : i.typeFilterSearch,
|
|
28
29
|
options: l,
|
|
29
|
-
onChange: (o == null ? void 0 : o.type) === "values" ? (
|
|
30
|
+
onChange: (o == null ? void 0 : o.type) === "values" ? (C) => {
|
|
30
31
|
var s;
|
|
31
|
-
const t = (s =
|
|
32
|
+
const t = (s = C.typeFilterSearch) == null ? void 0 : s.id;
|
|
32
33
|
t === "0" ? o.onChange({ mode: "exclude", values: [] }) : (t === "1" || t === "2") && o.onChange({ mode: "include", values: [t === "1"] });
|
|
33
34
|
} : f,
|
|
34
35
|
portalOn: !!o
|
|
@@ -37,4 +38,4 @@ const y = ({
|
|
|
37
38
|
/* @__PURE__ */ n(B, { sort: S(v, r.field), onSort: p })
|
|
38
39
|
] }) });
|
|
39
40
|
};
|
|
40
|
-
export {
|
|
41
|
+
export { A as FilterBooleanBox$u };
|
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useRef as O, useState as
|
|
3
|
-
import { createPortal as
|
|
4
|
-
import { getPortalScopeProps$u as ot } from "../../../shared/uiKitDefaults.js";
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
return
|
|
8
|
-
const t =
|
|
1
|
+
import { jsx as X, Fragment as et } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as O, useState as nt, useLayoutEffect as Y } from "react";
|
|
3
|
+
import { createPortal as it } from "react-dom";
|
|
4
|
+
import { getUiKitPrefix$u as r, getPortalScopeProps$u as ot } from "../../../shared/uiKitDefaults.js";
|
|
5
|
+
const rt = 278, ct = 8, mt = ({ anchorRef: m, tableRight: B, boxRef: R, width: w, label: z, customContent: h, embedded: v, adaptiveHeight: l, autoFocus: I = !0, children: M }) => {
|
|
6
|
+
const c = O(null), f = O(), y = O(!1), [e, J] = nt(null), W = e !== null;
|
|
7
|
+
return Y(() => {
|
|
8
|
+
const t = m == null ? void 0 : m.current;
|
|
9
9
|
if (!t) return;
|
|
10
|
-
const
|
|
11
|
-
var
|
|
12
|
-
const
|
|
10
|
+
const i = () => {
|
|
11
|
+
var K;
|
|
12
|
+
const s = t.getBoundingClientRect(), u = Number.parseFloat(getComputedStyle(document.documentElement).getPropertyValue("--u-unit")) || 1, d = ct * u, L = Math.max(0, window.innerWidth - 2 * d), A = Math.min(w ?? rt * u, L), a = Math.min(((K = c.current) == null ? void 0 : K.getBoundingClientRect().width) || A, L), o = t.closest(`.${r()}-table`), g = o == null ? void 0 : o.getBoundingClientRect(), C = o && g ? Math.max(0, g.left + o.clientLeft) : 0, E = o && g ? Math.min(window.innerWidth, g.left + o.clientLeft + o.clientWidth) : window.innerWidth, x = !!o && E - C >= a, N = (B ?? (x ? E : window.innerWidth)) - s.left >= a ? s.left : s.right - a, F = x ? N : Math.max(d, Math.min(N, window.innerWidth - a - d)), Q = x ? Math.min(a, Math.max(0, C - F)) : 0, Z = x ? Math.min(a, Math.max(0, F + a - E)) : 0, b = 2 * u, n = c.current, tt = n == null ? void 0 : n.style.maxHeight;
|
|
13
13
|
n && (n.style.maxHeight = "none");
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
n && (n.style.maxHeight =
|
|
18
|
-
const
|
|
14
|
+
const T = (n == null ? void 0 : n.getBoundingClientRect().height) || 0;
|
|
15
|
+
l && n && f.current === void 0 && (f.current = Math.min(T / u, 266));
|
|
16
|
+
const k = l ? (f.current ?? 266) * u : Math.max(T, h ? 0 : 266 * u);
|
|
17
|
+
n && (n.style.maxHeight = tt ?? "");
|
|
18
|
+
const P = Math.max(0, window.innerHeight - s.bottom - b - d), j = Math.max(0, s.top - b - d), D = k > P && j > P, V = D ? j : P, G = Math.min(k, V), H = {
|
|
19
19
|
left: F,
|
|
20
|
-
top:
|
|
21
|
-
minWidth:
|
|
20
|
+
top: D ? s.top - b - G : Math.max(d, s.bottom + b),
|
|
21
|
+
minWidth: A,
|
|
22
22
|
maxWidth: L,
|
|
23
|
-
maxHeight:
|
|
23
|
+
maxHeight: V,
|
|
24
24
|
clipLeft: Q,
|
|
25
|
-
clipRight:
|
|
26
|
-
height:
|
|
25
|
+
clipRight: Z,
|
|
26
|
+
height: l && f.current !== void 0 ? G : void 0
|
|
27
27
|
};
|
|
28
|
-
|
|
28
|
+
J((S) => S && Object.keys(H).every((U) => S[U] === H[U]) ? S : H);
|
|
29
29
|
};
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
const
|
|
36
|
-
return
|
|
37
|
-
window.cancelAnimationFrame(
|
|
30
|
+
i();
|
|
31
|
+
const p = window.requestAnimationFrame(i), $ = new ResizeObserver(i);
|
|
32
|
+
c.current && $.observe(c.current);
|
|
33
|
+
const _ = t.closest(`.${r()}-table`);
|
|
34
|
+
_ && $.observe(_);
|
|
35
|
+
const q = new MutationObserver(i);
|
|
36
|
+
return c.current && q.observe(c.current, { childList: !0, subtree: !0, characterData: !0 }), window.addEventListener("scroll", i, !0), window.addEventListener("resize", i), () => {
|
|
37
|
+
window.cancelAnimationFrame(p), $.disconnect(), q.disconnect(), window.removeEventListener("scroll", i, !0), window.removeEventListener("resize", i);
|
|
38
38
|
};
|
|
39
|
-
}, [
|
|
40
|
-
const t =
|
|
41
|
-
if (
|
|
39
|
+
}, [m, B, w, h, l, W]), Y(() => {
|
|
40
|
+
const t = c.current;
|
|
41
|
+
if (v || !I || !W || !t || y.current || t.querySelector(`.${r()}-table-filter-dates`)) return;
|
|
42
42
|
if (t.contains(document.activeElement)) {
|
|
43
|
-
|
|
43
|
+
y.current = !0;
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
|
-
const
|
|
46
|
+
const p = t.querySelector(
|
|
47
47
|
'input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([disabled]), textarea:not([disabled])'
|
|
48
48
|
) ?? t.querySelector(
|
|
49
|
-
|
|
49
|
+
`[role="combobox"]:not([aria-disabled="true"]), select:not([disabled]), .${r()}-selectbox-select[tabindex="0"]`
|
|
50
50
|
);
|
|
51
|
-
|
|
52
|
-
}, [
|
|
53
|
-
/* @__PURE__ */
|
|
51
|
+
p && (p.focus({ preventScroll: !0 }), y.current = !0);
|
|
52
|
+
}, [I, M, v, W]), v ? /* @__PURE__ */ X(et, { children: M }) : typeof document > "u" || !e ? null : it(
|
|
53
|
+
/* @__PURE__ */ X(
|
|
54
54
|
"div",
|
|
55
55
|
{
|
|
56
|
-
className: `select-params__box${
|
|
56
|
+
className: `select-params__box${h ? ` ${r()}-table-filter-custom` : ""}${l ? ` ${r()}-table-filter-adaptive` : ""}`,
|
|
57
57
|
role: "dialog",
|
|
58
58
|
"aria-label": z ? `Фильтр: ${z}` : "Фильтр колонки",
|
|
59
59
|
...ot(),
|
|
60
60
|
ref: (t) => {
|
|
61
|
-
|
|
61
|
+
c.current = t, R && (R.current = t);
|
|
62
62
|
},
|
|
63
63
|
onClick: (t) => t.stopPropagation(),
|
|
64
64
|
style: {
|
|
65
65
|
position: "fixed",
|
|
66
66
|
top: e.top,
|
|
67
67
|
left: e.left,
|
|
68
|
-
width:
|
|
68
|
+
width: w === void 0 ? void 0 : e.minWidth,
|
|
69
69
|
minWidth: e.minWidth,
|
|
70
70
|
maxWidth: e.maxWidth,
|
|
71
|
-
minHeight:
|
|
71
|
+
minHeight: h || l ? void 0 : `min(calc(266 * var(--u-unit, 1px)), ${e.maxHeight}px)`,
|
|
72
72
|
height: e.height,
|
|
73
73
|
maxHeight: e.maxHeight,
|
|
74
74
|
overflowY: "auto",
|
|
75
75
|
boxSizing: "border-box",
|
|
76
76
|
clipPath: e.clipLeft || e.clipRight ? `inset(0 ${e.clipRight}px 0 ${e.clipLeft}px)` : void 0,
|
|
77
|
-
backgroundColor:
|
|
78
|
-
border:
|
|
77
|
+
backgroundColor: `var(--${r()}-color-surface, #FFFFFF)`,
|
|
78
|
+
border: `1px solid var(--${r()}-color-border, #748AB9)`,
|
|
79
79
|
borderRadius: "calc(10 * var(--u-unit, 1px))",
|
|
80
80
|
cursor: "default",
|
|
81
|
-
zIndex:
|
|
81
|
+
zIndex: `var(--${r()}-table-filter-popup-z, 9999)`
|
|
82
82
|
},
|
|
83
|
-
children:
|
|
83
|
+
children: M
|
|
84
84
|
}
|
|
85
85
|
),
|
|
86
86
|
document.body
|
|
87
87
|
);
|
|
88
88
|
};
|
|
89
|
-
export {
|
|
89
|
+
export { mt as FilterBoxShell$u };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterDateBox.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/Filter/FilterDateBox.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAI1E,OAAO,sEAAsE,CAAC;AAC9E,OAAO,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"FilterDateBox.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/Filter/FilterDateBox.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAI1E,OAAO,sEAAsE,CAAC;AAC9E,OAAO,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvE,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,qGAAqG;IACrG,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACzE,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC7E,mEAAmE;IACnE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAKD,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAC7E,KAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CAkBzG;AAED,wGAAwG;AACxG,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAuC7C,eAAO,MAAM,aAAa,GAAI,iKAG3B,cAAc,GAAG,gBAAgB,4CA6DnC,CAAC"}
|
|
@@ -1,119 +1,120 @@
|
|
|
1
1
|
import { jsxs as R, jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import { useAutoId$u as
|
|
3
|
-
import { useEffect as
|
|
4
|
-
import { Button$u as
|
|
5
|
-
import { FilterConditionSelect$u as
|
|
6
|
-
import { getFilterResetLabel$u as
|
|
7
|
-
import { isServerFilterActive$u as
|
|
8
|
-
import { Calendar$u as
|
|
9
|
-
import { selectDate$u as
|
|
10
|
-
import { FilterBoxShell$u as
|
|
11
|
-
import { TableFilterSortButton$u as
|
|
2
|
+
import { useAutoId$u as X } from "../../../hooks/useAutoId.js";
|
|
3
|
+
import { useEffect as v, useState as L, useRef as z, useCallback as U } from "react";
|
|
4
|
+
import { Button$u as Z } from "../../Button/Button.js";
|
|
5
|
+
import { FilterConditionSelect$u as q } from "./FilterConditionSelect.js";
|
|
6
|
+
import { getFilterResetLabel$u as $, getColumnSortDirection$u as E } from "./filterBoxHelpers.js";
|
|
7
|
+
import { isServerFilterActive$u as x } from "../Table.helpers.js";
|
|
8
|
+
import { Calendar$u as G } from "../../Calendar/Calendar.js";
|
|
9
|
+
import { selectDate$u as j } from "./SelectOptions.js";
|
|
10
|
+
import { FilterBoxShell$u as tt } from "./FilterBoxShell.js";
|
|
11
|
+
import { TableFilterSortButton$u as et } from "./TableFilterSortButton.js";
|
|
12
12
|
/* empty css */
|
|
13
13
|
/* empty css */
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
import { kitCls$u as A } from "../../../shared/uiKitDefaults.js";
|
|
15
|
+
const H = (o) => o == null ? void 0 : o.source;
|
|
16
|
+
function J({
|
|
16
17
|
date: o,
|
|
17
18
|
endDate: u,
|
|
18
19
|
onDateChange: l,
|
|
19
20
|
onEndDateChange: i,
|
|
20
21
|
range: a = !1,
|
|
21
|
-
conditionControl:
|
|
22
|
+
conditionControl: O,
|
|
22
23
|
fromPlaceholder: c,
|
|
23
|
-
sort:
|
|
24
|
+
sort: y,
|
|
24
25
|
onSort: h,
|
|
25
26
|
error: s,
|
|
26
|
-
children:
|
|
27
|
+
children: N
|
|
27
28
|
}) {
|
|
28
|
-
const w =
|
|
29
|
-
return /* @__PURE__ */ R("div", { className: "
|
|
30
|
-
/* @__PURE__ */ R("div", { className: "
|
|
31
|
-
|
|
32
|
-
/* @__PURE__ */ r(
|
|
29
|
+
const w = X(void 0, A("table-date"));
|
|
30
|
+
return /* @__PURE__ */ R("div", { className: A("table-filter-dates"), children: [
|
|
31
|
+
/* @__PURE__ */ R("div", { className: A("table-filter-options__toolbar"), children: [
|
|
32
|
+
O ?? /* @__PURE__ */ r("span", { children: a ? "Диапазон дат" : "Дата" }),
|
|
33
|
+
/* @__PURE__ */ r(et, { sort: y, onSort: h })
|
|
33
34
|
] }),
|
|
34
|
-
/* @__PURE__ */ R("div", { className: "
|
|
35
|
+
/* @__PURE__ */ R("div", { className: A("table-filter-dates__fields"), children: [
|
|
35
36
|
/* @__PURE__ */ r(
|
|
36
|
-
|
|
37
|
+
G,
|
|
37
38
|
{
|
|
38
39
|
id: w + "-from",
|
|
39
40
|
portalOn: !0,
|
|
40
41
|
isClearable: !0,
|
|
41
42
|
isFilter: !0,
|
|
42
43
|
selected: o,
|
|
43
|
-
onChange: (d, C) => l(d instanceof Date ? d : null,
|
|
44
|
+
onChange: (d, C) => l(d instanceof Date ? d : null, H(C)),
|
|
44
45
|
placeholder: a ? c ?? "С" : "Выберите дату",
|
|
45
46
|
"aria-label": a ? "Дата с" : "Дата"
|
|
46
47
|
}
|
|
47
48
|
),
|
|
48
49
|
a ? /* @__PURE__ */ r(
|
|
49
|
-
|
|
50
|
+
G,
|
|
50
51
|
{
|
|
51
52
|
id: w + "-to",
|
|
52
53
|
portalOn: !0,
|
|
53
54
|
isClearable: !0,
|
|
54
55
|
isFilter: !0,
|
|
55
56
|
selected: u,
|
|
56
|
-
onChange: (d, C) => i == null ? void 0 : i(d instanceof Date ? d : null,
|
|
57
|
+
onChange: (d, C) => i == null ? void 0 : i(d instanceof Date ? d : null, H(C)),
|
|
57
58
|
placeholder: "По",
|
|
58
59
|
"aria-label": "Дата по"
|
|
59
60
|
}
|
|
60
61
|
) : null,
|
|
61
62
|
s ? /* @__PURE__ */ r("span", { role: "alert", children: s }) : null,
|
|
62
|
-
|
|
63
|
+
N
|
|
63
64
|
] })
|
|
64
65
|
] });
|
|
65
66
|
}
|
|
66
|
-
const
|
|
67
|
-
function
|
|
68
|
-
const o =
|
|
67
|
+
const ot = 450;
|
|
68
|
+
function nt() {
|
|
69
|
+
const o = z(), u = z(null), l = U(() => {
|
|
69
70
|
o.current && clearTimeout(o.current), o.current = void 0;
|
|
70
71
|
const i = u.current;
|
|
71
72
|
u.current = null, i == null || i();
|
|
72
73
|
}, []);
|
|
73
|
-
return
|
|
74
|
-
u.current = i, o.current && clearTimeout(o.current), a === "input" ? o.current = setTimeout(l,
|
|
74
|
+
return v(() => l, [l]), U((i, a) => {
|
|
75
|
+
u.current = i, o.current && clearTimeout(o.current), a === "input" ? o.current = setTimeout(l, ot) : l();
|
|
75
76
|
}, [l]);
|
|
76
77
|
}
|
|
77
|
-
let
|
|
78
|
-
function
|
|
79
|
-
if (!(
|
|
78
|
+
let K = !1;
|
|
79
|
+
function it(o) {
|
|
80
|
+
if (!(K || (o == null ? void 0 : o.type) !== "date" || o.applyMode !== "confirm")) {
|
|
80
81
|
try {
|
|
81
82
|
if (process.env.NODE_ENV === "production") return;
|
|
82
83
|
} catch {
|
|
83
84
|
return;
|
|
84
85
|
}
|
|
85
|
-
|
|
86
|
+
K = !0, console.warn("urfu-ui-kit-react: filterServer.applyMode игнорируется — фильтры дат применяются сами, без кнопок. Проп будет удалён в следующей минорной версии.");
|
|
86
87
|
}
|
|
87
88
|
}
|
|
88
|
-
const
|
|
89
|
+
const wt = ({
|
|
89
90
|
column: o,
|
|
90
91
|
anchorRef: u,
|
|
91
92
|
boxRef: l,
|
|
92
93
|
width: i,
|
|
93
94
|
label: a,
|
|
94
|
-
tableRight:
|
|
95
|
+
tableRight: O,
|
|
95
96
|
typeFilterSearch: c,
|
|
96
|
-
setTypeFilterSearch:
|
|
97
|
+
setTypeFilterSearch: y,
|
|
97
98
|
handleSort: h,
|
|
98
99
|
sort: s,
|
|
99
|
-
date:
|
|
100
|
+
date: N,
|
|
100
101
|
setDate: w,
|
|
101
102
|
dateEnd: d,
|
|
102
103
|
setDateEnd: C,
|
|
103
|
-
embedded:
|
|
104
|
+
embedded: Q
|
|
104
105
|
}) => {
|
|
105
|
-
var
|
|
106
|
+
var Y;
|
|
106
107
|
const t = o.filterServer;
|
|
107
|
-
|
|
108
|
-
const f =
|
|
109
|
-
|
|
110
|
-
B(
|
|
111
|
-
}, [
|
|
112
|
-
const
|
|
108
|
+
v(() => it(t), [t]);
|
|
109
|
+
const f = nt(), g = (t == null ? void 0 : t.type) === "date" ? t.date : void 0, T = (t == null ? void 0 : t.type) === "date" ? t.endDate : void 0, F = g == null ? void 0 : g.getTime(), S = T == null ? void 0 : T.getTime(), k = (t == null ? void 0 : t.type) === "date" ? t.operators ? t.operator : t.operator ?? "between" : void 0, [p, _] = L(k), [m, B] = L(g ?? null), [D, M] = L(T ?? null);
|
|
110
|
+
v(() => {
|
|
111
|
+
B(F === void 0 ? null : new Date(F)), M(S === void 0 ? null : new Date(S)), _(k);
|
|
112
|
+
}, [F, S, k]);
|
|
113
|
+
const W = p === "between" && !!m && !!D && m > D, I = x(t), V = (s == null ? void 0 : s.column) === o.field, P = (e, n, b) => {
|
|
113
114
|
(t == null ? void 0 : t.type) === "date" && (b === "between" && (e && !n || !e && n || e && n && e > n) || (t.operators ? t.onChange(e, b === "between" ? n : null, b) : t.onChange(e, n)));
|
|
114
115
|
};
|
|
115
|
-
return /* @__PURE__ */ r(
|
|
116
|
-
|
|
116
|
+
return /* @__PURE__ */ r(tt, { autoFocus: !1, embedded: Q, customContent: !!t, anchorRef: u, tableRight: O, boxRef: l, width: i, label: a, children: (t == null ? void 0 : t.type) === "date" ? /* @__PURE__ */ r(
|
|
117
|
+
J,
|
|
117
118
|
{
|
|
118
119
|
range: p === "between",
|
|
119
120
|
date: m,
|
|
@@ -127,47 +128,47 @@ const Dt = ({
|
|
|
127
128
|
M(e), f(() => P(e ? m : null, e, p ?? "between"), n);
|
|
128
129
|
},
|
|
129
130
|
conditionControl: /* @__PURE__ */ r(
|
|
130
|
-
|
|
131
|
+
q,
|
|
131
132
|
{
|
|
132
133
|
portalOn: !0,
|
|
133
|
-
value:
|
|
134
|
-
options:
|
|
134
|
+
value: j.find((e) => e.id === p),
|
|
135
|
+
options: j.filter((e) => (t.operators ?? ["between"]).includes(e.id)),
|
|
135
136
|
onChange: (e) => {
|
|
136
137
|
const n = e;
|
|
137
138
|
_(n.typeFilterSearch.id), m && f(() => P(m, D, n.typeFilterSearch.id));
|
|
138
139
|
}
|
|
139
140
|
}
|
|
140
141
|
),
|
|
141
|
-
error:
|
|
142
|
-
sort:
|
|
142
|
+
error: W ? "Дата «С» должна быть не позже даты «По»" : void 0,
|
|
143
|
+
sort: E(s, o.field),
|
|
143
144
|
onSort: h,
|
|
144
|
-
children: t.resetVisible !== !1 && (
|
|
145
|
+
children: t.resetVisible !== !1 && (I || V) ? /* @__PURE__ */ r(Z, { variant: "text", size: "small", onClick: () => {
|
|
145
146
|
B(null), M(null), _(t.operators ? void 0 : "between"), f(() => {
|
|
146
147
|
t.onReset ? t.onReset() : t.onChange(null, null);
|
|
147
148
|
});
|
|
148
|
-
}, children:
|
|
149
|
+
}, children: $(V, I) }) : null
|
|
149
150
|
}
|
|
150
151
|
) : /* @__PURE__ */ r(
|
|
151
|
-
|
|
152
|
+
J,
|
|
152
153
|
{
|
|
153
|
-
date:
|
|
154
|
+
date: N,
|
|
154
155
|
endDate: d,
|
|
155
156
|
onDateChange: (e, n) => f(() => w(e), n),
|
|
156
157
|
onEndDateChange: (e, n) => f(() => C(e), n),
|
|
157
|
-
range: ((
|
|
158
|
+
range: ((Y = c == null ? void 0 : c.typeFilterSearch) == null ? void 0 : Y.title) === "Между",
|
|
158
159
|
fromPlaceholder: "C",
|
|
159
|
-
sort:
|
|
160
|
+
sort: E(s, o.field),
|
|
160
161
|
onSort: h,
|
|
161
162
|
conditionControl: /* @__PURE__ */ r(
|
|
162
|
-
|
|
163
|
+
q,
|
|
163
164
|
{
|
|
164
165
|
portalOn: !0,
|
|
165
166
|
value: c == null ? void 0 : c.typeFilterSearch,
|
|
166
|
-
options:
|
|
167
|
-
onChange:
|
|
167
|
+
options: j,
|
|
168
|
+
onChange: y
|
|
168
169
|
}
|
|
169
170
|
)
|
|
170
171
|
}
|
|
171
172
|
) });
|
|
172
173
|
};
|
|
173
|
-
export {
|
|
174
|
+
export { ot as DATE_INPUT_APPLY_DELAY_MS$u, wt as FilterDateBox$u, J as TableFilterDates$u };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterSortIndicator.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/Filter/FilterSortIndicator.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FilterSortIndicator.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/Filter/FilterSortIndicator.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,GAAI,qBAA6B;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,4CAoBtG,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { jsx as r, jsxs as
|
|
2
|
-
import { Preloader$u as
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { jsx as r, jsxs as a } from "react/jsx-runtime";
|
|
2
|
+
import { Preloader$u as o } from "../../Preloader/Preloader.js";
|
|
3
|
+
import { kitCls$u as s, getUiKitPrefix$u as e } from "../../../shared/uiKitDefaults.js";
|
|
4
|
+
const x = ({ active: i, loading: l = !1 }) => {
|
|
5
|
+
if (l) return /* @__PURE__ */ r("span", { className: s("table-filter-loading"), role: "status", "aria-label": "Загрузка значений фильтра", children: /* @__PURE__ */ r(o, { variant: "small-primary" }) });
|
|
6
|
+
const t = i ? `var(--${e()}-color-primary, #1E4391)` : `var(--${e()}-table-filter-icon-color, #9FAECD)`;
|
|
7
|
+
return /* @__PURE__ */ a(
|
|
7
8
|
"svg",
|
|
8
9
|
{
|
|
9
10
|
width: "12",
|
|
@@ -21,4 +22,4 @@ const h = ({ active: e, loading: i = !1 }) => {
|
|
|
21
22
|
}
|
|
22
23
|
);
|
|
23
24
|
};
|
|
24
|
-
export {
|
|
25
|
+
export { x as FilterSortIndicator$u };
|