@multiplatform.one/table 7.10.0 → 7.15.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 (307) hide show
  1. package/README.md +61 -1
  2. package/dist/cjs/components/ChildTable/index.cjs +8 -2
  3. package/dist/cjs/components/ChildTable/index.native.js +8 -2
  4. package/dist/cjs/components/ChildTable/index.native.js.map +1 -1
  5. package/dist/cjs/components/ColumnHeaderFilter/index.cjs +77 -111
  6. package/dist/cjs/components/ColumnHeaderFilter/index.native.js +89 -129
  7. package/dist/cjs/components/ColumnHeaderFilter/index.native.js.map +1 -1
  8. package/dist/cjs/components/DataTable/DataTableCardControls.cjs +90 -54
  9. package/dist/cjs/components/DataTable/DataTableCardControls.native.js +93 -56
  10. package/dist/cjs/components/DataTable/DataTableCardControls.native.js.map +1 -1
  11. package/dist/cjs/components/DataTable/DataTableRoot.cjs +68 -9
  12. package/dist/cjs/components/DataTable/DataTableRoot.native.js +78 -11
  13. package/dist/cjs/components/DataTable/DataTableRoot.native.js.map +1 -1
  14. package/dist/cjs/components/DataTableCell/CellModalEditor.cjs +72 -70
  15. package/dist/cjs/components/DataTableCell/index.cjs +2 -2
  16. package/dist/cjs/components/DataTableCell/index.native.js +2 -11
  17. package/dist/cjs/components/DataTableCell/index.native.js.map +1 -1
  18. package/dist/cjs/components/DataTableDateFilter/index.cjs +135 -158
  19. package/dist/cjs/components/DataTableDateFilter/index.native.js +153 -183
  20. package/dist/cjs/components/DataTableDateFilter/index.native.js.map +1 -1
  21. package/dist/cjs/components/DataTableExport/index.cjs +122 -139
  22. package/dist/cjs/components/DataTableExport/index.native.js +135 -157
  23. package/dist/cjs/components/DataTableExport/index.native.js.map +1 -1
  24. package/dist/cjs/components/DataTableFilterButton/index.cjs +14 -0
  25. package/dist/cjs/components/DataTableFilterButton/index.native.js +15 -0
  26. package/dist/cjs/components/DataTableFilterButton/index.native.js.map +1 -1
  27. package/dist/cjs/components/DataTableGrouping/index.cjs +192 -212
  28. package/dist/cjs/components/DataTableGrouping/index.native.js +209 -230
  29. package/dist/cjs/components/DataTableGrouping/index.native.js.map +1 -1
  30. package/dist/cjs/components/DataTableSearch/index.cjs +103 -115
  31. package/dist/cjs/components/DataTableSearch/index.native.js +111 -123
  32. package/dist/cjs/components/DataTableSearch/index.native.js.map +1 -1
  33. package/dist/cjs/components/DataTableToolbar/index.cjs +161 -101
  34. package/dist/cjs/components/DataTableToolbar/index.native.js +168 -109
  35. package/dist/cjs/components/DataTableToolbar/index.native.js.map +1 -1
  36. package/dist/cjs/components/DataTableViewOptions/index.cjs +38 -54
  37. package/dist/cjs/components/DataTableViewOptions/index.native.js +40 -56
  38. package/dist/cjs/components/DataTableViewOptions/index.native.js.map +1 -1
  39. package/dist/cjs/components/FilterOperatorValueEditor/index.cjs +3 -11
  40. package/dist/cjs/components/FilterOperatorValueEditor/index.native.js +3 -11
  41. package/dist/cjs/components/FilterOperatorValueEditor/index.native.js.map +1 -1
  42. package/dist/cjs/components/SimpleTable/index.cjs +2 -6
  43. package/dist/cjs/components/SimpleTable/index.native.js +2 -6
  44. package/dist/cjs/components/SimpleTable/index.native.js.map +1 -1
  45. package/dist/cjs/components/TableInput/RowDetailEditor.cjs +190 -0
  46. package/dist/cjs/components/TableInput/RowDetailEditor.native.js +172 -0
  47. package/dist/cjs/components/TableInput/RowDetailEditor.native.js.map +1 -0
  48. package/dist/cjs/components/TableInput/index.cjs +42 -5
  49. package/dist/cjs/components/TableInput/index.native.js +64 -1
  50. package/dist/cjs/components/TableInput/index.native.js.map +1 -1
  51. package/dist/cjs/components/TableInput/shared.cjs +8 -0
  52. package/dist/cjs/components/TableInput/shared.native.js +10 -0
  53. package/dist/cjs/components/TableInput/shared.native.js.map +1 -1
  54. package/dist/cjs/hooks/useDataTable.cjs +43 -2
  55. package/dist/cjs/hooks/useDataTable.native.js +49 -3
  56. package/dist/cjs/hooks/useDataTable.native.js.map +1 -1
  57. package/dist/cjs/index.native.js.map +1 -1
  58. package/dist/cjs/utils/rowPress.cjs +4 -1
  59. package/dist/cjs/utils/rowPress.native.js +4 -1
  60. package/dist/cjs/utils/rowPress.native.js.map +1 -1
  61. package/dist/esm/components/ChildTable/index.mjs +8 -2
  62. package/dist/esm/components/ChildTable/index.mjs.map +1 -1
  63. package/dist/esm/components/ChildTable/index.native.js +8 -2
  64. package/dist/esm/components/ChildTable/index.native.js.map +1 -1
  65. package/dist/esm/components/ColumnHeaderFilter/index.mjs +80 -114
  66. package/dist/esm/components/ColumnHeaderFilter/index.mjs.map +1 -1
  67. package/dist/esm/components/ColumnHeaderFilter/index.native.js +92 -132
  68. package/dist/esm/components/ColumnHeaderFilter/index.native.js.map +1 -1
  69. package/dist/esm/components/DataTable/DataTableCardControls.mjs +89 -54
  70. package/dist/esm/components/DataTable/DataTableCardControls.mjs.map +1 -1
  71. package/dist/esm/components/DataTable/DataTableCardControls.native.js +92 -56
  72. package/dist/esm/components/DataTable/DataTableCardControls.native.js.map +1 -1
  73. package/dist/esm/components/DataTable/DataTableRoot.mjs +70 -11
  74. package/dist/esm/components/DataTable/DataTableRoot.mjs.map +1 -1
  75. package/dist/esm/components/DataTable/DataTableRoot.native.js +80 -13
  76. package/dist/esm/components/DataTable/DataTableRoot.native.js.map +1 -1
  77. package/dist/esm/components/DataTableCell/CellModalEditor.mjs +76 -74
  78. package/dist/esm/components/DataTableCell/CellModalEditor.mjs.map +1 -1
  79. package/dist/esm/components/DataTableCell/index.mjs +3 -3
  80. package/dist/esm/components/DataTableCell/index.mjs.map +1 -1
  81. package/dist/esm/components/DataTableCell/index.native.js +3 -12
  82. package/dist/esm/components/DataTableCell/index.native.js.map +1 -1
  83. package/dist/esm/components/DataTableDateFilter/index.mjs +137 -160
  84. package/dist/esm/components/DataTableDateFilter/index.mjs.map +1 -1
  85. package/dist/esm/components/DataTableDateFilter/index.native.js +155 -185
  86. package/dist/esm/components/DataTableDateFilter/index.native.js.map +1 -1
  87. package/dist/esm/components/DataTableExport/index.mjs +124 -141
  88. package/dist/esm/components/DataTableExport/index.mjs.map +1 -1
  89. package/dist/esm/components/DataTableExport/index.native.js +137 -159
  90. package/dist/esm/components/DataTableExport/index.native.js.map +1 -1
  91. package/dist/esm/components/DataTableFilterButton/index.mjs +14 -1
  92. package/dist/esm/components/DataTableFilterButton/index.mjs.map +1 -1
  93. package/dist/esm/components/DataTableFilterButton/index.native.js +15 -1
  94. package/dist/esm/components/DataTableFilterButton/index.native.js.map +1 -1
  95. package/dist/esm/components/DataTableGrouping/index.mjs +194 -214
  96. package/dist/esm/components/DataTableGrouping/index.mjs.map +1 -1
  97. package/dist/esm/components/DataTableGrouping/index.native.js +211 -232
  98. package/dist/esm/components/DataTableGrouping/index.native.js.map +1 -1
  99. package/dist/esm/components/DataTableSearch/index.mjs +105 -117
  100. package/dist/esm/components/DataTableSearch/index.mjs.map +1 -1
  101. package/dist/esm/components/DataTableSearch/index.native.js +113 -125
  102. package/dist/esm/components/DataTableSearch/index.native.js.map +1 -1
  103. package/dist/esm/components/DataTableToolbar/index.mjs +165 -106
  104. package/dist/esm/components/DataTableToolbar/index.mjs.map +1 -1
  105. package/dist/esm/components/DataTableToolbar/index.native.js +172 -114
  106. package/dist/esm/components/DataTableToolbar/index.native.js.map +1 -1
  107. package/dist/esm/components/DataTableViewOptions/index.mjs +40 -56
  108. package/dist/esm/components/DataTableViewOptions/index.mjs.map +1 -1
  109. package/dist/esm/components/DataTableViewOptions/index.native.js +42 -58
  110. package/dist/esm/components/DataTableViewOptions/index.native.js.map +1 -1
  111. package/dist/esm/components/FilterOperatorValueEditor/index.mjs +3 -11
  112. package/dist/esm/components/FilterOperatorValueEditor/index.mjs.map +1 -1
  113. package/dist/esm/components/FilterOperatorValueEditor/index.native.js +3 -11
  114. package/dist/esm/components/FilterOperatorValueEditor/index.native.js.map +1 -1
  115. package/dist/esm/components/SimpleTable/index.mjs +3 -7
  116. package/dist/esm/components/SimpleTable/index.mjs.map +1 -1
  117. package/dist/esm/components/SimpleTable/index.native.js +3 -7
  118. package/dist/esm/components/SimpleTable/index.native.js.map +1 -1
  119. package/dist/esm/components/TableInput/RowDetailEditor.mjs +165 -0
  120. package/dist/esm/components/TableInput/RowDetailEditor.mjs.map +1 -0
  121. package/dist/esm/components/TableInput/RowDetailEditor.native.js +144 -0
  122. package/dist/esm/components/TableInput/RowDetailEditor.native.js.map +1 -0
  123. package/dist/esm/components/TableInput/index.mjs +42 -5
  124. package/dist/esm/components/TableInput/index.mjs.map +1 -1
  125. package/dist/esm/components/TableInput/index.native.js +64 -1
  126. package/dist/esm/components/TableInput/index.native.js.map +1 -1
  127. package/dist/esm/components/TableInput/shared.mjs +7 -1
  128. package/dist/esm/components/TableInput/shared.mjs.map +1 -1
  129. package/dist/esm/components/TableInput/shared.native.js +9 -1
  130. package/dist/esm/components/TableInput/shared.native.js.map +1 -1
  131. package/dist/esm/hooks/useDataTable.mjs +43 -2
  132. package/dist/esm/hooks/useDataTable.mjs.map +1 -1
  133. package/dist/esm/hooks/useDataTable.native.js +49 -3
  134. package/dist/esm/hooks/useDataTable.native.js.map +1 -1
  135. package/dist/esm/index.mjs.map +1 -1
  136. package/dist/esm/index.native.js.map +1 -1
  137. package/dist/esm/utils/rowPress.mjs +4 -1
  138. package/dist/esm/utils/rowPress.mjs.map +1 -1
  139. package/dist/esm/utils/rowPress.native.js +4 -1
  140. package/dist/esm/utils/rowPress.native.js.map +1 -1
  141. package/dist/jsx/components/ChildTable/index.mjs +8 -2
  142. package/dist/jsx/components/ChildTable/index.mjs.map +1 -1
  143. package/dist/jsx/components/ChildTable/index.native.js +8 -2
  144. package/dist/jsx/components/ChildTable/index.native.js.map +1 -1
  145. package/dist/jsx/components/ColumnHeaderFilter/index.mjs +80 -114
  146. package/dist/jsx/components/ColumnHeaderFilter/index.mjs.map +1 -1
  147. package/dist/jsx/components/ColumnHeaderFilter/index.native.js +89 -129
  148. package/dist/jsx/components/ColumnHeaderFilter/index.native.js.map +1 -1
  149. package/dist/jsx/components/DataTable/DataTableCardControls.mjs +89 -54
  150. package/dist/jsx/components/DataTable/DataTableCardControls.mjs.map +1 -1
  151. package/dist/jsx/components/DataTable/DataTableCardControls.native.js +93 -56
  152. package/dist/jsx/components/DataTable/DataTableCardControls.native.js.map +1 -1
  153. package/dist/jsx/components/DataTable/DataTableRoot.mjs +70 -11
  154. package/dist/jsx/components/DataTable/DataTableRoot.mjs.map +1 -1
  155. package/dist/jsx/components/DataTable/DataTableRoot.native.js +78 -11
  156. package/dist/jsx/components/DataTable/DataTableRoot.native.js.map +1 -1
  157. package/dist/jsx/components/DataTableCell/CellModalEditor.mjs +76 -74
  158. package/dist/jsx/components/DataTableCell/CellModalEditor.mjs.map +1 -1
  159. package/dist/jsx/components/DataTableCell/index.mjs +3 -3
  160. package/dist/jsx/components/DataTableCell/index.mjs.map +1 -1
  161. package/dist/jsx/components/DataTableCell/index.native.js +2 -11
  162. package/dist/jsx/components/DataTableCell/index.native.js.map +1 -1
  163. package/dist/jsx/components/DataTableDateFilter/index.mjs +137 -160
  164. package/dist/jsx/components/DataTableDateFilter/index.mjs.map +1 -1
  165. package/dist/jsx/components/DataTableDateFilter/index.native.js +153 -183
  166. package/dist/jsx/components/DataTableDateFilter/index.native.js.map +1 -1
  167. package/dist/jsx/components/DataTableExport/index.mjs +124 -141
  168. package/dist/jsx/components/DataTableExport/index.mjs.map +1 -1
  169. package/dist/jsx/components/DataTableExport/index.native.js +135 -157
  170. package/dist/jsx/components/DataTableExport/index.native.js.map +1 -1
  171. package/dist/jsx/components/DataTableFilterButton/index.mjs +14 -1
  172. package/dist/jsx/components/DataTableFilterButton/index.mjs.map +1 -1
  173. package/dist/jsx/components/DataTableFilterButton/index.native.js +15 -0
  174. package/dist/jsx/components/DataTableFilterButton/index.native.js.map +1 -1
  175. package/dist/jsx/components/DataTableGrouping/index.mjs +194 -214
  176. package/dist/jsx/components/DataTableGrouping/index.mjs.map +1 -1
  177. package/dist/jsx/components/DataTableGrouping/index.native.js +209 -230
  178. package/dist/jsx/components/DataTableGrouping/index.native.js.map +1 -1
  179. package/dist/jsx/components/DataTableSearch/index.mjs +105 -117
  180. package/dist/jsx/components/DataTableSearch/index.mjs.map +1 -1
  181. package/dist/jsx/components/DataTableSearch/index.native.js +111 -123
  182. package/dist/jsx/components/DataTableSearch/index.native.js.map +1 -1
  183. package/dist/jsx/components/DataTableToolbar/index.mjs +165 -106
  184. package/dist/jsx/components/DataTableToolbar/index.mjs.map +1 -1
  185. package/dist/jsx/components/DataTableToolbar/index.native.js +168 -109
  186. package/dist/jsx/components/DataTableToolbar/index.native.js.map +1 -1
  187. package/dist/jsx/components/DataTableViewOptions/index.mjs +40 -56
  188. package/dist/jsx/components/DataTableViewOptions/index.mjs.map +1 -1
  189. package/dist/jsx/components/DataTableViewOptions/index.native.js +40 -56
  190. package/dist/jsx/components/DataTableViewOptions/index.native.js.map +1 -1
  191. package/dist/jsx/components/FilterOperatorValueEditor/index.mjs +3 -11
  192. package/dist/jsx/components/FilterOperatorValueEditor/index.mjs.map +1 -1
  193. package/dist/jsx/components/FilterOperatorValueEditor/index.native.js +3 -11
  194. package/dist/jsx/components/FilterOperatorValueEditor/index.native.js.map +1 -1
  195. package/dist/jsx/components/SimpleTable/index.mjs +3 -7
  196. package/dist/jsx/components/SimpleTable/index.mjs.map +1 -1
  197. package/dist/jsx/components/SimpleTable/index.native.js +2 -6
  198. package/dist/jsx/components/SimpleTable/index.native.js.map +1 -1
  199. package/dist/jsx/components/TableInput/RowDetailEditor.mjs +165 -0
  200. package/dist/jsx/components/TableInput/RowDetailEditor.mjs.map +1 -0
  201. package/dist/jsx/components/TableInput/RowDetailEditor.native.js +172 -0
  202. package/dist/jsx/components/TableInput/RowDetailEditor.native.js.map +1 -0
  203. package/dist/jsx/components/TableInput/index.mjs +42 -5
  204. package/dist/jsx/components/TableInput/index.mjs.map +1 -1
  205. package/dist/jsx/components/TableInput/index.native.js +64 -1
  206. package/dist/jsx/components/TableInput/index.native.js.map +1 -1
  207. package/dist/jsx/components/TableInput/shared.mjs +7 -1
  208. package/dist/jsx/components/TableInput/shared.mjs.map +1 -1
  209. package/dist/jsx/components/TableInput/shared.native.js +10 -0
  210. package/dist/jsx/components/TableInput/shared.native.js.map +1 -1
  211. package/dist/jsx/hooks/useDataTable.mjs +43 -2
  212. package/dist/jsx/hooks/useDataTable.mjs.map +1 -1
  213. package/dist/jsx/hooks/useDataTable.native.js +49 -3
  214. package/dist/jsx/hooks/useDataTable.native.js.map +1 -1
  215. package/dist/jsx/index.js.map +1 -1
  216. package/dist/jsx/index.mjs.map +1 -1
  217. package/dist/jsx/index.native.js.map +1 -1
  218. package/dist/jsx/utils/rowPress.mjs +4 -1
  219. package/dist/jsx/utils/rowPress.mjs.map +1 -1
  220. package/dist/jsx/utils/rowPress.native.js +4 -1
  221. package/dist/jsx/utils/rowPress.native.js.map +1 -1
  222. package/package.json +16 -16
  223. package/src/components/ChildTable/childTable.cellHidden.spec.tsx +57 -0
  224. package/src/components/ChildTable/childTable.rowDetail.spec.tsx +120 -0
  225. package/src/components/ChildTable/index.tsx +16 -0
  226. package/src/components/ColumnHeaderFilter/index.tsx +89 -116
  227. package/src/components/DataTable/DataTable.stories.tsx +130 -6
  228. package/src/components/DataTable/DataTableCardControls.stories.tsx +61 -2
  229. package/src/components/DataTable/DataTableCardControls.tsx +92 -66
  230. package/src/components/DataTable/DataTableRoot.tsx +109 -18
  231. package/src/components/DataTable/cardLayout.spec.tsx +4 -3
  232. package/src/components/DataTable/cardToolbar.spec.tsx +238 -0
  233. package/src/components/DataTable/chromeInterplay.spec.tsx +7 -5
  234. package/src/components/DataTable/columnWidthLayout.spec.tsx +189 -0
  235. package/src/components/DataTable/dataTableCardControls.spec.tsx +3 -2
  236. package/src/components/DataTable/dataTableMobileCards.spec.tsx +1 -4
  237. package/src/components/DataTable/footerLayout.spec.tsx +250 -0
  238. package/src/components/DataTable/headerContainment.spec.tsx +91 -0
  239. package/src/components/DataTable/pinningGeometry.spec.tsx +66 -1
  240. package/src/components/DataTable/rowPress.spec.tsx +2 -6
  241. package/src/components/DataTableBulkActions/DataTableBulkActions.stories.tsx +5 -4
  242. package/src/components/DataTableCell/CellModalEditor.tsx +95 -75
  243. package/src/components/DataTableCell/cellDraftPolicy.spec.tsx +12 -2
  244. package/src/components/DataTableCell/cellModalEditor.spec.tsx +75 -49
  245. package/src/components/DataTableCell/dataTableCell.spec.tsx +31 -14
  246. package/src/components/DataTableCell/index.tsx +3 -2
  247. package/src/components/DataTableDateFilter/DataTableDateFilter.spec.tsx +6 -3
  248. package/src/components/DataTableDateFilter/index.tsx +151 -180
  249. package/src/components/DataTableExport/DataTableExport.spec.tsx +42 -18
  250. package/src/components/DataTableExport/index.tsx +135 -142
  251. package/src/components/DataTableFilterButton/index.tsx +9 -0
  252. package/src/components/DataTableGrouping/index.tsx +193 -195
  253. package/src/components/DataTableSearch/index.tsx +111 -109
  254. package/src/components/DataTableToolbar/index.tsx +179 -107
  255. package/src/components/DataTableViewOptions/DataTableViewOptions.stories.tsx +52 -0
  256. package/src/components/DataTableViewOptions/index.tsx +32 -40
  257. package/src/components/FilterOperatorValueEditor/FilterOperatorValueEditor.spec.tsx +64 -2
  258. package/src/components/FilterOperatorValueEditor/index.tsx +0 -8
  259. package/src/components/SimpleTable/index.tsx +3 -2
  260. package/src/components/SimpleTable/simpleTable.spec.tsx +15 -0
  261. package/src/components/Table/accessibility.spec.tsx +7 -19
  262. package/src/components/TableInput/RowDetailEditor.native.tsx +134 -0
  263. package/src/components/TableInput/RowDetailEditor.tsx +173 -0
  264. package/src/components/TableInput/index.native.tsx +49 -1
  265. package/src/components/TableInput/index.tsx +65 -10
  266. package/src/components/TableInput/shared.ts +29 -0
  267. package/src/components/tableDropdowns.spec.tsx +172 -0
  268. package/src/hooks/useDataTable.spec.ts +153 -0
  269. package/src/hooks/useDataTable.ts +38 -2
  270. package/src/index.ts +1 -0
  271. package/src/types.ts +14 -12
  272. package/src/utils/rowPress.ts +3 -0
  273. package/types/components/ChildTable/index.d.ts +10 -0
  274. package/types/components/ChildTable/index.d.ts.map +1 -1
  275. package/types/components/ColumnHeaderFilter/index.d.ts +1 -1
  276. package/types/components/ColumnHeaderFilter/index.d.ts.map +1 -1
  277. package/types/components/DataTable/DataTableCardControls.d.ts +3 -0
  278. package/types/components/DataTable/DataTableCardControls.d.ts.map +1 -1
  279. package/types/components/DataTable/DataTableRoot.d.ts.map +1 -1
  280. package/types/components/DataTableCell/CellModalEditor.d.ts +10 -7
  281. package/types/components/DataTableCell/CellModalEditor.d.ts.map +1 -1
  282. package/types/components/DataTableCell/index.d.ts.map +1 -1
  283. package/types/components/DataTableDateFilter/index.d.ts.map +1 -1
  284. package/types/components/DataTableFilterButton/index.d.ts +2 -1
  285. package/types/components/DataTableFilterButton/index.d.ts.map +1 -1
  286. package/types/components/DataTableGrouping/index.d.ts.map +1 -1
  287. package/types/components/DataTableSearch/index.d.ts.map +1 -1
  288. package/types/components/DataTableToolbar/index.d.ts +1 -0
  289. package/types/components/DataTableToolbar/index.d.ts.map +1 -1
  290. package/types/components/FilterOperatorValueEditor/index.d.ts.map +1 -1
  291. package/types/components/SimpleTable/index.d.ts.map +1 -1
  292. package/types/components/TableInput/RowDetailEditor.d.ts +24 -0
  293. package/types/components/TableInput/RowDetailEditor.d.ts.map +1 -0
  294. package/types/components/TableInput/RowDetailEditor.native.d.ts +11 -0
  295. package/types/components/TableInput/RowDetailEditor.native.d.ts.map +1 -0
  296. package/types/components/TableInput/index.d.ts +11 -2
  297. package/types/components/TableInput/index.d.ts.map +1 -1
  298. package/types/components/TableInput/index.native.d.ts +8 -1
  299. package/types/components/TableInput/index.native.d.ts.map +1 -1
  300. package/types/components/TableInput/shared.d.ts +11 -0
  301. package/types/components/TableInput/shared.d.ts.map +1 -1
  302. package/types/hooks/useDataTable.d.ts.map +1 -1
  303. package/types/index.d.ts +1 -0
  304. package/types/index.d.ts.map +1 -1
  305. package/types/types.d.ts +14 -12
  306. package/types/types.d.ts.map +1 -1
  307. package/types/utils/rowPress.d.ts.map +1 -1
@@ -12,6 +12,90 @@ import { jsx, jsxs } from "react/jsx-runtime";
12
12
  function getColumnLabel(column) {
13
13
  return typeof column.columnDef.header === "string" ? column.columnDef.header : column.id;
14
14
  }
15
+ function DataTableCardSortControl({
16
+ table,
17
+ compact = false,
18
+ disabled = false,
19
+ contained = false
20
+ }) {
21
+ const {
22
+ t
23
+ } = useTranslation();
24
+ const {
25
+ knobProps
26
+ } = useResolvedKnobs({
27
+ component: "DataTable",
28
+ compact
29
+ });
30
+ const chrome = dataTableChrome(String(knobProps.sizeToken));
31
+ const [sortMenuOpen, setSortMenuOpen] = useState(false);
32
+ const sortableColumns = table.getVisibleLeafColumns().filter(col => col.getCanSort());
33
+ const activeSort = table.getState().sorting?.[0];
34
+ const activeSortColumn = activeSort ? table.getColumn(activeSort.id) : void 0;
35
+ const sortLabel = activeSortColumn ? `${getColumnLabel(activeSortColumn)} ${activeSort.desc ? "\u2193" : "\u2191"}` : t("Sort");
36
+ if (!sortableColumns.length) return null;
37
+ const menu = /* @__PURE__ */jsxs(DropdownMenu, {
38
+ open: disabled ? false : sortMenuOpen,
39
+ onOpenChange: open => {
40
+ if (disabled) return;
41
+ setSortMenuOpen(open);
42
+ },
43
+ children: [/* @__PURE__ */jsx(DropdownMenu.Trigger, {
44
+ asChild: true,
45
+ children: /* @__PURE__ */jsx(Button, {
46
+ size: knobProps.sizeToken,
47
+ icon: /* @__PURE__ */jsx(CaretUpDownIcon, {
48
+ size: chrome.iconPx
49
+ }),
50
+ "aria-label": t("Sort rows"),
51
+ ...(contained ? {
52
+ minWidth: 0,
53
+ maxWidth: "100%",
54
+ "aria-description": activeSortColumn ? sortLabel : void 0
55
+ } : {}),
56
+ disabled,
57
+ children: sortLabel
58
+ })
59
+ }), /* @__PURE__ */jsxs(DropdownMenu.Content, {
60
+ children: [/* @__PURE__ */jsx(DropdownMenu.Label, {
61
+ children: t("Sort by")
62
+ }), sortableColumns.map(column => {
63
+ const sorted = column.getIsSorted();
64
+ return /* @__PURE__ */jsx(DropdownMenu.Item, {
65
+ closeOnSelect: false,
66
+ icon: sorted === "asc" ? /* @__PURE__ */jsx(CaretDownIcon, {
67
+ size: chrome.iconPx
68
+ }) : sorted === "desc" ? /* @__PURE__ */jsx(CaretDownIcon, {
69
+ size: chrome.iconPx,
70
+ style: {
71
+ transform: "rotate(180deg)"
72
+ }
73
+ }) : /* @__PURE__ */jsx(CaretUpDownIcon, {
74
+ size: chrome.iconPx
75
+ }),
76
+ "aria-label": withInterp(t("Sort by {{column}}", {
77
+ column: getColumnLabel(column)
78
+ }), {
79
+ column: getColumnLabel(column)
80
+ }),
81
+ onSelect: () => {
82
+ if (sorted === false) column.toggleSorting(false);else if (sorted === "asc") column.toggleSorting(true);else column.clearSorting();
83
+ },
84
+ children: getColumnLabel(column)
85
+ }, column.id);
86
+ })]
87
+ })]
88
+ });
89
+ return contained ? /* @__PURE__ */jsx(View, {
90
+ "data-table-card-sort": "",
91
+ flexBasis: "auto",
92
+ flexGrow: 0,
93
+ flexShrink: 1,
94
+ minWidth: 0,
95
+ maxWidth: "50%",
96
+ children: menu
97
+ }) : menu;
98
+ }
15
99
  function DataTableCardControls({
16
100
  table,
17
101
  enableSorting = false,
@@ -24,18 +108,11 @@ function DataTableCardControls({
24
108
  t
25
109
  } = useTranslation();
26
110
  const {
27
- knobProps,
28
111
  disabledState
29
112
  } = useResolvedKnobs({
30
113
  component: "DataTable",
31
114
  compact
32
115
  });
33
- const chrome = dataTableChrome(String(knobProps.sizeToken));
34
- const [sortMenuOpen, setSortMenuOpen] = useState(false);
35
- const sortableColumns = enableSorting ? table.getVisibleLeafColumns().filter(col => col.getCanSort()) : [];
36
- const activeSort = table.getState().sorting?.[0];
37
- const activeSortColumn = activeSort ? table.getColumn(activeSort.id) : void 0;
38
- const sortLabel = activeSortColumn ? `${getColumnLabel(activeSortColumn)} ${activeSort.desc ? "\u2193" : "\u2191"}` : t("Sort");
39
116
  if (!enableSorting && !enableFiltering) return null;
40
117
  return /* @__PURE__ */jsxs(XStack, {
41
118
  alignItems: "center",
@@ -44,52 +121,10 @@ function DataTableCardControls({
44
121
  paddingVertical: "$2",
45
122
  role: "toolbar",
46
123
  "aria-label": t("Card list controls"),
47
- children: [enableSorting && sortableColumns.length > 0 && /* @__PURE__ */jsxs(DropdownMenu, {
48
- open: disabled ? false : sortMenuOpen,
49
- onOpenChange: open => {
50
- if (disabled) return;
51
- setSortMenuOpen(open);
52
- },
53
- children: [/* @__PURE__ */jsx(DropdownMenu.Trigger, {
54
- asChild: true,
55
- children: /* @__PURE__ */jsx(Button, {
56
- size: knobProps.sizeToken,
57
- icon: /* @__PURE__ */jsx(CaretUpDownIcon, {
58
- size: chrome.iconPx
59
- }),
60
- "aria-label": t("Sort rows"),
61
- disabled,
62
- children: sortLabel
63
- })
64
- }), /* @__PURE__ */jsxs(DropdownMenu.Content, {
65
- children: [/* @__PURE__ */jsx(DropdownMenu.Label, {
66
- children: t("Sort by")
67
- }), sortableColumns.map(column => {
68
- const sorted = column.getIsSorted();
69
- return /* @__PURE__ */jsx(DropdownMenu.Item, {
70
- closeOnSelect: false,
71
- icon: sorted === "asc" ? /* @__PURE__ */jsx(CaretDownIcon, {
72
- size: chrome.iconPx
73
- }) : sorted === "desc" ? /* @__PURE__ */jsx(CaretDownIcon, {
74
- size: chrome.iconPx,
75
- style: {
76
- transform: "rotate(180deg)"
77
- }
78
- }) : /* @__PURE__ */jsx(CaretUpDownIcon, {
79
- size: chrome.iconPx
80
- }),
81
- "aria-label": withInterp(t("Sort by {{column}}", {
82
- column: getColumnLabel(column)
83
- }), {
84
- column: getColumnLabel(column)
85
- }),
86
- onSelect: () => {
87
- if (sorted === false) column.toggleSorting(false);else if (sorted === "asc") column.toggleSorting(true);else column.clearSorting();
88
- },
89
- children: getColumnLabel(column)
90
- }, column.id);
91
- })]
92
- })]
124
+ children: [enableSorting && /* @__PURE__ */jsx(DataTableCardSortControl, {
125
+ table,
126
+ compact,
127
+ disabled
93
128
  }), enableFiltering && availableColumns.length > 0 &&
94
129
  // DataTableFilters (chrome) has no disabled API — the wrapper is the
95
130
  // LC-40 carrier and interaction gate for the disabled table.
@@ -106,5 +141,5 @@ function DataTableCardControls({
106
141
  })]
107
142
  });
108
143
  }
109
- export { DataTableCardControls };
144
+ export { DataTableCardControls, DataTableCardSortControl };
110
145
  //# sourceMappingURL=DataTableCardControls.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["CaretDownIcon","CaretUpDownIcon","DropdownMenu","Button","useResolvedKnobs","useState","View","XStack","useTranslation","withInterp","DataTableFilters","dataTableChrome","jsx","jsxs","getColumnLabel","column","columnDef","header","id","DataTableCardControls","table","enableSorting","enableFiltering","availableColumns","compact","disabled","t","knobProps","disabledState","component","chrome","String","sizeToken","sortMenuOpen","setSortMenuOpen","sortableColumns","getVisibleLeafColumns","filter","col","getCanSort","activeSort","getState","sorting","activeSortColumn","getColumn","sortLabel","desc","alignItems","flexWrap","gap","paddingVertical","role","children","length","open","onOpenChange","Trigger","asChild","size","icon","iconPx","Content","Label","map","sorted","getIsSorted","Item","closeOnSelect","style","transform","onSelect","toggleSorting","clearSorting","chromeKnobProps","pointerEvents"],"sources":["../../../../src/components/DataTable/DataTableCardControls.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CaretDownIcon","CaretUpDownIcon","DropdownMenu","Button","useResolvedKnobs","useState","View","XStack","useTranslation","withInterp","DataTableFilters","dataTableChrome","jsx","jsxs","getColumnLabel","column","columnDef","header","id","DataTableCardSortControl","table","compact","disabled","contained","t","knobProps","component","chrome","String","sizeToken","sortMenuOpen","setSortMenuOpen","sortableColumns","getVisibleLeafColumns","filter","col","getCanSort","activeSort","getState","sorting","activeSortColumn","getColumn","sortLabel","desc","length","menu","open","onOpenChange","children","Trigger","asChild","size","icon","iconPx","minWidth","maxWidth","Content","Label","map","sorted","getIsSorted","Item","closeOnSelect","style","transform","onSelect","toggleSorting","clearSorting","flexBasis","flexGrow","flexShrink","DataTableCardControls","enableSorting","enableFiltering","availableColumns","disabledState","alignItems","flexWrap","gap","paddingVertical","role","chromeKnobProps","pointerEvents"],"sources":["../../../../src/components/DataTable/DataTableCardControls.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -12,34 +12,112 @@ import { dataTableChrome } from "./dataTableChrome.native.js";
12
12
  function getColumnLabel(column) {
13
13
  return typeof column.columnDef.header === "string" ? column.columnDef.header : column.id;
14
14
  }
15
- function DataTableCardControls(param) {
15
+ function DataTableCardSortControl(param) {
16
16
  var {
17
17
  table,
18
- enableSorting = false,
19
- enableFiltering = false,
20
- availableColumns = [],
21
18
  compact = false,
22
- disabled = false
19
+ disabled = false,
20
+ contained = false
23
21
  } = param;
24
22
  var _table_getState_sorting;
25
23
  var {
26
24
  t
27
25
  } = useTranslation();
28
26
  var {
29
- knobProps,
30
- disabledState
27
+ knobProps
31
28
  } = useResolvedKnobs({
32
29
  component: "DataTable",
33
30
  compact
34
31
  });
35
32
  var chrome = dataTableChrome(String(knobProps.sizeToken));
36
33
  var [sortMenuOpen, setSortMenuOpen] = useState(false);
37
- var sortableColumns = enableSorting ? table.getVisibleLeafColumns().filter(function (col) {
34
+ var sortableColumns = table.getVisibleLeafColumns().filter(function (col) {
38
35
  return col.getCanSort();
39
- }) : [];
36
+ });
40
37
  var activeSort = (_table_getState_sorting = table.getState().sorting) === null || _table_getState_sorting === void 0 ? void 0 : _table_getState_sorting[0];
41
38
  var activeSortColumn = activeSort ? table.getColumn(activeSort.id) : void 0;
42
39
  var sortLabel = activeSortColumn ? `${getColumnLabel(activeSortColumn)} ${activeSort.desc ? "\u2193" : "\u2191"}` : t("Sort");
40
+ if (!sortableColumns.length) return null;
41
+ var menu = /* @__PURE__ */_jsxs(DropdownMenu, {
42
+ open: disabled ? false : sortMenuOpen,
43
+ onOpenChange: function onOpenChange(open) {
44
+ if (disabled) return;
45
+ setSortMenuOpen(open);
46
+ },
47
+ children: [/* @__PURE__ */_jsx(DropdownMenu.Trigger, {
48
+ asChild: true,
49
+ children: /* @__PURE__ */_jsx(Button, {
50
+ size: knobProps.sizeToken,
51
+ icon: /* @__PURE__ */_jsx(CaretUpDownIcon, {
52
+ size: chrome.iconPx
53
+ }),
54
+ "aria-label": t("Sort rows"),
55
+ ...(contained ? {
56
+ minWidth: 0,
57
+ maxWidth: "100%",
58
+ "aria-description": activeSortColumn ? sortLabel : void 0
59
+ } : {}),
60
+ disabled,
61
+ children: sortLabel
62
+ })
63
+ }), /* @__PURE__ */_jsxs(DropdownMenu.Content, {
64
+ children: [/* @__PURE__ */_jsx(DropdownMenu.Label, {
65
+ children: t("Sort by")
66
+ }), sortableColumns.map(function (column) {
67
+ var sorted = column.getIsSorted();
68
+ return /* @__PURE__ */_jsx(DropdownMenu.Item, {
69
+ closeOnSelect: false,
70
+ icon: sorted === "asc" ? /* @__PURE__ */_jsx(CaretDownIcon, {
71
+ size: chrome.iconPx
72
+ }) : sorted === "desc" ? /* @__PURE__ */_jsx(CaretDownIcon, {
73
+ size: chrome.iconPx,
74
+ style: {
75
+ transform: "rotate(180deg)"
76
+ }
77
+ }) : /* @__PURE__ */_jsx(CaretUpDownIcon, {
78
+ size: chrome.iconPx
79
+ }),
80
+ "aria-label": withInterp(t("Sort by {{column}}", {
81
+ column: getColumnLabel(column)
82
+ }), {
83
+ column: getColumnLabel(column)
84
+ }),
85
+ onSelect: function onSelect() {
86
+ if (sorted === false) column.toggleSorting(false);else if (sorted === "asc") column.toggleSorting(true);else column.clearSorting();
87
+ },
88
+ children: getColumnLabel(column)
89
+ }, column.id);
90
+ })]
91
+ })]
92
+ });
93
+ return contained ? /* @__PURE__ */_jsx(View, {
94
+ "data-table-card-sort": "",
95
+ flexBasis: "auto",
96
+ flexGrow: 0,
97
+ flexShrink: 1,
98
+ minWidth: 0,
99
+ maxWidth: "50%",
100
+ children: menu
101
+ }) : menu;
102
+ }
103
+ function DataTableCardControls(param) {
104
+ var {
105
+ table,
106
+ enableSorting = false,
107
+ enableFiltering = false,
108
+ availableColumns = [],
109
+ compact = false,
110
+ disabled = false
111
+ } = param;
112
+ var {
113
+ t
114
+ } = useTranslation();
115
+ var {
116
+ disabledState
117
+ } = useResolvedKnobs({
118
+ component: "DataTable",
119
+ compact
120
+ });
43
121
  if (!enableSorting && !enableFiltering) return null;
44
122
  return /* @__PURE__ */_jsxs(XStack, {
45
123
  alignItems: "center",
@@ -48,52 +126,10 @@ function DataTableCardControls(param) {
48
126
  paddingVertical: "$2",
49
127
  role: "toolbar",
50
128
  "aria-label": t("Card list controls"),
51
- children: [enableSorting && sortableColumns.length > 0 && /* @__PURE__ */_jsxs(DropdownMenu, {
52
- open: disabled ? false : sortMenuOpen,
53
- onOpenChange: function onOpenChange(open) {
54
- if (disabled) return;
55
- setSortMenuOpen(open);
56
- },
57
- children: [/* @__PURE__ */_jsx(DropdownMenu.Trigger, {
58
- asChild: true,
59
- children: /* @__PURE__ */_jsx(Button, {
60
- size: knobProps.sizeToken,
61
- icon: /* @__PURE__ */_jsx(CaretUpDownIcon, {
62
- size: chrome.iconPx
63
- }),
64
- "aria-label": t("Sort rows"),
65
- disabled,
66
- children: sortLabel
67
- })
68
- }), /* @__PURE__ */_jsxs(DropdownMenu.Content, {
69
- children: [/* @__PURE__ */_jsx(DropdownMenu.Label, {
70
- children: t("Sort by")
71
- }), sortableColumns.map(function (column) {
72
- var sorted = column.getIsSorted();
73
- return /* @__PURE__ */_jsx(DropdownMenu.Item, {
74
- closeOnSelect: false,
75
- icon: sorted === "asc" ? /* @__PURE__ */_jsx(CaretDownIcon, {
76
- size: chrome.iconPx
77
- }) : sorted === "desc" ? /* @__PURE__ */_jsx(CaretDownIcon, {
78
- size: chrome.iconPx,
79
- style: {
80
- transform: "rotate(180deg)"
81
- }
82
- }) : /* @__PURE__ */_jsx(CaretUpDownIcon, {
83
- size: chrome.iconPx
84
- }),
85
- "aria-label": withInterp(t("Sort by {{column}}", {
86
- column: getColumnLabel(column)
87
- }), {
88
- column: getColumnLabel(column)
89
- }),
90
- onSelect: function onSelect() {
91
- if (sorted === false) column.toggleSorting(false);else if (sorted === "asc") column.toggleSorting(true);else column.clearSorting();
92
- },
93
- children: getColumnLabel(column)
94
- }, column.id);
95
- })]
96
- })]
129
+ children: [enableSorting && /* @__PURE__ */_jsx(DataTableCardSortControl, {
130
+ table,
131
+ compact,
132
+ disabled
97
133
  }), enableFiltering && availableColumns.length > 0 &&
98
134
  // DataTableFilters (chrome) has no disabled API — the wrapper is the
99
135
  // LC-40 carrier and interaction gate for the disabled table.
@@ -110,5 +146,5 @@ function DataTableCardControls(param) {
110
146
  })]
111
147
  });
112
148
  }
113
- export { DataTableCardControls };
149
+ export { DataTableCardControls, DataTableCardSortControl };
114
150
  //# sourceMappingURL=DataTableCardControls.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","CaretDownIcon","CaretUpDownIcon","DropdownMenu","Button","useResolvedKnobs","useState","View","XStack","useTranslation","withInterp","DataTableFilters","dataTableChrome","getColumnLabel","column","columnDef","header","id","DataTableCardControls","param","table","enableSorting","enableFiltering","availableColumns","compact","disabled","_table_getState_sorting","t","knobProps","disabledState","component","chrome","String","sizeToken","sortMenuOpen","setSortMenuOpen","sortableColumns","getVisibleLeafColumns","filter","col","getCanSort","activeSort","getState","sorting","activeSortColumn","getColumn","sortLabel","desc","alignItems","flexWrap","gap","paddingVertical","role","children","length","open","onOpenChange","Trigger","asChild","size","icon","iconPx","Content","Label","map","sorted","getIsSorted","Item","closeOnSelect","style","transform","onSelect","toggleSorting","clearSorting","chromeKnobProps","pointerEvents"],"sources":["../../../../src/components/DataTable/DataTableCardControls.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","CaretDownIcon","CaretUpDownIcon","DropdownMenu","Button","useResolvedKnobs","useState","View","XStack","useTranslation","withInterp","DataTableFilters","dataTableChrome","getColumnLabel","column","columnDef","header","id","DataTableCardSortControl","param","table","compact","disabled","contained","_table_getState_sorting","t","knobProps","component","chrome","String","sizeToken","sortMenuOpen","setSortMenuOpen","sortableColumns","getVisibleLeafColumns","filter","col","getCanSort","activeSort","getState","sorting","activeSortColumn","getColumn","sortLabel","desc","length","menu","open","onOpenChange","children","Trigger","asChild","size","icon","iconPx","minWidth","maxWidth","Content","Label","map","sorted","getIsSorted","Item","closeOnSelect","style","transform","onSelect","toggleSorting","clearSorting","flexBasis","flexGrow","flexShrink","DataTableCardControls","enableSorting","enableFiltering","availableColumns","disabledState","alignItems","flexWrap","gap","paddingVertical","role","chromeKnobProps"],"sources":["../../../../src/components/DataTable/DataTableCardControls.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -12,7 +12,7 @@ import { useDragScroll } from "../../hooks/useDragScroll.mjs";
12
12
  import { useDataTableKeyboard } from "../../hooks/useDataTableKeyboard.mjs";
13
13
  import { DataTableColumnPinning } from "../DataTableColumnPinning/index.mjs";
14
14
  import { DataTablePagination } from "../DataTablePagination/index.mjs";
15
- import { DataTableToolbar } from "../DataTableToolbar/index.mjs";
15
+ import { DataTableCardToolbar, DataTableToolbar } from "../DataTableToolbar/index.mjs";
16
16
  import { DataTableBulkActions } from "../DataTableBulkActions/index.mjs";
17
17
  import { DataTableCell } from "../DataTableCell/index.mjs";
18
18
  import { ColumnHeaderFilter } from "../ColumnHeaderFilter/index.mjs";
@@ -20,7 +20,7 @@ import { DataTableFilterChips } from "../DataTableFilterChips/index.mjs";
20
20
  import { Table } from "@multiplatform.one/table-primitives";
21
21
  import { DataTableContext } from "./DataTableContext.mjs";
22
22
  import { DataTableStateContext } from "./DataTableStateContext.mjs";
23
- import { DataTableCardControls } from "./DataTableCardControls.mjs";
23
+ import { DataTableCardControls, DataTableCardSortControl } from "./DataTableCardControls.mjs";
24
24
  import { DataTableMobileCards } from "./DataTableMobileCards.mjs";
25
25
  import { DataTableDocumentList } from "./DataTableDocumentList.mjs";
26
26
  import { DataTableVirtualized } from "./DataTableVirtualized.mjs";
@@ -249,6 +249,7 @@ function DataTableRoot({
249
249
  flexBasis: "auto"
250
250
  };
251
251
  }
252
+ if (columnLayout === "equal" && !enableColumnResizing) return {};
252
253
  if (hasExplicitSize || enableColumnResizing || columnLayout === "scroll") {
253
254
  return {
254
255
  width: col.getSize()
@@ -332,14 +333,15 @@ function DataTableRoot({
332
333
  flexGrow: 0,
333
334
  flexShrink: 0,
334
335
  flexBasis: "auto",
335
- minWidth: 80
336
+ minWidth: 0
336
337
  };
337
338
  }
338
339
  if (enableColumnResizing) {
339
340
  return {
340
341
  flexGrow: 0,
341
342
  flexShrink: 0,
342
- flexBasis: "auto"
343
+ flexBasis: "auto",
344
+ minWidth: 0
343
345
  };
344
346
  }
345
347
  return {
@@ -807,6 +809,9 @@ function DataTableRoot({
807
809
  selectAllScope,
808
810
  filterUi
809
811
  }), [table, state, actions, computed, selectAllScope, filterUi]);
812
+ const hasCardSort = showCards && enableSorting && table.getVisibleLeafColumns().some(column => column.getCanSort());
813
+ const defaultCardToolbar = showCards && !renderToolbar;
814
+ const ToolbarComponent = defaultCardToolbar ? DataTableCardToolbar : DataTableToolbar;
810
815
  const renderToolbarComponent = () => {
811
816
  const activeFilterCount = table.getState().columnFilters?.length || 0;
812
817
  if (renderToolbar) {
@@ -823,10 +828,16 @@ function DataTableRoot({
823
828
  isFetching: Boolean(state.isFetching)
824
829
  });
825
830
  }
826
- return /* @__PURE__ */jsx(DataTableToolbar, {
831
+ return /* @__PURE__ */jsx(ToolbarComponent, {
827
832
  globalFilter: state.globalFilter || "",
828
833
  onGlobalFilterChange: actions.setGlobalFilter,
829
834
  onClearFilters: actions.clearFilters,
835
+ customActions: defaultCardToolbar && hasCardSort ? /* @__PURE__ */jsx(DataTableCardSortControl, {
836
+ table,
837
+ compact: isCompact,
838
+ disabled,
839
+ contained: true
840
+ }) : void 0,
830
841
  activeFilterCount,
831
842
  onSaveView: actions.saveView,
832
843
  onLoadView: actions.loadView,
@@ -857,7 +868,7 @@ function DataTableRoot({
857
868
  });
858
869
  };
859
870
  const renderInner = (tableData, effectiveHandleAddRow, effectiveHandleDeleteRow, _effectiveHandleCellChange) => {
860
- const hasToolbar = enableGlobalSearch || enableFiltering || enableViews;
871
+ const hasToolbar = enableGlobalSearch || enableFiltering || enableViews || defaultCardToolbar && hasCardSort;
861
872
  const scrollContainerRef = useRef(null);
862
873
  const tableBodyRef = useRef(null);
863
874
  const [bodyClipped, setBodyClipped] = useState(false);
@@ -964,7 +975,7 @@ function DataTableRoot({
964
975
  getRowPressProps
965
976
  } : {})
966
977
  }) : showCards ? /* @__PURE__ */jsxs(Fragment, {
967
- children: [/* @__PURE__ */jsx(DataTableCardControls, {
978
+ children: [!defaultCardToolbar && /* @__PURE__ */jsx(DataTableCardControls, {
968
979
  table,
969
980
  enableSorting,
970
981
  enableFiltering,
@@ -1169,25 +1180,40 @@ function DataTableRoot({
1169
1180
  } : {}),
1170
1181
  children: [/* @__PURE__ */jsxs(View, {
1171
1182
  flexDirection: "row",
1183
+ flexWrap: "wrap",
1172
1184
  gap: "$2",
1173
1185
  alignItems: "center",
1174
1186
  justifyContent: isRightAligned ? "flex-end" : "space-between",
1175
1187
  flex: 1,
1188
+ minWidth: 0,
1176
1189
  children: [/* @__PURE__ */jsxs(View, {
1177
1190
  flexDirection: "row",
1178
1191
  gap: "$2",
1179
1192
  alignItems: "center",
1180
- flex: isRightAligned ? void 0 : 1,
1193
+ flexGrow: isRightAligned ? 0 : 1,
1194
+ flexShrink: 1,
1195
+ flexBasis: "auto",
1196
+ minWidth: 0,
1181
1197
  justifyContent: isRightAligned ? "flex-end" : void 0,
1182
1198
  children: [/* @__PURE__ */jsx(Text, {
1183
1199
  fontSize: knobProps.sizeToken,
1184
1200
  userSelect: "none",
1201
+ flexShrink: 1,
1202
+ minWidth: 0,
1203
+ textAlign: isRightAligned ? "right" : void 0,
1204
+ "data-header-label": "",
1205
+ ...(isWeb ? {
1206
+ style: {
1207
+ overflowWrap: "anywhere"
1208
+ }
1209
+ } : {}),
1185
1210
  children: header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())
1186
1211
  }), isSortableHeader && /* @__PURE__ */jsx(Tooltip, {
1187
1212
  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)"),
1188
1213
  children: /* @__PURE__ */jsxs(View, {
1189
1214
  "aria-hidden": true,
1190
1215
  role: "presentation",
1216
+ flexShrink: 0,
1191
1217
  children: [sortDirection === "asc" && /* @__PURE__ */jsx(CaretDownIcon, {
1192
1218
  size: chrome.iconPx,
1193
1219
  color: "var(--color11)"
@@ -1207,6 +1233,7 @@ function DataTableRoot({
1207
1233
  flexDirection: "row",
1208
1234
  gap: "$1",
1209
1235
  alignItems: "center",
1236
+ flexShrink: 0,
1210
1237
  children: [enableFiltering && header.column.getCanFilter() && /* @__PURE__ */jsx(ColumnHeaderFilter, {
1211
1238
  columnId: header.column.id,
1212
1239
  columnLabel: typeof header.column.columnDef.header === "string" ? header.column.columnDef.header : header.column.id,
@@ -1459,13 +1486,41 @@ function DataTableRoot({
1459
1486
  }
1460
1487
  })]
1461
1488
  }), hasFooter && /* @__PURE__ */jsx(Table.Foot, {
1462
- children: footerGroups.map(footerGroup => /* @__PURE__ */jsx(Table.Row, {
1463
- children: footerGroup.headers.map(header => {
1489
+ children: footerGroups.map(footerGroup => /* @__PURE__ */jsxs(Table.Row, {
1490
+ children: [enableRowSelection && /* @__PURE__ */jsx(Table.Cell, {
1491
+ cellWidth: selectionColWidth,
1492
+ cellHeight,
1493
+ cellLocation: "first"
1494
+ }), showRowNumbers && /* @__PURE__ */jsx(Table.Cell, {
1495
+ cellWidth: chrome.rowNumberCol,
1496
+ cellHeight,
1497
+ cellLocation: enableRowSelection ? "middle" : "first"
1498
+ }), enableRowExpansion && /* @__PURE__ */jsx(Table.Cell, {
1499
+ cellWidth: chrome.expandCol,
1500
+ cellHeight,
1501
+ cellLocation: enableRowSelection || showRowNumbers ? "middle" : "first"
1502
+ }), footerGroup.headers.map(header => {
1503
+ const stickyStyle = getStickyStyle(header.column.id);
1464
1504
  const columnAlign = resolveColumnAlign({
1465
1505
  ...header.column.columnDef,
1466
1506
  id: header.column.id
1467
1507
  });
1468
1508
  return /* @__PURE__ */jsx(Table.Cell, {
1509
+ ...cellFlexProps,
1510
+ ...getColSizeProps(header.column),
1511
+ ...(isWeb && stickyStyle ? {
1512
+ style: {
1513
+ position: "sticky",
1514
+ ...("insetInlineStart" in stickyStyle && {
1515
+ insetInlineStart: stickyStyle.insetInlineStart
1516
+ }),
1517
+ ...("insetInlineEnd" in stickyStyle && {
1518
+ insetInlineEnd: stickyStyle.insetInlineEnd
1519
+ }),
1520
+ zIndex: 2,
1521
+ backgroundColor: "var(--color2)"
1522
+ }
1523
+ } : {}),
1469
1524
  justifyContent: alignToFlex(columnAlign),
1470
1525
  "data-align": columnAlign,
1471
1526
  children: header.isPlaceholder ? null : /* @__PURE__ */jsx(View, {
@@ -1481,7 +1536,11 @@ function DataTableRoot({
1481
1536
  children: flexRender(header.column.columnDef.footer, header.getContext())
1482
1537
  })
1483
1538
  }, header.id);
1484
- })
1539
+ }), showDeleteRow && !readOnly && /* @__PURE__ */jsx(Table.Cell, {
1540
+ cellWidth: chrome.deleteCol,
1541
+ cellHeight,
1542
+ cellLocation: "last"
1543
+ })]
1485
1544
  }, footerGroup.id))
1486
1545
  })]
1487
1546
  })