@multiplatform.one/table 6.4.3 → 6.7.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 (219) hide show
  1. package/dist/cjs/components/ColumnHeaderFilter/index.cjs +1 -0
  2. package/dist/cjs/components/ColumnHeaderFilter/index.native.js +1 -0
  3. package/dist/cjs/components/ColumnHeaderFilter/index.native.js.map +1 -1
  4. package/dist/cjs/components/DataTable/DataTableMobileCards.cjs +9 -3
  5. package/dist/cjs/components/DataTable/DataTableMobileCards.native.js +12 -3
  6. package/dist/cjs/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  7. package/dist/cjs/components/DataTable/DataTableRoot.cjs +133 -13
  8. package/dist/cjs/components/DataTable/DataTableRoot.native.js +159 -13
  9. package/dist/cjs/components/DataTable/DataTableRoot.native.js.map +1 -1
  10. package/dist/cjs/components/DataTable/DataTableVirtualized.cjs +3 -1
  11. package/dist/cjs/components/DataTable/DataTableVirtualized.native.js +3 -1
  12. package/dist/cjs/components/DataTable/DataTableVirtualized.native.js.map +1 -1
  13. package/dist/cjs/components/DataTable/index.native.js +39 -2
  14. package/dist/cjs/components/DataTable/index.native.js.map +1 -1
  15. package/dist/cjs/components/DataTableBulkActions/index.cjs +16 -1
  16. package/dist/cjs/components/DataTableBulkActions/index.native.js +20 -1
  17. package/dist/cjs/components/DataTableBulkActions/index.native.js.map +1 -1
  18. package/dist/cjs/components/DataTableCell/CellModalEditor.cjs +4 -8
  19. package/dist/cjs/components/DataTableCell/index.cjs +1 -33
  20. package/dist/cjs/components/DataTableCell/index.native.js +1 -34
  21. package/dist/cjs/components/DataTableCell/index.native.js.map +1 -1
  22. package/dist/cjs/components/DataTableExport/index.cjs +1 -0
  23. package/dist/cjs/components/DataTableExport/index.native.js +1 -0
  24. package/dist/cjs/components/DataTableExport/index.native.js.map +1 -1
  25. package/dist/cjs/components/DataTableFilterButton/index.cjs +1 -1
  26. package/dist/cjs/components/DataTableFilterButton/index.native.js +4 -1
  27. package/dist/cjs/components/DataTableFilterButton/index.native.js.map +1 -1
  28. package/dist/cjs/components/DataTableGrouping/index.cjs +1 -0
  29. package/dist/cjs/components/DataTableGrouping/index.native.js +1 -0
  30. package/dist/cjs/components/DataTableGrouping/index.native.js.map +1 -1
  31. package/dist/cjs/components/DataTableToolbar/index.cjs +1 -0
  32. package/dist/cjs/components/DataTableToolbar/index.native.js +1 -0
  33. package/dist/cjs/components/DataTableToolbar/index.native.js.map +1 -1
  34. package/dist/cjs/components/FilterManager.cjs +18 -14
  35. package/dist/cjs/components/FilterManager.native.js +18 -14
  36. package/dist/cjs/components/FilterManager.native.js.map +1 -1
  37. package/dist/cjs/components/TableInput/index.native.js +3 -0
  38. package/dist/cjs/components/TableInput/index.native.js.map +1 -1
  39. package/dist/cjs/hooks/useDataTable.cjs +17 -1
  40. package/dist/cjs/hooks/useDataTable.native.js +19 -1
  41. package/dist/cjs/hooks/useDataTable.native.js.map +1 -1
  42. package/dist/cjs/utils/rowPress.cjs +44 -0
  43. package/dist/cjs/utils/rowPress.native.js +56 -0
  44. package/dist/cjs/utils/rowPress.native.js.map +1 -0
  45. package/dist/esm/components/ColumnHeaderFilter/index.mjs +1 -0
  46. package/dist/esm/components/ColumnHeaderFilter/index.mjs.map +1 -1
  47. package/dist/esm/components/ColumnHeaderFilter/index.native.js +1 -0
  48. package/dist/esm/components/ColumnHeaderFilter/index.native.js.map +1 -1
  49. package/dist/esm/components/DataTable/DataTableMobileCards.mjs +9 -3
  50. package/dist/esm/components/DataTable/DataTableMobileCards.mjs.map +1 -1
  51. package/dist/esm/components/DataTable/DataTableMobileCards.native.js +12 -3
  52. package/dist/esm/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  53. package/dist/esm/components/DataTable/DataTableRoot.mjs +133 -13
  54. package/dist/esm/components/DataTable/DataTableRoot.mjs.map +1 -1
  55. package/dist/esm/components/DataTable/DataTableRoot.native.js +159 -13
  56. package/dist/esm/components/DataTable/DataTableRoot.native.js.map +1 -1
  57. package/dist/esm/components/DataTable/DataTableVirtualized.mjs +3 -1
  58. package/dist/esm/components/DataTable/DataTableVirtualized.mjs.map +1 -1
  59. package/dist/esm/components/DataTable/DataTableVirtualized.native.js +3 -1
  60. package/dist/esm/components/DataTable/DataTableVirtualized.native.js.map +1 -1
  61. package/dist/esm/components/DataTable/index.native.js +39 -2
  62. package/dist/esm/components/DataTable/index.native.js.map +1 -1
  63. package/dist/esm/components/DataTableBulkActions/index.mjs +16 -1
  64. package/dist/esm/components/DataTableBulkActions/index.mjs.map +1 -1
  65. package/dist/esm/components/DataTableBulkActions/index.native.js +20 -1
  66. package/dist/esm/components/DataTableBulkActions/index.native.js.map +1 -1
  67. package/dist/esm/components/DataTableCell/CellModalEditor.mjs +4 -8
  68. package/dist/esm/components/DataTableCell/CellModalEditor.mjs.map +1 -1
  69. package/dist/esm/components/DataTableCell/index.mjs +1 -33
  70. package/dist/esm/components/DataTableCell/index.mjs.map +1 -1
  71. package/dist/esm/components/DataTableCell/index.native.js +1 -34
  72. package/dist/esm/components/DataTableCell/index.native.js.map +1 -1
  73. package/dist/esm/components/DataTableExport/index.mjs +1 -0
  74. package/dist/esm/components/DataTableExport/index.mjs.map +1 -1
  75. package/dist/esm/components/DataTableExport/index.native.js +1 -0
  76. package/dist/esm/components/DataTableExport/index.native.js.map +1 -1
  77. package/dist/esm/components/DataTableFilterButton/index.mjs +1 -1
  78. package/dist/esm/components/DataTableFilterButton/index.mjs.map +1 -1
  79. package/dist/esm/components/DataTableFilterButton/index.native.js +4 -1
  80. package/dist/esm/components/DataTableFilterButton/index.native.js.map +1 -1
  81. package/dist/esm/components/DataTableGrouping/index.mjs +1 -0
  82. package/dist/esm/components/DataTableGrouping/index.mjs.map +1 -1
  83. package/dist/esm/components/DataTableGrouping/index.native.js +1 -0
  84. package/dist/esm/components/DataTableGrouping/index.native.js.map +1 -1
  85. package/dist/esm/components/DataTableToolbar/index.mjs +1 -0
  86. package/dist/esm/components/DataTableToolbar/index.mjs.map +1 -1
  87. package/dist/esm/components/DataTableToolbar/index.native.js +1 -0
  88. package/dist/esm/components/DataTableToolbar/index.native.js.map +1 -1
  89. package/dist/esm/components/FilterManager.mjs +18 -14
  90. package/dist/esm/components/FilterManager.mjs.map +1 -1
  91. package/dist/esm/components/FilterManager.native.js +18 -14
  92. package/dist/esm/components/FilterManager.native.js.map +1 -1
  93. package/dist/esm/components/TableInput/index.native.js +3 -0
  94. package/dist/esm/components/TableInput/index.native.js.map +1 -1
  95. package/dist/esm/hooks/useDataTable.mjs +17 -1
  96. package/dist/esm/hooks/useDataTable.mjs.map +1 -1
  97. package/dist/esm/hooks/useDataTable.native.js +19 -1
  98. package/dist/esm/hooks/useDataTable.native.js.map +1 -1
  99. package/dist/esm/utils/rowPress.mjs +19 -0
  100. package/dist/esm/utils/rowPress.mjs.map +1 -0
  101. package/dist/esm/utils/rowPress.native.js +28 -0
  102. package/dist/esm/utils/rowPress.native.js.map +1 -0
  103. package/dist/jsx/components/ColumnHeaderFilter/index.mjs +1 -0
  104. package/dist/jsx/components/ColumnHeaderFilter/index.mjs.map +1 -1
  105. package/dist/jsx/components/ColumnHeaderFilter/index.native.js +1 -0
  106. package/dist/jsx/components/ColumnHeaderFilter/index.native.js.map +1 -1
  107. package/dist/jsx/components/DataTable/DataTableMobileCards.mjs +9 -3
  108. package/dist/jsx/components/DataTable/DataTableMobileCards.mjs.map +1 -1
  109. package/dist/jsx/components/DataTable/DataTableMobileCards.native.js +12 -3
  110. package/dist/jsx/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  111. package/dist/jsx/components/DataTable/DataTableRoot.mjs +133 -13
  112. package/dist/jsx/components/DataTable/DataTableRoot.mjs.map +1 -1
  113. package/dist/jsx/components/DataTable/DataTableRoot.native.js +159 -13
  114. package/dist/jsx/components/DataTable/DataTableRoot.native.js.map +1 -1
  115. package/dist/jsx/components/DataTable/DataTableVirtualized.mjs +3 -1
  116. package/dist/jsx/components/DataTable/DataTableVirtualized.mjs.map +1 -1
  117. package/dist/jsx/components/DataTable/DataTableVirtualized.native.js +3 -1
  118. package/dist/jsx/components/DataTable/DataTableVirtualized.native.js.map +1 -1
  119. package/dist/jsx/components/DataTable/index.native.js +39 -2
  120. package/dist/jsx/components/DataTable/index.native.js.map +1 -1
  121. package/dist/jsx/components/DataTableBulkActions/index.mjs +16 -1
  122. package/dist/jsx/components/DataTableBulkActions/index.mjs.map +1 -1
  123. package/dist/jsx/components/DataTableBulkActions/index.native.js +20 -1
  124. package/dist/jsx/components/DataTableBulkActions/index.native.js.map +1 -1
  125. package/dist/jsx/components/DataTableCell/CellModalEditor.mjs +4 -8
  126. package/dist/jsx/components/DataTableCell/CellModalEditor.mjs.map +1 -1
  127. package/dist/jsx/components/DataTableCell/index.mjs +1 -33
  128. package/dist/jsx/components/DataTableCell/index.mjs.map +1 -1
  129. package/dist/jsx/components/DataTableCell/index.native.js +1 -34
  130. package/dist/jsx/components/DataTableCell/index.native.js.map +1 -1
  131. package/dist/jsx/components/DataTableExport/index.mjs +1 -0
  132. package/dist/jsx/components/DataTableExport/index.mjs.map +1 -1
  133. package/dist/jsx/components/DataTableExport/index.native.js +1 -0
  134. package/dist/jsx/components/DataTableExport/index.native.js.map +1 -1
  135. package/dist/jsx/components/DataTableFilterButton/index.mjs +1 -1
  136. package/dist/jsx/components/DataTableFilterButton/index.mjs.map +1 -1
  137. package/dist/jsx/components/DataTableFilterButton/index.native.js +4 -1
  138. package/dist/jsx/components/DataTableFilterButton/index.native.js.map +1 -1
  139. package/dist/jsx/components/DataTableGrouping/index.mjs +1 -0
  140. package/dist/jsx/components/DataTableGrouping/index.mjs.map +1 -1
  141. package/dist/jsx/components/DataTableGrouping/index.native.js +1 -0
  142. package/dist/jsx/components/DataTableGrouping/index.native.js.map +1 -1
  143. package/dist/jsx/components/DataTableToolbar/index.mjs +1 -0
  144. package/dist/jsx/components/DataTableToolbar/index.mjs.map +1 -1
  145. package/dist/jsx/components/DataTableToolbar/index.native.js +1 -0
  146. package/dist/jsx/components/DataTableToolbar/index.native.js.map +1 -1
  147. package/dist/jsx/components/FilterManager.mjs +18 -14
  148. package/dist/jsx/components/FilterManager.mjs.map +1 -1
  149. package/dist/jsx/components/FilterManager.native.js +18 -14
  150. package/dist/jsx/components/FilterManager.native.js.map +1 -1
  151. package/dist/jsx/components/TableInput/index.native.js +3 -0
  152. package/dist/jsx/components/TableInput/index.native.js.map +1 -1
  153. package/dist/jsx/hooks/useDataTable.mjs +17 -1
  154. package/dist/jsx/hooks/useDataTable.mjs.map +1 -1
  155. package/dist/jsx/hooks/useDataTable.native.js +19 -1
  156. package/dist/jsx/hooks/useDataTable.native.js.map +1 -1
  157. package/dist/jsx/utils/rowPress.mjs +19 -0
  158. package/dist/jsx/utils/rowPress.mjs.map +1 -0
  159. package/dist/jsx/utils/rowPress.native.js +56 -0
  160. package/dist/jsx/utils/rowPress.native.js.map +1 -0
  161. package/package.json +13 -13
  162. package/src/components/ColumnHeaderFilter/index.tsx +1 -0
  163. package/src/components/DataTable/DataTable.spec.tsx +4 -1
  164. package/src/components/DataTable/DataTable.stories.tsx +190 -5
  165. package/src/components/DataTable/DataTableMobileCards.tsx +30 -4
  166. package/src/components/DataTable/DataTableRoot.tsx +195 -8
  167. package/src/components/DataTable/DataTableVirtualized.tsx +8 -0
  168. package/src/components/DataTable/cardLayout.spec.tsx +4 -1
  169. package/src/components/DataTable/customCellAlign.spec.tsx +124 -0
  170. package/src/components/DataTable/disabledContract.spec.tsx +4 -3
  171. package/src/components/DataTable/index.native.tsx +47 -1
  172. package/src/components/DataTable/rowPress.spec.tsx +229 -0
  173. package/src/components/DataTable/selectionSemantics.spec.tsx +156 -0
  174. package/src/components/DataTableBulkActions/index.tsx +16 -2
  175. package/src/components/DataTableBulkActions/selectionCountI18n.spec.tsx +94 -0
  176. package/src/components/DataTableCell/CellModalEditor.tsx +3 -1
  177. package/src/components/DataTableCell/cellDraftPolicy.spec.tsx +10 -2
  178. package/src/components/DataTableCell/dataTableCell.spec.tsx +10 -2
  179. package/src/components/DataTableCell/index.tsx +5 -36
  180. package/src/components/DataTableColumnPinning/DataTableColumnPinning.stories.tsx +49 -17
  181. package/src/components/DataTableDateFilter/DataTableDateFilter.stories.tsx +4 -3
  182. package/src/components/DataTableExport/DataTableExport.stories.tsx +3 -2
  183. package/src/components/DataTableExport/index.tsx +1 -0
  184. package/src/components/DataTableFilterButton/index.tsx +4 -1
  185. package/src/components/DataTableGrouping/DataTableGrouping.spec.tsx +59 -2
  186. package/src/components/DataTableGrouping/DataTableGrouping.stories.tsx +17 -5
  187. package/src/components/DataTableGrouping/index.tsx +1 -0
  188. package/src/components/DataTablePagination/DataTablePagination.stories.tsx +34 -20
  189. package/src/components/DataTableToolbar/index.tsx +1 -0
  190. package/src/components/DataTableViewOptions/DataTableViewOptions.stories.tsx +2 -1
  191. package/src/components/FilterManager.tsx +21 -13
  192. package/src/components/TableInput/index.native.tsx +3 -0
  193. package/src/components/__scratch__/scratch.spec.tsx +46 -0
  194. package/src/hooks/useDataTable.ts +27 -1
  195. package/src/types.ts +25 -0
  196. package/src/utils/rowPress.ts +58 -0
  197. package/types/components/ColumnHeaderFilter/index.d.ts.map +1 -1
  198. package/types/components/DataTable/DataTableMobileCards.d.ts +13 -1
  199. package/types/components/DataTable/DataTableMobileCards.d.ts.map +1 -1
  200. package/types/components/DataTable/DataTableRoot.d.ts +1 -1
  201. package/types/components/DataTable/DataTableRoot.d.ts.map +1 -1
  202. package/types/components/DataTable/DataTableVirtualized.d.ts +7 -1
  203. package/types/components/DataTable/DataTableVirtualized.d.ts.map +1 -1
  204. package/types/components/DataTable/index.native.d.ts +1 -1
  205. package/types/components/DataTable/index.native.d.ts.map +1 -1
  206. package/types/components/DataTableBulkActions/index.d.ts.map +1 -1
  207. package/types/components/DataTableCell/CellModalEditor.d.ts.map +1 -1
  208. package/types/components/DataTableCell/index.d.ts.map +1 -1
  209. package/types/components/DataTableFilterButton/index.d.ts.map +1 -1
  210. package/types/components/DataTableGrouping/index.d.ts.map +1 -1
  211. package/types/components/DataTableToolbar/index.d.ts.map +1 -1
  212. package/types/components/FilterManager.d.ts +7 -1
  213. package/types/components/FilterManager.d.ts.map +1 -1
  214. package/types/components/TableInput/index.native.d.ts.map +1 -1
  215. package/types/hooks/useDataTable.d.ts.map +1 -1
  216. package/types/types.d.ts +23 -0
  217. package/types/types.d.ts.map +1 -1
  218. package/types/utils/rowPress.d.ts +20 -0
  219. package/types/utils/rowPress.d.ts.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","useDataTable_exports","createUrlStrategy","useDataTable","module","exports","import_react_table","require","import_useTableSelection","import_router","import_react","import_filterFields","import_filterUtils","import_paginationDefaults","import_urlStateUtils","import_useInfiniteRows","import_useTableFiltering","import_useTableSorting","import_useTableViews","_type_of","obj","Symbol","constructor","useUrlState","createOneStackUrlStrategy","createOneStackUrlStrategy2","debounceMs","getState","defaultValue","createReactRouterUrlStrategy","createReactRouterUrlStrategy2","useSearchParams2","searchParams","setSearchParams","getValueFromUrl","getValueFromUrl2","useSearchParams","serialized","JSON","parse","decodeURIComponent","error","console","warn","state","_setState","default","useState","updateUrl","useCallback","newState","newSearchParams","URLSearchParams","set","encodeURIComponent","stringify","createNextJsAppRouterStrategy","createNextJsAppRouterStrategy2","useRouter","router","replace","toString","scroll","createUniversalUrlStrategy","createUniversalUrlStrategy2","useMemo","tableState","oneStack","reactRouter","nextJs","universal","custom","strategy","data","columns","initialState","onStateChange","syncWithUrl","urlDebounceMs","urlStrategy","manualFiltering","manualPagination","manualSorting","enableFiltering","filterableFields","enableSorting","enablePagination","_enablePagination","paginationMode","loadPage","enableColumnVisibility","enableColumnOrdering","_enableColumnOrdering","enableColumnResizing","enableGlobalSearch","enableViews","_enableViews","enableRowExpansion","getSubRows","enableColumnPinning","enableGrouping","enableRowSelection","rowCount","pageCount","arguments","length","_infiniteRows_totalCount","defaultTableState","pagination","pageIndex","pageSize","DEFAULT_PAGE_SIZE","sorting","filters","columnFilters","globalFilter","columnVisibility","columnOrder","map","col","id","columnSizing","views","urlStateStrategy","urlState","setUrlState","serializeTableState","deserializedState","deserializeTableState","filtering","useTableFiltering","initialFilters","initialColumnFilters","initialGlobalFilter","sortingHook","useTableSorting","initialSorting","viewsHook","useTableViews","initialViews","initialActiveViewId","activeViewId","setPagination","setColumnVisibility","setColumnOrder","setColumnSizing","expanded","setExpanded","grouping","setGrouping","columnPinning","setColumnPinning","left","right","selection","useTableSelection","infiniteEnabled","isLoaderMode","infiniteRows","useInfiniteRows","enabled","advancedFilters","effectiveData","rows","effectiveManualFiltering","effectiveManualSorting","effectiveManualPagination","filterFields","resolveFilterFields","preFilteredData","applyFiltersToData","operatorFilterFn","row","columnId","filterValue","_row_getValue","isFilterValueShape","type","getFilterFieldType","applyFilterToValue","getValue","Array","isArray","includes","String","toLowerCase","useEffect","currentState2","getRowId","index","table","useReactTable","defaultColumn","filterFn","getCoreRowModel","getExpandedRowModel","originalRow","subRows","rowSelection","onPaginationChange","onSortingChange","setSorting","onColumnFiltersChange","setColumnFilters","onGlobalFilterChange","setGlobalFilter","onColumnVisibilityChange","onColumnOrderChange","onColumnSizingChange","onExpandedChange","onColumnPinningChange","onGroupingChange","onRowSelectionChange","setRowSelection","getFilteredRowModel","getPaginationRowModel","getSortedRowModel","getGroupedRowModel","getFacetedRowModel","getFacetedUniqueValues","getFacetedMinMaxValues","columnResizeMode","enableMultiSort","enableColumnFilters","enableGlobalFilter","enableHiding","saveView","loadView","viewId","view","setFilters","searchQuery","visibility","values","forEach","visible","sizing","width","filteredData","original","paginatedData","totalPages","Math","ceil","rowModelCount","getRowModel","rowModelCountRef","useRef","current","loadMoreInfinite","loadMore","loadMoreClient","infinite","visibleRowCount","min","loadedPages","totalCount","exhausted","isInitialLoading","isAppending","actions","addFilter","updateFilter","removeFilter","clearFilters","toggleColumnVisibility","prev"],"sources":["../../../src/hooks/useDataTable.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","useDataTable_exports","createUrlStrategy","useDataTable","module","exports","import_react_table","require","import_useTableSelection","import_router","import_react","import_filterFields","import_filterUtils","import_paginationDefaults","import_urlStateUtils","import_useInfiniteRows","import_useTableFiltering","import_useTableSorting","import_useTableViews","_type_of","obj","Symbol","constructor","useUrlState","createOneStackUrlStrategy","createOneStackUrlStrategy2","debounceMs","getState","defaultValue","createReactRouterUrlStrategy","createReactRouterUrlStrategy2","useSearchParams2","searchParams","setSearchParams","getValueFromUrl","getValueFromUrl2","useSearchParams","serialized","JSON","parse","decodeURIComponent","error","console","warn","state","_setState","default","useState","updateUrl","useCallback","newState","newSearchParams","URLSearchParams","set","encodeURIComponent","stringify","createNextJsAppRouterStrategy","createNextJsAppRouterStrategy2","useRouter","router","replace","toString","scroll","createUniversalUrlStrategy","createUniversalUrlStrategy2","useMemo","tableState","oneStack","reactRouter","nextJs","universal","custom","strategy","data","columns","initialState","onStateChange","syncWithUrl","urlDebounceMs","urlStrategy","manualFiltering","manualPagination","manualSorting","enableFiltering","filterableFields","enableSorting","enablePagination","_enablePagination","paginationMode","loadPage","enableColumnVisibility","enableColumnOrdering","_enableColumnOrdering","enableColumnResizing","enableGlobalSearch","enableViews","_enableViews","enableRowExpansion","getSubRows","enableColumnPinning","enableGrouping","enableRowSelection","rowCount","pageCount","arguments","length","_infiniteRows_totalCount","defaultTableState","pagination","pageIndex","pageSize","DEFAULT_PAGE_SIZE","sorting","filters","columnFilters","globalFilter","columnVisibility","columnOrder","map","col","id","columnSizing","views","urlStateStrategy","urlState","setUrlState","serializeTableState","deserializedState","deserializeTableState","filtering","useTableFiltering","initialFilters","initialColumnFilters","initialGlobalFilter","sortingHook","useTableSorting","initialSorting","viewsHook","useTableViews","initialViews","initialActiveViewId","activeViewId","setPagination","setColumnVisibility","setColumnOrder","setColumnSizing","expanded","setExpanded","grouping","setGrouping","columnPinning","setColumnPinning","left","right","selection","useTableSelection","infiniteEnabled","isLoaderMode","infiniteRows","useInfiniteRows","enabled","advancedFilters","effectiveData","rows","effectiveManualFiltering","effectiveManualSorting","effectiveManualPagination","filterFields","resolveFilterFields","preFilteredData","applyFiltersToData","operatorFilterFn","row","columnId","filterValue","_row_getValue","isFilterValueShape","type","getFilterFieldType","applyFilterToValue","getValue","Array","isArray","includes","String","toLowerCase","useEffect","currentState2","getRowId","index","normalizedColumns","column","sortable","filterable","enableColumnFilter","table","useReactTable","defaultColumn","filterFn","getCoreRowModel","getExpandedRowModel","originalRow","subRows","rowSelection","onPaginationChange","onSortingChange","setSorting","onColumnFiltersChange","setColumnFilters","onGlobalFilterChange","setGlobalFilter","onColumnVisibilityChange","onColumnOrderChange","onColumnSizingChange","onExpandedChange","onColumnPinningChange","onGroupingChange","onRowSelectionChange","setRowSelection","getFilteredRowModel","getPaginationRowModel","getSortedRowModel","getGroupedRowModel","getFacetedRowModel","getFacetedUniqueValues","getFacetedMinMaxValues","columnResizeMode","enableMultiSort","enableColumnFilters","enableGlobalFilter","enableHiding","saveView","loadView","viewId","view","setFilters","searchQuery","visibility","values","forEach","visible","sizing","width","filteredData","original","paginatedData","totalPages","Math","ceil","rowModelCount","getRowModel","rowModelCountRef","useRef","current","loadMoreInfinite","loadMore","loadMoreClient","infinite","visibleRowCount","min","loadedPages","totalCount","exhausted","isInitialLoading","isAppending","actions","addFilter","updateFilter","removeFilter","clearFilters"],"sources":["../../../src/hooks/useDataTable.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ const INTERACTIVE_SELECTOR = ["a[href]", "button", "input", "select", "textarea", "label", '[contenteditable="true"]', '[role="button"]', '[role="checkbox"]', '[role="combobox"]', '[role="link"]', '[role="menuitem"]', '[role="option"]', '[role="radio"]', '[role="slider"]', '[role="spinbutton"]', '[role="switch"]', '[role="textbox"]',
2
+ // Expand/collapse toggles (the row-expansion caret) predate a role — the
3
+ // expanded-state attribute is their detectable interactivity signal.
4
+ "[aria-expanded]"].join(", ");
5
+ function isInteractiveInnerTarget(target, boundary) {
6
+ if (typeof Element === "undefined") return false;
7
+ if (!(target instanceof Element)) return false;
8
+ const boundaryEl = boundary instanceof Element ? boundary : null;
9
+ let node = target;
10
+ while (node && node !== boundaryEl) {
11
+ if (node.matches(INTERACTIVE_SELECTOR)) return true;
12
+ const tabIndex = node.getAttribute("tabindex");
13
+ if (tabIndex != null && Number(tabIndex) >= 0) return true;
14
+ node = node.parentElement;
15
+ }
16
+ return false;
17
+ }
18
+ export { isInteractiveInnerTarget };
19
+ //# sourceMappingURL=rowPress.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["INTERACTIVE_SELECTOR","join","isInteractiveInnerTarget","target","boundary","Element","boundaryEl","node","matches","tabIndex","getAttribute","Number","parentElement"],"sources":["../../../src/utils/rowPress.ts"],"sourcesContent":[null],"mappings":"AAaA,MAAMA,oBAAA,GAAuB,CAC3B,WACA,UACA,SACA,UACA,YACA,SACA,4BACA,mBACA,qBACA,qBACA,iBACA,qBACA,mBACA,kBACA,mBACA,uBACA,mBACA;AAAA;AAAA;AAGA,kBACF,CAAEC,IAAA,CAAK,IAAI;AAQJ,SAASC,yBAAyBC,MAAA,EAAiBC,QAAA,EAA4B;EACpF,IAAI,OAAOC,OAAA,KAAY,aAAa,OAAO;EAC3C,IAAI,EAAEF,MAAA,YAAkBE,OAAA,GAAU,OAAO;EACzC,MAAMC,UAAA,GAAaF,QAAA,YAAoBC,OAAA,GAAUD,QAAA,GAAW;EAC5D,IAAIG,IAAA,GAAuBJ,MAAA;EAC3B,OAAOI,IAAA,IAAQA,IAAA,KAASD,UAAA,EAAY;IAClC,IAAIC,IAAA,CAAKC,OAAA,CAAQR,oBAAoB,GAAG,OAAO;IAC/C,MAAMS,QAAA,GAAWF,IAAA,CAAKG,YAAA,CAAa,UAAU;IAG7C,IAAID,QAAA,IAAY,QAAQE,MAAA,CAAOF,QAAQ,KAAK,GAAG,OAAO;IACtDF,IAAA,GAAOA,IAAA,CAAKK,aAAA;EACd;EACA,OAAO;AACT","ignoreList":[]}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var rowPress_exports = {};
26
+ __export(rowPress_exports, {
27
+ isInteractiveInnerTarget: () => isInteractiveInnerTarget
28
+ });
29
+ module.exports = __toCommonJS(rowPress_exports);
30
+ function _instanceof(left, right) {
31
+ "@swc/helpers - instanceof";
32
+
33
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
34
+ return !!right[Symbol.hasInstance](left);
35
+ } else {
36
+ return left instanceof right;
37
+ }
38
+ }
39
+ var INTERACTIVE_SELECTOR = ["a[href]", "button", "input", "select", "textarea", "label", '[contenteditable="true"]', '[role="button"]', '[role="checkbox"]', '[role="combobox"]', '[role="link"]', '[role="menuitem"]', '[role="option"]', '[role="radio"]', '[role="slider"]', '[role="spinbutton"]', '[role="switch"]', '[role="textbox"]',
40
+ // Expand/collapse toggles (the row-expansion caret) predate a role — the
41
+ // expanded-state attribute is their detectable interactivity signal.
42
+ "[aria-expanded]"].join(", ");
43
+ function isInteractiveInnerTarget(target, boundary) {
44
+ if (typeof Element === "undefined") return false;
45
+ if (!_instanceof(target, Element)) return false;
46
+ var boundaryEl = _instanceof(boundary, Element) ? boundary : null;
47
+ var node = target;
48
+ while (node && node !== boundaryEl) {
49
+ if (node.matches(INTERACTIVE_SELECTOR)) return true;
50
+ var tabIndex = node.getAttribute("tabindex");
51
+ if (tabIndex != null && Number(tabIndex) >= 0) return true;
52
+ node = node.parentElement;
53
+ }
54
+ return false;
55
+ }
56
+ //# sourceMappingURL=rowPress.native.js.map
@@ -0,0 +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","rowPress_exports","isInteractiveInnerTarget","module","exports","_instanceof","left","right","Symbol","hasInstance","INTERACTIVE_SELECTOR"],"sources":["../../../src/utils/rowPress.ts"],"sourcesContent":[null],"mappings":"AAaA,YAAM;;AAAuB,IAC3BA,SAAA,GAAAC,MAAA,CAAAC,cAAA;AAAA,IACAC,gBAAA,GAAAF,MAAA,CAAAG,wBAAA;AAAA,IACAC,iBAAA,GAAAJ,MAAA,CAAAK,mBAAA;AAAA,IACAC,YAAA,GAAAN,MAAA,CAAAO,SAAA,CAAAC,cAAA;AAAA,IACAC,QAAA,GAAAA,CAAAC,MAAA,EAAAC,GAAA;EACA,SAAAC,IAAA,IAAAD,GAAA,EACAZ,SAAA,CAAAW,MAAA,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAAA;AACA,IACAC,WAAA,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EACA,IAAAF,IAAA,WAAAA,IAAA,wBAAAA,IAAA;IACA,SAAAG,GAAA,IAAAhB,iBAAA,CAAAa,IAAA,GACA,KAAAX,YAAA,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EACAnB,SAAA,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EACA;EACA,OAAAE,EAAA;AAAA;AACA,IACAM,YAAA,GAAAC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AAAA,IACAE,gBAAA;AAAAhB,QAAA,CAAAgB,gBAAA;EAAAC,wBAAA,EAAAA,CAAA,KAAAA;AAAA,EAGA;AACFC,MAAE,CAAKC,OAAI,GAAAN,YAAA,CAAAG,gBAAA;AAQJ,SAASI,YAAAC,IAAA,EAAAC,KAAA,EAAyB;EACvC,2BAAuB;;EACvB,IAAIA,KAAE,mBAAkBC,MAAU,gBAAO,IAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA;IACzC,OAAM,EAAAF,KAAA,CAAAC,MAAa,CAAAC,WAAA,EAAAH,IAAoB;EACvC,OAAI;IACJ,OAAOA,IAAA,YAAiBC,KAAA;EACtB;AACA;AAGA,IAAAG,oBAAgB,IAChB,SAAO,EACT,UACA,OAAO,EACT,U","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplatform.one/table",
3
- "version": "6.4.3",
3
+ "version": "6.7.0",
4
4
  "description": "Advanced table components with filtering, pagination, sorting, and URL state management",
5
5
  "keywords": [
6
6
  "cross-platform",
@@ -80,13 +80,13 @@
80
80
  "@tanstack/react-table": "^8.21.3",
81
81
  "@tanstack/table-core": "^8.21.3",
82
82
  "tamagui": "2.0.0-rc.41",
83
- "@multiplatform.one/router": "6.4.3",
84
- "@multiplatform.one/platform": "6.4.3",
85
- "@multiplatform.one/table-primitives": "6.4.3",
86
- "@multiplatform.one/forms": "6.4.3",
87
- "@multiplatform.one/theme": "6.4.3",
88
- "@multiplatform.one/rich-text": "6.4.3",
89
- "@multiplatform.one/components": "6.4.3"
83
+ "@multiplatform.one/rich-text": "6.7.0",
84
+ "@multiplatform.one/table-primitives": "6.7.0",
85
+ "@multiplatform.one/forms": "6.7.0",
86
+ "@multiplatform.one/platform": "6.7.0",
87
+ "@multiplatform.one/components": "6.7.0",
88
+ "@multiplatform.one/router": "6.7.0",
89
+ "@multiplatform.one/theme": "6.7.0"
90
90
  },
91
91
  "devDependencies": {
92
92
  "@tamagui/build": "2.0.0-rc.41",
@@ -99,10 +99,10 @@
99
99
  "react": "19.2.5",
100
100
  "react-dom": "19.2.5",
101
101
  "vitest": "^4.1.5",
102
- "@multiplatform.one/router": "6.4.3",
103
- "@multiplatform.one/test-utils": "6.4.3",
104
- "@multiplatform.one/config": "6.4.3",
105
- "@multiplatform.one/storybook": "6.4.3"
102
+ "@multiplatform.one/config": "6.7.0",
103
+ "@multiplatform.one/storybook": "6.7.0",
104
+ "@multiplatform.one/router": "6.7.0",
105
+ "@multiplatform.one/test-utils": "6.7.0"
106
106
  },
107
107
  "peerDependencies": {
108
108
  "i18next": "^25.0.0",
@@ -118,6 +118,6 @@
118
118
  "scripts": {
119
119
  "build": "rm -rf dist types 2>/dev/null && tamagui-build --ts-project ./tsconfig.build.json --exclude '\\.spec\\.|\\.test\\.|\\.stories\\.'",
120
120
  "test": "vitest run --coverage --coverage.provider=v8 --coverage.reporter=text --coverage.reporter=lcov --coverage.reporter=html",
121
- "typecheck": "tsc --noEmit"
121
+ "typecheck": "tsgo --noEmit"
122
122
  }
123
123
  }
@@ -117,6 +117,7 @@ export function ColumnHeaderFilter({
117
117
  backgroundColor="$background"
118
118
  {...knobProps.panelPadding}
119
119
  minWidth={240}
120
+ transition={knobProps.transition}
120
121
  enterStyle={{ y: -5, opacity: 0 }}
121
122
  exitStyle={{ y: -5, opacity: 0 }}
122
123
  elevate
@@ -328,7 +328,10 @@ describe("DataTable", () => {
328
328
  expect(screen.getByText("John")).toBeDefined();
329
329
  expect(screen.getByText("Jane")).toBeDefined();
330
330
 
331
- await user.type(screen.getByPlaceholderText("Search..."), "Charlie");
331
+ // The forms SearchInput default placeholder is bidi-isolated (LC-58,
332
+ // FSI…PDI) — match the isolated form, same as the DataTablePagination
333
+ // range-label assertions.
334
+ await user.type(screen.getByPlaceholderText("\u2068Search...\u2069"), "Charlie");
332
335
 
333
336
  await waitFor(() => {
334
337
  expect(screen.queryByText("John")).toBeNull();
@@ -2,8 +2,14 @@ import type { Meta, StoryObj } from "@storybook/react-native-web-vite";
2
2
  import { fn } from "storybook/test";
3
3
  import { createColumnHelper } from "@tanstack/react-table";
4
4
  import React, { useMemo } from "react";
5
+ import {
6
+ formatAbsoluteDate,
7
+ formatCurrency,
8
+ type GuardrailSpecimenParameter,
9
+ } from "@multiplatform.one/theme";
5
10
  import { Button } from "@multiplatform.one/forms";
6
- import { Avatar, Text, View, YStack } from "tamagui";
11
+ import { Avatar } from "@multiplatform.one/components";
12
+ import { Text, View, YStack } from "tamagui";
7
13
  import {
8
14
  type DataTableColumn,
9
15
  type DataTableData,
@@ -84,7 +90,7 @@ const columns: DataTableColumn<User>[] = [
84
90
  columnHelper.accessor("avatar", {
85
91
  header: "Avatar",
86
92
  cell: (info) => (
87
- <Avatar circular size="$3">
93
+ <Avatar circular size="$3" backgroundColor="$gray6">
88
94
  <Avatar.Image alt="User avatar" src={info.getValue()} />
89
95
  <Avatar.Fallback backgroundColor="$gray6" />
90
96
  </Avatar>
@@ -143,7 +149,11 @@ const columns: DataTableColumn<User>[] = [
143
149
  // Salary Column
144
150
  columnHelper.accessor("salary", {
145
151
  header: "Salary",
146
- cell: (info) => <Text>${info.getValue().toLocaleString()}</Text>,
152
+ cell: (info) => (
153
+ <Text>
154
+ {formatCurrency(info.getValue() as number, { symbol: "$", fractionDigits: "auto" })}
155
+ </Text>
156
+ ),
147
157
  filterFn: "inNumberRange",
148
158
  }) as DataTableColumn<User>,
149
159
 
@@ -179,14 +189,14 @@ const columns: DataTableColumn<User>[] = [
179
189
  // Join Date Column
180
190
  columnHelper.accessor("joinDate", {
181
191
  header: "Join Date",
182
- cell: (info) => <Text>{new Date(info.getValue()).toLocaleDateString()}</Text>,
192
+ cell: (info) => <Text>{formatAbsoluteDate(info.getValue() as string)}</Text>,
183
193
  filterFn: "includesString",
184
194
  }) as DataTableColumn<User>,
185
195
 
186
196
  // Last Login Column
187
197
  columnHelper.accessor("lastLogin", {
188
198
  header: "Last Login",
189
- cell: (info) => <Text>{new Date(info.getValue()).toLocaleDateString()}</Text>,
199
+ cell: (info) => <Text>{formatAbsoluteDate(info.getValue() as string)}</Text>,
190
200
  filterFn: "includesString",
191
201
  }) as DataTableColumn<User>,
192
202
 
@@ -802,10 +812,14 @@ const editableColumns: DataTableColumn<EditablePerson>[] = [
802
812
  header: "Category",
803
813
  field: "select",
804
814
  fieldProps: {
815
+ // >5 options: shorter single-select lists trip `select-too-few-options` (DG-CTRL-01).
805
816
  options: [
806
817
  { label: "Electronics", value: "electronics" },
807
818
  { label: "Clothing", value: "clothing" },
808
819
  { label: "Food", value: "food" },
820
+ { label: "Books", value: "books" },
821
+ { label: "Toys", value: "toys" },
822
+ { label: "Garden", value: "garden" },
809
823
  ],
810
824
  },
811
825
  },
@@ -858,6 +872,15 @@ export const EditableTable: Story = {
858
872
  * state (see ReadOnly).
859
873
  */
860
874
  export const Disabled: Story = {
875
+ parameters: {
876
+ // LC-57 allowlist: this story IS the whole-table disabled-dial demo — every
877
+ // piece of chrome rests disabled by design, and per-control reasons would
878
+ // say nothing beyond what the story title already does.
879
+ guardrailSpecimen: {
880
+ warns: ["bare-disabled"],
881
+ reason: "Disabled-dial specimen: the entire table (all chrome) rests disabled by design.",
882
+ } satisfies GuardrailSpecimenParameter,
883
+ },
861
884
  args: {
862
885
  data: editableData as unknown as Record<string, any>[],
863
886
  columns: editableColumns as DataTableColumn<Record<string, any>>[],
@@ -1278,6 +1301,7 @@ const selectFieldData: SelectFieldRow[] = [
1278
1301
  { id: 3, category: "food", priority: "low", status: "inactive" },
1279
1302
  ];
1280
1303
 
1304
+ // >5 options per list: shorter single-select lists trip `select-too-few-options` (DG-CTRL-01).
1281
1305
  const selectFieldColumns: DataTableColumn<SelectFieldRow>[] = [
1282
1306
  {
1283
1307
  accessorKey: "category",
@@ -1288,6 +1312,9 @@ const selectFieldColumns: DataTableColumn<SelectFieldRow>[] = [
1288
1312
  { label: "Electronics", value: "electronics" },
1289
1313
  { label: "Clothing", value: "clothing" },
1290
1314
  { label: "Food", value: "food" },
1315
+ { label: "Books", value: "books" },
1316
+ { label: "Toys", value: "toys" },
1317
+ { label: "Garden", value: "garden" },
1291
1318
  ],
1292
1319
  },
1293
1320
  },
@@ -1297,9 +1324,12 @@ const selectFieldColumns: DataTableColumn<SelectFieldRow>[] = [
1297
1324
  field: "select",
1298
1325
  fieldProps: {
1299
1326
  options: [
1327
+ { label: "Highest", value: "highest" },
1300
1328
  { label: "High", value: "high" },
1301
1329
  { label: "Medium", value: "medium" },
1302
1330
  { label: "Low", value: "low" },
1331
+ { label: "Lowest", value: "lowest" },
1332
+ { label: "Deferred", value: "deferred" },
1303
1333
  ],
1304
1334
  },
1305
1335
  },
@@ -1312,6 +1342,9 @@ const selectFieldColumns: DataTableColumn<SelectFieldRow>[] = [
1312
1342
  { label: "Active", value: "active" },
1313
1343
  { label: "Pending", value: "pending" },
1314
1344
  { label: "Inactive", value: "inactive" },
1345
+ { label: "Draft", value: "draft" },
1346
+ { label: "Archived", value: "archived" },
1347
+ { label: "Blocked", value: "blocked" },
1315
1348
  ],
1316
1349
  },
1317
1350
  },
@@ -2105,12 +2138,14 @@ const searchableColumns: DataTableColumn<SearchableRow>[] = [
2105
2138
  header: "Department",
2106
2139
  field: "select",
2107
2140
  fieldProps: {
2141
+ // >5 options: shorter single-select lists trip `select-too-few-options` (DG-CTRL-01).
2108
2142
  options: [
2109
2143
  { label: "Engineering", value: "Engineering" },
2110
2144
  { label: "Marketing", value: "Marketing" },
2111
2145
  { label: "Sales", value: "Sales" },
2112
2146
  { label: "HR", value: "HR" },
2113
2147
  { label: "Finance", value: "Finance" },
2148
+ { label: "Legal", value: "Legal" },
2114
2149
  ],
2115
2150
  },
2116
2151
  },
@@ -2773,10 +2808,14 @@ const hiddenFilterColumns: DataTableColumn<User>[] = [
2773
2808
  header: "Status",
2774
2809
  field: "select",
2775
2810
  fieldProps: {
2811
+ // >5 options: shorter single-select lists trip `select-too-few-options` (DG-CTRL-01).
2776
2812
  options: [
2777
2813
  { label: "Active", value: "active" },
2778
2814
  { label: "Inactive", value: "inactive" },
2779
2815
  { label: "Pending", value: "pending" },
2816
+ { label: "Draft", value: "draft" },
2817
+ { label: "Archived", value: "archived" },
2818
+ { label: "Blocked", value: "blocked" },
2780
2819
  ],
2781
2820
  },
2782
2821
  },
@@ -2875,3 +2914,149 @@ const CompoundCompositionStory = () => {
2875
2914
  export const CompoundComposition: Story = {
2876
2915
  render: () => <CompoundCompositionStory />,
2877
2916
  };
2917
+
2918
+ // ============================================================================
2919
+ // ROW PRESS (onRowPress — first-class row activation)
2920
+ // ============================================================================
2921
+
2922
+ /**
2923
+ * onRowPress makes each row ONE pressable unit (LC-49/LC-50): click/tap
2924
+ * anywhere in the row activates, the row set exposes a single roving tab
2925
+ * stop (ArrowUp/Down + Home/End move it, Enter AND Space activate), and
2926
+ * `rowLabel` names each row for AT. Inner interactive controls — the
2927
+ * selection checkboxes and the per-row Edit button here — stay isolated:
2928
+ * pressing them never fires the row press.
2929
+ */
2930
+ const RowPressStory = () => {
2931
+ const data = useMemo(() => generateUsers(8), []);
2932
+ // Explicit ids on every column: DataTable seeds columnOrder from
2933
+ // `col.id || ""`, so mixing id-less accessor columns with id'd display
2934
+ // columns would reorder the id'd ones first.
2935
+ const rowPressColumns = useMemo<DataTableColumn<User>[]>(
2936
+ () => [
2937
+ { id: "firstName", accessorKey: "firstName", header: "First Name" },
2938
+ { id: "department", accessorKey: "department", header: "Department" },
2939
+ {
2940
+ id: "salary",
2941
+ accessorKey: "salary",
2942
+ header: "Salary",
2943
+ align: "right",
2944
+ cell: (info) => (
2945
+ <Text fontWeight="600">
2946
+ {formatCurrency(info.getValue() as number, { symbol: "$", fractionDigits: "auto" })}
2947
+ </Text>
2948
+ ),
2949
+ },
2950
+ {
2951
+ id: "row_actions",
2952
+ header: "Actions",
2953
+ cell: () => (
2954
+ <Button size="$2" onPress={fn()}>
2955
+ Edit
2956
+ </Button>
2957
+ ),
2958
+ },
2959
+ ],
2960
+ [],
2961
+ );
2962
+ return (
2963
+ <DataTable
2964
+ data={data}
2965
+ columns={rowPressColumns as DataTableColumn<Record<string, any>>[]}
2966
+ enableRowSelection
2967
+ enableFiltering={false}
2968
+ enableGlobalSearch={false}
2969
+ enablePagination={false}
2970
+ onRowPress={fn()}
2971
+ rowLabel={(row) => (row as User).firstName}
2972
+ aria-label="Row press table"
2973
+ />
2974
+ );
2975
+ };
2976
+
2977
+ export const RowPress: Story = {
2978
+ render: () => <RowPressStory />,
2979
+ parameters: {
2980
+ docs: {
2981
+ description: {
2982
+ story:
2983
+ 'First-class row activation: `onRowPress(row, index)` fires on click/tap anywhere in a row and on Enter/Space while the row is focused. One roving tab stop per row set (LC-49), arrow keys move it, and inner controls (selection checkboxes, buttons) never trigger the row press. `rowLabel` names rows and their selection checkboxes ("Select row User3").',
2984
+ },
2985
+ },
2986
+ },
2987
+ };
2988
+
2989
+ // ============================================================================
2990
+ // CUSTOM-CELL ALIGNMENT (DG-TBL-01 for custom renderers)
2991
+ // ============================================================================
2992
+
2993
+ /**
2994
+ * Custom `cell` renderers inherit the column `align` through the table's
2995
+ * alignment container — no self-alignment. In the semantic-table
2996
+ * displayMode (columnLayout="auto") the cell box is display:table-cell
2997
+ * where flex justifyContent is a no-op; the wrapper restores the column
2998
+ * line for custom content (numerics share one right edge, LC-44).
2999
+ */
3000
+ const CustomCellAlignmentStory = () => {
3001
+ const data = useMemo(() => generateUsers(6), []);
3002
+ const alignColumns = useMemo<DataTableColumn<User>[]>(
3003
+ () => [
3004
+ {
3005
+ id: "firstName",
3006
+ accessorKey: "firstName",
3007
+ header: "Name (left)",
3008
+ cell: (info) => <Text fontWeight="600">{String(info.getValue())}</Text>,
3009
+ },
3010
+ {
3011
+ id: "age",
3012
+ accessorKey: "age",
3013
+ header: "Age (right)",
3014
+ align: "right",
3015
+ cell: (info) => <Text>{String(info.getValue())}</Text>,
3016
+ },
3017
+ {
3018
+ id: "salary",
3019
+ accessorKey: "salary",
3020
+ header: "Salary (right)",
3021
+ align: "right",
3022
+ cell: (info) => (
3023
+ <Text fontWeight="600">
3024
+ {formatCurrency(info.getValue() as number, { symbol: "$", fractionDigits: "auto" })}
3025
+ </Text>
3026
+ ),
3027
+ },
3028
+ {
3029
+ id: "status",
3030
+ accessorKey: "status",
3031
+ header: "Status (center)",
3032
+ align: "center",
3033
+ cell: (info) => <Text>{String(info.getValue())}</Text>,
3034
+ },
3035
+ ],
3036
+ [],
3037
+ );
3038
+ return (
3039
+ <DataTable
3040
+ data={data}
3041
+ columns={alignColumns as DataTableColumn<Record<string, any>>[]}
3042
+ columnLayout="auto"
3043
+ enableFiltering={false}
3044
+ enableGlobalSearch={false}
3045
+ enablePagination={false}
3046
+ readOnly
3047
+ aria-label="Custom cell alignment table"
3048
+ />
3049
+ );
3050
+ };
3051
+
3052
+ export const CustomCellAlignment: Story = {
3053
+ render: () => <CustomCellAlignmentStory />,
3054
+ parameters: {
3055
+ docs: {
3056
+ description: {
3057
+ story:
3058
+ "Column `align` applies to CUSTOM cell renderers exactly like built-in field cells: the table wraps flexRender output in an alignment container (`data-cell-align`), so numeric custom cells right-align to one shared edge without any consumer alignment code.",
3059
+ },
3060
+ },
3061
+ },
3062
+ };
@@ -50,6 +50,18 @@ export interface DataTableMobileCardsProps<TData> {
50
50
  selectAllIndeterminate?: boolean;
51
51
  onToggleSelectAll?: () => void;
52
52
  compact?: boolean;
53
+ /**
54
+ * Accessible name for a row's selection checkbox ("Select row {identity}",
55
+ * built by DataTableRoot so cards and grid share one naming source).
56
+ */
57
+ selectRowLabel?: (row: any, rowIndex: number) => string;
58
+ /**
59
+ * onRowPress support: press/keyboard/AT props for one pressable row
60
+ * (built by DataTableRoot). Cards live outside the table tree, so they
61
+ * take the `card` variant (role="button") with the same activation,
62
+ * roving focus, and inner-control isolation as grid rows.
63
+ */
64
+ getRowPressProps?: (row: any, rowIndex: number, variant?: "row" | "card") => Record<string, any>;
53
65
  }
54
66
 
55
67
  export function DataTableMobileCards<TData extends Record<string, any>>({
@@ -68,6 +80,8 @@ export function DataTableMobileCards<TData extends Record<string, any>>({
68
80
  selectAllIndeterminate = false,
69
81
  onToggleSelectAll,
70
82
  compact = false,
83
+ selectRowLabel,
84
+ getRowPressProps,
71
85
  }: DataTableMobileCardsProps<TData>) {
72
86
  const { t } = useTranslation();
73
87
  const { knobProps } = useResolvedKnobs();
@@ -92,6 +106,7 @@ export function DataTableMobileCards<TData extends Record<string, any>>({
92
106
  {...({
93
107
  "data-table-zebra": tableZebraOn ? (index % 2 === 0 ? "even" : "odd") : "off",
94
108
  } as any)}
109
+ {...(getRowPressProps ? (getRowPressProps(row, index, "card") as any) : {})}
95
110
  >
96
111
  {/* Card header: selection + primary-column title + row number + delete */}
97
112
  <XStack
@@ -115,9 +130,11 @@ export function DataTableMobileCards<TData extends Record<string, any>>({
115
130
  }}
116
131
  disabled={disabled}
117
132
  checkboxProps={{
118
- "aria-label": withInterp(t("Select row {{row}}", { row: index + 1 }), {
119
- row: index + 1,
120
- }),
133
+ "aria-label":
134
+ selectRowLabel?.(row, index) ??
135
+ withInterp(t("Select row {{row}}", { row: index + 1 }), {
136
+ row: index + 1,
137
+ }),
121
138
  }}
122
139
  compact={compact}
123
140
  />
@@ -198,11 +215,20 @@ export function DataTableMobileCards<TData extends Record<string, any>>({
198
215
  knobProps,
199
216
  tableZebraOn,
200
217
  t,
218
+ selectRowLabel,
219
+ getRowPressProps,
201
220
  ],
202
221
  );
203
222
 
204
223
  return (
205
- <View flexDirection="column" {...knobProps.gap} testID="data-table-cards">
224
+ <View
225
+ flexDirection="column"
226
+ {...knobProps.gap}
227
+ testID="data-table-cards"
228
+ // Roving-focus DOM scope for onRowPress arrow keys (LC-49) — keeps
229
+ // ArrowUp/Down/Home/End inside THIS table's card list.
230
+ {...(getRowPressProps ? ({ "data-row-press-scope": "true" } as any) : {})}
231
+ >
206
232
  {enableRowSelection && tableRows.length > 0 && (
207
233
  <XStack alignItems="center" gap="$2" paddingBottom="$2">
208
234
  <Checkbox