@popmenu/table 0.127.0 → 0.127.1
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/build/cjs/components/ColumnFilterChip/ColumnFilterChip.d.ts +0 -1
- package/build/cjs/components/ColumnFilterResetButton/ColumnFilterResetButton.d.ts +0 -1
- package/build/cjs/components/FilterPanel/FilterControl/FilterControl.d.ts +0 -1
- package/build/cjs/components/FilterPanel/FilterControl/SelectFilter/SelectFilter.d.ts +0 -1
- package/build/cjs/components/FilterPanel/FilterControl/ToggleFilter/ToggleFilter.d.ts +0 -1
- package/build/cjs/components/FilterPanel/FilterPanel.d.ts +0 -1
- package/build/cjs/components/FilterPanel/FilterPanelContext/FilterPanelContext.d.ts +1 -1
- package/build/cjs/components/FilterPanel/FilterPanelProps.d.ts +2 -2
- package/build/cjs/components/FilterPanel/Panel/Panel.d.ts +1 -2
- package/build/cjs/components/FilterPanel/Trigger/Trigger.d.ts +1 -1
- package/build/cjs/components/GlobalFilter/GlobalFilter.d.ts +0 -1
- package/build/cjs/components/GlobalFilter/index.d.ts +1 -1
- package/build/cjs/components/RowActions/RowActions.d.ts +0 -1
- package/build/cjs/components/RowActions/index.d.ts +1 -1
- package/build/cjs/components/Table/Table.d.ts +0 -1
- package/build/cjs/components/Table/TableStyles.d.ts +1 -1
- package/build/cjs/components/Table/index.d.ts +1 -1
- package/build/cjs/components/TableBody/TableBody.d.ts +1 -1
- package/build/cjs/components/TableCell/TableCell.d.ts +1 -1
- package/build/cjs/components/TableContext/index.d.ts +2 -3
- package/build/cjs/components/TableControlsContainer/TableControlsContainer.d.ts +0 -1
- package/build/cjs/components/TableControlsContainer/TableControlsContainerProps.d.ts +1 -1
- package/build/cjs/components/TableFooter/TableFooter.d.ts +1 -1
- package/build/cjs/components/TableHeader/TableHeader.d.ts +1 -1
- package/build/cjs/components/TableHeaderCell/TableHeaderCell.d.ts +0 -1
- package/build/cjs/components/TableHeaderCell/TableHeaderCellProps.d.ts +1 -1
- package/build/cjs/components/TableHeaderCell/index.d.ts +1 -1
- package/build/cjs/components/TableHeaderRow/TableHeaderRow.d.ts +1 -1
- package/build/cjs/components/TableRow/TableRow.d.ts +1 -1
- package/build/cjs/components/index.d.ts +6 -3
- package/build/cjs/hooks/useColumnFilters.d.ts +1 -1
- package/build/cjs/index.js +469 -451
- package/build/cjs/index.js.map +1 -1
- package/build/esm/components/ColumnFilterChip/ColumnFilterChip.d.ts +0 -1
- package/build/esm/components/ColumnFilterChip/ColumnFilterChip.js +5 -6
- package/build/esm/components/ColumnFilterChip/ColumnFilterChip.js.map +1 -1
- package/build/esm/components/ColumnFilterChip/ColumnFilterChipStyles.js +1 -1
- package/build/esm/components/ColumnFilterChip/ColumnFilterChipStyles.js.map +1 -1
- package/build/esm/components/ColumnFilterResetButton/ColumnFilterResetButton.d.ts +0 -1
- package/build/esm/components/ColumnFilterResetButton/ColumnFilterResetButton.js +3 -4
- package/build/esm/components/ColumnFilterResetButton/ColumnFilterResetButton.js.map +1 -1
- package/build/esm/components/FilterPanel/FilterControl/FilterControl.d.ts +0 -1
- package/build/esm/components/FilterPanel/FilterControl/FilterControl.js +5 -6
- package/build/esm/components/FilterPanel/FilterControl/FilterControl.js.map +1 -1
- package/build/esm/components/FilterPanel/FilterControl/SelectFilter/SelectFilter.d.ts +0 -1
- package/build/esm/components/FilterPanel/FilterControl/SelectFilter/SelectFilter.js +28 -30
- package/build/esm/components/FilterPanel/FilterControl/SelectFilter/SelectFilter.js.map +1 -1
- package/build/esm/components/FilterPanel/FilterControl/SelectFilter/SelectFilterStyles.js +2 -2
- package/build/esm/components/FilterPanel/FilterControl/SelectFilter/SelectFilterStyles.js.map +1 -1
- package/build/esm/components/FilterPanel/FilterControl/ToggleFilter/ToggleFilter.d.ts +0 -1
- package/build/esm/components/FilterPanel/FilterControl/ToggleFilter/ToggleFilter.js +8 -8
- package/build/esm/components/FilterPanel/FilterControl/ToggleFilter/ToggleFilter.js.map +1 -1
- package/build/esm/components/FilterPanel/FilterPanel.d.ts +0 -1
- package/build/esm/components/FilterPanel/FilterPanel.js +5 -5
- package/build/esm/components/FilterPanel/FilterPanel.js.map +1 -1
- package/build/esm/components/FilterPanel/FilterPanelContext/FilterPanelContext.d.ts +1 -1
- package/build/esm/components/FilterPanel/FilterPanelContext/FilterPanelContext.js +3 -3
- package/build/esm/components/FilterPanel/FilterPanelContext/FilterPanelContext.js.map +1 -1
- package/build/esm/components/FilterPanel/FilterPanelProps.d.ts +2 -2
- package/build/esm/components/FilterPanel/Panel/Panel.d.ts +1 -2
- package/build/esm/components/FilterPanel/Panel/Panel.js +21 -23
- package/build/esm/components/FilterPanel/Panel/Panel.js.map +1 -1
- package/build/esm/components/FilterPanel/Panel/PanelStyles.js +3 -3
- package/build/esm/components/FilterPanel/Panel/PanelStyles.js.map +1 -1
- package/build/esm/components/FilterPanel/Trigger/Trigger.d.ts +1 -1
- package/build/esm/components/FilterPanel/Trigger/Trigger.js +3 -3
- package/build/esm/components/FilterPanel/Trigger/Trigger.js.map +1 -1
- package/build/esm/components/FilterPanel/Trigger/TriggerStyles.js +1 -1
- package/build/esm/components/FilterPanel/Trigger/TriggerStyles.js.map +1 -1
- package/build/esm/components/GlobalFilter/GlobalFilter.d.ts +0 -1
- package/build/esm/components/GlobalFilter/GlobalFilter.js +6 -7
- package/build/esm/components/GlobalFilter/GlobalFilter.js.map +1 -1
- package/build/esm/components/GlobalFilter/GlobalFilterStyles.js +1 -1
- package/build/esm/components/GlobalFilter/GlobalFilterStyles.js.map +1 -1
- package/build/esm/components/GlobalFilter/index.d.ts +1 -1
- package/build/esm/components/RowActions/RowActions.d.ts +0 -1
- package/build/esm/components/RowActions/RowActions.js +14 -18
- package/build/esm/components/RowActions/RowActions.js.map +1 -1
- package/build/esm/components/RowActions/index.d.ts +1 -1
- package/build/esm/components/Table/Table.d.ts +0 -1
- package/build/esm/components/Table/Table.js +76 -56
- package/build/esm/components/Table/Table.js.map +1 -1
- package/build/esm/components/Table/TableStyles.d.ts +1 -1
- package/build/esm/components/Table/TableStyles.js +17 -22
- package/build/esm/components/Table/TableStyles.js.map +1 -1
- package/build/esm/components/Table/index.d.ts +1 -1
- package/build/esm/components/TableBody/TableBody.d.ts +1 -1
- package/build/esm/components/TableBody/TableBody.js +3 -4
- package/build/esm/components/TableBody/TableBody.js.map +1 -1
- package/build/esm/components/TableCell/TableCell.d.ts +1 -1
- package/build/esm/components/TableCell/TableCell.js +4 -5
- package/build/esm/components/TableCell/TableCell.js.map +1 -1
- package/build/esm/components/TableCell/TableCellStyles.js +4 -4
- package/build/esm/components/TableCell/TableCellStyles.js.map +1 -1
- package/build/esm/components/TableContext/index.d.ts +2 -3
- package/build/esm/components/TableContext/index.js +1 -1
- package/build/esm/components/TableContext/index.js.map +1 -1
- package/build/esm/components/TableControlsContainer/TableControlsContainer.d.ts +0 -1
- package/build/esm/components/TableControlsContainer/TableControlsContainer.js +26 -10
- package/build/esm/components/TableControlsContainer/TableControlsContainer.js.map +1 -1
- package/build/esm/components/TableControlsContainer/TableControlsContainerProps.d.ts +1 -1
- package/build/esm/components/TableFooter/TableFooter.d.ts +1 -1
- package/build/esm/components/TableFooter/TableFooter.js +1 -1
- package/build/esm/components/TableFooter/TableFooter.js.map +1 -1
- package/build/esm/components/TableHeader/TableHeader.d.ts +1 -1
- package/build/esm/components/TableHeader/TableHeader.js +3 -4
- package/build/esm/components/TableHeader/TableHeader.js.map +1 -1
- package/build/esm/components/TableHeaderCell/TableHeaderCell.d.ts +0 -1
- package/build/esm/components/TableHeaderCell/TableHeaderCell.js +13 -15
- package/build/esm/components/TableHeaderCell/TableHeaderCell.js.map +1 -1
- package/build/esm/components/TableHeaderCell/TableHeaderCellProps.d.ts +1 -1
- package/build/esm/components/TableHeaderCell/TableHeaderCellStyles.js +3 -6
- package/build/esm/components/TableHeaderCell/TableHeaderCellStyles.js.map +1 -1
- package/build/esm/components/TableHeaderCell/index.d.ts +1 -1
- package/build/esm/components/TableHeaderRow/TableHeaderRow.d.ts +1 -1
- package/build/esm/components/TableHeaderRow/TableHeaderRow.js +3 -4
- package/build/esm/components/TableHeaderRow/TableHeaderRow.js.map +1 -1
- package/build/esm/components/TableRow/TableRow.d.ts +1 -1
- package/build/esm/components/TableRow/TableRow.js +4 -5
- package/build/esm/components/TableRow/TableRow.js.map +1 -1
- package/build/esm/components/TableRow/TableRowStyles.js +4 -4
- package/build/esm/components/TableRow/TableRowStyles.js.map +1 -1
- package/build/esm/components/index.d.ts +6 -3
- package/build/esm/hooks/useColumnFilters.d.ts +1 -1
- package/build/esm/hooks/useColumnFilters.js +33 -35
- package/build/esm/hooks/useColumnFilters.js.map +1 -1
- package/build/esm/hooks/useStagedColumnFilters.js +22 -27
- package/build/esm/hooks/useStagedColumnFilters.js.map +1 -1
- package/build/esm/index.js +2 -2
- package/build/esm/util/coercedValueIncludesString.js +2 -2
- package/build/esm/util/coercedValueIncludesString.js.map +1 -1
- package/build/esm/util/getTableMinHeight.js +11 -11
- package/build/esm/util/getTableMinHeight.js.map +1 -1
- package/build/esm/util/tableConstants.js +1 -1
- package/build/esm/util/tableConstants.js.map +1 -1
- package/build/esm/util/validateRowAction.js +5 -5
- package/build/esm/util/validateRowAction.js.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRow.js","sources":["../../../../src/components/TableRow/TableRow.tsx"],"sourcesContent":["import React, { HTMLAttributes, PropsWithChildren } from 'react'\nimport { useTableRowStyles } from './TableRowStyles'\n\ntype TableRowProps = PropsWithChildren<HTMLAttributes<HTMLTableRowElement>>\n\nexport const TableRow = (props: TableRowProps) => {\n const { children, ...restProps } = props\n const { root } = useTableRowStyles(props)\n return (\n <tr data-table-element=\"body-row\" className={root} {...restProps}>\n {children}\n </tr>\n )\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TableRow.js","sources":["../../../../src/components/TableRow/TableRow.tsx"],"sourcesContent":["import React, { HTMLAttributes, PropsWithChildren } from 'react'\nimport { useTableRowStyles } from './TableRowStyles'\n\ntype TableRowProps = PropsWithChildren<HTMLAttributes<HTMLTableRowElement>>\n\nexport const TableRow = (props: TableRowProps) => {\n const { children, ...restProps } = props\n const { root } = useTableRowStyles(props)\n return (\n <tr data-table-element=\"body-row\" className={root} {...restProps}>\n {children}\n </tr>\n )\n}\n"],"names":[],"mappings":";;;AAKa,MAAA,QAAQ,GAAG,CAAC,KAAoB,KAAI;IAC/C,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;IACxC,MAAM,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC;AACzC,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAA,oBAAA,EAAuB,UAAU,EAAC,SAAS,EAAE,IAAI,EAAA,GAAM,SAAS,EAAA,EAC7D,QAAQ,CACN;AAET;;;;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { makeStyles } from '@material-ui/core';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
root:
|
|
3
|
+
const useTableRowStyles = makeStyles((theme) => ({
|
|
4
|
+
root: () => ({
|
|
5
5
|
'&:nth-child(even)': {
|
|
6
6
|
backgroundColor: theme.palette.grey[100],
|
|
7
7
|
},
|
|
8
|
-
})
|
|
9
|
-
})
|
|
8
|
+
}),
|
|
9
|
+
}));
|
|
10
10
|
|
|
11
11
|
export { useTableRowStyles };
|
|
12
12
|
//# sourceMappingURL=TableRowStyles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRowStyles.js","sources":["../../../../src/components/TableRow/TableRowStyles.ts"],"sourcesContent":["import { makeStyles } from '@material-ui/core'\n\nexport const useTableRowStyles = makeStyles((theme) => ({\n root: () => ({\n '&:nth-child(even)': {\n backgroundColor: theme.palette.grey[100],\n },\n }),\n}))\n"],"names":[],"mappings":";;AAEa,
|
|
1
|
+
{"version":3,"file":"TableRowStyles.js","sources":["../../../../src/components/TableRow/TableRowStyles.ts"],"sourcesContent":["import { makeStyles } from '@material-ui/core'\n\nexport const useTableRowStyles = makeStyles((theme) => ({\n root: () => ({\n '&:nth-child(even)': {\n backgroundColor: theme.palette.grey[100],\n },\n }),\n}))\n"],"names":[],"mappings":";;AAEa,MAAA,iBAAiB,GAAG,UAAU,CAAC,CAAC,KAAK,MAAM;AACtD,IAAA,IAAI,EAAE,OAAO;AACX,QAAA,mBAAmB,EAAE;YACnB,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACzC,SAAA;KACF,CAAC;AACH,CAAA,CAAC;;;;"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
export { Table, TableProps } from './Table';
|
|
2
|
-
export { RowActions, RowActionsProps } from './RowActions';
|
|
3
1
|
export { GlobalFilter } from './GlobalFilter';
|
|
2
|
+
export { RowActions } from './RowActions';
|
|
3
|
+
export type { RowActionsProps } from './RowActions';
|
|
4
|
+
export { Table } from './Table';
|
|
5
|
+
export type { TableProps } from './Table';
|
|
4
6
|
export { TableBody } from './TableBody';
|
|
5
7
|
export { TableCell } from './TableCell';
|
|
6
8
|
export { TableFooter } from './TableFooter';
|
|
7
9
|
export { TableHeader } from './TableHeader';
|
|
8
|
-
export { TableHeaderCell
|
|
10
|
+
export { TableHeaderCell } from './TableHeaderCell';
|
|
11
|
+
export type { TableHeaderCellProps } from './TableHeaderCell';
|
|
9
12
|
export { TableHeaderRow } from './TableHeaderRow';
|
|
10
13
|
export { TableRow } from './TableRow';
|
|
@@ -5,5 +5,5 @@ export declare const useColumnFilters: (table: Table<unknown>) => {
|
|
|
5
5
|
hasColumnFilters: boolean;
|
|
6
6
|
deselectColumnFilter: (columnFilter: ColumnFilter) => void;
|
|
7
7
|
formatSelectedFilterText: (columnFilter: ColumnFilter) => [string, string];
|
|
8
|
-
resetColumnFilters: (defaultState?: boolean
|
|
8
|
+
resetColumnFilters: (defaultState?: boolean) => void;
|
|
9
9
|
};
|
|
@@ -1,56 +1,54 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var formatSelectedFilterText = makeFormatSelectedFilterText(table);
|
|
9
|
-
var resetColumnFilters = table.resetColumnFilters;
|
|
1
|
+
const useColumnFilters = (table) => {
|
|
2
|
+
const selectedColumnFilters = getSelectedColumnFilters(table.getState());
|
|
3
|
+
const columnFilters = getColumnFilters(table.getAllFlatColumns());
|
|
4
|
+
const hasColumnFilters = columnFilters.length > 0;
|
|
5
|
+
const deselectColumnFilter = makeDeselectColumnFilter(table);
|
|
6
|
+
const formatSelectedFilterText = makeFormatSelectedFilterText(table);
|
|
7
|
+
const resetColumnFilters = table.resetColumnFilters;
|
|
10
8
|
return {
|
|
11
|
-
selectedColumnFilters
|
|
12
|
-
columnFilters
|
|
13
|
-
hasColumnFilters
|
|
14
|
-
deselectColumnFilter
|
|
15
|
-
formatSelectedFilterText
|
|
16
|
-
resetColumnFilters
|
|
9
|
+
selectedColumnFilters,
|
|
10
|
+
columnFilters,
|
|
11
|
+
hasColumnFilters,
|
|
12
|
+
deselectColumnFilter,
|
|
13
|
+
formatSelectedFilterText,
|
|
14
|
+
resetColumnFilters,
|
|
17
15
|
};
|
|
18
16
|
};
|
|
19
17
|
function getSelectedColumnFilters(state) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
const { columnFilters } = state;
|
|
19
|
+
const selectedColumnFilters = columnFilters.reduce((acc, columnFilter) => {
|
|
20
|
+
const { id, value } = columnFilter;
|
|
21
|
+
const selections = [];
|
|
24
22
|
if (value) {
|
|
25
23
|
if (Array.isArray(value)) {
|
|
26
|
-
value.forEach(
|
|
27
|
-
selections.push({ id
|
|
24
|
+
value.forEach((innerValue) => {
|
|
25
|
+
selections.push({ id, value: innerValue });
|
|
28
26
|
});
|
|
29
27
|
}
|
|
30
28
|
else if (typeof value === 'string' || typeof value === 'number') {
|
|
31
|
-
selections.push({ id
|
|
29
|
+
selections.push({ id, value });
|
|
32
30
|
}
|
|
33
31
|
}
|
|
34
|
-
return
|
|
32
|
+
return [...acc, ...selections];
|
|
35
33
|
}, []);
|
|
36
34
|
return selectedColumnFilters;
|
|
37
35
|
}
|
|
38
36
|
function getColumnFilters(columns) {
|
|
39
37
|
return columns
|
|
40
|
-
.map(
|
|
41
|
-
|
|
42
|
-
if (meta
|
|
43
|
-
return
|
|
38
|
+
.map((column) => {
|
|
39
|
+
const { meta } = column.columnDef;
|
|
40
|
+
if (meta?.filter) {
|
|
41
|
+
return { columnId: column.id, ...meta.filter };
|
|
44
42
|
}
|
|
45
43
|
})
|
|
46
44
|
.filter(Boolean);
|
|
47
45
|
}
|
|
48
46
|
function makeDeselectColumnFilter(table) {
|
|
49
47
|
return function (columnFilter) {
|
|
50
|
-
|
|
51
|
-
column.setFilterValue(
|
|
48
|
+
const column = table.getColumn(columnFilter.id);
|
|
49
|
+
column.setFilterValue((prev) => {
|
|
52
50
|
if (Array.isArray(prev)) {
|
|
53
|
-
return prev.filter(
|
|
51
|
+
return prev.filter((value) => value !== columnFilter.value);
|
|
54
52
|
}
|
|
55
53
|
else if (typeof prev === 'string' || typeof prev === 'number') {
|
|
56
54
|
return null;
|
|
@@ -61,11 +59,11 @@ function makeDeselectColumnFilter(table) {
|
|
|
61
59
|
}
|
|
62
60
|
function makeFormatSelectedFilterText(table) {
|
|
63
61
|
return function (columnFilter) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
62
|
+
const column = table.getColumn(columnFilter.id);
|
|
63
|
+
const { meta } = column.columnDef;
|
|
64
|
+
const name = meta?.filter.name || '';
|
|
65
|
+
const optionMatch = meta?.filter.options.find((option) => option.value === columnFilter.value);
|
|
66
|
+
const label = optionMatch?.label;
|
|
69
67
|
return [name, label];
|
|
70
68
|
};
|
|
71
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useColumnFilters.js","sources":["../../../src/hooks/useColumnFilters.ts"],"sourcesContent":["import { Column, ColumnFilter, Table, TableState } from '@tanstack/react-table'\n\nexport const useColumnFilters = (table: Table<unknown>) => {\n const selectedColumnFilters = getSelectedColumnFilters(table.getState())\n const columnFilters = getColumnFilters(table.getAllFlatColumns())\n const hasColumnFilters = columnFilters.length > 0\n const deselectColumnFilter = makeDeselectColumnFilter(table)\n const formatSelectedFilterText = makeFormatSelectedFilterText(table)\n const resetColumnFilters = table.resetColumnFilters\n return {\n selectedColumnFilters,\n columnFilters,\n hasColumnFilters,\n deselectColumnFilter,\n formatSelectedFilterText,\n resetColumnFilters,\n }\n}\n\nfunction getSelectedColumnFilters(state: TableState) {\n const { columnFilters } = state\n const selectedColumnFilters = columnFilters.reduce((acc: Array<ColumnFilter>, columnFilter: ColumnFilter) => {\n const { id, value } = columnFilter\n const selections = []\n if (value) {\n if (Array.isArray(value)) {\n value.forEach((innerValue) => {\n selections.push({ id, value: innerValue })\n })\n } else if (typeof value === 'string' || typeof value === 'number') {\n selections.push({ id, value })\n }\n }\n return [...acc, ...selections]\n }, [])\n return selectedColumnFilters\n}\n\nfunction getColumnFilters(columns: Array<Column<unknown>>) {\n return columns\n .map((column) => {\n const { meta } = column.columnDef as { meta: any }\n if (meta?.filter) {\n return { columnId: column.id, ...meta.filter }\n }\n })\n .filter(Boolean)\n}\n\nfunction makeDeselectColumnFilter(table: Table<unknown>) {\n return function (columnFilter: ColumnFilter) {\n const column = table.getColumn(columnFilter.id)\n column.setFilterValue((prev: unknown) => {\n if (Array.isArray(prev)) {\n return prev.filter((value) => value !== columnFilter.value)\n } else if (typeof prev === 'string' || typeof prev === 'number') {\n return null\n }\n return prev\n })\n }\n}\n\nfunction makeFormatSelectedFilterText(table: Table<unknown>) {\n return function (columnFilter: ColumnFilter) {\n const column = table.getColumn(columnFilter.id)\n const { meta } = column.columnDef as {\n meta?: { filter: { name: string; options: Array<{ label: string; value: any }> } }\n }\n const name = meta?.filter.name || ''\n const optionMatch = meta?.filter.options.find((option) => option.value === columnFilter.value)\n const label = optionMatch?.label\n return [name, label] as [string, string]\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useColumnFilters.js","sources":["../../../src/hooks/useColumnFilters.ts"],"sourcesContent":["import { Column, ColumnFilter, Table, TableState } from '@tanstack/react-table'\n\nexport const useColumnFilters = (table: Table<unknown>) => {\n const selectedColumnFilters = getSelectedColumnFilters(table.getState())\n const columnFilters = getColumnFilters(table.getAllFlatColumns())\n const hasColumnFilters = columnFilters.length > 0\n const deselectColumnFilter = makeDeselectColumnFilter(table)\n const formatSelectedFilterText = makeFormatSelectedFilterText(table)\n const resetColumnFilters = table.resetColumnFilters\n return {\n selectedColumnFilters,\n columnFilters,\n hasColumnFilters,\n deselectColumnFilter,\n formatSelectedFilterText,\n resetColumnFilters,\n }\n}\n\nfunction getSelectedColumnFilters(state: TableState) {\n const { columnFilters } = state\n const selectedColumnFilters = columnFilters.reduce((acc: Array<ColumnFilter>, columnFilter: ColumnFilter) => {\n const { id, value } = columnFilter\n const selections = []\n if (value) {\n if (Array.isArray(value)) {\n value.forEach((innerValue) => {\n selections.push({ id, value: innerValue })\n })\n } else if (typeof value === 'string' || typeof value === 'number') {\n selections.push({ id, value })\n }\n }\n return [...acc, ...selections]\n }, [])\n return selectedColumnFilters\n}\n\nfunction getColumnFilters(columns: Array<Column<unknown>>) {\n return columns\n .map((column) => {\n const { meta } = column.columnDef as { meta: any }\n if (meta?.filter) {\n return { columnId: column.id, ...meta.filter }\n }\n })\n .filter(Boolean)\n}\n\nfunction makeDeselectColumnFilter(table: Table<unknown>) {\n return function (columnFilter: ColumnFilter) {\n const column = table.getColumn(columnFilter.id)\n column.setFilterValue((prev: unknown) => {\n if (Array.isArray(prev)) {\n return prev.filter((value) => value !== columnFilter.value)\n } else if (typeof prev === 'string' || typeof prev === 'number') {\n return null\n }\n return prev\n })\n }\n}\n\nfunction makeFormatSelectedFilterText(table: Table<unknown>) {\n return function (columnFilter: ColumnFilter) {\n const column = table.getColumn(columnFilter.id)\n const { meta } = column.columnDef as {\n meta?: { filter: { name: string; options: Array<{ label: string; value: any }> } }\n }\n const name = meta?.filter.name || ''\n const optionMatch = meta?.filter.options.find((option) => option.value === columnFilter.value)\n const label = optionMatch?.label\n return [name, label] as [string, string]\n }\n}\n"],"names":[],"mappings":"AAEa,MAAA,gBAAgB,GAAG,CAAC,KAAqB,KAAI;IACxD,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACxE,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;AACjE,IAAA,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC;AACjD,IAAA,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,KAAK,CAAC;AAC5D,IAAA,MAAM,wBAAwB,GAAG,4BAA4B,CAAC,KAAK,CAAC;AACpE,IAAA,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB;IACnD,OAAO;QACL,qBAAqB;QACrB,aAAa;QACb,gBAAgB;QAChB,oBAAoB;QACpB,wBAAwB;QACxB,kBAAkB;KACnB;AACH;AAEA,SAAS,wBAAwB,CAAC,KAAiB,EAAA;AACjD,IAAA,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK;IAC/B,MAAM,qBAAqB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAwB,EAAE,YAA0B,KAAI;AAC1G,QAAA,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY;QAClC,MAAM,UAAU,GAAG,EAAE;QACrB,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,gBAAA,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,KAAI;oBAC3B,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC5C,iBAAC,CAAC;;iBACG,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBACjE,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;;;AAGlC,QAAA,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,UAAU,CAAC;KAC/B,EAAE,EAAE,CAAC;AACN,IAAA,OAAO,qBAAqB;AAC9B;AAEA,SAAS,gBAAgB,CAAC,OAA+B,EAAA;AACvD,IAAA,OAAO;AACJ,SAAA,GAAG,CAAC,CAAC,MAAM,KAAI;AACd,QAAA,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,SAA0B;AAClD,QAAA,IAAI,IAAI,EAAE,MAAM,EAAE;AAChB,YAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;;AAElD,KAAC;SACA,MAAM,CAAC,OAAO,CAAC;AACpB;AAEA,SAAS,wBAAwB,CAAC,KAAqB,EAAA;AACrD,IAAA,OAAO,UAAU,YAA0B,EAAA;QACzC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;AAC/C,QAAA,MAAM,CAAC,cAAc,CAAC,CAAC,IAAa,KAAI;AACtC,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACvB,gBAAA,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,KAAK,YAAY,CAAC,KAAK,CAAC;;iBACtD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC/D,gBAAA,OAAO,IAAI;;AAEb,YAAA,OAAO,IAAI;AACb,SAAC,CAAC;AACJ,KAAC;AACH;AAEA,SAAS,4BAA4B,CAAC,KAAqB,EAAA;AACzD,IAAA,OAAO,UAAU,YAA0B,EAAA;QACzC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;AAC/C,QAAA,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,SAEvB;QACD,MAAM,IAAI,GAAG,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;QACpC,MAAM,WAAW,GAAG,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,CAAC;AAC9F,QAAA,MAAM,KAAK,GAAG,WAAW,EAAE,KAAK;AAChC,QAAA,OAAO,CAAC,IAAI,EAAE,KAAK,CAAqB;AAC1C,KAAC;AACH;;;;"}
|
|
@@ -1,38 +1,33 @@
|
|
|
1
1
|
import { useState } from 'react';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (typeof existingValue === 'string') {
|
|
11
|
-
acc.set(id, [existingValue, value]);
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
existingValue.push(value);
|
|
15
|
-
}
|
|
3
|
+
const useStagedColumnFilters = (selectedColumnFilters) => {
|
|
4
|
+
const [columnInputValues, setColumnInputValues] = useState(() => selectedColumnFilters.reduce((acc, { id, value }) => {
|
|
5
|
+
if (acc.has(id)) {
|
|
6
|
+
const existingValue = acc.get(id);
|
|
7
|
+
// If the existing value is a string, convert it to an array and add the new value
|
|
8
|
+
if (typeof existingValue === 'string') {
|
|
9
|
+
acc.set(id, [existingValue, value]);
|
|
16
10
|
}
|
|
17
11
|
else {
|
|
18
|
-
|
|
12
|
+
existingValue.push(value);
|
|
19
13
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
acc.set(id, value);
|
|
17
|
+
}
|
|
18
|
+
return acc;
|
|
19
|
+
}, new Map()));
|
|
20
|
+
const filterState = {
|
|
21
|
+
update: (columnId, value) => setColumnInputValues(columnInputValues.set(columnId, value)),
|
|
22
|
+
get: (columnId) => columnInputValues.get(columnId),
|
|
23
|
+
clear: () => {
|
|
29
24
|
columnInputValues.clear();
|
|
30
25
|
setColumnInputValues(columnInputValues);
|
|
31
26
|
},
|
|
32
|
-
delete:
|
|
33
|
-
|
|
27
|
+
delete: (columnFilter) => {
|
|
28
|
+
const values = columnInputValues.get(columnFilter.id);
|
|
34
29
|
if (values && Array.isArray(values)) {
|
|
35
|
-
|
|
30
|
+
const valueIndex = values.indexOf(columnFilter.value);
|
|
36
31
|
values.splice(valueIndex, 1);
|
|
37
32
|
if (values.length > 0) {
|
|
38
33
|
columnInputValues.set(columnFilter.id, values);
|
|
@@ -46,7 +41,7 @@ var useStagedColumnFilters = function (selectedColumnFilters) {
|
|
|
46
41
|
}
|
|
47
42
|
setColumnInputValues(columnInputValues);
|
|
48
43
|
},
|
|
49
|
-
exist:
|
|
44
|
+
exist: () => columnInputValues.size > 0,
|
|
50
45
|
};
|
|
51
46
|
return filterState;
|
|
52
47
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStagedColumnFilters.js","sources":["../../../src/hooks/useStagedColumnFilters.ts"],"sourcesContent":["import { ColumnFilter } from '@tanstack/react-table'\nimport { useState } from 'react'\n\nexport const useStagedColumnFilters = (selectedColumnFilters: ColumnFilter[]) => {\n const [columnInputValues, setColumnInputValues] = useState<Map<string, string | Array<string>>>(() =>\n selectedColumnFilters.reduce((acc, { id, value }) => {\n if (acc.has(id)) {\n const existingValue = acc.get(id)\n // If the existing value is a string, convert it to an array and add the new value\n if (typeof existingValue === 'string') {\n acc.set(id, [existingValue, value])\n } else {\n existingValue.push(value)\n }\n } else {\n acc.set(id, value)\n }\n return acc\n }, new Map()),\n )\n const filterState = {\n update: (columnId: string, value: string | Array<string>) =>\n setColumnInputValues(columnInputValues.set(columnId, value)),\n get: (columnId: string) => columnInputValues.get(columnId),\n clear: () => {\n columnInputValues.clear()\n setColumnInputValues(columnInputValues)\n },\n delete: (columnFilter: ColumnFilter) => {\n const values = columnInputValues.get(columnFilter.id)\n if (values && Array.isArray(values)) {\n const valueIndex = values.indexOf(columnFilter.value as string)\n values.splice(valueIndex, 1)\n if (values.length > 0) {\n columnInputValues.set(columnFilter.id, values)\n } else {\n columnInputValues.delete(columnFilter.id)\n }\n } else {\n columnInputValues.delete(columnFilter.id)\n }\n setColumnInputValues(columnInputValues)\n },\n exist: () => columnInputValues.size > 0,\n }\n\n return filterState\n}\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"useStagedColumnFilters.js","sources":["../../../src/hooks/useStagedColumnFilters.ts"],"sourcesContent":["import { ColumnFilter } from '@tanstack/react-table'\nimport { useState } from 'react'\n\nexport const useStagedColumnFilters = (selectedColumnFilters: ColumnFilter[]) => {\n const [columnInputValues, setColumnInputValues] = useState<Map<string, string | Array<string>>>(() =>\n selectedColumnFilters.reduce((acc, { id, value }) => {\n if (acc.has(id)) {\n const existingValue = acc.get(id)\n // If the existing value is a string, convert it to an array and add the new value\n if (typeof existingValue === 'string') {\n acc.set(id, [existingValue, value])\n } else {\n existingValue.push(value)\n }\n } else {\n acc.set(id, value)\n }\n return acc\n }, new Map()),\n )\n const filterState = {\n update: (columnId: string, value: string | Array<string>) =>\n setColumnInputValues(columnInputValues.set(columnId, value)),\n get: (columnId: string) => columnInputValues.get(columnId),\n clear: () => {\n columnInputValues.clear()\n setColumnInputValues(columnInputValues)\n },\n delete: (columnFilter: ColumnFilter) => {\n const values = columnInputValues.get(columnFilter.id)\n if (values && Array.isArray(values)) {\n const valueIndex = values.indexOf(columnFilter.value as string)\n values.splice(valueIndex, 1)\n if (values.length > 0) {\n columnInputValues.set(columnFilter.id, values)\n } else {\n columnInputValues.delete(columnFilter.id)\n }\n } else {\n columnInputValues.delete(columnFilter.id)\n }\n setColumnInputValues(columnInputValues)\n },\n exist: () => columnInputValues.size > 0,\n }\n\n return filterState\n}\n"],"names":[],"mappings":";;AAGa,MAAA,sBAAsB,GAAG,CAAC,qBAAqC,KAAI;IAC9E,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAsC,MAC9F,qBAAqB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAI;AAClD,QAAA,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACf,MAAM,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;;AAEjC,YAAA,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;gBACrC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;;iBAC9B;AACL,gBAAA,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;;;aAEtB;AACL,YAAA,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC;;AAEpB,QAAA,OAAO,GAAG;AACZ,KAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CACd;AACD,IAAA,MAAM,WAAW,GAAG;AAClB,QAAA,MAAM,EAAE,CAAC,QAAgB,EAAE,KAA6B,KACtD,oBAAoB,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC9D,GAAG,EAAE,CAAC,QAAgB,KAAK,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC1D,KAAK,EAAE,MAAK;YACV,iBAAiB,CAAC,KAAK,EAAE;YACzB,oBAAoB,CAAC,iBAAiB,CAAC;SACxC;AACD,QAAA,MAAM,EAAE,CAAC,YAA0B,KAAI;YACrC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACrD,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACnC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAe,CAAC;AAC/D,gBAAA,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;AAC5B,gBAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrB,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC;;qBACzC;AACL,oBAAA,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;;;iBAEtC;AACL,gBAAA,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;;YAE3C,oBAAoB,CAAC,iBAAiB,CAAC;SACxC;QACD,KAAK,EAAE,MAAM,iBAAiB,CAAC,IAAI,GAAG,CAAC;KACxC;AAED,IAAA,OAAO,WAAW;AACpB;;;;"}
|
package/build/esm/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { Table } from './components/Table/Table.js';
|
|
2
|
-
export { RowActions } from './components/RowActions/RowActions.js';
|
|
3
1
|
export { GlobalFilter } from './components/GlobalFilter/GlobalFilter.js';
|
|
2
|
+
export { RowActions } from './components/RowActions/RowActions.js';
|
|
3
|
+
export { Table } from './components/Table/Table.js';
|
|
4
4
|
export { TableBody } from './components/TableBody/TableBody.js';
|
|
5
5
|
export { TableCell } from './components/TableCell/TableCell.js';
|
|
6
6
|
export { TableFooter } from './components/TableFooter/TableFooter.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
const coercedValueIncludesString = (row, columnId, value) => {
|
|
2
2
|
if (value === '')
|
|
3
3
|
return true;
|
|
4
|
-
|
|
4
|
+
const cellValue = row.getValue(columnId);
|
|
5
5
|
return String(cellValue).toLowerCase().includes(value.toLowerCase());
|
|
6
6
|
};
|
|
7
7
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coercedValueIncludesString.js","sources":["../../../src/util/coercedValueIncludesString.ts"],"sourcesContent":["import { FilterFn } from '@tanstack/react-table'\n\nexport const coercedValueIncludesString: FilterFn<any> = (row, columnId, value) => {\n if (value === '') return true\n const cellValue = row.getValue(columnId)\n return String(cellValue).toLowerCase().includes(value.toLowerCase())\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"coercedValueIncludesString.js","sources":["../../../src/util/coercedValueIncludesString.ts"],"sourcesContent":["import { FilterFn } from '@tanstack/react-table'\n\nexport const coercedValueIncludesString: FilterFn<any> = (row, columnId, value) => {\n if (value === '') return true\n const cellValue = row.getValue(columnId)\n return String(cellValue).toLowerCase().includes(value.toLowerCase())\n}\n"],"names":[],"mappings":"AAEa,MAAA,0BAA0B,GAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,KAAI;IAChF,IAAI,KAAK,KAAK,EAAE;AAAE,QAAA,OAAO,IAAI;IAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACxC,IAAA,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;AACtE;;;;"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
if (rootRef
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
const getTableMinHeight = (rootRef, pageSize) => {
|
|
2
|
+
const defaultBodyRowHeight = 56;
|
|
3
|
+
const defaultHeaderRowHeight = 57;
|
|
4
|
+
const defaultFooterHeight = 88;
|
|
5
|
+
let minHeight = defaultBodyRowHeight * pageSize + defaultHeaderRowHeight + defaultFooterHeight;
|
|
6
|
+
if (rootRef?.current) {
|
|
7
|
+
const rootTableNode = rootRef.current;
|
|
8
|
+
const headerRowNode = rootTableNode.querySelector(`[data-table-element="header-row"]`);
|
|
9
|
+
const bodyRowNode = rootTableNode.querySelector(`[data-table-element="body-row"]`);
|
|
10
10
|
if (headerRowNode && bodyRowNode) {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
const headerRowHeight = headerRowNode.getBoundingClientRect().height;
|
|
12
|
+
const bodyRowHeight = bodyRowNode.getBoundingClientRect().height;
|
|
13
13
|
minHeight = headerRowHeight + bodyRowHeight * pageSize + defaultFooterHeight;
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTableMinHeight.js","sources":["../../../src/util/getTableMinHeight.ts"],"sourcesContent":["import { RefObject } from 'react'\n\nexport const getTableMinHeight = (rootRef: RefObject<HTMLDivElement>, pageSize: number) => {\n const defaultBodyRowHeight = 56\n const defaultHeaderRowHeight = 57\n const defaultFooterHeight = 88\n let minHeight = defaultBodyRowHeight * pageSize + defaultHeaderRowHeight + defaultFooterHeight\n if (rootRef?.current) {\n const rootTableNode = rootRef.current\n const headerRowNode = rootTableNode.querySelector(`[data-table-element=\"header-row\"]`)\n const bodyRowNode = rootTableNode.querySelector(`[data-table-element=\"body-row\"]`)\n if (headerRowNode && bodyRowNode) {\n const headerRowHeight = headerRowNode.getBoundingClientRect().height\n const bodyRowHeight = bodyRowNode.getBoundingClientRect().height\n minHeight = headerRowHeight + bodyRowHeight * pageSize + defaultFooterHeight\n }\n }\n return minHeight\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getTableMinHeight.js","sources":["../../../src/util/getTableMinHeight.ts"],"sourcesContent":["import { RefObject } from 'react'\n\nexport const getTableMinHeight = (rootRef: RefObject<HTMLDivElement>, pageSize: number) => {\n const defaultBodyRowHeight = 56\n const defaultHeaderRowHeight = 57\n const defaultFooterHeight = 88\n let minHeight = defaultBodyRowHeight * pageSize + defaultHeaderRowHeight + defaultFooterHeight\n if (rootRef?.current) {\n const rootTableNode = rootRef.current\n const headerRowNode = rootTableNode.querySelector(`[data-table-element=\"header-row\"]`)\n const bodyRowNode = rootTableNode.querySelector(`[data-table-element=\"body-row\"]`)\n if (headerRowNode && bodyRowNode) {\n const headerRowHeight = headerRowNode.getBoundingClientRect().height\n const bodyRowHeight = bodyRowNode.getBoundingClientRect().height\n minHeight = headerRowHeight + bodyRowHeight * pageSize + defaultFooterHeight\n }\n }\n return minHeight\n}\n"],"names":[],"mappings":"MAEa,iBAAiB,GAAG,CAAC,OAAkC,EAAE,QAAgB,KAAI;IACxF,MAAM,oBAAoB,GAAG,EAAE;IAC/B,MAAM,sBAAsB,GAAG,EAAE;IACjC,MAAM,mBAAmB,GAAG,EAAE;IAC9B,IAAI,SAAS,GAAG,oBAAoB,GAAG,QAAQ,GAAG,sBAAsB,GAAG,mBAAmB;AAC9F,IAAA,IAAI,OAAO,EAAE,OAAO,EAAE;AACpB,QAAA,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO;QACrC,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA,iCAAA,CAAmC,CAAC;QACtF,MAAM,WAAW,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA,+BAAA,CAAiC,CAAC;AAClF,QAAA,IAAI,aAAa,IAAI,WAAW,EAAE;YAChC,MAAM,eAAe,GAAG,aAAa,CAAC,qBAAqB,EAAE,CAAC,MAAM;YACpE,MAAM,aAAa,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC,MAAM;YAChE,SAAS,GAAG,eAAe,GAAG,aAAa,GAAG,QAAQ,GAAG,mBAAmB;;;AAGhF,IAAA,OAAO,SAAS;AAClB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableConstants.js","sources":["../../../src/util/tableConstants.ts"],"sourcesContent":["export const tableConstants = {\n tableTypography: 'body1',\n cellPaddingFactor: 2,\n headerBorder: 2,\n}\n"],"names":[],"mappings":"AAAa,
|
|
1
|
+
{"version":3,"file":"tableConstants.js","sources":["../../../src/util/tableConstants.ts"],"sourcesContent":["export const tableConstants = {\n tableTypography: 'body1',\n cellPaddingFactor: 2,\n headerBorder: 2,\n}\n"],"names":[],"mappings":"AAAa,MAAA,cAAc,GAAG;AAC5B,IAAA,eAAe,EAAE,OAAO;AACxB,IAAA,iBAAiB,EAAE;;;;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { isValidElement, createElement } from 'react';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
const validateAction = (action) => {
|
|
4
|
+
const { icon, label, onClick } = action;
|
|
5
|
+
const onClickIsValid = typeof onClick === 'function';
|
|
6
|
+
const labelIsValid = typeof label === 'string';
|
|
7
|
+
const iconIsValid = icon && isValidElement(createElement(icon));
|
|
8
8
|
return onClickIsValid && labelIsValid && iconIsValid;
|
|
9
9
|
};
|
|
10
10
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateRowAction.js","sources":["../../../src/util/validateRowAction.ts"],"sourcesContent":["import { RowAction } from '../components/RowActions/RowActionsProps'\nimport { createElement, isValidElement } from 'react'\n\nexport const validateAction = (action: Partial<RowAction>) => {\n const { icon, label, onClick } = action\n const onClickIsValid = typeof onClick === 'function'\n const labelIsValid = typeof label === 'string'\n const iconIsValid = icon && isValidElement(createElement(icon))\n return onClickIsValid && labelIsValid && iconIsValid\n}\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"validateRowAction.js","sources":["../../../src/util/validateRowAction.ts"],"sourcesContent":["import { RowAction } from '../components/RowActions/RowActionsProps'\nimport { createElement, isValidElement } from 'react'\n\nexport const validateAction = (action: Partial<RowAction>) => {\n const { icon, label, onClick } = action\n const onClickIsValid = typeof onClick === 'function'\n const labelIsValid = typeof label === 'string'\n const iconIsValid = icon && isValidElement(createElement(icon))\n return onClickIsValid && labelIsValid && iconIsValid\n}\n"],"names":[],"mappings":";;AAGa,MAAA,cAAc,GAAG,CAAC,MAA0B,KAAI;IAC3D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM;AACvC,IAAA,MAAM,cAAc,GAAG,OAAO,OAAO,KAAK,UAAU;AACpD,IAAA,MAAM,YAAY,GAAG,OAAO,KAAK,KAAK,QAAQ;IAC9C,MAAM,WAAW,GAAG,IAAI,IAAI,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC/D,IAAA,OAAO,cAAc,IAAI,YAAY,IAAI,WAAW;AACtD;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@popmenu/table",
|
|
3
|
-
"version": "0.127.
|
|
3
|
+
"version": "0.127.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Popmenu Design System Team",
|
|
6
6
|
"description": "React components for all Popmenu apps on the web.",
|
|
@@ -29,8 +29,9 @@
|
|
|
29
29
|
"@popmenu/common-ui": "^0.125.0",
|
|
30
30
|
"@popmenu/web-icons": "^0.125.0",
|
|
31
31
|
"@tanstack/react-table": "^8.7.4",
|
|
32
|
+
"classnames": "^2.5.1",
|
|
32
33
|
"react": "17.x"
|
|
33
34
|
},
|
|
34
35
|
"sideEffects": false,
|
|
35
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "242ebcb202433c083d77f6691b8ca8116900b72e"
|
|
36
37
|
}
|