@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
@@ -483,231 +483,211 @@ function DataTableGroupingConfig(props) {
483
483
  };
484
484
  const iconSize = groupIconSize(String(sz));
485
485
  const radius = knobProps.borderRadius.borderRadius;
486
+ const trigger = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
487
+ size: knobProps.sizeToken,
488
+ icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.GearIcon, {
489
+ size: iconSize
490
+ }),
491
+ disabled,
492
+ "aria-label": "Grouping configuration",
493
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
494
+ alignItems: "center",
495
+ gap: "$2",
496
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.ChartBarIcon, {
497
+ size: iconSize
498
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
499
+ children: "Group & Aggregate"
500
+ }), (currentConfig.columns.length > 0 || currentConfig.aggregations.length > 0) && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
501
+ backgroundColor: "$color6",
502
+ borderRadius: 1e3,
503
+ paddingHorizontal: "$1",
504
+ paddingVertical: 2,
505
+ minWidth: 20,
506
+ alignItems: "center",
507
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
508
+ ...knobProps.label,
509
+ fontWeight: "400",
510
+ color: "$color12",
511
+ children: currentConfig.columns.length + currentConfig.aggregations.length
512
+ })
513
+ })]
514
+ })
515
+ });
486
516
  return (
487
- // LC-06/LC-10: collision handling — the config list grows with every
488
- // group-by/aggregation added and must clamp + scroll inside the viewport
489
- // instead of painting rows past the fold (same fix as the export popover).
517
+ // LC-06/LC-10: the config list grows with every group-by/aggregation
518
+ // added. FloatingPanel clamps and scrolls it inside the viewport instead
519
+ // of painting rows past the fold.
490
520
  /* @__PURE__ */
491
- (0, import_jsx_runtime.jsxs)(import_tamagui.Popover, {
521
+ (0, import_jsx_runtime.jsx)(import_forms.FloatingPanel, {
492
522
  open: isOpen,
493
523
  onOpenChange: setIsOpen,
494
- stayInFrame: true,
495
- allowFlip: true,
496
- resize: true,
497
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Popover.Trigger, {
498
- asChild: true,
499
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
500
- size: knobProps.sizeToken,
501
- icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.GearIcon, {
502
- size: iconSize
503
- }),
504
- disabled,
505
- "aria-label": "Grouping configuration",
506
- children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
507
- alignItems: "center",
508
- gap: "$2",
509
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.ChartBarIcon, {
510
- size: iconSize
511
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
512
- children: "Group & Aggregate"
513
- }), (currentConfig.columns.length > 0 || currentConfig.aggregations.length > 0) && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
514
- backgroundColor: "$color6",
515
- borderRadius: 1e3,
516
- paddingHorizontal: "$1",
517
- paddingVertical: 2,
518
- minWidth: 20,
519
- alignItems: "center",
520
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
521
- ...knobProps.label,
522
- fontWeight: "400",
523
- color: "$color12",
524
- children: currentConfig.columns.length + currentConfig.aggregations.length
525
- })
526
- })]
527
- })
528
- })
529
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Popover.Content, {
530
- ...knobProps.elevatedSurface,
531
- transition: knobProps.transition,
532
- enterStyle: {
533
- x: 0,
534
- y: -10,
535
- opacity: 0
536
- },
537
- exitStyle: {
538
- x: 0,
539
- y: -10,
540
- opacity: 0
541
- },
524
+ trigger,
525
+ triggerSizing: "content",
526
+ disabled,
527
+ scrollable: true,
528
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
529
+ gap: "$4",
542
530
  minWidth: popoverMinWidth,
543
531
  maxWidth: popoverMaxWidth,
544
- padding: 0,
545
- overflow: "hidden",
546
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Popover.ScrollView, {
547
- minHeight: 0,
548
- children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
549
- ...knobProps.panelPadding,
550
- gap: "$4",
532
+ "data-dismiss-class": "compose",
533
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
534
+ ...knobProps.label,
535
+ fontWeight: "400",
536
+ children: "Grouping & Aggregation"
537
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
538
+ gap: "$3",
539
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
540
+ justifyContent: "space-between",
541
+ alignItems: "center",
551
542
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
552
543
  ...knobProps.label,
553
544
  fontWeight: "400",
554
- children: "Grouping & Aggregation"
555
- }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
556
- gap: "$3",
557
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
558
- justifyContent: "space-between",
559
- alignItems: "center",
560
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
561
- ...knobProps.label,
562
- fontWeight: "400",
563
- children: "Group By"
564
- }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.Text, {
565
- fontSize: "$2",
566
- color: "$color10",
567
- children: [currentConfig.columns.length, " selected"]
568
- })]
569
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
570
- children: currentConfig.columns.map((columnKey, index) => {
571
- const column = columns.find(col => (col.accessorKey || col.id) === columnKey);
572
- const position = (0, import_theme.getGroupPosition)(index, currentConfig.columns.length);
573
- const corners = (0, import_theme.stackRadiusProps)(position, radius);
574
- const label = String(column?.header || columnKey);
575
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
576
- children: [index > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
577
- ...import_theme.hairline.line
578
- }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
579
- alignItems: "center",
580
- gap: "$2",
581
- padding: "$2",
582
- overflow: "hidden",
583
- backgroundColor: "$color2",
584
- ...corners,
585
- hoverStyle: {
586
- backgroundColor: "$backgroundHover",
587
- ...corners
588
- },
589
- ...{
590
- "data-group-position": position
591
- },
592
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
593
- fontSize: "$3",
594
- flex: 1,
595
- numberOfLines: 1,
596
- children: `${label} \xB7 ${index + 1}`
597
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
598
- size: knobProps.sizeToken,
599
- icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.ArrowUpIcon, {
600
- size: iconSize
601
- }),
602
- disabled: disabled || index === 0,
603
- onPress: () => handleMoveGroupBy(index, -1),
604
- "aria-label": `Move ${label} up`
605
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
606
- size: knobProps.sizeToken,
607
- icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.ArrowDownIcon, {
608
- size: iconSize
609
- }),
610
- disabled: disabled || index === currentConfig.columns.length - 1,
611
- onPress: () => handleMoveGroupBy(index, 1),
612
- "aria-label": `Move ${label} down`
613
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
614
- size: knobProps.sizeToken,
615
- icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.MinusIcon, {
616
- size: iconSize
617
- }),
618
- disabled,
619
- onPress: () => handleRemoveGroupBy(columnKey),
620
- "aria-label": `Remove grouping by ${label}`
621
- })]
622
- })]
623
- }, columnKey);
624
- })
625
- }), availableColumns.length > 0 && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
626
- gap: "$2",
627
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
628
- fontSize: "$3",
629
- color: "$color10",
630
- children: "Add:"
631
- }), availableColumns.slice(0, 3).map(column => {
632
- const key = column.accessorKey || column.id || "";
633
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
545
+ children: "Group By"
546
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.Text, {
547
+ fontSize: "$2",
548
+ color: "$color10",
549
+ children: [currentConfig.columns.length, " selected"]
550
+ })]
551
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
552
+ children: currentConfig.columns.map((columnKey, index) => {
553
+ const column = columns.find(col => (col.accessorKey || col.id) === columnKey);
554
+ const position = (0, import_theme.getGroupPosition)(index, currentConfig.columns.length);
555
+ const corners = (0, import_theme.stackRadiusProps)(position, radius);
556
+ const label = String(column?.header || columnKey);
557
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
558
+ children: [index > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
559
+ ...import_theme.hairline.line
560
+ }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
561
+ alignItems: "center",
562
+ gap: "$2",
563
+ padding: "$2",
564
+ overflow: "hidden",
565
+ backgroundColor: "$color2",
566
+ ...corners,
567
+ hoverStyle: {
568
+ backgroundColor: "$backgroundHover",
569
+ ...corners
570
+ },
571
+ ...{
572
+ "data-group-position": position
573
+ },
574
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
575
+ fontSize: "$3",
576
+ flex: 1,
577
+ numberOfLines: 1,
578
+ children: `${label} \xB7 ${index + 1}`
579
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
634
580
  size: knobProps.sizeToken,
635
- onPress: () => handleAddGroupBy(key),
636
- children: column.header || key
637
- }, key);
638
- })]
639
- })]
640
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Separator, {}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
641
- gap: "$3",
642
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
643
- justifyContent: "space-between",
644
- alignItems: "center",
645
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
646
- ...knobProps.label,
647
- fontWeight: "400",
648
- children: "Aggregations"
649
- }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.Text, {
650
- fontSize: "$2",
651
- color: "$color10",
652
- children: [currentConfig.aggregations.length, " configured"]
581
+ icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.ArrowUpIcon, {
582
+ size: iconSize
583
+ }),
584
+ disabled: disabled || index === 0,
585
+ onPress: () => handleMoveGroupBy(index, -1),
586
+ "aria-label": `Move ${label} up`
587
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
588
+ size: knobProps.sizeToken,
589
+ icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.ArrowDownIcon, {
590
+ size: iconSize
591
+ }),
592
+ disabled: disabled || index === currentConfig.columns.length - 1,
593
+ onPress: () => handleMoveGroupBy(index, 1),
594
+ "aria-label": `Move ${label} down`
595
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
596
+ size: knobProps.sizeToken,
597
+ icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.MinusIcon, {
598
+ size: iconSize
599
+ }),
600
+ disabled,
601
+ onPress: () => handleRemoveGroupBy(columnKey),
602
+ "aria-label": `Remove grouping by ${label}`
603
+ })]
653
604
  })]
654
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
655
- children: currentConfig.aggregations.map((agg, index) => {
656
- const position = (0, import_theme.getGroupPosition)(index, currentConfig.aggregations.length);
657
- const corners = (0, import_theme.stackRadiusProps)(position, radius);
658
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
659
- children: [index > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
660
- ...import_theme.hairline.line
661
- }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
662
- alignItems: "center",
663
- gap: "$2",
664
- padding: "$2",
665
- overflow: "hidden",
666
- backgroundColor: "$color2",
667
- ...corners,
668
- hoverStyle: {
669
- backgroundColor: "$backgroundHover",
670
- ...corners
671
- },
672
- ...{
673
- "data-group-position": position
674
- },
675
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.Text, {
676
- fontSize: "$3",
677
- flex: 1,
678
- numberOfLines: 1,
679
- children: [agg.function, "(", agg.column, ")", agg.label && ` as "${agg.label}"`]
680
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
681
- size: knobProps.sizeToken,
682
- icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.MinusIcon, {
683
- size: iconSize
684
- }),
685
- disabled,
686
- onPress: () => handleRemoveAggregation(index),
687
- "aria-label": `Remove ${agg.function} aggregation on ${agg.column}`
688
- })]
689
- })]
690
- }, `${agg.function}-${agg.column}-${index}`);
691
- })
692
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(AggregationSelector, {
693
- columns: aggregatableColumns,
694
- onAddAggregation: handleAddAggregation
695
- })]
696
- }), (currentConfig.columns.length > 0 || currentConfig.aggregations.length > 0) && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
697
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Separator, {}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
605
+ }, columnKey);
606
+ })
607
+ }), availableColumns.length > 0 && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
608
+ gap: "$2",
609
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
610
+ fontSize: "$3",
611
+ color: "$color10",
612
+ children: "Add:"
613
+ }), availableColumns.slice(0, 3).map(column => {
614
+ const key = column.accessorKey || column.id || "";
615
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
698
616
  size: knobProps.sizeToken,
699
- error: true,
700
- onPress: () => onConfigChange({
701
- columns: [],
702
- aggregations: []
703
- }),
704
- "aria-label": "Clear all grouping and aggregation",
705
- children: "Clear All Grouping"
706
- })]
617
+ onPress: () => handleAddGroupBy(key),
618
+ children: column.header || key
619
+ }, key);
707
620
  })]
708
- })
709
- })
710
- })]
621
+ })]
622
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Separator, {}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
623
+ gap: "$3",
624
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
625
+ justifyContent: "space-between",
626
+ alignItems: "center",
627
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
628
+ ...knobProps.label,
629
+ fontWeight: "400",
630
+ children: "Aggregations"
631
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.Text, {
632
+ fontSize: "$2",
633
+ color: "$color10",
634
+ children: [currentConfig.aggregations.length, " configured"]
635
+ })]
636
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
637
+ children: currentConfig.aggregations.map((agg, index) => {
638
+ const position = (0, import_theme.getGroupPosition)(index, currentConfig.aggregations.length);
639
+ const corners = (0, import_theme.stackRadiusProps)(position, radius);
640
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
641
+ children: [index > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
642
+ ...import_theme.hairline.line
643
+ }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
644
+ alignItems: "center",
645
+ gap: "$2",
646
+ padding: "$2",
647
+ overflow: "hidden",
648
+ backgroundColor: "$color2",
649
+ ...corners,
650
+ hoverStyle: {
651
+ backgroundColor: "$backgroundHover",
652
+ ...corners
653
+ },
654
+ ...{
655
+ "data-group-position": position
656
+ },
657
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.Text, {
658
+ fontSize: "$3",
659
+ flex: 1,
660
+ numberOfLines: 1,
661
+ children: [agg.function, "(", agg.column, ")", agg.label && ` as "${agg.label}"`]
662
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
663
+ size: knobProps.sizeToken,
664
+ icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.MinusIcon, {
665
+ size: iconSize
666
+ }),
667
+ disabled,
668
+ onPress: () => handleRemoveAggregation(index),
669
+ "aria-label": `Remove ${agg.function} aggregation on ${agg.column}`
670
+ })]
671
+ })]
672
+ }, `${agg.function}-${agg.column}-${index}`);
673
+ })
674
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(AggregationSelector, {
675
+ columns: aggregatableColumns,
676
+ onAddAggregation: handleAddAggregation
677
+ })]
678
+ }), (currentConfig.columns.length > 0 || currentConfig.aggregations.length > 0) && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
679
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Separator, {}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
680
+ size: knobProps.sizeToken,
681
+ error: true,
682
+ onPress: () => onConfigChange({
683
+ columns: [],
684
+ aggregations: []
685
+ }),
686
+ "aria-label": "Clear all grouping and aggregation",
687
+ children: "Clear All Grouping"
688
+ })]
689
+ })]
690
+ })
711
691
  })
712
692
  );
713
693
  }