@multiplatform.one/table 6.4.3 → 6.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/ChildTable/index.native.js +1 -1
- package/dist/cjs/components/ChildTable/index.native.js.map +1 -1
- package/dist/cjs/components/ColumnHeaderFilter/index.cjs +1 -0
- package/dist/cjs/components/ColumnHeaderFilter/index.native.js +2 -1
- package/dist/cjs/components/ColumnHeaderFilter/index.native.js.map +1 -1
- package/dist/cjs/components/DataTable/DataTableCardControls.native.js +1 -1
- package/dist/cjs/components/DataTable/DataTableCardControls.native.js.map +1 -1
- package/dist/cjs/components/DataTable/DataTableContext.native.js.map +1 -1
- package/dist/cjs/components/DataTable/DataTableMobileCards.cjs +9 -3
- package/dist/cjs/components/DataTable/DataTableMobileCards.native.js +12 -3
- package/dist/cjs/components/DataTable/DataTableMobileCards.native.js.map +1 -1
- package/dist/cjs/components/DataTable/DataTableRoot.cjs +133 -13
- package/dist/cjs/components/DataTable/DataTableRoot.native.js +166 -20
- package/dist/cjs/components/DataTable/DataTableRoot.native.js.map +1 -1
- package/dist/cjs/components/DataTable/DataTableStateContext.native.js.map +1 -1
- package/dist/cjs/components/DataTable/DataTableVirtualized.cjs +3 -1
- package/dist/cjs/components/DataTable/DataTableVirtualized.native.js +3 -1
- package/dist/cjs/components/DataTable/DataTableVirtualized.native.js.map +1 -1
- package/dist/cjs/components/DataTable/index.native.js +49 -12
- package/dist/cjs/components/DataTable/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableBulkActions/index.cjs +16 -1
- package/dist/cjs/components/DataTableBulkActions/index.native.js +20 -1
- package/dist/cjs/components/DataTableBulkActions/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableCell/CellModalEditor.cjs +4 -8
- package/dist/cjs/components/DataTableCell/CellOptionsEditor.native.js.map +1 -1
- package/dist/cjs/components/DataTableCell/index.cjs +1 -33
- package/dist/cjs/components/DataTableCell/index.native.js +1 -34
- package/dist/cjs/components/DataTableCell/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableColumnPinning/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableDateFilter/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableExport/index.cjs +1 -0
- package/dist/cjs/components/DataTableExport/index.native.js +1 -0
- package/dist/cjs/components/DataTableExport/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableFilterButton/index.cjs +1 -1
- package/dist/cjs/components/DataTableFilterButton/index.native.js +5 -2
- package/dist/cjs/components/DataTableFilterButton/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableFilterChips/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableFilters/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableGrouping/index.cjs +1 -0
- package/dist/cjs/components/DataTableGrouping/index.native.js +1 -0
- package/dist/cjs/components/DataTableGrouping/index.native.js.map +1 -1
- package/dist/cjs/components/DataTablePagination/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableSearch/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableToolbar/index.cjs +1 -0
- package/dist/cjs/components/DataTableToolbar/index.native.js +2 -1
- package/dist/cjs/components/DataTableToolbar/index.native.js.map +1 -1
- package/dist/cjs/components/DataTableViewOptions/index.native.js.map +1 -1
- package/dist/cjs/components/FilterManager.cjs +18 -14
- package/dist/cjs/components/FilterManager.native.js +18 -14
- package/dist/cjs/components/FilterManager.native.js.map +1 -1
- package/dist/cjs/components/FilterOperatorValueEditor/index.native.js.map +1 -1
- package/dist/cjs/components/KnobDialog.native.js.map +1 -1
- package/dist/cjs/components/SavedFilterDropdown.native.js.map +1 -1
- package/dist/cjs/components/SimpleTable/index.native.js.map +1 -1
- package/dist/cjs/components/TableInput/index.native.js +4 -1
- package/dist/cjs/components/TableInput/index.native.js.map +1 -1
- package/dist/cjs/components/TableInput/shared.native.js.map +1 -1
- package/dist/cjs/hooks/useDataTable.cjs +17 -1
- package/dist/cjs/hooks/useDataTable.native.js +19 -1
- package/dist/cjs/hooks/useDataTable.native.js.map +1 -1
- package/dist/cjs/hooks/useDataTableKeyboard.native.js.map +1 -1
- package/dist/cjs/hooks/useDragScroll.native.js.map +1 -1
- package/dist/cjs/hooks/useInfiniteRows.native.js.map +1 -1
- package/dist/cjs/hooks/useSavedFilters.native.js.map +1 -1
- package/dist/cjs/hooks/useTableColumnPinning.native.js.map +1 -1
- package/dist/cjs/hooks/useTableFiltering.native.js.map +1 -1
- package/dist/cjs/hooks/useTableGrouping.native.js.map +1 -1
- package/dist/cjs/hooks/useTableKeyboard.native.js.map +1 -1
- package/dist/cjs/hooks/useTablePagination.native.js.map +1 -1
- package/dist/cjs/hooks/useTableSearch.native.js.map +1 -1
- package/dist/cjs/hooks/useTableSelection.native.js.map +1 -1
- package/dist/cjs/hooks/useTableSorting.native.js.map +1 -1
- package/dist/cjs/hooks/useTableUrlSync.native.js.map +1 -1
- package/dist/cjs/hooks/useTableViews.native.js.map +1 -1
- package/dist/cjs/shared/t.native.js.map +1 -1
- package/dist/cjs/shims/primitives.native.js.map +1 -1
- package/dist/cjs/shims/tableCellContext.native.js.map +1 -1
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/utils/columnAlign.native.js.map +1 -1
- package/dist/cjs/utils/filterFields.native.js.map +1 -1
- package/dist/cjs/utils/filterUtils.native.js.map +1 -1
- package/dist/cjs/utils/paginationDefaults.native.js.map +1 -1
- package/dist/cjs/utils/rowPress.cjs +44 -0
- package/dist/cjs/utils/rowPress.native.js +56 -0
- package/dist/cjs/utils/rowPress.native.js.map +1 -0
- package/dist/cjs/utils/urlStateUtils.native.js.map +1 -1
- package/dist/cjs/utils/viewData.native.js.map +1 -1
- package/dist/cjs/utils/withInterp.native.js.map +1 -1
- package/dist/esm/components/ColumnHeaderFilter/index.mjs +1 -0
- package/dist/esm/components/ColumnHeaderFilter/index.mjs.map +1 -1
- package/dist/esm/components/ColumnHeaderFilter/index.native.js +1 -0
- package/dist/esm/components/ColumnHeaderFilter/index.native.js.map +1 -1
- package/dist/esm/components/DataTable/DataTableMobileCards.mjs +9 -3
- package/dist/esm/components/DataTable/DataTableMobileCards.mjs.map +1 -1
- package/dist/esm/components/DataTable/DataTableMobileCards.native.js +12 -3
- package/dist/esm/components/DataTable/DataTableMobileCards.native.js.map +1 -1
- package/dist/esm/components/DataTable/DataTableRoot.mjs +133 -13
- package/dist/esm/components/DataTable/DataTableRoot.mjs.map +1 -1
- package/dist/esm/components/DataTable/DataTableRoot.native.js +159 -13
- package/dist/esm/components/DataTable/DataTableRoot.native.js.map +1 -1
- package/dist/esm/components/DataTable/DataTableVirtualized.mjs +3 -1
- package/dist/esm/components/DataTable/DataTableVirtualized.mjs.map +1 -1
- package/dist/esm/components/DataTable/DataTableVirtualized.native.js +3 -1
- package/dist/esm/components/DataTable/DataTableVirtualized.native.js.map +1 -1
- package/dist/esm/components/DataTable/index.native.js +39 -2
- package/dist/esm/components/DataTable/index.native.js.map +1 -1
- package/dist/esm/components/DataTableBulkActions/index.mjs +16 -1
- package/dist/esm/components/DataTableBulkActions/index.mjs.map +1 -1
- package/dist/esm/components/DataTableBulkActions/index.native.js +20 -1
- package/dist/esm/components/DataTableBulkActions/index.native.js.map +1 -1
- package/dist/esm/components/DataTableCell/CellModalEditor.mjs +4 -8
- package/dist/esm/components/DataTableCell/CellModalEditor.mjs.map +1 -1
- package/dist/esm/components/DataTableCell/index.mjs +1 -33
- package/dist/esm/components/DataTableCell/index.mjs.map +1 -1
- package/dist/esm/components/DataTableCell/index.native.js +1 -34
- package/dist/esm/components/DataTableCell/index.native.js.map +1 -1
- package/dist/esm/components/DataTableExport/index.mjs +1 -0
- package/dist/esm/components/DataTableExport/index.mjs.map +1 -1
- package/dist/esm/components/DataTableExport/index.native.js +1 -0
- package/dist/esm/components/DataTableExport/index.native.js.map +1 -1
- package/dist/esm/components/DataTableFilterButton/index.mjs +1 -1
- package/dist/esm/components/DataTableFilterButton/index.mjs.map +1 -1
- package/dist/esm/components/DataTableFilterButton/index.native.js +4 -1
- package/dist/esm/components/DataTableFilterButton/index.native.js.map +1 -1
- package/dist/esm/components/DataTableGrouping/index.mjs +1 -0
- package/dist/esm/components/DataTableGrouping/index.mjs.map +1 -1
- package/dist/esm/components/DataTableGrouping/index.native.js +1 -0
- package/dist/esm/components/DataTableGrouping/index.native.js.map +1 -1
- package/dist/esm/components/DataTableToolbar/index.mjs +1 -0
- package/dist/esm/components/DataTableToolbar/index.mjs.map +1 -1
- package/dist/esm/components/DataTableToolbar/index.native.js +1 -0
- package/dist/esm/components/DataTableToolbar/index.native.js.map +1 -1
- package/dist/esm/components/FilterManager.mjs +18 -14
- package/dist/esm/components/FilterManager.mjs.map +1 -1
- package/dist/esm/components/FilterManager.native.js +18 -14
- package/dist/esm/components/FilterManager.native.js.map +1 -1
- package/dist/esm/components/TableInput/index.native.js +3 -0
- package/dist/esm/components/TableInput/index.native.js.map +1 -1
- package/dist/esm/hooks/useDataTable.mjs +17 -1
- package/dist/esm/hooks/useDataTable.mjs.map +1 -1
- package/dist/esm/hooks/useDataTable.native.js +19 -1
- package/dist/esm/hooks/useDataTable.native.js.map +1 -1
- package/dist/esm/utils/rowPress.mjs +19 -0
- package/dist/esm/utils/rowPress.mjs.map +1 -0
- package/dist/esm/utils/rowPress.native.js +28 -0
- package/dist/esm/utils/rowPress.native.js.map +1 -0
- package/dist/jsx/components/ColumnHeaderFilter/index.mjs +1 -0
- package/dist/jsx/components/ColumnHeaderFilter/index.mjs.map +1 -1
- package/dist/jsx/components/ColumnHeaderFilter/index.native.js +1 -0
- package/dist/jsx/components/ColumnHeaderFilter/index.native.js.map +1 -1
- package/dist/jsx/components/DataTable/DataTableMobileCards.mjs +9 -3
- package/dist/jsx/components/DataTable/DataTableMobileCards.mjs.map +1 -1
- package/dist/jsx/components/DataTable/DataTableMobileCards.native.js +12 -3
- package/dist/jsx/components/DataTable/DataTableMobileCards.native.js.map +1 -1
- package/dist/jsx/components/DataTable/DataTableRoot.mjs +133 -13
- package/dist/jsx/components/DataTable/DataTableRoot.mjs.map +1 -1
- package/dist/jsx/components/DataTable/DataTableRoot.native.js +159 -13
- package/dist/jsx/components/DataTable/DataTableRoot.native.js.map +1 -1
- package/dist/jsx/components/DataTable/DataTableVirtualized.mjs +3 -1
- package/dist/jsx/components/DataTable/DataTableVirtualized.mjs.map +1 -1
- package/dist/jsx/components/DataTable/DataTableVirtualized.native.js +3 -1
- package/dist/jsx/components/DataTable/DataTableVirtualized.native.js.map +1 -1
- package/dist/jsx/components/DataTable/index.native.js +39 -2
- package/dist/jsx/components/DataTable/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableBulkActions/index.mjs +16 -1
- package/dist/jsx/components/DataTableBulkActions/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableBulkActions/index.native.js +20 -1
- package/dist/jsx/components/DataTableBulkActions/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableCell/CellModalEditor.mjs +4 -8
- package/dist/jsx/components/DataTableCell/CellModalEditor.mjs.map +1 -1
- package/dist/jsx/components/DataTableCell/index.mjs +1 -33
- package/dist/jsx/components/DataTableCell/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableCell/index.native.js +1 -34
- package/dist/jsx/components/DataTableCell/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableExport/index.mjs +1 -0
- package/dist/jsx/components/DataTableExport/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableExport/index.native.js +1 -0
- package/dist/jsx/components/DataTableExport/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableFilterButton/index.mjs +1 -1
- package/dist/jsx/components/DataTableFilterButton/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableFilterButton/index.native.js +4 -1
- package/dist/jsx/components/DataTableFilterButton/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableGrouping/index.mjs +1 -0
- package/dist/jsx/components/DataTableGrouping/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableGrouping/index.native.js +1 -0
- package/dist/jsx/components/DataTableGrouping/index.native.js.map +1 -1
- package/dist/jsx/components/DataTableToolbar/index.mjs +1 -0
- package/dist/jsx/components/DataTableToolbar/index.mjs.map +1 -1
- package/dist/jsx/components/DataTableToolbar/index.native.js +1 -0
- package/dist/jsx/components/DataTableToolbar/index.native.js.map +1 -1
- package/dist/jsx/components/FilterManager.mjs +18 -14
- package/dist/jsx/components/FilterManager.mjs.map +1 -1
- package/dist/jsx/components/FilterManager.native.js +18 -14
- package/dist/jsx/components/FilterManager.native.js.map +1 -1
- package/dist/jsx/components/TableInput/index.native.js +3 -0
- package/dist/jsx/components/TableInput/index.native.js.map +1 -1
- package/dist/jsx/hooks/useDataTable.mjs +17 -1
- package/dist/jsx/hooks/useDataTable.mjs.map +1 -1
- package/dist/jsx/hooks/useDataTable.native.js +19 -1
- package/dist/jsx/hooks/useDataTable.native.js.map +1 -1
- package/dist/jsx/utils/rowPress.mjs +19 -0
- package/dist/jsx/utils/rowPress.mjs.map +1 -0
- package/dist/jsx/utils/rowPress.native.js +56 -0
- package/dist/jsx/utils/rowPress.native.js.map +1 -0
- package/package.json +12 -12
- package/src/components/ColumnHeaderFilter/index.tsx +1 -0
- package/src/components/DataTable/DataTable.spec.tsx +4 -1
- package/src/components/DataTable/DataTable.stories.tsx +190 -5
- package/src/components/DataTable/DataTableMobileCards.tsx +30 -4
- package/src/components/DataTable/DataTableRoot.tsx +195 -8
- package/src/components/DataTable/DataTableVirtualized.tsx +8 -0
- package/src/components/DataTable/cardLayout.spec.tsx +4 -1
- package/src/components/DataTable/customCellAlign.spec.tsx +124 -0
- package/src/components/DataTable/disabledContract.spec.tsx +4 -3
- package/src/components/DataTable/index.native.tsx +47 -1
- package/src/components/DataTable/rowPress.spec.tsx +229 -0
- package/src/components/DataTable/selectionSemantics.spec.tsx +156 -0
- package/src/components/DataTableBulkActions/index.tsx +16 -2
- package/src/components/DataTableBulkActions/selectionCountI18n.spec.tsx +94 -0
- package/src/components/DataTableCell/CellModalEditor.tsx +3 -1
- package/src/components/DataTableCell/cellDraftPolicy.spec.tsx +10 -2
- package/src/components/DataTableCell/dataTableCell.spec.tsx +10 -2
- package/src/components/DataTableCell/index.tsx +5 -36
- package/src/components/DataTableColumnPinning/DataTableColumnPinning.stories.tsx +49 -17
- package/src/components/DataTableDateFilter/DataTableDateFilter.stories.tsx +4 -3
- package/src/components/DataTableExport/DataTableExport.stories.tsx +3 -2
- package/src/components/DataTableExport/index.tsx +1 -0
- package/src/components/DataTableFilterButton/index.tsx +4 -1
- package/src/components/DataTableGrouping/DataTableGrouping.spec.tsx +59 -2
- package/src/components/DataTableGrouping/DataTableGrouping.stories.tsx +17 -5
- package/src/components/DataTableGrouping/index.tsx +1 -0
- package/src/components/DataTablePagination/DataTablePagination.stories.tsx +34 -20
- package/src/components/DataTableToolbar/index.tsx +1 -0
- package/src/components/DataTableViewOptions/DataTableViewOptions.stories.tsx +2 -1
- package/src/components/FilterManager.tsx +21 -13
- package/src/components/TableInput/index.native.tsx +3 -0
- package/src/components/__scratch__/scratch.spec.tsx +46 -0
- package/src/hooks/useDataTable.ts +27 -1
- package/src/types.ts +25 -0
- package/src/utils/rowPress.ts +58 -0
- package/types/components/ColumnHeaderFilter/index.d.ts.map +1 -1
- package/types/components/DataTable/DataTableMobileCards.d.ts +13 -1
- package/types/components/DataTable/DataTableMobileCards.d.ts.map +1 -1
- package/types/components/DataTable/DataTableRoot.d.ts +1 -1
- package/types/components/DataTable/DataTableRoot.d.ts.map +1 -1
- package/types/components/DataTable/DataTableVirtualized.d.ts +7 -1
- package/types/components/DataTable/DataTableVirtualized.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/DataTableBulkActions/index.d.ts.map +1 -1
- package/types/components/DataTableCell/CellModalEditor.d.ts.map +1 -1
- package/types/components/DataTableCell/index.d.ts.map +1 -1
- package/types/components/DataTableFilterButton/index.d.ts.map +1 -1
- package/types/components/DataTableGrouping/index.d.ts.map +1 -1
- package/types/components/DataTableToolbar/index.d.ts.map +1 -1
- package/types/components/FilterManager.d.ts +7 -1
- package/types/components/FilterManager.d.ts.map +1 -1
- package/types/components/TableInput/index.native.d.ts.map +1 -1
- package/types/hooks/useDataTable.d.ts.map +1 -1
- package/types/types.d.ts +23 -0
- package/types/types.d.ts.map +1 -1
- package/types/utils/rowPress.d.ts +20 -0
- package/types/utils/rowPress.d.ts.map +1 -0
|
@@ -27,7 +27,9 @@ function DataTableMobileCards({
|
|
|
27
27
|
selectAllChecked = false,
|
|
28
28
|
selectAllIndeterminate = false,
|
|
29
29
|
onToggleSelectAll,
|
|
30
|
-
compact = false
|
|
30
|
+
compact = false,
|
|
31
|
+
selectRowLabel,
|
|
32
|
+
getRowPressProps
|
|
31
33
|
}) {
|
|
32
34
|
const {
|
|
33
35
|
t
|
|
@@ -53,6 +55,7 @@ function DataTableMobileCards({
|
|
|
53
55
|
...{
|
|
54
56
|
"data-table-zebra": tableZebraOn ? index % 2 === 0 ? "even" : "odd" : "off"
|
|
55
57
|
},
|
|
58
|
+
...(getRowPressProps ? getRowPressProps(row, index, "card") : {}),
|
|
56
59
|
children: [/* @__PURE__ */jsxs(XStack, {
|
|
57
60
|
alignItems: "center",
|
|
58
61
|
gap: "$2",
|
|
@@ -70,7 +73,7 @@ function DataTableMobileCards({
|
|
|
70
73
|
},
|
|
71
74
|
disabled,
|
|
72
75
|
checkboxProps: {
|
|
73
|
-
"aria-label": withInterp(t("Select row {{row}}", {
|
|
76
|
+
"aria-label": selectRowLabel?.(row, index) ?? withInterp(t("Select row {{row}}", {
|
|
74
77
|
row: index + 1
|
|
75
78
|
}), {
|
|
76
79
|
row: index + 1
|
|
@@ -136,11 +139,14 @@ function DataTableMobileCards({
|
|
|
136
139
|
})]
|
|
137
140
|
}, cell.id))]
|
|
138
141
|
}, `${row.id}-${index}`);
|
|
139
|
-
}, [enableRowSelection, showRowNumbers, showDeleteRow, readOnly, disabled, dataLength, minRows, renderCellContent, onDeleteRow, compact, knobProps, tableZebraOn, t]);
|
|
142
|
+
}, [enableRowSelection, showRowNumbers, showDeleteRow, readOnly, disabled, dataLength, minRows, renderCellContent, onDeleteRow, compact, knobProps, tableZebraOn, t, selectRowLabel, getRowPressProps]);
|
|
140
143
|
return /* @__PURE__ */jsxs(View, {
|
|
141
144
|
flexDirection: "column",
|
|
142
145
|
...knobProps.gap,
|
|
143
146
|
testID: "data-table-cards",
|
|
147
|
+
...(getRowPressProps ? {
|
|
148
|
+
"data-row-press-scope": "true"
|
|
149
|
+
} : {}),
|
|
144
150
|
children: [enableRowSelection && tableRows.length > 0 && /* @__PURE__ */jsxs(XStack, {
|
|
145
151
|
alignItems: "center",
|
|
146
152
|
gap: "$2",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TrashIcon","EmptyState","Button","Checkbox","hairline","useResolvedKnobs","useCallback","Text","View","XStack","useTranslation","TableCellContext","withInterp","jsx","jsxs","getColumnLabel","cell","columnDef","column","header","id","DataTableMobileCards","tableRows","enableRowSelection","showRowNumbers","showDeleteRow","readOnly","disabled","dataLength","minRows","hasActiveFilters","renderCellContent","onDeleteRow","selectAllChecked","selectAllIndeterminate","onToggleSelectAll","compact","t","knobProps","tableZebraOn","tableZebra","renderMobileCard","row","index","rowData","original","visibleCells","getVisibleCells","titleCell","detailCells","showDelete","testID","surface","cardSurface","elevation","borderColor","backgroundColor","children","alignItems","gap","length","paddingBottom","marginBottom","bottom","borderBottomColor","checked","getIsSelected","onChange","toggleSelected","checkboxProps","flex","minWidth","Provider","value","inTableCell","isHeader","fontSize","sizeToken","color","fontWeight","chromeless","circular","size","icon","onPress","map","flexDirection","paddingVertical","width","flexShrink","shouldSelect","borderRadius","title"],"sources":["../../../../src/components/DataTable/DataTableMobileCards.tsx"],"sourcesContent":[null],"mappings":"AAiBA,SAASA,SAAA,QAAiB;AAC1B,SAASC,UAAA,QAAkB;AAC3B,SAASC,MAAA,EAAQC,QAAA,QAAgB;AACjC,SAASC,QAAA,EAAUC,gBAAA,QAAwB;AAE3C,SAASC,WAAA,QAAmB;AAC5B,SAASC,IAAA,EAAMC,IAAA,EAAMC,MAAA,QAAc;AACnC,SAASC,cAAA,QAAsB;AAC/B,SAASC,gBAAA,QAAwB;AAEjC,SAASC,UAAA,QAAkB;
|
|
1
|
+
{"version":3,"names":["TrashIcon","EmptyState","Button","Checkbox","hairline","useResolvedKnobs","useCallback","Text","View","XStack","useTranslation","TableCellContext","withInterp","jsx","jsxs","getColumnLabel","cell","columnDef","column","header","id","DataTableMobileCards","tableRows","enableRowSelection","showRowNumbers","showDeleteRow","readOnly","disabled","dataLength","minRows","hasActiveFilters","renderCellContent","onDeleteRow","selectAllChecked","selectAllIndeterminate","onToggleSelectAll","compact","selectRowLabel","getRowPressProps","t","knobProps","tableZebraOn","tableZebra","renderMobileCard","row","index","rowData","original","visibleCells","getVisibleCells","titleCell","detailCells","showDelete","testID","surface","cardSurface","elevation","borderColor","backgroundColor","children","alignItems","gap","length","paddingBottom","marginBottom","bottom","borderBottomColor","checked","getIsSelected","onChange","toggleSelected","checkboxProps","flex","minWidth","Provider","value","inTableCell","isHeader","fontSize","sizeToken","color","fontWeight","chromeless","circular","size","icon","onPress","map","flexDirection","paddingVertical","width","flexShrink","shouldSelect","borderRadius","title"],"sources":["../../../../src/components/DataTable/DataTableMobileCards.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -28,7 +28,9 @@ function DataTableMobileCards(param) {
|
|
|
28
28
|
selectAllChecked = false,
|
|
29
29
|
selectAllIndeterminate = false,
|
|
30
30
|
onToggleSelectAll,
|
|
31
|
-
compact = false
|
|
31
|
+
compact = false,
|
|
32
|
+
selectRowLabel,
|
|
33
|
+
getRowPressProps
|
|
32
34
|
} = param;
|
|
33
35
|
var {
|
|
34
36
|
t
|
|
@@ -38,6 +40,7 @@ function DataTableMobileCards(param) {
|
|
|
38
40
|
} = useResolvedKnobs();
|
|
39
41
|
var tableZebraOn = knobProps.tableZebra === "on";
|
|
40
42
|
var renderMobileCard = useCallback(function (row, index) {
|
|
43
|
+
var _ref;
|
|
41
44
|
var rowData = row.original;
|
|
42
45
|
var visibleCells = row.getVisibleCells();
|
|
43
46
|
var [titleCell, ...detailCells] = visibleCells;
|
|
@@ -54,6 +57,7 @@ function DataTableMobileCards(param) {
|
|
|
54
57
|
...{
|
|
55
58
|
"data-table-zebra": tableZebraOn ? index % 2 === 0 ? "even" : "odd" : "off"
|
|
56
59
|
},
|
|
60
|
+
...(getRowPressProps ? getRowPressProps(row, index, "card") : {}),
|
|
57
61
|
children: [/* Card header: selection + primary-column title + row number + delete */
|
|
58
62
|
/* @__PURE__ */_jsxs(XStack, {
|
|
59
63
|
alignItems: "center",
|
|
@@ -72,7 +76,7 @@ function DataTableMobileCards(param) {
|
|
|
72
76
|
},
|
|
73
77
|
disabled,
|
|
74
78
|
checkboxProps: {
|
|
75
|
-
"aria-label": withInterp(t("Select row {{row}}", {
|
|
79
|
+
"aria-label": (_ref = selectRowLabel === null || selectRowLabel === void 0 ? void 0 : selectRowLabel(row, index)) !== null && _ref !== void 0 ? _ref : withInterp(t("Select row {{row}}", {
|
|
76
80
|
row: index + 1
|
|
77
81
|
}), {
|
|
78
82
|
row: index + 1
|
|
@@ -143,11 +147,16 @@ function DataTableMobileCards(param) {
|
|
|
143
147
|
}, cell.id);
|
|
144
148
|
})]
|
|
145
149
|
}, `${row.id}-${index}`);
|
|
146
|
-
}, [enableRowSelection, showRowNumbers, showDeleteRow, readOnly, disabled, dataLength, minRows, renderCellContent, onDeleteRow, compact, knobProps, tableZebraOn, t]);
|
|
150
|
+
}, [enableRowSelection, showRowNumbers, showDeleteRow, readOnly, disabled, dataLength, minRows, renderCellContent, onDeleteRow, compact, knobProps, tableZebraOn, t, selectRowLabel, getRowPressProps]);
|
|
147
151
|
return /* @__PURE__ */_jsxs(View, {
|
|
148
152
|
flexDirection: "column",
|
|
149
153
|
...knobProps.gap,
|
|
150
154
|
testID: "data-table-cards",
|
|
155
|
+
// Roving-focus DOM scope for onRowPress arrow keys (LC-49) — keeps
|
|
156
|
+
// ArrowUp/Down/Home/End inside THIS table's card list.
|
|
157
|
+
...(getRowPressProps ? {
|
|
158
|
+
"data-row-press-scope": "true"
|
|
159
|
+
} : {}),
|
|
151
160
|
children: [enableRowSelection && tableRows.length > 0 && /* @__PURE__ */_jsxs(XStack, {
|
|
152
161
|
alignItems: "center",
|
|
153
162
|
gap: "$2",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","TrashIcon","EmptyState","Button","Checkbox","hairline","useResolvedKnobs","useCallback","Text","View","XStack","useTranslation","TableCellContext","withInterp","getColumnLabel","cell","columnDef","column","header","id","DataTableMobileCards","param","tableRows","enableRowSelection","showRowNumbers","showDeleteRow","readOnly","disabled","dataLength","minRows","hasActiveFilters","renderCellContent","onDeleteRow","selectAllChecked","selectAllIndeterminate","onToggleSelectAll","compact","t","knobProps","tableZebraOn","tableZebra","renderMobileCard","row","index","rowData","original","visibleCells","getVisibleCells","titleCell","detailCells","showDelete","testID","surface","cardSurface","elevation","borderColor","backgroundColor","children","alignItems","gap","length","paddingBottom","marginBottom","bottom","borderBottomColor","checked","getIsSelected","onChange","toggleSelected","checkboxProps","flex","minWidth","Provider","value","inTableCell","isHeader","fontSize","sizeToken","color","fontWeight","chromeless","circular","size","icon","onPress","map","flexDirection","paddingVertical","width","flexShrink","shouldSelect","borderRadius"],"sources":["../../../../src/components/DataTable/DataTableMobileCards.tsx"],"sourcesContent":[null],"mappings":"AAiBA,SAASA,GAAA,IAAAC,IAAA,EAAAC,IAAiB,IAAAC,KAAA;AAC1B,SAASC,SAAA,+BAAkB;AAC3B,SAASC,UAAQ,uCAAgB;AACjC,SAASC,MAAA,EAAAC,QAAU,kCAAwB;AAE3C,SAASC,QAAA,EAAAC,gBAAmB;AAC5B,SAASC,WAAM,QAAM,OAAc;AACnC,SAASC,IAAA,EAAAC,IAAA,EAAAC,MAAA,QAAsB;AAC/B,SAASC,cAAA,uBAAwB;AAEjC,SAASC,gBAAA,QAAkB;
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","TrashIcon","EmptyState","Button","Checkbox","hairline","useResolvedKnobs","useCallback","Text","View","XStack","useTranslation","TableCellContext","withInterp","getColumnLabel","cell","columnDef","column","header","id","DataTableMobileCards","param","tableRows","enableRowSelection","showRowNumbers","showDeleteRow","readOnly","disabled","dataLength","minRows","hasActiveFilters","renderCellContent","onDeleteRow","selectAllChecked","selectAllIndeterminate","onToggleSelectAll","compact","selectRowLabel","getRowPressProps","t","knobProps","tableZebraOn","tableZebra","renderMobileCard","row","index","_ref","rowData","original","visibleCells","getVisibleCells","titleCell","detailCells","showDelete","testID","surface","cardSurface","elevation","borderColor","backgroundColor","children","alignItems","gap","length","paddingBottom","marginBottom","bottom","borderBottomColor","checked","getIsSelected","onChange","toggleSelected","checkboxProps","flex","minWidth","Provider","value","inTableCell","isHeader","fontSize","sizeToken","color","fontWeight","chromeless","circular","size","icon","onPress","map","flexDirection","paddingVertical","width","flexShrink","shouldSelect","borderRadius","title"],"sources":["../../../../src/components/DataTable/DataTableMobileCards.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -26,6 +26,7 @@ import { DataTableVirtualized } from "./DataTableVirtualized.mjs";
|
|
|
26
26
|
import { alignToFlex, getDefaultColumnAlign } from "../../utils/columnAlign.mjs";
|
|
27
27
|
import { mapFieldToFilterType } from "../../utils/filterFields.mjs";
|
|
28
28
|
import { INFINITE_TRIGGER_ROWS } from "../../utils/paginationDefaults.mjs";
|
|
29
|
+
import { isInteractiveInnerTarget } from "../../utils/rowPress.mjs";
|
|
29
30
|
import { bidiIsolate, withInterp } from "../../utils/withInterp.mjs";
|
|
30
31
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
31
32
|
import { createElement } from "react";
|
|
@@ -79,6 +80,8 @@ function DataTableRoot({
|
|
|
79
80
|
maxPinnedColumns = 3,
|
|
80
81
|
enableGrouping = false,
|
|
81
82
|
enableKeyboardNavigation = false,
|
|
83
|
+
onRowPress,
|
|
84
|
+
rowLabel,
|
|
82
85
|
enableRowSelection = false,
|
|
83
86
|
selectAllScope: selectAllScopeProp,
|
|
84
87
|
bulkActions,
|
|
@@ -335,6 +338,102 @@ function DataTableRoot({
|
|
|
335
338
|
if (row.getCanExpand()) row.toggleExpanded();
|
|
336
339
|
} : void 0
|
|
337
340
|
});
|
|
341
|
+
const isSSR = typeof window === "undefined";
|
|
342
|
+
const rowPressActive = Boolean(onRowPress) && !disabled;
|
|
343
|
+
const [rowPressAnchor, setRowPressAnchor] = useState(0);
|
|
344
|
+
const effectiveRowPressAnchor = Math.min(rowPressAnchor, Math.max(tableRows.length - 1, 0));
|
|
345
|
+
const deriveRowIdentity = useCallback(row => {
|
|
346
|
+
const fromAccessor = rowLabel?.(row.original);
|
|
347
|
+
if (fromAccessor) return fromAccessor;
|
|
348
|
+
let firstCellValue;
|
|
349
|
+
try {
|
|
350
|
+
firstCellValue = row.getVisibleCells()[0]?.getValue();
|
|
351
|
+
} catch {
|
|
352
|
+
firstCellValue = void 0;
|
|
353
|
+
}
|
|
354
|
+
if (typeof firstCellValue === "string" && firstCellValue.length > 0 || typeof firstCellValue === "number") {
|
|
355
|
+
return String(firstCellValue);
|
|
356
|
+
}
|
|
357
|
+
return void 0;
|
|
358
|
+
}, [rowLabel]);
|
|
359
|
+
const deriveRowLabel = useCallback((row, rowIndex) => deriveRowIdentity(row) ?? withInterp(t("Row {{row}}", {
|
|
360
|
+
row: rowIndex + 1
|
|
361
|
+
}), {
|
|
362
|
+
row: rowIndex + 1
|
|
363
|
+
}), [deriveRowIdentity, t]);
|
|
364
|
+
const deriveSelectRowLabel = useCallback((row, rowIndex) => {
|
|
365
|
+
const identity = deriveRowIdentity(row) ?? String(rowIndex + 1);
|
|
366
|
+
return withInterp(t("Select row {{row}}", {
|
|
367
|
+
row: identity
|
|
368
|
+
}), {
|
|
369
|
+
row: identity
|
|
370
|
+
});
|
|
371
|
+
}, [deriveRowIdentity, t]);
|
|
372
|
+
const activateRowPress = useCallback((row, rowIndex) => {
|
|
373
|
+
onRowPress?.(row.original, rowIndex);
|
|
374
|
+
}, [onRowPress]);
|
|
375
|
+
const getRowPressProps = useCallback((row, rowIndex, variant = "row") => {
|
|
376
|
+
if (!rowPressActive) return {};
|
|
377
|
+
const handlePress = event => {
|
|
378
|
+
if (event?.defaultPrevented) return;
|
|
379
|
+
const targetEl = event?.target ?? event?.nativeEvent?.target;
|
|
380
|
+
if (isWeb && typeof Element !== "undefined" && targetEl instanceof Element) {
|
|
381
|
+
const boundary = targetEl.closest('[data-row-press="true"]');
|
|
382
|
+
if (isInteractiveInnerTarget(targetEl, boundary)) return;
|
|
383
|
+
}
|
|
384
|
+
activateRowPress(row, rowIndex);
|
|
385
|
+
};
|
|
386
|
+
return {
|
|
387
|
+
"aria-label": deriveRowLabel(row, rowIndex),
|
|
388
|
+
onPress: handlePress,
|
|
389
|
+
cursor: "pointer",
|
|
390
|
+
pressStyle: {
|
|
391
|
+
backgroundColor: "$color4"
|
|
392
|
+
},
|
|
393
|
+
...(variant === "card" ? {
|
|
394
|
+
role: "button"
|
|
395
|
+
} : {}),
|
|
396
|
+
...(isWeb && !isSSR ? {
|
|
397
|
+
tabIndex: rowIndex === effectiveRowPressAnchor ? 0 : -1,
|
|
398
|
+
focusVisibleStyle: ensureFocusVisibleRing({
|
|
399
|
+
outlineOffset: -2
|
|
400
|
+
}),
|
|
401
|
+
"data-row-press": "true",
|
|
402
|
+
onFocus: e => {
|
|
403
|
+
if (e.target === e.currentTarget) setRowPressAnchor(rowIndex);
|
|
404
|
+
},
|
|
405
|
+
onBlur: e => {
|
|
406
|
+
const next = e.relatedTarget;
|
|
407
|
+
if (!(next instanceof Element) || !next.closest('[data-row-press="true"]')) {
|
|
408
|
+
setRowPressAnchor(0);
|
|
409
|
+
}
|
|
410
|
+
},
|
|
411
|
+
onKeyDown: e => {
|
|
412
|
+
if (e.defaultPrevented) return;
|
|
413
|
+
if (e.target !== e.currentTarget) return;
|
|
414
|
+
const key = e.key;
|
|
415
|
+
if (key === "Enter" || key === " " || key === "Spacebar") {
|
|
416
|
+
e.preventDefault();
|
|
417
|
+
e.stopPropagation();
|
|
418
|
+
if (e.repeat) return;
|
|
419
|
+
activateRowPress(row, rowIndex);
|
|
420
|
+
return;
|
|
421
|
+
}
|
|
422
|
+
if (key === "ArrowDown" || key === "ArrowUp" || key === "Home" || key === "End") {
|
|
423
|
+
e.preventDefault();
|
|
424
|
+
e.stopPropagation();
|
|
425
|
+
const rowEl = e.currentTarget;
|
|
426
|
+
const scope = rowEl.closest('[data-row-press-scope="true"]') ?? rowEl.ownerDocument;
|
|
427
|
+
const pressRows = Array.from(scope.querySelectorAll('[data-row-press="true"]'));
|
|
428
|
+
const currentIdx = pressRows.indexOf(rowEl);
|
|
429
|
+
if (currentIdx < 0) return;
|
|
430
|
+
const nextIdx = key === "Home" ? 0 : key === "End" ? pressRows.length - 1 : Math.min(Math.max(currentIdx + (key === "ArrowDown" ? 1 : -1), 0), pressRows.length - 1);
|
|
431
|
+
pressRows[nextIdx]?.focus();
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
} : {})
|
|
435
|
+
};
|
|
436
|
+
}, [rowPressActive, deriveRowLabel, activateRowPress, effectiveRowPressAnchor, isSSR]);
|
|
338
437
|
const handleCellChange = useCallback(async (rowIndex, columnId, newValue) => {
|
|
339
438
|
if (readOnly || disabled) return;
|
|
340
439
|
const previousValue = data[rowIndex]?.[columnId];
|
|
@@ -374,7 +473,21 @@ function DataTableRoot({
|
|
|
374
473
|
const columnId = cell.column.id;
|
|
375
474
|
const value = cell.getValue();
|
|
376
475
|
if (columnDef.cell && !columnDef.field) {
|
|
377
|
-
|
|
476
|
+
const customAlign = resolveColumnAlign({
|
|
477
|
+
...columnDef,
|
|
478
|
+
id: cell.column.id
|
|
479
|
+
});
|
|
480
|
+
return /* @__PURE__ */jsx(View, {
|
|
481
|
+
width: "100%",
|
|
482
|
+
minWidth: 0,
|
|
483
|
+
flexDirection: "row",
|
|
484
|
+
alignItems: "center",
|
|
485
|
+
justifyContent: alignToFlex(customAlign),
|
|
486
|
+
...{
|
|
487
|
+
"data-cell-align": customAlign
|
|
488
|
+
},
|
|
489
|
+
children: flexRender(columnDef.cell, cell.getContext())
|
|
490
|
+
});
|
|
378
491
|
}
|
|
379
492
|
const columnField = getColumnField(columnDef);
|
|
380
493
|
const dateRangeLinkedColumn = columnDef.fieldProps?.dateRangeLinkedColumn;
|
|
@@ -403,7 +516,6 @@ function DataTableRoot({
|
|
|
403
516
|
onLinkedChange
|
|
404
517
|
});
|
|
405
518
|
}, [handleCellChange, readOnly, disabled, knobProps.sizeToken, isCompact]);
|
|
406
|
-
const isSSR = typeof window === "undefined";
|
|
407
519
|
const extraColumnsBefore = (enableRowSelection ? 1 : 0) + (showRowNumbers ? 1 : 0) + (enableRowExpansion ? 1 : 0);
|
|
408
520
|
const extraColumnsAfter = showDeleteRow && !readOnly ? 1 : 0;
|
|
409
521
|
const getStickyStyle = useCallback(columnId => {
|
|
@@ -475,12 +587,9 @@ function DataTableRoot({
|
|
|
475
587
|
disabled,
|
|
476
588
|
checkboxProps: {
|
|
477
589
|
// Row identity in the name so repeated per-row actions are
|
|
478
|
-
// differentiated for screen readers (DG-A11Y-06).
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
}), {
|
|
482
|
-
row: rowIndex + 1
|
|
483
|
-
})
|
|
590
|
+
// differentiated for screen readers (DG-A11Y-06). The
|
|
591
|
+
// aria-label rides the role="checkbox" frame itself.
|
|
592
|
+
"aria-label": deriveSelectRowLabel(row, rowIndex)
|
|
484
593
|
},
|
|
485
594
|
compact: isCompact
|
|
486
595
|
})
|
|
@@ -619,7 +728,7 @@ function DataTableRoot({
|
|
|
619
728
|
})
|
|
620
729
|
})]
|
|
621
730
|
});
|
|
622
|
-
}, [enableRowSelection, showRowNumbers, enableRowExpansion, showDeleteRow, readOnly, disabled, cellHeight, knobProps.sizeToken, cellFlexProps, getColSizeProps, getStickyStyle, renderCellContent, handleDeleteRow, data.length, minRows, isCompact, t, ExpandCaretIcon, expandedCaretRotation, clipBodyCells]);
|
|
731
|
+
}, [enableRowSelection, showRowNumbers, enableRowExpansion, showDeleteRow, readOnly, disabled, cellHeight, knobProps.sizeToken, cellFlexProps, getColSizeProps, getStickyStyle, renderCellContent, handleDeleteRow, data.length, minRows, isCompact, t, deriveSelectRowLabel, ExpandCaretIcon, expandedCaretRotation, clipBodyCells]);
|
|
623
732
|
const [filterEditTarget, setFilterEditTarget] = useState(null);
|
|
624
733
|
const filterUi = useMemo(() => ({
|
|
625
734
|
editTarget: filterEditTarget,
|
|
@@ -796,7 +905,11 @@ function DataTableRoot({
|
|
|
796
905
|
selectAllChecked,
|
|
797
906
|
selectAllIndeterminate,
|
|
798
907
|
onToggleSelectAll: toggleSelectAll,
|
|
799
|
-
compact: isCompact
|
|
908
|
+
compact: isCompact,
|
|
909
|
+
selectRowLabel: deriveSelectRowLabel,
|
|
910
|
+
...(rowPressActive ? {
|
|
911
|
+
getRowPressProps
|
|
912
|
+
} : {})
|
|
800
913
|
})]
|
|
801
914
|
}) : (/* Table View */
|
|
802
915
|
/* @__PURE__ */jsx(View, {
|
|
@@ -810,7 +923,7 @@ function DataTableRoot({
|
|
|
810
923
|
},
|
|
811
924
|
flexDirection: "column",
|
|
812
925
|
width: "100%",
|
|
813
|
-
flexGrow:
|
|
926
|
+
flexGrow: 0,
|
|
814
927
|
flexShrink: 1,
|
|
815
928
|
flexBasis: "auto",
|
|
816
929
|
minHeight: 0,
|
|
@@ -854,6 +967,9 @@ function DataTableRoot({
|
|
|
854
967
|
...(hScroll && enableColumnPinning ? {
|
|
855
968
|
overflow: "visible"
|
|
856
969
|
} : {}),
|
|
970
|
+
...(rowPressActive ? {
|
|
971
|
+
"data-row-press-scope": "true"
|
|
972
|
+
} : {}),
|
|
857
973
|
children: [/* @__PURE__ */jsx(Table.Head, {
|
|
858
974
|
zIndex: "$1",
|
|
859
975
|
"aria-label": t("Table headers"),
|
|
@@ -1105,7 +1221,10 @@ function DataTableRoot({
|
|
|
1105
1221
|
extraColumnsBefore,
|
|
1106
1222
|
extraColumnsAfter,
|
|
1107
1223
|
table,
|
|
1108
|
-
hasInfiniteTail
|
|
1224
|
+
hasInfiniteTail,
|
|
1225
|
+
...(rowPressActive ? {
|
|
1226
|
+
getRowPressProps
|
|
1227
|
+
} : {})
|
|
1109
1228
|
})
|
|
1110
1229
|
})
|
|
1111
1230
|
}) : /* @__PURE__ */jsxs(Fragment, {
|
|
@@ -1177,7 +1296,8 @@ function DataTableRoot({
|
|
|
1177
1296
|
tabIndex: -1,
|
|
1178
1297
|
...{
|
|
1179
1298
|
"data-table-zebra": tableZebraOn ? index % 2 === 0 ? "even" : "odd" : "off"
|
|
1180
|
-
}
|
|
1299
|
+
},
|
|
1300
|
+
...getRowPressProps(row, index)
|
|
1181
1301
|
}, renderRowContent(row, index, isLastRow));
|
|
1182
1302
|
const subRow = enableRowExpansion && renderSubComponent && row.getIsExpanded() && !row.subRows?.length ? /* @__PURE__ */jsx(Table.Row, {
|
|
1183
1303
|
backgroundColor: "$color2",
|