@multiplatform.one/table 7.34.4 → 7.35.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 (396) 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 +149 -96
  72. package/dist/cjs/components/SimpleTable/index.native.js +163 -109
  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/esm/components/ChildTable/index.mjs +26 -23
  81. package/dist/esm/components/ChildTable/index.mjs.map +1 -1
  82. package/dist/esm/components/ChildTable/index.native.js +26 -23
  83. package/dist/esm/components/ChildTable/index.native.js.map +1 -1
  84. package/dist/esm/components/DataTable/DataTableCardControls.mjs +3 -8
  85. package/dist/esm/components/DataTable/DataTableCardControls.mjs.map +1 -1
  86. package/dist/esm/components/DataTable/DataTableCardControls.native.js +3 -8
  87. package/dist/esm/components/DataTable/DataTableCardControls.native.js.map +1 -1
  88. package/dist/esm/components/DataTable/DataTableContext.mjs +1 -2
  89. package/dist/esm/components/DataTable/DataTableContext.mjs.map +1 -1
  90. package/dist/esm/components/DataTable/DataTableContext.native.js +1 -2
  91. package/dist/esm/components/DataTable/DataTableContext.native.js.map +1 -1
  92. package/dist/esm/components/DataTable/DataTableDocumentList.mjs +52 -22
  93. package/dist/esm/components/DataTable/DataTableDocumentList.mjs.map +1 -1
  94. package/dist/esm/components/DataTable/DataTableDocumentList.native.js +61 -29
  95. package/dist/esm/components/DataTable/DataTableDocumentList.native.js.map +1 -1
  96. package/dist/esm/components/DataTable/DataTableInfiniteTail.mjs +1 -1
  97. package/dist/esm/components/DataTable/DataTableInfiniteTail.mjs.map +1 -1
  98. package/dist/esm/components/DataTable/DataTableInfiniteTail.native.js +1 -1
  99. package/dist/esm/components/DataTable/DataTableInfiniteTail.native.js.map +1 -1
  100. package/dist/esm/components/DataTable/DataTableMobileCards.mjs +5 -11
  101. package/dist/esm/components/DataTable/DataTableMobileCards.mjs.map +1 -1
  102. package/dist/esm/components/DataTable/DataTableMobileCards.native.js +5 -11
  103. package/dist/esm/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  104. package/dist/esm/components/DataTable/DataTableRoot.mjs +603 -608
  105. package/dist/esm/components/DataTable/DataTableRoot.mjs.map +1 -1
  106. package/dist/esm/components/DataTable/DataTableRoot.native.js +707 -712
  107. package/dist/esm/components/DataTable/DataTableRoot.native.js.map +1 -1
  108. package/dist/esm/components/DataTable/DataTableVirtualized.mjs +4 -3
  109. package/dist/esm/components/DataTable/DataTableVirtualized.mjs.map +1 -1
  110. package/dist/esm/components/DataTable/DataTableVirtualized.native.js +4 -3
  111. package/dist/esm/components/DataTable/DataTableVirtualized.native.js.map +1 -1
  112. package/dist/esm/components/DataTable/documentListSlots.mjs +8 -1
  113. package/dist/esm/components/DataTable/documentListSlots.mjs.map +1 -1
  114. package/dist/esm/components/DataTable/documentListSlots.native.js +8 -1
  115. package/dist/esm/components/DataTable/documentListSlots.native.js.map +1 -1
  116. package/dist/esm/components/DataTable/index.native.js +265 -253
  117. package/dist/esm/components/DataTable/index.native.js.map +1 -1
  118. package/dist/esm/components/DataTableCell/index.mjs +2 -5
  119. package/dist/esm/components/DataTableCell/index.mjs.map +1 -1
  120. package/dist/esm/components/DataTableCell/index.native.js +2 -5
  121. package/dist/esm/components/DataTableCell/index.native.js.map +1 -1
  122. package/dist/esm/components/DataTableColumnPinning/index.mjs +2 -1
  123. package/dist/esm/components/DataTableColumnPinning/index.mjs.map +1 -1
  124. package/dist/esm/components/DataTableColumnPinning/index.native.js +2 -1
  125. package/dist/esm/components/DataTableColumnPinning/index.native.js.map +1 -1
  126. package/dist/esm/components/DataTableFilterButton/index.mjs +4 -6
  127. package/dist/esm/components/DataTableFilterButton/index.mjs.map +1 -1
  128. package/dist/esm/components/DataTableFilterButton/index.native.js +4 -6
  129. package/dist/esm/components/DataTableFilterButton/index.native.js.map +1 -1
  130. package/dist/esm/components/DataTableFilterChips/index.mjs +0 -1
  131. package/dist/esm/components/DataTableFilterChips/index.mjs.map +1 -1
  132. package/dist/esm/components/DataTableFilterChips/index.native.js +0 -1
  133. package/dist/esm/components/DataTableFilters/index.mjs +12 -20
  134. package/dist/esm/components/DataTableFilters/index.mjs.map +1 -1
  135. package/dist/esm/components/DataTableFilters/index.native.js +12 -20
  136. package/dist/esm/components/DataTableFilters/index.native.js.map +1 -1
  137. package/dist/esm/components/DataTableGrouping/index.mjs +6 -6
  138. package/dist/esm/components/DataTableGrouping/index.mjs.map +1 -1
  139. package/dist/esm/components/DataTableGrouping/index.native.js +8 -8
  140. package/dist/esm/components/DataTableGrouping/index.native.js.map +1 -1
  141. package/dist/esm/components/DataTablePagination/index.mjs +15 -19
  142. package/dist/esm/components/DataTablePagination/index.mjs.map +1 -1
  143. package/dist/esm/components/DataTablePagination/index.native.js +15 -19
  144. package/dist/esm/components/DataTablePagination/index.native.js.map +1 -1
  145. package/dist/esm/components/DataTableSearch/index.mjs +5 -7
  146. package/dist/esm/components/DataTableSearch/index.mjs.map +1 -1
  147. package/dist/esm/components/DataTableSearch/index.native.js +5 -7
  148. package/dist/esm/components/DataTableSearch/index.native.js.map +1 -1
  149. package/dist/esm/components/DataTableToolbar/index.mjs +2 -10
  150. package/dist/esm/components/DataTableToolbar/index.mjs.map +1 -1
  151. package/dist/esm/components/DataTableToolbar/index.native.js +2 -10
  152. package/dist/esm/components/DataTableToolbar/index.native.js.map +1 -1
  153. package/dist/esm/components/DataTableViewOptions/index.mjs +6 -4
  154. package/dist/esm/components/DataTableViewOptions/index.mjs.map +1 -1
  155. package/dist/esm/components/DataTableViewOptions/index.native.js +7 -5
  156. package/dist/esm/components/DataTableViewOptions/index.native.js.map +1 -1
  157. package/dist/esm/components/KnobDialog.mjs +6 -36
  158. package/dist/esm/components/KnobDialog.mjs.map +1 -1
  159. package/dist/esm/components/KnobDialog.native.js +5 -36
  160. package/dist/esm/components/KnobDialog.native.js.map +1 -1
  161. package/dist/esm/components/SavedFilterDropdown.mjs +0 -1
  162. package/dist/esm/components/SavedFilterDropdown.mjs.map +1 -1
  163. package/dist/esm/components/SavedFilterDropdown.native.js +0 -1
  164. package/dist/esm/components/SavedFilterDropdown.native.js.map +1 -1
  165. package/dist/esm/components/SimpleTable/ScrollFrame.mjs +25 -0
  166. package/dist/esm/components/SimpleTable/ScrollFrame.mjs.map +1 -0
  167. package/dist/esm/components/SimpleTable/ScrollFrame.native.js +55 -0
  168. package/dist/esm/components/SimpleTable/ScrollFrame.native.js.map +1 -0
  169. package/dist/esm/components/SimpleTable/columnSizing.mjs +25 -0
  170. package/dist/esm/components/SimpleTable/columnSizing.mjs.map +1 -0
  171. package/dist/esm/components/SimpleTable/columnSizing.native.js +43 -0
  172. package/dist/esm/components/SimpleTable/columnSizing.native.js.map +1 -0
  173. package/dist/esm/components/SimpleTable/index.mjs +150 -97
  174. package/dist/esm/components/SimpleTable/index.mjs.map +1 -1
  175. package/dist/esm/components/SimpleTable/index.native.js +164 -110
  176. package/dist/esm/components/SimpleTable/index.native.js.map +1 -1
  177. package/dist/esm/components/TableInput/RowDetailEditor.mjs +1 -6
  178. package/dist/esm/components/TableInput/RowDetailEditor.mjs.map +1 -1
  179. package/dist/esm/components/TableInput/RowDetailEditor.native.js +1 -5
  180. package/dist/esm/components/TableInput/RowDetailEditor.native.js.map +1 -1
  181. package/dist/esm/components/TableInput/index.mjs +5 -20
  182. package/dist/esm/components/TableInput/index.mjs.map +1 -1
  183. package/dist/esm/components/TableInput/index.native.js +3 -12
  184. package/dist/esm/components/TableInput/index.native.js.map +1 -1
  185. package/dist/jsx/components/ChildTable/index.mjs +26 -23
  186. package/dist/jsx/components/ChildTable/index.mjs.map +1 -1
  187. package/dist/jsx/components/ChildTable/index.native.js +26 -23
  188. package/dist/jsx/components/ChildTable/index.native.js.map +1 -1
  189. package/dist/jsx/components/DataTable/DataTableCardControls.mjs +3 -8
  190. package/dist/jsx/components/DataTable/DataTableCardControls.mjs.map +1 -1
  191. package/dist/jsx/components/DataTable/DataTableCardControls.native.js +3 -8
  192. package/dist/jsx/components/DataTable/DataTableCardControls.native.js.map +1 -1
  193. package/dist/jsx/components/DataTable/DataTableContext.mjs +1 -2
  194. package/dist/jsx/components/DataTable/DataTableContext.mjs.map +1 -1
  195. package/dist/jsx/components/DataTable/DataTableContext.native.js +1 -2
  196. package/dist/jsx/components/DataTable/DataTableContext.native.js.map +1 -1
  197. package/dist/jsx/components/DataTable/DataTableDocumentList.mjs +52 -22
  198. package/dist/jsx/components/DataTable/DataTableDocumentList.mjs.map +1 -1
  199. package/dist/jsx/components/DataTable/DataTableDocumentList.native.js +59 -27
  200. package/dist/jsx/components/DataTable/DataTableDocumentList.native.js.map +1 -1
  201. package/dist/jsx/components/DataTable/DataTableInfiniteTail.mjs +1 -1
  202. package/dist/jsx/components/DataTable/DataTableInfiniteTail.mjs.map +1 -1
  203. package/dist/jsx/components/DataTable/DataTableInfiniteTail.native.js +1 -1
  204. package/dist/jsx/components/DataTable/DataTableInfiniteTail.native.js.map +1 -1
  205. package/dist/jsx/components/DataTable/DataTableMobileCards.mjs +5 -11
  206. package/dist/jsx/components/DataTable/DataTableMobileCards.mjs.map +1 -1
  207. package/dist/jsx/components/DataTable/DataTableMobileCards.native.js +5 -11
  208. package/dist/jsx/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  209. package/dist/jsx/components/DataTable/DataTableRoot.mjs +603 -608
  210. package/dist/jsx/components/DataTable/DataTableRoot.mjs.map +1 -1
  211. package/dist/jsx/components/DataTable/DataTableRoot.native.js +705 -710
  212. package/dist/jsx/components/DataTable/DataTableRoot.native.js.map +1 -1
  213. package/dist/jsx/components/DataTable/DataTableVirtualized.mjs +4 -3
  214. package/dist/jsx/components/DataTable/DataTableVirtualized.mjs.map +1 -1
  215. package/dist/jsx/components/DataTable/DataTableVirtualized.native.js +3 -2
  216. package/dist/jsx/components/DataTable/DataTableVirtualized.native.js.map +1 -1
  217. package/dist/jsx/components/DataTable/documentListSlots.mjs +8 -1
  218. package/dist/jsx/components/DataTable/documentListSlots.mjs.map +1 -1
  219. package/dist/jsx/components/DataTable/documentListSlots.native.js +8 -1
  220. package/dist/jsx/components/DataTable/documentListSlots.native.js.map +1 -1
  221. package/dist/jsx/components/DataTable/index.native.js +264 -252
  222. package/dist/jsx/components/DataTable/index.native.js.map +1 -1
  223. package/dist/jsx/components/DataTableCell/index.mjs +2 -5
  224. package/dist/jsx/components/DataTableCell/index.mjs.map +1 -1
  225. package/dist/jsx/components/DataTableCell/index.native.js +2 -5
  226. package/dist/jsx/components/DataTableCell/index.native.js.map +1 -1
  227. package/dist/jsx/components/DataTableColumnPinning/index.mjs +2 -1
  228. package/dist/jsx/components/DataTableColumnPinning/index.mjs.map +1 -1
  229. package/dist/jsx/components/DataTableColumnPinning/index.native.js +2 -1
  230. package/dist/jsx/components/DataTableColumnPinning/index.native.js.map +1 -1
  231. package/dist/jsx/components/DataTableFilterButton/index.mjs +4 -6
  232. package/dist/jsx/components/DataTableFilterButton/index.mjs.map +1 -1
  233. package/dist/jsx/components/DataTableFilterButton/index.native.js +3 -5
  234. package/dist/jsx/components/DataTableFilterButton/index.native.js.map +1 -1
  235. package/dist/jsx/components/DataTableFilterChips/index.mjs +0 -1
  236. package/dist/jsx/components/DataTableFilterChips/index.mjs.map +1 -1
  237. package/dist/jsx/components/DataTableFilterChips/index.native.js +0 -1
  238. package/dist/jsx/components/DataTableFilters/index.mjs +12 -20
  239. package/dist/jsx/components/DataTableFilters/index.mjs.map +1 -1
  240. package/dist/jsx/components/DataTableFilters/index.native.js +11 -19
  241. package/dist/jsx/components/DataTableFilters/index.native.js.map +1 -1
  242. package/dist/jsx/components/DataTableGrouping/index.mjs +6 -6
  243. package/dist/jsx/components/DataTableGrouping/index.mjs.map +1 -1
  244. package/dist/jsx/components/DataTableGrouping/index.native.js +7 -7
  245. package/dist/jsx/components/DataTableGrouping/index.native.js.map +1 -1
  246. package/dist/jsx/components/DataTablePagination/index.mjs +15 -19
  247. package/dist/jsx/components/DataTablePagination/index.mjs.map +1 -1
  248. package/dist/jsx/components/DataTablePagination/index.native.js +14 -18
  249. package/dist/jsx/components/DataTablePagination/index.native.js.map +1 -1
  250. package/dist/jsx/components/DataTableSearch/index.mjs +5 -7
  251. package/dist/jsx/components/DataTableSearch/index.mjs.map +1 -1
  252. package/dist/jsx/components/DataTableSearch/index.native.js +5 -7
  253. package/dist/jsx/components/DataTableSearch/index.native.js.map +1 -1
  254. package/dist/jsx/components/DataTableToolbar/index.mjs +2 -10
  255. package/dist/jsx/components/DataTableToolbar/index.mjs.map +1 -1
  256. package/dist/jsx/components/DataTableToolbar/index.native.js +2 -10
  257. package/dist/jsx/components/DataTableToolbar/index.native.js.map +1 -1
  258. package/dist/jsx/components/DataTableViewOptions/index.mjs +6 -4
  259. package/dist/jsx/components/DataTableViewOptions/index.mjs.map +1 -1
  260. package/dist/jsx/components/DataTableViewOptions/index.native.js +6 -4
  261. package/dist/jsx/components/DataTableViewOptions/index.native.js.map +1 -1
  262. package/dist/jsx/components/KnobDialog.mjs +6 -36
  263. package/dist/jsx/components/KnobDialog.mjs.map +1 -1
  264. package/dist/jsx/components/KnobDialog.native.js +3 -34
  265. package/dist/jsx/components/KnobDialog.native.js.map +1 -1
  266. package/dist/jsx/components/SavedFilterDropdown.mjs +0 -1
  267. package/dist/jsx/components/SavedFilterDropdown.mjs.map +1 -1
  268. package/dist/jsx/components/SavedFilterDropdown.native.js +0 -1
  269. package/dist/jsx/components/SavedFilterDropdown.native.js.map +1 -1
  270. package/dist/jsx/components/SimpleTable/ScrollFrame.mjs +25 -0
  271. package/dist/jsx/components/SimpleTable/ScrollFrame.mjs.map +1 -0
  272. package/dist/jsx/components/SimpleTable/ScrollFrame.native.js +84 -0
  273. package/dist/jsx/components/SimpleTable/ScrollFrame.native.js.map +1 -0
  274. package/dist/jsx/components/SimpleTable/columnSizing.mjs +25 -0
  275. package/dist/jsx/components/SimpleTable/columnSizing.mjs.map +1 -0
  276. package/dist/jsx/components/SimpleTable/columnSizing.native.js +71 -0
  277. package/dist/jsx/components/SimpleTable/columnSizing.native.js.map +1 -0
  278. package/dist/jsx/components/SimpleTable/index.mjs +150 -97
  279. package/dist/jsx/components/SimpleTable/index.mjs.map +1 -1
  280. package/dist/jsx/components/SimpleTable/index.native.js +163 -109
  281. package/dist/jsx/components/SimpleTable/index.native.js.map +1 -1
  282. package/dist/jsx/components/TableInput/RowDetailEditor.mjs +1 -6
  283. package/dist/jsx/components/TableInput/RowDetailEditor.mjs.map +1 -1
  284. package/dist/jsx/components/TableInput/RowDetailEditor.native.js +1 -5
  285. package/dist/jsx/components/TableInput/RowDetailEditor.native.js.map +1 -1
  286. package/dist/jsx/components/TableInput/index.mjs +5 -20
  287. package/dist/jsx/components/TableInput/index.mjs.map +1 -1
  288. package/dist/jsx/components/TableInput/index.native.js +2 -11
  289. package/dist/jsx/components/TableInput/index.native.js.map +1 -1
  290. package/package.json +12 -12
  291. package/src/components/ChildTable/ChildTable.stories.tsx +1 -2
  292. package/src/components/ChildTable/childTable.spec.tsx +2 -2
  293. package/src/components/ChildTable/childTable.zebra.spec.tsx +3 -3
  294. package/src/components/ChildTable/index.tsx +29 -26
  295. package/src/components/DataTable/DataTable.spec.tsx +49 -2
  296. package/src/components/DataTable/DataTable.stories.tsx +5 -5
  297. package/src/components/DataTable/DataTableCardControls.tsx +5 -10
  298. package/src/components/DataTable/DataTableContext.ts +5 -7
  299. package/src/components/DataTable/DataTableDocumentList.tsx +59 -21
  300. package/src/components/DataTable/DataTableInfiniteTail.tsx +1 -1
  301. package/src/components/DataTable/DataTableMobileCards.tsx +4 -9
  302. package/src/components/DataTable/DataTableRoot.tsx +900 -898
  303. package/src/components/DataTable/DataTableVirtualized.tsx +4 -2
  304. package/src/components/DataTable/FieldsInCells.stories.tsx +0 -1
  305. package/src/components/DataTable/compoundComponent.spec.tsx +7 -21
  306. package/src/components/DataTable/dataTableDocumentList.spec.tsx +78 -20
  307. package/src/components/DataTable/dataTableMobileCards.spec.tsx +19 -22
  308. package/src/components/DataTable/documentListSlots.ts +25 -6
  309. package/src/components/DataTable/footerLayout.spec.tsx +7 -7
  310. package/src/components/DataTable/index.native.tsx +329 -322
  311. package/src/components/DataTable/smallTableFooter.spec.tsx +61 -0
  312. package/src/components/DataTableCell/DataTableCell.stories.tsx +0 -2
  313. package/src/components/DataTableCell/index.tsx +3 -7
  314. package/src/components/DataTableColumnPinning/index.tsx +2 -1
  315. package/src/components/DataTableDateFilter/index.tsx +1 -1
  316. package/src/components/DataTableFilterButton/index.tsx +8 -5
  317. package/src/components/DataTableFilterChips/index.tsx +1 -1
  318. package/src/components/DataTableFilters/DataTableFilters.spec.tsx +3 -14
  319. package/src/components/DataTableFilters/DataTableFilters.stories.tsx +1 -6
  320. package/src/components/DataTableFilters/index.tsx +19 -17
  321. package/src/components/DataTableGrouping/index.tsx +9 -8
  322. package/src/components/DataTablePagination/DataTablePagination.spec.tsx +21 -11
  323. package/src/components/DataTablePagination/DataTablePagination.stories.tsx +2 -19
  324. package/src/components/DataTablePagination/DataTablePagination.width.spec.tsx +13 -13
  325. package/src/components/DataTablePagination/index.tsx +19 -15
  326. package/src/components/DataTableSearch/DataTableSearch.stories.tsx +1 -1
  327. package/src/components/DataTableSearch/index.tsx +7 -7
  328. package/src/components/DataTableToolbar/index.tsx +1 -7
  329. package/src/components/DataTableViewOptions/DataTableViewOptions.spec.tsx +5 -5
  330. package/src/components/DataTableViewOptions/DataTableViewOptions.stories.tsx +1 -1
  331. package/src/components/DataTableViewOptions/index.tsx +15 -6
  332. package/src/components/FilterOperatorValueEditor/FilterOperatorValueEditor.spec.tsx +17 -37
  333. package/src/components/KnobDialog.tsx +5 -37
  334. package/src/components/SavedFilterDropdown.tsx +0 -1
  335. package/src/components/SimpleTable/ScrollFrame.native.tsx +49 -0
  336. package/src/components/SimpleTable/ScrollFrame.tsx +18 -0
  337. package/src/components/SimpleTable/SimpleTable.stories.tsx +47 -0
  338. package/src/components/SimpleTable/columnSizing.spec.ts +73 -0
  339. package/src/components/SimpleTable/columnSizing.ts +39 -0
  340. package/src/components/SimpleTable/index.tsx +184 -112
  341. package/src/components/SimpleTable/simpleTable.spec.tsx +47 -19
  342. package/src/components/TableInput/RowDetailEditor.native.tsx +1 -3
  343. package/src/components/TableInput/RowDetailEditor.tsx +2 -10
  344. package/src/components/TableInput/index.native.tsx +3 -16
  345. package/src/components/TableInput/index.tsx +13 -24
  346. package/src/types.ts +7 -2
  347. package/types/components/ChildTable/index.d.ts +3 -1
  348. package/types/components/ChildTable/index.d.ts.map +1 -1
  349. package/types/components/DataTable/DataTableCardControls.d.ts +2 -3
  350. package/types/components/DataTable/DataTableCardControls.d.ts.map +1 -1
  351. package/types/components/DataTable/DataTableContext.d.ts +4 -4
  352. package/types/components/DataTable/DataTableContext.d.ts.map +1 -1
  353. package/types/components/DataTable/DataTableDocumentList.d.ts +7 -4
  354. package/types/components/DataTable/DataTableDocumentList.d.ts.map +1 -1
  355. package/types/components/DataTable/DataTableMobileCards.d.ts +1 -2
  356. package/types/components/DataTable/DataTableMobileCards.d.ts.map +1 -1
  357. package/types/components/DataTable/DataTableRoot.d.ts +1 -3
  358. package/types/components/DataTable/DataTableRoot.d.ts.map +1 -1
  359. package/types/components/DataTable/DataTableVirtualized.d.ts.map +1 -1
  360. package/types/components/DataTable/documentListSlots.d.ts +7 -4
  361. package/types/components/DataTable/documentListSlots.d.ts.map +1 -1
  362. package/types/components/DataTable/index.native.d.ts +1 -1
  363. package/types/components/DataTable/index.native.d.ts.map +1 -1
  364. package/types/components/DataTableCell/index.d.ts +1 -3
  365. package/types/components/DataTableCell/index.d.ts.map +1 -1
  366. package/types/components/DataTableColumnPinning/index.d.ts.map +1 -1
  367. package/types/components/DataTableFilters/index.d.ts +6 -1
  368. package/types/components/DataTableFilters/index.d.ts.map +1 -1
  369. package/types/components/DataTableGrouping/index.d.ts.map +1 -1
  370. package/types/components/DataTablePagination/index.d.ts +8 -1
  371. package/types/components/DataTablePagination/index.d.ts.map +1 -1
  372. package/types/components/DataTableToolbar/index.d.ts +0 -1
  373. package/types/components/DataTableToolbar/index.d.ts.map +1 -1
  374. package/types/components/DataTableViewOptions/index.d.ts +6 -1
  375. package/types/components/DataTableViewOptions/index.d.ts.map +1 -1
  376. package/types/components/KnobDialog.d.ts +0 -7
  377. package/types/components/KnobDialog.d.ts.map +1 -1
  378. package/types/components/SavedFilterDropdown.d.ts.map +1 -1
  379. package/types/components/SimpleTable/ScrollFrame.d.ts +10 -0
  380. package/types/components/SimpleTable/ScrollFrame.d.ts.map +1 -0
  381. package/types/components/SimpleTable/ScrollFrame.native.d.ts +10 -0
  382. package/types/components/SimpleTable/ScrollFrame.native.d.ts.map +1 -0
  383. package/types/components/SimpleTable/columnSizing.d.ts +24 -0
  384. package/types/components/SimpleTable/columnSizing.d.ts.map +1 -0
  385. package/types/components/SimpleTable/index.d.ts +6 -12
  386. package/types/components/SimpleTable/index.d.ts.map +1 -1
  387. package/types/components/TableInput/RowDetailEditor.d.ts +1 -2
  388. package/types/components/TableInput/RowDetailEditor.d.ts.map +1 -1
  389. package/types/components/TableInput/RowDetailEditor.native.d.ts +1 -1
  390. package/types/components/TableInput/RowDetailEditor.native.d.ts.map +1 -1
  391. package/types/components/TableInput/index.d.ts +1 -6
  392. package/types/components/TableInput/index.d.ts.map +1 -1
  393. package/types/components/TableInput/index.native.d.ts +1 -6
  394. package/types/components/TableInput/index.native.d.ts.map +1 -1
  395. package/types/types.d.ts +7 -2
  396. package/types/types.d.ts.map +1 -1
@@ -31,6 +31,8 @@ var import_theme = require("@multiplatform.one/theme");
31
31
  var import_react = require("react");
32
32
  var import_react_i18next = require("react-i18next");
33
33
  var import_tamagui = require("tamagui");
34
+ var import_columnSizing = require("./columnSizing.cjs");
35
+ var import_ScrollFrame = require("./ScrollFrame.cjs");
34
36
  var import_table_primitives = require("@multiplatform.one/table-primitives");
35
37
  var import_rowPress = require("../../utils/rowPress.cjs");
36
38
  var import_withInterp = require("../../utils/withInterp.cjs");
@@ -249,7 +251,7 @@ function SimpleTableMobileCards({
249
251
  const tableZebraOn = knobProps.tableZebra === "on";
250
252
  const [titleCol, ...detailCols] = columns;
251
253
  const typeSize = knobProps.label.fontSize;
252
- const motion = (0, import_theme.transitionProps)(knobProps.transition);
254
+ const motion = (0, import_theme.transitionProps)(knobProps.motion.control);
253
255
  if (data.length === 0) {
254
256
  return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
255
257
  flexDirection: "column",
@@ -260,7 +262,7 @@ function SimpleTableMobileCards({
260
262
  color: knobProps.textAccentColor,
261
263
  children: caption
262
264
  }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
263
- compact: true,
265
+ size: "$3",
264
266
  "aria-live": "polite",
265
267
  title: t("No data available")
266
268
  })]
@@ -341,12 +343,13 @@ function SimpleTableMobileCards({
341
343
  }
342
344
  function SimpleTableDesktop({
343
345
  data,
344
- columns,
346
+ columns: columnDefinitions,
345
347
  caption,
346
348
  onRowPress,
347
349
  rowLabel,
348
350
  getRowId,
349
351
  disabled,
352
+ onLayout,
350
353
  ...props
351
354
  }) {
352
355
  const {
@@ -355,6 +358,9 @@ function SimpleTableDesktop({
355
358
  } = (0, import_theme.useResolvedKnobs)({
356
359
  component: "SimpleTable"
357
360
  });
361
+ const [viewportWidth, setViewportWidth] = (0, import_react.useState)(0);
362
+ const columns = (0, import_columnSizing.resolveSimpleTableColumns)(columnDefinitions, data, viewportWidth, token => Number((0, import_tamagui.getTokenValue)(token, "size")));
363
+ const tableWidth = columns.reduce((sum, column) => sum + column.width, 0);
358
364
  const {
359
365
  t
360
366
  } = (0, import_react_i18next.useTranslation)();
@@ -371,108 +377,155 @@ function SimpleTableDesktop({
371
377
  const tableZebraOn = knobProps.tableZebra === "on";
372
378
  const ariaLabel = caption ? void 0 : props["aria-label"];
373
379
  const typeSize = knobProps.label.fontSize;
374
- const motion = (0, import_theme.transitionProps)(knobProps.transition);
380
+ const motion = (0, import_theme.transitionProps)(knobProps.motion.control);
375
381
  const pad = cellPad(knobProps.gap.gap);
376
382
  const frameBorder = knobProps.surface.borderWidth;
377
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table_primitives.Table, {
378
- ...props,
383
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
379
384
  minWidth: 0,
380
- ...{
381
- overflow: "auto",
382
- "data-simple-table-frame": "true",
383
- "data-border-width": String(frameBorder),
384
- "data-animation": knobProps.transition ? "on" : "none"
385
- },
386
- ...disabledChrome(Boolean(disabled), disabledState),
387
- "aria-label": ariaLabel,
388
- ...{
389
- "aria-rowcount": data.length + 1
385
+ onLayout: event => {
386
+ setViewportWidth(Math.max(0, event.nativeEvent.layout.width - frameBorder * 2));
387
+ onLayout?.(event);
390
388
  },
391
- children: [caption ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Caption, {
392
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
393
- ...knobProps.label,
394
- color: knobProps.textAccentColor,
395
- children: caption
396
- })
397
- }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Head, {
398
- borderBottomWidth: frameBorder,
399
- borderBottomColor: "$borderColor",
400
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
401
- children: columns.map((col, colIndex) => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.HeaderCell, {
402
- justifyContent: alignToFlex(col.align),
403
- cellLocation: cellLocationFor(colIndex, columns.length),
404
- "data-align": col.align ?? "left",
405
- "data-cell-pad": knobProps.gap.gap,
406
- borderRadius: 0,
407
- ...pad,
389
+ ...props,
390
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ScrollFrame.ScrollFrame, {
391
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table_primitives.Table, {
392
+ displayMode: "flex",
393
+ width: tableWidth,
394
+ minWidth: tableWidth,
395
+ ...{
396
+ overflow: "visible",
397
+ "data-simple-table-frame": "true",
398
+ "data-border-width": String(frameBorder),
399
+ "data-animation": knobProps.motion.control.transition ? "on" : "none"
400
+ },
401
+ ...disabledChrome(Boolean(disabled), disabledState),
402
+ "aria-label": ariaLabel,
403
+ ...{
404
+ "aria-rowcount": data.length + 1
405
+ },
406
+ children: [caption ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Caption, {
408
407
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
409
408
  ...knobProps.label,
410
409
  color: knobProps.textAccentColor,
411
- display: "block",
412
- width: "100%",
413
- textAlign: col.align ?? "left",
414
- numberOfLines: 1,
415
- ellipsizeMode: "tail",
416
- ...(col.align === "right" ? {
417
- fontVariant: ["tabular-nums"]
418
- } : {}),
419
- children: col.header
410
+ children: caption
420
411
  })
421
- }, col.accessorKey))
422
- })
423
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Body, {
424
- ...(rowPressActive ? {
425
- "data-row-press-scope": "true"
426
- } : {}),
427
- children: data.length === 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
428
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
429
- cellWidth: "auto",
430
- borderRadius: 0,
431
- ...{
432
- colSpan: Math.max(columns.length, 1)
433
- },
434
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
435
- compact: true,
436
- "aria-live": "polite",
437
- title: t("No data available")
412
+ }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Head, {
413
+ borderBottomWidth: frameBorder,
414
+ borderBottomColor: "$borderColor",
415
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
416
+ alignItems: "stretch",
417
+ children: columns.map((col, colIndex) => {
418
+ const cell = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.HeaderCell, {
419
+ cellWidth: col.width,
420
+ flexShrink: 0,
421
+ justifyContent: alignToFlex(col.align),
422
+ cellLocation: cellLocationFor(colIndex, columns.length),
423
+ "data-align": col.align ?? "left",
424
+ "data-cell-pad": knobProps.gap.gap,
425
+ borderRadius: 0,
426
+ ...pad,
427
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
428
+ ...knobProps.label,
429
+ color: knobProps.textAccentColor,
430
+ display: "block",
431
+ width: "100%",
432
+ textAlign: col.align ?? "left",
433
+ numberOfLines: 1,
434
+ ellipsizeMode: "tail",
435
+ ...(col.align === "right" ? {
436
+ fontVariant: ["tabular-nums"]
437
+ } : {}),
438
+ children: col.header
439
+ })
440
+ }, col.accessorKey);
441
+ return colIndex === 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ScrollFrame.PinnedCell, {
442
+ width: col.width,
443
+ children: cell
444
+ }, col.accessorKey) : cell;
445
+ })
438
446
  })
439
- })
440
- }) : data.map((row, rowIndex) => {
441
- const intent = row._intent;
442
- const intentProps = intent ? {
443
- [intent]: true
444
- } : {};
445
- const isLast = rowIndex === data.length - 1;
446
- const zebraFill = !intent && tableZebraOn && rowIndex % 2 === 1 ? {
447
- backgroundColor: (0, import_table_primitives.tableZebraFill)(knobProps.surface.backgroundColor)
448
- } : {};
449
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
450
- rowLocation: rowLocationFor(rowIndex, data.length),
451
- ...(disabled ? {} : {
452
- hoverStyle: {
453
- backgroundColor: "$backgroundHover"
454
- }
455
- }),
456
- ...motion,
457
- ...zebraFill,
458
- ...intentProps,
459
- ...{
460
- "data-table-zebra": tableZebraOn ? rowIndex % 2 === 0 ? "even" : "odd" : "off"
461
- },
462
- ...getRowPressProps(row, rowIndex),
463
- children: columns.map((col, colIndex) => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
464
- justifyContent: alignToFlex(col.align),
465
- cellLocation: cellLocationFor(colIndex, columns.length),
466
- "data-align": col.align ?? "left",
467
- "data-cell-pad": knobProps.gap.gap,
468
- borderRadius: 0,
469
- ...pad,
470
- ...gridRule(frameBorder, !isLast),
471
- children: renderCellContent(col, row, rowIndex, knobProps.body, typeSize)
472
- }, col.accessorKey))
473
- }, resolveRowId(row, rowIndex, getRowId));
447
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Body, {
448
+ overflow: "visible",
449
+ overflowX: "visible",
450
+ overflowY: "visible",
451
+ ...(rowPressActive ? {
452
+ "data-row-press-scope": "true"
453
+ } : {}),
454
+ children: data.length === 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
455
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
456
+ cellWidth: "auto",
457
+ borderRadius: 0,
458
+ ...{
459
+ colSpan: Math.max(columns.length, 1)
460
+ },
461
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
462
+ size: "$3",
463
+ "aria-live": "polite",
464
+ title: t("No data available")
465
+ })
466
+ })
467
+ }) : data.map((row, rowIndex) => {
468
+ const intent = row._intent;
469
+ const intentProps = intent ? {
470
+ [intent]: true
471
+ } : {};
472
+ const isLast = rowIndex === data.length - 1;
473
+ const zebraFill = !intent && tableZebraOn && rowIndex % 2 === 1 ? {
474
+ backgroundColor: (0, import_table_primitives.tableZebraFill)(knobProps.surface.backgroundColor)
475
+ } : {};
476
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
477
+ rowLocation: rowLocationFor(rowIndex, data.length),
478
+ alignItems: "stretch",
479
+ group: "simpleTableRow",
480
+ backgroundColor: intent ? "$color3" : zebraFill.backgroundColor ?? "$background",
481
+ ...(disabled ? {} : {
482
+ hoverStyle: {
483
+ backgroundColor: "$backgroundHover"
484
+ }
485
+ }),
486
+ ...motion,
487
+ ...zebraFill,
488
+ ...intentProps,
489
+ ...{
490
+ "data-table-zebra": tableZebraOn ? rowIndex % 2 === 0 ? "even" : "odd" : "off"
491
+ },
492
+ ...getRowPressProps(row, rowIndex),
493
+ children: columns.map((col, colIndex) => {
494
+ const cell = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
495
+ cellWidth: col.width,
496
+ flexShrink: 0,
497
+ ...(colIndex === 0 ? {
498
+ backgroundColor: import_tamagui.isWeb ? "inherit" : intent ? "$color3" : zebraFill.backgroundColor ?? "$background",
499
+ ...(!import_tamagui.isWeb && !disabled ? {
500
+ "$group-simpleTableRow-hover": {
501
+ backgroundColor: "$backgroundHover"
502
+ },
503
+ ...(rowPressActive ? {
504
+ "$group-simpleTableRow-press": {
505
+ backgroundColor: "$backgroundPress"
506
+ }
507
+ } : {})
508
+ } : {})
509
+ } : {}),
510
+ justifyContent: alignToFlex(col.align),
511
+ cellLocation: cellLocationFor(colIndex, columns.length),
512
+ "data-align": col.align ?? "left",
513
+ "data-cell-pad": knobProps.gap.gap,
514
+ borderRadius: 0,
515
+ ...pad,
516
+ ...gridRule(frameBorder, !isLast),
517
+ children: renderCellContent(col, row, rowIndex, knobProps.body, typeSize)
518
+ }, col.accessorKey);
519
+ return colIndex === 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ScrollFrame.PinnedCell, {
520
+ width: col.width,
521
+ children: cell
522
+ }, col.accessorKey) : cell;
523
+ })
524
+ }, resolveRowId(row, rowIndex, getRowId));
525
+ })
526
+ })]
474
527
  })
475
- })]
528
+ })
476
529
  });
477
530
  }
478
531
  function SimpleTable({
@@ -502,7 +555,7 @@ function SimpleTable({
502
555
  ...{
503
556
  "data-simple-table-frame": "true",
504
557
  "data-border-width": String(knobProps.surface.borderWidth),
505
- "data-animation": knobProps.transition ? "on" : "none"
558
+ "data-animation": knobProps.motion.control.transition ? "on" : "none"
506
559
  },
507
560
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(SimpleTableMobileCards, {
508
561
  data,
@@ -34,6 +34,8 @@ var import_theme = require("@multiplatform.one/theme");
34
34
  var import_react = require("react");
35
35
  var import_react_i18next = require("react-i18next");
36
36
  var import_tamagui = require("tamagui");
37
+ var import_columnSizing = require("./columnSizing.native.js");
38
+ var import_ScrollFrame = require("./ScrollFrame.native.js");
37
39
  var import_table_primitives = require("@multiplatform.one/table-primitives");
38
40
  var import_rowPress = require("../../utils/rowPress.native.js");
39
41
  var import_withInterp = require("../../utils/withInterp.native.js");
@@ -269,7 +271,7 @@ function SimpleTableMobileCards(param) {
269
271
  var tableZebraOn = knobProps.tableZebra === "on";
270
272
  var [titleCol, ...detailCols] = columns;
271
273
  var typeSize = knobProps.label.fontSize;
272
- var motion = (0, import_theme.transitionProps)(knobProps.transition);
274
+ var motion = (0, import_theme.transitionProps)(knobProps.motion.control);
273
275
  if (data.length === 0) {
274
276
  return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
275
277
  flexDirection: "column",
@@ -280,7 +282,7 @@ function SimpleTableMobileCards(param) {
280
282
  color: knobProps.textAccentColor,
281
283
  children: caption
282
284
  }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
283
- compact: true,
285
+ size: "$3",
284
286
  "aria-live": "polite",
285
287
  title: t("No data available")
286
288
  })]
@@ -364,12 +366,13 @@ function SimpleTableMobileCards(param) {
364
366
  function SimpleTableDesktop(param) {
365
367
  var {
366
368
  data,
367
- columns,
369
+ columns: columnDefinitions,
368
370
  caption,
369
371
  onRowPress,
370
372
  rowLabel,
371
373
  getRowId,
372
374
  disabled,
375
+ onLayout,
373
376
  ...props
374
377
  } = param;
375
378
  var {
@@ -378,6 +381,13 @@ function SimpleTableDesktop(param) {
378
381
  } = (0, import_theme.useResolvedKnobs)({
379
382
  component: "SimpleTable"
380
383
  });
384
+ var [viewportWidth, setViewportWidth] = (0, import_react.useState)(0);
385
+ var columns = (0, import_columnSizing.resolveSimpleTableColumns)(columnDefinitions, data, viewportWidth, function (token) {
386
+ return Number((0, import_tamagui.getTokenValue)(token, "size"));
387
+ });
388
+ var tableWidth = columns.reduce(function (sum, column) {
389
+ return sum + column.width;
390
+ }, 0);
381
391
  var {
382
392
  t
383
393
  } = (0, import_react_i18next.useTranslation)();
@@ -394,119 +404,163 @@ function SimpleTableDesktop(param) {
394
404
  var tableZebraOn = knobProps.tableZebra === "on";
395
405
  var ariaLabel = caption ? void 0 : props["aria-label"];
396
406
  var typeSize = knobProps.label.fontSize;
397
- var motion = (0, import_theme.transitionProps)(knobProps.transition);
407
+ var motion = (0, import_theme.transitionProps)(knobProps.motion.control);
398
408
  var pad = cellPad(knobProps.gap.gap);
399
409
  var frameBorder = knobProps.surface.borderWidth;
400
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table_primitives.Table, {
401
- ...props,
410
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
402
411
  minWidth: 0,
403
- ...{
404
- overflow: "auto",
405
- "data-simple-table-frame": "true",
406
- "data-border-width": String(frameBorder),
407
- "data-animation": knobProps.transition ? "on" : "none"
408
- },
409
- ...disabledChrome(Boolean(disabled), disabledState),
410
- "aria-label": ariaLabel,
411
- ...{
412
- "aria-rowcount": data.length + 1
412
+ onLayout: function onLayout1(event) {
413
+ setViewportWidth(Math.max(0, event.nativeEvent.layout.width - frameBorder * 2));
414
+ onLayout === null || onLayout === void 0 ? void 0 : onLayout(event);
413
415
  },
414
- children: [caption ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Caption, {
415
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
416
- ...knobProps.label,
417
- color: knobProps.textAccentColor,
418
- children: caption
419
- })
420
- }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Head, {
421
- borderBottomWidth: frameBorder,
422
- borderBottomColor: "$borderColor",
423
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
424
- children: columns.map(function (col, colIndex) {
425
- var _col_align, _col_align1;
426
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.HeaderCell, {
427
- justifyContent: alignToFlex(col.align),
428
- cellLocation: cellLocationFor(colIndex, columns.length),
429
- "data-align": (_col_align = col.align) !== null && _col_align !== void 0 ? _col_align : "left",
430
- "data-cell-pad": knobProps.gap.gap,
431
- borderRadius: 0,
432
- ...pad,
433
- children: (
434
- /* Block text filling the cell + textAlign: alignment that
435
- works in the real <th> (display:table-cell — flex props
436
- are inert there) and in the flex displayMode alike. */
437
- /* @__PURE__ */
438
- (0, import_jsx_runtime.jsx)(import_tamagui.Text, {
439
- ...knobProps.label,
440
- color: knobProps.textAccentColor,
441
- display: "block",
442
- width: "100%",
443
- textAlign: (_col_align1 = col.align) !== null && _col_align1 !== void 0 ? _col_align1 : "left",
444
- numberOfLines: 1,
445
- ellipsizeMode: "tail",
446
- ...(col.align === "right" ? {
447
- fontVariant: ["tabular-nums"]
448
- } : {}),
449
- children: col.header
450
- }))
451
- }, col.accessorKey);
452
- })
453
- })
454
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Body, {
455
- ...(rowPressActive ? {
456
- "data-row-press-scope": "true"
457
- } : {}),
458
- children: data.length === 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
459
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
460
- cellWidth: "auto",
461
- borderRadius: 0,
462
- ...{
463
- colSpan: Math.max(columns.length, 1)
464
- },
465
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
466
- compact: true,
467
- "aria-live": "polite",
468
- title: t("No data available")
416
+ ...props,
417
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ScrollFrame.ScrollFrame, {
418
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table_primitives.Table, {
419
+ displayMode: "flex",
420
+ width: tableWidth,
421
+ minWidth: tableWidth,
422
+ ...{
423
+ overflow: "visible",
424
+ "data-simple-table-frame": "true",
425
+ "data-border-width": String(frameBorder),
426
+ "data-animation": knobProps.motion.control.transition ? "on" : "none"
427
+ },
428
+ ...disabledChrome(Boolean(disabled), disabledState),
429
+ "aria-label": ariaLabel,
430
+ ...{
431
+ "aria-rowcount": data.length + 1
432
+ },
433
+ children: [caption ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Caption, {
434
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
435
+ ...knobProps.label,
436
+ color: knobProps.textAccentColor,
437
+ children: caption
438
+ })
439
+ }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Head, {
440
+ borderBottomWidth: frameBorder,
441
+ borderBottomColor: "$borderColor",
442
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
443
+ alignItems: "stretch",
444
+ children: columns.map(function (col, colIndex) {
445
+ var _col_align, _col_align1;
446
+ var cell = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.HeaderCell, {
447
+ cellWidth: col.width,
448
+ flexShrink: 0,
449
+ justifyContent: alignToFlex(col.align),
450
+ cellLocation: cellLocationFor(colIndex, columns.length),
451
+ "data-align": (_col_align = col.align) !== null && _col_align !== void 0 ? _col_align : "left",
452
+ "data-cell-pad": knobProps.gap.gap,
453
+ borderRadius: 0,
454
+ ...pad,
455
+ children: (
456
+ /* Block text filling the cell + textAlign: alignment that
457
+ works in the real <th> (display:table-cell — flex props
458
+ are inert there) and in the flex displayMode alike. */
459
+ /* @__PURE__ */
460
+ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {
461
+ ...knobProps.label,
462
+ color: knobProps.textAccentColor,
463
+ display: "block",
464
+ width: "100%",
465
+ textAlign: (_col_align1 = col.align) !== null && _col_align1 !== void 0 ? _col_align1 : "left",
466
+ numberOfLines: 1,
467
+ ellipsizeMode: "tail",
468
+ ...(col.align === "right" ? {
469
+ fontVariant: ["tabular-nums"]
470
+ } : {}),
471
+ children: col.header
472
+ }))
473
+ }, col.accessorKey);
474
+ return colIndex === 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ScrollFrame.PinnedCell, {
475
+ width: col.width,
476
+ children: cell
477
+ }, col.accessorKey) : cell;
478
+ })
469
479
  })
470
- })
471
- }) : data.map(function (row, rowIndex) {
472
- var intent = row._intent;
473
- var intentProps = intent ? {
474
- [intent]: true
475
- } : {};
476
- var isLast = rowIndex === data.length - 1;
477
- var zebraFill = !intent && tableZebraOn && rowIndex % 2 === 1 ? {
478
- backgroundColor: (0, import_table_primitives.tableZebraFill)(knobProps.surface.backgroundColor)
479
- } : {};
480
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
481
- rowLocation: rowLocationFor(rowIndex, data.length),
482
- ...(disabled ? {} : {
483
- hoverStyle: {
484
- backgroundColor: "$backgroundHover"
485
- }
486
- }),
487
- ...motion,
488
- ...zebraFill,
489
- ...intentProps,
490
- ...{
491
- "data-table-zebra": tableZebraOn ? rowIndex % 2 === 0 ? "even" : "odd" : "off"
492
- },
493
- ...getRowPressProps(row, rowIndex),
494
- children: columns.map(function (col, colIndex) {
495
- var _col_align;
496
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
497
- justifyContent: alignToFlex(col.align),
498
- cellLocation: cellLocationFor(colIndex, columns.length),
499
- "data-align": (_col_align = col.align) !== null && _col_align !== void 0 ? _col_align : "left",
500
- "data-cell-pad": knobProps.gap.gap,
480
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Body, {
481
+ overflow: "visible",
482
+ overflowX: "visible",
483
+ overflowY: "visible",
484
+ ...(rowPressActive ? {
485
+ "data-row-press-scope": "true"
486
+ } : {}),
487
+ children: data.length === 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
488
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
489
+ cellWidth: "auto",
501
490
  borderRadius: 0,
502
- ...pad,
503
- ...gridRule(frameBorder, !isLast),
504
- children: renderCellContent(col, row, rowIndex, knobProps.body, typeSize)
505
- }, col.accessorKey);
491
+ ...{
492
+ colSpan: Math.max(columns.length, 1)
493
+ },
494
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
495
+ size: "$3",
496
+ "aria-live": "polite",
497
+ title: t("No data available")
498
+ })
499
+ })
500
+ }) : data.map(function (row, rowIndex) {
501
+ var _zebraFill_backgroundColor;
502
+ var intent = row._intent;
503
+ var intentProps = intent ? {
504
+ [intent]: true
505
+ } : {};
506
+ var isLast = rowIndex === data.length - 1;
507
+ var zebraFill = !intent && tableZebraOn && rowIndex % 2 === 1 ? {
508
+ backgroundColor: (0, import_table_primitives.tableZebraFill)(knobProps.surface.backgroundColor)
509
+ } : {};
510
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
511
+ rowLocation: rowLocationFor(rowIndex, data.length),
512
+ alignItems: "stretch",
513
+ group: "simpleTableRow",
514
+ backgroundColor: intent ? "$color3" : (_zebraFill_backgroundColor = zebraFill.backgroundColor) !== null && _zebraFill_backgroundColor !== void 0 ? _zebraFill_backgroundColor : "$background",
515
+ ...(disabled ? {} : {
516
+ hoverStyle: {
517
+ backgroundColor: "$backgroundHover"
518
+ }
519
+ }),
520
+ ...motion,
521
+ ...zebraFill,
522
+ ...intentProps,
523
+ ...{
524
+ "data-table-zebra": tableZebraOn ? rowIndex % 2 === 0 ? "even" : "odd" : "off"
525
+ },
526
+ ...getRowPressProps(row, rowIndex),
527
+ children: columns.map(function (col, colIndex) {
528
+ var _zebraFill_backgroundColor2, _col_align;
529
+ var cell = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
530
+ cellWidth: col.width,
531
+ flexShrink: 0,
532
+ ...(colIndex === 0 ? {
533
+ backgroundColor: import_tamagui.isWeb ? "inherit" : intent ? "$color3" : (_zebraFill_backgroundColor2 = zebraFill.backgroundColor) !== null && _zebraFill_backgroundColor2 !== void 0 ? _zebraFill_backgroundColor2 : "$background",
534
+ ...(!import_tamagui.isWeb && !disabled ? {
535
+ "$group-simpleTableRow-hover": {
536
+ backgroundColor: "$backgroundHover"
537
+ },
538
+ ...(rowPressActive ? {
539
+ "$group-simpleTableRow-press": {
540
+ backgroundColor: "$backgroundPress"
541
+ }
542
+ } : {})
543
+ } : {})
544
+ } : {}),
545
+ justifyContent: alignToFlex(col.align),
546
+ cellLocation: cellLocationFor(colIndex, columns.length),
547
+ "data-align": (_col_align = col.align) !== null && _col_align !== void 0 ? _col_align : "left",
548
+ "data-cell-pad": knobProps.gap.gap,
549
+ borderRadius: 0,
550
+ ...pad,
551
+ ...gridRule(frameBorder, !isLast),
552
+ children: renderCellContent(col, row, rowIndex, knobProps.body, typeSize)
553
+ }, col.accessorKey);
554
+ return colIndex === 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ScrollFrame.PinnedCell, {
555
+ width: col.width,
556
+ children: cell
557
+ }, col.accessorKey) : cell;
558
+ })
559
+ }, resolveRowId(row, rowIndex, getRowId));
506
560
  })
507
- }, resolveRowId(row, rowIndex, getRowId));
561
+ })]
508
562
  })
509
- })]
563
+ })
510
564
  });
511
565
  }
512
566
  function SimpleTable(param) {
@@ -537,7 +591,7 @@ function SimpleTable(param) {
537
591
  ...{
538
592
  "data-simple-table-frame": "true",
539
593
  "data-border-width": String(knobProps.surface.borderWidth),
540
- "data-animation": knobProps.transition ? "on" : "none"
594
+ "data-animation": knobProps.motion.control.transition ? "on" : "none"
541
595
  },
542
596
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(SimpleTableMobileCards, {
543
597
  data,