@multiplatform.one/table 7.10.0 → 7.15.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/README.md +61 -1
- package/dist/cjs/components/ChildTable/index.cjs +8 -2
- package/dist/cjs/components/ChildTable/index.native.js +8 -2
- package/dist/cjs/components/ChildTable/index.native.js.map +1 -1
- package/dist/cjs/components/ColumnHeaderFilter/index.cjs +77 -111
- package/dist/cjs/components/ColumnHeaderFilter/index.native.js +89 -129
- package/dist/cjs/components/ColumnHeaderFilter/index.native.js.map +1 -1
- package/dist/cjs/components/DataTable/DataTableCardControls.cjs +90 -54
- package/dist/cjs/components/DataTable/DataTableCardControls.native.js +93 -56
- package/dist/cjs/components/DataTable/DataTableCardControls.native.js.map +1 -1
- package/dist/cjs/components/DataTable/DataTableRoot.cjs +68 -9
- package/dist/cjs/components/DataTable/DataTableRoot.native.js +78 -11
- package/dist/cjs/components/DataTable/DataTableRoot.native.js.map +1 -1
- package/dist/cjs/components/DataTableCell/CellModalEditor.cjs +72 -70
- package/dist/cjs/components/DataTableCell/index.cjs +2 -2
- package/dist/cjs/components/DataTableCell/index.native.js +2 -11
- package/dist/cjs/components/DataTableCell/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableDateFilter/index.cjs +135 -158
- package/dist/cjs/components/DataTableDateFilter/index.native.js +153 -183
- package/dist/cjs/components/DataTableDateFilter/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableExport/index.cjs +122 -139
- package/dist/cjs/components/DataTableExport/index.native.js +135 -157
- package/dist/cjs/components/DataTableExport/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableFilterButton/index.cjs +14 -0
- package/dist/cjs/components/DataTableFilterButton/index.native.js +15 -0
- package/dist/cjs/components/DataTableFilterButton/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableGrouping/index.cjs +192 -212
- package/dist/cjs/components/DataTableGrouping/index.native.js +209 -230
- package/dist/cjs/components/DataTableGrouping/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableSearch/index.cjs +103 -115
- package/dist/cjs/components/DataTableSearch/index.native.js +111 -123
- package/dist/cjs/components/DataTableSearch/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableToolbar/index.cjs +161 -101
- package/dist/cjs/components/DataTableToolbar/index.native.js +168 -109
- package/dist/cjs/components/DataTableToolbar/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableViewOptions/index.cjs +38 -54
- package/dist/cjs/components/DataTableViewOptions/index.native.js +40 -56
- package/dist/cjs/components/DataTableViewOptions/index.native.js.map +1 -1
- package/dist/cjs/components/FilterOperatorValueEditor/index.cjs +3 -11
- package/dist/cjs/components/FilterOperatorValueEditor/index.native.js +3 -11
- package/dist/cjs/components/FilterOperatorValueEditor/index.native.js.map +1 -1
- package/dist/cjs/components/SimpleTable/index.cjs +2 -6
- package/dist/cjs/components/SimpleTable/index.native.js +2 -6
- package/dist/cjs/components/SimpleTable/index.native.js.map +1 -1
- package/dist/cjs/components/TableInput/RowDetailEditor.cjs +190 -0
- package/dist/cjs/components/TableInput/RowDetailEditor.native.js +172 -0
- package/dist/cjs/components/TableInput/RowDetailEditor.native.js.map +1 -0
- package/dist/cjs/components/TableInput/index.cjs +42 -5
- package/dist/cjs/components/TableInput/index.native.js +64 -1
- package/dist/cjs/components/TableInput/index.native.js.map +1 -1
- package/dist/cjs/components/TableInput/shared.cjs +8 -0
- package/dist/cjs/components/TableInput/shared.native.js +10 -0
- package/dist/cjs/components/TableInput/shared.native.js.map +1 -1
- package/dist/cjs/hooks/useDataTable.cjs +43 -2
- package/dist/cjs/hooks/useDataTable.native.js +49 -3
- package/dist/cjs/hooks/useDataTable.native.js.map +1 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/utils/rowPress.cjs +4 -1
- package/dist/cjs/utils/rowPress.native.js +4 -1
- package/dist/cjs/utils/rowPress.native.js.map +1 -1
- package/dist/esm/components/ChildTable/index.mjs +8 -2
- package/dist/esm/components/ChildTable/index.mjs.map +1 -1
- package/dist/esm/components/ChildTable/index.native.js +8 -2
- package/dist/esm/components/ChildTable/index.native.js.map +1 -1
- package/dist/esm/components/ColumnHeaderFilter/index.mjs +80 -114
- package/dist/esm/components/ColumnHeaderFilter/index.mjs.map +1 -1
- package/dist/esm/components/ColumnHeaderFilter/index.native.js +92 -132
- package/dist/esm/components/ColumnHeaderFilter/index.native.js.map +1 -1
- package/dist/esm/components/DataTable/DataTableCardControls.mjs +89 -54
- package/dist/esm/components/DataTable/DataTableCardControls.mjs.map +1 -1
- package/dist/esm/components/DataTable/DataTableCardControls.native.js +92 -56
- package/dist/esm/components/DataTable/DataTableCardControls.native.js.map +1 -1
- package/dist/esm/components/DataTable/DataTableRoot.mjs +70 -11
- package/dist/esm/components/DataTable/DataTableRoot.mjs.map +1 -1
- package/dist/esm/components/DataTable/DataTableRoot.native.js +80 -13
- package/dist/esm/components/DataTable/DataTableRoot.native.js.map +1 -1
- package/dist/esm/components/DataTableCell/CellModalEditor.mjs +76 -74
- package/dist/esm/components/DataTableCell/CellModalEditor.mjs.map +1 -1
- package/dist/esm/components/DataTableCell/index.mjs +3 -3
- package/dist/esm/components/DataTableCell/index.mjs.map +1 -1
- package/dist/esm/components/DataTableCell/index.native.js +3 -12
- package/dist/esm/components/DataTableCell/index.native.js.map +1 -1
- package/dist/esm/components/DataTableDateFilter/index.mjs +137 -160
- package/dist/esm/components/DataTableDateFilter/index.mjs.map +1 -1
- package/dist/esm/components/DataTableDateFilter/index.native.js +155 -185
- package/dist/esm/components/DataTableDateFilter/index.native.js.map +1 -1
- package/dist/esm/components/DataTableExport/index.mjs +124 -141
- package/dist/esm/components/DataTableExport/index.mjs.map +1 -1
- package/dist/esm/components/DataTableExport/index.native.js +137 -159
- package/dist/esm/components/DataTableExport/index.native.js.map +1 -1
- package/dist/esm/components/DataTableFilterButton/index.mjs +14 -1
- package/dist/esm/components/DataTableFilterButton/index.mjs.map +1 -1
- package/dist/esm/components/DataTableFilterButton/index.native.js +15 -1
- package/dist/esm/components/DataTableFilterButton/index.native.js.map +1 -1
- package/dist/esm/components/DataTableGrouping/index.mjs +194 -214
- package/dist/esm/components/DataTableGrouping/index.mjs.map +1 -1
- package/dist/esm/components/DataTableGrouping/index.native.js +211 -232
- package/dist/esm/components/DataTableGrouping/index.native.js.map +1 -1
- package/dist/esm/components/DataTableSearch/index.mjs +105 -117
- package/dist/esm/components/DataTableSearch/index.mjs.map +1 -1
- package/dist/esm/components/DataTableSearch/index.native.js +113 -125
- package/dist/esm/components/DataTableSearch/index.native.js.map +1 -1
- package/dist/esm/components/DataTableToolbar/index.mjs +165 -106
- package/dist/esm/components/DataTableToolbar/index.mjs.map +1 -1
- package/dist/esm/components/DataTableToolbar/index.native.js +172 -114
- package/dist/esm/components/DataTableToolbar/index.native.js.map +1 -1
- package/dist/esm/components/DataTableViewOptions/index.mjs +40 -56
- package/dist/esm/components/DataTableViewOptions/index.mjs.map +1 -1
- package/dist/esm/components/DataTableViewOptions/index.native.js +42 -58
- package/dist/esm/components/DataTableViewOptions/index.native.js.map +1 -1
- package/dist/esm/components/FilterOperatorValueEditor/index.mjs +3 -11
- package/dist/esm/components/FilterOperatorValueEditor/index.mjs.map +1 -1
- package/dist/esm/components/FilterOperatorValueEditor/index.native.js +3 -11
- package/dist/esm/components/FilterOperatorValueEditor/index.native.js.map +1 -1
- package/dist/esm/components/SimpleTable/index.mjs +3 -7
- package/dist/esm/components/SimpleTable/index.mjs.map +1 -1
- package/dist/esm/components/SimpleTable/index.native.js +3 -7
- package/dist/esm/components/SimpleTable/index.native.js.map +1 -1
- package/dist/esm/components/TableInput/RowDetailEditor.mjs +165 -0
- package/dist/esm/components/TableInput/RowDetailEditor.mjs.map +1 -0
- package/dist/esm/components/TableInput/RowDetailEditor.native.js +144 -0
- package/dist/esm/components/TableInput/RowDetailEditor.native.js.map +1 -0
- package/dist/esm/components/TableInput/index.mjs +42 -5
- package/dist/esm/components/TableInput/index.mjs.map +1 -1
- package/dist/esm/components/TableInput/index.native.js +64 -1
- package/dist/esm/components/TableInput/index.native.js.map +1 -1
- package/dist/esm/components/TableInput/shared.mjs +7 -1
- package/dist/esm/components/TableInput/shared.mjs.map +1 -1
- package/dist/esm/components/TableInput/shared.native.js +9 -1
- package/dist/esm/components/TableInput/shared.native.js.map +1 -1
- package/dist/esm/hooks/useDataTable.mjs +43 -2
- package/dist/esm/hooks/useDataTable.mjs.map +1 -1
- package/dist/esm/hooks/useDataTable.native.js +49 -3
- package/dist/esm/hooks/useDataTable.native.js.map +1 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/utils/rowPress.mjs +4 -1
- package/dist/esm/utils/rowPress.mjs.map +1 -1
- package/dist/esm/utils/rowPress.native.js +4 -1
- package/dist/esm/utils/rowPress.native.js.map +1 -1
- package/dist/jsx/components/ChildTable/index.mjs +8 -2
- package/dist/jsx/components/ChildTable/index.mjs.map +1 -1
- package/dist/jsx/components/ChildTable/index.native.js +8 -2
- package/dist/jsx/components/ChildTable/index.native.js.map +1 -1
- package/dist/jsx/components/ColumnHeaderFilter/index.mjs +80 -114
- package/dist/jsx/components/ColumnHeaderFilter/index.mjs.map +1 -1
- package/dist/jsx/components/ColumnHeaderFilter/index.native.js +89 -129
- package/dist/jsx/components/ColumnHeaderFilter/index.native.js.map +1 -1
- package/dist/jsx/components/DataTable/DataTableCardControls.mjs +89 -54
- package/dist/jsx/components/DataTable/DataTableCardControls.mjs.map +1 -1
- package/dist/jsx/components/DataTable/DataTableCardControls.native.js +93 -56
- package/dist/jsx/components/DataTable/DataTableCardControls.native.js.map +1 -1
- package/dist/jsx/components/DataTable/DataTableRoot.mjs +70 -11
- package/dist/jsx/components/DataTable/DataTableRoot.mjs.map +1 -1
- package/dist/jsx/components/DataTable/DataTableRoot.native.js +78 -11
- package/dist/jsx/components/DataTable/DataTableRoot.native.js.map +1 -1
- package/dist/jsx/components/DataTableCell/CellModalEditor.mjs +76 -74
- package/dist/jsx/components/DataTableCell/CellModalEditor.mjs.map +1 -1
- package/dist/jsx/components/DataTableCell/index.mjs +3 -3
- package/dist/jsx/components/DataTableCell/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableCell/index.native.js +2 -11
- package/dist/jsx/components/DataTableCell/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableDateFilter/index.mjs +137 -160
- package/dist/jsx/components/DataTableDateFilter/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableDateFilter/index.native.js +153 -183
- package/dist/jsx/components/DataTableDateFilter/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableExport/index.mjs +124 -141
- package/dist/jsx/components/DataTableExport/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableExport/index.native.js +135 -157
- package/dist/jsx/components/DataTableExport/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableFilterButton/index.mjs +14 -1
- package/dist/jsx/components/DataTableFilterButton/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableFilterButton/index.native.js +15 -0
- package/dist/jsx/components/DataTableFilterButton/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableGrouping/index.mjs +194 -214
- package/dist/jsx/components/DataTableGrouping/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableGrouping/index.native.js +209 -230
- package/dist/jsx/components/DataTableGrouping/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableSearch/index.mjs +105 -117
- package/dist/jsx/components/DataTableSearch/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableSearch/index.native.js +111 -123
- package/dist/jsx/components/DataTableSearch/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableToolbar/index.mjs +165 -106
- package/dist/jsx/components/DataTableToolbar/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableToolbar/index.native.js +168 -109
- package/dist/jsx/components/DataTableToolbar/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableViewOptions/index.mjs +40 -56
- package/dist/jsx/components/DataTableViewOptions/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableViewOptions/index.native.js +40 -56
- package/dist/jsx/components/DataTableViewOptions/index.native.js.map +1 -1
- package/dist/jsx/components/FilterOperatorValueEditor/index.mjs +3 -11
- package/dist/jsx/components/FilterOperatorValueEditor/index.mjs.map +1 -1
- package/dist/jsx/components/FilterOperatorValueEditor/index.native.js +3 -11
- package/dist/jsx/components/FilterOperatorValueEditor/index.native.js.map +1 -1
- package/dist/jsx/components/SimpleTable/index.mjs +3 -7
- package/dist/jsx/components/SimpleTable/index.mjs.map +1 -1
- package/dist/jsx/components/SimpleTable/index.native.js +2 -6
- package/dist/jsx/components/SimpleTable/index.native.js.map +1 -1
- package/dist/jsx/components/TableInput/RowDetailEditor.mjs +165 -0
- package/dist/jsx/components/TableInput/RowDetailEditor.mjs.map +1 -0
- package/dist/jsx/components/TableInput/RowDetailEditor.native.js +172 -0
- package/dist/jsx/components/TableInput/RowDetailEditor.native.js.map +1 -0
- package/dist/jsx/components/TableInput/index.mjs +42 -5
- package/dist/jsx/components/TableInput/index.mjs.map +1 -1
- package/dist/jsx/components/TableInput/index.native.js +64 -1
- package/dist/jsx/components/TableInput/index.native.js.map +1 -1
- package/dist/jsx/components/TableInput/shared.mjs +7 -1
- package/dist/jsx/components/TableInput/shared.mjs.map +1 -1
- package/dist/jsx/components/TableInput/shared.native.js +10 -0
- package/dist/jsx/components/TableInput/shared.native.js.map +1 -1
- package/dist/jsx/hooks/useDataTable.mjs +43 -2
- package/dist/jsx/hooks/useDataTable.mjs.map +1 -1
- package/dist/jsx/hooks/useDataTable.native.js +49 -3
- package/dist/jsx/hooks/useDataTable.native.js.map +1 -1
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/utils/rowPress.mjs +4 -1
- package/dist/jsx/utils/rowPress.mjs.map +1 -1
- package/dist/jsx/utils/rowPress.native.js +4 -1
- package/dist/jsx/utils/rowPress.native.js.map +1 -1
- package/package.json +16 -16
- package/src/components/ChildTable/childTable.cellHidden.spec.tsx +57 -0
- package/src/components/ChildTable/childTable.rowDetail.spec.tsx +120 -0
- package/src/components/ChildTable/index.tsx +16 -0
- package/src/components/ColumnHeaderFilter/index.tsx +89 -116
- package/src/components/DataTable/DataTable.stories.tsx +130 -6
- package/src/components/DataTable/DataTableCardControls.stories.tsx +61 -2
- package/src/components/DataTable/DataTableCardControls.tsx +92 -66
- package/src/components/DataTable/DataTableRoot.tsx +109 -18
- package/src/components/DataTable/cardLayout.spec.tsx +4 -3
- package/src/components/DataTable/cardToolbar.spec.tsx +238 -0
- package/src/components/DataTable/chromeInterplay.spec.tsx +7 -5
- package/src/components/DataTable/columnWidthLayout.spec.tsx +189 -0
- package/src/components/DataTable/dataTableCardControls.spec.tsx +3 -2
- package/src/components/DataTable/dataTableMobileCards.spec.tsx +1 -4
- package/src/components/DataTable/footerLayout.spec.tsx +250 -0
- package/src/components/DataTable/headerContainment.spec.tsx +91 -0
- package/src/components/DataTable/pinningGeometry.spec.tsx +66 -1
- package/src/components/DataTable/rowPress.spec.tsx +2 -6
- package/src/components/DataTableBulkActions/DataTableBulkActions.stories.tsx +5 -4
- package/src/components/DataTableCell/CellModalEditor.tsx +95 -75
- package/src/components/DataTableCell/cellDraftPolicy.spec.tsx +12 -2
- package/src/components/DataTableCell/cellModalEditor.spec.tsx +75 -49
- package/src/components/DataTableCell/dataTableCell.spec.tsx +31 -14
- package/src/components/DataTableCell/index.tsx +3 -2
- package/src/components/DataTableDateFilter/DataTableDateFilter.spec.tsx +6 -3
- package/src/components/DataTableDateFilter/index.tsx +151 -180
- package/src/components/DataTableExport/DataTableExport.spec.tsx +42 -18
- package/src/components/DataTableExport/index.tsx +135 -142
- package/src/components/DataTableFilterButton/index.tsx +9 -0
- package/src/components/DataTableGrouping/index.tsx +193 -195
- package/src/components/DataTableSearch/index.tsx +111 -109
- package/src/components/DataTableToolbar/index.tsx +179 -107
- package/src/components/DataTableViewOptions/DataTableViewOptions.stories.tsx +52 -0
- package/src/components/DataTableViewOptions/index.tsx +32 -40
- package/src/components/FilterOperatorValueEditor/FilterOperatorValueEditor.spec.tsx +64 -2
- package/src/components/FilterOperatorValueEditor/index.tsx +0 -8
- package/src/components/SimpleTable/index.tsx +3 -2
- package/src/components/SimpleTable/simpleTable.spec.tsx +15 -0
- package/src/components/Table/accessibility.spec.tsx +7 -19
- package/src/components/TableInput/RowDetailEditor.native.tsx +134 -0
- package/src/components/TableInput/RowDetailEditor.tsx +173 -0
- package/src/components/TableInput/index.native.tsx +49 -1
- package/src/components/TableInput/index.tsx +65 -10
- package/src/components/TableInput/shared.ts +29 -0
- package/src/components/tableDropdowns.spec.tsx +172 -0
- package/src/hooks/useDataTable.spec.ts +153 -0
- package/src/hooks/useDataTable.ts +38 -2
- package/src/index.ts +1 -0
- package/src/types.ts +14 -12
- package/src/utils/rowPress.ts +3 -0
- package/types/components/ChildTable/index.d.ts +10 -0
- package/types/components/ChildTable/index.d.ts.map +1 -1
- package/types/components/ColumnHeaderFilter/index.d.ts +1 -1
- package/types/components/ColumnHeaderFilter/index.d.ts.map +1 -1
- package/types/components/DataTable/DataTableCardControls.d.ts +3 -0
- package/types/components/DataTable/DataTableCardControls.d.ts.map +1 -1
- package/types/components/DataTable/DataTableRoot.d.ts.map +1 -1
- package/types/components/DataTableCell/CellModalEditor.d.ts +10 -7
- package/types/components/DataTableCell/CellModalEditor.d.ts.map +1 -1
- package/types/components/DataTableCell/index.d.ts.map +1 -1
- package/types/components/DataTableDateFilter/index.d.ts.map +1 -1
- package/types/components/DataTableFilterButton/index.d.ts +2 -1
- package/types/components/DataTableFilterButton/index.d.ts.map +1 -1
- package/types/components/DataTableGrouping/index.d.ts.map +1 -1
- package/types/components/DataTableSearch/index.d.ts.map +1 -1
- package/types/components/DataTableToolbar/index.d.ts +1 -0
- package/types/components/DataTableToolbar/index.d.ts.map +1 -1
- package/types/components/FilterOperatorValueEditor/index.d.ts.map +1 -1
- package/types/components/SimpleTable/index.d.ts.map +1 -1
- package/types/components/TableInput/RowDetailEditor.d.ts +24 -0
- package/types/components/TableInput/RowDetailEditor.d.ts.map +1 -0
- package/types/components/TableInput/RowDetailEditor.native.d.ts +11 -0
- package/types/components/TableInput/RowDetailEditor.native.d.ts.map +1 -0
- package/types/components/TableInput/index.d.ts +11 -2
- package/types/components/TableInput/index.d.ts.map +1 -1
- package/types/components/TableInput/index.native.d.ts +8 -1
- package/types/components/TableInput/index.native.d.ts.map +1 -1
- package/types/components/TableInput/shared.d.ts +11 -0
- package/types/components/TableInput/shared.d.ts.map +1 -1
- package/types/hooks/useDataTable.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/types.d.ts +14 -12
- package/types/types.d.ts.map +1 -1
- package/types/utils/rowPress.d.ts.map +1 -1
|
@@ -12,6 +12,90 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
12
12
|
function getColumnLabel(column) {
|
|
13
13
|
return typeof column.columnDef.header === "string" ? column.columnDef.header : column.id;
|
|
14
14
|
}
|
|
15
|
+
function DataTableCardSortControl({
|
|
16
|
+
table,
|
|
17
|
+
compact = false,
|
|
18
|
+
disabled = false,
|
|
19
|
+
contained = false
|
|
20
|
+
}) {
|
|
21
|
+
const {
|
|
22
|
+
t
|
|
23
|
+
} = useTranslation();
|
|
24
|
+
const {
|
|
25
|
+
knobProps
|
|
26
|
+
} = useResolvedKnobs({
|
|
27
|
+
component: "DataTable",
|
|
28
|
+
compact
|
|
29
|
+
});
|
|
30
|
+
const chrome = dataTableChrome(String(knobProps.sizeToken));
|
|
31
|
+
const [sortMenuOpen, setSortMenuOpen] = useState(false);
|
|
32
|
+
const sortableColumns = table.getVisibleLeafColumns().filter(col => col.getCanSort());
|
|
33
|
+
const activeSort = table.getState().sorting?.[0];
|
|
34
|
+
const activeSortColumn = activeSort ? table.getColumn(activeSort.id) : void 0;
|
|
35
|
+
const sortLabel = activeSortColumn ? `${getColumnLabel(activeSortColumn)} ${activeSort.desc ? "\u2193" : "\u2191"}` : t("Sort");
|
|
36
|
+
if (!sortableColumns.length) return null;
|
|
37
|
+
const menu = /* @__PURE__ */jsxs(DropdownMenu, {
|
|
38
|
+
open: disabled ? false : sortMenuOpen,
|
|
39
|
+
onOpenChange: open => {
|
|
40
|
+
if (disabled) return;
|
|
41
|
+
setSortMenuOpen(open);
|
|
42
|
+
},
|
|
43
|
+
children: [/* @__PURE__ */jsx(DropdownMenu.Trigger, {
|
|
44
|
+
asChild: true,
|
|
45
|
+
children: /* @__PURE__ */jsx(Button, {
|
|
46
|
+
size: knobProps.sizeToken,
|
|
47
|
+
icon: /* @__PURE__ */jsx(CaretUpDownIcon, {
|
|
48
|
+
size: chrome.iconPx
|
|
49
|
+
}),
|
|
50
|
+
"aria-label": t("Sort rows"),
|
|
51
|
+
...(contained ? {
|
|
52
|
+
minWidth: 0,
|
|
53
|
+
maxWidth: "100%",
|
|
54
|
+
"aria-description": activeSortColumn ? sortLabel : void 0
|
|
55
|
+
} : {}),
|
|
56
|
+
disabled,
|
|
57
|
+
children: sortLabel
|
|
58
|
+
})
|
|
59
|
+
}), /* @__PURE__ */jsxs(DropdownMenu.Content, {
|
|
60
|
+
children: [/* @__PURE__ */jsx(DropdownMenu.Label, {
|
|
61
|
+
children: t("Sort by")
|
|
62
|
+
}), sortableColumns.map(column => {
|
|
63
|
+
const sorted = column.getIsSorted();
|
|
64
|
+
return /* @__PURE__ */jsx(DropdownMenu.Item, {
|
|
65
|
+
closeOnSelect: false,
|
|
66
|
+
icon: sorted === "asc" ? /* @__PURE__ */jsx(CaretDownIcon, {
|
|
67
|
+
size: chrome.iconPx
|
|
68
|
+
}) : sorted === "desc" ? /* @__PURE__ */jsx(CaretDownIcon, {
|
|
69
|
+
size: chrome.iconPx,
|
|
70
|
+
style: {
|
|
71
|
+
transform: "rotate(180deg)"
|
|
72
|
+
}
|
|
73
|
+
}) : /* @__PURE__ */jsx(CaretUpDownIcon, {
|
|
74
|
+
size: chrome.iconPx
|
|
75
|
+
}),
|
|
76
|
+
"aria-label": withInterp(t("Sort by {{column}}", {
|
|
77
|
+
column: getColumnLabel(column)
|
|
78
|
+
}), {
|
|
79
|
+
column: getColumnLabel(column)
|
|
80
|
+
}),
|
|
81
|
+
onSelect: () => {
|
|
82
|
+
if (sorted === false) column.toggleSorting(false);else if (sorted === "asc") column.toggleSorting(true);else column.clearSorting();
|
|
83
|
+
},
|
|
84
|
+
children: getColumnLabel(column)
|
|
85
|
+
}, column.id);
|
|
86
|
+
})]
|
|
87
|
+
})]
|
|
88
|
+
});
|
|
89
|
+
return contained ? /* @__PURE__ */jsx(View, {
|
|
90
|
+
"data-table-card-sort": "",
|
|
91
|
+
flexBasis: "auto",
|
|
92
|
+
flexGrow: 0,
|
|
93
|
+
flexShrink: 1,
|
|
94
|
+
minWidth: 0,
|
|
95
|
+
maxWidth: "50%",
|
|
96
|
+
children: menu
|
|
97
|
+
}) : menu;
|
|
98
|
+
}
|
|
15
99
|
function DataTableCardControls({
|
|
16
100
|
table,
|
|
17
101
|
enableSorting = false,
|
|
@@ -24,18 +108,11 @@ function DataTableCardControls({
|
|
|
24
108
|
t
|
|
25
109
|
} = useTranslation();
|
|
26
110
|
const {
|
|
27
|
-
knobProps,
|
|
28
111
|
disabledState
|
|
29
112
|
} = useResolvedKnobs({
|
|
30
113
|
component: "DataTable",
|
|
31
114
|
compact
|
|
32
115
|
});
|
|
33
|
-
const chrome = dataTableChrome(String(knobProps.sizeToken));
|
|
34
|
-
const [sortMenuOpen, setSortMenuOpen] = useState(false);
|
|
35
|
-
const sortableColumns = enableSorting ? table.getVisibleLeafColumns().filter(col => col.getCanSort()) : [];
|
|
36
|
-
const activeSort = table.getState().sorting?.[0];
|
|
37
|
-
const activeSortColumn = activeSort ? table.getColumn(activeSort.id) : void 0;
|
|
38
|
-
const sortLabel = activeSortColumn ? `${getColumnLabel(activeSortColumn)} ${activeSort.desc ? "\u2193" : "\u2191"}` : t("Sort");
|
|
39
116
|
if (!enableSorting && !enableFiltering) return null;
|
|
40
117
|
return /* @__PURE__ */jsxs(XStack, {
|
|
41
118
|
alignItems: "center",
|
|
@@ -44,52 +121,10 @@ function DataTableCardControls({
|
|
|
44
121
|
paddingVertical: "$2",
|
|
45
122
|
role: "toolbar",
|
|
46
123
|
"aria-label": t("Card list controls"),
|
|
47
|
-
children: [enableSorting &&
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
setSortMenuOpen(open);
|
|
52
|
-
},
|
|
53
|
-
children: [/* @__PURE__ */jsx(DropdownMenu.Trigger, {
|
|
54
|
-
asChild: true,
|
|
55
|
-
children: /* @__PURE__ */jsx(Button, {
|
|
56
|
-
size: knobProps.sizeToken,
|
|
57
|
-
icon: /* @__PURE__ */jsx(CaretUpDownIcon, {
|
|
58
|
-
size: chrome.iconPx
|
|
59
|
-
}),
|
|
60
|
-
"aria-label": t("Sort rows"),
|
|
61
|
-
disabled,
|
|
62
|
-
children: sortLabel
|
|
63
|
-
})
|
|
64
|
-
}), /* @__PURE__ */jsxs(DropdownMenu.Content, {
|
|
65
|
-
children: [/* @__PURE__ */jsx(DropdownMenu.Label, {
|
|
66
|
-
children: t("Sort by")
|
|
67
|
-
}), sortableColumns.map(column => {
|
|
68
|
-
const sorted = column.getIsSorted();
|
|
69
|
-
return /* @__PURE__ */jsx(DropdownMenu.Item, {
|
|
70
|
-
closeOnSelect: false,
|
|
71
|
-
icon: sorted === "asc" ? /* @__PURE__ */jsx(CaretDownIcon, {
|
|
72
|
-
size: chrome.iconPx
|
|
73
|
-
}) : sorted === "desc" ? /* @__PURE__ */jsx(CaretDownIcon, {
|
|
74
|
-
size: chrome.iconPx,
|
|
75
|
-
style: {
|
|
76
|
-
transform: "rotate(180deg)"
|
|
77
|
-
}
|
|
78
|
-
}) : /* @__PURE__ */jsx(CaretUpDownIcon, {
|
|
79
|
-
size: chrome.iconPx
|
|
80
|
-
}),
|
|
81
|
-
"aria-label": withInterp(t("Sort by {{column}}", {
|
|
82
|
-
column: getColumnLabel(column)
|
|
83
|
-
}), {
|
|
84
|
-
column: getColumnLabel(column)
|
|
85
|
-
}),
|
|
86
|
-
onSelect: () => {
|
|
87
|
-
if (sorted === false) column.toggleSorting(false);else if (sorted === "asc") column.toggleSorting(true);else column.clearSorting();
|
|
88
|
-
},
|
|
89
|
-
children: getColumnLabel(column)
|
|
90
|
-
}, column.id);
|
|
91
|
-
})]
|
|
92
|
-
})]
|
|
124
|
+
children: [enableSorting && /* @__PURE__ */jsx(DataTableCardSortControl, {
|
|
125
|
+
table,
|
|
126
|
+
compact,
|
|
127
|
+
disabled
|
|
93
128
|
}), enableFiltering && availableColumns.length > 0 &&
|
|
94
129
|
// DataTableFilters (chrome) has no disabled API — the wrapper is the
|
|
95
130
|
// LC-40 carrier and interaction gate for the disabled table.
|
|
@@ -106,5 +141,5 @@ function DataTableCardControls({
|
|
|
106
141
|
})]
|
|
107
142
|
});
|
|
108
143
|
}
|
|
109
|
-
export { DataTableCardControls };
|
|
144
|
+
export { DataTableCardControls, DataTableCardSortControl };
|
|
110
145
|
//# sourceMappingURL=DataTableCardControls.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CaretDownIcon","CaretUpDownIcon","DropdownMenu","Button","useResolvedKnobs","useState","View","XStack","useTranslation","withInterp","DataTableFilters","dataTableChrome","jsx","jsxs","getColumnLabel","column","columnDef","header","id","
|
|
1
|
+
{"version":3,"names":["CaretDownIcon","CaretUpDownIcon","DropdownMenu","Button","useResolvedKnobs","useState","View","XStack","useTranslation","withInterp","DataTableFilters","dataTableChrome","jsx","jsxs","getColumnLabel","column","columnDef","header","id","DataTableCardSortControl","table","compact","disabled","contained","t","knobProps","component","chrome","String","sizeToken","sortMenuOpen","setSortMenuOpen","sortableColumns","getVisibleLeafColumns","filter","col","getCanSort","activeSort","getState","sorting","activeSortColumn","getColumn","sortLabel","desc","length","menu","open","onOpenChange","children","Trigger","asChild","size","icon","iconPx","minWidth","maxWidth","Content","Label","map","sorted","getIsSorted","Item","closeOnSelect","style","transform","onSelect","toggleSorting","clearSorting","flexBasis","flexGrow","flexShrink","DataTableCardControls","enableSorting","enableFiltering","availableColumns","disabledState","alignItems","flexWrap","gap","paddingVertical","role","chromeKnobProps","pointerEvents"],"sources":["../../../../src/components/DataTable/DataTableCardControls.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -12,34 +12,112 @@ import { dataTableChrome } from "./dataTableChrome.native.js";
|
|
|
12
12
|
function getColumnLabel(column) {
|
|
13
13
|
return typeof column.columnDef.header === "string" ? column.columnDef.header : column.id;
|
|
14
14
|
}
|
|
15
|
-
function
|
|
15
|
+
function DataTableCardSortControl(param) {
|
|
16
16
|
var {
|
|
17
17
|
table,
|
|
18
|
-
enableSorting = false,
|
|
19
|
-
enableFiltering = false,
|
|
20
|
-
availableColumns = [],
|
|
21
18
|
compact = false,
|
|
22
|
-
disabled = false
|
|
19
|
+
disabled = false,
|
|
20
|
+
contained = false
|
|
23
21
|
} = param;
|
|
24
22
|
var _table_getState_sorting;
|
|
25
23
|
var {
|
|
26
24
|
t
|
|
27
25
|
} = useTranslation();
|
|
28
26
|
var {
|
|
29
|
-
knobProps
|
|
30
|
-
disabledState
|
|
27
|
+
knobProps
|
|
31
28
|
} = useResolvedKnobs({
|
|
32
29
|
component: "DataTable",
|
|
33
30
|
compact
|
|
34
31
|
});
|
|
35
32
|
var chrome = dataTableChrome(String(knobProps.sizeToken));
|
|
36
33
|
var [sortMenuOpen, setSortMenuOpen] = useState(false);
|
|
37
|
-
var sortableColumns =
|
|
34
|
+
var sortableColumns = table.getVisibleLeafColumns().filter(function (col) {
|
|
38
35
|
return col.getCanSort();
|
|
39
|
-
})
|
|
36
|
+
});
|
|
40
37
|
var activeSort = (_table_getState_sorting = table.getState().sorting) === null || _table_getState_sorting === void 0 ? void 0 : _table_getState_sorting[0];
|
|
41
38
|
var activeSortColumn = activeSort ? table.getColumn(activeSort.id) : void 0;
|
|
42
39
|
var sortLabel = activeSortColumn ? `${getColumnLabel(activeSortColumn)} ${activeSort.desc ? "\u2193" : "\u2191"}` : t("Sort");
|
|
40
|
+
if (!sortableColumns.length) return null;
|
|
41
|
+
var menu = /* @__PURE__ */_jsxs(DropdownMenu, {
|
|
42
|
+
open: disabled ? false : sortMenuOpen,
|
|
43
|
+
onOpenChange: function onOpenChange(open) {
|
|
44
|
+
if (disabled) return;
|
|
45
|
+
setSortMenuOpen(open);
|
|
46
|
+
},
|
|
47
|
+
children: [/* @__PURE__ */_jsx(DropdownMenu.Trigger, {
|
|
48
|
+
asChild: true,
|
|
49
|
+
children: /* @__PURE__ */_jsx(Button, {
|
|
50
|
+
size: knobProps.sizeToken,
|
|
51
|
+
icon: /* @__PURE__ */_jsx(CaretUpDownIcon, {
|
|
52
|
+
size: chrome.iconPx
|
|
53
|
+
}),
|
|
54
|
+
"aria-label": t("Sort rows"),
|
|
55
|
+
...(contained ? {
|
|
56
|
+
minWidth: 0,
|
|
57
|
+
maxWidth: "100%",
|
|
58
|
+
"aria-description": activeSortColumn ? sortLabel : void 0
|
|
59
|
+
} : {}),
|
|
60
|
+
disabled,
|
|
61
|
+
children: sortLabel
|
|
62
|
+
})
|
|
63
|
+
}), /* @__PURE__ */_jsxs(DropdownMenu.Content, {
|
|
64
|
+
children: [/* @__PURE__ */_jsx(DropdownMenu.Label, {
|
|
65
|
+
children: t("Sort by")
|
|
66
|
+
}), sortableColumns.map(function (column) {
|
|
67
|
+
var sorted = column.getIsSorted();
|
|
68
|
+
return /* @__PURE__ */_jsx(DropdownMenu.Item, {
|
|
69
|
+
closeOnSelect: false,
|
|
70
|
+
icon: sorted === "asc" ? /* @__PURE__ */_jsx(CaretDownIcon, {
|
|
71
|
+
size: chrome.iconPx
|
|
72
|
+
}) : sorted === "desc" ? /* @__PURE__ */_jsx(CaretDownIcon, {
|
|
73
|
+
size: chrome.iconPx,
|
|
74
|
+
style: {
|
|
75
|
+
transform: "rotate(180deg)"
|
|
76
|
+
}
|
|
77
|
+
}) : /* @__PURE__ */_jsx(CaretUpDownIcon, {
|
|
78
|
+
size: chrome.iconPx
|
|
79
|
+
}),
|
|
80
|
+
"aria-label": withInterp(t("Sort by {{column}}", {
|
|
81
|
+
column: getColumnLabel(column)
|
|
82
|
+
}), {
|
|
83
|
+
column: getColumnLabel(column)
|
|
84
|
+
}),
|
|
85
|
+
onSelect: function onSelect() {
|
|
86
|
+
if (sorted === false) column.toggleSorting(false);else if (sorted === "asc") column.toggleSorting(true);else column.clearSorting();
|
|
87
|
+
},
|
|
88
|
+
children: getColumnLabel(column)
|
|
89
|
+
}, column.id);
|
|
90
|
+
})]
|
|
91
|
+
})]
|
|
92
|
+
});
|
|
93
|
+
return contained ? /* @__PURE__ */_jsx(View, {
|
|
94
|
+
"data-table-card-sort": "",
|
|
95
|
+
flexBasis: "auto",
|
|
96
|
+
flexGrow: 0,
|
|
97
|
+
flexShrink: 1,
|
|
98
|
+
minWidth: 0,
|
|
99
|
+
maxWidth: "50%",
|
|
100
|
+
children: menu
|
|
101
|
+
}) : menu;
|
|
102
|
+
}
|
|
103
|
+
function DataTableCardControls(param) {
|
|
104
|
+
var {
|
|
105
|
+
table,
|
|
106
|
+
enableSorting = false,
|
|
107
|
+
enableFiltering = false,
|
|
108
|
+
availableColumns = [],
|
|
109
|
+
compact = false,
|
|
110
|
+
disabled = false
|
|
111
|
+
} = param;
|
|
112
|
+
var {
|
|
113
|
+
t
|
|
114
|
+
} = useTranslation();
|
|
115
|
+
var {
|
|
116
|
+
disabledState
|
|
117
|
+
} = useResolvedKnobs({
|
|
118
|
+
component: "DataTable",
|
|
119
|
+
compact
|
|
120
|
+
});
|
|
43
121
|
if (!enableSorting && !enableFiltering) return null;
|
|
44
122
|
return /* @__PURE__ */_jsxs(XStack, {
|
|
45
123
|
alignItems: "center",
|
|
@@ -48,52 +126,10 @@ function DataTableCardControls(param) {
|
|
|
48
126
|
paddingVertical: "$2",
|
|
49
127
|
role: "toolbar",
|
|
50
128
|
"aria-label": t("Card list controls"),
|
|
51
|
-
children: [enableSorting &&
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
setSortMenuOpen(open);
|
|
56
|
-
},
|
|
57
|
-
children: [/* @__PURE__ */_jsx(DropdownMenu.Trigger, {
|
|
58
|
-
asChild: true,
|
|
59
|
-
children: /* @__PURE__ */_jsx(Button, {
|
|
60
|
-
size: knobProps.sizeToken,
|
|
61
|
-
icon: /* @__PURE__ */_jsx(CaretUpDownIcon, {
|
|
62
|
-
size: chrome.iconPx
|
|
63
|
-
}),
|
|
64
|
-
"aria-label": t("Sort rows"),
|
|
65
|
-
disabled,
|
|
66
|
-
children: sortLabel
|
|
67
|
-
})
|
|
68
|
-
}), /* @__PURE__ */_jsxs(DropdownMenu.Content, {
|
|
69
|
-
children: [/* @__PURE__ */_jsx(DropdownMenu.Label, {
|
|
70
|
-
children: t("Sort by")
|
|
71
|
-
}), sortableColumns.map(function (column) {
|
|
72
|
-
var sorted = column.getIsSorted();
|
|
73
|
-
return /* @__PURE__ */_jsx(DropdownMenu.Item, {
|
|
74
|
-
closeOnSelect: false,
|
|
75
|
-
icon: sorted === "asc" ? /* @__PURE__ */_jsx(CaretDownIcon, {
|
|
76
|
-
size: chrome.iconPx
|
|
77
|
-
}) : sorted === "desc" ? /* @__PURE__ */_jsx(CaretDownIcon, {
|
|
78
|
-
size: chrome.iconPx,
|
|
79
|
-
style: {
|
|
80
|
-
transform: "rotate(180deg)"
|
|
81
|
-
}
|
|
82
|
-
}) : /* @__PURE__ */_jsx(CaretUpDownIcon, {
|
|
83
|
-
size: chrome.iconPx
|
|
84
|
-
}),
|
|
85
|
-
"aria-label": withInterp(t("Sort by {{column}}", {
|
|
86
|
-
column: getColumnLabel(column)
|
|
87
|
-
}), {
|
|
88
|
-
column: getColumnLabel(column)
|
|
89
|
-
}),
|
|
90
|
-
onSelect: function onSelect() {
|
|
91
|
-
if (sorted === false) column.toggleSorting(false);else if (sorted === "asc") column.toggleSorting(true);else column.clearSorting();
|
|
92
|
-
},
|
|
93
|
-
children: getColumnLabel(column)
|
|
94
|
-
}, column.id);
|
|
95
|
-
})]
|
|
96
|
-
})]
|
|
129
|
+
children: [enableSorting && /* @__PURE__ */_jsx(DataTableCardSortControl, {
|
|
130
|
+
table,
|
|
131
|
+
compact,
|
|
132
|
+
disabled
|
|
97
133
|
}), enableFiltering && availableColumns.length > 0 &&
|
|
98
134
|
// DataTableFilters (chrome) has no disabled API — the wrapper is the
|
|
99
135
|
// LC-40 carrier and interaction gate for the disabled table.
|
|
@@ -110,5 +146,5 @@ function DataTableCardControls(param) {
|
|
|
110
146
|
})]
|
|
111
147
|
});
|
|
112
148
|
}
|
|
113
|
-
export { DataTableCardControls };
|
|
149
|
+
export { DataTableCardControls, DataTableCardSortControl };
|
|
114
150
|
//# sourceMappingURL=DataTableCardControls.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","CaretDownIcon","CaretUpDownIcon","DropdownMenu","Button","useResolvedKnobs","useState","View","XStack","useTranslation","withInterp","DataTableFilters","dataTableChrome","getColumnLabel","column","columnDef","header","id","
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","CaretDownIcon","CaretUpDownIcon","DropdownMenu","Button","useResolvedKnobs","useState","View","XStack","useTranslation","withInterp","DataTableFilters","dataTableChrome","getColumnLabel","column","columnDef","header","id","DataTableCardSortControl","param","table","compact","disabled","contained","_table_getState_sorting","t","knobProps","component","chrome","String","sizeToken","sortMenuOpen","setSortMenuOpen","sortableColumns","getVisibleLeafColumns","filter","col","getCanSort","activeSort","getState","sorting","activeSortColumn","getColumn","sortLabel","desc","length","menu","open","onOpenChange","children","Trigger","asChild","size","icon","iconPx","minWidth","maxWidth","Content","Label","map","sorted","getIsSorted","Item","closeOnSelect","style","transform","onSelect","toggleSorting","clearSorting","flexBasis","flexGrow","flexShrink","DataTableCardControls","enableSorting","enableFiltering","availableColumns","disabledState","alignItems","flexWrap","gap","paddingVertical","role","chromeKnobProps"],"sources":["../../../../src/components/DataTable/DataTableCardControls.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -12,7 +12,7 @@ import { useDragScroll } from "../../hooks/useDragScroll.mjs";
|
|
|
12
12
|
import { useDataTableKeyboard } from "../../hooks/useDataTableKeyboard.mjs";
|
|
13
13
|
import { DataTableColumnPinning } from "../DataTableColumnPinning/index.mjs";
|
|
14
14
|
import { DataTablePagination } from "../DataTablePagination/index.mjs";
|
|
15
|
-
import { DataTableToolbar } from "../DataTableToolbar/index.mjs";
|
|
15
|
+
import { DataTableCardToolbar, DataTableToolbar } from "../DataTableToolbar/index.mjs";
|
|
16
16
|
import { DataTableBulkActions } from "../DataTableBulkActions/index.mjs";
|
|
17
17
|
import { DataTableCell } from "../DataTableCell/index.mjs";
|
|
18
18
|
import { ColumnHeaderFilter } from "../ColumnHeaderFilter/index.mjs";
|
|
@@ -20,7 +20,7 @@ import { DataTableFilterChips } from "../DataTableFilterChips/index.mjs";
|
|
|
20
20
|
import { Table } from "@multiplatform.one/table-primitives";
|
|
21
21
|
import { DataTableContext } from "./DataTableContext.mjs";
|
|
22
22
|
import { DataTableStateContext } from "./DataTableStateContext.mjs";
|
|
23
|
-
import { DataTableCardControls } from "./DataTableCardControls.mjs";
|
|
23
|
+
import { DataTableCardControls, DataTableCardSortControl } from "./DataTableCardControls.mjs";
|
|
24
24
|
import { DataTableMobileCards } from "./DataTableMobileCards.mjs";
|
|
25
25
|
import { DataTableDocumentList } from "./DataTableDocumentList.mjs";
|
|
26
26
|
import { DataTableVirtualized } from "./DataTableVirtualized.mjs";
|
|
@@ -249,6 +249,7 @@ function DataTableRoot({
|
|
|
249
249
|
flexBasis: "auto"
|
|
250
250
|
};
|
|
251
251
|
}
|
|
252
|
+
if (columnLayout === "equal" && !enableColumnResizing) return {};
|
|
252
253
|
if (hasExplicitSize || enableColumnResizing || columnLayout === "scroll") {
|
|
253
254
|
return {
|
|
254
255
|
width: col.getSize()
|
|
@@ -332,14 +333,15 @@ function DataTableRoot({
|
|
|
332
333
|
flexGrow: 0,
|
|
333
334
|
flexShrink: 0,
|
|
334
335
|
flexBasis: "auto",
|
|
335
|
-
minWidth:
|
|
336
|
+
minWidth: 0
|
|
336
337
|
};
|
|
337
338
|
}
|
|
338
339
|
if (enableColumnResizing) {
|
|
339
340
|
return {
|
|
340
341
|
flexGrow: 0,
|
|
341
342
|
flexShrink: 0,
|
|
342
|
-
flexBasis: "auto"
|
|
343
|
+
flexBasis: "auto",
|
|
344
|
+
minWidth: 0
|
|
343
345
|
};
|
|
344
346
|
}
|
|
345
347
|
return {
|
|
@@ -807,6 +809,9 @@ function DataTableRoot({
|
|
|
807
809
|
selectAllScope,
|
|
808
810
|
filterUi
|
|
809
811
|
}), [table, state, actions, computed, selectAllScope, filterUi]);
|
|
812
|
+
const hasCardSort = showCards && enableSorting && table.getVisibleLeafColumns().some(column => column.getCanSort());
|
|
813
|
+
const defaultCardToolbar = showCards && !renderToolbar;
|
|
814
|
+
const ToolbarComponent = defaultCardToolbar ? DataTableCardToolbar : DataTableToolbar;
|
|
810
815
|
const renderToolbarComponent = () => {
|
|
811
816
|
const activeFilterCount = table.getState().columnFilters?.length || 0;
|
|
812
817
|
if (renderToolbar) {
|
|
@@ -823,10 +828,16 @@ function DataTableRoot({
|
|
|
823
828
|
isFetching: Boolean(state.isFetching)
|
|
824
829
|
});
|
|
825
830
|
}
|
|
826
|
-
return /* @__PURE__ */jsx(
|
|
831
|
+
return /* @__PURE__ */jsx(ToolbarComponent, {
|
|
827
832
|
globalFilter: state.globalFilter || "",
|
|
828
833
|
onGlobalFilterChange: actions.setGlobalFilter,
|
|
829
834
|
onClearFilters: actions.clearFilters,
|
|
835
|
+
customActions: defaultCardToolbar && hasCardSort ? /* @__PURE__ */jsx(DataTableCardSortControl, {
|
|
836
|
+
table,
|
|
837
|
+
compact: isCompact,
|
|
838
|
+
disabled,
|
|
839
|
+
contained: true
|
|
840
|
+
}) : void 0,
|
|
830
841
|
activeFilterCount,
|
|
831
842
|
onSaveView: actions.saveView,
|
|
832
843
|
onLoadView: actions.loadView,
|
|
@@ -857,7 +868,7 @@ function DataTableRoot({
|
|
|
857
868
|
});
|
|
858
869
|
};
|
|
859
870
|
const renderInner = (tableData, effectiveHandleAddRow, effectiveHandleDeleteRow, _effectiveHandleCellChange) => {
|
|
860
|
-
const hasToolbar = enableGlobalSearch || enableFiltering || enableViews;
|
|
871
|
+
const hasToolbar = enableGlobalSearch || enableFiltering || enableViews || defaultCardToolbar && hasCardSort;
|
|
861
872
|
const scrollContainerRef = useRef(null);
|
|
862
873
|
const tableBodyRef = useRef(null);
|
|
863
874
|
const [bodyClipped, setBodyClipped] = useState(false);
|
|
@@ -964,7 +975,7 @@ function DataTableRoot({
|
|
|
964
975
|
getRowPressProps
|
|
965
976
|
} : {})
|
|
966
977
|
}) : showCards ? /* @__PURE__ */jsxs(Fragment, {
|
|
967
|
-
children: [/* @__PURE__ */jsx(DataTableCardControls, {
|
|
978
|
+
children: [!defaultCardToolbar && /* @__PURE__ */jsx(DataTableCardControls, {
|
|
968
979
|
table,
|
|
969
980
|
enableSorting,
|
|
970
981
|
enableFiltering,
|
|
@@ -1169,25 +1180,40 @@ function DataTableRoot({
|
|
|
1169
1180
|
} : {}),
|
|
1170
1181
|
children: [/* @__PURE__ */jsxs(View, {
|
|
1171
1182
|
flexDirection: "row",
|
|
1183
|
+
flexWrap: "wrap",
|
|
1172
1184
|
gap: "$2",
|
|
1173
1185
|
alignItems: "center",
|
|
1174
1186
|
justifyContent: isRightAligned ? "flex-end" : "space-between",
|
|
1175
1187
|
flex: 1,
|
|
1188
|
+
minWidth: 0,
|
|
1176
1189
|
children: [/* @__PURE__ */jsxs(View, {
|
|
1177
1190
|
flexDirection: "row",
|
|
1178
1191
|
gap: "$2",
|
|
1179
1192
|
alignItems: "center",
|
|
1180
|
-
|
|
1193
|
+
flexGrow: isRightAligned ? 0 : 1,
|
|
1194
|
+
flexShrink: 1,
|
|
1195
|
+
flexBasis: "auto",
|
|
1196
|
+
minWidth: 0,
|
|
1181
1197
|
justifyContent: isRightAligned ? "flex-end" : void 0,
|
|
1182
1198
|
children: [/* @__PURE__ */jsx(Text, {
|
|
1183
1199
|
fontSize: knobProps.sizeToken,
|
|
1184
1200
|
userSelect: "none",
|
|
1201
|
+
flexShrink: 1,
|
|
1202
|
+
minWidth: 0,
|
|
1203
|
+
textAlign: isRightAligned ? "right" : void 0,
|
|
1204
|
+
"data-header-label": "",
|
|
1205
|
+
...(isWeb ? {
|
|
1206
|
+
style: {
|
|
1207
|
+
overflowWrap: "anywhere"
|
|
1208
|
+
}
|
|
1209
|
+
} : {}),
|
|
1185
1210
|
children: header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())
|
|
1186
1211
|
}), isSortableHeader && /* @__PURE__ */jsx(Tooltip, {
|
|
1187
1212
|
content: sortDirection === "asc" ? t("Sorted ascending (click to sort descending)") : sortDirection === "desc" ? t("Sorted descending (click to clear)") : t("Click to sort (Shift+click for multi-sort)"),
|
|
1188
1213
|
children: /* @__PURE__ */jsxs(View, {
|
|
1189
1214
|
"aria-hidden": true,
|
|
1190
1215
|
role: "presentation",
|
|
1216
|
+
flexShrink: 0,
|
|
1191
1217
|
children: [sortDirection === "asc" && /* @__PURE__ */jsx(CaretDownIcon, {
|
|
1192
1218
|
size: chrome.iconPx,
|
|
1193
1219
|
color: "var(--color11)"
|
|
@@ -1207,6 +1233,7 @@ function DataTableRoot({
|
|
|
1207
1233
|
flexDirection: "row",
|
|
1208
1234
|
gap: "$1",
|
|
1209
1235
|
alignItems: "center",
|
|
1236
|
+
flexShrink: 0,
|
|
1210
1237
|
children: [enableFiltering && header.column.getCanFilter() && /* @__PURE__ */jsx(ColumnHeaderFilter, {
|
|
1211
1238
|
columnId: header.column.id,
|
|
1212
1239
|
columnLabel: typeof header.column.columnDef.header === "string" ? header.column.columnDef.header : header.column.id,
|
|
@@ -1459,13 +1486,41 @@ function DataTableRoot({
|
|
|
1459
1486
|
}
|
|
1460
1487
|
})]
|
|
1461
1488
|
}), hasFooter && /* @__PURE__ */jsx(Table.Foot, {
|
|
1462
|
-
children: footerGroups.map(footerGroup => /* @__PURE__ */
|
|
1463
|
-
children:
|
|
1489
|
+
children: footerGroups.map(footerGroup => /* @__PURE__ */jsxs(Table.Row, {
|
|
1490
|
+
children: [enableRowSelection && /* @__PURE__ */jsx(Table.Cell, {
|
|
1491
|
+
cellWidth: selectionColWidth,
|
|
1492
|
+
cellHeight,
|
|
1493
|
+
cellLocation: "first"
|
|
1494
|
+
}), showRowNumbers && /* @__PURE__ */jsx(Table.Cell, {
|
|
1495
|
+
cellWidth: chrome.rowNumberCol,
|
|
1496
|
+
cellHeight,
|
|
1497
|
+
cellLocation: enableRowSelection ? "middle" : "first"
|
|
1498
|
+
}), enableRowExpansion && /* @__PURE__ */jsx(Table.Cell, {
|
|
1499
|
+
cellWidth: chrome.expandCol,
|
|
1500
|
+
cellHeight,
|
|
1501
|
+
cellLocation: enableRowSelection || showRowNumbers ? "middle" : "first"
|
|
1502
|
+
}), footerGroup.headers.map(header => {
|
|
1503
|
+
const stickyStyle = getStickyStyle(header.column.id);
|
|
1464
1504
|
const columnAlign = resolveColumnAlign({
|
|
1465
1505
|
...header.column.columnDef,
|
|
1466
1506
|
id: header.column.id
|
|
1467
1507
|
});
|
|
1468
1508
|
return /* @__PURE__ */jsx(Table.Cell, {
|
|
1509
|
+
...cellFlexProps,
|
|
1510
|
+
...getColSizeProps(header.column),
|
|
1511
|
+
...(isWeb && stickyStyle ? {
|
|
1512
|
+
style: {
|
|
1513
|
+
position: "sticky",
|
|
1514
|
+
...("insetInlineStart" in stickyStyle && {
|
|
1515
|
+
insetInlineStart: stickyStyle.insetInlineStart
|
|
1516
|
+
}),
|
|
1517
|
+
...("insetInlineEnd" in stickyStyle && {
|
|
1518
|
+
insetInlineEnd: stickyStyle.insetInlineEnd
|
|
1519
|
+
}),
|
|
1520
|
+
zIndex: 2,
|
|
1521
|
+
backgroundColor: "var(--color2)"
|
|
1522
|
+
}
|
|
1523
|
+
} : {}),
|
|
1469
1524
|
justifyContent: alignToFlex(columnAlign),
|
|
1470
1525
|
"data-align": columnAlign,
|
|
1471
1526
|
children: header.isPlaceholder ? null : /* @__PURE__ */jsx(View, {
|
|
@@ -1481,7 +1536,11 @@ function DataTableRoot({
|
|
|
1481
1536
|
children: flexRender(header.column.columnDef.footer, header.getContext())
|
|
1482
1537
|
})
|
|
1483
1538
|
}, header.id);
|
|
1484
|
-
})
|
|
1539
|
+
}), showDeleteRow && !readOnly && /* @__PURE__ */jsx(Table.Cell, {
|
|
1540
|
+
cellWidth: chrome.deleteCol,
|
|
1541
|
+
cellHeight,
|
|
1542
|
+
cellLocation: "last"
|
|
1543
|
+
})]
|
|
1485
1544
|
}, footerGroup.id))
|
|
1486
1545
|
})]
|
|
1487
1546
|
})
|