@multiplatform.one/table 7.8.0 → 7.10.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.
Files changed (28) hide show
  1. package/dist/cjs/components/DataTable/DataTableMobileCards.cjs +100 -33
  2. package/dist/cjs/components/DataTable/DataTableMobileCards.native.js +139 -38
  3. package/dist/cjs/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  4. package/dist/cjs/components/DataTable/index.native.js +59 -93
  5. package/dist/cjs/components/DataTable/index.native.js.map +1 -1
  6. package/dist/esm/components/DataTable/DataTableMobileCards.mjs +99 -34
  7. package/dist/esm/components/DataTable/DataTableMobileCards.mjs.map +1 -1
  8. package/dist/esm/components/DataTable/DataTableMobileCards.native.js +138 -39
  9. package/dist/esm/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  10. package/dist/esm/components/DataTable/index.native.js +60 -94
  11. package/dist/esm/components/DataTable/index.native.js.map +1 -1
  12. package/dist/jsx/components/DataTable/DataTableMobileCards.mjs +99 -34
  13. package/dist/jsx/components/DataTable/DataTableMobileCards.mjs.map +1 -1
  14. package/dist/jsx/components/DataTable/DataTableMobileCards.native.js +139 -38
  15. package/dist/jsx/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  16. package/dist/jsx/components/DataTable/index.native.js +59 -93
  17. package/dist/jsx/components/DataTable/index.native.js.map +1 -1
  18. package/package.json +12 -12
  19. package/src/components/DataTable/DataTable.spec.tsx +5 -3
  20. package/src/components/DataTable/DataTableMobileCards.tsx +162 -39
  21. package/src/components/DataTable/cardLayout.spec.tsx +19 -8
  22. package/src/components/DataTable/dataTableMobileCards.spec.tsx +50 -2
  23. package/src/components/DataTable/index.native.tsx +80 -124
  24. package/src/components/DataTable/nativeCardParity.spec.tsx +95 -0
  25. package/types/components/DataTable/DataTableMobileCards.d.ts +42 -8
  26. package/types/components/DataTable/DataTableMobileCards.d.ts.map +1 -1
  27. package/types/components/DataTable/index.native.d.ts +1 -1
  28. package/types/components/DataTable/index.native.d.ts.map +1 -1
@@ -24,7 +24,9 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
24
24
  }), mod);
25
25
  var DataTableMobileCards_exports = {};
26
26
  __export(DataTableMobileCards_exports, {
27
- DataTableMobileCards: () => DataTableMobileCards
27
+ DataTableMobileCards: () => DataTableMobileCards,
28
+ classifyCardField: () => classifyCardField,
29
+ getColumnLabel: () => getColumnLabel
28
30
  });
29
31
  module.exports = __toCommonJS(DataTableMobileCards_exports);
30
32
  var import_jsx_runtime = require("react/jsx-runtime");
@@ -45,6 +47,29 @@ function getColumnLabel(cell) {
45
47
  if (typeof metaLabel === "string" && metaLabel) return metaLabel;
46
48
  return typeof columnDef.header === "string" ? columnDef.header : columnDef.id || cell.column.id;
47
49
  }
50
+ var selfNamingFields = /* @__PURE__ */new Set(["checkbox", "switch", "rating", "progress", "image", "signature", "fileupload", "colorpicker", "barcode", "geolocation"]);
51
+ var indicatorIds = /* @__PURE__ */new Set(["status", "priority", "workflow_state", "state"]);
52
+ var dateLike = /^\d{4}-\d{2}-\d{2}([T ]|$)|^\d{1,2}\/\d{1,2}\/\d{2,4}$/;
53
+ var numberLike = /^[+\-−]?[\d,\s]*\d(\.\d+)?%?$/;
54
+ function classifyCardField(cell) {
55
+ var _cell_column_id;
56
+ var _def_meta;
57
+ var def = cell.column.columnDef;
58
+ var id = String((_cell_column_id = cell.column.id) !== null && _cell_column_id !== void 0 ? _cell_column_id : "");
59
+ var role = (_def_meta = def.meta) === null || _def_meta === void 0 ? void 0 : _def_meta.role;
60
+ if (role === "hidden" || role === "skip") return "skip";
61
+ if (role === "actions" || id.startsWith("_") || def.field && selfNamingFields.has(def.field)) {
62
+ return "control";
63
+ }
64
+ var raw = typeof cell.getValue === "function" ? cell.getValue() : void 0;
65
+ if (raw == null || typeof raw === "string" && raw.trim() === "") return "skip";
66
+ if (role === "indicator" || indicatorIds.has(id)) return "bare";
67
+ if (typeof raw === "string") {
68
+ var value = raw.trim();
69
+ return numberLike.test(value) || dateLike.test(value) ? "figure" : "bare";
70
+ }
71
+ return "figure";
72
+ }
48
73
  function DataTableMobileCards(param) {
49
74
  var {
50
75
  tableRows,
@@ -76,18 +101,51 @@ function DataTableMobileCards(param) {
76
101
  compact
77
102
  });
78
103
  var tableZebraOn = knobProps.tableZebra === "on";
104
+ var renderCell = (0, import_react2.useCallback)(function (cell, index, rowData) {
105
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.TableCellContext.Provider, {
106
+ value: {
107
+ inTableCell: true,
108
+ isHeader: false
109
+ },
110
+ children: renderCellContent(cell, index, rowData)
111
+ });
112
+ }, [renderCellContent]);
79
113
  var renderMobileCard = (0, import_react2.useCallback)(function (row, index) {
80
114
  var _ref;
81
115
  var rowData = row.original;
82
116
  var visibleCells = row.getVisibleCells();
83
117
  var [titleCell, ...detailCells] = visibleCells;
84
118
  var showDelete = showDeleteRow && !readOnly;
119
+ var bare = [];
120
+ var figures = [];
121
+ var controls = [];
122
+ var _iteratorNormalCompletion = true,
123
+ _didIteratorError = false,
124
+ _iteratorError = void 0;
125
+ try {
126
+ for (var _iterator = detailCells[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
127
+ var cell = _step.value;
128
+ var kind = classifyCardField(cell);
129
+ if (kind === "bare") bare.push(cell);else if (kind === "figure") figures.push(cell);else if (kind === "control") controls.push(cell);
130
+ }
131
+ } catch (err) {
132
+ _didIteratorError = true;
133
+ _iteratorError = err;
134
+ } finally {
135
+ try {
136
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
137
+ _iterator.return();
138
+ }
139
+ } finally {
140
+ if (_didIteratorError) {
141
+ throw _iteratorError;
142
+ }
143
+ }
144
+ }
145
+ var hasBody = bare.length > 0 || figures.length > 0 || controls.length > 0;
85
146
  return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
86
147
  testID: "data-table-card",
87
- ...knobProps.surface,
88
148
  ...knobProps.cardSurface,
89
- elevation: knobProps.elevation,
90
- borderColor: "$color6",
91
149
  ...(tableZebraOn && index % 2 === 1 ? {
92
150
  backgroundColor: "$color2"
93
151
  } : {}),
@@ -100,7 +158,7 @@ function DataTableMobileCards(param) {
100
158
  /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
101
159
  alignItems: "center",
102
160
  gap: "$2",
103
- ...(detailCells.length > 0 ? {
161
+ ...(hasBody ? {
104
162
  paddingBottom: "$2",
105
163
  marginBottom: "$2",
106
164
  ...import_theme.hairline.bottom,
@@ -125,16 +183,11 @@ function DataTableMobileCards(param) {
125
183
  flex: 1,
126
184
  minWidth: 0,
127
185
  "aria-label": getColumnLabel(titleCell),
186
+ accessibilityLabel: getColumnLabel(titleCell),
128
187
  ...{
129
188
  "data-card-slot": "title"
130
189
  },
131
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.TableCellContext.Provider, {
132
- value: {
133
- inTableCell: true,
134
- isHeader: false
135
- },
136
- children: renderCellContent(titleCell, index, rowData)
137
- })
190
+ children: renderCell(titleCell, index, rowData)
138
191
  }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
139
192
  flex: 1
140
193
  }), showRowNumbers && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.Text, {
@@ -157,35 +210,83 @@ function DataTableMobileCards(param) {
157
210
  row: index + 1
158
211
  })
159
212
  })]
160
- }), /* Field rows: remaining visible columns as label/value pairs */
161
- detailCells.map(function (cell) {
162
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
163
- flexDirection: "row",
164
- alignItems: "center",
165
- paddingVertical: "$1.5",
166
- gap: "$2",
167
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
168
- fontSize: knobProps.sizeToken,
169
- color: "$color10",
170
- fontWeight: "500",
171
- width: "40%",
172
- flexShrink: 0,
173
- children: getColumnLabel(cell)
174
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
175
- flex: 1,
213
+ }),
214
+ /* Self-naming values, wrapped into one flow. No printed labels:
215
+ the name goes to assistive tech only, at no layout cost. */
216
+ bare.length > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
217
+ flexWrap: "wrap",
218
+ alignItems: "center",
219
+ gap: "$2",
220
+ ...{
221
+ "data-card-slot": "meta"
222
+ },
223
+ children: bare.map(function (cell2, i) {
224
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
225
+ alignItems: "center",
226
+ gap: "$2",
227
+ flexShrink: 1,
176
228
  minWidth: 0,
177
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.TableCellContext.Provider, {
178
- value: {
179
- inTableCell: true,
180
- isHeader: false
181
- },
182
- children: renderCellContent(cell, index, rowData)
183
- })
184
- })]
185
- }, cell.id);
229
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.VisuallyHidden, {
230
+ children: `${getColumnLabel(cell2)}: `
231
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
232
+ flexShrink: 1,
233
+ minWidth: 0,
234
+ children: renderCell(cell2, index, rowData)
235
+ }),
236
+ /* The separator TRAILS its value, so a line that wraps
237
+ starts with content instead of a stray dot. */
238
+ i < bare.length - 1 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
239
+ fontSize: knobProps.sizeToken,
240
+ color: "$color8",
241
+ "aria-hidden": true,
242
+ accessibilityElementsHidden: true,
243
+ importantForAccessibility: "no-hide-descendants",
244
+ children: "\xB7"
245
+ }) : null]
246
+ }, cell2.id);
247
+ })
248
+ }) : null, /* Figures keep their name, inline beside the value. */
249
+ figures.length > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
250
+ flexWrap: "wrap",
251
+ alignItems: "center",
252
+ gap: "$3",
253
+ paddingTop: bare.length > 0 ? "$1.5" : 0,
254
+ ...{
255
+ "data-card-slot": "figure"
256
+ },
257
+ children: figures.map(function (cell2) {
258
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
259
+ alignItems: "center",
260
+ gap: "$1.5",
261
+ flexShrink: 1,
262
+ minWidth: 0,
263
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
264
+ fontSize: knobProps.sizeToken,
265
+ color: "$color10",
266
+ fontWeight: "500",
267
+ children: getColumnLabel(cell2)
268
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
269
+ flexShrink: 1,
270
+ minWidth: 0,
271
+ children: renderCell(cell2, index, rowData)
272
+ })]
273
+ }, cell2.id);
274
+ })
275
+ }) : null, /* Controls keep a row of their own — they are tap targets. */
276
+ controls.map(function (cell2) {
277
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
278
+ paddingTop: "$2",
279
+ minWidth: 0,
280
+ ...{
281
+ "data-card-slot": "control"
282
+ },
283
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.VisuallyHidden, {
284
+ children: `${getColumnLabel(cell2)}: `
285
+ }), renderCell(cell2, index, rowData)]
286
+ }, cell2.id);
186
287
  })]
187
288
  }, `${row.id}-${index}`);
188
- }, [enableRowSelection, showRowNumbers, showDeleteRow, readOnly, disabled, dataLength, minRows, renderCellContent, onDeleteRow, compact, knobProps, tableZebraOn, t, selectRowLabel, getRowPressProps]);
289
+ }, [enableRowSelection, showRowNumbers, showDeleteRow, readOnly, disabled, dataLength, minRows, renderCell, onDeleteRow, compact, knobProps, tableZebraOn, t, selectRowLabel, getRowPressProps]);
189
290
  return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
190
291
  flexDirection: "column",
191
292
  ...knobProps.gap,
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","DataTableMobileCards_exports","DataTableMobileCards","module","exports","import_jsx_runtime","require","import_react","import_components","import_forms","import_theme","import_react2","import_tamagui","import_react_i18next","import_table_primitives","import_withInterp","import_dataTableChrome","getColumnLabel","cell","_columnDef_meta","columnDef","column","metaLabel","meta","label","header","id","param","tableRows","enableRowSelection","showRowNumbers","showDeleteRow","readOnly","disabled","dataLength","minRows","hasActiveFilters","renderCellContent","onDeleteRow","selectAllChecked","selectAllIndeterminate","onToggleSelectAll","compact","selectRowLabel","getRowPressProps","queryInFlight","t","useTranslation","knobProps","useResolvedKnobs","component","tableZebraOn","tableZebra","renderMobileCard","useCallback","row","index","_ref","rowData","original","visibleCells","getVisibleCells","titleCell","detailCells","showDelete","jsxs","View","testID","surface","cardSurface","elevation","borderColor","backgroundColor","rowIntentProps","children","XStack","alignItems","gap","length","paddingBottom","marginBottom","hairline","bottom","borderBottomColor","jsx","Checkbox","checked","getIsSelected","onChange","toggleSelected","checkboxProps","withInterp","flex","minWidth","TableCellContext","Provider","inTableCell","isHeader","Text","fontSize","sizeToken","color","fontWeight","Button","chromeless","circular","size","icon","TrashIcon","onPress","map","flexDirection","paddingVertical","width","flexShrink"],"sources":["../../../../src/components/DataTable/DataTableMobileCards.tsx"],"sourcesContent":[null],"mappings":"AAiBA,YAAS;;AACT,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cAAkB;AAC3B,IAAAC,gBAAiB,GAAAF,MAAA,CAAAG,wBAAgB;AACjC,IAAAC,iBAAmB,GAAAJ,MAAA,CAAAK,mBAAwB;AAE3C,IAAAC,YAAS,GAAAN,MAAA,CAAAO,SAAmB,CAAAC,cAAA;AAC5B,IAAAC,QAAS,GAAMA,CAAAC,MAAM,EAAAC,GAAA;EACrB,SAASC,IAAA,IAAAD,GAAA,EACTZ,SAAS,CAAAW,MAAA,EAAAE,IAAA;IAAAC,GAAwB,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAEjC;AACA,IAAAC,WAAS,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAsB,EAAAC,IAAA;EA4GjB,IAAAF,IAAA,IAgCA,OAAAA,IAAA,KAhCA,mBAAAA,IAAA;IApGd,KAAS,IAAAG,GAAA,IAAAhB,iBAAkC,CAAAa,IAAA,GACzC,IAAM,CAAAX,YAAY,CAAAe,IAAK,CAAAL,EAAA,EAAOI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EACxBnB,SAAA,CAAAiB,EAAY,EAAAI,GAAA;MAAAP,GAAU,EAAAA,CAAA,KAAMI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EAClC;EACA,OAAOE,EAAA;AACT;AAmCO,IAAAM,YAAS,GAAAC,GAAA,IAAAR,WAAwD,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AAAA,IACtEE,4BAAA;AAAAhB,QACA,CAAAgB,4BAAqB;EACrBC,oBAAA,EAAAA,CAAA,KAAAA;AAAA,EACA;AAAAC,MACA,CAAAC,OAAA,GAAAN,YAAA,CAAAG,4BAAA;AAAA,IACAI,kBAAW,GAAAC,OAAA;AAAA,IACXC,YAAA,GAAAD,OAAA;AAAA,IACAE,iBAAA,GAAAF,OAAA;AAAA,IACAG,YAAA,GAAAH,OAAA;AAAA,IACAI,YAAA,GAAAJ,OAAA;AAAA,IACAK,aAAA,GAAAL,OAAA;AAAA,IACAM,cAAA,GAAmBN,OAAA;AAAA,IACnBO,oBAAA,GAAyBP,OAAA;AAAA,IACzBQ,uBAAA,GAAAR,OAAA;AAAA,IACAS,iBAAU,GAAAT,OAAA;AAAA,IACVU,sBAAA,GAAAV,OAAA;AAAA,SACAW,eAAAC,IAAA;EACA,IAAAC,eAAgB;EAClB,IAAqCC,SAAA,GAAAF,IAAA,CAAAG,MAAA,CAAAD,SAAA;EACnC,IAAAE,SAAU,GAAI,CAAAH,eAAe,GAAAC,SAAA,CAAAG,IAAA,cAAAJ,eAAA,uBAAAA,eAAA,CAAAK,KAAA;EAC7B,WAAQF,SAAU,KAAI,YAAAA,SAAmB,SAAWA,SAAA;EACpD,OAAM,OAAAF,SAAe,CAAAK,MAAA,KAAU,WAAeL,SAAA,CAAAK,MAAA,GAAAL,SAAA,CAAAM,EAAA,IAAAR,IAAA,CAAAG,MAAA,CAAAK,EAAA;AAE9C;AAAyB,SACtBxB,oBAA4BA,CAAAyB,KAAA;EAC3B;IAAAC,SAAM;IAAAC,kBAAc;IAAAC,cAAA;IAAAC,aAAA;IAAAC,QAAA;IAAAC,QAAA;IAAAC,UAAA;IAAAC,OAAA;IAAAC,gBAAA;IAAAC,iBAAA;IAAAC,WAAA;IAAAC,gBAAA;IAAAC,sBAAA;IAAAC,iBAAA;IAAAC,OAAA;IAAAC,cAAA;IAAAC,gBAAA;IAAAC,aAAA;EAAA,IAAAlB,KAAA;EACpB;IAAAmB;EAAA,IAAM,IAAAjC,oBAAmB,CAAAkC,cAAgB;EACzC;IAAAC;EAAO,MAAW,EAAAtC,YAAc,CAAAuC,gBAAI;IACpCC,SAAM,aAAa;IAEnBR;EACE;EAAC,IAAAS,YAAA,GAAAH,SAAA,CAAAI,UAAA;EAAA,IAAAC,gBAEQ,OAAA1C,aAAA,CAAA2C,WAAA,YAAAC,GAAA,EAAAC,KAAA;IAAA,IAAAC,IACN;IAAa,IAAAC,OACV,GAAAH,GAAA,CAAAI,QAAU;IAAA,IAAAC,YACd,GAAWL,GAAA,CAAAM,eAAU;IAAA,KAAAC,SACrB,KAAYC,WAAA,IAAAH,YAAA;IAAA,IAAAI,UACP,GAAAjC,aAAgB,IAAQ,CAAAC,QAAU;IAAkC,OACxE,eAAI,IAAA3B,kBAAA,CAAA4D,IAAA,EAAArD,cAAA,CAAAsD,IAAA;MAAAC,MACH;MAAwE,GAAAnB,SAC1E,CAAAoB,OAAA;MAAA,GAAApB,SACK,CAAAqB,WAAA;MAAoEC,SACpE,EAAAtB,SAAA,CAAAsB,SAAsB;MAAAC,WAG3B;MAAA,IAAApB,YAAA,IAAAK,KAAA;QAAAgB,eAAC;MAAA;MAAA;QACY,kBACP,EAAArB,YAAA,GAAAK,KAAA;MAAA;MAEA,IAAAZ,gBACE,GAAAA,gBAAe,CAAAW,GAAA,EAAAC,KAAA;MAAA,OAAAxC,sBACD,CAAAyD,cAAA,EAAAf,OAAA;MAAAgB,QAAA,GACF;MACO,eAEpB,IAAArE,kBAAA,CAAA4D,IAAA,EAAArD,cAAA,CAAA+D,MAAA;QAAAC,UAEJ;QAAAC,GAAA;QACC,IAAAd,WAAC,CAAAe,MAAA;UAAAC,aAAA;UAAAC,YACC;UAA2B,GAAAtE,YAC3B,CAAAuE,QAAW,CAAAC,MAAA;UACTC,iBAAI;QACJ;QAA4BT,QAAA,GAC9B7C,kBACA,uBAAAxB,kBAAA,CAAA+E,GAAA,EAAA3E,YAAA,CAAA4E,QAAA;UAAAC,OAAA,EACA/B,GAAA,CAAAgC,aAAe;UAAAC,QAAA,EACb,SAAAA,QACEA,CAAAF,OAAA;YACwD,IAAArD,QACtD;YAAasB,GAAA,CAAAkC,cACd,GAAAH,OAAA;UAAA;UACLrD,QACA;UAAAyD,aAAA;YAAA,YACF,GAAAjC,IAAA,GAAAd,cAAA,aAAAA,cAAA,uBAAAA,cAAA,CAAAY,GAAA,EAAAC,KAAA,eAAAC,IAAA,cAAAA,IAAA,OAAA1C,iBAAA,CAAA4E,UAAA,EAAA7C,CAAA;cAEDS,GAAA,EAAAC,KAAA,GACC;YAAA,IAAC;cAAAD,GAAA,EAAAC,KAAA;YAAA;UACO;UACId;QAC0B,IACHoB,SAAA,GAEjC,mBAAAzD,kBAAC,CAAA+E,GAAA,EAAAxE,cAA0B,CAAAsD,IAAA,EAAO;UAElC0B,IAAA;UAAAC,QAGF;UAAe,YAEhB,EAAA5E,cACC,CAAA6C,SAAA;UAAuE;YAAA,gBAC3D;UAAA;UACZY,QAED,iBACC,IAAArE,kBAAA,CAAA+E,GAAA,EAAAtE,uBAAA,CAAAgF,gBAAA,CAAAC,QAAA;YAAA/F,KAAC;cAAAgG,WAAA;cAAAC,QACC;YAAU;YACFvB,QACR,EAAArC,iBAAK,CAAAyB,SAAA,EAAAN,KAAA,EAAAE,OAAA;UAAA;QACC,oBACI,IAAArD,kBAAY,CAAA+E,GAAc,EAAAxE,cAAA,CAAAsD,IAAA;UAAA0B,IAAA;QACJ,IACoC9D,cAClE,IAAK,eAAQ,IAAAzB,kBAAA,CAAA4D,IAAA,EAAArD,cAAA,CAAAsF,IAAA;UAAAC,QACf,EAACnD,SAAA,CAAAoD,SAAA;UAAAC,KAAA;UAAAC,UACH;UAAA5B,QAAA,QAEJlB,KAAA;QAIE,EAAC,EAAAQ,UAAA,uBAAA3D,kBAAA,CAAA+E,GAAA,EAAA3E,YAAA,CAAA8F,MAAA;UAAAC,UAEC;UAAcC,QACd,MAAW;UAAAC,IACX;UAAgBC,IAChB,EAAApG,YAAI,CAAAqG,SAAA;UAAA3E,QAEJ,EAAAA,QAAA,IAAAC,UAAA,IAAAC,OAAA;UAAA0E,OAAA,WAAAA,QAAA;YAAA,OAACvE,WAAA,CAAAkB,KAAA;UAAA;UAAA,YACC,MAAUzC,iBAAU,CAAA4E,UAAA,EAAA7C,CAAA;YAAAS,GAAA,EAAAC,KACpB,GAAM;UAAA;YACKD,GAAA,EAAAC,KACX,GAAM;UAAA;QACM;MAEQ,IACtB;MAKAO,WAAA,CAAA+C,GAAA,WAAA5F,IAAA;QAAA,0BAAAb,kBAAA,CAAA4D,IAAA,EAAArD,cAAA,CAAAsD,IAAA;UAAA6C,aAnBU;UAoBZnC,UACD;UAAAoC,eAAA;UAAAnC,GAAA;UAtGOH,QAAM,EAAI,CAuGpB,mBAAArE,kBAAA,CAAA+E,GAAA,EAAAxE,cAAA,CAAAsF,IAAA;YAEJC,QAAA,EAAAnD,SAAA,CAAAoD,SAAA;YACAC,KAAA;YACEC,UAAA;YACAW,KAAA;YACAC,UAAA;YACAxC,QAAA,EAAAzD,cAAA,CAAAC,IAAA;UACA,IACA,mBAAAb,kBAAA,CAAA+E,GAAA,EAAAxE,cAAA,CAAAsD,IAAA;YACA0B,IAAA;YACAC,QAAA;YACAnB,QAAA,qBAAArE,kBAAA,CAAA+E,GAAA,EAAAtE,uBAAA,CAAAgF,gBAAA,CAAAC,QAAA;cACA/F,KAAA;gBACAgG,WAAA;gBACAC,QAAA;cACA;cACAvB,QAAA,EAAArC,iBAAA,CAAAnB,IAAA,EAAAsC,KAAA,EAAAE,OAAA;YACA;UACF;QAIA,GAAAxC,IAAA,CAAAQ,EAAA;MAAC;IAAA,GACC,GAAA6B,GAAA,CAAA7B,EAAA,IAAA8B,KAAc;EAAA,IACA3B,kBACP,EAAAC,cAGF,EAAkEC,aAEtE,EAAAC,QAAA,EAEGC,QAAA,EAAAC,UAAC,EAAAC,OAAA,EAAAE,iBACC,EAAoDC,WACpD,EACEI,OAAA,EACAM,SAAA,EACAG,YAAA,EAA2DL,CAAA,EAC7DH,cACA,EAAAC,gBACA,CAAoD;EACpD,0BAAAvC,kBAAA,CAAA4D,IAAA,EAAArD,cAAA,CAAAsD,IAAA;IAAA6C,aACF;IAAA,GAAA/D,SACA,CAAA6B,GAAA;IAEAV,MAAA,EACF;IAAA;IAIE;IAAC,IAAAvB,gBAAA;MAAA,sBACQ;IAAA;IACS8B,QACf,GAAa7C,kBACd,IAAUD,SAAA,CAAAkD,MAAA,2BAAAzE,kBAAA,CAAA4D,IAAA,EAAArD,cAAA,CAAA+D,MAAA;MAAAC,UACV,EAAO;MAAgEC,GAAA;MACzEE,aAGF,EAAU,IAAK;MAAwDL,QAAA,sBAAArE,kBAAA,CAAA+E,GAAA,EAAA3E,YAAA,CAAA4E,QAAA;QAE3EC,OAAA,EAAA9C,sBAAA,qBAAAD,gBAAA;QAEJiD,QAAA,WAAAA,SAAAF,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","DataTableMobileCards_exports","DataTableMobileCards","classifyCardField","getColumnLabel","module","exports","import_jsx_runtime","require","import_react","import_components","import_forms","import_theme","import_react2","import_tamagui","import_react_i18next","import_table_primitives","import_withInterp","import_dataTableChrome","cell","_columnDef_meta","columnDef","column","metaLabel","meta","label","header","id","selfNamingFields","Set","indicatorIds","dateLike","numberLike","_cell_column_id","_def_meta","def","String","role","startsWith","field","has","raw","getValue","trim","test","param","tableRows","enableRowSelection","showRowNumbers","showDeleteRow","readOnly","disabled","dataLength","minRows","hasActiveFilters","renderCellContent","onDeleteRow","selectAllChecked","selectAllIndeterminate","onToggleSelectAll","compact","selectRowLabel","getRowPressProps","queryInFlight","t","useTranslation","knobProps","useResolvedKnobs","component","tableZebraOn","tableZebra","renderCell","useCallback","index","rowData","jsx","TableCellContext","Provider","inTableCell","isHeader","children","renderMobileCard","row","_ref","original","visibleCells","getVisibleCells","titleCell","detailCells","showDelete","bare","figures","controls","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","kind","push","err","return","hasBody","length","jsxs","View","testID","cardSurface","backgroundColor","rowIntentProps","XStack","alignItems","gap","paddingBottom","marginBottom","hairline","bottom","borderBottomColor","Checkbox","checked","getIsSelected","onChange","toggleSelected","checkboxProps","withInterp","flex","minWidth","accessibilityLabel","Text","fontSize","sizeToken","color","fontWeight","Button","chromeless","circular","size","icon","TrashIcon","onPress","flexWrap","map","cell2","i","flexShrink","VisuallyHidden","accessibilityElementsHidden","importantForAccessibility","paddingTop"],"sources":["../../../../src/components/DataTable/DataTableMobileCards.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -68,6 +68,7 @@ var import_DataTableCell = require("../DataTableCell/index.native.js");
68
68
  var import_table_primitives = require("@multiplatform.one/table-primitives");
69
69
  var import_DataTableContext = require("./DataTableContext.native.js");
70
70
  var import_DataTableDocumentList = require("./DataTableDocumentList.native.js");
71
+ var import_DataTableMobileCards = require("./DataTableMobileCards.native.js");
71
72
  var import_dataTableChrome = require("./dataTableChrome.native.js");
72
73
  var import_rowStateChrome = require("./rowStateChrome.native.js");
73
74
  var import_DataTableStateContext = require("./DataTableStateContext.native.js");
@@ -146,6 +147,8 @@ function DataTableRoot(param) {
146
147
  virtualizationOverscan = 5,
147
148
  enableRowExpansion = false,
148
149
  renderSubComponent,
150
+ enableRowSelection = false,
151
+ selectAllScope: selectAllScopeProp,
149
152
  enableColumnPinning = false,
150
153
  maxPinnedColumns = 3,
151
154
  enableKeyboardNavigation: _enableKeyboardNavigation = false,
@@ -203,6 +206,7 @@ function DataTableRoot(param) {
203
206
  compact
204
207
  });
205
208
  var chrome = (0, import_dataTableChrome.dataTableChrome)(String(knobProps.sizeToken));
209
+ var selectAllScope = selectAllScopeProp !== null && selectAllScopeProp !== void 0 ? selectAllScopeProp : knobProps.selectAllScope === "filtered" ? "filtered" : "page";
206
210
  var rowHeightPx = chrome.rowPx;
207
211
  var isRTL = (0, import_components.useDirection)() === "rtl";
208
212
  var ExpandCaretIcon = isRTL ? import_react2.CaretLeftIcon : import_react2.CaretRightIcon;
@@ -242,6 +246,7 @@ function DataTableRoot(param) {
242
246
  virtualizationOverscan,
243
247
  enableRowExpansion,
244
248
  renderSubComponent,
249
+ enableRowSelection,
245
250
  enableColumnPinning,
246
251
  maxPinnedColumns,
247
252
  enableKeyboardNavigation: false,
@@ -250,6 +255,15 @@ function DataTableRoot(param) {
250
255
  isLoading: isLoadingProp,
251
256
  isFetching: isFetchingProp
252
257
  });
258
+ var selectAllChecked = enableRowSelection && (selectAllScope === "filtered" ? table.getIsAllRowsSelected() : table.getIsAllPageRowsSelected());
259
+ var selectAllIndeterminate = enableRowSelection && (selectAllScope === "filtered" ? table.getIsSomeRowsSelected() && !table.getIsAllRowsSelected() : table.getIsSomePageRowsSelected() && !table.getIsAllPageRowsSelected());
260
+ var toggleSelectAll = (0, import_react3.useCallback)(function () {
261
+ if (selectAllScope === "filtered") {
262
+ table.toggleAllRowsSelected();
263
+ } else {
264
+ table.toggleAllPageRowsSelected();
265
+ }
266
+ }, [selectAllScope, table]);
253
267
  var resolvedSize = size !== null && size !== void 0 ? size : knobProps.sizeToken === "$3" ? "sm" : knobProps.sizeToken === "$5" ? "lg" : "md";
254
268
  var cellHeight = resolvedSize === "sm" ? "$6" : resolvedSize === "lg" ? "$10" : "$8";
255
269
  var headerGroups = table.getHeaderGroups();
@@ -437,7 +451,7 @@ function DataTableRoot(param) {
437
451
  }, [showRowNumbers, enableRowExpansion, showDeleteRow, readOnly, disabled, cellHeight, knobProps.sizeToken, getColSizeProps, renderCellContent, handleDeleteRow, data.length, minRows, t, ExpandCaretIcon, expandedCaretRotation]);
438
452
  var tableZebraOn = knobProps.tableZebra === "on";
439
453
  var rowPressActive = Boolean(onRowPress) && !disabled;
440
- var deriveRowLabel = (0, import_react3.useCallback)(function (row, index) {
454
+ var deriveRowIdentity = (0, import_react3.useCallback)(function (row) {
441
455
  var fromAccessor = rowLabel === null || rowLabel === void 0 ? void 0 : rowLabel(row.original);
442
456
  if (fromAccessor) return fromAccessor;
443
457
  var firstCellValue;
@@ -450,13 +464,30 @@ function DataTableRoot(param) {
450
464
  if (typeof firstCellValue === "string" && firstCellValue.length > 0 || typeof firstCellValue === "number") {
451
465
  return String(firstCellValue);
452
466
  }
453
- return (0, import_withInterp.withInterp)(t("Row {{row}}", {
467
+ return void 0;
468
+ }, [rowLabel]);
469
+ var deriveRowLabel = (0, import_react3.useCallback)(function (row, index) {
470
+ var _deriveRowIdentity;
471
+ return (_deriveRowIdentity = deriveRowIdentity(row)) !== null && _deriveRowIdentity !== void 0 ? _deriveRowIdentity : (0, import_withInterp.withInterp)(t("Row {{row}}", {
454
472
  row: index + 1
455
473
  }), {
456
474
  row: index + 1
457
475
  });
458
- }, [rowLabel, t]);
459
- var getRowPressProps = (0, import_react3.useCallback)(function (row, index) {
476
+ }, [deriveRowIdentity, t]);
477
+ var deriveSelectRowLabel = (0, import_react3.useCallback)(function (row, index) {
478
+ var _deriveRowIdentity;
479
+ var identity = (_deriveRowIdentity = deriveRowIdentity(row)) !== null && _deriveRowIdentity !== void 0 ? _deriveRowIdentity : String(index + 1);
480
+ return (0, import_withInterp.withInterp)(t("Select row {{row}}", {
481
+ row: identity
482
+ }), {
483
+ row: identity
484
+ });
485
+ }, [deriveRowIdentity, t]);
486
+ var getRowPressProps = (0, import_react3.useCallback)(
487
+ // The card list asks for the "card" variant. Native carries no DOM row
488
+ // role for it to override, so both variants land on role="button".
489
+ function (row, index) {
490
+ var _variant = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "row";
460
491
  if (!rowPressActive) return {};
461
492
  return {
462
493
  onPress: function onPress() {
@@ -492,86 +523,6 @@ function DataTableRoot(param) {
492
523
  ...(0, import_dataTableChrome.rowIntentProps)(row.original)
493
524
  }, renderRowContent(row, index));
494
525
  }, [renderRowContent, tableZebraOn, t, getRowPressProps]);
495
- var renderMobileCard = (0, import_react3.useCallback)(function (row, index, onDelete) {
496
- var rowData = row.original;
497
- var visibleCells = row.getVisibleCells();
498
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
499
- backgroundColor: "$color1",
500
- borderRadius: "$4",
501
- borderWidth: 1,
502
- borderColor: "$borderColor",
503
- padding: "$3",
504
- marginBottom: "$2",
505
- ...getRowPressProps(row, index),
506
- ...(0, import_dataTableChrome.rowIntentProps)(rowData),
507
- children: [showRowNumbers && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
508
- flexDirection: "row",
509
- justifyContent: "space-between",
510
- paddingBottom: "$2",
511
- ...import_theme.hairline.bottom,
512
- borderBottomColor: "$borderColor",
513
- marginBottom: "$2",
514
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.Text, {
515
- fontSize: "$3",
516
- color: "$color10",
517
- fontWeight: "600",
518
- children: ["#", index + 1]
519
- }), showDeleteRow && !readOnly && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
520
- chromeless: true,
521
- circular: true,
522
- size: "$2",
523
- icon: import_react2.TrashIcon,
524
- disabled: disabled || tableRows.length <= minRows,
525
- onPress: function onPress() {
526
- return onDelete === null || onDelete === void 0 ? void 0 : onDelete(index);
527
- },
528
- "aria-label": (0, import_withInterp.withInterp)(t("Delete row {{row}}", {
529
- row: index + 1
530
- }), {
531
- row: index + 1
532
- })
533
- })]
534
- }), visibleCells.map(function (cell) {
535
- var columnDef = cell.column.columnDef;
536
- var headerLabel = typeof columnDef.header === "string" ? columnDef.header : columnDef.id || cell.column.id;
537
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
538
- flexDirection: "row",
539
- alignItems: "center",
540
- paddingVertical: "$1.5",
541
- gap: "$2",
542
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
543
- fontSize: "$3",
544
- color: "$color10",
545
- fontWeight: "500",
546
- width: "40%",
547
- flexShrink: 0,
548
- children: headerLabel
549
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
550
- flex: 1,
551
- children: renderCellContent(cell, index, rowData)
552
- })]
553
- }, cell.id);
554
- }), !showRowNumbers && showDeleteRow && !readOnly && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
555
- paddingTop: "$2",
556
- alignItems: "flex-end",
557
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
558
- chromeless: true,
559
- circular: true,
560
- size: "$2",
561
- icon: import_react2.TrashIcon,
562
- disabled: disabled || tableRows.length <= minRows,
563
- onPress: function onPress() {
564
- return onDelete === null || onDelete === void 0 ? void 0 : onDelete(index);
565
- },
566
- "aria-label": (0, import_withInterp.withInterp)(t("Delete row {{row}}", {
567
- row: index + 1
568
- }), {
569
- row: index + 1
570
- })
571
- })
572
- })]
573
- }, `${row.id}-${index}`);
574
- }, [showRowNumbers, showDeleteRow, readOnly, disabled, tableRows.length, minRows, renderCellContent, t, getRowPressProps]);
575
526
  var renderToolbarComponent = function renderToolbarComponent2() {
576
527
  if (renderToolbar) {
577
528
  return renderToolbar({
@@ -699,10 +650,12 @@ function DataTableRoot(param) {
699
650
  })
700
651
  }), showList ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableDocumentList.DataTableDocumentList, {
701
652
  tableRows: displayRows,
653
+ enableRowSelection,
702
654
  disabled,
703
655
  hasActiveFilters: computed.hasActiveFilters,
704
656
  renderCellContent,
705
657
  compact: isCompact,
658
+ selectRowLabel: deriveSelectRowLabel,
706
659
  queryInFlight,
707
660
  ...(rowPressActive ? {
708
661
  getRowPressProps
@@ -710,14 +663,27 @@ function DataTableRoot(param) {
710
663
  }) : showCards ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
711
664
  flexDirection: "column",
712
665
  gap: "$2",
713
- children: [displayRows.length === 0 ? queryInFlight ? null : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
714
- compact: true,
715
- backgroundColor: "$color1",
716
- borderRadius: "$4",
717
- "aria-live": "polite",
718
- title: computed.hasActiveFilters ? t("No results found") : t("No data available")
719
- }) : displayRows.map(function (row, index) {
720
- return renderMobileCard(row, index, isFormMode ? effectiveHandleDeleteRow : handleDeleteRow);
666
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableMobileCards.DataTableMobileCards, {
667
+ tableRows: displayRows,
668
+ enableRowSelection,
669
+ showRowNumbers,
670
+ showDeleteRow,
671
+ readOnly,
672
+ disabled,
673
+ dataLength: tableData.length,
674
+ minRows,
675
+ hasActiveFilters: computed.hasActiveFilters,
676
+ renderCellContent,
677
+ onDeleteRow: isFormMode ? effectiveHandleDeleteRow : handleDeleteRow,
678
+ selectAllChecked,
679
+ selectAllIndeterminate,
680
+ onToggleSelectAll: toggleSelectAll,
681
+ compact: isCompact,
682
+ selectRowLabel: deriveSelectRowLabel,
683
+ queryInFlight,
684
+ ...(rowPressActive ? {
685
+ getRowPressProps
686
+ } : {})
721
687
  }), enablePagination && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
722
688
  width: "100%",
723
689
  ...(disabled ? disabledState.chromeKnobProps : {}),
@@ -906,7 +872,7 @@ function DataTableRoot(param) {
906
872
  })
907
873
  })
908
874
  });
909
- }, [resolvedSize, isCompact, stateContextValue, ariaLabel, ariaDescribedBy, knobProps, props, enableGlobalSearch, enableFiltering, enableViews, renderToolbarComponent, children, renderFilters, state, actions, columns, cellHeight, enablePagination, computed, table, extraColumnsBefore, extraColumnsAfter, headerGroups, showRowNumbers, enableRowExpansion, showDeleteRow, readOnly, getColSizeProps, pinning, tableRows, isVirtualized, virtualizationHeight, virtualizationOverscan, renderRow, renderMobileCard, renderSubComponent, footerGroups, sm, showList, showCards, renderPaginationComponent, showAddRow, maxRows, isFormMode, handleAddRow, handleDeleteRow, minRows, defaultRow, disabled, disabledState, renderCellContent, rowPressActive, getRowPressProps, displayRows, queryInFlight, t]);
875
+ }, [resolvedSize, isCompact, stateContextValue, ariaLabel, ariaDescribedBy, knobProps, props, enableGlobalSearch, enableFiltering, enableViews, renderToolbarComponent, children, renderFilters, state, actions, columns, cellHeight, enablePagination, computed, table, extraColumnsBefore, extraColumnsAfter, headerGroups, showRowNumbers, enableRowExpansion, showDeleteRow, readOnly, getColSizeProps, pinning, tableRows, isVirtualized, virtualizationHeight, virtualizationOverscan, renderRow, renderSubComponent, footerGroups, sm, showList, showCards, renderPaginationComponent, showAddRow, maxRows, isFormMode, handleAddRow, handleDeleteRow, minRows, defaultRow, disabled, disabledState, renderCellContent, rowPressActive, getRowPressProps, enableRowSelection, selectAllChecked, selectAllIndeterminate, toggleSelectAll, deriveSelectRowLabel, displayRows, queryInFlight, t]);
910
876
  if (isFormMode) {
911
877
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Field, {
912
878
  form: resolvedForm,