@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
@@ -149,7 +149,6 @@ function DataTableRoot({
149
149
  renderFilters: _renderFilters,
150
150
  className,
151
151
  size,
152
- compact = false,
153
152
  disabled = false,
154
153
  accent,
155
154
  error,
@@ -185,7 +184,7 @@ function DataTableRoot({
185
184
  } = (0, import_theme.useResolvedKnobs)({
186
185
  intent,
187
186
  component: "DataTable",
188
- compact
187
+ size
189
188
  });
190
189
  const chrome = (0, import_dataTableChrome.dataTableChrome)(String(knobProps.sizeToken));
191
190
  const rowHeightPx = chrome.rowPx;
@@ -258,8 +257,9 @@ function DataTableRoot({
258
257
  table.toggleAllPageRowsSelected();
259
258
  }
260
259
  }, [selectAllScope, table]);
261
- const resolvedSize = size ?? (knobProps.sizeToken === "$3" ? "sm" : knobProps.sizeToken === "$5" ? "lg" : "md");
262
- const cellHeight = resolvedSize === "sm" ? "$3" : resolvedSize === "lg" ? "$5" : "$4";
260
+ const resolvedSize = knobProps.sizeToken;
261
+ const cellHeight = resolvedSize;
262
+ const cellSize = (0, import_theme.sizeTokenBelow)(resolvedSize);
263
263
  const headerGroups = table.getHeaderGroups();
264
264
  const rowModelRows = table.getRowModel().rows;
265
265
  const infinite = computed.infinite;
@@ -548,7 +548,6 @@ function DataTableRoot({
548
548
  onDataChange(data.filter((_, idx) => idx !== rowIndex));
549
549
  }
550
550
  }, [readOnly, disabled, minRows, data, isFormMode, onDataChange]);
551
- const isCompact = resolvedSize === "sm" || compact;
552
551
  const renderCellContent = (0, import_react2.useCallback)((cell, rowIndex, rowData) => {
553
552
  const columnDef = cell.column.columnDef;
554
553
  const columnId = cell.column.id;
@@ -595,12 +594,11 @@ function DataTableRoot({
595
594
  columnLabel: typeof columnDef.header === "string" ? columnDef.header : void 0,
596
595
  rowIndex,
597
596
  rowData,
598
- size: knobProps.sizeToken,
599
- compact: isCompact,
597
+ size: String(cellSize),
600
598
  linkedValue,
601
599
  onLinkedChange
602
600
  });
603
- }, [handleCellChange, readOnly, disabled, knobProps.sizeToken, knobProps.label.fontSize, isCompact]);
601
+ }, [handleCellChange, readOnly, disabled, cellSize, knobProps.label.fontSize]);
604
602
  const extraColumnsBefore = (enableRowSelection ? 1 : 0) + (showRowNumbers ? 1 : 0) + (enableRowExpansion ? 1 : 0);
605
603
  const extraColumnsAfter = showDeleteRow && !readOnly ? 1 : 0;
606
604
  const excelCellNav = enableKeyboardNavigation && !rowPressActive && !disabled;
@@ -695,8 +693,7 @@ function DataTableRoot({
695
693
  // differentiated for screen readers (DG-A11Y-06). The
696
694
  // aria-label rides the role="checkbox" frame itself.
697
695
  "aria-label": deriveSelectRowLabel(row, rowIndex)
698
- },
699
- compact: isCompact
696
+ }
700
697
  })
701
698
  }), showRowNumbers && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
702
699
  ...cellRenderProps,
@@ -836,7 +833,7 @@ function DataTableRoot({
836
833
  })
837
834
  })]
838
835
  });
839
- }, [enableRowSelection, showRowNumbers, enableRowExpansion, showDeleteRow, readOnly, disabled, cellHeight, knobProps.sizeToken, cellFlexProps, getColSizeProps, getStickyStyle, renderCellContent, handleDeleteRow, data.length, minRows, isCompact, t, deriveSelectRowLabel, ExpandCaretIcon, expandedCaretRotation, clipBodyCells, excelCellNav, keyboardNav.isNavigating, keyboardNav.focusedRowIndex, focusedColIndex]);
836
+ }, [enableRowSelection, showRowNumbers, enableRowExpansion, showDeleteRow, readOnly, disabled, cellHeight, knobProps.sizeToken, cellFlexProps, getColSizeProps, getStickyStyle, renderCellContent, handleDeleteRow, data.length, minRows, t, deriveSelectRowLabel, ExpandCaretIcon, expandedCaretRotation, clipBodyCells, excelCellNav, keyboardNav.isNavigating, keyboardNav.focusedRowIndex, focusedColIndex]);
840
837
  const [filterEditTarget, setFilterEditTarget] = (0, import_react2.useState)(null);
841
838
  const filterUi = (0, import_react2.useMemo)(() => ({
842
839
  editTarget: filterEditTarget,
@@ -865,7 +862,6 @@ function DataTableRoot({
865
862
  views: state.views,
866
863
  activeViewId: state.activeViewId,
867
864
  size: knobProps.sizeToken,
868
- compact: isCompact,
869
865
  isFetching: Boolean(state.isFetching)
870
866
  });
871
867
  }
@@ -875,7 +871,6 @@ function DataTableRoot({
875
871
  onClearFilters: actions.clearFilters,
876
872
  customActions: defaultCardToolbar && hasCardSort ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableCardControls.DataTableCardSortControl, {
877
873
  table,
878
- compact: isCompact,
879
874
  disabled,
880
875
  contained: true
881
876
  }) : void 0,
@@ -888,7 +883,6 @@ function DataTableRoot({
888
883
  enableGlobalSearch,
889
884
  enableFiltering,
890
885
  size: knobProps.sizeToken,
891
- compact: isCompact,
892
886
  isFetching: Boolean(state.isFetching)
893
887
  });
894
888
  };
@@ -905,7 +899,7 @@ function DataTableRoot({
905
899
  pagination: state.pagination,
906
900
  onPaginationChange: actions.setPagination,
907
901
  pageSizeOptions: resolvedPageSizeOptions,
908
- compact: true
902
+ size: resolvedSize
909
903
  });
910
904
  };
911
905
  const renderInner = (tableData, effectiveHandleAddRow, effectiveHandleDeleteRow, _effectiveHandleCellChange) => {
@@ -944,7 +938,7 @@ function DataTableRoot({
944
938
  onRetry: state.error ? onRetry : infinite?.retry,
945
939
  layout: "table",
946
940
  errorTitle: t("Couldn't load table"),
947
- compact: true,
941
+ size: resolvedSize,
948
942
  "aria-label": resolvedAriaLabel
949
943
  });
950
944
  }
@@ -957,7 +951,6 @@ function DataTableRoot({
957
951
  }
958
952
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableContext.DataTableContext.Provider, {
959
953
  size: resolvedSize,
960
- compact: isCompact,
961
954
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableStateContext.DataTableStateContext.Provider, {
962
955
  value: stateContextValue,
963
956
  children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
@@ -987,649 +980,651 @@ function DataTableRoot({
987
980
  })
988
981
  } : {}),
989
982
  ...props,
990
- children: [hasToolbar && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
991
- width: "100%",
992
- ...(disabled ? disabledState.chromeKnobProps : {}),
993
- children: renderToolbarComponent()
994
- }), enableFiltering && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
995
- width: "100%",
996
- ...(disabled ? disabledState.chromeKnobProps : {}),
997
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableFilterChips.DataTableFilterChips, {})
998
- }), enableRowSelection && bulkBarPlacement === "top" ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
999
- width: "100%",
1000
- ...(disabled ? disabledState.chromeKnobProps : {}),
1001
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableBulkActions.DataTableBulkActions, {
1002
- actions: resolvedBulkActions,
1003
- maxVisibleActions: 5,
1004
- showSelectionCount: true,
1005
- placement: "top"
1006
- })
1007
- }) : null, children, showList ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableDocumentList.DataTableDocumentList, {
1008
- tableRows: displayRows,
1009
- enableRowSelection,
1010
- disabled,
1011
- hasActiveFilters: computed.hasActiveFilters,
1012
- renderCellContent,
1013
- compact: isCompact,
1014
- selectRowLabel: deriveSelectRowLabel,
1015
- queryInFlight,
1016
- ...(rowPressActive ? {
1017
- getRowPressProps
1018
- } : {})
1019
- }) : showCards ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
1020
- children: [!defaultCardToolbar && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableCardControls.DataTableCardControls, {
1021
- table,
1022
- enableSorting,
1023
- enableFiltering,
1024
- availableColumns: cardFilterColumns,
1025
- compact: isCompact,
1026
- disabled
1027
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableMobileCards.DataTableMobileCards, {
983
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_theme.Surface, {
984
+ size: resolvedSize,
985
+ children: [hasToolbar && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
986
+ width: "100%",
987
+ ...(disabled ? disabledState.chromeKnobProps : {}),
988
+ children: renderToolbarComponent()
989
+ }), enableFiltering && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
990
+ width: "100%",
991
+ ...(disabled ? disabledState.chromeKnobProps : {}),
992
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableFilterChips.DataTableFilterChips, {})
993
+ }), enableRowSelection && bulkBarPlacement === "top" ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
994
+ width: "100%",
995
+ ...(disabled ? disabledState.chromeKnobProps : {}),
996
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableBulkActions.DataTableBulkActions, {
997
+ actions: resolvedBulkActions,
998
+ maxVisibleActions: 5,
999
+ showSelectionCount: true,
1000
+ placement: "top"
1001
+ })
1002
+ }) : null, children, showList ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableDocumentList.DataTableDocumentList, {
1028
1003
  tableRows: displayRows,
1029
1004
  enableRowSelection,
1030
- showRowNumbers,
1031
- showDeleteRow,
1032
- readOnly,
1033
1005
  disabled,
1034
- dataLength: tableData.length,
1035
- minRows,
1036
1006
  hasActiveFilters: computed.hasActiveFilters,
1037
1007
  renderCellContent,
1038
- onDeleteRow: effectiveHandleDeleteRow,
1039
- selectAllChecked,
1040
- selectAllIndeterminate,
1041
- onToggleSelectAll: toggleSelectAll,
1042
- compact: isCompact,
1043
1008
  selectRowLabel: deriveSelectRowLabel,
1044
1009
  queryInFlight,
1045
1010
  ...(rowPressActive ? {
1046
1011
  getRowPressProps
1047
1012
  } : {})
1048
- })]
1049
- }) : (/* Table View */
1050
- /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1051
- ref: node => {
1052
- if (enableKeyboardNavigation && !isSSR && keyboardNav.containerRef) {
1053
- keyboardNav.containerRef.current = node;
1054
- }
1055
- if (scrollContainerRef) {
1056
- scrollContainerRef.current = node;
1057
- }
1058
- },
1059
- flexDirection: "column",
1060
- width: "100%",
1061
- flexGrow: 0,
1062
- flexShrink: 1,
1063
- flexBasis: "auto",
1064
- minHeight: 0,
1065
- ...(hScroll ? {
1066
- overflowX: "auto"
1067
- } : {}),
1068
- "aria-label": (0, import_withInterp.withInterp)(t("{{label}} content", {
1069
- label: resolvedAriaLabel
1070
- }), {
1071
- label: resolvedAriaLabel
1072
- }),
1073
- tabIndex: enableKeyboardNavigation && !isSSR ? 0 : void 0,
1074
- ...{
1075
- "data-table-grid": "true"
1076
- },
1077
- onKeyDown: enableKeyboardNavigation && !isSSR ? handleGridKeyDown : void 0,
1078
- onPress: enableKeyboardNavigation && !isSSR ? keyboardNav.handleContainerClick : void 0,
1079
- onBlur: enableKeyboardNavigation && !isSSR ? keyboardNav.handleContainerBlur : void 0,
1080
- children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table_primitives.Table, {
1081
- displayMode,
1082
- alignCells: {
1083
- x: "start",
1084
- y: "center"
1085
- },
1086
- alignHeaderCells: {
1087
- x: "start",
1088
- y: "center"
1013
+ }) : showCards ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
1014
+ children: [!defaultCardToolbar && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableCardControls.DataTableCardControls, {
1015
+ table,
1016
+ enableSorting,
1017
+ enableFiltering,
1018
+ availableColumns: cardFilterColumns,
1019
+ disabled
1020
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableMobileCards.DataTableMobileCards, {
1021
+ tableRows: displayRows,
1022
+ enableRowSelection,
1023
+ showRowNumbers,
1024
+ showDeleteRow,
1025
+ readOnly,
1026
+ disabled,
1027
+ dataLength: tableData.length,
1028
+ minRows,
1029
+ hasActiveFilters: computed.hasActiveFilters,
1030
+ renderCellContent,
1031
+ onDeleteRow: effectiveHandleDeleteRow,
1032
+ selectAllChecked,
1033
+ selectAllIndeterminate,
1034
+ onToggleSelectAll: toggleSelectAll,
1035
+ selectRowLabel: deriveSelectRowLabel,
1036
+ queryInFlight,
1037
+ ...(rowPressActive ? {
1038
+ getRowPressProps
1039
+ } : {})
1040
+ })]
1041
+ }) : (/* Table View */
1042
+ /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1043
+ ref: node => {
1044
+ if (enableKeyboardNavigation && !isSSR && keyboardNav.containerRef) {
1045
+ keyboardNav.containerRef.current = node;
1046
+ }
1047
+ if (scrollContainerRef) {
1048
+ scrollContainerRef.current = node;
1049
+ }
1089
1050
  },
1090
- cellHeight,
1091
- borderTopLeftRadius: hasToolbar ? 0 : knobProps.borderRadiusOuter.borderRadius,
1092
- borderTopRightRadius: hasToolbar ? 0 : knobProps.borderRadiusOuter.borderRadius,
1093
- borderBottomLeftRadius: knobProps.borderRadiusOuter.borderRadius,
1094
- borderBottomRightRadius: knobProps.borderRadiusOuter.borderRadius,
1095
- marginBottom: 0,
1096
- "aria-label": resolvedAriaLabel,
1097
- "aria-rowcount": computed.totalPages * state.pagination.pageSize,
1098
- "aria-colcount": table.getVisibleLeafColumns().length + extraColumnsBefore + extraColumnsAfter,
1051
+ flexDirection: "column",
1099
1052
  width: "100%",
1053
+ flexGrow: 0,
1054
+ flexShrink: 1,
1055
+ flexBasis: "auto",
1056
+ minHeight: 0,
1100
1057
  ...(hScroll ? {
1101
- style: {
1102
- minWidth: "max-content"
1103
- }
1104
- } : {}),
1105
- ...(hScroll && enableColumnPinning ? {
1106
- overflow: "visible"
1107
- } : {}),
1108
- ...(rowPressActive ? {
1109
- "data-row-press-scope": "true"
1058
+ overflowX: "auto"
1110
1059
  } : {}),
1111
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Head, {
1112
- zIndex: "$1",
1113
- "aria-label": t("Table headers"),
1114
- children: headerGroups.map(headerGroup => {
1115
- rowCounter.current++;
1116
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table_primitives.Table.Row, {
1117
- ...{
1118
- background: true,
1119
- backgroundColor: "$color2",
1120
- rowLocation: rowCounter.current === 0 ? "first" : rowCounter.current === allRowsLength - 1 ? "last" : "middle",
1121
- borderTopRightRadius: hasToolbar ? "$0" : knobProps.borderRadiusOuter.borderRadius,
1122
- borderTopLeftRadius: hasToolbar ? "$0" : knobProps.borderRadiusOuter.borderRadius,
1123
- borderBottomLeftRadius: "$0",
1124
- borderBottomRightRadius: "$0",
1125
- "aria-rowindex": rowCounter.current
1126
- },
1127
- children: [enableRowSelection && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.HeaderCell, {
1128
- cellWidth: selectionColWidth,
1129
- cellHeight,
1130
- cellLocation: "first",
1131
- justifyContent: "center",
1132
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Checkbox, {
1133
- checked: selectAllIndeterminate ? "indeterminate" : selectAllChecked,
1134
- disabled,
1135
- onChange: checked => {
1136
- if (disabled || checked === "indeterminate") return;
1137
- const shouldSelect = checked === true;
1138
- const isAll = selectAllScope === "filtered" ? table.getIsAllRowsSelected() : table.getIsAllPageRowsSelected();
1139
- if (shouldSelect !== isAll) toggleSelectAll();
1140
- },
1141
- checkboxProps: {
1142
- "aria-label": selectAllScope === "filtered" ? t("Select all matching rows") : t("Select all rows on page")
1143
- },
1144
- compact: isCompact
1145
- })
1146
- }), showRowNumbers && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.HeaderCell, {
1147
- cellWidth: chrome.rowNumberCol,
1148
- cellHeight,
1149
- cellLocation: enableRowSelection ? "middle" : "first",
1150
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
1151
- fontSize: knobProps.sizeToken,
1152
- fontWeight: "600",
1153
- children: "#"
1154
- })
1155
- }), enableRowExpansion && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.HeaderCell, {
1156
- cellWidth: chrome.expandCol,
1157
- cellHeight,
1158
- cellLocation: enableRowSelection || showRowNumbers ? "middle" : "first",
1159
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1160
- width: 14
1161
- })
1162
- }), headerGroup.headers.map((header, headerIndex) => {
1163
- const isSortableHeader = header.column.getCanSort();
1164
- const sortDirection = header.column.getIsSorted();
1165
- const canResize = enableColumnResizing && header.column.getCanResize();
1166
- const resizeHandler = canResize ? header.getResizeHandler() : void 0;
1167
- const colSize = header.getSize();
1168
- const colMinSize = header.column.columnDef.minSize ?? 0;
1169
- const colMaxSize = header.column.columnDef.maxSize ?? Number.MAX_SAFE_INTEGER;
1170
- const stickyStyle = getStickyStyle(header.column.id);
1171
- const columnDef = header.column.columnDef;
1172
- const columnAlign = resolveColumnAlign({
1173
- ...columnDef,
1174
- id: header.column.id
1175
- });
1176
- const headerJustify = (0, import_columnAlign.alignToFlex)(columnAlign);
1177
- const isRightAligned = columnAlign === "right";
1178
- const isFirstHeaderCell = headerIndex === 0 && !enableRowSelection && !showRowNumbers && !enableRowExpansion;
1179
- const isLastHeaderCell = headerIndex === headerGroup.headers.length - 1 && !(showDeleteRow && !readOnly);
1180
- const headerCellLocation = isFirstHeaderCell ? "first" : isLastHeaderCell ? "last" : "middle";
1181
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table_primitives.Table.HeaderCell, {
1182
- id: `${header.column.id}-header`,
1183
- onPress: isSortableHeader && !disabled ? header.column.getToggleSortingHandler() : void 0,
1184
- ...(isSortableHeader && !disabled && import_tamagui.isWeb ? {
1185
- tabIndex: 0,
1186
- onKeyDown: e => {
1187
- if (e.key === "Enter" || e.key === " " || e.key === "Spacebar") {
1188
- e.preventDefault();
1189
- header.column.getToggleSortingHandler()?.(e);
1190
- }
1060
+ "aria-label": (0, import_withInterp.withInterp)(t("{{label}} content", {
1061
+ label: resolvedAriaLabel
1062
+ }), {
1063
+ label: resolvedAriaLabel
1064
+ }),
1065
+ tabIndex: enableKeyboardNavigation && !isSSR ? 0 : void 0,
1066
+ ...{
1067
+ "data-table-grid": "true"
1068
+ },
1069
+ onKeyDown: enableKeyboardNavigation && !isSSR ? handleGridKeyDown : void 0,
1070
+ onPress: enableKeyboardNavigation && !isSSR ? keyboardNav.handleContainerClick : void 0,
1071
+ onBlur: enableKeyboardNavigation && !isSSR ? keyboardNav.handleContainerBlur : void 0,
1072
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table_primitives.Table, {
1073
+ size: resolvedSize,
1074
+ cellSize,
1075
+ displayMode,
1076
+ alignCells: {
1077
+ x: "start",
1078
+ y: "center"
1079
+ },
1080
+ alignHeaderCells: {
1081
+ x: "start",
1082
+ y: "center"
1083
+ },
1084
+ cellHeight,
1085
+ borderTopLeftRadius: hasToolbar ? 0 : knobProps.borderRadiusOuter.borderRadius,
1086
+ borderTopRightRadius: hasToolbar ? 0 : knobProps.borderRadiusOuter.borderRadius,
1087
+ borderBottomLeftRadius: knobProps.borderRadiusOuter.borderRadius,
1088
+ borderBottomRightRadius: knobProps.borderRadiusOuter.borderRadius,
1089
+ marginBottom: 0,
1090
+ "aria-label": resolvedAriaLabel,
1091
+ "aria-rowcount": computed.totalPages * state.pagination.pageSize,
1092
+ "aria-colcount": table.getVisibleLeafColumns().length + extraColumnsBefore + extraColumnsAfter,
1093
+ width: "100%",
1094
+ ...(hScroll ? {
1095
+ style: {
1096
+ minWidth: "max-content"
1097
+ }
1098
+ } : {}),
1099
+ ...(hScroll && enableColumnPinning ? {
1100
+ overflow: "visible"
1101
+ } : {}),
1102
+ ...(rowPressActive ? {
1103
+ "data-row-press-scope": "true"
1104
+ } : {}),
1105
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Head, {
1106
+ zIndex: "$1",
1107
+ "aria-label": t("Table headers"),
1108
+ children: headerGroups.map(headerGroup => {
1109
+ rowCounter.current++;
1110
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table_primitives.Table.Row, {
1111
+ ...{
1112
+ background: true,
1113
+ backgroundColor: "$color2",
1114
+ rowLocation: rowCounter.current === 0 ? "first" : rowCounter.current === allRowsLength - 1 ? "last" : "middle",
1115
+ borderTopRightRadius: hasToolbar ? "$0" : knobProps.borderRadiusOuter.borderRadius,
1116
+ borderTopLeftRadius: hasToolbar ? "$0" : knobProps.borderRadiusOuter.borderRadius,
1117
+ borderBottomLeftRadius: "$0",
1118
+ borderBottomRightRadius: "$0",
1119
+ "aria-rowindex": rowCounter.current
1120
+ },
1121
+ children: [enableRowSelection && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.HeaderCell, {
1122
+ cellWidth: selectionColWidth,
1123
+ cellHeight,
1124
+ cellLocation: "first",
1125
+ justifyContent: "center",
1126
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Checkbox, {
1127
+ checked: selectAllIndeterminate ? "indeterminate" : selectAllChecked,
1128
+ disabled,
1129
+ onChange: checked => {
1130
+ if (disabled || checked === "indeterminate") return;
1131
+ const shouldSelect = checked === true;
1132
+ const isAll = selectAllScope === "filtered" ? table.getIsAllRowsSelected() : table.getIsAllPageRowsSelected();
1133
+ if (shouldSelect !== isAll) toggleSelectAll();
1191
1134
  },
1192
- focusVisibleStyle: (0, import_theme.ensureFocusVisibleRing)({
1193
- outlineOffset: -2
1194
- })
1195
- } : {}),
1196
- cursor: disabled ? "not-allowed" : isSortableHeader ? "pointer" : "default",
1197
- position: "relative",
1198
- cellLocation: headerCellLocation,
1199
- justifyContent: headerJustify,
1200
- "data-align": columnAlign,
1201
- "aria-sort": isSortableHeader ? sortDirection === "asc" ? "ascending" : sortDirection === "desc" ? "descending" : "none" : void 0,
1202
- ...(dnd && !disabled ? {
1203
- draggable: true,
1204
- onDragStart: e => dnd.onDragStart(e, header.column.id),
1205
- onDragOver: dnd.onDragOver,
1206
- onDrop: e => dnd.onDrop(e, header.column.id)
1207
- } : {}),
1208
- ...cellFlexProps,
1209
- ...getColSizeProps(header.column),
1210
- ...(import_tamagui.isWeb && stickyStyle ? {
1211
- style: {
1212
- position: "sticky",
1213
- ...("insetInlineStart" in stickyStyle && {
1214
- insetInlineStart: stickyStyle.insetInlineStart
1215
- }),
1216
- ...("insetInlineEnd" in stickyStyle && {
1217
- insetInlineEnd: stickyStyle.insetInlineEnd
1218
- }),
1219
- zIndex: 2,
1220
- backgroundColor: "var(--color2)"
1135
+ checkboxProps: {
1136
+ "aria-label": selectAllScope === "filtered" ? t("Select all matching rows") : t("Select all rows on page")
1221
1137
  }
1222
- } : {}),
1223
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
1224
- flexDirection: "row",
1225
- flexWrap: "wrap",
1226
- gap: "$2",
1227
- alignItems: "center",
1228
- justifyContent: isRightAligned ? "flex-end" : "space-between",
1229
- flex: 1,
1230
- minWidth: 0,
1138
+ })
1139
+ }), showRowNumbers && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.HeaderCell, {
1140
+ cellWidth: chrome.rowNumberCol,
1141
+ cellHeight,
1142
+ cellLocation: enableRowSelection ? "middle" : "first",
1143
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
1144
+ fontSize: knobProps.sizeToken,
1145
+ fontWeight: "600",
1146
+ children: "#"
1147
+ })
1148
+ }), enableRowExpansion && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.HeaderCell, {
1149
+ cellWidth: chrome.expandCol,
1150
+ cellHeight,
1151
+ cellLocation: enableRowSelection || showRowNumbers ? "middle" : "first",
1152
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1153
+ width: 14
1154
+ })
1155
+ }), headerGroup.headers.map((header, headerIndex) => {
1156
+ const isSortableHeader = header.column.getCanSort();
1157
+ const sortDirection = header.column.getIsSorted();
1158
+ const canResize = enableColumnResizing && header.column.getCanResize();
1159
+ const resizeHandler = canResize ? header.getResizeHandler() : void 0;
1160
+ const colSize = header.getSize();
1161
+ const colMinSize = header.column.columnDef.minSize ?? 0;
1162
+ const colMaxSize = header.column.columnDef.maxSize ?? Number.MAX_SAFE_INTEGER;
1163
+ const stickyStyle = getStickyStyle(header.column.id);
1164
+ const columnDef = header.column.columnDef;
1165
+ const columnAlign = resolveColumnAlign({
1166
+ ...columnDef,
1167
+ id: header.column.id
1168
+ });
1169
+ const headerJustify = (0, import_columnAlign.alignToFlex)(columnAlign);
1170
+ const isRightAligned = columnAlign === "right";
1171
+ const isFirstHeaderCell = headerIndex === 0 && !enableRowSelection && !showRowNumbers && !enableRowExpansion;
1172
+ const isLastHeaderCell = headerIndex === headerGroup.headers.length - 1 && !(showDeleteRow && !readOnly);
1173
+ const headerCellLocation = isFirstHeaderCell ? "first" : isLastHeaderCell ? "last" : "middle";
1174
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table_primitives.Table.HeaderCell, {
1175
+ id: `${header.column.id}-header`,
1176
+ onPress: isSortableHeader && !disabled ? header.column.getToggleSortingHandler() : void 0,
1177
+ ...(isSortableHeader && !disabled && import_tamagui.isWeb ? {
1178
+ tabIndex: 0,
1179
+ onKeyDown: e => {
1180
+ if (e.key === "Enter" || e.key === " " || e.key === "Spacebar") {
1181
+ e.preventDefault();
1182
+ header.column.getToggleSortingHandler()?.(e);
1183
+ }
1184
+ },
1185
+ focusVisibleStyle: (0, import_theme.ensureFocusVisibleRing)({
1186
+ outlineOffset: -2
1187
+ })
1188
+ } : {}),
1189
+ cursor: disabled ? "not-allowed" : isSortableHeader ? "pointer" : "default",
1190
+ position: "relative",
1191
+ cellLocation: headerCellLocation,
1192
+ justifyContent: headerJustify,
1193
+ "data-align": columnAlign,
1194
+ "aria-sort": isSortableHeader ? sortDirection === "asc" ? "ascending" : sortDirection === "desc" ? "descending" : "none" : void 0,
1195
+ ...(dnd && !disabled ? {
1196
+ draggable: true,
1197
+ onDragStart: e => dnd.onDragStart(e, header.column.id),
1198
+ onDragOver: dnd.onDragOver,
1199
+ onDrop: e => dnd.onDrop(e, header.column.id)
1200
+ } : {}),
1201
+ ...cellFlexProps,
1202
+ ...getColSizeProps(header.column),
1203
+ ...(import_tamagui.isWeb && stickyStyle ? {
1204
+ style: {
1205
+ position: "sticky",
1206
+ ...("insetInlineStart" in stickyStyle && {
1207
+ insetInlineStart: stickyStyle.insetInlineStart
1208
+ }),
1209
+ ...("insetInlineEnd" in stickyStyle && {
1210
+ insetInlineEnd: stickyStyle.insetInlineEnd
1211
+ }),
1212
+ zIndex: 2,
1213
+ backgroundColor: "var(--color2)"
1214
+ }
1215
+ } : {}),
1231
1216
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
1232
1217
  flexDirection: "row",
1218
+ flexWrap: "wrap",
1233
1219
  gap: "$2",
1234
1220
  alignItems: "center",
1235
- flexGrow: isRightAligned ? 0 : 1,
1236
- flexShrink: 1,
1237
- flexBasis: "auto",
1221
+ justifyContent: isRightAligned ? "flex-end" : "space-between",
1222
+ flex: 1,
1238
1223
  minWidth: 0,
1239
- justifyContent: isRightAligned ? "flex-end" : void 0,
1240
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
1241
- fontSize: knobProps.sizeToken,
1242
- userSelect: "none",
1224
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
1225
+ flexDirection: "row",
1226
+ gap: "$2",
1227
+ alignItems: "center",
1228
+ flexGrow: isRightAligned ? 0 : 1,
1243
1229
  flexShrink: 1,
1230
+ flexBasis: "auto",
1244
1231
  minWidth: 0,
1245
- textAlign: isRightAligned ? "right" : void 0,
1246
- "data-header-label": "",
1247
- ...(import_tamagui.isWeb ? {
1248
- style: {
1249
- overflowWrap: "anywhere"
1250
- }
1251
- } : {}),
1252
- children: header.isPlaceholder ? null : (0, import_react_table.flexRender)(header.column.columnDef.header, header.getContext())
1253
- }), isSortableHeader && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Tooltip, {
1254
- content: sortDirection === "asc" ? t("Sorted ascending (click to sort descending)") : sortDirection === "desc" ? t("Sorted descending (click to clear)") : t("Click to sort (Shift+click for multi-sort)"),
1255
- children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
1256
- "aria-hidden": true,
1257
- role: "presentation",
1258
- flexShrink: 0,
1259
- children: [sortDirection === "asc" && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.CaretDownIcon, {
1260
- size: chrome.iconPx,
1261
- color: "var(--color11)"
1262
- }), sortDirection === "desc" && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.CaretDownIcon, {
1263
- size: chrome.iconPx,
1264
- color: "var(--color11)",
1232
+ justifyContent: isRightAligned ? "flex-end" : void 0,
1233
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
1234
+ fontSize: knobProps.sizeToken,
1235
+ userSelect: "none",
1236
+ flexShrink: 1,
1237
+ minWidth: 0,
1238
+ textAlign: isRightAligned ? "right" : void 0,
1239
+ "data-header-label": "",
1240
+ ...(import_tamagui.isWeb ? {
1265
1241
  style: {
1266
- transform: "rotate(180deg)"
1242
+ overflowWrap: "anywhere"
1267
1243
  }
1268
- }), sortDirection === false && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.CaretUpDownIcon, {
1269
- size: chrome.iconPx,
1270
- color: "var(--color11)"
1271
- })]
1272
- })
1273
- })]
1274
- }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
1275
- flexDirection: "row",
1276
- gap: "$1",
1277
- alignItems: "center",
1278
- flexShrink: 0,
1279
- children: [enableFiltering && header.column.getCanFilter() && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ColumnHeaderFilter.ColumnHeaderFilter, {
1280
- columnId: header.column.id,
1281
- columnLabel: typeof header.column.columnDef.header === "string" ? header.column.columnDef.header : header.column.id,
1282
- columnType: (0, import_filterFields.mapFieldToFilterType)(getColumnField(header.column.columnDef)),
1283
- filterValue: header.column.getFilterValue(),
1284
- onFilterChange: value => header.column.setFilterValue(value),
1285
- isFiltered: header.column.getIsFiltered(),
1286
- options: header.column.columnDef.fieldProps?.options
1287
- }), pinning && enableColumnPinning &&
1288
- /* One compact cycle control per header
1289
- (left → right → unpin) — two full
1290
- buttons crowded the header (owner). */
1291
- /* @__PURE__ */
1292
- (0, import_jsx_runtime.jsx)(pinning.PinButton, {
1293
- columnId: header.column.id
1244
+ } : {}),
1245
+ children: header.isPlaceholder ? null : (0, import_react_table.flexRender)(header.column.columnDef.header, header.getContext())
1246
+ }), isSortableHeader && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Tooltip, {
1247
+ content: sortDirection === "asc" ? t("Sorted ascending (click to sort descending)") : sortDirection === "desc" ? t("Sorted descending (click to clear)") : t("Click to sort (Shift+click for multi-sort)"),
1248
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
1249
+ "aria-hidden": true,
1250
+ role: "presentation",
1251
+ flexShrink: 0,
1252
+ children: [sortDirection === "asc" && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.CaretDownIcon, {
1253
+ size: chrome.iconPx,
1254
+ color: "var(--color11)"
1255
+ }), sortDirection === "desc" && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.CaretDownIcon, {
1256
+ size: chrome.iconPx,
1257
+ color: "var(--color11)",
1258
+ style: {
1259
+ transform: "rotate(180deg)"
1260
+ }
1261
+ }), sortDirection === false && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.CaretUpDownIcon, {
1262
+ size: chrome.iconPx,
1263
+ color: "var(--color11)"
1264
+ })]
1265
+ })
1266
+ })]
1267
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
1268
+ flexDirection: "row",
1269
+ gap: "$1",
1270
+ alignItems: "center",
1271
+ flexShrink: 0,
1272
+ children: [enableFiltering && header.column.getCanFilter() && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ColumnHeaderFilter.ColumnHeaderFilter, {
1273
+ columnId: header.column.id,
1274
+ columnLabel: typeof header.column.columnDef.header === "string" ? header.column.columnDef.header : header.column.id,
1275
+ columnType: (0, import_filterFields.mapFieldToFilterType)(getColumnField(header.column.columnDef)),
1276
+ filterValue: header.column.getFilterValue(),
1277
+ onFilterChange: value => header.column.setFilterValue(value),
1278
+ isFiltered: header.column.getIsFiltered(),
1279
+ options: header.column.columnDef.fieldProps?.options
1280
+ }), pinning && enableColumnPinning &&
1281
+ /* One compact cycle control per header
1282
+ (left → right → unpin) — two full
1283
+ buttons crowded the header (owner). */
1284
+ /* @__PURE__ */
1285
+ (0, import_jsx_runtime.jsx)(pinning.PinButton, {
1286
+ columnId: header.column.id
1287
+ })]
1294
1288
  })]
1289
+ }), canResize && resizeHandler && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1290
+ position: "absolute",
1291
+ right: -4,
1292
+ top: 0,
1293
+ height: 2e3,
1294
+ width: 8,
1295
+ cursor: "col-resize",
1296
+ onMouseDown: resizeHandler,
1297
+ onTouchStart: resizeHandler,
1298
+ role: "separator",
1299
+ "aria-valuenow": colSize,
1300
+ "aria-valuemin": colMinSize,
1301
+ "aria-valuemax": colMaxSize,
1302
+ "aria-label": (0, import_withInterp.withInterp)(t("Resize {{column}} column", {
1303
+ column: header.column.columnDef.header || header.column.id
1304
+ }), {
1305
+ column: header.column.columnDef.header || header.column.id
1306
+ }),
1307
+ style: {
1308
+ touchAction: "none"
1309
+ },
1310
+ zIndex: 10
1295
1311
  })]
1296
- }), canResize && resizeHandler && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1297
- position: "absolute",
1298
- right: -4,
1299
- top: 0,
1300
- height: 2e3,
1301
- width: 8,
1302
- cursor: "col-resize",
1303
- onMouseDown: resizeHandler,
1304
- onTouchStart: resizeHandler,
1305
- role: "separator",
1306
- "aria-valuenow": colSize,
1307
- "aria-valuemin": colMinSize,
1308
- "aria-valuemax": colMaxSize,
1309
- "aria-label": (0, import_withInterp.withInterp)(t("Resize {{column}} column", {
1310
- column: header.column.columnDef.header || header.column.id
1311
- }), {
1312
- column: header.column.columnDef.header || header.column.id
1313
- }),
1314
- style: {
1315
- touchAction: "none"
1316
- },
1317
- zIndex: 10
1318
- })]
1319
- }, header.id);
1320
- }), showDeleteRow && !readOnly && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.HeaderCell, {
1321
- cellWidth: chrome.deleteCol,
1322
- cellHeight,
1323
- cellLocation: "last"
1324
- })]
1325
- }, headerGroup.id);
1326
- })
1327
- }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table_primitives.Table.Body, {
1328
- role: isVirtualized ? "presentation" : "rowgroup",
1329
- "aria-label": isVirtualized ? void 0 : t("Table data"),
1330
- ...(hScroll && enableColumnPinning ? {
1331
- overflowY: "visible",
1332
- overflowX: "visible"
1333
- } : {}),
1334
- ref: node => {
1335
- tableBodyRef.current = node ?? null;
1336
- },
1337
- children: [displayRows.length === 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
1338
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1339
- children: isRefetching ? null : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
1340
- compact: true,
1341
- "aria-live": "polite",
1342
- title: computed.hasActiveFilters ? t("No results found") : t("No data available")
1343
- })
1312
+ }, header.id);
1313
+ }), showDeleteRow && !readOnly && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.HeaderCell, {
1314
+ cellWidth: chrome.deleteCol,
1315
+ cellHeight,
1316
+ cellLocation: "last"
1317
+ })]
1318
+ }, headerGroup.id);
1344
1319
  })
1345
- }) : isVirtualized ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
1346
- role: "presentation",
1347
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1320
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table_primitives.Table.Body, {
1321
+ role: isVirtualized ? "presentation" : "rowgroup",
1322
+ "aria-label": isVirtualized ? void 0 : t("Table data"),
1323
+ ...(hScroll && enableColumnPinning ? {
1324
+ overflowY: "visible",
1325
+ overflowX: "visible"
1326
+ } : {}),
1327
+ ref: node => {
1328
+ tableBodyRef.current = node ?? null;
1329
+ },
1330
+ children: [displayRows.length === 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
1331
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1332
+ children: isRefetching ? null : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
1333
+ size: resolvedSize,
1334
+ "aria-live": "polite",
1335
+ title: computed.hasActiveFilters ? t("No results found") : t("No data available")
1336
+ })
1337
+ })
1338
+ }) : isVirtualized ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
1348
1339
  role: "presentation",
1349
- padding: 0,
1350
- cellWidth: "auto",
1351
- style: {
1352
- display: "block",
1353
- overflow: "hidden",
1354
- width: "100%",
1355
- minWidth: 0
1356
- },
1357
- ...{
1358
- colSpan: table.getVisibleLeafColumns().length + extraColumnsBefore + extraColumnsAfter
1359
- },
1360
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableVirtualized.DataTableVirtualized, {
1361
- virtualItems,
1362
- totalSize,
1363
- bodyScrollRef,
1364
- virtualizationHeight,
1365
- tableRows: displayRows,
1366
- headerGroups,
1367
- showRowNumbers,
1368
- enableRowExpansion,
1369
- showDeleteRow,
1370
- readOnly,
1371
- enableKeyboardNavigation,
1372
- keyboardNav,
1373
- getColSizeProps,
1374
- renderRowContent,
1375
- extraColumnsBefore,
1376
- extraColumnsAfter,
1377
- table,
1378
- hasInfiniteTail,
1379
- rowHeightPx,
1380
- tableZebraOn,
1381
- ...(rowPressActive ? {
1382
- getRowPressProps
1383
- } : {})
1340
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1341
+ role: "presentation",
1342
+ padding: 0,
1343
+ cellWidth: "auto",
1344
+ style: {
1345
+ display: "block",
1346
+ overflow: "hidden",
1347
+ width: "100%",
1348
+ minWidth: 0
1349
+ },
1350
+ ...{
1351
+ colSpan: table.getVisibleLeafColumns().length + extraColumnsBefore + extraColumnsAfter
1352
+ },
1353
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableVirtualized.DataTableVirtualized, {
1354
+ virtualItems,
1355
+ totalSize,
1356
+ bodyScrollRef,
1357
+ virtualizationHeight,
1358
+ tableRows: displayRows,
1359
+ headerGroups,
1360
+ showRowNumbers,
1361
+ enableRowExpansion,
1362
+ showDeleteRow,
1363
+ readOnly,
1364
+ enableKeyboardNavigation,
1365
+ keyboardNav,
1366
+ getColSizeProps,
1367
+ renderRowContent,
1368
+ extraColumnsBefore,
1369
+ extraColumnsAfter,
1370
+ table,
1371
+ hasInfiniteTail,
1372
+ rowHeightPx,
1373
+ tableZebraOn,
1374
+ ...(rowPressActive ? {
1375
+ getRowPressProps
1376
+ } : {})
1377
+ })
1384
1378
  })
1385
- })
1386
- }) : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
1387
- children: [displayRows.map((row, index) => {
1388
- rowCounter.current++;
1389
- const isLastRow = index === displayRows.length - 1;
1390
- if (enableGrouping && row.getIsGrouped?.()) {
1391
- const colSpan = table.getVisibleLeafColumns().length + extraColumnsBefore + extraColumnsAfter;
1392
- const indent = (row.depth ?? 0) * chrome.indent;
1393
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
1394
- backgroundColor: "$color3",
1379
+ }) : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
1380
+ children: [displayRows.map((row, index) => {
1381
+ rowCounter.current++;
1382
+ const isLastRow = index === displayRows.length - 1;
1383
+ if (enableGrouping && row.getIsGrouped?.()) {
1384
+ const colSpan = table.getVisibleLeafColumns().length + extraColumnsBefore + extraColumnsAfter;
1385
+ const indent = (row.depth ?? 0) * chrome.indent;
1386
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
1387
+ backgroundColor: "$color3",
1388
+ flexShrink: 0,
1389
+ "aria-rowindex": rowCounter.current,
1390
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1391
+ ...{
1392
+ colSpan
1393
+ },
1394
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
1395
+ flexDirection: "row",
1396
+ alignItems: "center",
1397
+ gap: "$2",
1398
+ paddingInlineStart: indent,
1399
+ cursor: "pointer",
1400
+ onPress: () => row.toggleExpanded(),
1401
+ role: "button",
1402
+ tabIndex: 0,
1403
+ "aria-expanded": row.getIsExpanded(),
1404
+ ...{
1405
+ onKeyDown: e => {
1406
+ if (e.key === "Enter" || e.key === " ") {
1407
+ e.preventDefault();
1408
+ row.toggleExpanded();
1409
+ }
1410
+ }
1411
+ },
1412
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
1413
+ fontFamily: "$mono",
1414
+ fontSize: "$3",
1415
+ children: row.getIsExpanded() ? "\u25BC" : "\u25B6"
1416
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.SizableText, {
1417
+ fontFamily: knobProps.heading.fontFamily,
1418
+ size: "$4",
1419
+ children: String(row.groupingValue ?? "\u2014")
1420
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.Text, {
1421
+ color: "$placeholderColor",
1422
+ fontSize: "$2",
1423
+ children: ["(", row.subRows?.length ?? 0, ")"]
1424
+ })]
1425
+ })
1426
+ })
1427
+ }, row.id);
1428
+ }
1429
+ const mainRow = /* @__PURE__ */(0, import_react3.createElement)(import_table_primitives.Table.Row, {
1430
+ ...(0, import_rowStateChrome.tableRowStateProps)({
1431
+ selected: Boolean(enableRowSelection && row.getIsSelected?.()),
1432
+ keyboardFocused: false,
1433
+ zebraOn: tableZebraOn,
1434
+ index,
1435
+ pressable: rowPressActive
1436
+ }),
1437
+ ...{
1438
+ animation: "quick"
1439
+ },
1395
1440
  flexShrink: 0,
1441
+ rowLocation: rowCounter.current === 0 ? "first" : rowCounter.current === allRowsLength - 1 ? "last" : "middle",
1442
+ key: `${row.id}-${index}`,
1396
1443
  "aria-rowindex": rowCounter.current,
1444
+ "aria-label": (0, import_withInterp.withInterp)(t("Row {{row}}", {
1445
+ row: index + 1
1446
+ }), {
1447
+ row: index + 1
1448
+ }),
1449
+ tabIndex: -1,
1450
+ ...{
1451
+ "data-table-zebra": tableZebraOn ? index % 2 === 0 ? "even" : "odd" : "off"
1452
+ },
1453
+ ...getRowPressProps(row, index),
1454
+ ...(0, import_dataTableChrome.rowIntentProps)(row.original)
1455
+ }, renderRowContent(row, index, isLastRow));
1456
+ const subRow = enableRowExpansion && renderSubComponent && row.getIsExpanded() && !row.subRows?.length ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
1457
+ backgroundColor: "$color2",
1397
1458
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1398
1459
  ...{
1399
- colSpan
1460
+ colSpan: table.getVisibleLeafColumns().length + extraColumnsBefore + extraColumnsAfter
1400
1461
  },
1401
- children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
1402
- flexDirection: "row",
1403
- alignItems: "center",
1404
- gap: "$2",
1405
- paddingInlineStart: indent,
1406
- cursor: "pointer",
1407
- onPress: () => row.toggleExpanded(),
1408
- role: "button",
1409
- tabIndex: 0,
1410
- "aria-expanded": row.getIsExpanded(),
1411
- ...{
1412
- onKeyDown: e => {
1413
- if (e.key === "Enter" || e.key === " ") {
1414
- e.preventDefault();
1415
- row.toggleExpanded();
1416
- }
1417
- }
1418
- },
1419
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
1420
- fontFamily: "$mono",
1421
- fontSize: "$3",
1422
- children: row.getIsExpanded() ? "\u25BC" : "\u25B6"
1423
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
1424
- fontWeight: "600",
1425
- children: String(row.groupingValue ?? "\u2014")
1426
- }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.Text, {
1427
- color: "$placeholderColor",
1428
- fontSize: "$2",
1429
- children: ["(", row.subRows?.length ?? 0, ")"]
1430
- })]
1431
- })
1462
+ children: renderSubComponent(row)
1432
1463
  })
1464
+ }, `${row.id}-sub`) : null;
1465
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_react2.default.Fragment, {
1466
+ children: [mainRow, subRow]
1433
1467
  }, row.id);
1434
- }
1435
- const mainRow = /* @__PURE__ */(0, import_react3.createElement)(import_table_primitives.Table.Row, {
1436
- ...(0, import_rowStateChrome.tableRowStateProps)({
1437
- selected: Boolean(enableRowSelection && row.getIsSelected?.()),
1438
- keyboardFocused: false,
1439
- zebraOn: tableZebraOn,
1440
- index,
1441
- pressable: rowPressActive
1442
- }),
1443
- ...{
1444
- animation: "quick"
1445
- },
1446
- flexShrink: 0,
1447
- rowLocation: rowCounter.current === 0 ? "first" : rowCounter.current === allRowsLength - 1 ? "last" : "middle",
1448
- key: `${row.id}-${index}`,
1449
- "aria-rowindex": rowCounter.current,
1450
- "aria-label": (0, import_withInterp.withInterp)(t("Row {{row}}", {
1451
- row: index + 1
1452
- }), {
1453
- row: index + 1
1454
- }),
1455
- tabIndex: -1,
1468
+ }), isFlexLayout && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table_primitives.Table.Row, {
1469
+ "aria-hidden": true,
1470
+ backgroundColor: "$color1",
1471
+ flex: 1,
1472
+ flexShrink: 1,
1473
+ flexGrow: 1,
1474
+ flexBasis: 0,
1475
+ minHeight: 0,
1476
+ children: [enableRowSelection && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1477
+ cellWidth: selectionColWidth,
1478
+ cellLocation: "first",
1479
+ padding: 0,
1480
+ minHeight: 0
1481
+ }), showRowNumbers && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1482
+ cellWidth: chrome.rowNumberCol,
1483
+ cellLocation: enableRowSelection ? "middle" : "first",
1484
+ padding: 0,
1485
+ minHeight: 0
1486
+ }), enableRowExpansion && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1487
+ cellWidth: chrome.expandCol,
1488
+ cellLocation: enableRowSelection || showRowNumbers ? "middle" : "first",
1489
+ padding: 0,
1490
+ minHeight: 0
1491
+ }), headerGroups[0]?.headers.map((header, headerIndex) => {
1492
+ const isFirstDataCell = headerIndex === 0 && !enableRowSelection && !showRowNumbers && !enableRowExpansion;
1493
+ const isLastDataCell = headerIndex === headerGroups[0].headers.length - 1 && !(showDeleteRow && !readOnly);
1494
+ const cellLoc = isFirstDataCell ? "first" : isLastDataCell ? "last" : "middle";
1495
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1496
+ ...cellFlexProps,
1497
+ ...getColSizeProps(header.column),
1498
+ cellLocation: cellLoc,
1499
+ padding: 0,
1500
+ minHeight: 0
1501
+ }, header.id);
1502
+ }), showDeleteRow && !readOnly && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1503
+ cellWidth: chrome.deleteCol,
1504
+ cellLocation: "last",
1505
+ padding: 0,
1506
+ minHeight: 0
1507
+ })]
1508
+ }, "filler-row")]
1509
+ }), import_tamagui.isWeb && bodyClipped && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
1510
+ "aria-hidden": true,
1511
+ role: "presentation",
1512
+ position: "sticky",
1513
+ bottom: 0,
1514
+ height: 0,
1515
+ flexShrink: 0,
1516
+ zIndex: 2,
1517
+ pointerEvents: "none",
1518
+ ...{
1519
+ "data-table-clip-affordance": "true"
1520
+ },
1521
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1456
1522
  ...{
1457
- "data-table-zebra": tableZebraOn ? index % 2 === 0 ? "even" : "odd" : "off"
1523
+ render: "td"
1458
1524
  },
1459
- ...getRowPressProps(row, index),
1460
- ...(0, import_dataTableChrome.rowIntentProps)(row.original)
1461
- }, renderRowContent(row, index, isLastRow));
1462
- const subRow = enableRowExpansion && renderSubComponent && row.getIsExpanded() && !row.subRows?.length ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
1463
- backgroundColor: "$color2",
1464
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1465
- ...{
1466
- colSpan: table.getVisibleLeafColumns().length + extraColumnsBefore + extraColumnsAfter
1467
- },
1468
- children: renderSubComponent(row)
1469
- })
1470
- }, `${row.id}-sub`) : null;
1471
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_react2.default.Fragment, {
1472
- children: [mainRow, subRow]
1473
- }, row.id);
1474
- }), isFlexLayout && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table_primitives.Table.Row, {
1475
- "aria-hidden": true,
1476
- backgroundColor: "$color1",
1477
- flex: 1,
1478
- flexShrink: 1,
1479
- flexGrow: 1,
1480
- flexBasis: 0,
1481
- minHeight: 0,
1525
+ position: "absolute",
1526
+ left: 0,
1527
+ right: 0,
1528
+ bottom: 0,
1529
+ height: 28,
1530
+ style: {
1531
+ background: "linear-gradient(to bottom, rgba(0,0,0,0), var(--background))"
1532
+ }
1533
+ })
1534
+ })]
1535
+ }), hasFooter && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Foot, {
1536
+ children: footerGroups.map(footerGroup => /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table_primitives.Table.Row, {
1482
1537
  children: [enableRowSelection && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1483
1538
  cellWidth: selectionColWidth,
1484
- cellLocation: "first",
1485
- padding: 0,
1486
- minHeight: 0
1539
+ cellHeight,
1540
+ cellLocation: "first"
1487
1541
  }), showRowNumbers && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1488
1542
  cellWidth: chrome.rowNumberCol,
1489
- cellLocation: enableRowSelection ? "middle" : "first",
1490
- padding: 0,
1491
- minHeight: 0
1543
+ cellHeight,
1544
+ cellLocation: enableRowSelection ? "middle" : "first"
1492
1545
  }), enableRowExpansion && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1493
1546
  cellWidth: chrome.expandCol,
1494
- cellLocation: enableRowSelection || showRowNumbers ? "middle" : "first",
1495
- padding: 0,
1496
- minHeight: 0
1497
- }), headerGroups[0]?.headers.map((header, headerIndex) => {
1498
- const isFirstDataCell = headerIndex === 0 && !enableRowSelection && !showRowNumbers && !enableRowExpansion;
1499
- const isLastDataCell = headerIndex === headerGroups[0].headers.length - 1 && !(showDeleteRow && !readOnly);
1500
- const cellLoc = isFirstDataCell ? "first" : isLastDataCell ? "last" : "middle";
1547
+ cellHeight,
1548
+ cellLocation: enableRowSelection || showRowNumbers ? "middle" : "first"
1549
+ }), footerGroup.headers.map(header => {
1550
+ const stickyStyle = getStickyStyle(header.column.id);
1551
+ const columnAlign = resolveColumnAlign({
1552
+ ...header.column.columnDef,
1553
+ id: header.column.id
1554
+ });
1501
1555
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1502
1556
  ...cellFlexProps,
1503
1557
  ...getColSizeProps(header.column),
1504
- cellLocation: cellLoc,
1505
- padding: 0,
1506
- minHeight: 0
1558
+ ...(import_tamagui.isWeb && stickyStyle ? {
1559
+ style: {
1560
+ position: "sticky",
1561
+ ...("insetInlineStart" in stickyStyle && {
1562
+ insetInlineStart: stickyStyle.insetInlineStart
1563
+ }),
1564
+ ...("insetInlineEnd" in stickyStyle && {
1565
+ insetInlineEnd: stickyStyle.insetInlineEnd
1566
+ }),
1567
+ zIndex: 2,
1568
+ backgroundColor: "var(--color2)"
1569
+ }
1570
+ } : {}),
1571
+ justifyContent: (0, import_columnAlign.alignToFlex)(columnAlign),
1572
+ "data-align": columnAlign,
1573
+ children: header.isPlaceholder ? null : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1574
+ width: "100%",
1575
+ minWidth: 0,
1576
+ flexDirection: "row",
1577
+ alignItems: "center",
1578
+ justifyContent: (0, import_columnAlign.alignToFlex)(columnAlign),
1579
+ "data-cell-align": columnAlign,
1580
+ style: import_tamagui.isWeb ? {
1581
+ textAlign: columnAlign
1582
+ } : void 0,
1583
+ children: (0, import_react_table.flexRender)(header.column.columnDef.footer, header.getContext())
1584
+ })
1507
1585
  }, header.id);
1508
1586
  }), showDeleteRow && !readOnly && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1509
1587
  cellWidth: chrome.deleteCol,
1510
- cellLocation: "last",
1511
- padding: 0,
1512
- minHeight: 0
1588
+ cellHeight,
1589
+ cellLocation: "last"
1513
1590
  })]
1514
- }, "filler-row")]
1515
- }), import_tamagui.isWeb && bodyClipped && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Row, {
1516
- "aria-hidden": true,
1517
- role: "presentation",
1518
- position: "sticky",
1519
- bottom: 0,
1520
- height: 0,
1521
- flexShrink: 0,
1522
- zIndex: 2,
1523
- pointerEvents: "none",
1524
- ...{
1525
- "data-table-clip-affordance": "true"
1526
- },
1527
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1528
- ...{
1529
- render: "td"
1530
- },
1531
- position: "absolute",
1532
- left: 0,
1533
- right: 0,
1534
- bottom: 0,
1535
- height: 28,
1536
- style: {
1537
- background: "linear-gradient(to bottom, rgba(0,0,0,0), var(--background))"
1538
- }
1539
- })
1591
+ }, footerGroup.id))
1540
1592
  })]
1541
- }), hasFooter && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Foot, {
1542
- children: footerGroups.map(footerGroup => /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table_primitives.Table.Row, {
1543
- children: [enableRowSelection && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1544
- cellWidth: selectionColWidth,
1545
- cellHeight,
1546
- cellLocation: "first"
1547
- }), showRowNumbers && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1548
- cellWidth: chrome.rowNumberCol,
1549
- cellHeight,
1550
- cellLocation: enableRowSelection ? "middle" : "first"
1551
- }), enableRowExpansion && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1552
- cellWidth: chrome.expandCol,
1553
- cellHeight,
1554
- cellLocation: enableRowSelection || showRowNumbers ? "middle" : "first"
1555
- }), footerGroup.headers.map(header => {
1556
- const stickyStyle = getStickyStyle(header.column.id);
1557
- const columnAlign = resolveColumnAlign({
1558
- ...header.column.columnDef,
1559
- id: header.column.id
1560
- });
1561
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1562
- ...cellFlexProps,
1563
- ...getColSizeProps(header.column),
1564
- ...(import_tamagui.isWeb && stickyStyle ? {
1565
- style: {
1566
- position: "sticky",
1567
- ...("insetInlineStart" in stickyStyle && {
1568
- insetInlineStart: stickyStyle.insetInlineStart
1569
- }),
1570
- ...("insetInlineEnd" in stickyStyle && {
1571
- insetInlineEnd: stickyStyle.insetInlineEnd
1572
- }),
1573
- zIndex: 2,
1574
- backgroundColor: "var(--color2)"
1575
- }
1576
- } : {}),
1577
- justifyContent: (0, import_columnAlign.alignToFlex)(columnAlign),
1578
- "data-align": columnAlign,
1579
- children: header.isPlaceholder ? null : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1580
- width: "100%",
1581
- minWidth: 0,
1582
- flexDirection: "row",
1583
- alignItems: "center",
1584
- justifyContent: (0, import_columnAlign.alignToFlex)(columnAlign),
1585
- "data-cell-align": columnAlign,
1586
- style: import_tamagui.isWeb ? {
1587
- textAlign: columnAlign
1588
- } : void 0,
1589
- children: (0, import_react_table.flexRender)(header.column.columnDef.footer, header.getContext())
1590
- })
1591
- }, header.id);
1592
- }), showDeleteRow && !readOnly && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table_primitives.Table.Cell, {
1593
- cellWidth: chrome.deleteCol,
1594
- cellHeight,
1595
- cellLocation: "last"
1596
- })]
1597
- }, footerGroup.id))
1598
- })]
1599
- })
1600
- })), infinite ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableInfiniteTail.DataTableInfiniteTail, {
1601
- infinite,
1602
- visibleCount: tableRows.length,
1603
- showAppendSkeleton: !isVirtualized,
1604
- rowHeightPx,
1605
- fontSize: knobProps.sizeToken,
1606
- gapProps: knobProps.gap,
1607
- sentinel: !isVirtualized && !infinite.exhausted && !infinite.appendError && import_tamagui.isWeb ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1608
- ref: sentinelRef,
1609
- height: 1,
1593
+ })
1594
+ })), infinite ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableInfiniteTail.DataTableInfiniteTail, {
1595
+ infinite,
1596
+ visibleCount: tableRows.length,
1597
+ showAppendSkeleton: !isVirtualized,
1598
+ rowHeightPx,
1599
+ fontSize: knobProps.sizeToken,
1600
+ gapProps: knobProps.gap,
1601
+ sentinel: !isVirtualized && !infinite.exhausted && !infinite.appendError && import_tamagui.isWeb ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1602
+ ref: sentinelRef,
1603
+ height: 1,
1604
+ width: "100%",
1605
+ "aria-hidden": true,
1606
+ ...{
1607
+ "data-testid": "infinite-sentinel"
1608
+ }
1609
+ }) : null
1610
+ }) : null, enableRowSelection && bulkBarPlacement === "bottom" ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1610
1611
  width: "100%",
1611
- "aria-hidden": true,
1612
- ...{
1613
- "data-testid": "infinite-sentinel"
1614
- }
1615
- }) : null
1616
- }) : null, enableRowSelection && bulkBarPlacement === "bottom" ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1617
- width: "100%",
1618
- ...(disabled ? disabledState.chromeKnobProps : {}),
1619
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableBulkActions.DataTableBulkActions, {
1620
- actions: resolvedBulkActions,
1621
- maxVisibleActions: 5,
1622
- showSelectionCount: true,
1623
- placement: "bottom"
1624
- })
1625
- }) : null, showAddRow && !readOnly && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1626
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
1627
- icon: import_react.PlusIcon,
1628
- disabled: disabled || maxRows !== void 0 && tableData.length >= maxRows,
1629
- onPress: effectiveHandleAddRow,
1630
- "aria-label": t("Add Row"),
1631
- children: t("Add Row")
1632
- })
1612
+ ...(disabled ? disabledState.chromeKnobProps : {}),
1613
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_DataTableBulkActions.DataTableBulkActions, {
1614
+ actions: resolvedBulkActions,
1615
+ maxVisibleActions: 5,
1616
+ showSelectionCount: true,
1617
+ placement: "bottom"
1618
+ })
1619
+ }) : null, showAddRow && !readOnly && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1620
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
1621
+ icon: import_react.PlusIcon,
1622
+ disabled: disabled || maxRows !== void 0 && tableData.length >= maxRows,
1623
+ onPress: effectiveHandleAddRow,
1624
+ "aria-label": t("Add Row"),
1625
+ children: t("Add Row")
1626
+ })
1627
+ })]
1633
1628
  }), enablePagination && !infinite && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
1634
1629
  paddingTop: "$3",
1635
1630
  flexDirection: "row",