@multiplatform.one/table 6.1.0 → 6.4.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 (1104) hide show
  1. package/README.md +125 -65
  2. package/dist/cjs/components/ChildTable/index.cjs +44 -9
  3. package/dist/cjs/components/ChildTable/index.native.js +56 -13
  4. package/dist/cjs/components/ChildTable/index.native.js.map +1 -1
  5. package/dist/cjs/components/ColumnHeaderFilter/index.cjs +27 -110
  6. package/dist/cjs/components/ColumnHeaderFilter/index.native.js +27 -119
  7. package/dist/cjs/components/ColumnHeaderFilter/index.native.js.map +1 -1
  8. package/dist/cjs/components/DataTable/DataTableCardControls.cjs +133 -0
  9. package/dist/cjs/components/DataTable/DataTableCardControls.native.js +140 -0
  10. package/dist/cjs/components/DataTable/DataTableCardControls.native.js.map +1 -0
  11. package/dist/cjs/components/DataTable/DataTableMobileCards.cjs +125 -59
  12. package/dist/cjs/components/DataTable/DataTableMobileCards.native.js +114 -49
  13. package/dist/cjs/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  14. package/dist/cjs/components/DataTable/DataTableRoot.cjs +574 -170
  15. package/dist/cjs/components/DataTable/DataTableRoot.native.js +699 -178
  16. package/dist/cjs/components/DataTable/DataTableRoot.native.js.map +1 -1
  17. package/dist/cjs/components/DataTable/DataTableStateContext.native.js.map +1 -1
  18. package/dist/cjs/components/DataTable/DataTableVirtualized.cjs +78 -3
  19. package/dist/cjs/components/DataTable/DataTableVirtualized.native.js +86 -3
  20. package/dist/cjs/components/DataTable/DataTableVirtualized.native.js.map +1 -1
  21. package/dist/cjs/components/DataTable/index.cjs +2 -0
  22. package/dist/cjs/components/DataTable/index.native.js +170 -72
  23. package/dist/cjs/components/DataTable/index.native.js.map +1 -1
  24. package/dist/cjs/components/DataTableBulkActions/index.cjs +62 -146
  25. package/dist/cjs/components/DataTableBulkActions/index.native.js +77 -153
  26. package/dist/cjs/components/DataTableBulkActions/index.native.js.map +1 -1
  27. package/dist/cjs/components/DataTableCell/CellModalEditor.cjs +61 -8
  28. package/dist/cjs/components/DataTableCell/CellModalEditor.native.js +73 -66
  29. package/dist/cjs/components/DataTableCell/CellModalEditor.native.js.map +1 -1
  30. package/dist/cjs/components/DataTableCell/CellOptionsEditor.cjs +87 -0
  31. package/dist/cjs/components/DataTableCell/CellOptionsEditor.native.js +100 -0
  32. package/dist/cjs/components/DataTableCell/CellOptionsEditor.native.js.map +1 -0
  33. package/dist/cjs/components/DataTableCell/index.cjs +524 -147
  34. package/dist/cjs/components/DataTableCell/index.native.js +666 -210
  35. package/dist/cjs/components/DataTableCell/index.native.js.map +1 -1
  36. package/dist/cjs/components/DataTableColumnPinning/index.cjs +95 -24
  37. package/dist/cjs/components/DataTableColumnPinning/index.native.js +101 -25
  38. package/dist/cjs/components/DataTableColumnPinning/index.native.js.map +1 -1
  39. package/dist/cjs/components/DataTableDateFilter/index.cjs +385 -197
  40. package/dist/cjs/components/DataTableDateFilter/index.native.js +414 -213
  41. package/dist/cjs/components/DataTableDateFilter/index.native.js.map +1 -1
  42. package/dist/cjs/components/DataTableExport/index.cjs +223 -195
  43. package/dist/cjs/components/DataTableExport/index.native.js +318 -217
  44. package/dist/cjs/components/DataTableExport/index.native.js.map +1 -1
  45. package/dist/cjs/components/DataTableFilterButton/index.cjs +349 -0
  46. package/dist/cjs/components/DataTableFilterButton/index.native.js +402 -0
  47. package/dist/cjs/components/DataTableFilterButton/index.native.js.map +1 -0
  48. package/dist/cjs/components/DataTableFilterChips/index.cjs +120 -0
  49. package/dist/cjs/components/DataTableFilterChips/index.native.js +187 -0
  50. package/dist/cjs/components/DataTableFilterChips/index.native.js.map +1 -0
  51. package/dist/cjs/components/DataTableFilters/index.cjs +36 -31
  52. package/dist/cjs/components/DataTableFilters/index.native.js +36 -31
  53. package/dist/cjs/components/DataTableFilters/index.native.js.map +1 -1
  54. package/dist/cjs/components/DataTableGrouping/index.cjs +246 -189
  55. package/dist/cjs/components/DataTableGrouping/index.native.js +283 -203
  56. package/dist/cjs/components/DataTableGrouping/index.native.js.map +1 -1
  57. package/dist/cjs/components/DataTablePagination/index.cjs +103 -329
  58. package/dist/cjs/components/DataTablePagination/index.native.js +115 -377
  59. package/dist/cjs/components/DataTablePagination/index.native.js.map +1 -1
  60. package/dist/cjs/components/DataTableSearch/index.cjs +132 -155
  61. package/dist/cjs/components/DataTableSearch/index.native.js +164 -170
  62. package/dist/cjs/components/DataTableSearch/index.native.js.map +1 -1
  63. package/dist/cjs/components/DataTableToolbar/index.cjs +71 -116
  64. package/dist/cjs/components/DataTableToolbar/index.native.js +98 -123
  65. package/dist/cjs/components/DataTableToolbar/index.native.js.map +1 -1
  66. package/dist/cjs/components/DataTableViewOptions/index.cjs +73 -169
  67. package/dist/cjs/components/DataTableViewOptions/index.native.js +88 -184
  68. package/dist/cjs/components/DataTableViewOptions/index.native.js.map +1 -1
  69. package/dist/cjs/components/FilterManager.cjs +7 -5
  70. package/dist/cjs/components/FilterManager.native.js +21 -8
  71. package/dist/cjs/components/FilterManager.native.js.map +1 -1
  72. package/dist/cjs/components/FilterOperatorValueEditor/index.cjs +109 -0
  73. package/dist/cjs/components/FilterOperatorValueEditor/index.native.js +121 -0
  74. package/dist/cjs/components/FilterOperatorValueEditor/index.native.js.map +1 -0
  75. package/dist/cjs/components/SavedFilterDropdown.cjs +3 -3
  76. package/dist/cjs/components/SavedFilterDropdown.native.js +3 -3
  77. package/dist/cjs/components/SavedFilterDropdown.native.js.map +1 -1
  78. package/dist/cjs/components/SimpleTable/index.cjs +22 -15
  79. package/dist/cjs/components/SimpleTable/index.native.js +31 -19
  80. package/dist/cjs/components/SimpleTable/index.native.js.map +1 -1
  81. package/dist/cjs/components/TableInput/index.cjs +149 -49
  82. package/dist/cjs/components/TableInput/index.native.js +181 -71
  83. package/dist/cjs/components/TableInput/index.native.js.map +1 -1
  84. package/dist/cjs/components/TableInput/shared.cjs +36 -0
  85. package/dist/cjs/components/TableInput/shared.native.js +41 -0
  86. package/dist/cjs/components/TableInput/shared.native.js.map +1 -0
  87. package/dist/cjs/hooks/useDataTable.cjs +114 -21
  88. package/dist/cjs/hooks/useDataTable.native.js +126 -25
  89. package/dist/cjs/hooks/useDataTable.native.js.map +1 -1
  90. package/dist/cjs/hooks/useInfiniteRows.cjs +193 -0
  91. package/dist/cjs/hooks/useInfiniteRows.native.js +203 -0
  92. package/dist/cjs/hooks/useInfiniteRows.native.js.map +1 -0
  93. package/dist/cjs/hooks/useTableFiltering.cjs +14 -18
  94. package/dist/cjs/hooks/useTableFiltering.native.js +17 -23
  95. package/dist/cjs/hooks/useTableFiltering.native.js.map +1 -1
  96. package/dist/cjs/hooks/useTablePagination.cjs +2 -2
  97. package/dist/cjs/hooks/useTablePagination.native.js +2 -2
  98. package/dist/cjs/hooks/useTablePagination.native.js.map +1 -1
  99. package/dist/cjs/index.cjs +26 -1
  100. package/dist/cjs/index.native.js +25 -0
  101. package/dist/cjs/index.native.js.map +1 -1
  102. package/dist/cjs/shared/t.cjs +50 -0
  103. package/dist/cjs/shared/t.native.js +55 -0
  104. package/dist/cjs/shared/t.native.js.map +1 -0
  105. package/dist/cjs/utils/columnAlign.cjs +60 -0
  106. package/dist/cjs/utils/columnAlign.native.js +67 -0
  107. package/dist/cjs/utils/columnAlign.native.js.map +1 -0
  108. package/dist/cjs/utils/filterFields.cjs +185 -0
  109. package/dist/cjs/utils/filterFields.native.js +247 -0
  110. package/dist/cjs/utils/filterFields.native.js.map +1 -0
  111. package/dist/cjs/utils/filterUtils.cjs +39 -20
  112. package/dist/cjs/utils/filterUtils.native.js +39 -20
  113. package/dist/cjs/utils/filterUtils.native.js.map +1 -1
  114. package/dist/cjs/utils/paginationDefaults.cjs +32 -0
  115. package/dist/cjs/utils/paginationDefaults.native.js +35 -0
  116. package/dist/cjs/utils/paginationDefaults.native.js.map +1 -0
  117. package/dist/cjs/utils/urlStateUtils.cjs +2 -1
  118. package/dist/cjs/utils/urlStateUtils.native.js +2 -1
  119. package/dist/cjs/utils/urlStateUtils.native.js.map +1 -1
  120. package/dist/cjs/utils/viewData.cjs +45 -0
  121. package/dist/cjs/utils/viewData.native.js +69 -0
  122. package/dist/cjs/utils/viewData.native.js.map +1 -0
  123. package/dist/cjs/utils/withInterp.cjs +39 -0
  124. package/dist/cjs/utils/withInterp.native.js +42 -0
  125. package/dist/cjs/utils/withInterp.native.js.map +1 -0
  126. package/dist/esm/components/ChildTable/index.mjs +45 -10
  127. package/dist/esm/components/ChildTable/index.mjs.map +1 -1
  128. package/dist/esm/components/ChildTable/index.native.js +57 -14
  129. package/dist/esm/components/ChildTable/index.native.js.map +1 -1
  130. package/dist/esm/components/ColumnHeaderFilter/index.mjs +29 -111
  131. package/dist/esm/components/ColumnHeaderFilter/index.mjs.map +1 -1
  132. package/dist/esm/components/ColumnHeaderFilter/index.native.js +30 -121
  133. package/dist/esm/components/ColumnHeaderFilter/index.native.js.map +1 -1
  134. package/dist/esm/components/DataTable/DataTableCardControls.mjs +108 -0
  135. package/dist/esm/components/DataTable/DataTableCardControls.mjs.map +1 -0
  136. package/dist/esm/components/DataTable/DataTableCardControls.native.js +112 -0
  137. package/dist/esm/components/DataTable/DataTableCardControls.native.js.map +1 -0
  138. package/dist/esm/components/DataTable/DataTableMobileCards.mjs +128 -62
  139. package/dist/esm/components/DataTable/DataTableMobileCards.mjs.map +1 -1
  140. package/dist/esm/components/DataTable/DataTableMobileCards.native.js +117 -52
  141. package/dist/esm/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  142. package/dist/esm/components/DataTable/DataTableRoot.mjs +578 -174
  143. package/dist/esm/components/DataTable/DataTableRoot.mjs.map +1 -1
  144. package/dist/esm/components/DataTable/DataTableRoot.native.js +703 -182
  145. package/dist/esm/components/DataTable/DataTableRoot.native.js.map +1 -1
  146. package/dist/esm/components/DataTable/DataTableStateContext.mjs.map +1 -1
  147. package/dist/esm/components/DataTable/DataTableStateContext.native.js.map +1 -1
  148. package/dist/esm/components/DataTable/DataTableVirtualized.mjs +79 -4
  149. package/dist/esm/components/DataTable/DataTableVirtualized.mjs.map +1 -1
  150. package/dist/esm/components/DataTable/DataTableVirtualized.native.js +87 -4
  151. package/dist/esm/components/DataTable/DataTableVirtualized.native.js.map +1 -1
  152. package/dist/esm/components/DataTable/index.mjs +2 -0
  153. package/dist/esm/components/DataTable/index.mjs.map +1 -1
  154. package/dist/esm/components/DataTable/index.native.js +172 -74
  155. package/dist/esm/components/DataTable/index.native.js.map +1 -1
  156. package/dist/esm/components/DataTableBulkActions/index.mjs +65 -147
  157. package/dist/esm/components/DataTableBulkActions/index.mjs.map +1 -1
  158. package/dist/esm/components/DataTableBulkActions/index.native.js +80 -154
  159. package/dist/esm/components/DataTableBulkActions/index.native.js.map +1 -1
  160. package/dist/esm/components/DataTableCell/CellModalEditor.mjs +62 -9
  161. package/dist/esm/components/DataTableCell/CellModalEditor.mjs.map +1 -1
  162. package/dist/esm/components/DataTableCell/CellModalEditor.native.js +74 -67
  163. package/dist/esm/components/DataTableCell/CellModalEditor.native.js.map +1 -1
  164. package/dist/esm/components/DataTableCell/CellOptionsEditor.mjs +62 -0
  165. package/dist/esm/components/DataTableCell/CellOptionsEditor.mjs.map +1 -0
  166. package/dist/esm/components/DataTableCell/CellOptionsEditor.native.js +72 -0
  167. package/dist/esm/components/DataTableCell/CellOptionsEditor.native.js.map +1 -0
  168. package/dist/esm/components/DataTableCell/index.mjs +527 -149
  169. package/dist/esm/components/DataTableCell/index.mjs.map +1 -1
  170. package/dist/esm/components/DataTableCell/index.native.js +670 -213
  171. package/dist/esm/components/DataTableCell/index.native.js.map +1 -1
  172. package/dist/esm/components/DataTableColumnPinning/index.mjs +99 -28
  173. package/dist/esm/components/DataTableColumnPinning/index.mjs.map +1 -1
  174. package/dist/esm/components/DataTableColumnPinning/index.native.js +105 -29
  175. package/dist/esm/components/DataTableColumnPinning/index.native.js.map +1 -1
  176. package/dist/esm/components/DataTableDateFilter/index.mjs +387 -200
  177. package/dist/esm/components/DataTableDateFilter/index.mjs.map +1 -1
  178. package/dist/esm/components/DataTableDateFilter/index.native.js +416 -216
  179. package/dist/esm/components/DataTableDateFilter/index.native.js.map +1 -1
  180. package/dist/esm/components/DataTableExport/index.mjs +223 -195
  181. package/dist/esm/components/DataTableExport/index.mjs.map +1 -1
  182. package/dist/esm/components/DataTableExport/index.native.js +318 -217
  183. package/dist/esm/components/DataTableExport/index.native.js.map +1 -1
  184. package/dist/esm/components/DataTableFilterButton/index.mjs +324 -0
  185. package/dist/esm/components/DataTableFilterButton/index.mjs.map +1 -0
  186. package/dist/esm/components/DataTableFilterButton/index.native.js +374 -0
  187. package/dist/esm/components/DataTableFilterButton/index.native.js.map +1 -0
  188. package/dist/esm/components/DataTableFilterChips/index.mjs +95 -0
  189. package/dist/esm/components/DataTableFilterChips/index.mjs.map +1 -0
  190. package/dist/esm/components/DataTableFilterChips/index.native.js +159 -0
  191. package/dist/esm/components/DataTableFilterChips/index.native.js.map +1 -0
  192. package/dist/esm/components/DataTableFilters/index.mjs +36 -31
  193. package/dist/esm/components/DataTableFilters/index.mjs.map +1 -1
  194. package/dist/esm/components/DataTableFilters/index.native.js +36 -31
  195. package/dist/esm/components/DataTableFilters/index.native.js.map +1 -1
  196. package/dist/esm/components/DataTableGrouping/index.mjs +248 -191
  197. package/dist/esm/components/DataTableGrouping/index.mjs.map +1 -1
  198. package/dist/esm/components/DataTableGrouping/index.native.js +285 -205
  199. package/dist/esm/components/DataTableGrouping/index.native.js.map +1 -1
  200. package/dist/esm/components/DataTablePagination/index.mjs +105 -329
  201. package/dist/esm/components/DataTablePagination/index.mjs.map +1 -1
  202. package/dist/esm/components/DataTablePagination/index.native.js +117 -366
  203. package/dist/esm/components/DataTablePagination/index.native.js.map +1 -1
  204. package/dist/esm/components/DataTableSearch/index.mjs +135 -156
  205. package/dist/esm/components/DataTableSearch/index.mjs.map +1 -1
  206. package/dist/esm/components/DataTableSearch/index.native.js +167 -171
  207. package/dist/esm/components/DataTableSearch/index.native.js.map +1 -1
  208. package/dist/esm/components/DataTableToolbar/index.mjs +75 -118
  209. package/dist/esm/components/DataTableToolbar/index.mjs.map +1 -1
  210. package/dist/esm/components/DataTableToolbar/index.native.js +102 -125
  211. package/dist/esm/components/DataTableToolbar/index.native.js.map +1 -1
  212. package/dist/esm/components/DataTableViewOptions/index.mjs +75 -171
  213. package/dist/esm/components/DataTableViewOptions/index.mjs.map +1 -1
  214. package/dist/esm/components/DataTableViewOptions/index.native.js +90 -186
  215. package/dist/esm/components/DataTableViewOptions/index.native.js.map +1 -1
  216. package/dist/esm/components/FilterManager.mjs +7 -5
  217. package/dist/esm/components/FilterManager.mjs.map +1 -1
  218. package/dist/esm/components/FilterManager.native.js +21 -8
  219. package/dist/esm/components/FilterManager.native.js.map +1 -1
  220. package/dist/esm/components/FilterOperatorValueEditor/index.mjs +84 -0
  221. package/dist/esm/components/FilterOperatorValueEditor/index.mjs.map +1 -0
  222. package/dist/esm/components/FilterOperatorValueEditor/index.native.js +93 -0
  223. package/dist/esm/components/FilterOperatorValueEditor/index.native.js.map +1 -0
  224. package/dist/esm/components/SavedFilterDropdown.mjs +3 -3
  225. package/dist/esm/components/SavedFilterDropdown.mjs.map +1 -1
  226. package/dist/esm/components/SavedFilterDropdown.native.js +3 -3
  227. package/dist/esm/components/SavedFilterDropdown.native.js.map +1 -1
  228. package/dist/esm/components/SimpleTable/index.mjs +22 -15
  229. package/dist/esm/components/SimpleTable/index.mjs.map +1 -1
  230. package/dist/esm/components/SimpleTable/index.native.js +31 -19
  231. package/dist/esm/components/SimpleTable/index.native.js.map +1 -1
  232. package/dist/esm/components/TableInput/index.mjs +149 -49
  233. package/dist/esm/components/TableInput/index.mjs.map +1 -1
  234. package/dist/esm/components/TableInput/index.native.js +181 -71
  235. package/dist/esm/components/TableInput/index.native.js.map +1 -1
  236. package/dist/esm/components/TableInput/shared.mjs +9 -0
  237. package/dist/esm/components/TableInput/shared.mjs.map +1 -0
  238. package/dist/esm/components/TableInput/shared.native.js +11 -0
  239. package/dist/esm/components/TableInput/shared.native.js.map +1 -0
  240. package/dist/esm/hooks/useDataTable.mjs +115 -22
  241. package/dist/esm/hooks/useDataTable.mjs.map +1 -1
  242. package/dist/esm/hooks/useDataTable.native.js +127 -26
  243. package/dist/esm/hooks/useDataTable.native.js.map +1 -1
  244. package/dist/esm/hooks/useInfiniteRows.mjs +168 -0
  245. package/dist/esm/hooks/useInfiniteRows.mjs.map +1 -0
  246. package/dist/esm/hooks/useInfiniteRows.native.js +175 -0
  247. package/dist/esm/hooks/useInfiniteRows.native.js.map +1 -0
  248. package/dist/esm/hooks/useTableFiltering.mjs +14 -18
  249. package/dist/esm/hooks/useTableFiltering.mjs.map +1 -1
  250. package/dist/esm/hooks/useTableFiltering.native.js +17 -23
  251. package/dist/esm/hooks/useTableFiltering.native.js.map +1 -1
  252. package/dist/esm/hooks/useTablePagination.mjs +2 -2
  253. package/dist/esm/hooks/useTablePagination.mjs.map +1 -1
  254. package/dist/esm/hooks/useTablePagination.native.js +2 -2
  255. package/dist/esm/hooks/useTablePagination.native.js.map +1 -1
  256. package/dist/esm/index.mjs +8 -1
  257. package/dist/esm/index.mjs.map +1 -1
  258. package/dist/esm/index.native.js +8 -1
  259. package/dist/esm/index.native.js.map +1 -1
  260. package/dist/esm/shared/t.mjs +14 -0
  261. package/dist/esm/shared/t.mjs.map +1 -0
  262. package/dist/esm/shared/t.native.js +16 -0
  263. package/dist/esm/shared/t.native.js.map +1 -0
  264. package/dist/esm/utils/columnAlign.mjs +34 -0
  265. package/dist/esm/utils/columnAlign.mjs.map +1 -0
  266. package/dist/esm/utils/columnAlign.native.js +38 -0
  267. package/dist/esm/utils/columnAlign.native.js.map +1 -0
  268. package/dist/esm/utils/filterFields.mjs +149 -0
  269. package/dist/esm/utils/filterFields.mjs.map +1 -0
  270. package/dist/esm/utils/filterFields.native.js +208 -0
  271. package/dist/esm/utils/filterFields.native.js.map +1 -0
  272. package/dist/esm/utils/filterUtils.mjs +39 -20
  273. package/dist/esm/utils/filterUtils.mjs.map +1 -1
  274. package/dist/esm/utils/filterUtils.native.js +39 -20
  275. package/dist/esm/utils/filterUtils.native.js.map +1 -1
  276. package/dist/esm/utils/paginationDefaults.mjs +5 -0
  277. package/dist/esm/utils/paginationDefaults.mjs.map +1 -0
  278. package/dist/esm/utils/paginationDefaults.native.js +5 -0
  279. package/dist/esm/utils/paginationDefaults.native.js.map +1 -0
  280. package/dist/esm/utils/urlStateUtils.mjs +2 -1
  281. package/dist/esm/utils/urlStateUtils.mjs.map +1 -1
  282. package/dist/esm/utils/urlStateUtils.native.js +2 -1
  283. package/dist/esm/utils/urlStateUtils.native.js.map +1 -1
  284. package/dist/esm/utils/viewData.mjs +20 -0
  285. package/dist/esm/utils/viewData.mjs.map +1 -0
  286. package/dist/esm/utils/viewData.native.js +41 -0
  287. package/dist/esm/utils/viewData.native.js.map +1 -0
  288. package/dist/esm/utils/withInterp.mjs +13 -0
  289. package/dist/esm/utils/withInterp.mjs.map +1 -0
  290. package/dist/esm/utils/withInterp.native.js +13 -0
  291. package/dist/esm/utils/withInterp.native.js.map +1 -0
  292. package/dist/jsx/components/ChildTable/index.mjs +45 -10
  293. package/dist/jsx/components/ChildTable/index.mjs.map +1 -1
  294. package/dist/jsx/components/ChildTable/index.native.js +56 -13
  295. package/dist/jsx/components/ChildTable/index.native.js.map +1 -1
  296. package/dist/jsx/components/ColumnHeaderFilter/index.mjs +29 -111
  297. package/dist/jsx/components/ColumnHeaderFilter/index.mjs.map +1 -1
  298. package/dist/jsx/components/ColumnHeaderFilter/index.native.js +27 -119
  299. package/dist/jsx/components/ColumnHeaderFilter/index.native.js.map +1 -1
  300. package/dist/jsx/components/DataTable/DataTableCardControls.mjs +108 -0
  301. package/dist/jsx/components/DataTable/DataTableCardControls.mjs.map +1 -0
  302. package/dist/jsx/components/DataTable/DataTableCardControls.native.js +140 -0
  303. package/dist/jsx/components/DataTable/DataTableCardControls.native.js.map +1 -0
  304. package/dist/jsx/components/DataTable/DataTableMobileCards.mjs +128 -62
  305. package/dist/jsx/components/DataTable/DataTableMobileCards.mjs.map +1 -1
  306. package/dist/jsx/components/DataTable/DataTableMobileCards.native.js +114 -49
  307. package/dist/jsx/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  308. package/dist/jsx/components/DataTable/DataTableRoot.mjs +578 -174
  309. package/dist/jsx/components/DataTable/DataTableRoot.mjs.map +1 -1
  310. package/dist/jsx/components/DataTable/DataTableRoot.native.js +699 -178
  311. package/dist/jsx/components/DataTable/DataTableRoot.native.js.map +1 -1
  312. package/dist/jsx/components/DataTable/DataTableStateContext.mjs.map +1 -1
  313. package/dist/jsx/components/DataTable/DataTableStateContext.native.js.map +1 -1
  314. package/dist/jsx/components/DataTable/DataTableVirtualized.mjs +79 -4
  315. package/dist/jsx/components/DataTable/DataTableVirtualized.mjs.map +1 -1
  316. package/dist/jsx/components/DataTable/DataTableVirtualized.native.js +86 -3
  317. package/dist/jsx/components/DataTable/DataTableVirtualized.native.js.map +1 -1
  318. package/dist/jsx/components/DataTable/index.mjs +2 -0
  319. package/dist/jsx/components/DataTable/index.mjs.map +1 -1
  320. package/dist/jsx/components/DataTable/index.native.js +170 -72
  321. package/dist/jsx/components/DataTable/index.native.js.map +1 -1
  322. package/dist/jsx/components/DataTableBulkActions/index.mjs +65 -147
  323. package/dist/jsx/components/DataTableBulkActions/index.mjs.map +1 -1
  324. package/dist/jsx/components/DataTableBulkActions/index.native.js +77 -153
  325. package/dist/jsx/components/DataTableBulkActions/index.native.js.map +1 -1
  326. package/dist/jsx/components/DataTableCell/CellModalEditor.mjs +62 -9
  327. package/dist/jsx/components/DataTableCell/CellModalEditor.mjs.map +1 -1
  328. package/dist/jsx/components/DataTableCell/CellModalEditor.native.js +73 -66
  329. package/dist/jsx/components/DataTableCell/CellModalEditor.native.js.map +1 -1
  330. package/dist/jsx/components/DataTableCell/CellOptionsEditor.mjs +62 -0
  331. package/dist/jsx/components/DataTableCell/CellOptionsEditor.mjs.map +1 -0
  332. package/dist/jsx/components/DataTableCell/CellOptionsEditor.native.js +100 -0
  333. package/dist/jsx/components/DataTableCell/CellOptionsEditor.native.js.map +1 -0
  334. package/dist/jsx/components/DataTableCell/index.mjs +527 -149
  335. package/dist/jsx/components/DataTableCell/index.mjs.map +1 -1
  336. package/dist/jsx/components/DataTableCell/index.native.js +666 -210
  337. package/dist/jsx/components/DataTableCell/index.native.js.map +1 -1
  338. package/dist/jsx/components/DataTableColumnPinning/index.mjs +99 -28
  339. package/dist/jsx/components/DataTableColumnPinning/index.mjs.map +1 -1
  340. package/dist/jsx/components/DataTableColumnPinning/index.native.js +101 -25
  341. package/dist/jsx/components/DataTableColumnPinning/index.native.js.map +1 -1
  342. package/dist/jsx/components/DataTableDateFilter/index.mjs +387 -200
  343. package/dist/jsx/components/DataTableDateFilter/index.mjs.map +1 -1
  344. package/dist/jsx/components/DataTableDateFilter/index.native.js +414 -213
  345. package/dist/jsx/components/DataTableDateFilter/index.native.js.map +1 -1
  346. package/dist/jsx/components/DataTableExport/index.mjs +223 -195
  347. package/dist/jsx/components/DataTableExport/index.mjs.map +1 -1
  348. package/dist/jsx/components/DataTableExport/index.native.js +318 -217
  349. package/dist/jsx/components/DataTableExport/index.native.js.map +1 -1
  350. package/dist/jsx/components/DataTableFilterButton/index.mjs +324 -0
  351. package/dist/jsx/components/DataTableFilterButton/index.mjs.map +1 -0
  352. package/dist/jsx/components/DataTableFilterButton/index.native.js +402 -0
  353. package/dist/jsx/components/DataTableFilterButton/index.native.js.map +1 -0
  354. package/dist/jsx/components/DataTableFilterChips/index.mjs +95 -0
  355. package/dist/jsx/components/DataTableFilterChips/index.mjs.map +1 -0
  356. package/dist/jsx/components/DataTableFilterChips/index.native.js +187 -0
  357. package/dist/jsx/components/DataTableFilterChips/index.native.js.map +1 -0
  358. package/dist/jsx/components/DataTableFilters/index.mjs +36 -31
  359. package/dist/jsx/components/DataTableFilters/index.mjs.map +1 -1
  360. package/dist/jsx/components/DataTableFilters/index.native.js +36 -31
  361. package/dist/jsx/components/DataTableFilters/index.native.js.map +1 -1
  362. package/dist/jsx/components/DataTableGrouping/index.mjs +248 -191
  363. package/dist/jsx/components/DataTableGrouping/index.mjs.map +1 -1
  364. package/dist/jsx/components/DataTableGrouping/index.native.js +283 -203
  365. package/dist/jsx/components/DataTableGrouping/index.native.js.map +1 -1
  366. package/dist/jsx/components/DataTablePagination/index.mjs +105 -329
  367. package/dist/jsx/components/DataTablePagination/index.mjs.map +1 -1
  368. package/dist/jsx/components/DataTablePagination/index.native.js +115 -377
  369. package/dist/jsx/components/DataTablePagination/index.native.js.map +1 -1
  370. package/dist/jsx/components/DataTableSearch/index.mjs +135 -156
  371. package/dist/jsx/components/DataTableSearch/index.mjs.map +1 -1
  372. package/dist/jsx/components/DataTableSearch/index.native.js +164 -170
  373. package/dist/jsx/components/DataTableSearch/index.native.js.map +1 -1
  374. package/dist/jsx/components/DataTableToolbar/index.mjs +75 -118
  375. package/dist/jsx/components/DataTableToolbar/index.mjs.map +1 -1
  376. package/dist/jsx/components/DataTableToolbar/index.native.js +98 -123
  377. package/dist/jsx/components/DataTableToolbar/index.native.js.map +1 -1
  378. package/dist/jsx/components/DataTableViewOptions/index.mjs +75 -171
  379. package/dist/jsx/components/DataTableViewOptions/index.mjs.map +1 -1
  380. package/dist/jsx/components/DataTableViewOptions/index.native.js +88 -184
  381. package/dist/jsx/components/DataTableViewOptions/index.native.js.map +1 -1
  382. package/dist/jsx/components/FilterManager.mjs +7 -5
  383. package/dist/jsx/components/FilterManager.mjs.map +1 -1
  384. package/dist/jsx/components/FilterManager.native.js +21 -8
  385. package/dist/jsx/components/FilterManager.native.js.map +1 -1
  386. package/dist/jsx/components/FilterOperatorValueEditor/index.mjs +84 -0
  387. package/dist/jsx/components/FilterOperatorValueEditor/index.mjs.map +1 -0
  388. package/dist/jsx/components/FilterOperatorValueEditor/index.native.js +121 -0
  389. package/dist/jsx/components/FilterOperatorValueEditor/index.native.js.map +1 -0
  390. package/dist/jsx/components/SavedFilterDropdown.mjs +3 -3
  391. package/dist/jsx/components/SavedFilterDropdown.mjs.map +1 -1
  392. package/dist/jsx/components/SavedFilterDropdown.native.js +3 -3
  393. package/dist/jsx/components/SavedFilterDropdown.native.js.map +1 -1
  394. package/dist/jsx/components/SimpleTable/index.mjs +22 -15
  395. package/dist/jsx/components/SimpleTable/index.mjs.map +1 -1
  396. package/dist/jsx/components/SimpleTable/index.native.js +31 -19
  397. package/dist/jsx/components/SimpleTable/index.native.js.map +1 -1
  398. package/dist/jsx/components/TableInput/index.mjs +149 -49
  399. package/dist/jsx/components/TableInput/index.mjs.map +1 -1
  400. package/dist/jsx/components/TableInput/index.native.js +181 -71
  401. package/dist/jsx/components/TableInput/index.native.js.map +1 -1
  402. package/dist/jsx/components/TableInput/shared.mjs +9 -0
  403. package/dist/jsx/components/TableInput/shared.mjs.map +1 -0
  404. package/dist/jsx/components/TableInput/shared.native.js +41 -0
  405. package/dist/jsx/components/TableInput/shared.native.js.map +1 -0
  406. package/dist/jsx/hooks/useDataTable.mjs +115 -22
  407. package/dist/jsx/hooks/useDataTable.mjs.map +1 -1
  408. package/dist/jsx/hooks/useDataTable.native.js +126 -25
  409. package/dist/jsx/hooks/useDataTable.native.js.map +1 -1
  410. package/dist/jsx/hooks/useInfiniteRows.mjs +168 -0
  411. package/dist/jsx/hooks/useInfiniteRows.mjs.map +1 -0
  412. package/dist/jsx/hooks/useInfiniteRows.native.js +203 -0
  413. package/dist/jsx/hooks/useInfiniteRows.native.js.map +1 -0
  414. package/dist/jsx/hooks/useTableFiltering.mjs +14 -18
  415. package/dist/jsx/hooks/useTableFiltering.mjs.map +1 -1
  416. package/dist/jsx/hooks/useTableFiltering.native.js +17 -23
  417. package/dist/jsx/hooks/useTableFiltering.native.js.map +1 -1
  418. package/dist/jsx/hooks/useTablePagination.mjs +2 -2
  419. package/dist/jsx/hooks/useTablePagination.mjs.map +1 -1
  420. package/dist/jsx/hooks/useTablePagination.native.js +2 -2
  421. package/dist/jsx/hooks/useTablePagination.native.js.map +1 -1
  422. package/dist/jsx/index.js +8 -1
  423. package/dist/jsx/index.js.map +1 -1
  424. package/dist/jsx/index.mjs +8 -1
  425. package/dist/jsx/index.mjs.map +1 -1
  426. package/dist/jsx/index.native.js +25 -0
  427. package/dist/jsx/index.native.js.map +1 -1
  428. package/dist/jsx/shared/t.mjs +14 -0
  429. package/dist/jsx/shared/t.mjs.map +1 -0
  430. package/dist/jsx/shared/t.native.js +55 -0
  431. package/dist/jsx/shared/t.native.js.map +1 -0
  432. package/dist/jsx/utils/columnAlign.mjs +34 -0
  433. package/dist/jsx/utils/columnAlign.mjs.map +1 -0
  434. package/dist/jsx/utils/columnAlign.native.js +67 -0
  435. package/dist/jsx/utils/columnAlign.native.js.map +1 -0
  436. package/dist/jsx/utils/filterFields.mjs +149 -0
  437. package/dist/jsx/utils/filterFields.mjs.map +1 -0
  438. package/dist/jsx/utils/filterFields.native.js +247 -0
  439. package/dist/jsx/utils/filterFields.native.js.map +1 -0
  440. package/dist/jsx/utils/filterUtils.mjs +39 -20
  441. package/dist/jsx/utils/filterUtils.mjs.map +1 -1
  442. package/dist/jsx/utils/filterUtils.native.js +39 -20
  443. package/dist/jsx/utils/filterUtils.native.js.map +1 -1
  444. package/dist/jsx/utils/paginationDefaults.mjs +5 -0
  445. package/dist/jsx/utils/paginationDefaults.mjs.map +1 -0
  446. package/dist/jsx/utils/paginationDefaults.native.js +35 -0
  447. package/dist/jsx/utils/paginationDefaults.native.js.map +1 -0
  448. package/dist/jsx/utils/urlStateUtils.mjs +2 -1
  449. package/dist/jsx/utils/urlStateUtils.mjs.map +1 -1
  450. package/dist/jsx/utils/urlStateUtils.native.js +2 -1
  451. package/dist/jsx/utils/urlStateUtils.native.js.map +1 -1
  452. package/dist/jsx/utils/viewData.mjs +20 -0
  453. package/dist/jsx/utils/viewData.mjs.map +1 -0
  454. package/dist/jsx/utils/viewData.native.js +69 -0
  455. package/dist/jsx/utils/viewData.native.js.map +1 -0
  456. package/dist/jsx/utils/withInterp.mjs +13 -0
  457. package/dist/jsx/utils/withInterp.mjs.map +1 -0
  458. package/dist/jsx/utils/withInterp.native.js +42 -0
  459. package/dist/jsx/utils/withInterp.native.js.map +1 -0
  460. package/package.json +29 -19
  461. package/src/components/ChildTable/index.tsx +70 -9
  462. package/src/components/ColumnHeaderFilter/index.tsx +43 -161
  463. package/src/components/DataTable/DataTable.spec.tsx +347 -0
  464. package/src/components/DataTable/DataTable.stories.tsx +363 -9
  465. package/src/components/DataTable/DataTableCardControls.tsx +148 -0
  466. package/src/components/DataTable/DataTableMobileCards.tsx +153 -80
  467. package/src/components/DataTable/DataTableRoot.tsx +847 -181
  468. package/src/components/DataTable/DataTableStateContext.ts +24 -1
  469. package/src/components/DataTable/DataTableVirtualized.tsx +98 -4
  470. package/src/components/DataTable/FieldsInCells.stories.tsx +296 -6
  471. package/src/components/DataTable/cardLayout.spec.tsx +294 -0
  472. package/src/components/DataTable/chromeInterplay.spec.tsx +282 -0
  473. package/src/components/DataTable/compoundComponent.spec.tsx +6 -1
  474. package/src/components/DataTable/disabledContract.spec.tsx +242 -0
  475. package/src/components/DataTable/expandCaretRtl.spec.tsx +80 -0
  476. package/src/components/DataTable/headerSorting.spec.tsx +155 -0
  477. package/src/components/DataTable/index.native.tsx +220 -77
  478. package/src/components/DataTable/index.tsx +2 -0
  479. package/src/components/DataTable/infiniteMode.spec.tsx +118 -0
  480. package/src/components/DataTable/pinningGeometry.spec.tsx +144 -0
  481. package/src/components/DataTable/rowActionLabels.spec.tsx +97 -0
  482. package/src/components/DataTable/virtualizedGrouping.spec.tsx +99 -0
  483. package/src/components/DataTableBulkActions/DataTableBulkActions.spec.tsx +276 -3
  484. package/src/components/DataTableBulkActions/DataTableBulkActions.stories.tsx +1 -0
  485. package/src/components/DataTableBulkActions/index.tsx +119 -184
  486. package/src/components/DataTableCell/CellModalEditor.native.tsx +116 -0
  487. package/src/components/DataTableCell/CellModalEditor.tsx +83 -11
  488. package/src/components/DataTableCell/CellOptionsEditor.tsx +91 -0
  489. package/src/components/DataTableCell/DataTableCell.stories.tsx +514 -9
  490. package/src/components/DataTableCell/cellDraftPolicy.spec.tsx +638 -0
  491. package/src/components/DataTableCell/dataTableCell.spec.tsx +174 -26
  492. package/src/components/DataTableCell/index.tsx +730 -191
  493. package/src/components/DataTableColumnPinning/DataTableColumnPinning.stories.tsx +14 -0
  494. package/src/components/DataTableColumnPinning/index.tsx +130 -36
  495. package/src/components/DataTableDateFilter/DataTableDateFilter.spec.tsx +234 -80
  496. package/src/components/DataTableDateFilter/DataTableDateFilter.stories.tsx +7 -32
  497. package/src/components/DataTableDateFilter/index.tsx +357 -160
  498. package/src/components/DataTableExport/DataTableExport.spec.tsx +225 -8
  499. package/src/components/DataTableExport/index.tsx +241 -186
  500. package/src/components/DataTableFilterButton/index.tsx +406 -0
  501. package/src/components/DataTableFilterChips/DataTableFilterChips.spec.tsx +190 -0
  502. package/src/components/DataTableFilterChips/index.tsx +127 -0
  503. package/src/components/DataTableFilters/index.tsx +39 -31
  504. package/src/components/DataTableGrouping/DataTableGrouping.spec.tsx +173 -1
  505. package/src/components/DataTableGrouping/index.tsx +233 -140
  506. package/src/components/DataTablePagination/DataTablePagination.spec.tsx +91 -12
  507. package/src/components/DataTablePagination/DataTablePagination.stories.tsx +182 -6
  508. package/src/components/DataTablePagination/index.tsx +97 -324
  509. package/src/components/DataTableSearch/DataTableSearch.spec.tsx +14 -14
  510. package/src/components/DataTableSearch/index.tsx +106 -118
  511. package/src/components/DataTableToolbar/DataTableToolbar.spec.tsx +51 -11
  512. package/src/components/DataTableToolbar/DataTableToolbar.stories.tsx +205 -8
  513. package/src/components/DataTableToolbar/index.tsx +86 -123
  514. package/src/components/DataTableViewOptions/DataTableViewOptions.spec.tsx +5 -5
  515. package/src/components/DataTableViewOptions/DataTableViewOptions.stories.tsx +41 -3
  516. package/src/components/DataTableViewOptions/index.tsx +89 -183
  517. package/src/components/FilterManager.spec.tsx +7 -4
  518. package/src/components/FilterManager.tsx +25 -5
  519. package/src/components/FilterOperatorValueEditor/index.tsx +124 -0
  520. package/src/components/SavedFilterDropdown.tsx +7 -5
  521. package/src/components/SimpleTable/SimpleTable.stories.tsx +114 -0
  522. package/src/components/SimpleTable/index.tsx +35 -17
  523. package/src/components/SimpleTable/simpleTable.spec.tsx +25 -5
  524. package/src/components/Table/Table.stories.tsx +105 -0
  525. package/src/components/Table/accessibility.spec.tsx +24 -8
  526. package/src/components/TableInput/TableInput.stories.tsx +266 -8
  527. package/src/components/TableInput/index.native.tsx +202 -51
  528. package/src/components/TableInput/index.tsx +236 -56
  529. package/src/components/TableInput/shared.ts +20 -0
  530. package/src/components/TableInput/tableInput.spec.tsx +458 -0
  531. package/src/components/componentConsistency.spec.tsx +19 -13
  532. package/src/hooks/hookDecomposition.spec.ts +35 -1
  533. package/src/hooks/useDataTable.ts +169 -24
  534. package/src/hooks/useInfiniteRows.spec.tsx +215 -0
  535. package/src/hooks/useInfiniteRows.ts +242 -0
  536. package/src/hooks/useTableFiltering.ts +22 -21
  537. package/src/hooks/useTablePagination.ts +2 -3
  538. package/src/index.ts +37 -1
  539. package/src/shared/t.ts +24 -0
  540. package/src/types.ts +217 -5
  541. package/src/utils/columnAlign.spec.ts +53 -0
  542. package/src/utils/columnAlign.ts +60 -0
  543. package/src/utils/filterFields.spec.ts +237 -0
  544. package/src/utils/filterFields.ts +273 -0
  545. package/src/utils/filterUtils.ts +34 -24
  546. package/src/utils/filterUtilsContracts.spec.ts +190 -0
  547. package/src/utils/paginationDefaults.spec.ts +43 -0
  548. package/src/utils/paginationDefaults.ts +21 -0
  549. package/src/utils/urlStateUtils.spec.ts +2 -2
  550. package/src/utils/urlStateUtils.ts +2 -1
  551. package/src/utils/viewData.ts +27 -0
  552. package/src/utils/withInterp.spec.ts +30 -0
  553. package/src/utils/withInterp.ts +31 -0
  554. package/types/components/ChildTable/index.d.ts +28 -0
  555. package/types/components/ChildTable/index.d.ts.map +1 -0
  556. package/types/components/ColumnHeaderFilter/index.d.ts +23 -0
  557. package/types/components/ColumnHeaderFilter/index.d.ts.map +1 -0
  558. package/types/components/DataTable/DataTableCardControls.d.ts +30 -0
  559. package/types/components/DataTable/DataTableCardControls.d.ts.map +1 -0
  560. package/types/components/DataTable/DataTableContext.d.ts +11 -0
  561. package/types/components/DataTable/DataTableContext.d.ts.map +1 -0
  562. package/types/components/DataTable/DataTableMobileCards.d.ts +37 -0
  563. package/types/components/DataTable/DataTableMobileCards.d.ts.map +1 -0
  564. package/types/components/DataTable/DataTableRoot.d.ts +22 -0
  565. package/types/components/DataTable/DataTableRoot.d.ts.map +1 -0
  566. package/types/components/DataTable/DataTableStateContext.d.ts +77 -0
  567. package/types/components/DataTable/DataTableStateContext.d.ts.map +1 -0
  568. package/types/components/DataTable/DataTableVirtualized.d.ts +36 -0
  569. package/types/components/DataTable/DataTableVirtualized.d.ts.map +1 -0
  570. package/types/components/DataTable/index.d.ts +42 -0
  571. package/types/components/DataTable/index.d.ts.map +1 -0
  572. package/types/components/DataTable/index.native.d.ts +33 -0
  573. package/types/components/DataTable/index.native.d.ts.map +1 -0
  574. package/types/components/DataTableBulkActions/index.d.ts +33 -0
  575. package/types/components/DataTableBulkActions/index.d.ts.map +1 -0
  576. package/types/components/DataTableCell/CellModalEditor.d.ts +34 -0
  577. package/types/components/DataTableCell/CellModalEditor.d.ts.map +1 -0
  578. package/types/components/DataTableCell/CellModalEditor.native.d.ts +20 -0
  579. package/types/components/DataTableCell/CellModalEditor.native.d.ts.map +1 -0
  580. package/types/components/DataTableCell/CellOptionsEditor.d.ts +30 -0
  581. package/types/components/DataTableCell/CellOptionsEditor.d.ts.map +1 -0
  582. package/types/components/DataTableCell/index.d.ts +51 -0
  583. package/types/components/DataTableCell/index.d.ts.map +1 -0
  584. package/types/components/DataTableColumnPinning/index.d.ts +53 -0
  585. package/types/components/DataTableColumnPinning/index.d.ts.map +1 -0
  586. package/types/components/DataTableDateFilter/index.d.ts +54 -0
  587. package/types/components/DataTableDateFilter/index.d.ts.map +1 -0
  588. package/types/components/DataTableExport/index.d.ts +37 -0
  589. package/types/components/DataTableExport/index.d.ts.map +1 -0
  590. package/types/components/DataTableFilterButton/index.d.ts +16 -0
  591. package/types/components/DataTableFilterButton/index.d.ts.map +1 -0
  592. package/types/components/DataTableFilterChips/index.d.ts +12 -0
  593. package/types/components/DataTableFilterChips/index.d.ts.map +1 -0
  594. package/types/components/DataTableFilters/index.d.ts +19 -0
  595. package/types/components/DataTableFilters/index.d.ts.map +1 -0
  596. package/types/components/DataTableGrouping/index.d.ts +79 -0
  597. package/types/components/DataTableGrouping/index.d.ts.map +1 -0
  598. package/types/components/DataTablePagination/index.d.ts +23 -0
  599. package/types/components/DataTablePagination/index.d.ts.map +1 -0
  600. package/types/components/DataTableSearch/index.d.ts +57 -0
  601. package/types/components/DataTableSearch/index.d.ts.map +1 -0
  602. package/types/components/DataTableToolbar/index.d.ts +23 -0
  603. package/types/components/DataTableToolbar/index.d.ts.map +1 -0
  604. package/types/components/DataTableViewOptions/index.d.ts +28 -0
  605. package/types/components/DataTableViewOptions/index.d.ts.map +1 -0
  606. package/types/components/FilterManager.d.ts +16 -0
  607. package/types/components/FilterManager.d.ts.map +1 -0
  608. package/types/components/FilterOperatorValueEditor/index.d.ts +23 -0
  609. package/types/components/FilterOperatorValueEditor/index.d.ts.map +1 -0
  610. package/types/components/KnobDialog.d.ts +57 -0
  611. package/types/components/KnobDialog.d.ts.map +1 -0
  612. package/types/components/SavedFilterDropdown.d.ts +11 -0
  613. package/types/components/SavedFilterDropdown.d.ts.map +1 -0
  614. package/types/components/SimpleTable/index.d.ts +45 -0
  615. package/types/components/SimpleTable/index.d.ts.map +1 -0
  616. package/types/components/TableInput/index.d.ts +66 -0
  617. package/types/components/TableInput/index.d.ts.map +1 -0
  618. package/types/components/TableInput/index.native.d.ts +55 -0
  619. package/types/components/TableInput/index.native.d.ts.map +1 -0
  620. package/types/components/TableInput/shared.d.ts +12 -0
  621. package/types/components/TableInput/shared.d.ts.map +1 -0
  622. package/types/hooks/useDataTable.d.ts +16 -0
  623. package/types/hooks/useDataTable.d.ts.map +1 -0
  624. package/types/hooks/useDataTableKeyboard.d.ts +22 -0
  625. package/types/hooks/useDataTableKeyboard.d.ts.map +1 -0
  626. package/types/hooks/useDragScroll.d.ts +10 -0
  627. package/types/hooks/useDragScroll.d.ts.map +1 -0
  628. package/types/hooks/useInfiniteRows.d.ts +57 -0
  629. package/types/hooks/useInfiniteRows.d.ts.map +1 -0
  630. package/types/hooks/useSavedFilters.d.ts +78 -0
  631. package/types/hooks/useSavedFilters.d.ts.map +1 -0
  632. package/types/hooks/useTableColumnPinning.d.ts +12 -0
  633. package/types/hooks/useTableColumnPinning.d.ts.map +1 -0
  634. package/types/hooks/useTableFiltering.d.ts +27 -0
  635. package/types/hooks/useTableFiltering.d.ts.map +1 -0
  636. package/types/hooks/useTableGrouping.d.ts +33 -0
  637. package/types/hooks/useTableGrouping.d.ts.map +1 -0
  638. package/types/hooks/useTableKeyboard.d.ts +24 -0
  639. package/types/hooks/useTableKeyboard.d.ts.map +1 -0
  640. package/types/hooks/useTablePagination.d.ts +17 -0
  641. package/types/hooks/useTablePagination.d.ts.map +1 -0
  642. package/types/hooks/useTableSearch.d.ts +27 -0
  643. package/types/hooks/useTableSearch.d.ts.map +1 -0
  644. package/types/hooks/useTableSelection.d.ts +14 -0
  645. package/types/hooks/useTableSelection.d.ts.map +1 -0
  646. package/types/hooks/useTableSorting.d.ts +12 -0
  647. package/types/hooks/useTableSorting.d.ts.map +1 -0
  648. package/types/hooks/useTableUrlSync.d.ts +15 -0
  649. package/types/hooks/useTableUrlSync.d.ts.map +1 -0
  650. package/types/hooks/useTableViews.d.ts +26 -0
  651. package/types/hooks/useTableViews.d.ts.map +1 -0
  652. package/types/index.d.ts +68 -0
  653. package/types/index.d.ts.map +1 -0
  654. package/types/shared/t.d.ts +10 -0
  655. package/types/shared/t.d.ts.map +1 -0
  656. package/types/shims/primitives.d.ts +3 -0
  657. package/types/shims/primitives.d.ts.map +1 -0
  658. package/types/shims/tableCellContext.d.ts +3 -0
  659. package/types/shims/tableCellContext.d.ts.map +1 -0
  660. package/types/types.d.ts +525 -0
  661. package/types/types.d.ts.map +1 -0
  662. package/types/utils/columnAlign.d.ts +23 -0
  663. package/types/utils/columnAlign.d.ts.map +1 -0
  664. package/types/utils/filterFields.d.ts +57 -0
  665. package/types/utils/filterFields.d.ts.map +1 -0
  666. package/types/utils/filterUtils.d.ts +24 -0
  667. package/types/utils/filterUtils.d.ts.map +1 -0
  668. package/types/utils/paginationDefaults.d.ts +18 -0
  669. package/types/utils/paginationDefaults.d.ts.map +1 -0
  670. package/types/utils/urlStateUtils.d.ts +8 -0
  671. package/types/utils/urlStateUtils.d.ts.map +1 -0
  672. package/types/utils/viewData.d.ts +11 -0
  673. package/types/utils/viewData.d.ts.map +1 -0
  674. package/types/utils/withInterp.d.ts +19 -0
  675. package/types/utils/withInterp.d.ts.map +1 -0
  676. package/dist/cjs/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.cjs +0 -50
  677. package/dist/cjs/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.native.js +0 -55
  678. package/dist/cjs/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.native.js.map +0 -1
  679. package/dist/cjs/components/DataTable/DataTable.spec.cjs +0 -516
  680. package/dist/cjs/components/DataTable/DataTable.spec.native.js +0 -539
  681. package/dist/cjs/components/DataTable/DataTable.spec.native.js.map +0 -1
  682. package/dist/cjs/components/DataTable/DataTable.stories.cjs +0 -2779
  683. package/dist/cjs/components/DataTable/DataTable.stories.native.js +0 -2912
  684. package/dist/cjs/components/DataTable/DataTable.stories.native.js.map +0 -1
  685. package/dist/cjs/components/DataTable/FieldsInCells.stories.cjs +0 -244
  686. package/dist/cjs/components/DataTable/FieldsInCells.stories.native.js +0 -265
  687. package/dist/cjs/components/DataTable/FieldsInCells.stories.native.js.map +0 -1
  688. package/dist/cjs/components/DataTable/compoundComponent.spec.cjs +0 -334
  689. package/dist/cjs/components/DataTable/compoundComponent.spec.native.js +0 -348
  690. package/dist/cjs/components/DataTable/compoundComponent.spec.native.js.map +0 -1
  691. package/dist/cjs/components/DataTableBulkActions/DataTableBulkActions.spec.cjs +0 -305
  692. package/dist/cjs/components/DataTableBulkActions/DataTableBulkActions.spec.native.js +0 -340
  693. package/dist/cjs/components/DataTableBulkActions/DataTableBulkActions.spec.native.js.map +0 -1
  694. package/dist/cjs/components/DataTableBulkActions/DataTableBulkActions.stories.cjs +0 -347
  695. package/dist/cjs/components/DataTableBulkActions/DataTableBulkActions.stories.native.js +0 -372
  696. package/dist/cjs/components/DataTableBulkActions/DataTableBulkActions.stories.native.js.map +0 -1
  697. package/dist/cjs/components/DataTableCell/DataTableCell.stories.cjs +0 -50
  698. package/dist/cjs/components/DataTableCell/DataTableCell.stories.native.js +0 -55
  699. package/dist/cjs/components/DataTableCell/DataTableCell.stories.native.js.map +0 -1
  700. package/dist/cjs/components/DataTableCell/dataTableCell.spec.cjs +0 -203
  701. package/dist/cjs/components/DataTableCell/dataTableCell.spec.native.js +0 -220
  702. package/dist/cjs/components/DataTableCell/dataTableCell.spec.native.js.map +0 -1
  703. package/dist/cjs/components/DataTableColumnPinning/DataTableColumnPinning.spec.cjs +0 -287
  704. package/dist/cjs/components/DataTableColumnPinning/DataTableColumnPinning.spec.native.js +0 -315
  705. package/dist/cjs/components/DataTableColumnPinning/DataTableColumnPinning.spec.native.js.map +0 -1
  706. package/dist/cjs/components/DataTableColumnPinning/DataTableColumnPinning.stories.cjs +0 -486
  707. package/dist/cjs/components/DataTableColumnPinning/DataTableColumnPinning.stories.native.js +0 -541
  708. package/dist/cjs/components/DataTableColumnPinning/DataTableColumnPinning.stories.native.js.map +0 -1
  709. package/dist/cjs/components/DataTableDateFilter/DataTableDateFilter.spec.cjs +0 -409
  710. package/dist/cjs/components/DataTableDateFilter/DataTableDateFilter.spec.native.js +0 -459
  711. package/dist/cjs/components/DataTableDateFilter/DataTableDateFilter.spec.native.js.map +0 -1
  712. package/dist/cjs/components/DataTableDateFilter/DataTableDateFilter.stories.cjs +0 -368
  713. package/dist/cjs/components/DataTableDateFilter/DataTableDateFilter.stories.native.js +0 -375
  714. package/dist/cjs/components/DataTableDateFilter/DataTableDateFilter.stories.native.js.map +0 -1
  715. package/dist/cjs/components/DataTableExport/DataTableExport.spec.cjs +0 -334
  716. package/dist/cjs/components/DataTableExport/DataTableExport.spec.native.js +0 -349
  717. package/dist/cjs/components/DataTableExport/DataTableExport.spec.native.js.map +0 -1
  718. package/dist/cjs/components/DataTableExport/DataTableExport.stories.cjs +0 -452
  719. package/dist/cjs/components/DataTableExport/DataTableExport.stories.native.js +0 -479
  720. package/dist/cjs/components/DataTableExport/DataTableExport.stories.native.js.map +0 -1
  721. package/dist/cjs/components/DataTableFilters/DataTableFilters.spec.cjs +0 -687
  722. package/dist/cjs/components/DataTableFilters/DataTableFilters.spec.native.js +0 -698
  723. package/dist/cjs/components/DataTableFilters/DataTableFilters.spec.native.js.map +0 -1
  724. package/dist/cjs/components/DataTableFilters/DataTableFilters.stories.cjs +0 -551
  725. package/dist/cjs/components/DataTableFilters/DataTableFilters.stories.native.js +0 -564
  726. package/dist/cjs/components/DataTableFilters/DataTableFilters.stories.native.js.map +0 -1
  727. package/dist/cjs/components/DataTableGrouping/DataTableGrouping.spec.cjs +0 -249
  728. package/dist/cjs/components/DataTableGrouping/DataTableGrouping.spec.native.js +0 -284
  729. package/dist/cjs/components/DataTableGrouping/DataTableGrouping.spec.native.js.map +0 -1
  730. package/dist/cjs/components/DataTableGrouping/DataTableGrouping.stories.cjs +0 -523
  731. package/dist/cjs/components/DataTableGrouping/DataTableGrouping.stories.native.js +0 -545
  732. package/dist/cjs/components/DataTableGrouping/DataTableGrouping.stories.native.js.map +0 -1
  733. package/dist/cjs/components/DataTablePagination/DataTablePagination.spec.cjs +0 -386
  734. package/dist/cjs/components/DataTablePagination/DataTablePagination.spec.native.js +0 -389
  735. package/dist/cjs/components/DataTablePagination/DataTablePagination.spec.native.js.map +0 -1
  736. package/dist/cjs/components/DataTablePagination/DataTablePagination.stories.cjs +0 -604
  737. package/dist/cjs/components/DataTablePagination/DataTablePagination.stories.native.js +0 -627
  738. package/dist/cjs/components/DataTablePagination/DataTablePagination.stories.native.js.map +0 -1
  739. package/dist/cjs/components/DataTableSearch/DataTableSearch.spec.cjs +0 -469
  740. package/dist/cjs/components/DataTableSearch/DataTableSearch.spec.native.js +0 -472
  741. package/dist/cjs/components/DataTableSearch/DataTableSearch.spec.native.js.map +0 -1
  742. package/dist/cjs/components/DataTableSearch/DataTableSearch.stories.cjs +0 -82
  743. package/dist/cjs/components/DataTableSearch/DataTableSearch.stories.native.js +0 -89
  744. package/dist/cjs/components/DataTableSearch/DataTableSearch.stories.native.js.map +0 -1
  745. package/dist/cjs/components/DataTableToolbar/DataTableToolbar.spec.cjs +0 -572
  746. package/dist/cjs/components/DataTableToolbar/DataTableToolbar.spec.native.js +0 -575
  747. package/dist/cjs/components/DataTableToolbar/DataTableToolbar.spec.native.js.map +0 -1
  748. package/dist/cjs/components/DataTableToolbar/DataTableToolbar.stories.cjs +0 -51
  749. package/dist/cjs/components/DataTableToolbar/DataTableToolbar.stories.native.js +0 -56
  750. package/dist/cjs/components/DataTableToolbar/DataTableToolbar.stories.native.js.map +0 -1
  751. package/dist/cjs/components/DataTableViewOptions/DataTableViewOptions.spec.cjs +0 -126
  752. package/dist/cjs/components/DataTableViewOptions/DataTableViewOptions.spec.native.js +0 -129
  753. package/dist/cjs/components/DataTableViewOptions/DataTableViewOptions.spec.native.js.map +0 -1
  754. package/dist/cjs/components/DataTableViewOptions/DataTableViewOptions.stories.cjs +0 -436
  755. package/dist/cjs/components/DataTableViewOptions/DataTableViewOptions.stories.native.js +0 -458
  756. package/dist/cjs/components/DataTableViewOptions/DataTableViewOptions.stories.native.js.map +0 -1
  757. package/dist/cjs/components/FilterManager.spec.cjs +0 -52
  758. package/dist/cjs/components/FilterManager.spec.native.js +0 -55
  759. package/dist/cjs/components/FilterManager.spec.native.js.map +0 -1
  760. package/dist/cjs/components/SavedFilterDropdown.spec.cjs +0 -83
  761. package/dist/cjs/components/SavedFilterDropdown.spec.native.js +0 -86
  762. package/dist/cjs/components/SavedFilterDropdown.spec.native.js.map +0 -1
  763. package/dist/cjs/components/SimpleTable/simpleTable.spec.cjs +0 -162
  764. package/dist/cjs/components/SimpleTable/simpleTable.spec.native.js +0 -165
  765. package/dist/cjs/components/SimpleTable/simpleTable.spec.native.js.map +0 -1
  766. package/dist/cjs/components/Table/Table.stories.cjs +0 -196
  767. package/dist/cjs/components/Table/Table.stories.native.js +0 -207
  768. package/dist/cjs/components/Table/Table.stories.native.js.map +0 -1
  769. package/dist/cjs/components/Table/accessibility.spec.cjs +0 -186
  770. package/dist/cjs/components/Table/accessibility.spec.native.js +0 -216
  771. package/dist/cjs/components/Table/accessibility.spec.native.js.map +0 -1
  772. package/dist/cjs/components/TableInput/TableInput.stories.cjs +0 -50
  773. package/dist/cjs/components/TableInput/TableInput.stories.native.js +0 -55
  774. package/dist/cjs/components/TableInput/TableInput.stories.native.js.map +0 -1
  775. package/dist/cjs/components/componentConsistency.spec.cjs +0 -37
  776. package/dist/cjs/components/componentConsistency.spec.native.js +0 -48
  777. package/dist/cjs/components/componentConsistency.spec.native.js.map +0 -1
  778. package/dist/cjs/hooks/hookDecomposition.spec.cjs +0 -326
  779. package/dist/cjs/hooks/hookDecomposition.spec.native.js +0 -351
  780. package/dist/cjs/hooks/hookDecomposition.spec.native.js.map +0 -1
  781. package/dist/cjs/hooks/useDataTable.spec.cjs +0 -10
  782. package/dist/cjs/hooks/useDataTable.spec.native.js +0 -13
  783. package/dist/cjs/hooks/useDataTable.spec.native.js.map +0 -1
  784. package/dist/cjs/hooks/useSavedFilters.spec.cjs +0 -212
  785. package/dist/cjs/hooks/useSavedFilters.spec.native.js +0 -240
  786. package/dist/cjs/hooks/useSavedFilters.spec.native.js.map +0 -1
  787. package/dist/cjs/utils/filterUtils.spec.cjs +0 -350
  788. package/dist/cjs/utils/filterUtils.spec.native.js +0 -353
  789. package/dist/cjs/utils/filterUtils.spec.native.js.map +0 -1
  790. package/dist/cjs/utils/urlStateUtils.spec.cjs +0 -234
  791. package/dist/cjs/utils/urlStateUtils.spec.native.js +0 -239
  792. package/dist/cjs/utils/urlStateUtils.spec.native.js.map +0 -1
  793. package/dist/esm/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.mjs +0 -24
  794. package/dist/esm/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.mjs.map +0 -1
  795. package/dist/esm/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.native.js +0 -26
  796. package/dist/esm/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.native.js.map +0 -1
  797. package/dist/esm/components/DataTable/DataTable.spec.mjs +0 -517
  798. package/dist/esm/components/DataTable/DataTable.spec.mjs.map +0 -1
  799. package/dist/esm/components/DataTable/DataTable.spec.native.js +0 -537
  800. package/dist/esm/components/DataTable/DataTable.spec.native.js.map +0 -1
  801. package/dist/esm/components/DataTable/DataTable.stories.mjs +0 -2672
  802. package/dist/esm/components/DataTable/DataTable.stories.mjs.map +0 -1
  803. package/dist/esm/components/DataTable/DataTable.stories.native.js +0 -2802
  804. package/dist/esm/components/DataTable/DataTable.stories.native.js.map +0 -1
  805. package/dist/esm/components/DataTable/FieldsInCells.stories.mjs +0 -217
  806. package/dist/esm/components/DataTable/FieldsInCells.stories.mjs.map +0 -1
  807. package/dist/esm/components/DataTable/FieldsInCells.stories.native.js +0 -224
  808. package/dist/esm/components/DataTable/FieldsInCells.stories.native.js.map +0 -1
  809. package/dist/esm/components/DataTable/compoundComponent.spec.mjs +0 -335
  810. package/dist/esm/components/DataTable/compoundComponent.spec.mjs.map +0 -1
  811. package/dist/esm/components/DataTable/compoundComponent.spec.native.js +0 -346
  812. package/dist/esm/components/DataTable/compoundComponent.spec.native.js.map +0 -1
  813. package/dist/esm/components/DataTableBulkActions/DataTableBulkActions.spec.mjs +0 -306
  814. package/dist/esm/components/DataTableBulkActions/DataTableBulkActions.spec.mjs.map +0 -1
  815. package/dist/esm/components/DataTableBulkActions/DataTableBulkActions.spec.native.js +0 -338
  816. package/dist/esm/components/DataTableBulkActions/DataTableBulkActions.spec.native.js.map +0 -1
  817. package/dist/esm/components/DataTableBulkActions/DataTableBulkActions.stories.mjs +0 -304
  818. package/dist/esm/components/DataTableBulkActions/DataTableBulkActions.stories.mjs.map +0 -1
  819. package/dist/esm/components/DataTableBulkActions/DataTableBulkActions.stories.native.js +0 -326
  820. package/dist/esm/components/DataTableBulkActions/DataTableBulkActions.stories.native.js.map +0 -1
  821. package/dist/esm/components/DataTableCell/DataTableCell.stories.mjs +0 -24
  822. package/dist/esm/components/DataTableCell/DataTableCell.stories.mjs.map +0 -1
  823. package/dist/esm/components/DataTableCell/DataTableCell.stories.native.js +0 -26
  824. package/dist/esm/components/DataTableCell/DataTableCell.stories.native.js.map +0 -1
  825. package/dist/esm/components/DataTableCell/dataTableCell.spec.mjs +0 -180
  826. package/dist/esm/components/DataTableCell/dataTableCell.spec.mjs.map +0 -1
  827. package/dist/esm/components/DataTableCell/dataTableCell.spec.native.js +0 -194
  828. package/dist/esm/components/DataTableCell/dataTableCell.spec.native.js.map +0 -1
  829. package/dist/esm/components/DataTableColumnPinning/DataTableColumnPinning.spec.mjs +0 -264
  830. package/dist/esm/components/DataTableColumnPinning/DataTableColumnPinning.spec.mjs.map +0 -1
  831. package/dist/esm/components/DataTableColumnPinning/DataTableColumnPinning.spec.native.js +0 -289
  832. package/dist/esm/components/DataTableColumnPinning/DataTableColumnPinning.spec.native.js.map +0 -1
  833. package/dist/esm/components/DataTableColumnPinning/DataTableColumnPinning.stories.mjs +0 -457
  834. package/dist/esm/components/DataTableColumnPinning/DataTableColumnPinning.stories.mjs.map +0 -1
  835. package/dist/esm/components/DataTableColumnPinning/DataTableColumnPinning.stories.native.js +0 -509
  836. package/dist/esm/components/DataTableColumnPinning/DataTableColumnPinning.stories.native.js.map +0 -1
  837. package/dist/esm/components/DataTableDateFilter/DataTableDateFilter.spec.mjs +0 -386
  838. package/dist/esm/components/DataTableDateFilter/DataTableDateFilter.spec.mjs.map +0 -1
  839. package/dist/esm/components/DataTableDateFilter/DataTableDateFilter.spec.native.js +0 -433
  840. package/dist/esm/components/DataTableDateFilter/DataTableDateFilter.spec.native.js.map +0 -1
  841. package/dist/esm/components/DataTableDateFilter/DataTableDateFilter.stories.mjs +0 -325
  842. package/dist/esm/components/DataTableDateFilter/DataTableDateFilter.stories.mjs.map +0 -1
  843. package/dist/esm/components/DataTableDateFilter/DataTableDateFilter.stories.native.js +0 -329
  844. package/dist/esm/components/DataTableDateFilter/DataTableDateFilter.stories.native.js.map +0 -1
  845. package/dist/esm/components/DataTableExport/DataTableExport.spec.mjs +0 -335
  846. package/dist/esm/components/DataTableExport/DataTableExport.spec.mjs.map +0 -1
  847. package/dist/esm/components/DataTableExport/DataTableExport.spec.native.js +0 -347
  848. package/dist/esm/components/DataTableExport/DataTableExport.spec.native.js.map +0 -1
  849. package/dist/esm/components/DataTableExport/DataTableExport.stories.mjs +0 -419
  850. package/dist/esm/components/DataTableExport/DataTableExport.stories.mjs.map +0 -1
  851. package/dist/esm/components/DataTableExport/DataTableExport.stories.native.js +0 -443
  852. package/dist/esm/components/DataTableExport/DataTableExport.stories.native.js.map +0 -1
  853. package/dist/esm/components/DataTableFilters/DataTableFilters.spec.mjs +0 -688
  854. package/dist/esm/components/DataTableFilters/DataTableFilters.spec.mjs.map +0 -1
  855. package/dist/esm/components/DataTableFilters/DataTableFilters.spec.native.js +0 -696
  856. package/dist/esm/components/DataTableFilters/DataTableFilters.spec.native.js.map +0 -1
  857. package/dist/esm/components/DataTableFilters/DataTableFilters.stories.mjs +0 -499
  858. package/dist/esm/components/DataTableFilters/DataTableFilters.stories.mjs.map +0 -1
  859. package/dist/esm/components/DataTableFilters/DataTableFilters.stories.native.js +0 -509
  860. package/dist/esm/components/DataTableFilters/DataTableFilters.stories.native.js.map +0 -1
  861. package/dist/esm/components/DataTableGrouping/DataTableGrouping.spec.mjs +0 -249
  862. package/dist/esm/components/DataTableGrouping/DataTableGrouping.spec.mjs.map +0 -1
  863. package/dist/esm/components/DataTableGrouping/DataTableGrouping.spec.native.js +0 -281
  864. package/dist/esm/components/DataTableGrouping/DataTableGrouping.spec.native.js.map +0 -1
  865. package/dist/esm/components/DataTableGrouping/DataTableGrouping.stories.mjs +0 -479
  866. package/dist/esm/components/DataTableGrouping/DataTableGrouping.stories.mjs.map +0 -1
  867. package/dist/esm/components/DataTableGrouping/DataTableGrouping.stories.native.js +0 -498
  868. package/dist/esm/components/DataTableGrouping/DataTableGrouping.stories.native.js.map +0 -1
  869. package/dist/esm/components/DataTablePagination/DataTablePagination.spec.mjs +0 -387
  870. package/dist/esm/components/DataTablePagination/DataTablePagination.spec.mjs.map +0 -1
  871. package/dist/esm/components/DataTablePagination/DataTablePagination.spec.native.js +0 -387
  872. package/dist/esm/components/DataTablePagination/DataTablePagination.spec.native.js.map +0 -1
  873. package/dist/esm/components/DataTablePagination/DataTablePagination.stories.mjs +0 -546
  874. package/dist/esm/components/DataTablePagination/DataTablePagination.stories.mjs.map +0 -1
  875. package/dist/esm/components/DataTablePagination/DataTablePagination.stories.native.js +0 -566
  876. package/dist/esm/components/DataTablePagination/DataTablePagination.stories.native.js.map +0 -1
  877. package/dist/esm/components/DataTableSearch/DataTableSearch.spec.mjs +0 -470
  878. package/dist/esm/components/DataTableSearch/DataTableSearch.spec.mjs.map +0 -1
  879. package/dist/esm/components/DataTableSearch/DataTableSearch.spec.native.js +0 -470
  880. package/dist/esm/components/DataTableSearch/DataTableSearch.spec.native.js.map +0 -1
  881. package/dist/esm/components/DataTableSearch/DataTableSearch.stories.mjs +0 -56
  882. package/dist/esm/components/DataTableSearch/DataTableSearch.stories.mjs.map +0 -1
  883. package/dist/esm/components/DataTableSearch/DataTableSearch.stories.native.js +0 -60
  884. package/dist/esm/components/DataTableSearch/DataTableSearch.stories.native.js.map +0 -1
  885. package/dist/esm/components/DataTableToolbar/DataTableToolbar.spec.mjs +0 -573
  886. package/dist/esm/components/DataTableToolbar/DataTableToolbar.spec.mjs.map +0 -1
  887. package/dist/esm/components/DataTableToolbar/DataTableToolbar.spec.native.js +0 -573
  888. package/dist/esm/components/DataTableToolbar/DataTableToolbar.spec.native.js.map +0 -1
  889. package/dist/esm/components/DataTableToolbar/DataTableToolbar.stories.mjs +0 -25
  890. package/dist/esm/components/DataTableToolbar/DataTableToolbar.stories.mjs.map +0 -1
  891. package/dist/esm/components/DataTableToolbar/DataTableToolbar.stories.native.js +0 -27
  892. package/dist/esm/components/DataTableToolbar/DataTableToolbar.stories.native.js.map +0 -1
  893. package/dist/esm/components/DataTableViewOptions/DataTableViewOptions.spec.mjs +0 -126
  894. package/dist/esm/components/DataTableViewOptions/DataTableViewOptions.spec.mjs.map +0 -1
  895. package/dist/esm/components/DataTableViewOptions/DataTableViewOptions.spec.native.js +0 -126
  896. package/dist/esm/components/DataTableViewOptions/DataTableViewOptions.spec.native.js.map +0 -1
  897. package/dist/esm/components/DataTableViewOptions/DataTableViewOptions.stories.mjs +0 -393
  898. package/dist/esm/components/DataTableViewOptions/DataTableViewOptions.stories.mjs.map +0 -1
  899. package/dist/esm/components/DataTableViewOptions/DataTableViewOptions.stories.native.js +0 -412
  900. package/dist/esm/components/DataTableViewOptions/DataTableViewOptions.stories.native.js.map +0 -1
  901. package/dist/esm/components/FilterManager.spec.mjs +0 -53
  902. package/dist/esm/components/FilterManager.spec.mjs.map +0 -1
  903. package/dist/esm/components/FilterManager.spec.native.js +0 -53
  904. package/dist/esm/components/FilterManager.spec.native.js.map +0 -1
  905. package/dist/esm/components/SavedFilterDropdown.spec.mjs +0 -84
  906. package/dist/esm/components/SavedFilterDropdown.spec.mjs.map +0 -1
  907. package/dist/esm/components/SavedFilterDropdown.spec.native.js +0 -84
  908. package/dist/esm/components/SavedFilterDropdown.spec.native.js.map +0 -1
  909. package/dist/esm/components/SimpleTable/simpleTable.spec.mjs +0 -163
  910. package/dist/esm/components/SimpleTable/simpleTable.spec.mjs.map +0 -1
  911. package/dist/esm/components/SimpleTable/simpleTable.spec.native.js +0 -163
  912. package/dist/esm/components/SimpleTable/simpleTable.spec.native.js.map +0 -1
  913. package/dist/esm/components/Table/Table.stories.mjs +0 -167
  914. package/dist/esm/components/Table/Table.stories.mjs.map +0 -1
  915. package/dist/esm/components/Table/Table.stories.native.js +0 -175
  916. package/dist/esm/components/Table/Table.stories.native.js.map +0 -1
  917. package/dist/esm/components/Table/accessibility.spec.mjs +0 -187
  918. package/dist/esm/components/Table/accessibility.spec.mjs.map +0 -1
  919. package/dist/esm/components/Table/accessibility.spec.native.js +0 -214
  920. package/dist/esm/components/Table/accessibility.spec.native.js.map +0 -1
  921. package/dist/esm/components/TableInput/TableInput.stories.mjs +0 -24
  922. package/dist/esm/components/TableInput/TableInput.stories.mjs.map +0 -1
  923. package/dist/esm/components/TableInput/TableInput.stories.native.js +0 -26
  924. package/dist/esm/components/TableInput/TableInput.stories.native.js.map +0 -1
  925. package/dist/esm/components/componentConsistency.spec.mjs +0 -38
  926. package/dist/esm/components/componentConsistency.spec.mjs.map +0 -1
  927. package/dist/esm/components/componentConsistency.spec.native.js +0 -46
  928. package/dist/esm/components/componentConsistency.spec.native.js.map +0 -1
  929. package/dist/esm/hooks/hookDecomposition.spec.mjs +0 -327
  930. package/dist/esm/hooks/hookDecomposition.spec.mjs.map +0 -1
  931. package/dist/esm/hooks/hookDecomposition.spec.native.js +0 -349
  932. package/dist/esm/hooks/hookDecomposition.spec.native.js.map +0 -1
  933. package/dist/esm/hooks/useDataTable.spec.mjs +0 -11
  934. package/dist/esm/hooks/useDataTable.spec.mjs.map +0 -1
  935. package/dist/esm/hooks/useDataTable.spec.native.js +0 -11
  936. package/dist/esm/hooks/useDataTable.spec.native.js.map +0 -1
  937. package/dist/esm/hooks/useSavedFilters.spec.mjs +0 -213
  938. package/dist/esm/hooks/useSavedFilters.spec.mjs.map +0 -1
  939. package/dist/esm/hooks/useSavedFilters.spec.native.js +0 -238
  940. package/dist/esm/hooks/useSavedFilters.spec.native.js.map +0 -1
  941. package/dist/esm/utils/filterUtils.spec.mjs +0 -351
  942. package/dist/esm/utils/filterUtils.spec.mjs.map +0 -1
  943. package/dist/esm/utils/filterUtils.spec.native.js +0 -351
  944. package/dist/esm/utils/filterUtils.spec.native.js.map +0 -1
  945. package/dist/esm/utils/urlStateUtils.spec.mjs +0 -235
  946. package/dist/esm/utils/urlStateUtils.spec.mjs.map +0 -1
  947. package/dist/esm/utils/urlStateUtils.spec.native.js +0 -237
  948. package/dist/esm/utils/urlStateUtils.spec.native.js.map +0 -1
  949. package/dist/jsx/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.mjs +0 -24
  950. package/dist/jsx/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.mjs.map +0 -1
  951. package/dist/jsx/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.native.js +0 -55
  952. package/dist/jsx/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.native.js.map +0 -1
  953. package/dist/jsx/components/DataTable/DataTable.spec.mjs +0 -517
  954. package/dist/jsx/components/DataTable/DataTable.spec.mjs.map +0 -1
  955. package/dist/jsx/components/DataTable/DataTable.spec.native.js +0 -539
  956. package/dist/jsx/components/DataTable/DataTable.spec.native.js.map +0 -1
  957. package/dist/jsx/components/DataTable/DataTable.stories.mjs +0 -2672
  958. package/dist/jsx/components/DataTable/DataTable.stories.mjs.map +0 -1
  959. package/dist/jsx/components/DataTable/DataTable.stories.native.js +0 -2912
  960. package/dist/jsx/components/DataTable/DataTable.stories.native.js.map +0 -1
  961. package/dist/jsx/components/DataTable/FieldsInCells.stories.mjs +0 -217
  962. package/dist/jsx/components/DataTable/FieldsInCells.stories.mjs.map +0 -1
  963. package/dist/jsx/components/DataTable/FieldsInCells.stories.native.js +0 -265
  964. package/dist/jsx/components/DataTable/FieldsInCells.stories.native.js.map +0 -1
  965. package/dist/jsx/components/DataTable/compoundComponent.spec.mjs +0 -335
  966. package/dist/jsx/components/DataTable/compoundComponent.spec.mjs.map +0 -1
  967. package/dist/jsx/components/DataTable/compoundComponent.spec.native.js +0 -348
  968. package/dist/jsx/components/DataTable/compoundComponent.spec.native.js.map +0 -1
  969. package/dist/jsx/components/DataTableBulkActions/DataTableBulkActions.spec.mjs +0 -306
  970. package/dist/jsx/components/DataTableBulkActions/DataTableBulkActions.spec.mjs.map +0 -1
  971. package/dist/jsx/components/DataTableBulkActions/DataTableBulkActions.spec.native.js +0 -340
  972. package/dist/jsx/components/DataTableBulkActions/DataTableBulkActions.spec.native.js.map +0 -1
  973. package/dist/jsx/components/DataTableBulkActions/DataTableBulkActions.stories.mjs +0 -304
  974. package/dist/jsx/components/DataTableBulkActions/DataTableBulkActions.stories.mjs.map +0 -1
  975. package/dist/jsx/components/DataTableBulkActions/DataTableBulkActions.stories.native.js +0 -372
  976. package/dist/jsx/components/DataTableBulkActions/DataTableBulkActions.stories.native.js.map +0 -1
  977. package/dist/jsx/components/DataTableCell/DataTableCell.stories.mjs +0 -24
  978. package/dist/jsx/components/DataTableCell/DataTableCell.stories.mjs.map +0 -1
  979. package/dist/jsx/components/DataTableCell/DataTableCell.stories.native.js +0 -55
  980. package/dist/jsx/components/DataTableCell/DataTableCell.stories.native.js.map +0 -1
  981. package/dist/jsx/components/DataTableCell/dataTableCell.spec.mjs +0 -180
  982. package/dist/jsx/components/DataTableCell/dataTableCell.spec.mjs.map +0 -1
  983. package/dist/jsx/components/DataTableCell/dataTableCell.spec.native.js +0 -220
  984. package/dist/jsx/components/DataTableCell/dataTableCell.spec.native.js.map +0 -1
  985. package/dist/jsx/components/DataTableColumnPinning/DataTableColumnPinning.spec.mjs +0 -264
  986. package/dist/jsx/components/DataTableColumnPinning/DataTableColumnPinning.spec.mjs.map +0 -1
  987. package/dist/jsx/components/DataTableColumnPinning/DataTableColumnPinning.spec.native.js +0 -315
  988. package/dist/jsx/components/DataTableColumnPinning/DataTableColumnPinning.spec.native.js.map +0 -1
  989. package/dist/jsx/components/DataTableColumnPinning/DataTableColumnPinning.stories.mjs +0 -457
  990. package/dist/jsx/components/DataTableColumnPinning/DataTableColumnPinning.stories.mjs.map +0 -1
  991. package/dist/jsx/components/DataTableColumnPinning/DataTableColumnPinning.stories.native.js +0 -541
  992. package/dist/jsx/components/DataTableColumnPinning/DataTableColumnPinning.stories.native.js.map +0 -1
  993. package/dist/jsx/components/DataTableDateFilter/DataTableDateFilter.spec.mjs +0 -386
  994. package/dist/jsx/components/DataTableDateFilter/DataTableDateFilter.spec.mjs.map +0 -1
  995. package/dist/jsx/components/DataTableDateFilter/DataTableDateFilter.spec.native.js +0 -459
  996. package/dist/jsx/components/DataTableDateFilter/DataTableDateFilter.spec.native.js.map +0 -1
  997. package/dist/jsx/components/DataTableDateFilter/DataTableDateFilter.stories.mjs +0 -325
  998. package/dist/jsx/components/DataTableDateFilter/DataTableDateFilter.stories.mjs.map +0 -1
  999. package/dist/jsx/components/DataTableDateFilter/DataTableDateFilter.stories.native.js +0 -375
  1000. package/dist/jsx/components/DataTableDateFilter/DataTableDateFilter.stories.native.js.map +0 -1
  1001. package/dist/jsx/components/DataTableExport/DataTableExport.spec.mjs +0 -335
  1002. package/dist/jsx/components/DataTableExport/DataTableExport.spec.mjs.map +0 -1
  1003. package/dist/jsx/components/DataTableExport/DataTableExport.spec.native.js +0 -349
  1004. package/dist/jsx/components/DataTableExport/DataTableExport.spec.native.js.map +0 -1
  1005. package/dist/jsx/components/DataTableExport/DataTableExport.stories.mjs +0 -419
  1006. package/dist/jsx/components/DataTableExport/DataTableExport.stories.mjs.map +0 -1
  1007. package/dist/jsx/components/DataTableExport/DataTableExport.stories.native.js +0 -479
  1008. package/dist/jsx/components/DataTableExport/DataTableExport.stories.native.js.map +0 -1
  1009. package/dist/jsx/components/DataTableFilters/DataTableFilters.spec.mjs +0 -688
  1010. package/dist/jsx/components/DataTableFilters/DataTableFilters.spec.mjs.map +0 -1
  1011. package/dist/jsx/components/DataTableFilters/DataTableFilters.spec.native.js +0 -698
  1012. package/dist/jsx/components/DataTableFilters/DataTableFilters.spec.native.js.map +0 -1
  1013. package/dist/jsx/components/DataTableFilters/DataTableFilters.stories.mjs +0 -499
  1014. package/dist/jsx/components/DataTableFilters/DataTableFilters.stories.mjs.map +0 -1
  1015. package/dist/jsx/components/DataTableFilters/DataTableFilters.stories.native.js +0 -564
  1016. package/dist/jsx/components/DataTableFilters/DataTableFilters.stories.native.js.map +0 -1
  1017. package/dist/jsx/components/DataTableGrouping/DataTableGrouping.spec.mjs +0 -249
  1018. package/dist/jsx/components/DataTableGrouping/DataTableGrouping.spec.mjs.map +0 -1
  1019. package/dist/jsx/components/DataTableGrouping/DataTableGrouping.spec.native.js +0 -284
  1020. package/dist/jsx/components/DataTableGrouping/DataTableGrouping.spec.native.js.map +0 -1
  1021. package/dist/jsx/components/DataTableGrouping/DataTableGrouping.stories.mjs +0 -479
  1022. package/dist/jsx/components/DataTableGrouping/DataTableGrouping.stories.mjs.map +0 -1
  1023. package/dist/jsx/components/DataTableGrouping/DataTableGrouping.stories.native.js +0 -545
  1024. package/dist/jsx/components/DataTableGrouping/DataTableGrouping.stories.native.js.map +0 -1
  1025. package/dist/jsx/components/DataTablePagination/DataTablePagination.spec.mjs +0 -387
  1026. package/dist/jsx/components/DataTablePagination/DataTablePagination.spec.mjs.map +0 -1
  1027. package/dist/jsx/components/DataTablePagination/DataTablePagination.spec.native.js +0 -389
  1028. package/dist/jsx/components/DataTablePagination/DataTablePagination.spec.native.js.map +0 -1
  1029. package/dist/jsx/components/DataTablePagination/DataTablePagination.stories.mjs +0 -546
  1030. package/dist/jsx/components/DataTablePagination/DataTablePagination.stories.mjs.map +0 -1
  1031. package/dist/jsx/components/DataTablePagination/DataTablePagination.stories.native.js +0 -627
  1032. package/dist/jsx/components/DataTablePagination/DataTablePagination.stories.native.js.map +0 -1
  1033. package/dist/jsx/components/DataTableSearch/DataTableSearch.spec.mjs +0 -470
  1034. package/dist/jsx/components/DataTableSearch/DataTableSearch.spec.mjs.map +0 -1
  1035. package/dist/jsx/components/DataTableSearch/DataTableSearch.spec.native.js +0 -472
  1036. package/dist/jsx/components/DataTableSearch/DataTableSearch.spec.native.js.map +0 -1
  1037. package/dist/jsx/components/DataTableSearch/DataTableSearch.stories.mjs +0 -56
  1038. package/dist/jsx/components/DataTableSearch/DataTableSearch.stories.mjs.map +0 -1
  1039. package/dist/jsx/components/DataTableSearch/DataTableSearch.stories.native.js +0 -89
  1040. package/dist/jsx/components/DataTableSearch/DataTableSearch.stories.native.js.map +0 -1
  1041. package/dist/jsx/components/DataTableToolbar/DataTableToolbar.spec.mjs +0 -573
  1042. package/dist/jsx/components/DataTableToolbar/DataTableToolbar.spec.mjs.map +0 -1
  1043. package/dist/jsx/components/DataTableToolbar/DataTableToolbar.spec.native.js +0 -575
  1044. package/dist/jsx/components/DataTableToolbar/DataTableToolbar.spec.native.js.map +0 -1
  1045. package/dist/jsx/components/DataTableToolbar/DataTableToolbar.stories.mjs +0 -25
  1046. package/dist/jsx/components/DataTableToolbar/DataTableToolbar.stories.mjs.map +0 -1
  1047. package/dist/jsx/components/DataTableToolbar/DataTableToolbar.stories.native.js +0 -56
  1048. package/dist/jsx/components/DataTableToolbar/DataTableToolbar.stories.native.js.map +0 -1
  1049. package/dist/jsx/components/DataTableViewOptions/DataTableViewOptions.spec.mjs +0 -126
  1050. package/dist/jsx/components/DataTableViewOptions/DataTableViewOptions.spec.mjs.map +0 -1
  1051. package/dist/jsx/components/DataTableViewOptions/DataTableViewOptions.spec.native.js +0 -129
  1052. package/dist/jsx/components/DataTableViewOptions/DataTableViewOptions.spec.native.js.map +0 -1
  1053. package/dist/jsx/components/DataTableViewOptions/DataTableViewOptions.stories.mjs +0 -393
  1054. package/dist/jsx/components/DataTableViewOptions/DataTableViewOptions.stories.mjs.map +0 -1
  1055. package/dist/jsx/components/DataTableViewOptions/DataTableViewOptions.stories.native.js +0 -458
  1056. package/dist/jsx/components/DataTableViewOptions/DataTableViewOptions.stories.native.js.map +0 -1
  1057. package/dist/jsx/components/FilterManager.spec.mjs +0 -53
  1058. package/dist/jsx/components/FilterManager.spec.mjs.map +0 -1
  1059. package/dist/jsx/components/FilterManager.spec.native.js +0 -55
  1060. package/dist/jsx/components/FilterManager.spec.native.js.map +0 -1
  1061. package/dist/jsx/components/SavedFilterDropdown.spec.mjs +0 -84
  1062. package/dist/jsx/components/SavedFilterDropdown.spec.mjs.map +0 -1
  1063. package/dist/jsx/components/SavedFilterDropdown.spec.native.js +0 -86
  1064. package/dist/jsx/components/SavedFilterDropdown.spec.native.js.map +0 -1
  1065. package/dist/jsx/components/SimpleTable/simpleTable.spec.mjs +0 -163
  1066. package/dist/jsx/components/SimpleTable/simpleTable.spec.mjs.map +0 -1
  1067. package/dist/jsx/components/SimpleTable/simpleTable.spec.native.js +0 -165
  1068. package/dist/jsx/components/SimpleTable/simpleTable.spec.native.js.map +0 -1
  1069. package/dist/jsx/components/Table/Table.stories.mjs +0 -167
  1070. package/dist/jsx/components/Table/Table.stories.mjs.map +0 -1
  1071. package/dist/jsx/components/Table/Table.stories.native.js +0 -207
  1072. package/dist/jsx/components/Table/Table.stories.native.js.map +0 -1
  1073. package/dist/jsx/components/Table/accessibility.spec.mjs +0 -187
  1074. package/dist/jsx/components/Table/accessibility.spec.mjs.map +0 -1
  1075. package/dist/jsx/components/Table/accessibility.spec.native.js +0 -216
  1076. package/dist/jsx/components/Table/accessibility.spec.native.js.map +0 -1
  1077. package/dist/jsx/components/TableInput/TableInput.stories.mjs +0 -24
  1078. package/dist/jsx/components/TableInput/TableInput.stories.mjs.map +0 -1
  1079. package/dist/jsx/components/TableInput/TableInput.stories.native.js +0 -55
  1080. package/dist/jsx/components/TableInput/TableInput.stories.native.js.map +0 -1
  1081. package/dist/jsx/components/componentConsistency.spec.mjs +0 -38
  1082. package/dist/jsx/components/componentConsistency.spec.mjs.map +0 -1
  1083. package/dist/jsx/components/componentConsistency.spec.native.js +0 -48
  1084. package/dist/jsx/components/componentConsistency.spec.native.js.map +0 -1
  1085. package/dist/jsx/hooks/hookDecomposition.spec.mjs +0 -327
  1086. package/dist/jsx/hooks/hookDecomposition.spec.mjs.map +0 -1
  1087. package/dist/jsx/hooks/hookDecomposition.spec.native.js +0 -351
  1088. package/dist/jsx/hooks/hookDecomposition.spec.native.js.map +0 -1
  1089. package/dist/jsx/hooks/useDataTable.spec.mjs +0 -11
  1090. package/dist/jsx/hooks/useDataTable.spec.mjs.map +0 -1
  1091. package/dist/jsx/hooks/useDataTable.spec.native.js +0 -13
  1092. package/dist/jsx/hooks/useDataTable.spec.native.js.map +0 -1
  1093. package/dist/jsx/hooks/useSavedFilters.spec.mjs +0 -213
  1094. package/dist/jsx/hooks/useSavedFilters.spec.mjs.map +0 -1
  1095. package/dist/jsx/hooks/useSavedFilters.spec.native.js +0 -240
  1096. package/dist/jsx/hooks/useSavedFilters.spec.native.js.map +0 -1
  1097. package/dist/jsx/utils/filterUtils.spec.mjs +0 -351
  1098. package/dist/jsx/utils/filterUtils.spec.mjs.map +0 -1
  1099. package/dist/jsx/utils/filterUtils.spec.native.js +0 -353
  1100. package/dist/jsx/utils/filterUtils.spec.native.js.map +0 -1
  1101. package/dist/jsx/utils/urlStateUtils.spec.mjs +0 -235
  1102. package/dist/jsx/utils/urlStateUtils.spec.mjs.map +0 -1
  1103. package/dist/jsx/utils/urlStateUtils.spec.native.js +0 -239
  1104. package/dist/jsx/utils/urlStateUtils.spec.native.js.map +0 -1
package/src/types.ts CHANGED
@@ -1,11 +1,42 @@
1
1
  import type { ColumnDef, ColumnFiltersState, Row } from "@tanstack/react-table";
2
2
  import type { UrlStateStrategy } from "./hooks/useDataTable";
3
3
  import type { AnyFormApi } from "@multiplatform.one/forms";
4
+ import type React from "react";
4
5
 
5
6
  // Core Data Types
6
7
 
7
8
  export type DataTableData = Record<string, any>;
8
9
 
10
+ /** Bulk action for DataTable selection toolbar (DG-TBL-02). */
11
+ export interface BulkAction<T = any> {
12
+ id: string;
13
+ label: string;
14
+ icon?: React.ReactNode;
15
+ confirmMessage?: string;
16
+ confirmTitle?: string;
17
+ variant?: "default" | "destructive" | "secondary";
18
+ onExecute: (selectedItems: T[], clearSelection: () => void) => void | Promise<void>;
19
+ requiresConfirmation?: boolean;
20
+ disabled?: boolean;
21
+ /**
22
+ * DG-ST-03 — explains why the action is disabled. Flows through the Button /
23
+ * DropdownMenu explain affordances (visible reason, no hover needed). A bare
24
+ * `disabled` without it DEV-warns `bare-disabled`.
25
+ */
26
+ disabledReason?: string;
27
+ }
28
+
29
+ /** Select-all checkbox scope (DG-TBL-03). Default: page. */
30
+ export type SelectAllScope = "page" | "filtered";
31
+
32
+ /**
33
+ * Responsive layout mode for the table body.
34
+ * - `auto`: grid on `$sm` and up, stacked card list below (default)
35
+ * - `table`: always render the grid, even at phone widths
36
+ * - `cards`: always render the stacked card list
37
+ */
38
+ export type DataTableLayout = "auto" | "table" | "cards";
39
+
9
40
  /**
10
41
  * Field types - the UI component used to render/edit a cell.
11
42
  * If no field is specified on a column, defaults to "input" (read-only).
@@ -53,6 +84,17 @@ export type DataTableField =
53
84
  // Custom
54
85
  | "custom";
55
86
 
87
+ /**
88
+ * Cell state passed to custom cell renderers as the (optional) 4th `render`
89
+ * argument. When `readOnly` (or `disabled`) is true the cell blocks commits,
90
+ * so the renderer must produce a non-interactive presentation — rendering an
91
+ * interactive-looking control whose edits go nowhere lies about editability.
92
+ */
93
+ export interface DataTableCellRenderContext {
94
+ readOnly: boolean;
95
+ disabled: boolean;
96
+ }
97
+
56
98
  /**
57
99
  * Field-specific props passed to the underlying field component.
58
100
  * Use this for options, validation, formatters, etc.
@@ -100,8 +142,17 @@ export interface DataTableFieldProps {
100
142
  dateRangeIsEndColumn?: boolean;
101
143
  /** Allow multiple selection for togglegroup */
102
144
  allowMultiple?: boolean;
103
- /** Custom render function for 'custom' fieldType */
104
- render?: (value: any, row: any, onChange: (value: any) => void) => React.ReactNode;
145
+ /**
146
+ * Custom render function for the 'custom' fieldType. Honor
147
+ * `context.readOnly` / `context.disabled` — the cell blocks commits in
148
+ * those states, so the custom presentation must go non-interactive too.
149
+ */
150
+ render?: (
151
+ value: any,
152
+ row: any,
153
+ onChange: (value: any) => void,
154
+ context?: DataTableCellRenderContext,
155
+ ) => React.ReactNode;
105
156
  /** Any additional props to pass to the field component */
106
157
  [key: string]: any;
107
158
  }
@@ -115,6 +166,12 @@ export type DataTableColumn<TData extends DataTableData = DataTableData> = Colum
115
166
  width?: number;
116
167
  minWidth?: number;
117
168
  maxWidth?: number;
169
+ /**
170
+ * Text alignment override (DG-TBL-01).
171
+ * When omitted, defaults from field/data type: numbers/currency right,
172
+ * text left, actions right, booleans center.
173
+ */
174
+ align?: "left" | "center" | "right";
118
175
  /**
119
176
  * UI component type for rendering/editing cells in this column.
120
177
  * If not specified, defaults to "input" (read-only text display).
@@ -127,8 +184,6 @@ export type DataTableColumn<TData extends DataTableData = DataTableData> = Colum
127
184
  * Props passed to the field component (options, placeholder, min/max, etc.)
128
185
  */
129
186
  fieldProps?: DataTableFieldProps;
130
- /** Custom validation function for cell values. Return error message or undefined. */
131
- validate?: (value: any, row: TData) => string | undefined;
132
187
  };
133
188
 
134
189
  // Filter System Types
@@ -183,6 +238,28 @@ export interface TableFilter {
183
238
  label?: string; // Human-readable label for the filter
184
239
  }
185
240
 
241
+ /**
242
+ * A field the table can filter on, declared SEPARATELY from visible columns.
243
+ * Lets consumers expose hidden / non-column data keys (e.g. every Frappe
244
+ * doctype field) to the toolbar filter surface. `id` is the row-data key.
245
+ */
246
+ export interface FilterableField {
247
+ id: string;
248
+ label: string;
249
+ /** Filter editor type. Defaults to "text". */
250
+ type?: DataTableColumnType;
251
+ /** Options for select-type fields. */
252
+ options?: Array<{ label: string; value: any }>;
253
+ }
254
+
255
+ /** FilterableField merged with column info — type always resolved. */
256
+ export interface ResolvedFilterField {
257
+ id: string;
258
+ label: string;
259
+ type: DataTableColumnType;
260
+ options?: Array<{ label: string; value: any }>;
261
+ }
262
+
186
263
  export interface FacetedFilterOption {
187
264
  label: string;
188
265
  value: string | number | boolean;
@@ -203,6 +280,59 @@ export interface TablePaginationState extends TablePagination {
203
280
  hasPreviousPage?: boolean;
204
281
  }
205
282
 
283
+ // Infinite pagination (paginationMode="infinite")
284
+
285
+ /**
286
+ * Pagination presentation mode.
287
+ * - "pages" (default): footer pager built on the catalog `Pagination` component.
288
+ * - "infinite": appends the next page as the user nears the end of the list,
289
+ * pre-loading page N+1 in the background so appends resolve instantly.
290
+ */
291
+ export type PaginationMode = "pages" | "infinite";
292
+
293
+ /** Query passed to the async page loader (infinite mode, server/async data). */
294
+ export interface PageLoadQuery {
295
+ /** 0-based page index to load */
296
+ pageIndex: number;
297
+ /** Rows per page (chunk size in infinite mode) */
298
+ pageSize: number;
299
+ sorting: TableSorting[];
300
+ filters: TableFilter[];
301
+ columnFilters: ColumnFiltersState;
302
+ globalFilter?: string;
303
+ }
304
+
305
+ export interface PageLoadResult<TData = any> {
306
+ rows: TData[];
307
+ /** Total row count across all pages, when known (enables exact end-of-data). */
308
+ totalCount?: number;
309
+ }
310
+
311
+ /**
312
+ * Async page loader contract for infinite mode. Must be side-effect-free per
313
+ * query: the table may call it ahead of time (prefetch) and cache the result.
314
+ */
315
+ export type DataTablePageLoader<TData = any> = (
316
+ query: PageLoadQuery,
317
+ ) => Promise<PageLoadResult<TData>>;
318
+
319
+ /** Computed infinite-mode state exposed by useDataTable / DataTableStateContext. */
320
+ export interface DataTableInfiniteState {
321
+ /** How many row-model rows are currently revealed */
322
+ visibleRowCount: number;
323
+ loadedPages: number;
324
+ /** Total row count when known (loader totalCount or client filtered count) */
325
+ totalCount?: number;
326
+ /** No further pages exist */
327
+ exhausted: boolean;
328
+ /** Page 0 for the current query is still loading (loader mode) */
329
+ isInitialLoading: boolean;
330
+ /** A page append is awaiting the loader (cache miss / in-flight prefetch) */
331
+ isAppending: boolean;
332
+ /** Append the next page (no-op while pending or exhausted) */
333
+ loadMore: () => void;
334
+ }
335
+
206
336
  // Sorting Types
207
337
 
208
338
  export interface TableSorting {
@@ -277,6 +407,12 @@ export interface DataTableProps<TData extends DataTableData = DataTableData> {
277
407
  // State Management
278
408
  initialState?: Partial<DataTableState>;
279
409
  onStateChange?: (state: DataTableState) => void;
410
+ /**
411
+ * Retry action for the failed-load chrome. When `state.error` is set the
412
+ * table renders error chrome instead of rows; providing `onRetry` adds the
413
+ * Retry button so "error with retry" is reachable (DG-ST-01).
414
+ */
415
+ onRetry?: () => void;
280
416
 
281
417
  // URL State Integration
282
418
  syncWithUrl?: boolean;
@@ -289,9 +425,49 @@ export interface DataTableProps<TData extends DataTableData = DataTableData> {
289
425
  manualSorting?: boolean;
290
426
 
291
427
  // Features
428
+ /**
429
+ * Owns the table's filter CHROME (default true): the toolbar Filter
430
+ * button, column-header funnels, the active-filter chips row, and the
431
+ * card-layout "Add Filter" control.
432
+ *
433
+ * `false` is the chrome-suppression contract for screens where an OUTER
434
+ * surface is the single filtering authority (e.g. the backoffice list
435
+ * chrome): the table renders no filter entry points, but filters injected
436
+ * through `initialState.filters` / the state channel still apply — they
437
+ * pre-filter client-side data and map to server params under
438
+ * `manualFiltering` — and no table chrome can mutate them (the search
439
+ * clear-X then clears only the search text). Search (`enableGlobalSearch`)
440
+ * and header sort are independent of this flag.
441
+ */
292
442
  enableFiltering?: boolean;
443
+ /**
444
+ * Fields filterable via the toolbar Filter surface, independent of visible
445
+ * columns. Merged with column-derived fields (columns first, then "More
446
+ * fields"). Hidden/non-column fields filter client-side against row data
447
+ * keys, or map to server params when manualFiltering is on. With
448
+ * `enableFiltering: false` the list still resolves filter types for
449
+ * injected filters but exposes no filter UI.
450
+ */
451
+ filterableFields?: FilterableField[];
293
452
  enableSorting?: boolean;
294
453
  enablePagination?: boolean;
454
+ /**
455
+ * Page sizes offered by the built-in footer pager (and forwarded to
456
+ * `renderPagination`). Defaults to the pager's DG-TBL-04 options.
457
+ */
458
+ pageSizeOptions?: number[];
459
+ /**
460
+ * Pagination presentation mode. Default "pages" (footer pager).
461
+ * "infinite" appends pages at the scroll tail with prefetch-ahead.
462
+ */
463
+ paginationMode?: PaginationMode;
464
+ /**
465
+ * Async page loader for infinite mode with server/async data. When set,
466
+ * the table owns a small page cache and pre-loads page N+1 while page N
467
+ * is on screen. Rows are treated as pre-filtered/sorted server-side
468
+ * (manual filtering/sorting/pagination are forced on).
469
+ */
470
+ loadPage?: DataTablePageLoader<TData>;
295
471
  enableColumnVisibility?: boolean;
296
472
  enableColumnOrdering?: boolean;
297
473
  enableColumnResizing?: boolean;
@@ -307,6 +483,14 @@ export interface DataTableProps<TData extends DataTableData = DataTableData> {
307
483
  */
308
484
  columnLayout?: "equal" | "auto" | "scroll";
309
485
 
486
+ /**
487
+ * Responsive body layout (W11 breakpoints): `auto` renders the grid on
488
+ * `$sm` and up and a stacked card list below it; `table` / `cards` pin
489
+ * one mode regardless of viewport. Search, filters, sorting, selection,
490
+ * and pagination operate on the same table state in both layouts.
491
+ */
492
+ layout?: DataTableLayout;
493
+
310
494
  // Virtualization (Phase 3)
311
495
  /** Use virtual scrolling for table body. Requires virtualizationHeight when true. */
312
496
  enableVirtualization?: boolean;
@@ -341,6 +525,25 @@ export interface DataTableProps<TData extends DataTableData = DataTableData> {
341
525
  /** Enable Excel-like keyboard navigation. */
342
526
  enableKeyboardNavigation?: boolean;
343
527
 
528
+ // Row selection + bulk actions (DG-TBL-02, DG-TBL-03)
529
+ /** Enable row checkboxes and automatic selection toolbar. */
530
+ enableRowSelection?: boolean;
531
+ /**
532
+ * Scope for the header select-all checkbox.
533
+ * - `page`: current page only (default)
534
+ * - `filtered`: all rows matching current filters
535
+ *
536
+ * Defaults from the house `selectAllScope` theme knob (DG-TBL-03); the
537
+ * prop is the per-table eject. With `page` scope, the bulk bar exposes a
538
+ * "Select all N" switch once the page is fully selected.
539
+ */
540
+ selectAllScope?: SelectAllScope;
541
+ /**
542
+ * Bulk actions shown in the auto SelectionToolbar when rows are selected.
543
+ * Up to 5 visible; extras go to an overflow menu.
544
+ */
545
+ bulkActions?: BulkAction<TData>[];
546
+
344
547
  // Cell editing - cells are always fields, this controls behavior
345
548
  /**
346
549
  * Read-only mode: all cells display values but cannot be edited.
@@ -454,7 +657,10 @@ export interface UseDataTableReturn<TData extends DataTableData = DataTableData>
454
657
  actions: {
455
658
  setGlobalFilter: (value: string) => void;
456
659
  setFilters: (filters: TableFilter[]) => void;
457
- addFilter: (filter: Omit<TableFilter, "id">) => void;
660
+ /** Adds an advanced filter and returns its generated id. */
661
+ addFilter: (filter: Omit<TableFilter, "id">) => string;
662
+ /** Updates an existing advanced filter in place (live commit). */
663
+ updateFilter: (filterId: string, updates: Partial<Omit<TableFilter, "id">>) => void;
458
664
  removeFilter: (filterId: string) => void;
459
665
  clearFilters: () => void;
460
666
  setPagination: (pagination: TablePagination) => void;
@@ -472,8 +678,14 @@ export interface UseDataTableReturn<TData extends DataTableData = DataTableData>
472
678
  filteredData: TData[];
473
679
  paginatedData: TData[];
474
680
  totalPages: number;
681
+ /** Total row count across all pages (post-filter; server total when paginating manually). */
682
+ totalRows: number;
475
683
  hasActiveFilters: boolean;
476
684
  activeFilterCount: number;
685
+ /** Column-derived + declared filterableFields, merged (columns first). */
686
+ filterFields: ResolvedFilterField[];
687
+ /** Present when paginationMode="infinite" */
688
+ infinite?: DataTableInfiniteState;
477
689
  };
478
690
  }
479
691
 
@@ -0,0 +1,53 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { alignToFlex, getDefaultColumnAlign } from "./columnAlign";
3
+
4
+ describe("getDefaultColumnAlign (DG-TBL-01)", () => {
5
+ it("defaults text / input columns to left", () => {
6
+ expect(getDefaultColumnAlign({ field: "input" })).toBe("left");
7
+ expect(getDefaultColumnAlign({ field: "textarea" })).toBe("left");
8
+ expect(getDefaultColumnAlign({})).toBe("left");
9
+ });
10
+
11
+ it("right-aligns numeric field types", () => {
12
+ for (const field of ["stepper", "slider", "progress", "duration"] as const) {
13
+ expect(getDefaultColumnAlign({ field })).toBe("right");
14
+ }
15
+ });
16
+
17
+ it("right-aligns currency via fieldProps.currency", () => {
18
+ expect(getDefaultColumnAlign({ field: "input", fieldProps: { currency: "USD" } })).toBe(
19
+ "right",
20
+ );
21
+ expect(getDefaultColumnAlign({ field: "stepper", fieldProps: { currency: "$" } })).toBe(
22
+ "right",
23
+ );
24
+ });
25
+
26
+ it("right-aligns actions columns by id / meta.role", () => {
27
+ expect(getDefaultColumnAlign({ id: "actions" })).toBe("right");
28
+ expect(getDefaultColumnAlign({ id: "row_actions" })).toBe("right");
29
+ expect(getDefaultColumnAlign({ id: "foo:actions" })).toBe("right");
30
+ expect(getDefaultColumnAlign({ meta: { role: "actions" } })).toBe("right");
31
+ });
32
+
33
+ it("centers boolean and icon-like fields", () => {
34
+ expect(getDefaultColumnAlign({ field: "checkbox" })).toBe("center");
35
+ expect(getDefaultColumnAlign({ field: "switch" })).toBe("center");
36
+ expect(getDefaultColumnAlign({ field: "rating" })).toBe("center");
37
+ });
38
+
39
+ it("lets explicit align override smart defaults", () => {
40
+ expect(getDefaultColumnAlign({ field: "stepper", align: "left" })).toBe("left");
41
+ expect(getDefaultColumnAlign({ id: "actions", align: "center" })).toBe("center");
42
+ expect(getDefaultColumnAlign({ field: "input", meta: { align: "right" } })).toBe("right");
43
+ });
44
+ });
45
+
46
+ describe("alignToFlex", () => {
47
+ it("maps align tokens to flex justify values", () => {
48
+ expect(alignToFlex("left")).toBe("flex-start");
49
+ expect(alignToFlex("center")).toBe("center");
50
+ expect(alignToFlex("right")).toBe("flex-end");
51
+ expect(alignToFlex(undefined)).toBe("flex-start");
52
+ });
53
+ });
@@ -0,0 +1,60 @@
1
+ /**
2
+ * DG-TBL-01 — default column alignment by field / data type.
3
+ *
4
+ * numbers/currency → right, text → left, actions → right.
5
+ * Explicit `align` (or meta.align) always wins.
6
+ */
7
+
8
+ import type { DataTableField, DataTableFieldProps } from "../types";
9
+
10
+ export type ColumnAlign = "left" | "center" | "right";
11
+
12
+ export type ColumnAlignInput = {
13
+ id?: string;
14
+ align?: ColumnAlign;
15
+ field?: DataTableField;
16
+ fieldProps?: Pick<DataTableFieldProps, "currency"> | DataTableFieldProps;
17
+ meta?: { align?: ColumnAlign; role?: string };
18
+ };
19
+
20
+ const NUMERIC_FIELDS = new Set<DataTableField>(["stepper", "slider", "progress", "duration"]);
21
+
22
+ /** Booleans + icon-like metrics (EUI: center symbols). */
23
+ const CENTER_FIELDS = new Set<DataTableField>(["checkbox", "switch", "rating"]);
24
+
25
+ function isActionsColumn(column: ColumnAlignInput): boolean {
26
+ if (column.meta?.role === "actions") return true;
27
+ const id = column.id ?? "";
28
+ return id === "actions" || id.endsWith("_actions") || id.endsWith(":actions");
29
+ }
30
+
31
+ function isCurrencyColumn(column: ColumnAlignInput): boolean {
32
+ return column.fieldProps?.currency != null && column.fieldProps.currency !== "";
33
+ }
34
+
35
+ function isNumericColumn(column: ColumnAlignInput): boolean {
36
+ if (isCurrencyColumn(column)) return true;
37
+ return column.field != null && NUMERIC_FIELDS.has(column.field);
38
+ }
39
+
40
+ /** Resolve smart-default column alignment (DG-TBL-01). */
41
+ export function getDefaultColumnAlign(column: ColumnAlignInput): ColumnAlign {
42
+ if (column.align) return column.align;
43
+ if (column.meta?.align) return column.meta.align;
44
+ if (isActionsColumn(column)) return "right";
45
+ if (isNumericColumn(column)) return "right";
46
+ if (column.field && CENTER_FIELDS.has(column.field)) return "center";
47
+ return "left";
48
+ }
49
+
50
+ /** Map ColumnAlign → Tamagui/flex justifyContent. */
51
+ export function alignToFlex(align?: ColumnAlign): "flex-start" | "center" | "flex-end" {
52
+ switch (align) {
53
+ case "center":
54
+ return "center";
55
+ case "right":
56
+ return "flex-end";
57
+ default:
58
+ return "flex-start";
59
+ }
60
+ }
@@ -0,0 +1,237 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import type { DataTableColumn, TableFilter } from "../types";
3
+ import {
4
+ applyFiltersToData,
5
+ defaultOperatorForFilterType,
6
+ filterOperatorLabel,
7
+ getFilterChipLabel,
8
+ getFilterFieldType,
9
+ isFilterValueShape,
10
+ mapFieldToFilterType,
11
+ operatorNeedsNoValue,
12
+ operatorsForFilterType,
13
+ resolveFilterFields,
14
+ } from "./filterFields";
15
+
16
+ const columns: DataTableColumn[] = [
17
+ { accessorKey: "firstName", header: "First Name" },
18
+ { accessorKey: "age", header: "Age", field: "stepper" },
19
+ {
20
+ accessorKey: "status",
21
+ header: "Status",
22
+ field: "select",
23
+ fieldProps: {
24
+ options: [
25
+ { label: "Active", value: "active" },
26
+ { label: "Inactive", value: "inactive" },
27
+ ],
28
+ },
29
+ },
30
+ ];
31
+
32
+ const hiddenFields = [
33
+ { id: "email", label: "Email" },
34
+ { id: "salary", label: "Salary", type: "number" as const },
35
+ { id: "joinDate", label: "Join Date", type: "date" as const },
36
+ ];
37
+
38
+ const rows = [
39
+ {
40
+ firstName: "Ada",
41
+ age: 36,
42
+ status: "active",
43
+ email: "ada@corp.com",
44
+ salary: 90,
45
+ joinDate: "2021-03-01",
46
+ verified: true,
47
+ },
48
+ {
49
+ firstName: "Grace",
50
+ age: 45,
51
+ status: "inactive",
52
+ email: "grace@corp.com",
53
+ salary: 120,
54
+ joinDate: "2019-07-15",
55
+ verified: false,
56
+ },
57
+ {
58
+ firstName: "Alan",
59
+ age: 41,
60
+ status: "active",
61
+ email: "alan@other.org",
62
+ salary: 100,
63
+ joinDate: "2020-01-20",
64
+ verified: true,
65
+ },
66
+ ];
67
+
68
+ function filter(columnId: string, operator: string, value: any, values?: any[]): TableFilter {
69
+ return { id: `f-${columnId}`, columnId, value: { operator: operator as any, value, values } };
70
+ }
71
+
72
+ describe("resolveFilterFields", () => {
73
+ it("derives fields from columns (visible first) and appends declared hidden fields", () => {
74
+ const fields = resolveFilterFields(columns, hiddenFields);
75
+ expect(fields.map((f) => f.id)).toEqual([
76
+ "firstName",
77
+ "age",
78
+ "status",
79
+ "email",
80
+ "salary",
81
+ "joinDate",
82
+ ]);
83
+ });
84
+
85
+ it("maps column field types to filter types and carries select options", () => {
86
+ const fields = resolveFilterFields(columns, hiddenFields);
87
+ const byId = Object.fromEntries(fields.map((f) => [f.id, f]));
88
+ expect(byId.firstName.type).toBe("text");
89
+ expect(byId.age.type).toBe("number");
90
+ expect(byId.status.type).toBe("select");
91
+ expect(byId.status.options).toHaveLength(2);
92
+ expect(byId.email.type).toBe("text"); // default
93
+ expect(byId.salary.type).toBe("number");
94
+ });
95
+
96
+ it("lets a declared field override the column-derived descriptor by id", () => {
97
+ const fields = resolveFilterFields(columns, [
98
+ { id: "age", label: "Age (years)", type: "text" },
99
+ ]);
100
+ const age = fields.find((f) => f.id === "age");
101
+ expect(age?.label).toBe("Age (years)");
102
+ expect(age?.type).toBe("text");
103
+ // Position preserved (still grouped with columns)
104
+ expect(fields.findIndex((f) => f.id === "age")).toBe(1);
105
+ });
106
+
107
+ it("skips columns with filterable: false", () => {
108
+ const fields = resolveFilterFields([
109
+ { accessorKey: "a", header: "A" },
110
+ { accessorKey: "b", header: "B", filterable: false },
111
+ ]);
112
+ expect(fields.map((f) => f.id)).toEqual(["a"]);
113
+ });
114
+ });
115
+
116
+ describe("applyFiltersToData (hidden / non-column fields)", () => {
117
+ const fields = resolveFilterFields(columns, hiddenFields);
118
+
119
+ it("filters on a field with no visible column (text contains)", () => {
120
+ const out = applyFiltersToData(rows, [filter("email", "contains", "corp")], fields);
121
+ expect(out.map((r) => r.firstName)).toEqual(["Ada", "Grace"]);
122
+ });
123
+
124
+ it("filters numbers with comparison operators", () => {
125
+ const out = applyFiltersToData(rows, [filter("salary", "isGreaterThan", "95")], fields);
126
+ expect(out.map((r) => r.firstName)).toEqual(["Grace", "Alan"]);
127
+ });
128
+
129
+ it("filters dates with before/after", () => {
130
+ const out = applyFiltersToData(rows, [filter("joinDate", "isBefore", "2020-06-01")], fields);
131
+ expect(out.map((r) => r.firstName)).toEqual(["Grace", "Alan"]);
132
+ });
133
+
134
+ it("treats select fields as text comparisons", () => {
135
+ const out = applyFiltersToData(rows, [filter("status", "is", "active")], fields);
136
+ expect(out.map((r) => r.firstName)).toEqual(["Ada", "Alan"]);
137
+ });
138
+
139
+ it("ANDs multiple filters together", () => {
140
+ const out = applyFiltersToData(
141
+ rows,
142
+ [filter("status", "is", "active"), filter("salary", "isGreaterThan", "95")],
143
+ fields,
144
+ );
145
+ expect(out.map((r) => r.firstName)).toEqual(["Alan"]);
146
+ });
147
+
148
+ it("returns data unchanged when there are no filters", () => {
149
+ expect(applyFiltersToData(rows, [], fields)).toBe(rows);
150
+ });
151
+
152
+ it("handles isEmpty / isNotEmpty without a value", () => {
153
+ const withEmpty = [...rows, { firstName: "Nia", email: "", age: 30 }];
154
+ const out = applyFiltersToData(withEmpty, [filter("email", "isEmpty", null)], fields);
155
+ expect(out.map((r) => r.firstName)).toEqual(["Nia"]);
156
+ });
157
+ });
158
+
159
+ describe("operator vocabulary", () => {
160
+ it("offers type-appropriate operators (same sets as the column funnel)", () => {
161
+ expect(operatorsForFilterType("text")).toContain("contains");
162
+ expect(operatorsForFilterType("text")).toContain("isEmpty");
163
+ expect(operatorsForFilterType("number")).toContain("isGreaterThan");
164
+ expect(operatorsForFilterType("number")).not.toContain("contains");
165
+ expect(operatorsForFilterType("date")).toContain("isBefore");
166
+ expect(operatorsForFilterType("boolean")).toEqual(["is", "isNot"]);
167
+ expect(operatorsForFilterType("select")).toContain("isAnyOf");
168
+ });
169
+
170
+ it("knows which operators carry no value", () => {
171
+ expect(operatorNeedsNoValue("isEmpty")).toBe(true);
172
+ expect(operatorNeedsNoValue("isNotEmpty")).toBe(true);
173
+ expect(operatorNeedsNoValue("contains")).toBe(false);
174
+ });
175
+
176
+ it("defaults text to contains and everything else to is", () => {
177
+ expect(defaultOperatorForFilterType("text")).toBe("contains");
178
+ expect(defaultOperatorForFilterType("number")).toBe("is");
179
+ expect(defaultOperatorForFilterType("select")).toBe("is");
180
+ });
181
+
182
+ it("labels operators in English (translated at render)", () => {
183
+ expect(filterOperatorLabel("contains")).toBe("Contains");
184
+ expect(filterOperatorLabel("isOnOrAfter")).toBe("On or after");
185
+ });
186
+ });
187
+
188
+ describe("getFilterChipLabel", () => {
189
+ it('reads "Field: operator value"', () => {
190
+ expect(getFilterChipLabel("Email", { operator: "contains", value: "corp" })).toBe(
191
+ "Email: contains corp",
192
+ );
193
+ });
194
+
195
+ it("omits the value for no-value operators", () => {
196
+ expect(getFilterChipLabel("Email", { operator: "isEmpty", value: null })).toBe(
197
+ "Email: is empty",
198
+ );
199
+ });
200
+
201
+ it("shows option labels instead of raw values for select fields", () => {
202
+ expect(
203
+ getFilterChipLabel("Status", { operator: "is", value: "active" }, [
204
+ { label: "Active", value: "active" },
205
+ ]),
206
+ ).toBe("Status: is Active");
207
+ });
208
+
209
+ it("joins multi-values", () => {
210
+ expect(
211
+ getFilterChipLabel("Status", { operator: "isAnyOf", value: null, values: ["a", "b"] }),
212
+ ).toBe("Status: is any of a, b");
213
+ });
214
+ });
215
+
216
+ describe("isFilterValueShape", () => {
217
+ it("detects FilterValue objects and rejects plain values", () => {
218
+ expect(isFilterValueShape({ operator: "contains", value: "x" })).toBe(true);
219
+ expect(isFilterValueShape("x")).toBe(false);
220
+ expect(isFilterValueShape(null)).toBe(false);
221
+ expect(isFilterValueShape(["a"])).toBe(false);
222
+ });
223
+ });
224
+
225
+ describe("mapFieldToFilterType / getFilterFieldType", () => {
226
+ it("maps cell field types to filter editor types", () => {
227
+ expect(mapFieldToFilterType("stepper")).toBe("number");
228
+ expect(mapFieldToFilterType("datepicker")).toBe("date");
229
+ expect(mapFieldToFilterType("switch")).toBe("boolean");
230
+ expect(mapFieldToFilterType("combobox")).toBe("select");
231
+ expect(mapFieldToFilterType(undefined)).toBe("text");
232
+ });
233
+
234
+ it("falls back to text for unknown field ids", () => {
235
+ expect(getFilterFieldType([], "nope")).toBe("text");
236
+ });
237
+ });