@caspeco/casper-ui-library 6.0.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/alert/alert.js +25 -25
- package/dist/components/button/types.d.ts +1 -1
- package/dist/components/button/types.d.ts.map +1 -1
- package/dist/components/combobox/combobox-button.d.ts.map +1 -1
- package/dist/components/combobox/combobox-button.js +57 -57
- package/dist/components/combobox/combobox-menu.d.ts.map +1 -1
- package/dist/components/combobox/combobox-menu.js +58 -56
- package/dist/components/combobox/combobox.d.ts.map +1 -1
- package/dist/components/combobox/combobox.js +34 -34
- package/dist/components/combobox/types.d.ts +2 -2
- package/dist/components/combobox/types.d.ts.map +1 -1
- package/dist/components/date-picker/base-date-picker.d.ts.map +1 -1
- package/dist/components/date-picker/base-date-picker.js +129 -129
- package/dist/components/date-picker/types.d.ts +3 -2
- package/dist/components/date-picker/types.d.ts.map +1 -1
- package/dist/components/drawer/use-drawer-key-down.js +8 -6
- package/dist/components/icon/icon.d.ts.map +1 -1
- package/dist/components/icon/icon.js +13 -12
- package/dist/components/icon-button/icon-button.d.ts +1 -1
- package/dist/components/icon-button/types.d.ts +3 -2
- package/dist/components/icon-button/types.d.ts.map +1 -1
- package/dist/components/image-upload/image-cropper.d.ts.map +1 -1
- package/dist/components/image-upload/image-upload-dropzone.d.ts.map +1 -1
- package/dist/components/image-upload/image-upload-dropzone.js +24 -24
- package/dist/components/image-upload/image-upload-modal.d.ts.map +1 -1
- package/dist/components/image-upload/image-upload-modal.js +61 -58
- package/dist/components/menu/menu-item.d.ts +2 -1
- package/dist/components/menu/menu-item.d.ts.map +1 -1
- package/dist/components/menu/menu.composition.d.ts.map +1 -1
- package/dist/components/modal/modal-footer.d.ts.map +1 -1
- package/dist/components/modal/modal-footer.js +16 -13
- package/dist/components/table/index.d.ts +1 -0
- package/dist/components/table/index.d.ts.map +1 -1
- package/dist/components/table/table-cell.js +18 -18
- package/dist/components/table/table-content.d.ts.map +1 -1
- package/dist/components/table/table-content.js +21 -19
- package/dist/components/table/table-context-provider.d.ts +8 -4
- package/dist/components/table/table-context-provider.d.ts.map +1 -1
- package/dist/components/table/table-context-provider.js +96 -94
- package/dist/components/table/table-filter.d.ts +27 -0
- package/dist/components/table/table-filter.d.ts.map +1 -0
- package/dist/components/table/table-filter.js +140 -0
- package/dist/components/table/table-filter.spec.d.ts +2 -0
- package/dist/components/table/table-filter.spec.d.ts.map +1 -0
- package/dist/components/table/table-header-dropdown.d.ts +1 -1
- package/dist/components/table/table-header-dropdown.d.ts.map +1 -1
- package/dist/components/table/table-header-dropdown.js +71 -59
- package/dist/components/table/table-row.js +40 -40
- package/dist/components/table/table-toolbar.d.ts.map +1 -1
- package/dist/components/table/table-toolbar.js +111 -81
- package/dist/components/table/table.composition.d.ts +1 -1
- package/dist/components/table/table.composition.d.ts.map +1 -1
- package/dist/components/table/table.d.ts +1 -1
- package/dist/components/table/table.d.ts.map +1 -1
- package/dist/components/table/table.js +22 -24
- package/dist/components/table/translations.d.ts +10 -0
- package/dist/components/table/translations.d.ts.map +1 -1
- package/dist/components/table/translations.js +17 -9
- package/dist/components/table/types.d.ts +1 -5
- package/dist/components/table/types.d.ts.map +1 -1
- package/dist/components/tabs/tabs.composition.d.ts +1 -1
- package/dist/index.js +168 -165
- package/dist/theme/index.d.ts +2 -1
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/theme-config/components/button-theme.d.ts.map +1 -1
- package/dist/theme/theme-config/components/button-theme.js +35 -20
- package/dist/theme/theme-context.d.ts +10 -0
- package/dist/theme/theme-context.d.ts.map +1 -0
- package/dist/theme/theme-context.js +11 -0
- package/dist/theme/theme-provider-context.composition.d.ts.map +1 -1
- package/dist/theme/theme-provider.d.ts +0 -8
- package/dist/theme/theme-provider.d.ts.map +1 -1
- package/dist/theme/theme-provider.js +21 -27
- package/package.json +16 -11
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ColumnDef, ExpandedState, Row, RowSelectionState, SortingState, Table, VisibilityState } from '@tanstack/react-table';
|
|
2
2
|
import { PropsWithChildren } from 'react';
|
|
3
3
|
import { MenuList } from '../menu/index.js';
|
|
4
4
|
import { Locales } from './translations.js';
|
|
5
5
|
import { TableData, TableRow } from './types.js';
|
|
6
|
+
export interface TableFilterMethods {
|
|
7
|
+
onToggleFilterVisibility: (columnId: string) => void;
|
|
8
|
+
canFilterOnColumn: (columnId: string) => boolean;
|
|
9
|
+
}
|
|
6
10
|
interface TableProviderInterface<TData extends TableData> extends PropsWithChildren {
|
|
7
11
|
data: TableRow<TData>[];
|
|
8
12
|
columns: ColumnDef<TableRow<TData>>[];
|
|
@@ -15,7 +19,6 @@ interface TableProviderInterface<TData extends TableData> extends PropsWithChild
|
|
|
15
19
|
getRowId?: (originalRow: TableRow<TData>, index: number, parent?: Row<TableRow<TData>>) => string;
|
|
16
20
|
getRowActions?: (row: TableRow<TData>) => React.ReactElement<React.ComponentProps<typeof MenuList>, typeof MenuList> | null | undefined | false;
|
|
17
21
|
onBreakingContentChange?: (breakingContentState: Record<string, boolean>) => void;
|
|
18
|
-
onFilterColumn?: (clickedColumn: Column<TableRow<TData>, unknown>) => void;
|
|
19
22
|
expandedState?: ExpandedState;
|
|
20
23
|
initialExpandedState?: ExpandedState;
|
|
21
24
|
id?: string;
|
|
@@ -36,7 +39,6 @@ export interface TableContextInterface<TData extends TableData = TableData> {
|
|
|
36
39
|
columnVisibilityState?: VisibilityState;
|
|
37
40
|
onColumnVisibilityChange?: (state: VisibilityState) => void;
|
|
38
41
|
onBreakingContentChange?: (breakingContentState: Record<string, boolean>) => void;
|
|
39
|
-
onFilterColumn?: (clickedColumn: Column<TableRow<TData>, unknown>) => void;
|
|
40
42
|
onExpandedChange?: (state: ExpandedState) => void;
|
|
41
43
|
getRowId?: (originalRow: TableRow<TData>, index: number, parent?: Row<TableRow<TData>>) => string;
|
|
42
44
|
getRowActions?: (row: TableRow<TData>) => React.ReactElement<React.ComponentProps<typeof MenuList>, typeof MenuList> | null | undefined | false;
|
|
@@ -51,7 +53,9 @@ export interface TableContextInterface<TData extends TableData = TableData> {
|
|
|
51
53
|
onSortingChange?: (state: SortingState) => void;
|
|
52
54
|
initialSortingState?: SortingState;
|
|
53
55
|
sortingState?: SortingState;
|
|
56
|
+
registerTableFilter: (methods: TableFilterMethods) => () => void;
|
|
57
|
+
getTableFilterMethods: () => TableFilterMethods | null;
|
|
54
58
|
}
|
|
55
|
-
export declare const TableProvider: <TData extends TableData>({ data, columns, children, expandedState, localeString, initialExpandedState, initialBreakingContentState, initialColumnVisibilityState, columnVisibilityState, onColumnVisibilityChange, onExpandedChange, getRowId, getRowActions, onBreakingContentChange,
|
|
59
|
+
export declare const TableProvider: <TData extends TableData>({ data, columns, children, expandedState, localeString, initialExpandedState, initialBreakingContentState, initialColumnVisibilityState, columnVisibilityState, onColumnVisibilityChange, onExpandedChange, getRowId, getRowActions, onBreakingContentChange, id, customRowIndication, onSortingChange, initialSortingState, sortingState, }: TableProviderInterface<TData>) => import("react/jsx-runtime").JSX.Element;
|
|
56
60
|
export {};
|
|
57
61
|
//# sourceMappingURL=table-context-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-context-provider.d.ts","sourceRoot":"","sources":["../../../lib/components/table/table-context-provider.tsx"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,
|
|
1
|
+
{"version":3,"file":"table-context-provider.d.ts","sourceRoot":"","sources":["../../../lib/components/table/table-context-provider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,115 +1,117 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useControllableState as
|
|
3
|
-
import { useReactTable as
|
|
4
|
-
import { useState as
|
|
5
|
-
import { TableContext as
|
|
6
|
-
import { getFilteredRowModel as
|
|
7
|
-
const
|
|
8
|
-
data:
|
|
9
|
-
columns:
|
|
10
|
-
children:
|
|
11
|
-
expandedState:
|
|
12
|
-
localeString:
|
|
13
|
-
initialExpandedState:
|
|
14
|
-
initialBreakingContentState:
|
|
15
|
-
initialColumnVisibilityState:
|
|
16
|
-
columnVisibilityState:
|
|
17
|
-
onColumnVisibilityChange:
|
|
18
|
-
onExpandedChange:
|
|
19
|
-
getRowId:
|
|
20
|
-
getRowActions:
|
|
21
|
-
onBreakingContentChange:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
sortingState: c
|
|
1
|
+
import { jsx as N } from "react/jsx-runtime";
|
|
2
|
+
import { useControllableState as r } from "@chakra-ui/react";
|
|
3
|
+
import { useReactTable as Q } from "../../node_modules/@tanstack/react-table/build/lib/index.js";
|
|
4
|
+
import { useState as a, useCallback as o, useEffect as U } from "react";
|
|
5
|
+
import { TableContext as W } from "./table-context.js";
|
|
6
|
+
import { getFilteredRowModel as X, getSortedRowModel as Y, getExpandedRowModel as Z, getCoreRowModel as _ } from "../../node_modules/@tanstack/table-core/build/lib/index.js";
|
|
7
|
+
const le = ({
|
|
8
|
+
data: d,
|
|
9
|
+
columns: v,
|
|
10
|
+
children: x,
|
|
11
|
+
expandedState: y,
|
|
12
|
+
localeString: F,
|
|
13
|
+
initialExpandedState: u = {},
|
|
14
|
+
initialBreakingContentState: b = {},
|
|
15
|
+
initialColumnVisibilityState: T = {},
|
|
16
|
+
columnVisibilityState: E,
|
|
17
|
+
onColumnVisibilityChange: V,
|
|
18
|
+
onExpandedChange: c,
|
|
19
|
+
getRowId: g,
|
|
20
|
+
getRowActions: k,
|
|
21
|
+
onBreakingContentChange: P,
|
|
22
|
+
id: j,
|
|
23
|
+
customRowIndication: i,
|
|
24
|
+
onSortingChange: f,
|
|
25
|
+
initialSortingState: q = [],
|
|
26
|
+
sortingState: m
|
|
28
27
|
}) => {
|
|
29
|
-
const [
|
|
30
|
-
value: M,
|
|
31
|
-
onChange: u,
|
|
32
|
-
defaultValue: r
|
|
33
|
-
}), [l, j] = i({
|
|
28
|
+
const [l, s] = r({
|
|
34
29
|
value: y,
|
|
35
|
-
onChange:
|
|
36
|
-
defaultValue:
|
|
37
|
-
}), [
|
|
38
|
-
value:
|
|
39
|
-
onChange:
|
|
40
|
-
defaultValue:
|
|
41
|
-
}), [
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
30
|
+
onChange: c,
|
|
31
|
+
defaultValue: u
|
|
32
|
+
}), [n, C] = r({
|
|
33
|
+
value: E,
|
|
34
|
+
onChange: V,
|
|
35
|
+
defaultValue: T
|
|
36
|
+
}), [S, w] = r({
|
|
37
|
+
value: m,
|
|
38
|
+
onChange: f,
|
|
39
|
+
defaultValue: q
|
|
40
|
+
}), [z, A] = a(
|
|
41
|
+
b || {}
|
|
42
|
+
), [h, M] = a({}), [R, p] = a(null), B = o((e) => (p(e), () => {
|
|
43
|
+
p(null);
|
|
44
|
+
}), []), D = o(() => R, [R]);
|
|
45
|
+
U(() => {
|
|
46
|
+
i && M(i);
|
|
47
|
+
}, [i]);
|
|
48
|
+
const G = o(
|
|
48
49
|
(e) => {
|
|
49
|
-
let
|
|
50
|
-
typeof e == "function" ?
|
|
50
|
+
let t;
|
|
51
|
+
typeof e == "function" ? t = e(n) : t = e, C(t);
|
|
51
52
|
},
|
|
52
|
-
[
|
|
53
|
-
),
|
|
53
|
+
[n, C]
|
|
54
|
+
), H = o(
|
|
54
55
|
(e) => {
|
|
55
|
-
let
|
|
56
|
-
typeof e == "function" ?
|
|
56
|
+
let t;
|
|
57
|
+
typeof e == "function" ? t = e(l) : t = e, s(t);
|
|
57
58
|
},
|
|
58
|
-
[
|
|
59
|
-
),
|
|
59
|
+
[l, s]
|
|
60
|
+
), J = o(
|
|
60
61
|
(e) => {
|
|
61
|
-
|
|
62
|
+
w(e);
|
|
62
63
|
},
|
|
63
|
-
[
|
|
64
|
-
),
|
|
65
|
-
columns:
|
|
66
|
-
data:
|
|
67
|
-
getCoreRowModel:
|
|
68
|
-
getExpandedRowModel:
|
|
69
|
-
getSortedRowModel:
|
|
70
|
-
getFilteredRowModel:
|
|
71
|
-
onColumnVisibilityChange:
|
|
72
|
-
onExpandedChange:
|
|
64
|
+
[w]
|
|
65
|
+
), K = Q({
|
|
66
|
+
columns: v,
|
|
67
|
+
data: d,
|
|
68
|
+
getCoreRowModel: _(),
|
|
69
|
+
getExpandedRowModel: Z(),
|
|
70
|
+
getSortedRowModel: Y(),
|
|
71
|
+
getFilteredRowModel: X(),
|
|
72
|
+
onColumnVisibilityChange: G,
|
|
73
|
+
onExpandedChange: H,
|
|
73
74
|
getSubRows: (e) => e.subRows,
|
|
74
|
-
getRowId:
|
|
75
|
+
getRowId: g,
|
|
75
76
|
enableSubRowSelection: !0,
|
|
76
77
|
enableMultiRowSelection: !1,
|
|
77
78
|
enableRowSelection: !0,
|
|
78
79
|
state: {
|
|
79
|
-
sorting:
|
|
80
|
-
columnVisibility:
|
|
81
|
-
expanded:
|
|
82
|
-
rowSelection:
|
|
80
|
+
sorting: S,
|
|
81
|
+
columnVisibility: n,
|
|
82
|
+
expanded: l,
|
|
83
|
+
rowSelection: h
|
|
83
84
|
},
|
|
84
|
-
manualSorting:
|
|
85
|
-
}),
|
|
86
|
-
data:
|
|
87
|
-
table:
|
|
88
|
-
initialExpandedState:
|
|
89
|
-
initialBreakingContentState:
|
|
90
|
-
localeString:
|
|
91
|
-
onExpandedChange:
|
|
92
|
-
expanded:
|
|
93
|
-
sorting:
|
|
94
|
-
setSorting:
|
|
95
|
-
setExpanded:
|
|
96
|
-
getRowId:
|
|
97
|
-
getRowActions:
|
|
98
|
-
breakingContentState:
|
|
99
|
-
setBreakingContentState:
|
|
100
|
-
onBreakingContentChange:
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
85
|
+
manualSorting: m !== void 0
|
|
86
|
+
}), L = {
|
|
87
|
+
data: d,
|
|
88
|
+
table: K,
|
|
89
|
+
initialExpandedState: u,
|
|
90
|
+
initialBreakingContentState: b,
|
|
91
|
+
localeString: F,
|
|
92
|
+
onExpandedChange: c,
|
|
93
|
+
expanded: l,
|
|
94
|
+
sorting: S,
|
|
95
|
+
setSorting: J,
|
|
96
|
+
setExpanded: s,
|
|
97
|
+
getRowId: g,
|
|
98
|
+
getRowActions: k,
|
|
99
|
+
breakingContentState: z,
|
|
100
|
+
setBreakingContentState: A,
|
|
101
|
+
onBreakingContentChange: P,
|
|
102
|
+
id: j,
|
|
103
|
+
setRowSelection: M,
|
|
104
|
+
rowSelection: h,
|
|
105
|
+
columnVisibility: n,
|
|
106
|
+
onSortingChange: f,
|
|
107
|
+
registerTableFilter: B,
|
|
108
|
+
getTableFilterMethods: D
|
|
107
109
|
};
|
|
108
110
|
return (
|
|
109
111
|
// This is correct but there's no easy way to type the context statically with generics
|
|
110
|
-
/* @__PURE__ */
|
|
112
|
+
/* @__PURE__ */ N(W.Provider, { value: L, children: x })
|
|
111
113
|
);
|
|
112
114
|
};
|
|
113
115
|
export {
|
|
114
|
-
|
|
116
|
+
le as TableProvider
|
|
115
117
|
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ComboboxItem } from '../combobox/types.js';
|
|
2
|
+
export type TableFilterBoxState<T extends string = string> = {
|
|
3
|
+
filterId: T;
|
|
4
|
+
label: string;
|
|
5
|
+
items: ComboboxItem[];
|
|
6
|
+
isVisible: boolean;
|
|
7
|
+
selectedItems: ComboboxItem[];
|
|
8
|
+
columnId?: string;
|
|
9
|
+
};
|
|
10
|
+
export type TableFilter<T extends string = string> = {
|
|
11
|
+
filterId: T;
|
|
12
|
+
selectedItems: ComboboxItem[];
|
|
13
|
+
};
|
|
14
|
+
export type TableFilterVisibleChange<T extends string = string> = {
|
|
15
|
+
filterId: T;
|
|
16
|
+
isVisible: boolean;
|
|
17
|
+
items: ComboboxItem[];
|
|
18
|
+
};
|
|
19
|
+
export type TableFilterProps<T extends string = string> = {
|
|
20
|
+
initialFilterState: TableFilterBoxState<T>[];
|
|
21
|
+
onFilterChange?: (filter: TableFilter<T>[]) => void;
|
|
22
|
+
onFilterVisibleChange?: (filter: TableFilterVisibleChange<T>, addItems: (items: ComboboxItem[]) => void) => void;
|
|
23
|
+
};
|
|
24
|
+
declare const TableFilterComponent: <T extends string>({ initialFilterState, onFilterVisibleChange, onFilterChange, }: TableFilterProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export declare const TableFilter: typeof TableFilterComponent;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=table-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-filter.d.ts","sourceRoot":"","sources":["../../../lib/components/table/table-filter.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAUhE,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IAC5D,QAAQ,EAAE,CAAC,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IACpD,QAAQ,EAAE,CAAC,CAAC;IACZ,aAAa,EAAE,YAAY,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IACjE,QAAQ,EAAE,CAAC,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,YAAY,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IACzD,kBAAkB,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;IACpD,qBAAqB,CAAC,EAAE,CACvB,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,EACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,KACrC,IAAI,CAAC;CACV,CAAC;AAEF,QAAA,MAAM,oBAAoB,GAAI,CAAC,SAAS,MAAM,EAAE,gEAI7C,gBAAgB,CAAC,CAAC,CAAC,4CAiOrB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAiC,OAAO,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { jsxs as u, jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import { memo as y, useState as R, useCallback as I, useEffect as W, useMemo as j } from "react";
|
|
3
|
+
import { useTableContext as z } from "./table-context.js";
|
|
4
|
+
import { translations as L } from "./translations.js";
|
|
5
|
+
import { Flex as f } from "../flex/flex.js";
|
|
6
|
+
import { Combobox as O } from "../combobox/combobox.js";
|
|
7
|
+
import { Button as T } from "../button/button.js";
|
|
8
|
+
import { Text as A } from "../text/text.js";
|
|
9
|
+
import { Menu as D } from "../menu/menu.js";
|
|
10
|
+
import { MenuButton as E } from "../menu/menu-button.js";
|
|
11
|
+
import { Icons as H } from "../icon/types.js";
|
|
12
|
+
import { MenuList as X } from "../menu/menu-list.js";
|
|
13
|
+
import { MenuItem as Y } from "../menu/menu-item.js";
|
|
14
|
+
import { Checkbox as $ } from "../checkbox/checkbox.js";
|
|
15
|
+
import { Box as q } from "../box/box.js";
|
|
16
|
+
import { ThemeSpaceVariable as C } from "../../theme/theme-types.js";
|
|
17
|
+
const G = ({
|
|
18
|
+
initialFilterState: M,
|
|
19
|
+
onFilterVisibleChange: b,
|
|
20
|
+
onFilterChange: m
|
|
21
|
+
}) => {
|
|
22
|
+
const x = z(), { registerTableFilter: g } = x, S = x.localeString, h = L[S], [n, a] = R(M), k = I(
|
|
23
|
+
(e, s) => {
|
|
24
|
+
a((o) => {
|
|
25
|
+
const r = o.map((i) => i.filterId === e ? {
|
|
26
|
+
...i,
|
|
27
|
+
selectedItems: s
|
|
28
|
+
} : i), c = r.filter(
|
|
29
|
+
(i) => i.isVisible && i.filterId !== e && i.selectedItems && i.selectedItems.length > 0
|
|
30
|
+
);
|
|
31
|
+
if (s.length > 0) {
|
|
32
|
+
const i = r.find((t) => t.filterId === e);
|
|
33
|
+
i && m?.([
|
|
34
|
+
...c.map((t) => ({ filterId: t.filterId, selectedItems: t.selectedItems })),
|
|
35
|
+
{ filterId: e, selectedItems: i.selectedItems }
|
|
36
|
+
]);
|
|
37
|
+
} else
|
|
38
|
+
m?.([
|
|
39
|
+
...c.map((i) => ({ filterId: i.filterId, selectedItems: i.selectedItems }))
|
|
40
|
+
]);
|
|
41
|
+
return r;
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
[m, a]
|
|
45
|
+
), w = I((e, s) => {
|
|
46
|
+
a((o) => o.map((r) => r.filterId === e ? {
|
|
47
|
+
...r,
|
|
48
|
+
items: s
|
|
49
|
+
} : r));
|
|
50
|
+
}, []), p = I(
|
|
51
|
+
(e, s) => {
|
|
52
|
+
a((r) => {
|
|
53
|
+
const c = r.map((t) => t.filterId === e ? {
|
|
54
|
+
...t,
|
|
55
|
+
isVisible: s
|
|
56
|
+
} : t), i = c.find((t) => t.filterId === e);
|
|
57
|
+
if (s) {
|
|
58
|
+
if (i?.selectedItems && i.selectedItems.length > 0) {
|
|
59
|
+
const t = c.filter(
|
|
60
|
+
(d) => d.isVisible && d.filterId !== e && d.selectedItems && d.selectedItems.length > 0
|
|
61
|
+
);
|
|
62
|
+
m?.([
|
|
63
|
+
...t.map((d) => ({ filterId: d.filterId, selectedItems: d.selectedItems })),
|
|
64
|
+
{ filterId: e, selectedItems: i.selectedItems }
|
|
65
|
+
]);
|
|
66
|
+
}
|
|
67
|
+
} else
|
|
68
|
+
m?.(
|
|
69
|
+
c.filter(
|
|
70
|
+
(t) => t.isVisible && t.filterId !== e && t.selectedItems && t.selectedItems.length > 0
|
|
71
|
+
).map((t) => ({ filterId: t.filterId, selectedItems: t.selectedItems }))
|
|
72
|
+
);
|
|
73
|
+
return c;
|
|
74
|
+
});
|
|
75
|
+
const o = n.find((r) => r.filterId === e);
|
|
76
|
+
o && b?.({ filterId: e, isVisible: s, items: o.items }, (r) => {
|
|
77
|
+
w(e, r);
|
|
78
|
+
});
|
|
79
|
+
},
|
|
80
|
+
[n, m, b, w]
|
|
81
|
+
), V = I(
|
|
82
|
+
(e) => {
|
|
83
|
+
const s = n.find((o) => (o.columnId ?? o.filterId) === e);
|
|
84
|
+
s && p(s.filterId, !s.isVisible);
|
|
85
|
+
},
|
|
86
|
+
[n, p]
|
|
87
|
+
);
|
|
88
|
+
W(() => g({
|
|
89
|
+
onToggleFilterVisibility: V,
|
|
90
|
+
canFilterOnColumn: (s) => n.some((o) => (o.columnId ?? o.filterId) === s)
|
|
91
|
+
}), [n, V, g]);
|
|
92
|
+
const v = I(() => {
|
|
93
|
+
a((e) => e.map((o) => ({
|
|
94
|
+
...o,
|
|
95
|
+
isVisible: !1,
|
|
96
|
+
selectedItems: []
|
|
97
|
+
}))), m?.([]);
|
|
98
|
+
}, [m, a]), B = j(
|
|
99
|
+
() => n.some((e) => e.isVisible),
|
|
100
|
+
[n]
|
|
101
|
+
), F = I(
|
|
102
|
+
(e) => (s) => {
|
|
103
|
+
p(e, s.target.checked);
|
|
104
|
+
},
|
|
105
|
+
[p]
|
|
106
|
+
);
|
|
107
|
+
return /* @__PURE__ */ u(f, { width: "100%", overflow: "hidden", children: [
|
|
108
|
+
/* @__PURE__ */ u(f, { shrink: 1, grow: 0, minWidth: 0, gap: C.Medium, children: [
|
|
109
|
+
/* @__PURE__ */ l(f, { maxWidth: "100%", overflowX: "auto", whiteSpace: "nowrap", gap: C.Medium, children: n.filter((e) => e.isVisible).map((e) => /* @__PURE__ */ l(
|
|
110
|
+
O,
|
|
111
|
+
{
|
|
112
|
+
collapsed: !0,
|
|
113
|
+
placeholder: "",
|
|
114
|
+
id: `${e.filterId}-filter`,
|
|
115
|
+
maxVisibleItems: 30,
|
|
116
|
+
label: e.label,
|
|
117
|
+
locale: S,
|
|
118
|
+
width: "285px",
|
|
119
|
+
minWidth: "285px",
|
|
120
|
+
items: e.items,
|
|
121
|
+
selectedItems: e.selectedItems,
|
|
122
|
+
onChange: (s) => k(e.filterId, s),
|
|
123
|
+
footerContent: /* @__PURE__ */ l(T, { variant: "link", size: "sm", onClick: () => k(e.filterId, []), children: /* @__PURE__ */ l(A, { children: h.filterBoxReset }) })
|
|
124
|
+
},
|
|
125
|
+
e.filterId
|
|
126
|
+
)) }),
|
|
127
|
+
/* @__PURE__ */ l(f, { shrink: 0, children: /* @__PURE__ */ u(D, { closeOnSelect: !1, offset: [0, 4], children: [
|
|
128
|
+
/* @__PURE__ */ l(E, { flexShrink: 0, leftIcon: H.Add, variant: "ghost", children: h.filterText }),
|
|
129
|
+
/* @__PURE__ */ l(X, { zIndex: 10, maxHeight: "320px", overflowY: "auto", children: n.map((e) => /* @__PURE__ */ u(Y, { itemType: "checkbox", children: [
|
|
130
|
+
e.label,
|
|
131
|
+
/* @__PURE__ */ l($, { isChecked: e.isVisible, onChange: F(e.filterId) })
|
|
132
|
+
] }, e.filterId)) })
|
|
133
|
+
] }) })
|
|
134
|
+
] }),
|
|
135
|
+
B && /* @__PURE__ */ l(q, { marginLeft: "auto", children: /* @__PURE__ */ l(T, { variant: "ghost", onClick: v, children: h.filterReset }) })
|
|
136
|
+
] });
|
|
137
|
+
}, me = y(G);
|
|
138
|
+
export {
|
|
139
|
+
me as TableFilter
|
|
140
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-filter.spec.d.ts","sourceRoot":"","sources":["../../../lib/components/table/table-filter.spec.tsx"],"names":[],"mappings":""}
|
|
@@ -12,7 +12,7 @@ type TableHeaderDropdownProps<TData extends TableData> = {
|
|
|
12
12
|
columnVisibility: VisibilityState;
|
|
13
13
|
localeString: Locales;
|
|
14
14
|
};
|
|
15
|
-
declare const TableHeaderDropdownComponent: <TData extends TableData>({ header, breakingContentState, onBreakingContentChange, setBreakingContentState, headerGroup, sorting, setSorting,
|
|
15
|
+
declare const TableHeaderDropdownComponent: <TData extends TableData>({ header, breakingContentState, onBreakingContentChange, setBreakingContentState, headerGroup, sorting, setSorting, localeString, }: TableHeaderDropdownProps<TData>) => import("react/jsx-runtime").JSX.Element;
|
|
16
16
|
export declare const TableHeaderDropdown: typeof TableHeaderDropdownComponent;
|
|
17
17
|
export {};
|
|
18
18
|
//# sourceMappingURL=table-header-dropdown.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-header-dropdown.d.ts","sourceRoot":"","sources":["../../../lib/components/table/table-header-dropdown.tsx"],"names":[],"mappings":"AAWA,OAAO,EAGN,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,KAAK,OAAO,EAAgB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnD,KAAK,wBAAwB,CAAC,KAAK,SAAS,SAAS,IAAI;IACxD,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IACzC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,uBAAuB,CAAC,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAClF,uBAAuB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC;IACxF,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IAC5C,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1C,gBAAgB,EAAE,eAAe,CAAC;IAClC,YAAY,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,QAAA,MAAM,4BAA4B,GAAI,KAAK,SAAS,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"table-header-dropdown.d.ts","sourceRoot":"","sources":["../../../lib/components/table/table-header-dropdown.tsx"],"names":[],"mappings":"AAWA,OAAO,EAGN,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,KAAK,OAAO,EAAgB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnD,KAAK,wBAAwB,CAAC,KAAK,SAAS,SAAS,IAAI;IACxD,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IACzC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,uBAAuB,CAAC,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAClF,uBAAuB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC;IACxF,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IAC5C,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1C,gBAAgB,EAAE,eAAe,CAAC;IAClC,YAAY,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,QAAA,MAAM,4BAA4B,GAAI,KAAK,SAAS,SAAS,EAAE,qIAS5D,wBAAwB,CAAC,KAAK,CAAC,4CAyIjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAyC,OAAO,4BAA4B,CAAC"}
|