@multiplatform.one/table 7.8.0 → 7.11.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 +60 -0
- 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/DataTableMobileCards.cjs +100 -33
- package/dist/cjs/components/DataTable/DataTableMobileCards.native.js +139 -38
- package/dist/cjs/components/DataTable/DataTableMobileCards.native.js.map +1 -1
- package/dist/cjs/components/DataTable/DataTableRoot.cjs +51 -8
- package/dist/cjs/components/DataTable/DataTableRoot.native.js +53 -9
- package/dist/cjs/components/DataTable/DataTableRoot.native.js.map +1 -1
- package/dist/cjs/components/DataTable/index.native.js +59 -93
- package/dist/cjs/components/DataTable/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/DataTableToolbar/index.cjs +178 -101
- package/dist/cjs/components/DataTableToolbar/index.native.js +187 -109
- package/dist/cjs/components/DataTableToolbar/index.native.js.map +1 -1
- package/dist/cjs/hooks/useDataTable.cjs +32 -1
- package/dist/cjs/hooks/useDataTable.native.js +37 -1
- package/dist/cjs/hooks/useDataTable.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/DataTableMobileCards.mjs +99 -34
- package/dist/esm/components/DataTable/DataTableMobileCards.mjs.map +1 -1
- package/dist/esm/components/DataTable/DataTableMobileCards.native.js +138 -39
- package/dist/esm/components/DataTable/DataTableMobileCards.native.js.map +1 -1
- package/dist/esm/components/DataTable/DataTableRoot.mjs +53 -10
- package/dist/esm/components/DataTable/DataTableRoot.mjs.map +1 -1
- package/dist/esm/components/DataTable/DataTableRoot.native.js +55 -11
- package/dist/esm/components/DataTable/DataTableRoot.native.js.map +1 -1
- package/dist/esm/components/DataTable/index.native.js +60 -94
- package/dist/esm/components/DataTable/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/DataTableToolbar/index.mjs +180 -104
- package/dist/esm/components/DataTableToolbar/index.mjs.map +1 -1
- package/dist/esm/components/DataTableToolbar/index.native.js +189 -112
- package/dist/esm/components/DataTableToolbar/index.native.js.map +1 -1
- package/dist/esm/hooks/useDataTable.mjs +32 -1
- package/dist/esm/hooks/useDataTable.mjs.map +1 -1
- package/dist/esm/hooks/useDataTable.native.js +37 -1
- package/dist/esm/hooks/useDataTable.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/DataTableMobileCards.mjs +99 -34
- package/dist/jsx/components/DataTable/DataTableMobileCards.mjs.map +1 -1
- package/dist/jsx/components/DataTable/DataTableMobileCards.native.js +139 -38
- package/dist/jsx/components/DataTable/DataTableMobileCards.native.js.map +1 -1
- package/dist/jsx/components/DataTable/DataTableRoot.mjs +53 -10
- package/dist/jsx/components/DataTable/DataTableRoot.mjs.map +1 -1
- package/dist/jsx/components/DataTable/DataTableRoot.native.js +53 -9
- package/dist/jsx/components/DataTable/DataTableRoot.native.js.map +1 -1
- package/dist/jsx/components/DataTable/index.native.js +59 -93
- package/dist/jsx/components/DataTable/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/DataTableToolbar/index.mjs +180 -104
- package/dist/jsx/components/DataTableToolbar/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableToolbar/index.native.js +187 -109
- package/dist/jsx/components/DataTableToolbar/index.native.js.map +1 -1
- package/dist/jsx/hooks/useDataTable.mjs +32 -1
- package/dist/jsx/hooks/useDataTable.mjs.map +1 -1
- package/dist/jsx/hooks/useDataTable.native.js +37 -1
- package/dist/jsx/hooks/useDataTable.native.js.map +1 -1
- package/package.json +14 -14
- package/src/components/DataTable/DataTable.spec.tsx +5 -3
- package/src/components/DataTable/DataTable.stories.tsx +59 -0
- package/src/components/DataTable/DataTableCardControls.stories.tsx +61 -2
- package/src/components/DataTable/DataTableCardControls.tsx +92 -66
- package/src/components/DataTable/DataTableMobileCards.tsx +162 -39
- package/src/components/DataTable/DataTableRoot.tsx +82 -14
- package/src/components/DataTable/cardLayout.spec.tsx +23 -11
- 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 +50 -2
- package/src/components/DataTable/footerLayout.spec.tsx +250 -0
- package/src/components/DataTable/index.native.tsx +80 -124
- package/src/components/DataTable/nativeCardParity.spec.tsx +95 -0
- package/src/components/DataTable/pinningGeometry.spec.tsx +66 -1
- package/src/components/DataTableExport/DataTableExport.spec.tsx +42 -18
- package/src/components/DataTableFilterButton/index.tsx +9 -0
- package/src/components/DataTableToolbar/index.tsx +184 -105
- package/src/hooks/useDataTable.spec.ts +114 -0
- package/src/hooks/useDataTable.ts +23 -1
- package/src/types.ts +14 -12
- package/types/components/DataTable/DataTableCardControls.d.ts +3 -0
- package/types/components/DataTable/DataTableCardControls.d.ts.map +1 -1
- package/types/components/DataTable/DataTableMobileCards.d.ts +42 -8
- package/types/components/DataTable/DataTableMobileCards.d.ts.map +1 -1
- package/types/components/DataTable/DataTableRoot.d.ts.map +1 -1
- package/types/components/DataTable/index.native.d.ts +1 -1
- package/types/components/DataTable/index.native.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/DataTableToolbar/index.d.ts +1 -0
- package/types/components/DataTableToolbar/index.d.ts.map +1 -1
- package/types/hooks/useDataTable.d.ts.map +1 -1
- package/types/types.d.ts +14 -12
- package/types/types.d.ts.map +1 -1
|
@@ -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":[]}
|
|
@@ -3,7 +3,7 @@ import { EmptyState } from "@multiplatform.one/components";
|
|
|
3
3
|
import { Button, Checkbox } from "@multiplatform.one/forms";
|
|
4
4
|
import { hairline, useResolvedKnobs } from "@multiplatform.one/theme";
|
|
5
5
|
import { useCallback } from "react";
|
|
6
|
-
import { Text, View, XStack } from "tamagui";
|
|
6
|
+
import { Text, View, VisuallyHidden, XStack } from "tamagui";
|
|
7
7
|
import { useTranslation } from "react-i18next";
|
|
8
8
|
import { TableCellContext } from "@multiplatform.one/table-primitives";
|
|
9
9
|
import { withInterp } from "../../utils/withInterp.mjs";
|
|
@@ -15,6 +15,27 @@ function getColumnLabel(cell) {
|
|
|
15
15
|
if (typeof metaLabel === "string" && metaLabel) return metaLabel;
|
|
16
16
|
return typeof columnDef.header === "string" ? columnDef.header : columnDef.id || cell.column.id;
|
|
17
17
|
}
|
|
18
|
+
const selfNamingFields = /* @__PURE__ */new Set(["checkbox", "switch", "rating", "progress", "image", "signature", "fileupload", "colorpicker", "barcode", "geolocation"]);
|
|
19
|
+
const indicatorIds = /* @__PURE__ */new Set(["status", "priority", "workflow_state", "state"]);
|
|
20
|
+
const dateLike = /^\d{4}-\d{2}-\d{2}([T ]|$)|^\d{1,2}\/\d{1,2}\/\d{2,4}$/;
|
|
21
|
+
const numberLike = /^[+\-−]?[\d,\s]*\d(\.\d+)?%?$/;
|
|
22
|
+
function classifyCardField(cell) {
|
|
23
|
+
const def = cell.column.columnDef;
|
|
24
|
+
const id = String(cell.column.id ?? "");
|
|
25
|
+
const role = def.meta?.role;
|
|
26
|
+
if (role === "hidden" || role === "skip") return "skip";
|
|
27
|
+
if (role === "actions" || id.startsWith("_") || def.field && selfNamingFields.has(def.field)) {
|
|
28
|
+
return "control";
|
|
29
|
+
}
|
|
30
|
+
const raw = typeof cell.getValue === "function" ? cell.getValue() : void 0;
|
|
31
|
+
if (raw == null || typeof raw === "string" && raw.trim() === "") return "skip";
|
|
32
|
+
if (role === "indicator" || indicatorIds.has(id)) return "bare";
|
|
33
|
+
if (typeof raw === "string") {
|
|
34
|
+
const value = raw.trim();
|
|
35
|
+
return numberLike.test(value) || dateLike.test(value) ? "figure" : "bare";
|
|
36
|
+
}
|
|
37
|
+
return "figure";
|
|
38
|
+
}
|
|
18
39
|
function DataTableMobileCards({
|
|
19
40
|
tableRows,
|
|
20
41
|
enableRowSelection = false,
|
|
@@ -45,17 +66,29 @@ function DataTableMobileCards({
|
|
|
45
66
|
compact
|
|
46
67
|
});
|
|
47
68
|
const tableZebraOn = knobProps.tableZebra === "on";
|
|
69
|
+
const renderCell = useCallback((cell, index, rowData) => /* @__PURE__ */jsx(TableCellContext.Provider, {
|
|
70
|
+
value: {
|
|
71
|
+
inTableCell: true,
|
|
72
|
+
isHeader: false
|
|
73
|
+
},
|
|
74
|
+
children: renderCellContent(cell, index, rowData)
|
|
75
|
+
}), [renderCellContent]);
|
|
48
76
|
const renderMobileCard = useCallback((row, index) => {
|
|
49
77
|
const rowData = row.original;
|
|
50
78
|
const visibleCells = row.getVisibleCells();
|
|
51
79
|
const [titleCell, ...detailCells] = visibleCells;
|
|
52
80
|
const showDelete = showDeleteRow && !readOnly;
|
|
81
|
+
const bare = [];
|
|
82
|
+
const figures = [];
|
|
83
|
+
const controls = [];
|
|
84
|
+
for (const cell of detailCells) {
|
|
85
|
+
const kind = classifyCardField(cell);
|
|
86
|
+
if (kind === "bare") bare.push(cell);else if (kind === "figure") figures.push(cell);else if (kind === "control") controls.push(cell);
|
|
87
|
+
}
|
|
88
|
+
const hasBody = bare.length > 0 || figures.length > 0 || controls.length > 0;
|
|
53
89
|
return /* @__PURE__ */jsxs(View, {
|
|
54
90
|
testID: "data-table-card",
|
|
55
|
-
...knobProps.surface,
|
|
56
91
|
...knobProps.cardSurface,
|
|
57
|
-
elevation: knobProps.elevation,
|
|
58
|
-
borderColor: "$color6",
|
|
59
92
|
...(tableZebraOn && index % 2 === 1 ? {
|
|
60
93
|
backgroundColor: "$color2"
|
|
61
94
|
} : {}),
|
|
@@ -67,7 +100,7 @@ function DataTableMobileCards({
|
|
|
67
100
|
children: [/* @__PURE__ */jsxs(XStack, {
|
|
68
101
|
alignItems: "center",
|
|
69
102
|
gap: "$2",
|
|
70
|
-
...(
|
|
103
|
+
...(hasBody ? {
|
|
71
104
|
paddingBottom: "$2",
|
|
72
105
|
marginBottom: "$2",
|
|
73
106
|
...hairline.bottom,
|
|
@@ -92,16 +125,11 @@ function DataTableMobileCards({
|
|
|
92
125
|
flex: 1,
|
|
93
126
|
minWidth: 0,
|
|
94
127
|
"aria-label": getColumnLabel(titleCell),
|
|
128
|
+
accessibilityLabel: getColumnLabel(titleCell),
|
|
95
129
|
...{
|
|
96
130
|
"data-card-slot": "title"
|
|
97
131
|
},
|
|
98
|
-
children:
|
|
99
|
-
value: {
|
|
100
|
-
inTableCell: true,
|
|
101
|
-
isHeader: false
|
|
102
|
-
},
|
|
103
|
-
children: renderCellContent(titleCell, index, rowData)
|
|
104
|
-
})
|
|
132
|
+
children: renderCell(titleCell, index, rowData)
|
|
105
133
|
}) : /* @__PURE__ */jsx(View, {
|
|
106
134
|
flex: 1
|
|
107
135
|
}), showRowNumbers && /* @__PURE__ */jsxs(Text, {
|
|
@@ -122,32 +150,69 @@ function DataTableMobileCards({
|
|
|
122
150
|
row: index + 1
|
|
123
151
|
})
|
|
124
152
|
})]
|
|
125
|
-
}),
|
|
126
|
-
|
|
153
|
+
}), bare.length > 0 ? /* @__PURE__ */jsx(XStack, {
|
|
154
|
+
flexWrap: "wrap",
|
|
127
155
|
alignItems: "center",
|
|
128
|
-
paddingVertical: "$1.5",
|
|
129
156
|
gap: "$2",
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
}), /* @__PURE__ */jsx(View, {
|
|
138
|
-
flex: 1,
|
|
157
|
+
...{
|
|
158
|
+
"data-card-slot": "meta"
|
|
159
|
+
},
|
|
160
|
+
children: bare.map((cell, i) => /* @__PURE__ */jsxs(XStack, {
|
|
161
|
+
alignItems: "center",
|
|
162
|
+
gap: "$2",
|
|
163
|
+
flexShrink: 1,
|
|
139
164
|
minWidth: 0,
|
|
140
|
-
children: /* @__PURE__ */jsx(
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
children:
|
|
146
|
-
})
|
|
147
|
-
|
|
165
|
+
children: [/* @__PURE__ */jsx(VisuallyHidden, {
|
|
166
|
+
children: `${getColumnLabel(cell)}: `
|
|
167
|
+
}), /* @__PURE__ */jsx(View, {
|
|
168
|
+
flexShrink: 1,
|
|
169
|
+
minWidth: 0,
|
|
170
|
+
children: renderCell(cell, index, rowData)
|
|
171
|
+
}), i < bare.length - 1 ? /* @__PURE__ */jsx(Text, {
|
|
172
|
+
fontSize: knobProps.sizeToken,
|
|
173
|
+
color: "$color8",
|
|
174
|
+
"aria-hidden": true,
|
|
175
|
+
accessibilityElementsHidden: true,
|
|
176
|
+
importantForAccessibility: "no-hide-descendants",
|
|
177
|
+
children: "\xB7"
|
|
178
|
+
}) : null]
|
|
179
|
+
}, cell.id))
|
|
180
|
+
}) : null, figures.length > 0 ? /* @__PURE__ */jsx(XStack, {
|
|
181
|
+
flexWrap: "wrap",
|
|
182
|
+
alignItems: "center",
|
|
183
|
+
gap: "$3",
|
|
184
|
+
paddingTop: bare.length > 0 ? "$1.5" : 0,
|
|
185
|
+
...{
|
|
186
|
+
"data-card-slot": "figure"
|
|
187
|
+
},
|
|
188
|
+
children: figures.map(cell => /* @__PURE__ */jsxs(XStack, {
|
|
189
|
+
alignItems: "center",
|
|
190
|
+
gap: "$1.5",
|
|
191
|
+
flexShrink: 1,
|
|
192
|
+
minWidth: 0,
|
|
193
|
+
children: [/* @__PURE__ */jsx(Text, {
|
|
194
|
+
fontSize: knobProps.sizeToken,
|
|
195
|
+
color: "$color10",
|
|
196
|
+
fontWeight: "500",
|
|
197
|
+
children: getColumnLabel(cell)
|
|
198
|
+
}), /* @__PURE__ */jsx(View, {
|
|
199
|
+
flexShrink: 1,
|
|
200
|
+
minWidth: 0,
|
|
201
|
+
children: renderCell(cell, index, rowData)
|
|
202
|
+
})]
|
|
203
|
+
}, cell.id))
|
|
204
|
+
}) : null, controls.map(cell => /* @__PURE__ */jsxs(View, {
|
|
205
|
+
paddingTop: "$2",
|
|
206
|
+
minWidth: 0,
|
|
207
|
+
...{
|
|
208
|
+
"data-card-slot": "control"
|
|
209
|
+
},
|
|
210
|
+
children: [/* @__PURE__ */jsx(VisuallyHidden, {
|
|
211
|
+
children: `${getColumnLabel(cell)}: `
|
|
212
|
+
}), renderCell(cell, index, rowData)]
|
|
148
213
|
}, cell.id))]
|
|
149
214
|
}, `${row.id}-${index}`);
|
|
150
|
-
}, [enableRowSelection, showRowNumbers, showDeleteRow, readOnly, disabled, dataLength, minRows,
|
|
215
|
+
}, [enableRowSelection, showRowNumbers, showDeleteRow, readOnly, disabled, dataLength, minRows, renderCell, onDeleteRow, compact, knobProps, tableZebraOn, t, selectRowLabel, getRowPressProps]);
|
|
151
216
|
return /* @__PURE__ */jsxs(View, {
|
|
152
217
|
flexDirection: "column",
|
|
153
218
|
...knobProps.gap,
|
|
@@ -185,5 +250,5 @@ function DataTableMobileCards({
|
|
|
185
250
|
}) : tableRows.map((row, index) => renderMobileCard(row, index))]
|
|
186
251
|
});
|
|
187
252
|
}
|
|
188
|
-
export { DataTableMobileCards };
|
|
253
|
+
export { DataTableMobileCards, classifyCardField, getColumnLabel };
|
|
189
254
|
//# sourceMappingURL=DataTableMobileCards.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TrashIcon","EmptyState","Button","Checkbox","hairline","useResolvedKnobs","useCallback","Text","View","XStack","useTranslation","TableCellContext","withInterp","rowIntentProps","jsx","jsxs","getColumnLabel","cell","columnDef","column","metaLabel","meta","label","header","id","DataTableMobileCards","tableRows","enableRowSelection","showRowNumbers","showDeleteRow","readOnly","disabled","dataLength","minRows","hasActiveFilters","renderCellContent","onDeleteRow","selectAllChecked","selectAllIndeterminate","onToggleSelectAll","compact","selectRowLabel","getRowPressProps","queryInFlight","t","knobProps","component","tableZebraOn","tableZebra","
|
|
1
|
+
{"version":3,"names":["TrashIcon","EmptyState","Button","Checkbox","hairline","useResolvedKnobs","useCallback","Text","View","VisuallyHidden","XStack","useTranslation","TableCellContext","withInterp","rowIntentProps","jsx","jsxs","getColumnLabel","cell","columnDef","column","metaLabel","meta","label","header","id","selfNamingFields","Set","indicatorIds","dateLike","numberLike","classifyCardField","def","String","role","startsWith","field","has","raw","getValue","trim","value","test","DataTableMobileCards","tableRows","enableRowSelection","showRowNumbers","showDeleteRow","readOnly","disabled","dataLength","minRows","hasActiveFilters","renderCellContent","onDeleteRow","selectAllChecked","selectAllIndeterminate","onToggleSelectAll","compact","selectRowLabel","getRowPressProps","queryInFlight","t","knobProps","component","tableZebraOn","tableZebra","renderCell","index","rowData","Provider","inTableCell","isHeader","children","renderMobileCard","row","original","visibleCells","getVisibleCells","titleCell","detailCells","showDelete","bare","figures","controls","kind","push","hasBody","length","testID","cardSurface","backgroundColor","alignItems","gap","paddingBottom","marginBottom","bottom","borderBottomColor","checked","getIsSelected","onChange","toggleSelected","checkboxProps","flex","minWidth","accessibilityLabel","fontSize","sizeToken","color","fontWeight","chromeless","circular","size","icon","onPress","flexWrap","map","i","flexShrink","accessibilityElementsHidden","importantForAccessibility","paddingTop","flexDirection","shouldSelect","borderRadius","title"],"sources":["../../../../src/components/DataTable/DataTableMobileCards.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|