@multiplatform.one/table 7.34.4 → 7.36.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 (412) hide show
  1. package/dist/cjs/components/ChildTable/index.cjs +26 -23
  2. package/dist/cjs/components/ChildTable/index.native.js +26 -23
  3. package/dist/cjs/components/ChildTable/index.native.js.map +1 -1
  4. package/dist/cjs/components/DataTable/DataTableCardControls.cjs +3 -8
  5. package/dist/cjs/components/DataTable/DataTableCardControls.native.js +3 -8
  6. package/dist/cjs/components/DataTable/DataTableCardControls.native.js.map +1 -1
  7. package/dist/cjs/components/DataTable/DataTableContext.cjs +1 -2
  8. package/dist/cjs/components/DataTable/DataTableContext.native.js +1 -2
  9. package/dist/cjs/components/DataTable/DataTableContext.native.js.map +1 -1
  10. package/dist/cjs/components/DataTable/DataTableDocumentList.cjs +50 -20
  11. package/dist/cjs/components/DataTable/DataTableDocumentList.native.js +59 -27
  12. package/dist/cjs/components/DataTable/DataTableDocumentList.native.js.map +1 -1
  13. package/dist/cjs/components/DataTable/DataTableInfiniteTail.cjs +1 -1
  14. package/dist/cjs/components/DataTable/DataTableInfiniteTail.native.js +1 -1
  15. package/dist/cjs/components/DataTable/DataTableInfiniteTail.native.js.map +1 -1
  16. package/dist/cjs/components/DataTable/DataTableMobileCards.cjs +5 -11
  17. package/dist/cjs/components/DataTable/DataTableMobileCards.native.js +5 -11
  18. package/dist/cjs/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  19. package/dist/cjs/components/DataTable/DataTableRoot.cjs +601 -606
  20. package/dist/cjs/components/DataTable/DataTableRoot.native.js +705 -710
  21. package/dist/cjs/components/DataTable/DataTableRoot.native.js.map +1 -1
  22. package/dist/cjs/components/DataTable/DataTableVirtualized.cjs +3 -2
  23. package/dist/cjs/components/DataTable/DataTableVirtualized.native.js +3 -2
  24. package/dist/cjs/components/DataTable/DataTableVirtualized.native.js.map +1 -1
  25. package/dist/cjs/components/DataTable/documentListSlots.cjs +8 -1
  26. package/dist/cjs/components/DataTable/documentListSlots.native.js +8 -1
  27. package/dist/cjs/components/DataTable/documentListSlots.native.js.map +1 -1
  28. package/dist/cjs/components/DataTable/index.native.js +264 -252
  29. package/dist/cjs/components/DataTable/index.native.js.map +1 -1
  30. package/dist/cjs/components/DataTableCell/index.cjs +2 -5
  31. package/dist/cjs/components/DataTableCell/index.native.js +2 -5
  32. package/dist/cjs/components/DataTableCell/index.native.js.map +1 -1
  33. package/dist/cjs/components/DataTableColumnPinning/index.cjs +2 -1
  34. package/dist/cjs/components/DataTableColumnPinning/index.native.js +2 -1
  35. package/dist/cjs/components/DataTableColumnPinning/index.native.js.map +1 -1
  36. package/dist/cjs/components/DataTableFilterButton/index.cjs +3 -5
  37. package/dist/cjs/components/DataTableFilterButton/index.native.js +3 -5
  38. package/dist/cjs/components/DataTableFilterButton/index.native.js.map +1 -1
  39. package/dist/cjs/components/DataTableFilterChips/index.cjs +0 -1
  40. package/dist/cjs/components/DataTableFilterChips/index.native.js +0 -1
  41. package/dist/cjs/components/DataTableFilters/index.cjs +11 -19
  42. package/dist/cjs/components/DataTableFilters/index.native.js +11 -19
  43. package/dist/cjs/components/DataTableFilters/index.native.js.map +1 -1
  44. package/dist/cjs/components/DataTableGrouping/index.cjs +5 -5
  45. package/dist/cjs/components/DataTableGrouping/index.native.js +7 -7
  46. package/dist/cjs/components/DataTableGrouping/index.native.js.map +1 -1
  47. package/dist/cjs/components/DataTablePagination/index.cjs +14 -18
  48. package/dist/cjs/components/DataTablePagination/index.native.js +14 -18
  49. package/dist/cjs/components/DataTablePagination/index.native.js.map +1 -1
  50. package/dist/cjs/components/DataTableSearch/index.cjs +5 -7
  51. package/dist/cjs/components/DataTableSearch/index.native.js +5 -7
  52. package/dist/cjs/components/DataTableSearch/index.native.js.map +1 -1
  53. package/dist/cjs/components/DataTableToolbar/index.cjs +2 -10
  54. package/dist/cjs/components/DataTableToolbar/index.native.js +2 -10
  55. package/dist/cjs/components/DataTableToolbar/index.native.js.map +1 -1
  56. package/dist/cjs/components/DataTableViewOptions/index.cjs +5 -3
  57. package/dist/cjs/components/DataTableViewOptions/index.native.js +6 -4
  58. package/dist/cjs/components/DataTableViewOptions/index.native.js.map +1 -1
  59. package/dist/cjs/components/KnobDialog.cjs +4 -34
  60. package/dist/cjs/components/KnobDialog.native.js +3 -34
  61. package/dist/cjs/components/KnobDialog.native.js.map +1 -1
  62. package/dist/cjs/components/SavedFilterDropdown.cjs +0 -1
  63. package/dist/cjs/components/SavedFilterDropdown.native.js +0 -1
  64. package/dist/cjs/components/SavedFilterDropdown.native.js.map +1 -1
  65. package/dist/cjs/components/SimpleTable/ScrollFrame.cjs +51 -0
  66. package/dist/cjs/components/SimpleTable/ScrollFrame.native.js +84 -0
  67. package/dist/cjs/components/SimpleTable/ScrollFrame.native.js.map +1 -0
  68. package/dist/cjs/components/SimpleTable/columnSizing.cjs +50 -0
  69. package/dist/cjs/components/SimpleTable/columnSizing.native.js +71 -0
  70. package/dist/cjs/components/SimpleTable/columnSizing.native.js.map +1 -0
  71. package/dist/cjs/components/SimpleTable/index.cjs +152 -97
  72. package/dist/cjs/components/SimpleTable/index.native.js +166 -110
  73. package/dist/cjs/components/SimpleTable/index.native.js.map +1 -1
  74. package/dist/cjs/components/TableInput/RowDetailEditor.cjs +1 -6
  75. package/dist/cjs/components/TableInput/RowDetailEditor.native.js +1 -5
  76. package/dist/cjs/components/TableInput/RowDetailEditor.native.js.map +1 -1
  77. package/dist/cjs/components/TableInput/index.cjs +4 -19
  78. package/dist/cjs/components/TableInput/index.native.js +2 -11
  79. package/dist/cjs/components/TableInput/index.native.js.map +1 -1
  80. package/dist/cjs/index.cjs +1 -0
  81. package/dist/cjs/index.native.js +1 -0
  82. package/dist/cjs/index.native.js.map +1 -1
  83. package/dist/esm/components/ChildTable/index.mjs +26 -23
  84. package/dist/esm/components/ChildTable/index.mjs.map +1 -1
  85. package/dist/esm/components/ChildTable/index.native.js +26 -23
  86. package/dist/esm/components/ChildTable/index.native.js.map +1 -1
  87. package/dist/esm/components/DataTable/DataTableCardControls.mjs +3 -8
  88. package/dist/esm/components/DataTable/DataTableCardControls.mjs.map +1 -1
  89. package/dist/esm/components/DataTable/DataTableCardControls.native.js +3 -8
  90. package/dist/esm/components/DataTable/DataTableCardControls.native.js.map +1 -1
  91. package/dist/esm/components/DataTable/DataTableContext.mjs +1 -2
  92. package/dist/esm/components/DataTable/DataTableContext.mjs.map +1 -1
  93. package/dist/esm/components/DataTable/DataTableContext.native.js +1 -2
  94. package/dist/esm/components/DataTable/DataTableContext.native.js.map +1 -1
  95. package/dist/esm/components/DataTable/DataTableDocumentList.mjs +52 -22
  96. package/dist/esm/components/DataTable/DataTableDocumentList.mjs.map +1 -1
  97. package/dist/esm/components/DataTable/DataTableDocumentList.native.js +61 -29
  98. package/dist/esm/components/DataTable/DataTableDocumentList.native.js.map +1 -1
  99. package/dist/esm/components/DataTable/DataTableInfiniteTail.mjs +1 -1
  100. package/dist/esm/components/DataTable/DataTableInfiniteTail.mjs.map +1 -1
  101. package/dist/esm/components/DataTable/DataTableInfiniteTail.native.js +1 -1
  102. package/dist/esm/components/DataTable/DataTableInfiniteTail.native.js.map +1 -1
  103. package/dist/esm/components/DataTable/DataTableMobileCards.mjs +5 -11
  104. package/dist/esm/components/DataTable/DataTableMobileCards.mjs.map +1 -1
  105. package/dist/esm/components/DataTable/DataTableMobileCards.native.js +5 -11
  106. package/dist/esm/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  107. package/dist/esm/components/DataTable/DataTableRoot.mjs +603 -608
  108. package/dist/esm/components/DataTable/DataTableRoot.mjs.map +1 -1
  109. package/dist/esm/components/DataTable/DataTableRoot.native.js +707 -712
  110. package/dist/esm/components/DataTable/DataTableRoot.native.js.map +1 -1
  111. package/dist/esm/components/DataTable/DataTableVirtualized.mjs +4 -3
  112. package/dist/esm/components/DataTable/DataTableVirtualized.mjs.map +1 -1
  113. package/dist/esm/components/DataTable/DataTableVirtualized.native.js +4 -3
  114. package/dist/esm/components/DataTable/DataTableVirtualized.native.js.map +1 -1
  115. package/dist/esm/components/DataTable/documentListSlots.mjs +8 -1
  116. package/dist/esm/components/DataTable/documentListSlots.mjs.map +1 -1
  117. package/dist/esm/components/DataTable/documentListSlots.native.js +8 -1
  118. package/dist/esm/components/DataTable/documentListSlots.native.js.map +1 -1
  119. package/dist/esm/components/DataTable/index.native.js +265 -253
  120. package/dist/esm/components/DataTable/index.native.js.map +1 -1
  121. package/dist/esm/components/DataTableCell/index.mjs +2 -5
  122. package/dist/esm/components/DataTableCell/index.mjs.map +1 -1
  123. package/dist/esm/components/DataTableCell/index.native.js +2 -5
  124. package/dist/esm/components/DataTableCell/index.native.js.map +1 -1
  125. package/dist/esm/components/DataTableColumnPinning/index.mjs +2 -1
  126. package/dist/esm/components/DataTableColumnPinning/index.mjs.map +1 -1
  127. package/dist/esm/components/DataTableColumnPinning/index.native.js +2 -1
  128. package/dist/esm/components/DataTableColumnPinning/index.native.js.map +1 -1
  129. package/dist/esm/components/DataTableFilterButton/index.mjs +4 -6
  130. package/dist/esm/components/DataTableFilterButton/index.mjs.map +1 -1
  131. package/dist/esm/components/DataTableFilterButton/index.native.js +4 -6
  132. package/dist/esm/components/DataTableFilterButton/index.native.js.map +1 -1
  133. package/dist/esm/components/DataTableFilterChips/index.mjs +0 -1
  134. package/dist/esm/components/DataTableFilterChips/index.mjs.map +1 -1
  135. package/dist/esm/components/DataTableFilterChips/index.native.js +0 -1
  136. package/dist/esm/components/DataTableFilters/index.mjs +12 -20
  137. package/dist/esm/components/DataTableFilters/index.mjs.map +1 -1
  138. package/dist/esm/components/DataTableFilters/index.native.js +12 -20
  139. package/dist/esm/components/DataTableFilters/index.native.js.map +1 -1
  140. package/dist/esm/components/DataTableGrouping/index.mjs +6 -6
  141. package/dist/esm/components/DataTableGrouping/index.mjs.map +1 -1
  142. package/dist/esm/components/DataTableGrouping/index.native.js +8 -8
  143. package/dist/esm/components/DataTableGrouping/index.native.js.map +1 -1
  144. package/dist/esm/components/DataTablePagination/index.mjs +15 -19
  145. package/dist/esm/components/DataTablePagination/index.mjs.map +1 -1
  146. package/dist/esm/components/DataTablePagination/index.native.js +15 -19
  147. package/dist/esm/components/DataTablePagination/index.native.js.map +1 -1
  148. package/dist/esm/components/DataTableSearch/index.mjs +5 -7
  149. package/dist/esm/components/DataTableSearch/index.mjs.map +1 -1
  150. package/dist/esm/components/DataTableSearch/index.native.js +5 -7
  151. package/dist/esm/components/DataTableSearch/index.native.js.map +1 -1
  152. package/dist/esm/components/DataTableToolbar/index.mjs +2 -10
  153. package/dist/esm/components/DataTableToolbar/index.mjs.map +1 -1
  154. package/dist/esm/components/DataTableToolbar/index.native.js +2 -10
  155. package/dist/esm/components/DataTableToolbar/index.native.js.map +1 -1
  156. package/dist/esm/components/DataTableViewOptions/index.mjs +6 -4
  157. package/dist/esm/components/DataTableViewOptions/index.mjs.map +1 -1
  158. package/dist/esm/components/DataTableViewOptions/index.native.js +7 -5
  159. package/dist/esm/components/DataTableViewOptions/index.native.js.map +1 -1
  160. package/dist/esm/components/KnobDialog.mjs +6 -36
  161. package/dist/esm/components/KnobDialog.mjs.map +1 -1
  162. package/dist/esm/components/KnobDialog.native.js +5 -36
  163. package/dist/esm/components/KnobDialog.native.js.map +1 -1
  164. package/dist/esm/components/SavedFilterDropdown.mjs +0 -1
  165. package/dist/esm/components/SavedFilterDropdown.mjs.map +1 -1
  166. package/dist/esm/components/SavedFilterDropdown.native.js +0 -1
  167. package/dist/esm/components/SavedFilterDropdown.native.js.map +1 -1
  168. package/dist/esm/components/SimpleTable/ScrollFrame.mjs +25 -0
  169. package/dist/esm/components/SimpleTable/ScrollFrame.mjs.map +1 -0
  170. package/dist/esm/components/SimpleTable/ScrollFrame.native.js +55 -0
  171. package/dist/esm/components/SimpleTable/ScrollFrame.native.js.map +1 -0
  172. package/dist/esm/components/SimpleTable/columnSizing.mjs +25 -0
  173. package/dist/esm/components/SimpleTable/columnSizing.mjs.map +1 -0
  174. package/dist/esm/components/SimpleTable/columnSizing.native.js +43 -0
  175. package/dist/esm/components/SimpleTable/columnSizing.native.js.map +1 -0
  176. package/dist/esm/components/SimpleTable/index.mjs +152 -98
  177. package/dist/esm/components/SimpleTable/index.mjs.map +1 -1
  178. package/dist/esm/components/SimpleTable/index.native.js +166 -111
  179. package/dist/esm/components/SimpleTable/index.native.js.map +1 -1
  180. package/dist/esm/components/TableInput/RowDetailEditor.mjs +1 -6
  181. package/dist/esm/components/TableInput/RowDetailEditor.mjs.map +1 -1
  182. package/dist/esm/components/TableInput/RowDetailEditor.native.js +1 -5
  183. package/dist/esm/components/TableInput/RowDetailEditor.native.js.map +1 -1
  184. package/dist/esm/components/TableInput/index.mjs +5 -20
  185. package/dist/esm/components/TableInput/index.mjs.map +1 -1
  186. package/dist/esm/components/TableInput/index.native.js +3 -12
  187. package/dist/esm/components/TableInput/index.native.js.map +1 -1
  188. package/dist/esm/index.mjs +2 -2
  189. package/dist/esm/index.mjs.map +1 -1
  190. package/dist/esm/index.native.js +2 -2
  191. package/dist/esm/index.native.js.map +1 -1
  192. package/dist/jsx/components/ChildTable/index.mjs +26 -23
  193. package/dist/jsx/components/ChildTable/index.mjs.map +1 -1
  194. package/dist/jsx/components/ChildTable/index.native.js +26 -23
  195. package/dist/jsx/components/ChildTable/index.native.js.map +1 -1
  196. package/dist/jsx/components/DataTable/DataTableCardControls.mjs +3 -8
  197. package/dist/jsx/components/DataTable/DataTableCardControls.mjs.map +1 -1
  198. package/dist/jsx/components/DataTable/DataTableCardControls.native.js +3 -8
  199. package/dist/jsx/components/DataTable/DataTableCardControls.native.js.map +1 -1
  200. package/dist/jsx/components/DataTable/DataTableContext.mjs +1 -2
  201. package/dist/jsx/components/DataTable/DataTableContext.mjs.map +1 -1
  202. package/dist/jsx/components/DataTable/DataTableContext.native.js +1 -2
  203. package/dist/jsx/components/DataTable/DataTableContext.native.js.map +1 -1
  204. package/dist/jsx/components/DataTable/DataTableDocumentList.mjs +52 -22
  205. package/dist/jsx/components/DataTable/DataTableDocumentList.mjs.map +1 -1
  206. package/dist/jsx/components/DataTable/DataTableDocumentList.native.js +59 -27
  207. package/dist/jsx/components/DataTable/DataTableDocumentList.native.js.map +1 -1
  208. package/dist/jsx/components/DataTable/DataTableInfiniteTail.mjs +1 -1
  209. package/dist/jsx/components/DataTable/DataTableInfiniteTail.mjs.map +1 -1
  210. package/dist/jsx/components/DataTable/DataTableInfiniteTail.native.js +1 -1
  211. package/dist/jsx/components/DataTable/DataTableInfiniteTail.native.js.map +1 -1
  212. package/dist/jsx/components/DataTable/DataTableMobileCards.mjs +5 -11
  213. package/dist/jsx/components/DataTable/DataTableMobileCards.mjs.map +1 -1
  214. package/dist/jsx/components/DataTable/DataTableMobileCards.native.js +5 -11
  215. package/dist/jsx/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  216. package/dist/jsx/components/DataTable/DataTableRoot.mjs +603 -608
  217. package/dist/jsx/components/DataTable/DataTableRoot.mjs.map +1 -1
  218. package/dist/jsx/components/DataTable/DataTableRoot.native.js +705 -710
  219. package/dist/jsx/components/DataTable/DataTableRoot.native.js.map +1 -1
  220. package/dist/jsx/components/DataTable/DataTableVirtualized.mjs +4 -3
  221. package/dist/jsx/components/DataTable/DataTableVirtualized.mjs.map +1 -1
  222. package/dist/jsx/components/DataTable/DataTableVirtualized.native.js +3 -2
  223. package/dist/jsx/components/DataTable/DataTableVirtualized.native.js.map +1 -1
  224. package/dist/jsx/components/DataTable/documentListSlots.mjs +8 -1
  225. package/dist/jsx/components/DataTable/documentListSlots.mjs.map +1 -1
  226. package/dist/jsx/components/DataTable/documentListSlots.native.js +8 -1
  227. package/dist/jsx/components/DataTable/documentListSlots.native.js.map +1 -1
  228. package/dist/jsx/components/DataTable/index.native.js +264 -252
  229. package/dist/jsx/components/DataTable/index.native.js.map +1 -1
  230. package/dist/jsx/components/DataTableCell/index.mjs +2 -5
  231. package/dist/jsx/components/DataTableCell/index.mjs.map +1 -1
  232. package/dist/jsx/components/DataTableCell/index.native.js +2 -5
  233. package/dist/jsx/components/DataTableCell/index.native.js.map +1 -1
  234. package/dist/jsx/components/DataTableColumnPinning/index.mjs +2 -1
  235. package/dist/jsx/components/DataTableColumnPinning/index.mjs.map +1 -1
  236. package/dist/jsx/components/DataTableColumnPinning/index.native.js +2 -1
  237. package/dist/jsx/components/DataTableColumnPinning/index.native.js.map +1 -1
  238. package/dist/jsx/components/DataTableFilterButton/index.mjs +4 -6
  239. package/dist/jsx/components/DataTableFilterButton/index.mjs.map +1 -1
  240. package/dist/jsx/components/DataTableFilterButton/index.native.js +3 -5
  241. package/dist/jsx/components/DataTableFilterButton/index.native.js.map +1 -1
  242. package/dist/jsx/components/DataTableFilterChips/index.mjs +0 -1
  243. package/dist/jsx/components/DataTableFilterChips/index.mjs.map +1 -1
  244. package/dist/jsx/components/DataTableFilterChips/index.native.js +0 -1
  245. package/dist/jsx/components/DataTableFilters/index.mjs +12 -20
  246. package/dist/jsx/components/DataTableFilters/index.mjs.map +1 -1
  247. package/dist/jsx/components/DataTableFilters/index.native.js +11 -19
  248. package/dist/jsx/components/DataTableFilters/index.native.js.map +1 -1
  249. package/dist/jsx/components/DataTableGrouping/index.mjs +6 -6
  250. package/dist/jsx/components/DataTableGrouping/index.mjs.map +1 -1
  251. package/dist/jsx/components/DataTableGrouping/index.native.js +7 -7
  252. package/dist/jsx/components/DataTableGrouping/index.native.js.map +1 -1
  253. package/dist/jsx/components/DataTablePagination/index.mjs +15 -19
  254. package/dist/jsx/components/DataTablePagination/index.mjs.map +1 -1
  255. package/dist/jsx/components/DataTablePagination/index.native.js +14 -18
  256. package/dist/jsx/components/DataTablePagination/index.native.js.map +1 -1
  257. package/dist/jsx/components/DataTableSearch/index.mjs +5 -7
  258. package/dist/jsx/components/DataTableSearch/index.mjs.map +1 -1
  259. package/dist/jsx/components/DataTableSearch/index.native.js +5 -7
  260. package/dist/jsx/components/DataTableSearch/index.native.js.map +1 -1
  261. package/dist/jsx/components/DataTableToolbar/index.mjs +2 -10
  262. package/dist/jsx/components/DataTableToolbar/index.mjs.map +1 -1
  263. package/dist/jsx/components/DataTableToolbar/index.native.js +2 -10
  264. package/dist/jsx/components/DataTableToolbar/index.native.js.map +1 -1
  265. package/dist/jsx/components/DataTableViewOptions/index.mjs +6 -4
  266. package/dist/jsx/components/DataTableViewOptions/index.mjs.map +1 -1
  267. package/dist/jsx/components/DataTableViewOptions/index.native.js +6 -4
  268. package/dist/jsx/components/DataTableViewOptions/index.native.js.map +1 -1
  269. package/dist/jsx/components/KnobDialog.mjs +6 -36
  270. package/dist/jsx/components/KnobDialog.mjs.map +1 -1
  271. package/dist/jsx/components/KnobDialog.native.js +3 -34
  272. package/dist/jsx/components/KnobDialog.native.js.map +1 -1
  273. package/dist/jsx/components/SavedFilterDropdown.mjs +0 -1
  274. package/dist/jsx/components/SavedFilterDropdown.mjs.map +1 -1
  275. package/dist/jsx/components/SavedFilterDropdown.native.js +0 -1
  276. package/dist/jsx/components/SavedFilterDropdown.native.js.map +1 -1
  277. package/dist/jsx/components/SimpleTable/ScrollFrame.mjs +25 -0
  278. package/dist/jsx/components/SimpleTable/ScrollFrame.mjs.map +1 -0
  279. package/dist/jsx/components/SimpleTable/ScrollFrame.native.js +84 -0
  280. package/dist/jsx/components/SimpleTable/ScrollFrame.native.js.map +1 -0
  281. package/dist/jsx/components/SimpleTable/columnSizing.mjs +25 -0
  282. package/dist/jsx/components/SimpleTable/columnSizing.mjs.map +1 -0
  283. package/dist/jsx/components/SimpleTable/columnSizing.native.js +71 -0
  284. package/dist/jsx/components/SimpleTable/columnSizing.native.js.map +1 -0
  285. package/dist/jsx/components/SimpleTable/index.mjs +152 -98
  286. package/dist/jsx/components/SimpleTable/index.mjs.map +1 -1
  287. package/dist/jsx/components/SimpleTable/index.native.js +166 -110
  288. package/dist/jsx/components/SimpleTable/index.native.js.map +1 -1
  289. package/dist/jsx/components/TableInput/RowDetailEditor.mjs +1 -6
  290. package/dist/jsx/components/TableInput/RowDetailEditor.mjs.map +1 -1
  291. package/dist/jsx/components/TableInput/RowDetailEditor.native.js +1 -5
  292. package/dist/jsx/components/TableInput/RowDetailEditor.native.js.map +1 -1
  293. package/dist/jsx/components/TableInput/index.mjs +5 -20
  294. package/dist/jsx/components/TableInput/index.mjs.map +1 -1
  295. package/dist/jsx/components/TableInput/index.native.js +2 -11
  296. package/dist/jsx/components/TableInput/index.native.js.map +1 -1
  297. package/dist/jsx/index.js +2 -2
  298. package/dist/jsx/index.js.map +1 -1
  299. package/dist/jsx/index.mjs +2 -2
  300. package/dist/jsx/index.mjs.map +1 -1
  301. package/dist/jsx/index.native.js +1 -0
  302. package/dist/jsx/index.native.js.map +1 -1
  303. package/package.json +12 -12
  304. package/src/components/ChildTable/ChildTable.stories.tsx +1 -2
  305. package/src/components/ChildTable/childTable.spec.tsx +2 -2
  306. package/src/components/ChildTable/childTable.zebra.spec.tsx +3 -3
  307. package/src/components/ChildTable/index.tsx +29 -26
  308. package/src/components/DataTable/DataTable.spec.tsx +49 -2
  309. package/src/components/DataTable/DataTable.stories.tsx +5 -5
  310. package/src/components/DataTable/DataTableCardControls.tsx +5 -10
  311. package/src/components/DataTable/DataTableContext.ts +5 -7
  312. package/src/components/DataTable/DataTableDocumentList.tsx +59 -21
  313. package/src/components/DataTable/DataTableInfiniteTail.tsx +1 -1
  314. package/src/components/DataTable/DataTableMobileCards.tsx +4 -9
  315. package/src/components/DataTable/DataTableRoot.tsx +900 -898
  316. package/src/components/DataTable/DataTableVirtualized.tsx +4 -2
  317. package/src/components/DataTable/FieldsInCells.stories.tsx +0 -1
  318. package/src/components/DataTable/compoundComponent.spec.tsx +7 -21
  319. package/src/components/DataTable/dataTableDocumentList.spec.tsx +78 -20
  320. package/src/components/DataTable/dataTableMobileCards.spec.tsx +19 -22
  321. package/src/components/DataTable/documentListSlots.ts +25 -6
  322. package/src/components/DataTable/footerLayout.spec.tsx +7 -7
  323. package/src/components/DataTable/index.native.tsx +329 -322
  324. package/src/components/DataTable/smallTableFooter.spec.tsx +61 -0
  325. package/src/components/DataTableCell/DataTableCell.stories.tsx +0 -2
  326. package/src/components/DataTableCell/index.tsx +3 -7
  327. package/src/components/DataTableColumnPinning/index.tsx +2 -1
  328. package/src/components/DataTableDateFilter/index.tsx +1 -1
  329. package/src/components/DataTableFilterButton/index.tsx +8 -5
  330. package/src/components/DataTableFilterChips/index.tsx +1 -1
  331. package/src/components/DataTableFilters/DataTableFilters.spec.tsx +3 -14
  332. package/src/components/DataTableFilters/DataTableFilters.stories.tsx +1 -6
  333. package/src/components/DataTableFilters/index.tsx +19 -17
  334. package/src/components/DataTableGrouping/index.tsx +9 -8
  335. package/src/components/DataTablePagination/DataTablePagination.spec.tsx +21 -11
  336. package/src/components/DataTablePagination/DataTablePagination.stories.tsx +2 -19
  337. package/src/components/DataTablePagination/DataTablePagination.width.spec.tsx +13 -13
  338. package/src/components/DataTablePagination/index.tsx +19 -15
  339. package/src/components/DataTableSearch/DataTableSearch.stories.tsx +1 -1
  340. package/src/components/DataTableSearch/index.tsx +7 -7
  341. package/src/components/DataTableToolbar/index.tsx +1 -7
  342. package/src/components/DataTableViewOptions/DataTableViewOptions.spec.tsx +5 -5
  343. package/src/components/DataTableViewOptions/DataTableViewOptions.stories.tsx +1 -1
  344. package/src/components/DataTableViewOptions/index.tsx +15 -6
  345. package/src/components/FilterOperatorValueEditor/FilterOperatorValueEditor.spec.tsx +17 -37
  346. package/src/components/KnobDialog.tsx +5 -37
  347. package/src/components/SavedFilterDropdown.tsx +0 -1
  348. package/src/components/SimpleTable/ScrollFrame.native.tsx +49 -0
  349. package/src/components/SimpleTable/ScrollFrame.tsx +18 -0
  350. package/src/components/SimpleTable/SimpleTable.stories.tsx +47 -0
  351. package/src/components/SimpleTable/columnSizing.spec.ts +88 -0
  352. package/src/components/SimpleTable/columnSizing.ts +46 -0
  353. package/src/components/SimpleTable/index.tsx +185 -112
  354. package/src/components/SimpleTable/simpleTable.spec.tsx +47 -19
  355. package/src/components/TableInput/RowDetailEditor.native.tsx +1 -3
  356. package/src/components/TableInput/RowDetailEditor.tsx +2 -10
  357. package/src/components/TableInput/index.native.tsx +3 -16
  358. package/src/components/TableInput/index.tsx +13 -24
  359. package/src/index.ts +1 -1
  360. package/src/types.ts +7 -2
  361. package/types/components/ChildTable/index.d.ts +3 -1
  362. package/types/components/ChildTable/index.d.ts.map +1 -1
  363. package/types/components/DataTable/DataTableCardControls.d.ts +2 -3
  364. package/types/components/DataTable/DataTableCardControls.d.ts.map +1 -1
  365. package/types/components/DataTable/DataTableContext.d.ts +4 -4
  366. package/types/components/DataTable/DataTableContext.d.ts.map +1 -1
  367. package/types/components/DataTable/DataTableDocumentList.d.ts +7 -4
  368. package/types/components/DataTable/DataTableDocumentList.d.ts.map +1 -1
  369. package/types/components/DataTable/DataTableMobileCards.d.ts +1 -2
  370. package/types/components/DataTable/DataTableMobileCards.d.ts.map +1 -1
  371. package/types/components/DataTable/DataTableRoot.d.ts +1 -3
  372. package/types/components/DataTable/DataTableRoot.d.ts.map +1 -1
  373. package/types/components/DataTable/DataTableVirtualized.d.ts.map +1 -1
  374. package/types/components/DataTable/documentListSlots.d.ts +7 -4
  375. package/types/components/DataTable/documentListSlots.d.ts.map +1 -1
  376. package/types/components/DataTable/index.native.d.ts +1 -1
  377. package/types/components/DataTable/index.native.d.ts.map +1 -1
  378. package/types/components/DataTableCell/index.d.ts +1 -3
  379. package/types/components/DataTableCell/index.d.ts.map +1 -1
  380. package/types/components/DataTableColumnPinning/index.d.ts.map +1 -1
  381. package/types/components/DataTableFilters/index.d.ts +6 -1
  382. package/types/components/DataTableFilters/index.d.ts.map +1 -1
  383. package/types/components/DataTableGrouping/index.d.ts.map +1 -1
  384. package/types/components/DataTablePagination/index.d.ts +8 -1
  385. package/types/components/DataTablePagination/index.d.ts.map +1 -1
  386. package/types/components/DataTableToolbar/index.d.ts +0 -1
  387. package/types/components/DataTableToolbar/index.d.ts.map +1 -1
  388. package/types/components/DataTableViewOptions/index.d.ts +6 -1
  389. package/types/components/DataTableViewOptions/index.d.ts.map +1 -1
  390. package/types/components/KnobDialog.d.ts +0 -7
  391. package/types/components/KnobDialog.d.ts.map +1 -1
  392. package/types/components/SavedFilterDropdown.d.ts.map +1 -1
  393. package/types/components/SimpleTable/ScrollFrame.d.ts +10 -0
  394. package/types/components/SimpleTable/ScrollFrame.d.ts.map +1 -0
  395. package/types/components/SimpleTable/ScrollFrame.native.d.ts +10 -0
  396. package/types/components/SimpleTable/ScrollFrame.native.d.ts.map +1 -0
  397. package/types/components/SimpleTable/columnSizing.d.ts +30 -0
  398. package/types/components/SimpleTable/columnSizing.d.ts.map +1 -0
  399. package/types/components/SimpleTable/index.d.ts +7 -12
  400. package/types/components/SimpleTable/index.d.ts.map +1 -1
  401. package/types/components/TableInput/RowDetailEditor.d.ts +1 -2
  402. package/types/components/TableInput/RowDetailEditor.d.ts.map +1 -1
  403. package/types/components/TableInput/RowDetailEditor.native.d.ts +1 -1
  404. package/types/components/TableInput/RowDetailEditor.native.d.ts.map +1 -1
  405. package/types/components/TableInput/index.d.ts +1 -6
  406. package/types/components/TableInput/index.d.ts.map +1 -1
  407. package/types/components/TableInput/index.native.d.ts +1 -6
  408. package/types/components/TableInput/index.native.d.ts.map +1 -1
  409. package/types/index.d.ts +1 -1
  410. package/types/index.d.ts.map +1 -1
  411. package/types/types.d.ts +7 -2
  412. package/types/types.d.ts.map +1 -1
@@ -71,7 +71,7 @@ function native(tableZebra: "on" | "off") {
71
71
  }
72
72
 
73
73
  describe("ChildTable tableZebra (K4)", () => {
74
- it("web: off by default, odd rows take $color2 when on", () => {
74
+ it("web: off by default, odd rows take $color3 when on", () => {
75
75
  const off = web("off");
76
76
  expect(off.map((row) => row.getAttribute("data-table-zebra"))).toEqual([
77
77
  "off",
@@ -88,7 +88,7 @@ describe("ChildTable tableZebra (K4)", () => {
88
88
  "even",
89
89
  "odd",
90
90
  ]);
91
- expect(on.map(fill)).toEqual([[], ["_bg-color2"], [], ["_bg-color2"]]);
91
+ expect(on.map(fill)).toEqual([[], ["_bg-color3"], [], ["_bg-color3"]]);
92
92
  });
93
93
 
94
94
  it("native: stripes the same rows as web", () => {
@@ -108,6 +108,6 @@ describe("ChildTable tableZebra (K4)", () => {
108
108
  "even",
109
109
  "odd",
110
110
  ]);
111
- expect(on.map(fill)).toEqual([[], ["_bg-color2"], [], ["_bg-color2"]]);
111
+ expect(on.map(fill)).toEqual([[], ["_bg-color3"], [], ["_bg-color3"]]);
112
112
  });
113
113
  });
@@ -1,7 +1,8 @@
1
1
  import { useCallback, type ReactNode } from "react";
2
2
  import { renumberIdx } from "@multiplatform.one/components";
3
3
  import { FieldLayout, useFormField, type AnyFormApi } from "@multiplatform.one/forms";
4
- import { useProps, YStack } from "tamagui";
4
+ import { Surface } from "@multiplatform.one/theme";
5
+ import { useProps, YStack, type SizeTokens } from "tamagui";
5
6
  import { TableInput } from "../TableInput";
6
7
  import type { ChildCellHidden } from "../TableInput/shared";
7
8
  import type { DataTableColumn, DataTableData } from "../../types";
@@ -17,7 +18,8 @@ export type ChildTableProps<TRow extends DataTableData = DataTableData> = {
17
18
  disabled?: boolean;
18
19
  readOnly?: boolean;
19
20
  skeleton?: boolean;
20
- compact?: boolean;
21
+ /** Control size token for the field and every cell editor (`$3` for a tighter grid). */
22
+ size?: SizeTokens;
21
23
  minRows?: number;
22
24
  maxRows?: number;
23
25
  showRowNumbers?: boolean;
@@ -82,7 +84,7 @@ export function ChildTable<TRow extends DataTableData = DataTableData>(
82
84
  disabled,
83
85
  readOnly,
84
86
  skeleton,
85
- compact,
87
+ size,
86
88
  minRows,
87
89
  maxRows,
88
90
  showRowNumbers = true,
@@ -99,7 +101,7 @@ export function ChildTable<TRow extends DataTableData = DataTableData>(
99
101
  isCellHidden,
100
102
  } = useProps(props);
101
103
 
102
- const { knobProps, id, resolvedForm } = useFormField({ form, id: idProp, compact });
104
+ const { knobProps, id, resolvedForm } = useFormField({ form, id: idProp, size });
103
105
  const formBound = !!resolvedForm && !!name;
104
106
  const hasLayout = label || error || helperText || required;
105
107
  const enableReorder = enableReorderProp ?? !(readOnly || disabled);
@@ -119,28 +121,29 @@ export function ChildTable<TRow extends DataTableData = DataTableData>(
119
121
  const Input = TableInput<TRow>;
120
122
 
121
123
  const table = (
122
- <Input
123
- name={name}
124
- form={resolvedForm}
125
- validators={validators}
126
- required={required}
127
- skeleton={skeleton}
128
- data={value ?? []}
129
- onChange={emitChange}
130
- columns={columns ?? []}
131
- defaultRow={defaultRow}
132
- readOnly={readOnly || disabled}
133
- minRows={minRows}
134
- maxRows={maxRows}
135
- showRowNumbers={showRowNumbers}
136
- showAddRow={showAddRow && !readOnly && !disabled}
137
- showDeleteRow={showDeleteRow && !readOnly && !disabled}
138
- compact={compact}
139
- enableReorder={enableReorder && !readOnly && !disabled}
140
- rowDetail={rowDetail}
141
- detailColumns={detailColumns}
142
- isCellHidden={isCellHidden}
143
- />
124
+ <Surface size={size}>
125
+ <Input
126
+ name={name}
127
+ form={resolvedForm}
128
+ validators={validators}
129
+ required={required}
130
+ skeleton={skeleton}
131
+ data={value ?? []}
132
+ onChange={emitChange}
133
+ columns={columns ?? []}
134
+ defaultRow={defaultRow}
135
+ readOnly={readOnly || disabled}
136
+ minRows={minRows}
137
+ maxRows={maxRows}
138
+ showRowNumbers={showRowNumbers}
139
+ showAddRow={showAddRow && !readOnly && !disabled}
140
+ showDeleteRow={showDeleteRow && !readOnly && !disabled}
141
+ enableReorder={enableReorder && !readOnly && !disabled}
142
+ rowDetail={rowDetail}
143
+ detailColumns={detailColumns}
144
+ isCellHidden={isCellHidden}
145
+ />
146
+ </Surface>
144
147
  );
145
148
 
146
149
  if (!hasLayout && !formBound) return table;
@@ -143,7 +143,7 @@ describe("DataTable", () => {
143
143
 
144
144
  it("should apply different sizes", () => {
145
145
  const { container } = renderWithProviders(
146
- <DataTable data={sampleData} columns={columns} size="sm" onStateChange={vi.fn()} />,
146
+ <DataTable data={sampleData} columns={columns} size="$3" onStateChange={vi.fn()} />,
147
147
  );
148
148
 
149
149
  // In test env sm===false → mobile card view renders (no <table> element)
@@ -152,7 +152,7 @@ describe("DataTable", () => {
152
152
 
153
153
  it("should apply different sizes (large)", () => {
154
154
  const { container } = renderWithProviders(
155
- <DataTable data={sampleData} columns={columns} size="lg" onStateChange={vi.fn()} />,
155
+ <DataTable data={sampleData} columns={columns} size="$5" onStateChange={vi.fn()} />,
156
156
  );
157
157
 
158
158
  // In test env sm===false → mobile card view renders (no <table> element)
@@ -930,3 +930,50 @@ describe("DataTable", () => {
930
930
  });
931
931
  });
932
932
  });
933
+
934
+ describe("DataTable size token (WP-c2)", () => {
935
+ type Person = { id: number; firstName: string };
936
+ const people: Person[] = [
937
+ { id: 1, firstName: "John" },
938
+ { id: 2, firstName: "Jane" },
939
+ ];
940
+ const editable: DataTableColumn<Person>[] = [
941
+ { accessorKey: "firstName", header: "First Name", field: "input" },
942
+ { accessorKey: "id", header: "ID" },
943
+ ];
944
+
945
+ function renderSized(size?: "$3" | "$5") {
946
+ return renderWithProviders(
947
+ <DataTable
948
+ data={people}
949
+ columns={editable}
950
+ layout="table"
951
+ size={size}
952
+ enableGlobalSearch
953
+ enableFiltering
954
+ onDataChange={vi.fn()}
955
+ />,
956
+ );
957
+ }
958
+
959
+ it('size="$3" renders the toolbar controls at $3 and cell controls one key below', () => {
960
+ const { container } = renderSized("$3");
961
+ const search = screen.getByLabelText("Search table data").closest("[data-size-token]");
962
+ expect(search?.getAttribute("data-size-token")).toBe("$3");
963
+ const cellBoxes = container.querySelectorAll(
964
+ "[role='cell'] [data-ring-target='box'][data-size-token]",
965
+ );
966
+ expect(cellBoxes.length).toBeGreaterThan(0);
967
+ for (const box of Array.from(cellBoxes)) {
968
+ expect(box.getAttribute("data-size-token")).toBe("$2");
969
+ }
970
+ });
971
+
972
+ it("a default table keeps the toolbar at the ambient token and cells at $3", () => {
973
+ const { container } = renderSized();
974
+ const search = screen.getByLabelText("Search table data").closest("[data-size-token]");
975
+ expect(search?.getAttribute("data-size-token")).toBe("$true");
976
+ const box = container.querySelector("[role='cell'] [data-ring-target='box'][data-size-token]");
977
+ expect(box?.getAttribute("data-size-token")).toBe("$3");
978
+ });
979
+ });
@@ -325,8 +325,8 @@ const AdvancedTableStory = () => {
325
325
  renderFilters={(props) => (
326
326
  <DataTableFilters {...props} availableColumns={columnsWithCounts} maxFilters={5} />
327
327
  )}
328
- renderPagination={(props) => <DataTablePagination {...props} compact />}
329
- size="md"
328
+ renderPagination={(props) => <DataTablePagination {...props} size="$3" />}
329
+ size="$true"
330
330
  aria-label="User management table"
331
331
  />
332
332
  </YStack>
@@ -347,7 +347,7 @@ const SimpleTableStory = () => {
347
347
  enableSorting={true}
348
348
  enablePagination={true}
349
349
  enableGlobalSearch={true}
350
- size="sm"
350
+ size="$3"
351
351
  />
352
352
  </View>
353
353
  );
@@ -549,7 +549,7 @@ export const Compact: Story = {
549
549
  args: {
550
550
  data: sampleData,
551
551
  columns: basicColumns as DataTableColumn<Record<string, any>>[],
552
- size: "sm",
552
+ size: "$3",
553
553
  },
554
554
  };
555
555
 
@@ -557,7 +557,7 @@ export const Large: Story = {
557
557
  args: {
558
558
  data: sampleData,
559
559
  columns: basicColumns as DataTableColumn<Record<string, any>>[],
560
- size: "lg",
560
+ size: "$5",
561
561
  },
562
562
  };
563
563
 
@@ -34,7 +34,6 @@ export interface DataTableCardControlsProps {
34
34
  type: DataTableColumnType;
35
35
  options?: FacetedFilterOption[];
36
36
  }>;
37
- compact?: boolean;
38
37
  /** Table-level disabled state (UX-011): controls render inert + LC-40 visible. */
39
38
  disabled?: boolean;
40
39
  }
@@ -46,12 +45,11 @@ function getColumnLabel(column: any): string {
46
45
 
47
46
  export function DataTableCardSortControl({
48
47
  table,
49
- compact = false,
50
48
  disabled = false,
51
49
  contained = false,
52
- }: Pick<DataTableCardControlsProps, "table" | "compact" | "disabled"> & { contained?: boolean }) {
50
+ }: Pick<DataTableCardControlsProps, "table" | "disabled"> & { contained?: boolean }) {
53
51
  const { t } = useTranslation();
54
- const { knobProps } = useResolvedKnobs({ component: "DataTable", compact });
52
+ const { knobProps } = useResolvedKnobs({ component: "DataTable" });
55
53
  const chrome = dataTableChrome(String(knobProps.sizeToken));
56
54
  const [sortMenuOpen, setSortMenuOpen] = useState(false);
57
55
  const sortableColumns = table.getVisibleLeafColumns().filter((col: any) => col.getCanSort());
@@ -141,11 +139,10 @@ export function DataTableCardControls({
141
139
  enableSorting = false,
142
140
  enableFiltering = false,
143
141
  availableColumns = [],
144
- compact = false,
145
142
  disabled = false,
146
143
  }: DataTableCardControlsProps) {
147
144
  const { t } = useTranslation();
148
- const { disabledState } = useResolvedKnobs({ component: "DataTable", compact });
145
+ const { disabledState } = useResolvedKnobs({ component: "DataTable" });
149
146
  if (!enableSorting && !enableFiltering) return null;
150
147
  return (
151
148
  <XStack
@@ -156,9 +153,7 @@ export function DataTableCardControls({
156
153
  role="toolbar"
157
154
  aria-label={t("Card list controls")}
158
155
  >
159
- {enableSorting && (
160
- <DataTableCardSortControl table={table} compact={compact} disabled={disabled} />
161
- )}
156
+ {enableSorting && <DataTableCardSortControl table={table} disabled={disabled} />}
162
157
  {enableFiltering && availableColumns.length > 0 && (
163
158
  // DataTableFilters (chrome) has no disabled API — the wrapper is the
164
159
  // LC-40 carrier and interaction gate for the disabled table.
@@ -167,7 +162,7 @@ export function DataTableCardControls({
167
162
  ? { ...disabledState.chromeKnobProps, pointerEvents: "none" as const }
168
163
  : {})}
169
164
  >
170
- <DataTableFilters compact availableColumns={availableColumns} />
165
+ <DataTableFilters size="$3" availableColumns={availableColumns} />
171
166
  </View>
172
167
  )}
173
168
  </XStack>
@@ -1,16 +1,14 @@
1
1
  /**
2
2
  * DataTableContext - styled context for DataTable compound component.
3
3
  *
4
- * Shares variant props (size, compact) across the compound tree
5
- * so sub-components render with consistent sizing without prop drilling.
4
+ * Shares the table's size token across the compound tree so sub-components
5
+ * render with consistent sizing without prop drilling.
6
6
  */
7
7
 
8
- import { createStyledContext } from "tamagui";
8
+ import { createStyledContext, type SizeTokens } from "tamagui";
9
9
 
10
10
  export const DataTableContext = createStyledContext<{
11
- size: "sm" | "md" | "lg";
12
- compact: boolean;
11
+ size: SizeTokens;
13
12
  }>({
14
- size: "md",
15
- compact: false,
13
+ size: "$true",
16
14
  });
@@ -1,19 +1,24 @@
1
1
  /**
2
2
  * DataTableDocumentList — subject-led document rows (desk List view).
3
3
  *
4
- * One horizontal row per document: checkbox | title + stacked meta | trailing
5
- * indicators | actions. No key-value labels, no card chrome, no grid headers,
4
+ * One horizontal row per document: checkbox | title over one wrapping meta
5
+ * line | fixed-width numeric/date columns (ListRowMeta) | indicators | actions.
6
+ * A record is one 48–56 px row: metas never stack one line per column. No key-value labels, no card chrome, no grid headers,
6
7
  * no wrapping into a column grid (Polaris Index / Frappe list). Stacked-group
7
8
  * radius (LC-72): first row top corners, last row bottom, interiors square.
9
+ * In the compact size class the trailing columns, indicators and actions
10
+ * wrap in one line under the subject so they never narrow the title, and an
11
+ * empty meta field is left out (FZ-7374).
8
12
  * LC-71: selected = fill; keyboard ring rides the row when it is the tab stop.
9
13
  */
10
14
 
11
- import { EmptyState } from "@multiplatform.one/components";
15
+ import { EmptyState, ListRowMeta } from "@multiplatform.one/components";
12
16
  import { Checkbox } from "@multiplatform.one/forms";
13
17
  import {
14
18
  getGroupPosition,
15
19
  hairline,
16
20
  stackRadiusProps,
21
+ useLayoutSizeClass,
17
22
  useResolvedKnobs,
18
23
  } from "@multiplatform.one/theme";
19
24
  import { TableCellContext } from "@multiplatform.one/table-primitives";
@@ -50,7 +55,6 @@ export interface DataTableDocumentListProps<TData> {
50
55
  disabled?: boolean;
51
56
  hasActiveFilters: boolean;
52
57
  renderCellContent: (cell: any, rowIndex: number, rowData: TData) => React.ReactNode;
53
- compact?: boolean;
54
58
  selectRowLabel?: (row: any, rowIndex: number) => string;
55
59
  getRowPressProps?: (row: any, rowIndex: number, variant?: "row" | "card") => Record<string, any>;
56
60
  /** In-flight refetch: do not paint empty-state over a blank body. */
@@ -69,13 +73,13 @@ export function DataTableDocumentList<TData extends Record<string, any>>({
69
73
  disabled = false,
70
74
  hasActiveFilters,
71
75
  renderCellContent,
72
- compact = false,
73
76
  selectRowLabel,
74
77
  getRowPressProps,
75
78
  queryInFlight = false,
76
79
  }: DataTableDocumentListProps<TData>) {
77
80
  const { t } = useTranslation();
78
- const { knobProps } = useResolvedKnobs({ component: "DataTable", compact });
81
+ const { knobProps } = useResolvedKnobs({ component: "DataTable" });
82
+ const compact = useLayoutSizeClass() === "compact";
79
83
  const chrome = dataTableChrome(String(knobProps.sizeToken));
80
84
  const tableZebraOn = knobProps.tableZebra === "on";
81
85
  const rowPad = knobProps.panelPadding.padding;
@@ -87,6 +91,7 @@ export function DataTableDocumentList<TData extends Record<string, any>>({
87
91
  const titleCell = pickDocumentListTitleCell(visibleCells);
88
92
  const {
89
93
  indicators,
94
+ trailing,
90
95
  metas: metaCells,
91
96
  actions,
92
97
  } = partitionDocumentListCells(visibleCells, titleCell);
@@ -106,7 +111,16 @@ export function DataTableDocumentList<TData extends Record<string, any>>({
106
111
  );
107
112
  const indicatorCells = indicators.map((cell: any) => slotCell(cell, "indicator"));
108
113
  const actionCells = actions.map((cell: any) => slotCell(cell, "actions"));
109
- const trailing = [...indicatorCells, ...actionCells];
114
+ // A compact row drops the fixed column width: the values wrap under
115
+ // the subject with the indicators and actions.
116
+ const trailingCells = trailing.map((cell: any) => (
117
+ <ListRowMeta key={cell.id} width={compact ? undefined : "$10"}>
118
+ <TableCellContext.Provider value={{ inTableCell: true, isHeader: false }}>
119
+ {renderCellContent(cell, index, rowData)}
120
+ </TableCellContext.Provider>
121
+ </ListRowMeta>
122
+ ));
123
+ const compactLine = [...trailingCells, ...indicatorCells, ...actionCells];
110
124
  const position = getGroupPosition(index, tableRows.length);
111
125
  const corners = stackRadiusProps(position, knobProps.borderRadiusOuter.borderRadius);
112
126
  const selected = Boolean(enableRowSelection && row.getIsSelected?.());
@@ -157,7 +171,6 @@ export function DataTableDocumentList<TData extends Record<string, any>>({
157
171
  row: index + 1,
158
172
  }),
159
173
  }}
160
- compact={compact}
161
174
  />
162
175
  )}
163
176
  <YStack flex={1} minWidth={0} gap="$1" overflow="hidden">
@@ -170,30 +183,54 @@ export function DataTableDocumentList<TData extends Record<string, any>>({
170
183
  ) : (
171
184
  <View flex={1} />
172
185
  )}
173
- {metas.map((cell: any) => (
174
- <View
175
- key={cell.id}
186
+ {metas.length > 0 ? (
187
+ <XStack
176
188
  minWidth={0}
189
+ flexWrap="wrap"
190
+ alignItems="center"
191
+ columnGap="$3"
192
+ rowGap="$1"
177
193
  opacity={0.7}
178
194
  overflow="hidden"
179
- {...({ "data-list-slot": "meta" } as any)}
195
+ {...({ "data-list-slot": "meta-line" } as any)}
180
196
  >
181
- <TableCellContext.Provider value={{ inTableCell: true, isHeader: false }}>
182
- {renderCellContent(cell, index, rowData)}
183
- </TableCellContext.Provider>
184
- </View>
185
- ))}
186
- {compact && trailing.length > 0 ? (
197
+ {metas.map((cell: any) => (
198
+ <View
199
+ key={cell.id}
200
+ minWidth={0}
201
+ flexShrink={1}
202
+ overflow="hidden"
203
+ {...({ "data-list-slot": "meta" } as any)}
204
+ >
205
+ <TableCellContext.Provider value={{ inTableCell: true, isHeader: false }}>
206
+ {renderCellContent(cell, index, rowData)}
207
+ </TableCellContext.Provider>
208
+ </View>
209
+ ))}
210
+ </XStack>
211
+ ) : null}
212
+ {compact && compactLine.length > 0 ? (
187
213
  <XStack
188
214
  gap="$2"
189
215
  alignItems="center"
190
216
  flexWrap="wrap"
191
- {...({ "data-list-slot": "trailing" } as any)}
217
+ {...({ "data-list-slot": "trailing-line" } as any)}
192
218
  >
193
- {trailing}
219
+ {compactLine}
194
220
  </XStack>
195
221
  ) : null}
196
222
  </YStack>
223
+ {!compact && trailing.length > 0 ? (
224
+ <XStack
225
+ flexShrink={0}
226
+ gap="$3"
227
+ alignItems="center"
228
+ flexWrap="nowrap"
229
+ {...({ "data-list-slot": "trailing-cluster" } as any)}
230
+ >
231
+ {trailingCells}
232
+ </XStack>
233
+ ) : null}
197
234
  {!compact && indicators.length > 0 ? (
198
235
  <XStack flexShrink={0} gap="$2" alignItems="center" flexWrap="nowrap" maxWidth="40%">
199
236
  {indicatorCells}
@@ -220,6 +257,7 @@ export function DataTableDocumentList<TData extends Record<string, any>>({
220
257
  t,
221
258
  tableRows.length,
222
259
  tableZebraOn,
260
+ compact,
223
261
  ],
224
262
  );
225
263
 
@@ -234,7 +272,7 @@ export function DataTableDocumentList<TData extends Record<string, any>>({
234
272
  {tableRows.length === 0 ? (
235
273
  queryInFlight ? null : (
236
274
  <EmptyState
237
- compact
275
+ size="$3"
238
276
  backgroundColor="$color1"
239
277
  {...knobProps.borderRadius}
240
278
  aria-live="polite"
@@ -48,7 +48,7 @@ export function DataTableInfiniteTail({
48
48
  error={infinite.appendError}
49
49
  onRetry={infinite.retryAppend}
50
50
  errorTitle={t("Couldn't load more rows")}
51
- compact
51
+ size="$3"
52
52
  />
53
53
  </View>
54
54
  );
@@ -126,7 +126,6 @@ export interface DataTableMobileCardsProps<TData> {
126
126
  selectAllChecked?: boolean;
127
127
  selectAllIndeterminate?: boolean;
128
128
  onToggleSelectAll?: () => void;
129
- compact?: boolean;
130
129
  /**
131
130
  * Accessible name for a row's selection checkbox ("Select row {identity}",
132
131
  * built by DataTableRoot so cards and grid share one naming source).
@@ -159,13 +158,12 @@ export function DataTableMobileCards<TData extends Record<string, any>>({
159
158
  selectAllChecked = false,
160
159
  selectAllIndeterminate = false,
161
160
  onToggleSelectAll,
162
- compact = false,
163
161
  selectRowLabel,
164
162
  getRowPressProps,
165
163
  queryInFlight = false,
166
164
  }: DataTableMobileCardsProps<TData>) {
167
165
  const { t } = useTranslation();
168
- const { knobProps } = useResolvedKnobs({ component: "DataTable", compact });
166
+ const { knobProps } = useResolvedKnobs({ component: "DataTable" });
169
167
  const tableZebraOn = knobProps.tableZebra === "on";
170
168
 
171
169
  const renderCell = useCallback(
@@ -241,7 +239,6 @@ export function DataTableMobileCards<TData extends Record<string, any>>({
241
239
  row: index + 1,
242
240
  }),
243
241
  }}
244
- compact={compact}
245
242
  />
246
243
  )}
247
244
  {titleCell ? (
@@ -258,7 +255,7 @@ export function DataTableMobileCards<TData extends Record<string, any>>({
258
255
  <View flex={1} />
259
256
  )}
260
257
  {showRowNumbers && (
261
- <Text fontSize={knobProps.sizeToken} color="$color10" fontWeight="600">
258
+ <Text fontSize={knobProps.sizeToken} color="$color10">
262
259
  #{index + 1}
263
260
  </Text>
264
261
  )}
@@ -321,7 +318,7 @@ export function DataTableMobileCards<TData extends Record<string, any>>({
321
318
  >
322
319
  {figures.map((cell: any) => (
323
320
  <XStack key={cell.id} alignItems="center" gap="$1.5" flexShrink={1} minWidth={0}>
324
- <Text fontSize={knobProps.sizeToken} color="$color10" fontWeight="500">
321
+ <Text fontSize={knobProps.sizeToken} color="$color10">
325
322
  {getColumnLabel(cell)}
326
323
  </Text>
327
324
  <View flexShrink={1} minWidth={0}>
@@ -357,7 +354,6 @@ export function DataTableMobileCards<TData extends Record<string, any>>({
357
354
  minRows,
358
355
  renderCell,
359
356
  onDeleteRow,
360
- compact,
361
357
  knobProps,
362
358
  tableZebraOn,
363
359
  t,
@@ -386,7 +382,6 @@ export function DataTableMobileCards<TData extends Record<string, any>>({
386
382
  }}
387
383
  disabled={disabled}
388
384
  checkboxProps={{ "aria-label": t("Select all rows") }}
389
- compact={compact}
390
385
  />
391
386
  <Text fontSize={knobProps.sizeToken} color="$color10">
392
387
  {t("Select all")}
@@ -396,7 +391,7 @@ export function DataTableMobileCards<TData extends Record<string, any>>({
396
391
  {tableRows.length === 0 ? (
397
392
  queryInFlight ? null : (
398
393
  <EmptyState
399
- compact
394
+ size="$3"
400
395
  backgroundColor="$color1"
401
396
  {...knobProps.borderRadius}
402
397
  aria-live="polite"